Offizielles FHEM Docker Basis Image für verschiedene Plattformen

Begonnen von Loredo, 28 Juli 2018, 21:24:57

Vorheriges Thema - Nächstes Thema

Sidey

Zitat von: link611 am 28 Januar 2023, 20:51:01
den separaten Container hatte ich früher mal, aber dann war alexa-fhem ja im basis-image mit integriert.
Hab jetzt auch mal wie folgt versucht die nötigen Pakete zu installieren:


     environment:
       - APT_PKGS="libxml-bare-perl"
       - NPM_PKGS="alexa-fhem gassistant-fhem"


Alexa-Fhem ist schon lange nicht mehr im FHEM (Perl) Container integriert. Die Installation von Zusätzlichen Packages ist zu vermeiden. Nimm den Container für Alexa FHEM:

Aktuelleres NodeJS
alexa-fhem ist installiert
Zum Updaten einfach nur das neue Image laden und starten. Downtime ca. 3 Sekunden ;)

Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

kadettilac89

Zitat von: Sidey am 28 Januar 2023, 20:18:11
Für Alexa-fhem gibt es einen separaten. Container.
NodeJS wird aus dem FHEM (Perl) Container in naher Zukunft verschwinden.
Zitat von: Sidey am 28 Januar 2023, 21:16:51
Die Installation von Zusätzlichen Packages ist zu vermeiden.
Damit ist dann auch google assistant raus. Wird es dann einen separaten Container mit nodejs geben, oder muss das alles in Zukunft per Parameter nachinstalliert werden?

Sidey

Zitat von: kadettilac89 am 28 Januar 2023, 21:36:10
Damit ist dann auch google assistant raus. Wird es dann einen separaten Container mit nodejs geben, oder muss das alles in Zukunft per Parameter nachinstalliert werden?

Wer selbst Pakete installieren möchte, ist mit einer VM besser bedient. Ich bau das ja nicht aus, weil es so easy installiert werden kann.

NodeJS Images gibt es schon, Nutzbar werden die erst, wenn jemand ein Image mit einer spezifischen Anwendung erstellt.
Für google assistant ist mir jetzt keiner bekannt, aber ich nutze diesen Assistenten auch selbst nicht.


Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

link611

#1818
Zitat von: Sidey am 28 Januar 2023, 21:16:51
Alexa-Fhem ist schon lange nicht mehr im FHEM (Perl) Container integriert. Die Installation von Zusätzlichen Packages ist zu vermeiden. Nimm den Container für Alexa FHEM:

Aktuelleres NodeJS
alexa-fhem ist installiert
Zum Updaten einfach nur das neue Image laden und starten. Downtime ca. 3 Sekunden ;)

Grüße Sidey

habs eben mal mit dem alexa-fhem Container probiert, bin aber kläglich gescheitert, habe hier das gleiche Problem wie schon einige vorschreiberlinge haben
die Connection vom alexa-fhem zum fhem Container funktioniert, aber der fhem Container bekommt keine SSH Verbindung zum alexa-fhem container...

{
  "sshproxy" : {
    "description" : "FHEM Connector",
    "ssh" : "/usr/bin/ssh"
  },
  "connections": [
      {
        "name": "FHEM",
        "webname": "fhem",
        "filter": "room=Alexa",
        "uid": "6062",
        "port": "8087",
        "server": "192.168.205.15"  <--- das ist die IP vom FHEM-Container
      }
    ]
}

Sidey

#1819
Zitat von: link611 am 29 Januar 2023, 22:03:07
habs eben mal mit dem alexa-fhem Container probiert, bin aber kläglich gescheitert, habe hier das gleiche Problem wie schon einige vorschreiberlinge haben
die Connection vom alexa-fhem zum fhem Container funktioniert, aber der fhem Container bekommt keine SSH Verbindung zum alexa-fhem container...

Der fhem Container braucht keine SSH Verbindung zum alexa-fhem container

Folgende Definition ist nötig:

define alexa alexa
attr alexa alexaFHEM-host alexa-fhem


In der alexa-fhem.cfg (die im alexa-fhem container) ist der Eintrag des ssh_proxy nötig:
https://github.com/fhem/alexa-fhem-docker/blob/dev/src/config.json#L13

Anstatt IP Addressen zu hinterlegen, solltest Du den Namen des containers hinterlegen, IP Addressen ändern sich gerne mal.

