[Modul] Zigbee2MQTT

@HarmonyFan, der Bug bei action_duration ist in der aktuellen Beta behoben.

Grüße,
Kai

1 „Gefällt mir“

Hi Kai,
Bei duration ist noch ein Fehler bei registervariablefloat. Siehe discord.

Ral

Guten Abend, kurze Frage, zu der ich keine eindeutige Antwort finden konnte.
Ist es möglich mit dem raspbee2 Aufsatz zigbee2mqtt auf dem Raspberry laufen zu lassen?
Gruß oekomat

@oekomat

Moin,

laut Phoscon ist es möglich. Leider haben die aber keine Anleitung dabei. Zigbee2Mqtt hat den Raspee2 nicht als Koordinator gelistet. So der aktuelle Stand.
Auf RaspBee II Übersicht (phoscon.de) findest Du eine Übersicht der Systeme, wo der Raspee2 laufen soll.

Du kannst probieren, ob der Raspee2 in RaspiOS unter /dev/serial/by-id/ angezeigt wird und dies dann in die configuration.yaml eintragen.

Gruß
Burkhard

@KaiS

Moin,

hier der neue Debug:

TXT: 18.01.2022, 03:54:50 | symconExtensionCommand Topic | symcon/z2m_OG/getDevice
TXT: 18.01.2022, 03:54:50 | symconExtensionCommand Payload | 00xRollo
TXT: 18.01.2022, 03:54:50 |           MQTT Topic | symcon/z2m_OG/00xRollo/deviceInfo
TXT: 18.01.2022, 03:54:50 |         MQTT Payload | {"zh":{"ID":10,"_type":"Router","_ieeeAddr":"0x0c4314fffe0dca50","_networkAddress":16097,"_manufacturerID":4098,"_endpoints":[{"ID":1,"profileID":260,"deviceID":81,"inputClusters":[0,4,5,61184],"outputClusters":[25,10],"deviceNetworkAddress":16097,"deviceIeeeAddress":"0x0c4314fffe0dca50","clusters":{"genBasic":{"attributes":{"65503":"\u0000\u0000\u0000\u0000\u0005","65506":31,"65508":1,"modelId":"TS0601","manufacturerName":"_TZE200_iossyxra","stackVersion":0,"dateCode":"","appVersion":68}}},"_binds":[],"_configuredReportings":[],"meta":{},"pendingRequests":[]}],"_manufacturerName":"_TZE200_iossyxra","_powerSource":"Mains (single phase)","_modelID":"TS0601","_applicationVersion":68,"_stackVersion":0,"_zclVersion":3,"_hardwareVersion":1,"_dateCode":"","_interviewCompleted":true,"_interviewing":false,"_skipDefaultResponse":false,"_skipTimeResponse":false,"meta":{},"_lastSeen":1642474455002,"useImplicitCheckin":true,"_linkquality":114},"_definition":{"fingerprint":[{"modelID":"TS0601","manufacturerName":"_TZE200_iossyxra"}],"model":"ZM-AM02","vendor":"Zemismart","description":"Zigbee/RF curtain converter","fromZigbee":[{"cluster":"manuSpecificTuya","type":["commandDataResponse","commandDataReport","commandSetDataresponse"]}],"toZigbee":[{"key":["control","percent_control","mode","control_back_mode","border","motor_working_mode"]},{"key":["scene_store"]},{"key":["scene_recall"]},{"key":["scene_add"]},{"key":["scene_remove"]},{"key":["scene_remove_all"]},{"key":["read"]},{"key":["write"]}],"exposes":[{"type":"enum","name":"motor_working_mode","property":"motor_working_mode","access":3,"values":["continuous","intermittently"]},{"type":"enum","name":"control","property":"control","access":3,"values":["open","stop","close","continue"]},{"type":"numeric","name":"percent_state","property":"percent_state","access":1,"value_min":0,"value_max":100,"value_step":1,"unit":"%"},{"type":"enum","name":"mode","property":"mode","access":3,"values":["morning","night"]},{"type":"enum","name":"control_back_mode","property":"control_back_mode","access":3,"values":["forward","back"]},{"type":"enum","name":"border","property":"border","access":3,"values":["up","down","down_delete"]},{"type":"numeric","name":"linkquality","property":"linkquality","access":1,"unit":"lqi","description":"Link quality (signal strength)","value_min":0,"value_max":255}],"options":[]}}
TXT: 18.01.2022, 03:54:50 | mapExposesToVariables:: All Exposes | [{"type":"enum","name":"motor_working_mode","property":"motor_working_mode","access":3,"values":["continuous","intermittently"]},{"type":"enum","name":"control","property":"control","access":3,"values":["open","stop","close","continue"]},{"type":"numeric","name":"percent_state","property":"percent_state","access":1,"value_min":0,"value_max":100,"value_step":1,"unit":"%"},{"type":"enum","name":"mode","property":"mode","access":3,"values":["morning","night"]},{"type":"enum","name":"control_back_mode","property":"control_back_mode","access":3,"values":["forward","back"]},{"type":"enum","name":"border","property":"border","access":3,"values":["up","down","down_delete"]},{"type":"numeric","name":"linkquality","property":"linkquality","access":1,"unit":"lqi","description":"Link quality (signal strength)","value_min":0,"value_max":255}]
TXT: 18.01.2022, 03:54:50 | registerVariableProfile:: Variableprofile missing | Z2M.motor_working_mode.12bc841d
TXT: 18.01.2022, 03:54:50 | registerVariableProfile:: ProfileName Values | ["continuous","intermittently"]
TXT: 18.01.2022, 03:54:50 | registerVariableProfile:: Variableprofile missing | Z2M.control.a0c4f29e
TXT: 18.01.2022, 03:54:50 | registerVariableProfile:: ProfileName Values | ["close","continue","open","stop"]
TXT: 18.01.2022, 03:54:50 | registerVariableProfile:: Variableprofile missing | Z2M.mode.be3d8da4
TXT: 18.01.2022, 03:54:50 | registerVariableProfile:: ProfileName Values | ["morning","night"]
TXT: 18.01.2022, 03:54:50 | registerVariableProfile:: Variableprofile missing | Z2M.control_back_mode.cf88002f
TXT: 18.01.2022, 03:54:50 | registerVariableProfile:: ProfileName Values | ["back","forward"]
TXT: 18.01.2022, 03:54:50 | registerVariableProfile:: Variableprofile missing | Z2M.border.8e25e2eb
TXT: 18.01.2022, 03:54:50 | registerVariableProfile:: ProfileName Values | ["down","down_delete","up"]
TXT: 18.01.2022, 03:54:50 | mapExposesToVariables:: Missed Exposes | {"light":[],"switch":[]}

