Funktioniert 100% : hue über z2m und Alexa steuern (Dummy+Notify+MQTT2_DEVICE)

Begonnen von Moonlightkid, 01 April 2026, 11:06:27

Vorheriges Thema - Nächstes Thema

Moonlightkid

Hallo zusammen,

ich lasse das hier mal als Vorlage da, weil die Kombination aus hue in zigbee2mqtt, FHEM und Alexa nicht für mal eben und sofort sauber zusammenläuft.

Ich habe es bei mir so gelöst, dass die eigentliche Lampe als MQTT2_DEVICE läuft und für Alexa ein vorgeschalteter Dummy verwendet wird. Die Befehle vom Dummy werden dann per Notify an das echte Zigbee2MQTT-Gerät weitergegeben.

Damit funktionieren bei mir:

Ein / Aus
Helligkeit
Prozentwert
Farbtemperatur
Hue
Sättigung

Gerade dieser Aufbau war für mich am Ende deutlich sauberer und nachvollziehbarer als alles über Umwege in ein einziges Gerät pressen zu wollen.

Wichtig ist dabei: in der Alexa-App das bisherige Gerät löschen und, wenn alles in Fhem eingebaut ist, dort ein set alexa reset UND wenn jemand (wie ich) das über Docker laufen lässt dort den Container unbedingt auch neu starten!


Wichtiger Hinweis zum DIMMEN:

Brightness braucht es nicht und kann weggelassen werden - man muss es eben aber auch noch im Mapping löschen! Ich habe es bewusst drin gelassen, um beide Werte von bri und pct als Reading zu erhalten. Das kann beispielsweise mal helfen, wenn der Wert für bri für einen %-Wert gebraucht wird.
 

Entweder vor dem Einlesen
set DUMMY pct 40
set DUMMY pct 100
oder über Fhem den Regler im Dummy pct ein paar mal verstellen.

Ansonsten bleibt der Regler in der Alexa-App nicht bedienbar und auch die Sprachsteuerung verweigert das Dimmen. Wird per pct das Dimmen (ich hab es eigentlich immer nach dem Einlesen über Fhem gemacht) ausgelöst findet Alexa diese Möglichkeit mit etwas Verzögerung. Das kann bis zu einer Minute dauern.


Ich stelle alles neutral mit Platzhaltern ein (und hoffe es ist leicht zu verstehen):

LICHT
DUMMY
NOTIFY-ON
NOTIFY-OFF
usw.

Den Raum habe ich in meinem Beispiel auf Flur gelassen, weil das für die Funktion ja egal ist und bei Bedarf leicht angepasst werden kann.


WICHTIG:

zigbee_LICHT ist nur ein Platzhalter für den echten Gerätenamen.
zigbee2mqtt/LICHT ist ebenfalls nur ein Platzhalter für das echte Topic.
Bei mir war außerdem wichtig, dass die Prozentwerte passend auf den Zigbee-Bereich 0–254 umgerechnet werden. Wie eure Geräte heißen kann ich ja nicht riechen 8)



Vielleicht hilft es ja dem Nächsten etwas Zeit und Nerven zu sparen. Oder ihr findet diese Gliederung besser.



DIE VORLAGEN:

defmod LICHT MQTT2_DEVICE zigbee_LICHT
attr LICHT alias LICHT
attr LICHT comment The specified ct and brightness values in on and warm etc. commands can be adjusted at any time via the setList attribute
attr LICHT devStateIcon {zigbee2mqtt_devStateIcon255($name)}
attr LICHT devicetopic zigbee2mqtt/LICHT
attr LICHT genericDeviceType light
attr LICHT getList power_on_behavior:noArg power_on_behavior $DEVICETOPIC/get {"power_on_behavior": ""}
attr LICHT homebridgeMapping Brightness=brightness::brightness,maxValue=100,max=100,factor=0.39371,delay=true
attr LICHT icon hue_filled_white_and_color_e27_b22
attr LICHT jsonMap color_temp:ct
attr LICHT model zigbee2mqtt_light_rgbcct_hex
attr LICHT readingList $DEVICETOPIC:.* { my $ret=json2nameValue($EVENT,'',$JSONMAP);; $ret->{state}=lc($ret->{state}) if defined $ret->{state};; return $ret }\
$DEVICETOPIC/set:.* { json2nameValue($EVENT, 'set_', $JSONMAP) }\
$DEVICETOPIC/state:.* state\
$DEVICETOPIC/brightness:.* brightness\
$DEVICETOPIC/color_mode:.* color_mode\
$DEVICETOPIC/color_temp:.* color_temp\
$DEVICETOPIC/color-x:.* color-x\
$DEVICETOPIC/color-y:.* color-y\
$DEVICETOPIC/color-hue:.* color-hue\
$DEVICETOPIC/color-saturation:.* color-saturation
attr LICHT room Flur,MQTT2_DEVICE
attr LICHT setList on:noArg $DEVICETOPIC/set {"state":"ON"}\
off:noArg $DEVICETOPIC/set {"state":"OFF"}\
\
brightness:colorpicker,BRI,0,5,255 $DEVICETOPIC/set {"brightness":$EVTPART1}\
ct:colorpicker,CT,154,2,500 $DEVICETOPIC/set {"color_temp":$EVTPART1}\
rgb:colorpicker,RGB {"$DEVICETOPIC/set ".zigbee2mqtt_RGB2JSON($EVTPART1)}\
\
hue:slider,0,1,360 $DEVICETOPIC/set {"color":{"hue":$EVTPART1}}\
sat:slider,0,1,100 $DEVICETOPIC/set {"color":{"saturation":$EVTPART1}}\
hex:colorpicker,HEX,0,15,255 $DEVICETOPIC/set {"color":{"hex":"#$EVTPART1"}}
attr LICHT userReadings rgb:color_y.* {Color::xyY2hex(ReadingsVal($name,'color_x',0),ReadingsVal($name,'color_y',0),ReadingsVal($name,'brightness',254))}
attr LICHT webCmd toggle:on:off:brightness:ct:rgb

defmod DUMMY dummy
attr DUMMY alexaName LICHT
attr DUMMY alias DUMMY
attr DUMMY event-on-change-reading .*
attr DUMMY genericDeviceType light
attr DUMMY homebridgeMapping On=state,cmdOn=on,cmdOff=off,Brightness=pct::pct,maxValue=100,delay=true,Hue=hue::hue,minValue=0,maxValue=360,Saturation=sat::sat,minValue=0,maxValue=100,ColorTemperature=ct::ct,minValue=154,maxValue=500
attr DUMMY readingList state brightness pct ct hue sat rgb
attr DUMMY room Flur,MQTT2_DEVICE
attr DUMMY setList on off brightness:slider,0,1,100 pct:slider,0,1,100 ct:slider,154,1,500 hue:slider,0,1,360 sat:slider,0,1,100 rgb:colorpicker,RGB

defmod NOTIFY-BRI notify DUMMY:brightness.* { fhem("set LICHT brightness ".int($EVTPART1*254/100+0.5)) }
attr NOTIFY-BRI alias NOTIFY-BRI
attr NOTIFY-BRI room Flur,MQTT2_DEVICE

defmod NOTIFY-CT notify DUMMY:ct.* set LICHT ct $EVTPART1
attr NOTIFY-CT alias NOTIFY-CT
attr NOTIFY-CT room Flur,MQTT2_DEVICE

defmod NOTIFY-HUE notify DUMMY:hue.* set LICHT hue $EVTPART1
attr NOTIFY-HUE alias NOTIFY-HUE
attr NOTIFY-HUE room Flur,MQTT2_DEVICE

defmod NOTIFY-SAT notify DUMMY:sat.* set LICHT sat $EVTPART1
attr NOTIFY-SAT alias NOTIFY-SAT
attr NOTIFY-SAT room Flur,MQTT2_DEVICE

defmod NOTIFY-OFF notify DUMMY:off set LICHT off
attr NOTIFY-OFF alias NOTIFY-OFF
attr NOTIFY-OFF room Flur,MQTT2_DEVICE

defmod NOTIFY-ON notify DUMMY:on set LICHT on
attr NOTIFY-ON alias NOTIFY-ON
attr NOTIFY-ON room Flur,MQTT2_DEVICE

defmod NOTIFY-PCT notify DUMMY:pct.* { my $p=$EVTPART1;; $p=0 if($p<0);; $p=100 if($p>100);; my $b=int($p*254/100+0.5);; fhem("set LICHT brightness $b");; }
attr NOTIFY-PCT alias NOTIFY-PCT
attr NOTIFY-PCT room Flur,MQTT2_DEVICE


Ich habe damit aktuell drei Grupen und eine einzelne Lampe zum Laufen gebracht. Und da mich das jetzt über Jahre geplagt hat direkt alles fürs copy&paste an euch.


Bitte hinterlasst doch, wem es geholfen hat. Würde mich freuen.