Edit:
Hast Du in FHEM die Zugriffe auf den Port 8087 auch für alexa-fhem freigegeben?


Grüße Sidey

Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

link611

Zitat von: Sidey am 29 Januar 2023, 22:26:43
Der fhem Container braucht keine SSH Verbindung zum alexa-fhem container
naja, aber dann versucht mein alexa device alle paar sekunden das device zu starten, schlägt aber jedes mal mit dem Fehler dass er über Port 22 connecten kann fehl.
zudem bekomme ich anscheinend den falschen accesstoken, den von meiner vorherigen lokalen alexa-fhem installation und nicht den vom container...

Zitat von: Sidey am 29 Januar 2023, 22:26:43
Folgende Definition ist nötig:

define alexa alexa
attr alexa alexaFHEM-host alexa-fhem

brauch ich auch zwingend die definitionen mit dem Port 3000 etc? Das war doch damals für den Custom Skill, den ich eigtl. gar nicht mehr nutze...

Zitat von: Sidey am 29 Januar 2023, 22:26:43
In der alexa-fhem.cfg (die im alexa-fhem container) ist der Eintrag des ssh_proxy nötig:
https://github.com/fhem/alexa-fhem-docker/blob/dev/src/config.json#L13
Bei mir ist das die alexa-fhem.json, sollte ja auch passen oder nicht? Und wie oben geschrieben, ist der Wert für den Proxy drin.

Zitat von: Sidey am 29 Januar 2023, 22:26:43
Anstatt IP Addressen zu hinterlegen, solltest Du den Namen des containers hinterlegen, IP Addressen ändern sich gerne mal.

Habe mit der Docker Compose File feste IPs vergeben in den jeweiligen Netzen, weil ich schon Probleme mit der Namensauflösung hatte.

Zitat von: Sidey am 29 Januar 2023, 22:26:43
Edit:
Hast Du in FHEM die Zugriffe auf den Port 8087 auch für alexa-fhem freigegeben?


Grüße Sidey
ja, wie gesagt, alexa-fhem hat Zugriff auf fhem, aber oben genannte Probleme habe ich aktuell noch.

Sidey

Zitat von: link611 am 30 Januar 2023, 08:03:05
naja, aber dann versucht mein alexa device alle paar sekunden das device zu starten, schlägt aber jedes mal mit dem Fehler dass er über Port 22 connecten kann fehl.

Schick doch bitte ein List von der Alexa Definition.
Vermutlich hast Du ein Attribute gesetzt, dass zu dem SSH Connect führt.
Das Alexa Modul selbst ist leider nicht docker aware. Bisher fehlte mir da einfach die Lust einen patch einzureichen.

Den Port 3000 brauchst Du nach außen nur für den custom Skill, sonst nicht.

Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

link611

#1822
Zitat von: Sidey am 30 Januar 2023, 08:16:53
Schick doch bitte ein List von der Alexa Definition.
Vermutlich hast Du ein Attribute gesetzt, dass zu dem SSH Connect führt.
Das Alexa Modul selbst ist leider nicht docker aware. Bisher fehlte mir da einfach die Lust einen patch einzureichen.

Den Port 3000 brauchst Du nach außen nur für den custom Skill, sonst nicht.

Grüße Sidey

Internals:
   FUUID      5f10b08f-f33f-9205-0b5f-f9adc398bb900b97
   FVERSION   39_alexa.pm:0.238200/2021-02-24
   LAST_START 2023-01-30 09:59:00
   LAST_STOP  2023-01-30 09:59:00
   NAME       alexa
   NOTIFYDEV  global,global:npmjs.*alexa-fhem.*
   NR         270
   NTFY_ORDER 50-alexa
   PARTIAL   
   STARTS     14
   STATE      stopped
   TYPE       alexa
   active     0
   alexa-fhem version 0.5.64
   eventCount 28
   logfile    ./log/alexa-%Y-%m-%d.log
   CoProcess:
     cmdFn      alexa_getCMD
     name       alexaFHEM
     state      stopped
   READINGS:
     2023-01-30 09:59:00   alexaFHEM       stopped
     2023-01-30 09:40:05   alexaFHEM.ProxyConnection running; SSH connected
     2023-01-30 09:34:45   alexaFHEM.bearerToken crypt:XXXXXXXXXXXXXX
     2023-01-30 09:34:45   alexaFHEM.skillRegKey crypt:XXXXXXXXXXXXXX
   helper:
Attributes:
   alexaFHEM-auth crypt:XXXXXXXXXXXXXXXXXX
   alexaFHEM-config ./alexa-fhem.cfg
   alexaFHEM-host 192.168.205.17
   alexaFHEM-log ./log/alexa-%Y-%m-%d.log
   alexaMapping #Characteristic=<name>=<value>,...
On=verb=schalte,valueOn=an;ein,valueOff=aus,valueToggle=um

Brightness=verb=stelle,property=helligkeit,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

Hue=verb=stelle,valuePrefix=auf,values=rot:0;grün:128;blau:200
Hue=verb=färbe,values=rot:0;grün:120;blau:220

Saturation=verb=stelle,property=sättigung,valuePrefix=auf,values=AMAZON.NUMBER
Saturation=verb=sättige,values=AMAZON.NUMBER

TargetPosition=verb=mach,articles=den;die,values=auf:100;zu:0
TargetPosition=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

TargetTemperature=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=grad

Volume:verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

#Weckzeit=verb=stelle,valuePrefix=auf;für,values=AMAZON.TIME,valueSuffix=uhr
   alexaTypes #Type=<alias>[,<alias2>[,...]]
light=licht,lampen
blind=rolladen,rolläden,jalousie,jalousien,rollo,rollos
   devStateIcon stopped:control_home@red:start stopping:control_on_off@orange running.*:control_on_off@green:stop
   echoRooms  #<deviceId>=<room>

   fhemIntents #IntentName=<sample utterance>
gutenMorgen=guten morgen
guteNacht=gute nacht
   group      Devices
   icon       alexa2
   persons    #<personId>=<name>

   room       System
   stateFormat alexaFHEM


hier noch das list vom Port 8087
Internals:
   BYTES_READ 10416
   BYTES_WRITTEN 1387261
   CONNECTS   49
   CSRFTOKEN  csrf_480562466812741
   DEF        8087 global
   FD         16
   FUUID      5c77c6ac-f33f-9205-8b6a-95d1906c8e3a8507
   NAME       WEBAlexa
   NR         182
   NTFY_ORDER 50-WEBAlexa
   PORT       8087
   STATE      Initialized
   TYPE       FHEMWEB
   READINGS:
     2023-01-30 08:23:50   state           Initialized
Attributes:
   HTTPS      0
   allowfrom  127.0.0.1|192.168.9.3|192.168.205.17


Hier noch das Log:

2023.01.30 10:00:00.029 3: alexa: using ssh cmd /usr/bin/ssh 192.168.205.17
ssh: connect to host 192.168.205.17 port 22: Connection refused
ssh: connect to host 192.168.205.17 port 22: Connection refused
2023.01.30 10:00:00.069 2: alexa: starting alexa-fhem: /usr/bin/ssh 192.168.205.17  -c /tmp/alexa-fhem.cfg -a xx:xx -s
2023.01.30 10:00:00.073 3: alexa: starting
2023.01.30 10:00:00.082 3: alexa: using logfile: ./log/alexa-2023-01-30.log
2023.01.30 10:00:00.093 3: alexa: read: end of file reached while sysread
2023.01.30 10:00:00.093 3: alexa: stopped



--- edit ---
was mir gerade noch aufgefallen ist, ich hab ja noch meine alexa-fhem.cfg im fhem Verzeichnis liegen, mit den alten Daten, hat es evtl. damit was zu tun? - hab die jetzt zur Sicherheit mal umbenannt, daher die Meldung dass alexa-fhem.cfg nicht gefunden werden kann.

--- edit2 ---
so, hab jetzt nochmal von vor meinem Umzug die alexa-fhem.cfg und fhem.cfg von der alten Maschine kopiert. der alexa-fhem container connected jetzt sauber zu amazon und befehle gehen auch wieder. aber ich habe weiterhin das ssh problem, ergo zeigt mir fhem, dass das device nicht läuft.
Habe das list alexa oben nochmal abgeändert zu dem, was jetzt aktiv läuft.

MadMax-FHEM