Gruß
Burkhard

@KaiS

Moin Kai,

Das Modul meckert bei meinen Heizthermostaten:

22.01.2022, 05:27:32 | FlowHandler          | Kann Daten nicht zur Instanz #52305 weiterleiten: 
Warning: Cannot auto-convert value for parameter Value in /var/lib/symcon/modules/.store/info.schnittcher.ips.zigbee2mqtt/libs/Zigbee2MQTTHelper.php on line 281
RESULT:

Hier mal die Device-Eigenschaften, da fehlen ihm irgendwie noch Profile:

22.01.2022, 09:21:28 | mapExposesToVariables:: All Exposes | [{"type":"lock","features":[{"type":"binary","name":"state","property":"child_lock","access":3,"value_on":"LOCK","value_off":"UNLOCK","description":"Enables\/disables physical input on the device"}]},{"type":"switch","features":[{"type":"binary","name":"state","property":"window_detection","access":3,"value_on":"ON","value_off":"OFF","description":"Enables\/disables window detection on the device","value_toggle":"TOGGLE"}]},{"type":"binary","name":"battery_low","property":"battery_low","access":1,"value_on":true,"value_off":false,"description":"Indicates if the battery of this device is almost empty"},{"type":"switch","features":[{"type":"binary","name":"state","property":"valve_detection","access":3,"value_on":"ON","value_off":"OFF","value_toggle":"TOGGLE"}]},{"type":"numeric","name":"position","property":"position","access":1,"unit":"%","description":"Position"},{"type":"climate","features":[{"type":"numeric","name":"current_heating_setpoint","property":"current_heating_setpoint","access":3,"value_min":5,"value_max":35,"value_step":0.5,"unit":"\u00b0C","description":"Temperature setpoint"},{"type":"numeric","name":"local_temperature","property":"local_temperature","access":1,"unit":"\u00b0C","description":"Current temperature measured on the device"},{"type":"enum","name":"system_mode","property":"system_mode","access":3,"values":["heat","auto","off"],"description":"Mode of this device, in the `heat` mode the TS0601 will remain continuously heating, i.e. it does not regulate to the desired temperature. If you want TRV to properly regulate the temperature you need to use mode `auto` instead setting the desired temperature."},{"type":"numeric","name":"local_temperature_calibration","property":"local_temperature_calibration","access":3,"value_min":-9,"value_max":9,"value_step":1,"unit":"\u00b0C","description":"Offset to be used in the local_temperature"},{"type":"binary","name":"away_mode","property":"away_mode","access":3,"value_on":"ON","value_off":"OFF","description":"Away mode"},{"type":"enum","name":"preset","property":"preset","access":3,"values":["schedule","manual","boost","complex","comfort","eco"],"description":"Mode of this device (similar to system_mode)"}]},{"type":"switch","features":[{"type":"binary","name":"state","property":"auto_lock","access":3,"value_on":"AUTO","value_off":"MANUAL","description":"Enable\/disable auto lock"}]},{"type":"switch","features":[{"type":"binary","name":"state","property":"away_mode","access":3,"value_on":"ON","value_off":"OFF","description":"Enable\/disable away mode"}]},{"type":"numeric","name":"away_preset_days","property":"away_preset_days","access":3,"description":"Away preset days","value_min":0,"value_max":100},{"type":"numeric","name":"boost_time","property":"boost_time","access":3,"unit":"s","description":"Boost time","value_min":0,"value_max":900},{"type":"numeric","name":"comfort_temperature","property":"comfort_temperature","access":3,"unit":"\u00b0C","description":"Comfort temperature","value_min":0,"value_max":30},{"type":"numeric","name":"eco_temperature","property":"eco_temperature","access":3,"unit":"\u00b0C","description":"Eco temperature","value_min":0,"value_max":35},{"type":"enum","name":"force","property":"force","access":3,"values":["normal","open","close"],"description":"Force the valve position"},{"type":"numeric","name":"max_temperature","property":"max_temperature","access":3,"unit":"\u00b0C","description":"Maximum temperature","value_min":15,"value_max":35},{"type":"numeric","name":"min_temperature","property":"min_temperature","access":3,"unit":"\u00b0C","description":"Minimum temperature","value_min":1,"value_max":15},{"type":"numeric","name":"away_preset_temperature","property":"away_preset_temperature","access":3,"unit":"\u00b0C","description":"Away preset temperature","value_min":-10,"value_max":35},{"type":"composite","name":"programming_mode","features":[{"type":"enum","name":"week","property":"week","access":3,"values":["5+2","6+1","7"],"description":"Week format user for schedule"},{"type":"text","name":"workdays_schedule","property":"workdays_schedule","access":3},{"type":"text","name":"holidays_schedule","property":"holidays_schedule","access":3}],"description":"Schedule MODE \u23f1 - In this mode, the device executes a preset week programming temperature time and temperature."},{"type":"numeric","name":"linkquality","property":"linkquality","access":1,"unit":"lqi","description":"Link quality (signal strength)","value_min":0,"value_max":255}]

