Hallo zusammen,
Ich setze aktuell das genannte Relais ein und leider gibt es dazu noch kein MQTT2 Client Template. Daher sehe ich wenn ich das plug template zuweisen zwar die sensor- und Statusdaten aber ich kann nur ein Relais schalten.
Ein Listing sieht wie folgt aus
ZitatInternals:
CID zigbee_0x00158d000419d8a7
DEF zigbee_0x00158d000419d8a7
DEVICETOPIC HS_Lichterkette
FUUID 5de23cbc-f33f-aa80-90ca-f4e68bd89286d971
IODev MQTT
LASTInputDev MQTT
MQTT_MSGCNT 236
MQTT_TIME 2019-12-04 18:51:28
MSGCNT 236
NAME HS_Lichterkette
NR 122
STATE off
TYPE MQTT2_DEVICE
READINGS:
2019-11-30 10:56:12 associatedWith MQTT_zigbee_nuc
2019-12-04 18:51:28 consumption 0.02
2019-12-04 18:51:28 linkquality 52
2019-12-04 18:51:28 power 0
2019-12-04 18:51:28 state OFF
2019-12-04 18:51:28 state_l1 OFF
2019-12-04 18:51:28 state_l2 ON
2019-12-04 18:51:28 temperature 11
Attributes:
IODev MQTT
eventMap { dev=>{ON=>'on',OFF=>'off'} }
icon message_socket
model zigbee2mqtt_plug
readingList zigbee2mqtt/0x00158d000419d8a7:.* { json2nameValue($EVENT) }
room Haus
setList on:noArg zigbee2mqtt/0x00158d000419d8a7/set {"state":"ON"}
off:noArg zigbee2mqtt/0x00158d000419d8a7/set {"state":"OFF"}
attr MQTT2_zigbee_0x00158d000419d8a7 setStateList on off
Laut zigbee2mqtt sieht die Konfiguration wie folgt aus
Zitatswitch:
- platform: "mqtt"
state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
availability_topic: "zigbee2mqtt/bridge/state"
payload_off: "OFF"
payload_on: "ON"
value_template: "{{ value_json.state_l1 }}"
command_topic: "zigbee2mqtt/<FRIENDLY_NAME>/l1/set"
switch:
- platform: "mqtt"
state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
availability_topic: "zigbee2mqtt/bridge/state"
payload_off: "OFF"
payload_on: "ON"
value_template: "{{ value_json.state_l2 }}"
command_topic: "zigbee2mqtt/<FRIENDLY_NAME>/l2/set"
sensor:
- platform: "mqtt"
state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
availability_topic: "zigbee2mqtt/bridge/state"
unit_of_measurement: "-"
value_template: "{{ value_json.linkquality }}"
Kann mir dabei wer helfen oder sogar ein template erzeugen?
Viele Grüße und Danke,
Ulli
Hi,
eigentlich wollte ich ein RAW haben, ist einfacher...
Das Ding ist ganz schön tricky. Kannst du den MQTT-Verkehr irgendwie mitschneiden? Ich vermute, dass jedenfalls teilweise der komplette Status in dem JSON steckt.
Kannst du mal die eine Zeile in readingList erweitern in:
zigbee2mqtt/0x00158d000419d8a7:.* { json2nameValue($EVENT,'',$JSONMAP) }
Und dann ergänzen:
attr HS_Lichterkette jsonMap state:availability state_l1:Kanal1 state_l2:Kanal2
attr HS_Lichterkette setList \ Kanal1:ON,OFF zigbee2mqtt/0x00158d000419d8a7/l1/set {"state":"$EVTPART1"}\ Kanal2:ON,OFF zigbee2mqtt/0x00158d000419d8a7/l2/set {"state":"$EVTPART1"}
Das sollte schon funktionieren, aber im Ergebnis hätte ich dann gerne zwei Devices, die auch on-for-timer unterstützen usw., das ist also nur als Zwischenschritt zu verstehen bzw. evtl. gibt es zwei attrTemplates "split" und "unified"!
Und dass der eine Kanal mit dem Plug-template funktioniert, ist seltsam; es entspricht jedenfalls nicht der Doku...
Moin,
habe grade ein update dazu ins svn geschubst, wäre nett, wenn du das Testen könntest: zigbee2mqtt_2channel_split.
"Sollte" funktionieren, kann aber sein, dass (über die Dauer) im 2. Device immer noch Zeug ankommt, das da nichts verloren hat, dann bitte um Rückmeldung und RAW-Definitionen beider Devices.
Ist ab 7:50 Uhr via update verfügbar.
Gruß, Beta-User
Hab gerade ein Update gemacht. Ich vermute 7:50 abends ;)
?
Nein, gemeint war 7:45 Uhr MET/MEST, siehe https://fhem.de/commandref_modular_DE.html#update.
Kann aber natürlich sein, dass ich doch zu spät dran war bzw. der Durchlauf etwas früher; jedenfalls solltest du Version 20661 haben, sonst eben die Datei aus dem svn nehmen: https://svn.fhem.de/trac/export/20669/trunk/fhem/FHEM/lib/AttrTemplate/mqtt2.template
Guten Morgen,
Hab ein restart von fhem gebraucht...jetzt warst drin.
Scheint zu funktionieren! Er hat ein zweites Device angelegt.
Wie du schon vermutet hast werden die reading nicht verteilt
Sieht so aus als würden die readings state_l1 state_l2 und das neue availability nicht mehr aktualisiert.
Das neue device für den 2ten Chanel hat gar keine readings...
Grüße und schonmal Danke
Kannst du schalten?
Sonst immer noch: brauche die Json-blobs und je ein RAW.
Ja schalten klappt.
Was sind blobs und woher bekomm ich ein Raw?
Meinst du das mir Raw
zigbee2mqtt:info 2019-12-08T08:34:04: MQTT publish: topic 'zigbee2mqtt/0x00158d000419d8a7', payload '{"state_l1":"OFF","linkquality":44,"state_l2":"OFF","power":0.03,"consumption":0.03,"temperature":13,"state":"OFF"}'
Das ist einer der JSON-blobs.
Mit RAW-Definitionen ist das hier gemeint: https://wiki.fhem.de/wiki/Import_von_Code_Snippets; (https://wiki.fhem.de/wiki/Import_von_Code_Snippets;) die würden mich also vorrangig interessieren.
Wenn auch die jeweiligen state Readings aktualisiert werden, scheint mir fast alles ok zu sein:
- die state_l1...-Readings gibt es nicht mehr (genau das macht jsonMap: es benennt die um bzw. nutzt andere Namen), die alten kannst du löschen.
deletereading -q <DEVICEs-devspec> (?!associatedWith).*
Dieser JSON sieht etwas seltsam aus. Da state:OFF kommt, scheint das Ding vom Netz zu sein?
Und eigentlich wird Availability nur aktualisiert, wenn man in der configuration.yaml einen timeout setzt, und das sollte mMn. aber unabhängig vom Rest kommen; hier ist es mit drin...
Kann aber sein, dass ich da einen etwas veralteten Stand von zigbee2mqtt im Kopf habe, ich nutze das schon eine Zeitlang nicht mehr.
Hallo,
danke für die Vorarbeit. Ich habe mir das Teil auch gerade in China geordert (vielleicht kommt es noch dieses Jahr ?)
Passt dieser Aktor gut in eine Unterputzdose?
Gibt es eigentlich eine Bezugsquelle in Deutschland?
Ich habe gerade ein Update von FHEM gemacht, aber sehe das template nicht in der Liste. (auch nach restart nicht...)
Ich benutzte MQTT2_Client
Gruß
Jochen
Dürfte zu groß sein.
Du siehst es nur, wenn du ein passendes Gerät hast (zigbee2mqtt). Sonst nur in der Liste bei "?"
Hatte das selbe Problem. Du musst fhem neu starten dann ist das template drin.
Ich denke nicht das es in eine unterputzdose passt, außer es ist eine Blinddose.
Die l1 l2 states sind Zustände der schalteingänge am Gerät. D.h das müssten readings bleiben.
Denn wenn man die Eingänge nicht verwendet und das relay eins schaltet bleibt der schalteingang logischerweise unverändert.
Zitat von: ulli am 08 Dezember 2019, 14:17:38
Die l1 l2 states sind Zustände der schalteingänge am Gerät. D.h das müssten readings bleiben.
Denn wenn man die Eingänge nicht verwendet und das relay eins schaltet bleibt der schalteingang logischerweise unverändert.
Hmm, dann scheint das template noch nicht zu passen?
Wie wird dann mitgeteilt, was z.B. der Zustand des 2. Relais ist, wenn du von FHEM aus schaltest? "state" scheint dann ja nichts mit availability zu tun zu haben, sondern ist tatsächlich der Relay-Stand (vom 1. Relais)?
Kannst du mal die JSON-Infos liefern, was kommt, wenn man jeweils die Relais lokal schaltet und von FHEM aus? (= in total 4 JSON-blobs).
Relais 1
On
zigbee2mqtt:info 2019-12-08T17:57:40: MQTT publish: topic 'zigbee2mqtt/0x00158d000419d8a7', payload '{"state_l1":"ON","linkquality":44,"state_l2":"OFF","power":0.04,"consumption":0.01,"temperature":17,"state":"OFF"}',
zigbee2mqtt:info 2019-12-08T17:57:40: MQTT publish: topic 'zigbee2mqtt/0x00158d000419d8a7', payload '{"state_l1":"ON","linkquality":47,"state_l2":"OFF","power":0.04,"consumption":0.01,"temperature":17,"state":"OFF"}',
zigbee2mqtt:info 2019-12-08T17:57:41: MQTT publish: topic 'zigbee2mqtt/0x00158d000419d8a7', payload '{"state_l1":"ON","linkquality":47,"state_l2":"OFF","power":154.64,"consumption":0.01,"temperature":17,"state":"OFF"}'
Off
zigbee2mqtt:info 2019-12-08T17:58:09: MQTT publish: topic 'zigbee2mqtt/0x00158d000419d8a7', payload '{"state_l1":"OFF","linkquality":47,"state_l2":"OFF","power":175.89,"consumption":0.01,"temperature":17,"state":"OFF"}'
Relais 2
On
zigbee2mqtt:info 2019-12-08T17:59:41: MQTT publish: topic 'zigbee2mqtt/0x00158d000419d8a7', payload '{"state_l1":"OFF","linkquality":47,"state_l2":"ON","power":0.04,"consumption":0.01,"temperature":17,"state":"OFF"}'
Off
zigbee2mqtt:info 2019-12-08T18:00:24: MQTT publish: topic 'zigbee2mqtt/0x00158d000419d8a7', payload '{"state_l1":"OFF","linkquality":47,"state_l2":"OFF","power":0.04,"consumption":0.01,"temperature":17,"state":"OFF"}'
Die beiden raw Definitionen
Relais 1
defmod HS_Lichterkette MQTT2_DEVICE zigbee_0x00158d000419d8a7
attr HS_Lichterkette IODev MQTT
attr HS_Lichterkette comment Channel 1 for HS_Lichterkette, see also HS_Lichterkette_CH2
attr HS_Lichterkette eventMap { dev=>{ON=>'on',OFF=>'off'} }
attr HS_Lichterkette icon message_socket
attr HS_Lichterkette jsonMap state:availability state_l1:state state_l2:0
attr HS_Lichterkette model zigbee2mqtt_2channel_split
attr HS_Lichterkette readingList zigbee2mqtt/0x00158d000419d8a7:.* { json2nameValue($EVENT,'',$JSONMAP) }
attr HS_Lichterkette room Haus
attr HS_Lichterkette setList on:noArg zigbee2mqtt/0x00158d000419d8a7/l1/set {"state":"ON"}\
off:noArg zigbee2mqtt/0x00158d000419d8a7/l1/set {"state":"OFF"}\
attr HS_Lichterkette setStateList on off
setstate HS_Lichterkette off
setstate HS_Lichterkette 2019-12-07 12:37:17 associatedWith HS_Wasserpumpe
setstate HS_Lichterkette 2019-12-08 19:00:24 availability OFF
setstate HS_Lichterkette 2019-12-08 19:00:24 consumption 0.01
setstate HS_Lichterkette 2019-12-08 19:00:24 linkquality 47
setstate HS_Lichterkette 2019-12-08 19:00:24 power 0.04
setstate HS_Lichterkette 2019-12-08 19:00:24 state OFF
setstate HS_Lichterkette 2019-12-08 19:00:24 temperature 17
Relais 2
defmod HS_Wasserpumpe MQTT2_DEVICE zigbee_0x00158d000419d8a7
attr HS_Wasserpumpe IODev MQTT
attr HS_Wasserpumpe comment Channel 2 for HS_Lichterkette
attr HS_Wasserpumpe eventMap { dev=>{ON=>'on',OFF=>'off'} }
attr HS_Wasserpumpe icon message_socket
attr HS_Wasserpumpe imageLink /fhem/deviceimages/mqtt2/LLKZMK11LM.jpg
attr HS_Wasserpumpe jsonMap state_l1:0 state_l2:state state:0 consumption:0 linkquality:0 power:0 temperature:0
attr HS_Wasserpumpe model zigbee2mqtt_2channel_split
attr HS_Wasserpumpe readingList zigbee2mqtt/0x00158d000419d8a7:.* { json2nameValue($EVENT,'',$JSONMAP) }
attr HS_Wasserpumpe room Haus
attr HS_Wasserpumpe setList on:noArg zigbee2mqtt/0x00158d000419d8a7/l2/set {"state":"ON"}\
off:noArg zigbee2mqtt/0x00158d000419d8a7/l2/set {"state":"OFF"}
attr HS_Wasserpumpe setStateList on off toggle
setstate HS_Wasserpumpe off
setstate HS_Wasserpumpe 2019-12-07 12:36:49 associatedWith HS_Lichterkette
setstate HS_Wasserpumpe 2019-12-08 19:00:24 state OFF
Siehst du Unterschiede, wenn du lokal (Taster am Aktor) schaltest? Sonst sieht das von hier aus gut aus.
Ich nutze dielokalen Schalter nicht, daher nix angeschlossen.
Na ja, ggf. wird sich ja jemand melden, wenn was nicht paßt...
Allerdings irritiert mich, dass da "state":"OFF" in dem JSON steht. Hast du einen timeout für availability in der yaml definiert oder ist es falsch, dass ich diese Angabe mit availability in Verbindung bringe?
Ich versteh es aktuell so. State zeigt den relay Status an. Dieser wechselt wenn ich das Relais schalte.
Availability ist immer off....weiß nicht woher das reading gesetzt wird?
Ein timeout habe ich in zigbee2mqtt yaml nicht gesetzt
Wenn du keinen timeout gesetzt hast, ist das mit avalability einleuchtend (jedenfalls, was die fehlenden updates dazu angeht; ansonsten ist völlig unklar, warum das überhaupt kommt bzw. was das vom Device her kommende "state" überhaupt aussagen soll...).
Vielleicht noch eine Anmerkung zu "state":
Das ist in diesem template recht "schillernd" wg. der jsonMap. Was das Device unter "state" (im JSON) schickt, landet nämlich in FHEM in availability (ob das richtig ist, versuchen wir grade noch zu ermitteln). Dafür wird das, was von dort unter "state_l1" (bzw "...2") kommt, jeweils in FHEM als "state" verwendet ;) .
Hallo,
ich habe heute den 2 Kanal Aktor bekommen. Einmal lange Taste drücken und ein neues MQTT2 Device wurde angelegt.
Nach einem FHEM Update und Restart wurde das entsprechende Template gefunden (zigbee2mqtt_2channel_split).
Dadurch wurde ein zweites Device angelegt. Funktioniert soweit wie gewünscht.
Ich habe mal die Eingänge für externe Schalter getestet. Wenn an den Eingang S1 Spannung angelegt wird geht das Relais in den anderen Zustand. Ist also im Auslieferungszustand nicht für Taster Bedienung ausgelegt, sondern für Kippschalter.
Gut ist, dass die Änderung durch die externen Schalter auch korrekt an FHEM weitergegeben wird.
(Ein Schönheitsfehler bei meinem Aktor: Eingang S1 schaltet Relais 2 und umgekehrt. Das "Klacken" des Relais ist recht laut).
Danke für die Rückmeldung :) .
Nutzt denn jemand das "availability"-feature in zigbee2mqtt und kann was dazu sagen? (Ich würde das template gerne gedanklich abhaken können...).
Was ist das für ein feature?
Hier mal nach "availability" suchen: https://www.zigbee2mqtt.io/information/configuration.html
d.h. bei entsprechender Einstellung in configuration.yaml wird die Präsenz der Zigbee Geräte abgefragt?
Habe ich bisher nicht in Benutzung. Hört sich aber ganz nett an. Ich nehme an, dass die Readings entsprechend ergänzt werden.
Ja, die Geräte gehen "offline", wenn du den Strom abklemmst...
Nein, das wirkt sich (noch) nicht auf "state" aus, sondern vermutlich auf "availability"; genau das wollten wir ja rausfinden und ggf. so anpassen, dass es Sinn macht (oder eben lassen, da - warum auch immer - ständig "off" kommt, obwohl das Gerät da ist).
Funktioniert bei euch der zweite Channel noch? Ich habe den LLKZMK11LM auch seit Anfang des Jahres im Einsatz. Hat alles auf Anhieb geklappt aber seit einiger Zeit meldet der zweite Channel sich nicht mehr. Ich bekomme keinen Status mehr zurück und kann ihn auch nicht aus FHEM raus schalten. Habe das Device auch nochmal neu angelegt aber der Fehler bleibt bestehen.
List vom Channel1
Internals:
CID zigbee_0x00158d00044b2f81
DEF zigbee_0x00158d00044b2f81
DEVICETOPIC zigbee2mqtt/0x00158d00044b2f81
FUUID 5e2471bb-f33f-c2c3-9278-1ed5f0d9370385a6
IODev MQTT2
LASTInputDev MQTT2
MQTT2_MSGCNT 38
MQTT2_TIME 2020-03-27 19:33:38
MSGCNT 38
NAME KzLichtDeckeLinks
NR 420
STATE off
TYPE MQTT2_DEVICE
Helper:
DBLOG:
consumption:
DBLogging:
TIME 1585334018.28183
VALUE 1.63
power:
DBLogging:
TIME 1585334018.28183
VALUE 0.08
temperature:
DBLogging:
TIME 1585334018.28183
VALUE 35
JSONMAP:
state availability
state_l1 state
state_l2 0
OLDREADINGS:
READINGS:
2020-03-27 19:24:34 associatedWith KzLichtDeckeRechts
2020-03-27 19:33:38 availability OFF
2020-03-27 19:33:38 consumption 1.63
2020-03-27 19:33:38 linkquality 57
2020-03-27 19:33:38 power 0.08
2020-03-27 19:24:55 state off
2020-03-27 19:33:38 temperature 35
Attributes:
DbLogExclude .*
DbLogInclude temperature,power,consumption
IODev MQTT2
comment Channel 1 for KzLichtDeckeLinks, see also KzLichtDeckeLinks_CH2
devicetopic zigbee2mqtt/0x00158d00044b2f81
eventMap { dev=>{ON=>'on',OFF=>'off'} }
genericDeviceType switch
group Licht
icon light_pendant_light_round
jsonMap state:availability state_l1:state state_l2:0
model zigbee2mqtt_2channel_split
readingList $DEVICETOPIC:.* { json2nameValue($EVENT,'',$JSONMAP) }
room Kinderzimmer
setList on:noArg $DEVICETOPIC/l1/set {"state":"ON"}
off:noArg $DEVICETOPIC/l1/set {"state":"OFF"}
attr KzLichtDeckeLinks setStateList on off
Und Channel 2
Internals:
CFGFN
CHANGED
CID zigbee_0x00158d00044b2f81
DEF zigbee_0x00158d00044b2f81
DEVICETOPIC zigbee2mqtt/0x00158d00044b2f81
FUUID 5e7e44b4-f33f-c2c3-b86a-da9ad978d0992dd9
IODev MQTT2
LASTInputDev MQTT2
MQTT2_MSGCNT 7
MQTT2_TIME 2020-03-27 19:33:38
MSGCNT 7
NAME KzLichtDeckeRechts
NR 1552
STATE set_off
TYPE MQTT2_DEVICE
JSONMAP:
consumption 0
linkquality 0
power 0
state 0
state_l1 0
state_l2 state
temperature 0
READINGS:
2020-03-27 19:23:48 associatedWith KzLichtDeckeLinks
2020-03-27 19:27:42 state set_off
Attributes:
DbLogExclude .*
DbLogInclude temperature,power,consumption
IODev MQTT2
comment Channel 2 for KzLichtDeckeLinks
devicetopic zigbee2mqtt/0x00158d00044b2f81
eventMap { dev=>{ON=>'on',OFF=>'off'} }
genericDeviceType switch
group Licht
icon light_pendant_light_round
imageLink /fhem/deviceimages/mqtt2/LLKZMK11LM.jpg
jsonMap state_l1:0 state_l2:state state:0 consumption:0 linkquality:0 power:0 temperature:0
model zigbee2mqtt_2channel_split
readingList $DEVICETOPIC:.* { json2nameValue($EVENT,'',$JSONMAP) }
room Kinderzimmer
setList on:noArg $DEVICETOPIC/l2/set {"state":"ON"}
off:noArg $DEVICETOPIC/l2/set {"state":"OFF"}
setStateList on off toggle
Schau doch mal im Journal ob das Aufschluss gibt sudo journalctl -u zigbee2mqtt.service -f
Gruß
Thomas
Also dort sehe ich nur l1
Mär 29 19:16:14 MagicMirror npm[474]: zigbee2mqtt:info 2020-03-29 19:16:14: MQTT publish: topic 'zigbee2mqtt/0x00158d00044b2f81', payload '{"state_l1":"OFF","linkquality":55,"state_l2":"OFF","power":5.89,"consumption":1.65,"temperature":35}'
Mär 29 19:16:14 MagicMirror npm[474]: zigbee2mqtt:info 2020-03-29 19:16:14: MQTT publish: topic 'zigbee2mqtt/0x00158d00044b2f81', payload '{"state_l1":"OFF","linkquality":49,"state_l2":"OFF","power":5.89,"consumption":1.65,"temperature":35}'
Mär 29 19:16:15 MagicMirror npm[474]: zigbee2mqtt:info 2020-03-29 19:16:15: MQTT publish: topic 'zigbee2mqtt/0x00158d00044b2f81', payload '{"state_l1":"OFF","linkquality":47,"state_l2":"OFF","power":0.95,"consumption":1.65,"temperature":35}'
Mär 29 19:16:19 MagicMirror npm[474]: zigbee2mqtt:info 2020-03-29 19:16:19: MQTT publish: topic 'zigbee2mqtt/0x00158d00044b2f81', payload '{"state_l1":"ON","linkquality":47,"state_l2":"OFF","power":0.95,"consumption":1.65,"temperature":35}'
Mär 29 19:16:19 MagicMirror npm[474]: zigbee2mqtt:info 2020-03-29 19:16:19: MQTT publish: topic 'zigbee2mqtt/0x00158d00044b2f81', payload '{"state_l1":"ON","linkquality":55,"state_l2":"OFF","power":0.95,"consumption":1.65,"temperature":35}'
Mär 29 19:16:21 MagicMirror npm[474]: zigbee2mqtt:info 2020-03-29 19:16:21: MQTT publish: topic 'zigbee2mqtt/0x00158d00044b2f81', payload '{"state_l1":"ON","linkquality":55,"state_l2":"OFF","power":5.95,"consumption":1.65,"temperature":35}'
Allerdings bekomme ich auch keinen State von l1 in FHEM zurück wenn ich mit den Schaltern schalte. Das reading Availabilty schaltet aber.
Kann mir jemand mal bitte ein List zeigen? Ich vermute das aktuelle Template ist irgendwie nicht mehr korrekt.
Hab so ein Relais nicht, wenn ich mir das Template anschaue dann stimmt was mit deiner readingList und setList nicht
mMn sollte in redingList stehen
zigbee2mqtt:.* { json2nameValue($EVENT,'',$JSONMAP) }
und in setList
on:noArg zigbee2mqtt/l1/set {"state":"ON"}
off:noArg zigbee2mqtt/l1/set {"state":"OFF"}
bzw.
on:noArg zigbee2mqtt/l2/set {"state":"ON"}
off:noArg zigbee2mqtt/l2/set {"state":"OFF"}
Gruß
Thomas
Hallo,
ich habe seit gestern auch dieses Relais. Bis zur Anlage in FHEM (zigbee2mqtt_2channel_split) bin ich problemlos gekommen. Nur leider passiert am Relais nichts, wenn ich bei einem der beiden angelegten Devices auf die Lampe oder auf on bzw. off klicke. In FHEM wird eine ein- bzw. ausgeschaltete Lampe mit roten Ausrufezeichen angezeigt und das Reading "state" springt entweder auf "set_on" oder "set_off".
Drücke ich auf dem Relais den kleinen Knopf recht oben, dann werden beide Relais ein- bzw. ausgeschaltet. In FEHM gehen auch die Lampen an und das Reading "state" geht auf "ON" bzw. "OFF".
Hat jemand eine Idee, warum das nicht funktioniert, wie es sollte?
Hmm, evtl. könnte sich das Format geändert haben, da gab's neulich schon mal sowas ähnliches bei einem etwas anderen Aktor:
attr MQTT2_zigbee_0x00124b001aa5a474 setList \
on:noArg zigbee2mqtt/0x00124b001aa5a474/l1/set ON\
off:noArg zigbee2mqtt/0x00124b001aa5a474/l1/set OFF\
toggle:noArg zigbee2mqtt/0x00124b001aa5a474/l1/set TOGGLE
Falls das ein generelles Thema mit diesen mehrkanaligen zigbee2mqtt-Dingern sein sollte, würde ich das im Template ändern...?
(Evtl. wäre aber etwas MQTT-Verkehr hilfreich, wenn das Ding zwar schaltet, aber nichts zurückmeldet.)
Danke für die schnelle Antwort. Leider hat die Änderung keine Besserung gebracht. Nach wie vor passiert am Relais nichts, wenn ich in FHEM auf "on" oder "off" klicke. Und auch wieder "set_on" und "set_off" als Wert beim Reading "state". Im FHEM Monitor kommen nur die Meldungen (nur Device für Kanal 1):
2020-09-28 17:41:00 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 set_on
2020-09-28 17:41:02 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 set_off
Im zigbee2mqtt Log (journalctl -u zigbee2mqtt.service -f) keine Ausgabe.
Drücke ich den Knopf am Relais, dann kommt im zigbee2mqtt Log:
Sep 28 17:42:36 homecontrol npm[580]: Zigbee2MQTT:info 2020-09-28 17:42:36: MQTT publish: topic 'zigbee2mqtt/0x00158d0004288c76', payload '{"consumption":0,"linkquality":18,"power":0.02,"state_l1":"ON","state_l2":"OFF","temperature":38}'
Sep 28 17:42:36 homecontrol npm[580]: Zigbee2MQTT:info 2020-09-28 17:42:36: MQTT publish: topic 'zigbee2mqtt/0x00158d0004288c76', payload '{"consumption":0,"linkquality":18,"power":0.02,"state_l1":"ON","state_l2":"ON","temperature":38}'
Sep 28 17:42:37 homecontrol npm[580]: Zigbee2MQTT:info 2020-09-28 17:42:37: MQTT publish: topic 'zigbee2mqtt/0x00158d0004288c76', payload '{"consumption":0,"linkquality":18,"power":4.89,"state_l1":"ON","state_l2":"ON","temperature":38}'
Sep 28 17:42:39 homecontrol npm[580]: Zigbee2MQTT:info 2020-09-28 17:42:39: MQTT publish: topic 'zigbee2mqtt/0x00158d0004288c76', payload '{"consumption":0,"linkquality":21,"power":7.51,"state_l1":"ON","state_l2":"ON","temperature":38}'
Sep 28 17:43:16 homecontrol npm[580]: Zigbee2MQTT:info 2020-09-28 17:43:16: MQTT publish: topic 'zigbee2mqtt/0x00158d0004288c76', payload '{"consumption":0,"linkquality":18,"power":7.51,"state_l1":"OFF","state_l2":"ON","temperature":38}'
Sep 28 17:43:16 homecontrol npm[580]: Zigbee2MQTT:info 2020-09-28 17:43:16: MQTT publish: topic 'zigbee2mqtt/0x00158d0004288c76', payload '{"consumption":0,"linkquality":21,"power":7.51,"state_l1":"OFF","state_l2":"OFF","temperature":38}'
Sep 28 17:43:19 homecontrol npm[580]: Zigbee2MQTT:info 2020-09-28 17:43:19: MQTT publish: topic 'zigbee2mqtt/0x00158d0004288c76', payload '{"consumption":0,"linkquality":18,"power":0.01,"state_l1":"OFF","state_l2":"OFF","temperature":38}'
Der FHEM Monitor bringt:
2020-09-28 17:42:36 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 linkquality: 18
2020-09-28 17:42:36 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 consumption: 0
2020-09-28 17:42:36 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 temperature: 38
2020-09-28 17:42:36 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 on
2020-09-28 17:42:36 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 power: 0.02
2020-09-28 17:42:36 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76_CH2 off
2020-09-28 17:42:36 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76_CH2 on
2020-09-28 17:42:36 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 power: 0.02
2020-09-28 17:42:36 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 temperature: 38
2020-09-28 17:42:36 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 on
2020-09-28 17:42:36 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 linkquality: 18
2020-09-28 17:42:36 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 consumption: 0
2020-09-28 17:42:37 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76_CH2 on
2020-09-28 17:42:37 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 consumption: 0
2020-09-28 17:42:37 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 linkquality: 18
2020-09-28 17:42:37 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 temperature: 38
2020-09-28 17:42:37 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 on
2020-09-28 17:42:37 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 power: 4.89
2020-09-28 17:42:39 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76_CH2 on
2020-09-28 17:42:39 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 linkquality: 21
2020-09-28 17:42:39 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 consumption: 0
2020-09-28 17:42:39 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 temperature: 38
2020-09-28 17:42:39 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 on
2020-09-28 17:42:39 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 power: 7.51
2020-09-28 17:43:16 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76_CH2 on
2020-09-28 17:43:16 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 power: 7.51
2020-09-28 17:43:16 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 temperature: 38
2020-09-28 17:43:16 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 off
2020-09-28 17:43:16 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 consumption: 0
2020-09-28 17:43:16 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 linkquality: 18
2020-09-28 17:43:16 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76_CH2 off
2020-09-28 17:43:16 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 power: 7.51
2020-09-28 17:43:16 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 linkquality: 21
2020-09-28 17:43:16 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 consumption: 0
2020-09-28 17:43:16 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 temperature: 38
2020-09-28 17:43:16 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 off
2020-09-28 17:43:19 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76_CH2 off
2020-09-28 17:43:19 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 off
2020-09-28 17:43:19 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 temperature: 38
2020-09-28 17:43:19 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 linkquality: 18
2020-09-28 17:43:19 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 consumption: 0
2020-09-28 17:43:19 MQTT2_DEVICE MQTT2_zigbee_0x00158d0004288c76 power: 0.01
Reading "state" wird auf "ON" bzw. "OFF" gesetzt.
Mir ist auch noch aufgefallen, dass beim Device für Kanal 1 das Attribut setStateList "on off" lautet und beim Device für Kanal 2 "on off toggle". Ist das so gewollt?
Zitat von: achim-g am 28 September 2020, 17:54:29
Danke für die schnelle Antwort. Leider hat die Änderung keine Besserung gebracht. Nach wie vor passiert am Relais nichts, wenn ich in FHEM auf "on" oder "off" klicke. Und auch wieder "set_on" und "set_off" als Wert beim Reading "state".
[...]
Mir ist auch noch aufgefallen, dass beim Device für Kanal 1 das Attribut setStateList "on off" lautet und beim Device für Kanal 2 "on off toggle". Ist das so gewollt?
Das das toggle im 1. Kanal fehlt, ist ein Versehen; das Attribut bewirkt, dass der state nur für diese Anweisungen geändert wird, und zwar eben auf die Info, dass eigentlich der Befehl rausgegangen sein sollte (aber eben die Bestätigung nicht zurückkommt).
Der Event-Monitor hilft daher bei der näheren Analyse nur bedingt, weil er in der Regel nicht anzeigt, wie der MQTT-Verkehr aussieht. Daher wäre als erstes sicherzustellen, was denn da bei dem zigbee2mqtt-Dienst überhaupt ankommt; bin zwar ziemlich sicher, was der Server rausschickt, aber falls (!) es Verbindungsprobleme gibt, kann es sein, dass die Message auch irgendwo verloren geht auf dem Weg zu diesem Dienst.
Ohne zu wissen, was wo läuft, ist das schwer zu beantworten (alles eine Maschine, WLAN/PowerLAN irgendwo dazwischen, ...). Mein nebliger Verdacht: Verbindungsabbrüche und eine nicht in der yaml festgezurrte ClientID?
So, nun hab ich mal wieder etwas Zeit investiert und u.a. festgestellt, dass es doch eine Meldung im zigbee2mqtt Log gegeben hat. Die kam allerdings zeitlich so verzögert, dass sie mir zunächst nicht aufgefallen war.
Sep 28 21:39:08 homecontrol npm[581]: Zigbee2MQTT:error 2020-09-28 21:39:08: Publish 'set' 'state' to '0x00158d00042af0fd' failed: 'Error: Command 0x00158d00042af0fd/1 genOnOff.on({}, {"timeout":10000,"disableResponse":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null}) failed (Data request failed with error: 'No network route' (205))'
Sep 28 21:39:08 homecontrol npm[581]: Zigbee2MQTT:info 2020-09-28 21:39:08: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"Publish 'set' 'state' to '0x00158d00042af0fd' failed: 'Error: Command 0x00158d00042af0fd/1 genOnOff.on({}, {\"timeout\":10000,\"disableResponse\":false,\"disableDefaultResponse\":false,\"direction\":0,\"srcEndpoint\":null,\"reservedBits\":0,\"manufacturerCode\":null,\"transactionSequenceNumber\":null}) failed (Data request failed with error: 'No network route' (205))'","meta":{"friendly_name":"0x00158d00042af0fd"},"type":"zigbee_publish_error"}'
Zu dem Fehler 'No network route' (205))' bin ich dann auf folgenden Post gestoßen: https://github.com/Koenkk/zigbee2mqtt/issues/2227 (https://github.com/Koenkk/zigbee2mqtt/issues/2227)
Hab dann mal die Z-Stack_Home_1.2 (source_routing) Firmware auf den USB Stick (ein CC2531) gebügelt. Hat aber auch nix geholfen. Mit der Version 3.0.x ging es dann endlich, wobei ich jetzt erstmal alle anderen Devices wieder anlernen muss und hoffe, dass auch alle funkionieren. Die Einstellungen des Attributs "setList" hab ich wieder auf die "Werkseinstellungen" zurück gesetzt. Die Empfehlung von weiter oben hatte aber auch funktioniert.
Vermutlich gibt es am Template jetzt gar nichts zu ändern. Würde mich aber mal interessieren, ob es bei jemandem mit der 1.2 Version (default oder source_routing) funktioniert. Mein FHEM läuft übrigens auf einem Pi 3, Modell B, Version 1.2 und aktuellem Raspberry Pi OS und zigbee2mqtt ist auch aktuell.
Zitat von: achim-g am 30 September 2020, 21:27:02
[...] Vermutlich gibt es am Template jetzt gar nichts zu ändern. [...]
Danke auf jeden Fall für die Rückmeldung, ist wichtig zu wissen, dass das Problem "hinter dem (mehr oder weniger korrekten) set-Kommando" steckte.
Was das attrTemplate angeht, bin ich aber nach wie vor nicht so richtig sicher, ob die payload wirklich "gut" ist, sie entspricht nämlich hier nicht dem, was in der Doku bei z2mqtt steht. Wenn es "auch" mit der Klartext-Variante geht, werde ich das tendenziell umbauen.
Und weiter war da auch noch der Punkt offen, ob es korrekte bzw. separate Infos über Tastendrücke gibt.
Und zu guter letzt: ich habe auch so einen, den aber über deconz am laufen. Aber auch bei dem sind a) die Zuordnungen von den Tastern und den Ausgängen vertauscht, darüber hinaus sind b) die Messdaten für die Strommessung unbrauchbar. Ist das b) bei der Einbindung via z2mqtt auch so?
Und haben alle diesen Verkabelungs-bug lt. a)?
(Dann würde ich ggf. wenigstens beides in die desc: aufnehmen; das attrTemplate ist zwar universell auch für andere Typen nutzbar, aber der hier besprochene ist derzeit der Haupt-Vertreter...)
Also das mit den Ausgängen passt bei mir. Strommessung hab ich noch nicht vorgenommen, weil das Relais noch nicht final installiert ist. Da brauche ich erst noch einen Signalverstärker, der ist aber schon unterwegs. Dann werde ich auch noch die Ausgänge S1 und S2 belegen. Hatte was gelesen, dass man da einen Schalter anschließen sollte und keinen Taster (was ich aber eher vermutet hätte). Werde ggf. beides testen, aber fange mit einem Taster an.