Grüße!
Synology 220+, Hue, MAX!, Sonoff, Zigbee2Mqtt, Shelly, Tuya

rabehd

Auch funktionierende Lösungen kann man hinterfragen.

Moonlightkid

Zitat
Zitat von: rabehd am 01 April 2026, 12:55:22
Zitat von: Moonlightkid am 01 April 2026, 11:06:27Kombination aus hue in zigbee2mqtt, FHEM
Man kann die Hue in zigbee2mqtt einbinden?

Ja, das geht. Mir war es zu blöd mehrere Varianten erst in Fhem zu verbinden, wenn zigbee2mqtt das auch schon kann. Das hat sogar den Vorteil, dass die Fernbedienungen auch dann funktionieren, wenn der Rest im System nicht will.

Meine Anleitung braucht ihr eh nur für die Philips Hue White & Color Ambiance Leuchtmittel. Ob es mit deren LED-Stripes funktioniert, weiß ich nicht, würde es aber annehmen, wenn sie genau gleich angesprochen werden müssen.

Hier mal meine aktuellen Geräte in zigbee2mqtt:

Kontaktsensoren / Tür-Fenster:
11x SNZB-04P SONOFF Tür-/Fensterkontakt

Präsenz- / Bewegungsmelder:
3x SNZB-06P SONOFF Präsenzmelder
1x 9290012607 Philips Bewegungsmelder

Klima-/Umweltsensoren:
1x WSDCGQ01LM Xiaomi Temperatur-/Luftfeuchtigkeitssensor
1x WSDCGQ11LM Aqara Temperatur-/Luftfeuchtigkeitssensor

Fernbedienungen / Taster:
3x 501.40 Paulmann Zigbee-Fernbedienung

Leuchtmittel:
5x 9290012573A Philips Hue White & Color Ambiance Leuchtmittel
3x 929002294203 Philips Hue White & Color Ambiance Leuchtmittel
1x 9290024896 Philips Hue White & Color Ambiance E27 Leuchtmittel
7x 404006/404008/404004 Müller Licht Tint LED-Leuchtmittel, dimmbar, Weißtöne
2x RB 248 T Innr E14-Leuchtmittel, Weißspektrum

Gesamt:
38 Geräte


Mit den Fenstersensoren steuere ich auch meine MAX!-Thermostate, die alle noch funktionieren. Wenn mal einer ausfällt lösche ich ihn im Cube und füge ein neues Geräte in z2m ein. Eigentlich recht einfach.

Die Software ist komplett auf einer Synology DS220+ mit 18 GB RAM in Containern geordnet, die Daten alle ausgelagert, dass ich Updates einfach starten kann. Und mein z2m-Gerät ist direkt mit einem Netzwerkkabel an der Fritzbox angeklemmt. In Summe viel Arbeit, aber jetzt läuft es einfach. Mega! 8)

Ja, manchmal spackt Alexa und das Ausschalten einer Leuchte, oder Gruppe geht mal nicht. Dann kommt eben ein "schalte 0%"-Befehl, oder es wird eben die Fernbedienung benutzt. Da die Fernbedienungen eh direkt im z2m mit den ganzen Lampen und Gruppen gekoppelt sind, ist das (wenn in Reichweite) auch eine gute Option.

Also. Wenn Alexa mal nicht will, ist es nicht mein Setup. Das habe ich jetzt so oft ausprobiert und überprüft, dass ich mich jetzt getraue euch das zu veröffentlichen.
Synology 220+, Hue, MAX!, Sonoff, Zigbee2Mqtt, Shelly, Tuya

rabehd

Zitat von: Moonlightkid am 01 April 2026, 16:44:29Ja, das geht.
Verräts du auch wie? Das Internet scheint es nicht zu wissen.
Mir fehlt auch die Vorstellung, erscheinen die Geräte an der Hue als eigene Geräte in zigbee2mqtt?

Auch funktionierende Lösungen kann man hinterfragen.

passibe

So wie man jedes andere Zigbee-Gerät mit Z2M koppelt. Gerät zurücksetzen, Permit join aktivieren, warten ...

https://www.zigbee2mqtt.io/supported-devices/#v=Philips

Die Hue Bridge mit ihrem Account-Zwang kann man dann zum Wertstoffhof bringen.

Interessant ist in diesem Zusammenhang übrigens Bifrost (https://github.com/chrivers/bifrost), falls es Familienmitglieder gibt, die weiterhin die Hue-App benutzen wollen. Bin mir aber nicht sicher, ob das noch weiterentwickelt wird, letzter Commit ist 11 Monate her ...