22.01.2022, 09:21:28 | mapExposesToVariables:: Missed Exposes | {"light":[],"switch":[{"type":"binary","name":"state","property":"away_mode","access":3,"value_on":"ON","value_off":"OFF","description":"Enable\/disable away mode"}],"composite":[{"type":"enum","name":"week","property":"week","access":3,"values":["5+2","6+1","7"],"description":"Week format user for schedule"}]}

Vielleicht kannst Du da bei Gelegenheit mal schauen.

Gruß
Burkhard

Moin KaiS,
optische Kleinigkeit:

01/23/22 10:57:38 | 00000 | WARNING | PHPLibrary           | Parameter color in der Funktion Z2M_setColorExt hat keinen Datentyp. Definieren Sie entweder 'bool', 'int', 'float' oder 'string'
01/23/22 10:57:38 | 00000 | WARNING | PHPLibrary           | Parameter color in der Funktion Z2M_setColorExt hat keinen Datentyp. Definieren Sie entweder 'bool', 'int', 'float' oder 'string'

Ralf

Lösche die Variable mal bitte und lasse diese erneut anlegen, ich glaube das sind noch alte Variablen.

Grüße,
Kai

Daran kann ich leider nichts ändern, da der Typ hier variabel sein kann, mit PHP 8 soll das laut @paresy besser werden.

