Hallo,
ich habe heute meine Installation von fhem auf einem Raspberry Pi umgezogen auf einen einen neuen Server als 2 Docker Container (mit den Images ghcr.io/fhem/fhem-docker:latest & ghcr.io/fhem/alexa-fhem:latest). Dies hat erstaunlich gut geklappt. Auch die Alexa-Ansteuerung funktioniert wieder - allerdings bleibt der Status des Alexa Devices auf stopped - obwohl es funktioniert.
Hier das Listing des Devices (ohne die Readings alexaFHEM.bearerToken & alexaFHEM.skillRegKey):
Internals:
FUUID 60048f99-f33f-c737-aa6f-e5531a4a599da79d
FVERSION 39_alexa.pm:0.238200/2021-02-24
LAST_START 2025-05-31 19:42:15
LAST_STOP 2025-05-31 19:42:15
NAME alexa
NOTIFYDEV global,global:npmjs.*alexa-fhem.*
NR 318
NTFY_ORDER 50-alexa
PARTIAL
STARTS 216
STATE stopped
TYPE alexa
active 0
alexa-fhem version 0.5.65
eventCount 435
logfile ./log/alexa-%Y-%m-%d.log
CoProcess:
cmdFn alexa_getCMD
name alexaFHEM
state stopped
READINGS:
2025-05-31 19:42:15 alexaFHEM stopped
2025-05-31 20:13:48 alexaFHEM.ProxyConnection running; SSH connected
helper:
Attributes:
alexaFHEM-config ./alexa-fhem.cfg
alexaFHEM-host alexa-fhem
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
nrarchive 7
persons #<personId>=<name>
room Amazon
stateFormat alexaFHEM
Die config.json im alexa-fhem-Container sieht wie folgt aus (user und password durch XXXX ersetzt):
{
"sshproxy": {
"description": "FHEM Connector",
"ssh": "/usr/bin/ssh"
},
"connections": [
{
"name": "FHEM",
"webname": "fhem",
"filter": "alexaName=..*",
"uid": "6061",
"port": "9193",
"server": "fhem",
"auth": {
"user": "XXXX",
"pass": "XXXX"
}
}
]
}
Das Problem gemäß fhem Log ist:
2025.05.31 19:41:55.024 3: alexa: using ssh cmd /usr/bin/ssh alexa-fhem
ssh: connect to host alexa-fhem port 22: Connection refused
ssh: connect to host alexa-fhem port 22: Connection refused
2025.05.31 19:41:55.115 2: alexa: starting alexa-fhem: /usr/bin/ssh alexa-fhem '' -c /tmp/alexa-fhem.cfg
2025.05.31 19:41:55.124 3: alexa: starting
2025.05.31 19:41:55.132 3: alexa: using logfile: ./log/alexa-2025-05-31.log
2025.05.31 19:41:55.143 3: alexa: read: end of file reached while sysread
2025.05.31 19:41:55.143 3: alexa: stopped
Was ist hierfür die Lösung?
Danke,
Nico
Bei Verwendung von Docker ist das Verhalten durchaus "normal"...
Normalerweise "kümmert" sich das Alexa-Device um Start/Stop von alexa-fhem...
Bei Docker bzw. Verwendung derer 2,also einen für fhem und einen für alexa-fhem übernimmt das Docker...
Da das Alexa-Device im fhem Docker nicht "an" das alexa-fhem im alexa-fhem Docker "drankommt", zeigt es "das" halt an...
Sollte im Docker-Thread zu lesen sein...
Ob es eine andere Möglichkeit bei Verwendung von Docker gibt, ebenso dort...
Gruß, Joachim
Du hast alles richtig gemacht, du brauchst auch keine Attribute mehr im Device zu ändern o.ä., das passt alles so. (Natürlich: icon, room, usw. kannst du gefahrlos ändern.)
Auch diese Fehlermeldung alexa: alexa-fhem not installed. install with 'sudo npm install -g alexa-fhem'.
die beim Starten von FHEM kommt, kannst du ignorieren. Kommt nur 1x und ist wegen Docker bedeutungslos.