homebridgeMapping - xyz not handled in values

Begonnen von holgerr, 22 Januar 2021, 12:17:38

Vorheriges Thema - Nächstes Thema

holgerr

Hallo,

ich hab mich inzwischen durch viele Threds hier gehangelt und irgendwie nix passendes zu meinem Problem gefunden, deshalb hoffe ich, dass hier noch jemand einen Tipp hat.

Szenario: ich habe hier ein paar alte HomeMatic ButtonSwitches rumliegen (batteriebetriebene Schalter mit zwei Channels). Wenn man mittig draufhaut, löst immer Channel 1 aus und es gibt verschiedene States für kurzen bzw. langen Druck auf den Schalter. Gedanke zum Einsatzzweck: Alexa Routinen auslösen, wenn der Button kurz oder lang gedrückt wird. Channel ist dabei egal, daher die Konfiguration im Hauptdevice. Die interessanten States sind in diesem Fall:

CUL_HM_HM_PB_2_WM55_2_52ADB9_Btn_01 Short
CUL_HM_HM_PB_2_WM55_2_52ADB9_Btn_01 LongRelease

Um das ganze als Alexa Device einzubinden, habe ich einen alexaName definiert, alexaProactiveEvents aktiviert und den genericType auf "contact" gesetzt. Gerät wird von Alexa auch als Kontaktsensor erkannt. Um jetzt die entsprechenden Aktionen in CONTACT_DETECTED bzw. CONTACT_NOT_DETECTED für das Alexa Device umzusetzen, habe ich ein homebridgeMapping erstellt:

homebridgeMapping ContactSensorState=state,values=CUL_HM_HM_PB_2_WM55_2_52ADB9_Btn_01 Short:CONTACT_DETECTED;;CUL_HM_HM_PB_2_WM55_2_52ADB9_Btn_01 LongRelease:CONTACT_NOT_DETECTED

Wenn ich nun den Button drücke, erscheint im Alexa Log folgende Meldung:

[1/22/2021, 12:14:49 PM] [FHEM] CUL_HM_HM_PB_2_WM55_2_52ADB9-state value CUL_HM_HM_PB_2_WM55_2_52ADB9_Btn_01 Short not handled in values

Ich frage mich, ob das Leerzeichen im State ein Problem ist - Versuche, den String in Anführungszeichen zu setzen machen aber keinen Unterschied. Gefühlt hab ich alles versucht, aber meiner Meinung nach ist genau dieser Wert in "values" definiert und wird trotzdem nicht erkannt. Hat jemand noch eine schlaue Idee, was ich falsch mache?

Vielen Dank,
Holger

justme1968

ein leerzeichen beendet die aktuelle charakteristic im mapping. nimm einfach die regex variante. damit sparst du dir auch die schreibarbeit auf den ganzen wert zu matchen. d.h. /.*Short/ und /.*Release/ sollten schon reichen.

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

holgerr

Danke für die schnelle Antwort - Problem gelöst.