Zitat von: link611 am 30 Januar 2023, 08:28:57
--- edit2 ---
so, hab jetzt nochmal von vor meinem Umzug die alexa-fhem.cfg und fhem.cfg von der alten Maschine kopiert. der alexa-fhem container connected jetzt sauber zu amazon und befehle gehen auch wieder. aber ich habe weiterhin das ssh problem, ergo zeigt mir fhem, dass das device nicht läuft.
Habe das list alexa oben nochmal abgeändert zu dem, was jetzt aktiv läuft.

Das kannst (musst) du einfach ignorieren... ;) :-\

Das Alexa-Device in fhem versucht ein (lokales) alexa-fhem zu starten: schlägt fehl (weil alexa-fhem in einem separaten Docker läuft / evtl. wenn ssh ohne Passwort dorthin geht/eingerichtet ist)

Ist aber nicht wichtig (ja unschön), da ja alexa-fhem im eigenen Container läuft und da dafür gesorgt wird, dass alexa-fhem gestartet wird/läuft...
(mehr macht das Alexa-Device auch nicht: starten und "überwachen")

Zusätzlich bekommt fhem durch das Alexa-Device noch ein paar Attribute: genericDeviceType/homebridgeMapping

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

link611

Zitat von: MadMax-FHEM am 30 Januar 2023, 10:22:22
Das kannst (musst) du einfach ignorieren... ;) :-\

Das Alexa-Device in fhem versucht ein (lokales) alexa-fhem zu starten: schlägt fehl (weil alexa-fhem in einem separaten Docker läuft / evtl. wenn ssh ohne Passwort dorthin geht/eingerichtet ist)

Ist aber nicht wichtig (ja unschön), da ja alexa-fhem im eigenen Container läuft und da dafür gesorgt wird, dass alexa-fhem gestartet wird/läuft...
(mehr macht das Alexa-Device auch nicht: starten und "überwachen")

Zusätzlich bekommt fhem durch das Alexa-Device noch ein paar Attribute: genericDeviceType/homebridgeMapping

Gruß, Joachim

aber das Device ballert mir doch das Log zu.....

MadMax-FHEM

Zitat von: link611 am 30 Januar 2023, 11:04:37
aber das Device ballert mir doch das Log zu.....

verbose setzen?

Attribut disable?
(weil das Device ja eh "nichts" tut)

-> Maintainer bitten auch Docker zu "unterstützen"?

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

link611

Zitat von: MadMax-FHEM am 30 Januar 2023, 12:47:30
verbose setzen?

Attribut disable?
(weil das Device ja eh "nichts" tut)

-> Maintainer bitten auch Docker zu "unterstützen"?

Gruß, Joachim

Achsooooo das Device braucht es dann ja eigtl. gar nicht mehr =D, kann es ja dann theoretisch auch komplett löschen oder nicht?

MadMax-FHEM

Zitat von: link611 am 30 Januar 2023, 14:09:12
Achsooooo das Device braucht es dann ja eigtl. gar nicht mehr =D, kann es ja dann theoretisch auch komplett löschen oder nicht?

Hmmm, ich weiß nicht genau wann die "Attribut-Erweiterung" mitkommt, ich denke mindestens 1x definieren (-> "Erweiterung" der Attribute -> userattr global) und dann löschen ist verm. ok.

Außer: du nutzt Cunstom Skill, dann brauchst du (verm.) einige Attribute AM Alexa-Device...

Interessant wäre zu testen, ob dann das "senden" neuer Devices an Amazon/Alexa funktioniert, auch wenn alexa-fhem "woanders" läuft.
Dazu ist das Alexa-Device schon brauchbar.
"Dumm" in der Konstellation ist halt, dass man nicht mehr schön alexa-fhem neustarten kann, wenn man Veränderungen vorgenommen hat.
Dann muss man "hier" halt immer alexa-fhem im eigenen Container nachstarten...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Otto123

Hallo Joachim,
kannst doch den Container über ssh von FHEm aus neu starten?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

MadMax-FHEM

Zitat von: Otto123 am 30 Januar 2023, 17:20:51
Hallo Joachim,
kannst doch den Container über ssh von FHEm aus neu starten?

Gruß Otto

Kann schon sein...
...weiß ich halt nicht.

Bzw. halt nicht das Alexa-Device (soweit ich weiß)...

Hab hier ja auch nur angefangen mitzuschreiben, weil einiges unklar bzgl. alexa-fhem war (nicht erst jetzt sondern immer wieder mal)... 8)

Ich nutze lieber "bare metal" :)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)