Hallo,
ich verwende den FHEM Connector für Amazon Alexa schon seit vielen Jahren mit vielen unterschiedlichen Geräten und die Sprachsteuerung über die Echo-Devices (habe ich in den meisten Räumen) funktioniert wunderbar. Ich bin sehr dankbar für das Modul!
Die Alexa App verwende ich tatsächlich nicht so oft, und daher ist mir erst seit kurzem aufgefallen, dass es dort massive Probleme mit fast allen Gerätetypen gibt - und zwar in den Gerätedetailansichten. Ich weiß, dass das alles schon mal funktioniert hat und kann leider nicht sagen, seit wann nicht mehr oder gar was der Auslöser war.
- Meine Schalter, Lampen und Dimmer melden in der Detailansicht "Ein Problem ist aufgetreten". Bei Dimmer "springen" die Werte sporadisch zwischen 0% und 100% oder den tatsächlich (in FHEM) eingestellten Dimmerwerte.
- Jalousien zeigen nicht den Prozentwerte der Beschattung, sondern springen direkt in die Geräteeinstellungen.
- Thermometer zeigen keinen Wert an und ebenfalls "Ein Problem ist aufgetreten"
Ich habe jetzt schon sehr viel Zeit verbracht nach der Ursache zu forschen und eine Lösung zu finden, aber es gelingt mir einfach nicht. Ich möchte nochmals darauf hinweisen, dass die Sprachsteuerung bei allen Geräten ohne Probleme funktioniert. "Schalte ein/aus", "setze auf %", "wie ist die Temperatur in" geht klaglos. In der Geräteübersicht der Alexa App kann ich Lichter mit dem Button auch ein- und ausschalten. Aber die Detailansichten spielen verrückt. Ich habe Screenshots angehängt.
Meine Vermutung ist, dass beim Sprung in die Detailansicht die App auf irgendeine Bestätigung des Connectors wartet und wenn die nicht kommt, einen Fehler meldet oder mit den Werten verwirrt ist. Möglicherweise liegt es aber auch an irgendwelchen Connector-Einstellungen. Oder es hat sich tatsächlich seitens Amazon etwas verändert, was im Connector noch nicht nachgezogen worden ist.
Ich habe hier noch exemplarisch ein List von einem einfachen Homematic-Schalter - ohne Homebridgemapping oder irgendwelche Prozentwerte beim State.
Internals:
DEF 769DFC
FUUID 61facf8a-f33f-7b17-d60e-dc00781c6d07ceaf
HMLAN1_MSGCNT 41
HMLAN1_RAWMSG R21FF3825,0001,04E300BD,FF,FFCD,D38002769DFC2CD7B2010100004B
HMLAN1_RSSI -51
HMLAN1_TIME 2025-05-30 18:21:03
HMWLAN1_MSGCNT 1
HMWLAN1_RAWMSG 0500004BC78002769DFC2CD7B2010100004B
HMWLAN1_RSSI -75
HMWLAN1_TIME 2025-05-29 19:12:13
IODev HMLAN1
LASTInputDev HMLAN1
MSGCNT 42
NAME Bad_Abluft
NR 642
NTFY_ORDER 48-Bad_Abluft
STATE off
TYPE CUL_HM
chanNo 01
disableNotifyFn 1
eventCount 73
lastMsg No:D3 - t:02 s:769DFC d:2CD7B2 010100004B
peerList self01,self02
protLastRcv 2025-05-30 18:21:03
protRcv 40 last_at:2025-05-30 18:21:03
protSnd 41 last_at:2025-05-30 18:21:03
protState CMDs_done
rssi_HMLAN1 cnt:35 min:-80 max:-74 avg:-76.17 lst:-75
rssi_at_HMLAN1 cnt:41 min:-56 max:-50 avg:-51.85 lst:-51
rssi_at_HMWLAN1 cnt:1 min:-75 max:-75 avg:-75 lst:-75
READINGS:
2025-05-30 18:21:03 CommandAccepted yes
2022-02-02 20:42:18 D-firmware 2.8
2022-02-02 20:42:18 D-serialNr SEQ2044590
2025-05-30 18:21:03 IODev HMLAN1
2025-03-30 18:40:40 PairedTo 0x2CD7B2
2022-02-03 14:09:38 R-intKeyVisib visib
2022-02-02 19:38:11 R-localResDis off
2022-02-02 20:42:22 R-pairCentral 0x2CD7B2
2022-02-02 19:38:12 R-powerUpAction off
2022-02-03 14:09:41 R-self01-lgActionType jmpToTarget
2022-02-03 14:09:41 R-self01-lgCtDlyOff geLo
2022-02-03 14:09:41 R-self01-lgCtDlyOn geLo
2022-02-03 14:09:41 R-self01-lgCtOff geLo
2022-02-03 14:09:41 R-self01-lgCtOn geLo
2022-02-03 14:09:41 R-self01-lgCtValHi 100
2022-02-03 14:09:41 R-self01-lgCtValLo 50
2022-02-03 14:09:41 R-self01-lgMultiExec on
2022-02-03 14:09:41 R-self01-lgOffDly 0 s
2022-02-03 14:09:41 R-self01-lgOffTime unused
2022-02-03 14:09:41 R-self01-lgOffTimeMode absolut
2022-02-03 14:09:41 R-self01-lgOnDly 0 s
2022-02-03 14:09:41 R-self01-lgOnTime unused
2022-02-03 14:09:41 R-self01-lgOnTimeMode absolut
2022-02-03 14:09:41 R-self01-lgSwJtDlyOff off
2022-02-03 14:09:41 R-self01-lgSwJtDlyOn off
2022-02-03 14:09:41 R-self01-lgSwJtOff off
2022-02-03 14:09:41 R-self01-lgSwJtOn dlyOff
2022-02-03 14:09:41 R-self01-shActionType jmpToTarget
2022-02-03 14:09:41 R-self01-shCtDlyOff geLo
2022-02-03 14:09:41 R-self01-shCtDlyOn geLo
2022-02-03 14:09:41 R-self01-shCtOff geLo
2022-02-03 14:09:41 R-self01-shCtOn geLo
2022-02-03 14:09:41 R-self01-shCtValHi 100
2022-02-03 14:09:41 R-self01-shCtValLo 50
2022-02-03 14:09:41 R-self01-shMultiExec off
2022-02-03 14:09:41 R-self01-shOffDly 0 s
2022-02-03 14:09:41 R-self01-shOffTime unused
2022-02-03 14:09:41 R-self01-shOffTimeMode absolut
2022-02-03 14:09:41 R-self01-shOnDly 0 s
2022-02-03 14:09:41 R-self01-shOnTime unused
2022-02-03 14:09:41 R-self01-shOnTimeMode absolut
2022-02-03 14:09:41 R-self01-shSwJtDlyOff off
2022-02-03 14:09:41 R-self01-shSwJtDlyOn off
2022-02-03 14:09:41 R-self01-shSwJtOff off
2022-02-03 14:09:41 R-self01-shSwJtOn dlyOff
2022-02-03 14:09:40 R-self02-lgActionType jmpToTarget
2022-02-03 14:09:40 R-self02-lgCtDlyOff geLo
2022-02-03 14:09:40 R-self02-lgCtDlyOn geLo
2022-02-03 14:09:40 R-self02-lgCtOff geLo
2022-02-03 14:09:40 R-self02-lgCtOn geLo
2022-02-03 14:09:40 R-self02-lgCtValHi 100
2022-02-03 14:09:40 R-self02-lgCtValLo 50
2022-02-03 14:09:40 R-self02-lgMultiExec on
2022-02-03 14:09:40 R-self02-lgOffDly 0 s
2022-02-03 14:09:40 R-self02-lgOffTime unused
2022-02-03 14:09:40 R-self02-lgOffTimeMode absolut
2022-02-03 14:09:40 R-self02-lgOnDly 0 s
2022-02-03 14:50:50 R-self02-lgOnTime 1800 s
2022-02-03 14:09:40 R-self02-lgOnTimeMode absolut
2022-02-03 14:09:40 R-self02-lgSwJtDlyOff on
2022-02-03 14:09:40 R-self02-lgSwJtDlyOn on
2022-02-03 14:09:40 R-self02-lgSwJtOff dlyOn
2022-02-03 14:09:40 R-self02-lgSwJtOn on
2022-02-03 14:09:40 R-self02-shActionType jmpToTarget
2022-02-03 14:09:40 R-self02-shCtDlyOff geLo
2022-02-03 14:09:40 R-self02-shCtDlyOn geLo
2022-02-03 14:09:40 R-self02-shCtOff geLo
2022-02-03 14:09:40 R-self02-shCtOn geLo
2022-02-03 14:09:40 R-self02-shCtValHi 100
2022-02-03 14:09:40 R-self02-shCtValLo 50
2022-02-03 14:09:40 R-self02-shMultiExec off
2022-02-03 14:09:40 R-self02-shOffDly 0 s
2022-02-03 14:09:40 R-self02-shOffTime unused
2022-02-03 14:09:40 R-self02-shOffTimeMode absolut
2022-02-03 14:09:40 R-self02-shOnDly 0 s
2022-02-03 14:50:41 R-self02-shOnTime 900 s
2022-02-03 14:09:40 R-self02-shOnTimeMode absolut
2022-02-03 14:09:40 R-self02-shSwJtDlyOff on
2022-02-03 14:09:40 R-self02-shSwJtDlyOn on
2022-02-03 14:09:40 R-self02-shSwJtOff dlyOn
2022-02-03 14:09:40 R-self02-shSwJtOn on
2022-02-02 19:38:12 R-sign off
2022-02-02 19:38:12 R-statusInfoMinDly 2 s
2022-02-02 19:38:12 R-statusInfoRandom 1 s
2022-02-02 19:38:12 R-transmitTryMax 6
2025-05-26 22:32:37 cfgState ok
2025-05-30 18:21:03 commState CMDs_done
2025-05-30 18:21:03 deviceMsg off (to vccu)
2025-05-30 18:21:03 level 0
2025-05-30 18:21:03 pct 0
2025-05-26 22:32:58 peerList self01,self02
2025-03-30 18:40:37 powerOn 2025-03-30 18:40:37
2025-05-30 18:21:03 recentStateType ack
2025-05-30 18:21:03 state off
2025-05-30 18:21:03 timedOn off
2025-05-30 18:21:03 trigLast fhem:02
helper:
HM_CMDNR 211
cSnd 112CD7B2769DFC0201C80000,112CD7B2769DFC0201000000
dlvlCmd ++A0112CD7B2769DFC0201000000
lastMsgTm 1748622063.41666
mId 0069
peerFriend peerSens,peerVirt
peerIDsState complete
peerOpt 3:switch
regLst 0,1,3p
rxType 1
supp_Pair_Rep 0
tmplChg 0
ack:
cmds:
TmplKey self01,self02:no:1748291578.85981
TmplTs 1748291578.85981
cmdKey 1:1:0::Bad_Abluft:0069:01:self01,self02
cmdLst:
assignHmKey noArg
clear [({msgErrors}|msgEvents|rssi|attack|trigger|register|oldRegs|readings|all)]
deviceRename -newName-
eventL -peer- -cond-
eventS -peer- -cond-
fwUpdate -filename- [-bootTime-]
getConfig noArg
getDevInfo noArg
getRegRaw (List0|List1|List2|List3|List4|List5|List6|List7) [-peerChn-]
getVersion noArg
inhibit [(on|{off})]
off noArg
on noArg
on-for-timer -ontime-
on-till -time-
pair noArg
peerBulk -peer1,peer2,...- [({set}|unset)]
peerIODev [IO] -btn- [({set}|unset)] 'not for future use'
peerSmart -peerOpt-
press [(long|{short})] [(-peer-|{self01})] [(-repCount-|{0})] [(-repDelay-|{0.25})]
pressL [(-peer-|{self01})]
pressS [(-peer-|{self01})]
raw -data- [...]
regBulk -list-.-peerChn- -addr1:data1- [-addr2:data2-]...
regSet [(prep|{exec})] -regName- -value- [-peerChn-]
reset noArg
sign [(on|{off})]
statusRequest noArg
toggle noArg
tplDel -tplDel-
tplSet_0 -tplChan-
tplSet_self01 -tplPeer-
tplSet_self02 -tplPeer-
unpair noArg
lst:
condition slider,0,1,255
peer self01,self02
peerOpt HM_3D5DC8_Btn_01,HM_3D5DC8_Btn_02,HM_3D5DC8_Btn_03,HM_3D5DC8_Btn_04,HM_3D5DC8_Btn_05,HM_3D5DC8_Btn_06,HM_3D5DC8_Btn_07,HM_3D5DC8_Btn_08,HM_5B6FB0_Btn_01,HM_5B6FB0_Btn_02,HM_5B6FB0_Tr,HM_5B6FDC_Btn_01,HM_5B6FDC_Btn_02,HM_5B6FDC_Tr,HM_7379FF_Btn_01,HM_7379FF_Btn_02,HM_77B002_Btn_01,HM_77B002_Btn_02,HM_77B002_Btn_03,HM_77B002_Btn_04,HM_77B002_Btn_05,HM_77B002_Btn_06,HM_77B084_Btn_01,HM_77B084_Btn_02,HM_77B084_Btn_03,HM_77B084_Btn_04,HM_77B084_Btn_05,HM_77B084_Btn_06,HM_785926_Btn_01,HM_785926_Btn_02,HM_785926_Tr,Rauchmelder_Team,vccu,wz_Bewegungsmelder
tplChan
tplDel
tplPeer SwCondAbove_long,SwCondAbove_short,SwCondBelow_long,SwCondBelow_short,SwOff_long,SwOff_short,SwOnCond_long,SwOnCond_short,SwOn_long,SwOn_short,SwToggle_long,SwToggle_short,autoOff_long,autoOff_short,motionOnSw_long,motionOnSw_short
rtrvLst:
cmdList [({short}|long)]
deviceInfo [({short}|long)]
list [({normal}|full)]
param -param-
reg -addr- -list- [-peerChn-]
regList noArg
regTable noArg
regVal -addr- -list- [-peerChn-]
saveConfig [-filename-]
tplInfo noArg
expert:
def 1
det 1
raw 0
tpl 0
io:
flgs 0
newChn +769DFC,00,01,00
nextSend 1748622063.50464
rxt 0
vccu vccu
p:
769DFC
00
01
00
prefIO:
mRssi:
mNo D3
io:
HMLAN1:
-45
-45
HMWLAN1:
peerIDsH:
00000000 broadcast
769DFC01 self01
769DFC02 self02
prt:
bErr 0
sProc 0
tryMsg:
q:
qReqConf
qReqStat
role:
chn 1
dev 1
prs 1
rssi:
HMLAN1:
avg -76.1714285714286
cnt 35
lst -75
max -74
min -80
at_HMLAN1:
avg -51.8536585365854
cnt 41
lst -51
max -50
min -56
at_HMWLAN1:
avg -75
cnt 1
lst -75
max -75
min -75
shadowReg:
tmpl:
Attributes:
IOgrp vccu
alexaName Abluft
alexaRoom Badezimmer
autoReadReg 4_reqStatus
cmdIcon on:general_an off:general_aus
devStateIcon .*on.*:vent_ventilation_level_3@yellow:off .*off.*:vent_ventilation:15min set.*:vent_ventilation_level_3
event-on-change-reading state,level,overheat,overload
eventMap /on-for-timer 1800:30min/on-for-timer 900:15min/
expert allReg
firmware 2.8
genericDeviceType switch
group Lueftung
icon Ventilator_fett
model HM-LC-SW1PBU-FM
peerIDs 00000000,769DFC01,769DFC02
room Alexa,Home
serialNr SEQ2044590
subType switch
webCmd 15min:30min:on:off
Hat jemand von euch ein ähnliches Problem? Oder andersherum gefragt: Wenn es bei dir funktioniert, also sowohl die Voicecommands als auch die Alexa App vorzugsweise mit Homematic Geräten, dann wäre ich sehr dankbar für das Konfigurationsbeispiel.
Der Vollständigkeit halber noch beispielhaft Auszüge aus dem Alexa-Log zum obigen Schalter:
Discover Response:{
"event": {
"header": {
"namespace": "Alexa.Discovery",
"name": "AddOrUpdateReport",
"payloadVersion": "3",
"messageId": "56dbfb54-eeb3-4c74-8e92-e90c6779f182"
},
"payload": {
"endpoints": [{
"endpointId": "SEQ2044590",
"manufacturerName": "CUL_HM",
"description": "n: Bad_Abluft, r: badezimmer",
"friendlyName": "abluft",
"displayCategories": ["SWITCH"],
"additionalAttributes": {
"manufacturer": "FHEM",
"model": "HM-LC-SW1PBU-FM"
},
"capabilities": [{
"type": "AlexaInterface",
"interface": "Alexa",
"version": "3"
}, {
"type": "AlexaInterface",
"interface": "Alexa.PowerController",
"version": "3",
"properties": {
"supported": [{
"name": "powerState"
}
],
"proactivelyReported": false,
"retrievable": true
}
}
],
"cookie": {
"device": "Bad_Abluft",
"fuuid": "61facf8a-f33f-7b17-d60e-9999999999999999"
}
}
],
"scope": {
"type": "BearerToken",
"token": "access-token-from-Amazon"
}
}
}
}
Turn-On-Directive, Response, StateReport{
"directive": {
"header": {
"messageId": "7ec4ed33-5f3f-44ce-99e9-55ab6d4f55ba",
"namespace": "Alexa.PowerController",
"name": "TurnOn",
"payloadVersion": "3",
"correlationToken": "-"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "XXXXXXXX-XXXXXXXXXXXXXXXX"
},
"endpointId": "SEQ2044590",
"cookie": {
"device": "Bad_Abluft",
"fuuid": "61facf8a-f33f-7b17-9999999999999999"
}
},
"payload": {}
}
}
{
"context": {
"properties": [{
"namespace": "Alexa.PowerController",
"name": "powerState",
"value": "ON",
"timeOfSample": "2025-05-30T16:20:59.379Z",
"uncertaintyInMilliseconds": 500
}
]
},
"event": {
"header": {
"namespace": "Alexa",
"name": "Response",
"payloadVersion": "3",
"messageId": "a19c48ab-a210-4a43-9c55-9f7756a6b5de",
"correlationToken": "-"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "XXXXXXXX-XXXXXXXXXXXXXXXX"
},
"endpointId": "SEQ2044590"
},
"payload": {}
}
}
{
"context": {
"properties": [{
"namespace": "Alexa.PowerController",
"name": "powerState",
"value": "OFF",
"timeOfSample": "2025-05-30T16:21:03.816Z",
"uncertaintyInMilliseconds": 500
}
]
},
"event": {
"header": {
"namespace": "Alexa",
"name": "StateReport",
"payloadVersion": "3",
"messageId": "c232ce8b-fd04-4f90-8993-b6ea8c151db1",
"correlationToken": "-"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "8A121735-D634001DB46223EE"
},
"endpointId": "SEQ2044590"
},
"payload": {}
}
}