Grüße,
Kai

1 „Gefällt mir“

Es gibt eine neue Beta Version, kannst du mal schauen, ob da nun alles vorhanden ist?

Grüße,
Kai

Hallo Kai

Ich hatte vor kurzer Zeit meinen Philips Hue Bewegungssensor auf Zigbee2MQTT gezügelt.
Das ging alles ohne Probleme.

Heute habe ich wieder einmal die Beta Version Deines Moduls aktiviert.
Mit der Beta habe ich folgende Fehlermeldung:

26.01.2022 08:18:16 | 25994 | ERROR   | FlowHandler          | Kann Daten nicht zur Instanz #25994 weiterleiten: 
Warning: Cannot auto-convert value for parameter Value in C:\ProgramData\Symcon\modules\.store\info.schnittcher.ips.zigbee2mqtt\libs\Zigbee2MQTTHelper.php on line 420
RESULT:

Das Gerät sendet folgendes:

022, 08:18:16 AM |           MQTT Topic | zigbee2mqtt/balcony_south_light_intensity
HEX: 01/26/2022, 08:18:16 AM |           MQTT Topic | 7A 69 67 62 65 65 32 6D 71 74 74 2F 62 61 6C 63 6F 6E 79 5F 73 6F 75 74 68 5F 6C 69 67 68 74 5F 69 6E 74 65 6E 73 69 74 79 
TXT: 01/26/2022, 08:18:16 AM |         MQTT Payload | {"battery":99,"illuminance":27400,"illuminance_lux":549,"last_seen":"2022-01-26T08:18:09+01:00","led_indication":false,"linkquality":72,"motion_sensitivity":"low","occupancy":false,"occupancy_timeout":60,"temperature":-1.61,"update":{"state":"idle"}}
HEX: 01/26/2022, 08:18:16 AM |         MQTT Payload | 7B 22 62 61 74 74 65 72 79 22 3A 39 39 2C 22 69 6C 6C 75 6D 69 6E 61 6E 63 65 22 3A 32 37 34 30 30 2C 22 69 6C 6C 75 6D 69 6E 61 6E 63 65 5F 6C 75 78 22 3A 35 34 39 2C 22 6C 61 73 74 5F 73 65 65 6E 22 3A 22 32 30 32 32 2D 30 31 2D 32 36 54 30 38 3A 31 38 3A 30 39 2B 30 31 3A 30 30 22 2C 22 6C 65 64 5F 69 6E 64 69 63 61 74 69 6F 6E 22 3A 66 61 6C 73 65 2C 22 6C 69 6E 6B 71 75 61 6C 69 74 79 22 3A 37 32 2C 22 6D 6F 74 69 6F 6E 5F 73 65 6E 73 69 74 69 76 69 74 79 22 3A 22 6C 6F 77 22 2C 22 6F 63 63 75 70 61 6E 63 79 22 3A 66 61 6C 73 65 2C 22 6F 63 63 75 70 61 6E 63 79 5F 74 69 6D 65 6F 75 74 22 3A 36 30 2C 22 74 65 6D 70 65 72 61 74 75 72 65 22 3A 2D 31 2E 36 31 2C 22 75 70 64 61 74 65 22 3A 7B 22 73 74 61 74 65 22 3A 22 69 64 6C 65 22 7D 7D 

Offenbar ein Problem mit „motion_sensitivity“.

In der Doku von Zigbee2MQTT steht dazu:

The motion sensitivity can be changed by publishing to zigbee2mqtt/FRIENDLY_NAME/set{"motion_sensitivity": "SENSITIVITY"} where SENSITIVITY is one of the following values: low, medium, high (default).

Ich bin zurzeit auf der aktuellen Testing Version und der letzten Beta Version Deines Moduls.

Dank und Gruss!

Tom

Hallo Kai

Noch zwei weitere Fälle von „Undefined variable“ Meldungen in der neuen Beta:

Beim „Dresden Elektronik Mega23M12“ Gerät mit folgender MQTT Message:

TXT: 01/26/2022, 08:32:18 AM |           MQTT Topic | zigbee2mqtt/kitchen_floor_led 
TXT: 01/26/2022, 08:32:18 AM |         MQTT Payload | {"brightness":0,"color":{"hue":30,"saturation":86,"x":0.477,"y":0.4137},"color_mode":"color_temp","color_temp":400,"last_seen":"2022-01-26T08:32:10+01:00","linkquality":43,"state":"OFF","state_rgb":"ON","update":{"state":"idle"}}
TXT: 01/26/2022, 08:32:18 AM |    ReceiveData Color | 0.477
TXT: 01/26/2022, 08:32:18 AM | ReceiveData Color RGB HEX | 000000
26.01.2022 08:32:18 | 48788 | WARNING | Zigbee2MQTTDevice    | Please contact module developer. Undefined variable: state_rgb

Weiter beim " Xiaomi JTYJ-GD-01LM/BW" Gerät mit folgender MQTT Message:

TXT: 01/26/2022, 08:58:01 AM |         MQTT Payload | {"ac_status":false,"battery":100,"battery_low":false,"last_seen":"2022-01-26T08:57:52+01:00","linkquality":32,"restore_reports":false,"sensitivity":"low","smoke":false,"smoke_density":0,"supervision_reports":false,"tamper":false,"test":false,"trouble":false,"voltage":3065}
26.01.2022 08:58:01 | 15019 | WARNING | Zigbee2MQTTDevice    | Please contact module developer. Undefined variable: smoke_density

In der Doku von Zigbee2MQTT steht dazu:

Smoke_density (numeric)
Value can be found in the published state on the smoke_density property. It's not possible to read (/get) or write (/set) this value.

Ich bin zurzeit auf der Zigbee2MQTT-Dev von gestern, der aktuellen Symcon Testing Version und der letzten Beta Version Deines Moduls.

Dank und Gruss!

Tom

Moin KaiS,
kleine Merkwürdigkeit. Ich schätze die DeviceInfos verwirren das Modul manchmal. Im IPS-Log steht:

01/25/22 14:09:38 | 23387 | ERROR   | FlowHandler          | Kann Daten nicht zur Instanz #23387 (Dimmer Switch) weiterleiten: 
Warning: Objekt mit Ident Z2M_Formaldehyd wurde nicht gefunden in /var/lib/symcon/modules/.store/info.schnittcher.ips.zigbee2mqtt/libs/Zigbee2MQTTHelper.php on line 879
RESULT:
01/25/22 14:09:39 | 28542 | ERROR   | FlowHandler          | Kann Daten nicht zur Instanz #23387 weiterleiten: 
Warning: Objekt mit Ident Z2M_VOC wurde nicht gefunden in /var/lib/symcon/modules/.store/info.schnittcher.ips.zigbee2mqtt/libs/Zigbee2MQTTHelper.php on line 873
RESULT:
01/25/22 14:09:39 | 17457 | ERROR   | FlowHandler          | Kann Daten nicht zur Instanz #17457 (Aqara BWM) weiterleiten: 
Warning: Objekt mit Ident Z2M_CO2 wurde nicht gefunden in /var/lib/symcon/modules/.store/info.schnittcher.ips.zigbee2mqtt/libs/Zigbee2MQTTHelper.php on line 876
RESULT:
01/25/22 14:09:39 | 41754 | ERROR   | FlowHandler          | Kann Daten nicht zur Instanz #41754 (Heimann Rauchmelder weiterleiten: 
Warning: Eigenschaft MQTTTopic nicht gefunden in /var/lib/symcon/modules/.store/info.schnittcher.ips.zigbee2mqtt/libs/Zigbee2MQTTHelper.php on line 232
RESULT:

es kommen Werte von Luftqualitätssensor die werden aber anderen Sensoren zugeordnet. Ich habe mal das Log von Z2M zu dieser Zeit angehängt. Die Uhr bei Z2M geht eine Stunde nach deswegen die anderen Zeiten. Vom Luftqualitätssensor waren bei mir schon öfter Daten bei falsch Sensoren aber ich dachte bisher das es daran liegt das ich gerade was in IPS gemacht habe. Die Luftqualität wird schon bis zu 5/sec verschickt.

log1.zip (30,5 KB)

Ralf

Schau mal hier: GitHub - Schnittcher/IPS-Zigbee2MQTT at featureWithUserExtension

Diese Variablen haben sich geändert und müssen ggf. gelöscht werden und über den Button „Geräteinformationen abrufen“ in der Geräteinstanz neu angelegt werden.
Dann dürfte das mit motion_sensitivity wieder funktionieren.

Grüße,
Kai

Bei den beiden Geräte benötige ich mal ein Debug aus der Geräteinstanz, wenn du den Button Geräteinformationen abrufen" anklickst.

Die User Extension für Zigbee2MQTT hast du aber installiert?

Grüße,
Kai

Das ist bei einem Update passiert?

Kannst du mir noch die Topics der Geräte geben?

Grüße,
Kai

Ich habe gerade mal alle Variablen gelöscht und neu anlegen lassen, es sind alle wieder da und bis auf Formaldehyd haben auch alle ein Profil. Fehlermeldungen habe ich keine.
grafik

Das passiert bei den anderen Geräten, die Daten kommen in der falschen Instanz an.

Grüße,
Kai

Bei keinem meiner 9 Z2M Geräte kommt etwas falsch an, da sieht alles gut aus.

Der AirQ Sensor ist schon etwas eine Fehlkonstruktion, warum sendet der alle paar Sekunden Daten, die sich im Bereich des Messfehlers ändern :frowning: .

Moin Kai,
23387 frei/Dimmer Switch 3
28542 HK/Hue vorne
17457 SZ1/Anwesenheit 2
41754 Flur oben/Rauchmelder 2

Ich habe mal von 30 meiner Sensoren die Eigenschaften abgerufen das sah aber nicht so geballt aus wie in dem Z2M Log. Ich vermute das deine Erweiterung da gerade eine Datenübertragung angestoßen hat. Kann ich die Erweiterung antriggern das sie was schickt um zu prüfen ob es damit zu reproduzieren ist?

Ralf