[Modul] Zigbee2MQTT

IPS-Zigbee2MQTT
Anbindung von www.zigbee2mqtt.io an IP-Symcon.

1. Voraussetzungen

  • mindestens IPS Version 6.0
  • MQTT Server oder MQTT Client
  • Installierte Symcon Erweiterung in Zigbee2MQTT

2. Enthaltene Module

3. Installation
Über den IP-Symcon Module Store.

4. Konfiguration in IP-Symcon
Bitte den einzelnen Modulen entnehmen.

Github URL: GitHub - Schnittcher/IPS-Zigbee2MQTT

5. Spenden

Dieses Modul ist für die nicht kommerzielle Nutzung kostenlos, Schenkungen als Unterstützung für den Autor werden hier akzeptiert:


Amazon Wunschzettel

Grüße,
Kai

Changelog

16.02.2024 Version 4.3

Breaking Change:

  • Ab V. 4.3 ist das Modul an Z2M V. >1.35 angepasst. Damit läuft es nicht mehr korrekt bei Z2M V. <1.35.x

Neue Variablen:

  • Z2M_FanSpeed
  • Z2M_AirQuality
  • Z2M_LEDEnable
  • Z2M_ChildLock
  • Z2M_ReplaceFilter
  • Z2M_FilterAge
  • Z2M_StateCCT
  • Z2M_BrightnessCCT
  • Z2M_ColorTempCCT
  • Z2M_ColorTempStartupCCT
  • Z2M_LearnedIRCode
  • Z2M_IRCodeToSend
  • Z2M_ScaleProtection
  • Z2M_TRVError
  • Z2M_DeviceMode
  • Z2M_ActionZone
  • Z2M_PresenceState
  • Z2M_MotionSensitivity
  • Z2M_DetectionDistanceMax
  • Z2M_DetectionDistanceMin
  • Z2M_PresenceSensitivity
  • Z2M_RegionID
  • Z2M_PresenceEvent
  • Z2M_MonitoringMode
  • Z2M_ApproachDistance
  • Z2M_ResetNoresponceStatus
  • Z2M_LEDIndication
  • Z2M_ProgrammingMode
  • Z2M_TransmitPower
  • Z2M_CarbonMonoxide
  • Z2M_SelfTestResult
  • Z2M_Silence
  • Z2M_DetectionDistance
  • Z2M_ValveAdaptProcess
  • Z2MValveAdaptStatus

Neue Profile:

  • Z2M.action.dc7fd161
  • Z2M.action.dc7fd161
  • Z2M.force.a420d592
  • Z2M.action.301a3bd1
  • Z2M.action.5a39b546
  • Z2M.action.5a39b546
  • Z2M.action.817f2757
  • Z2M.action.350f117
  • Z2M.action.817f2757
  • Z2M.action.350f117
  • Z2M.action.91e7a350
  • Z2M.air_quality.ea904784
  • Z2M.action.be89cdac
  • Z2M.action.be89cdac
  • Z2M.action.a084bd4e
  • Z2M.action.c1cb007d
  • Z2M.mode.c348e40f
  • Z2M.action.815b927a
  • Z2M.action.815b927a
  • Z2M.action.b918bcb2
  • Z2M.action.d9f7f4ac
  • Z2M.mode.c348e40f
  • Z2M.action.b918bcb2
  • Z2M.action.d9f7f4ac
  • Z2M.mode.c348e40f
  • Z2M.action.faa13699
  • Z2M.action.e7f91f00
  • Z2M.action.e7f91f00
  • Z2M.action.555bdfc4
  • Z2M.action.a3d14936
  • Z2M.action.dc7fd161
  • Z2M.action.e87c79ad
  • Z2M.action.2593a6d2
  • Z2M.action.2593a6d2
  • Z2M.action.ccd55656
  • Z2M.action.177702c6
  • Z2M.action.be89cdac
  • Z2M.action.7985b4e3
  • Z2M.action.177702c6
  • Z2M.action.64797105
  • Z2M.device_mode.887c8dff
  • Z2M.motion_sensitivity.f607dc1f
  • Z2M.effect.5b9efbea
  • Z2M.self_test_result.c088393d
  • Z2M.setpoint_change_source.bc4ed50
  • Z2M.motion_state.5874d5f5
  • Z2M.mode.8cfb6fd7
  • Z2M.air_quality.64f2d4b3
  • Z2M.action.94c054ec
  • Z2M.backlight_mode.b964fcdc
  • Z2M.action.d779c595
  • Z2M.state.1cb7a647

Neue Geräte:

  • Type Fan hinzugefügt (fan_state und fan_mode)
  • Neo Outdoor Solar Sirene
  • Moes UFO-R11
  • Gira Taster
  • SMaBit / bitronvideo AV2010/23 4-key remote control
  • TuYa ZG-205Z/A
  • Smart-Plug Third Reality
  • lumi.vibration.aq1
  • SML001
  • lumi.airmonitor.acn01
  • TS0203
  • TRADFRI motion sensor
  • Develco power plug SPLZB-131
  • TuYa ZY-M100-24G

Fixes:

  • Z2M_Pi_Heating_Demand
  • Z2M.action.14fac83
  • Z2M_HeartbeatIndicator
  • Z2M_LinkageAlarm
  • Z2M_BuzzerManualMute
  • Z2M_BuzzerManualAlarm
  • Xiaomi JY-GZ-01AQ Smokedetector
  • Z2M.action.14fac83
  • ‚brightness_move_to_level‘
  • Aktion für valve_position
  • Aktion für Z2M_Force
  • Z2M.action.dc7fd161
  • Z2M.action.91e7a350 (Profil erweitert)
  • Z2M.action.869d1272
  • Z2M.action.ec8cf04f
  • Z2M.action.be89cdac
  • Z2M_FanState RequestAction hinzugefügt
  • Z2M.alarm_state.d7f7fea1
  • fan_mode
  • action_transaction (Z2M.action_transaction)
  • more detailed „missed Variables“ clustering
  • Fix Namespaces
  • text action_code
  • Z2M.presence_state.ffd9a501
  • Error: ‚position‘ is not a number, got string (0)’
  • occupied_heating_setpoint is not a number, got string
  • Z2M_Pi_Heating_Demand → Z2M_PiHeatingDemand
  • Z2M_CarbonMonoxide float->Integer
  • Z2M.detection_distance.cae0fad1
  • Color
  • IPSymconExtension.js
  • Konfigurator
  • Anpassung an Zigbee2MQTT V. 1.35.X
  • Group-Exposes
  • IPSymconExtension.js → Vendor & Description
  • LED Indication
  • Z2M.valve_adapt_status.81ca7d32
    -Z2M.setpoint_change_source.bc4ed50
  • LED Indication & TRV Profiles
  • State_l1 & state_l2
  • Z2M_State Enum
  • RGBToHSB, HSToRGB
  • Color HS
  • Neue Variable für Bosch TRV window_detection - anstelle von window_open

18.04.2023 Version 4.2

Neue Variablen:

  • Z2M_RemoteTemperature
  • Z2M_DisplayedTemperature

Neue Profile:

  • Z2M.action.f200af18
  • Z2M.action.712e126b
  • Z2M.action.47d59fde

Fehlerkorekturen:

  • Z2M_Side
  • Z2M_ActionSide

05.04.2023 Version 4.1

Neue Variablen

  • Z2M_LinkageAlarmState (Aqara Smokedetector)
  • Z2M_LinkageAlarm (Aqara Smokedetector)
  • Z2M_HeartbeatIndicator (Aqara Smokedetector)
  • Z2M_BuzzerManualMute (Aqara Smokedetector)
  • Z2M_BuzzerManualAlarm (Aqara Smokedetector)
  • Z2M_Mute (Aqara Smokedetector)
  • Z2M_Boost (Bosch Thermostat II)
  • Z2M_ButtonLock (Bosch Thermostat)
  • Z2M_DisplayBrightnes (Bosch Thermostat II)
  • Z2M_DisplayOntime (Bosch Thermostat II)
  • Z2M_Side
  • Z2M_SmokeDensityDBM (Aqara Smokedetector)
  • Z2M_SoilMoisture (Tuya Plant Sensor → TuYa TS0601_soil control via MQTT | Zigbee2MQTT)

Neue Profile

  • Z2M.buzzer.Smokedetector (Aqara Smokedetector)
  • Z2M.display_orientation.d6fc8316 (Bosch Thermostat II)
  • Z2M.battery_state.b8421401 (Tuya Plant Sensor → TuYa TS0601_soil control via MQTT | Zigbee2MQTT)
  • Z2M_TemperatureUnit (Tuya Plant Sensor → TuYa TS0601_soil control via MQTT | Zigbee2MQTT)
  • Z2M.action.869d1272 (Aqara Taster)
  • Z2M.action.ec8cf04f (Aqara Taster)
  • Z2M.action.bdac7927 (Fernbedienung)
  • Z2M.action.29611a11 (Fernbedienung)
  • Z2M.action.85b816e8 (Fernbedienung)
  • Z2M.action.33dbe026 (Fernbedienung)
  • Z2M.action.14fac83 (Fernbedienung)
  • Z2M.action.bdac7927 (Fernbedienung)
  • Z2M.action.c1844f92 (Fernbedienung)
  • Z2M.effect.988c295e (Philips Hue)
  • Z2M.keypad_lockout.84f3d9b9 (Bosch Thermostat II)
  • Z2M.programming_operation_mode.5dfa482f (Bosch Thermostat II)
  • Z2M.setpoint_change_source.2b697f02 (Bosch Thermostat II)
  • Z2M.day_of_week.87770221 (Bosch Thermostat II)
  • Z2M.adaptation_run_status.cc98878f (Bosch Thermostat II)
  • Z2M.adaptation_run_control.e596b9f2 (Bosch Thermostat II)
  • Z2M.selftest.784dd132 (Aqara Smokedetector)
  • Z2M.selftest.e0cc684 (Aqara Smokedetector)
  • Z2M.mute_buzzer.6c8bdc62 (Aqara Smokedetector)
  • Z2M_SmokeDensityDBM (Aqara Smokedetector)
  • Z2M_DisplayBrightnes (Bosch Thermostat II)
  • Z2M_DisplayOntime (Bosch Thermostat II)
  • Z2M_Side (Aqara Cube)

Fehlerkorekturen:

  • smoke_density_dbm wrong parameter count (Aqara Smokedetector)
  • Z2M_DisplayBrightnes wrong suffix (Bosch Thermostat II)
  • Z2M_DisplayOntime wrong suffix (Bosch Thermostat II)
  • UTF8 - Korrekturen (Topics dürfen wieder Umlaute enthalten)
  • Z2M_WindoOpen korrigiert

06.02.2023 Version 4.0
In dieser Version wurde sehr viel verändert.

Ab dieser Version dieses Moduls werden einige Variablen geändert, dadurch können Archivdaten verloren gehen! In der Dokumentation (GitHub - Schnittcher/IPS-Zigbee2MQTT: Anbindung von zigbee2mqtt an IP-Symcon.) ist eine Tabelle vorhanden, welche Variablen sich geänert haben.

Die Änderung war notwendig, damit ich im Modul das automatische Anlegen der Variablenprofile umsetzen konnte.

17.11.2021 Version 3.4.1

  • Fix: Umrechnung Mired zu Kelvin

29.10.2021 Version 3.4

  • Neu: Farbtemperatur Variable mit Kelvin Profil
  • Neu: pi_heating_demand (Ventilstellung) hinzugefügt
  • Neu: Presence State, Motion State, Motion Direction, Motionspeed, Scene (Variablen für Radar Sensor)
  • Neu: Variablen für Mega23M12 hinzugefügt
  • Fix: Umstellung von internen Funktionen
  • Fix: Preset

08.09.2021 Version 3.3

  • Neu: Status 5
  • Neu: Status links und Status rechts
  • Neu: VOC, CO2, Formaldehyd
  • Fix: Helligkeit, das Profil war falsch, es gibt ein neues Profil (Z2M.Intensity.254) - es muss bei bestehenden Variablen per Hand geändert werden
  • Fix: Gruppen konnten ein falsches Gateway beim Erstellen über den Configurator erhalten.
  • Fix: power_outage_memory

28.04.2021 Version 3.2

  • Neu: Status nach Stromausfall hinzugefügt
  • Neu: Carbon Monoxide hinzugefügt
  • Neu: Motor Speed hinzugefügt
  • Fix: Power Outage Memory
  • Fix: Z2M.PowerOutageMemory
  • Fix: Preset
  • Fix: AwayMode
  • Fix: Für Fehler aus Post 498 ([Modul] Zigbee2MQTT - #498 von Burki24)
  • Fix: running_state
  • Fix: für Thermostat Temperaturprofile
  • Fix: Wenn keine modelID vorhanden war, konnte es einen Fehler geben und die Form in Konfigurator konnte nicht mehr geladen werden

08.03.2021 - Version 3.1

  • Neu: Rauchdichte hinzugefügt
  • Fix für Preset (Thermostate)

03.03.2021 - Version 3.0

  • Neu: intern das Modul umstrukturiert
  • Neu: Konfigurator
  • Neu: Instanzen für Geräte & Gruppen sind getrennt
  • Neu: diverse neue Variablen (zum Beispiel für Thermostate, Rollos, Leistungsmessung und viele weitere)
  • Fix: Position Profil geändert

07.10.2020 - Version 2.1.9

  • Neu: Variable Strength hinzugefügt
  • Fix: Für Variable Sensitivity

17.07.2020 - Version 2.1.8

  • Fix: Für PHP 7.4

24.06.2020 - Version 2.1.7

  • Neu: illuminance_lux hinzugefügt
  • Fix: Occupancy Übersetzung

12.11.2019 - Version 2.1.6

  • Neu: Xiaomi LLKZMK11LM hinzugefügt

11.11.2019 - Version 2.1.5

  • Neu: setPosition hinzugefügt

10.11.2019 - Version 2.1.4

  • Neu: Online Status hinzugefügt

18.09.2019 - Version 2.1.3

  • Fix für angle, angle_x, angle_y, angle_x_absolute, angle_y_absolute, angle_z

09.09.2019 - Version 2.1.2

  • Umrechnung für Philips HUE Beleuchtungsstärke hinzugefügt

04.09.2019 - Version 2.1.1

  • Profil für Beleuchtungsstärke hinzugefügt

09.07.2019 - Version 2.1

  • Leistung hinzugefügt

18.06.2019 - Version 2.0

  • Color im Webfront hinzugefügt

18.06.2019 - Version 1.9

  • Duration hinzugefügt
  • Counter hinzugefügt

22.05.2019 - Version 1.8

  • Sensitivity hinzugefügt

22.05.2019 - Version 1.7

  • from_side hinzugefügt
  • to_side hinzugefügt
  • angle hinzugefügt
  • Fix: angle_y_absolute

21.05.2019 - Version 1.6

  • angle hinzugefügt
  • angle_x hinzugefügt
  • angle_y hinzugefügt
  • angle_z hinzugefügt
  • angle_x_absolute hinzugefügt
  • angle_y_absolute hinzugefügt
  • smoke hinzugefügt
  • battery_low hinzugefügt

13.05.2019 - Version 1.5

  • Click hinzugefügt

28.03.2019 - Version 1.3.1

  • Illuminance hinzugefügt

23.03.2019 - Version 1.3

  • Kontaktsensor hinzugefügt

19.03.2019 - Version 1.2

  • Bridge Modul hinzugefügt

18.03.2019 - Version 1.1

  • Wasserleck hinzugefügt

Danke für das Modul .

Installiert und läuft

besteht die Möglichkeit noch den Bewegungsmelder einzubinden

payload ‚{„occupancy“:true,„linkquality“:0}‘

{„DataID“:"{7F7632D9-FA40-4F38-8DEA-C83CD4325A32}",„PacketType“:3,„QualityOfService“:0,„Retain“:false,„Topic“:„zigbee2mqtt/0x00xxxxxxxx“,„Payload“:"{„occupancy“:true,„linkquality“:0}"}

GrußJens

Sollte nun drin sein.

Aber evtl. muss ich einiges nochmal ändern.
Wie oben geschrieben, gibt es das Problem bei „State“ das ist mal ON oder OFF, kann aber auch Open und Close oder so ähnlich sein. Da muss ich mir noch etwas überlegen.

Evtl. gibt es dann Einstellungsmöglichkeiten in der Instanz, oder es gibt unterschiedliche Instanzen, mal schauen wie man das lösen kann. Wenn du noch mehr Geräte hast, dann lass mir ruhig ein paar Debugs zukommen.

Grüße,
Kai

Hallo Kai,

bei mir funktionieren jetzt auch die Z2M_SwitchMode() Befehle für an/aus. Fehler lag bei mir (ein zigbee2mqtt zu viel im Topic).

Die Steckdose lässt sich über das Modul schön ein/ausschalten. Anbei noch das Log vom Gateway. Warum die MQTT Messages doppelt drin stehen, ist für mich noch ein Rätsel, aber es funktioniert.

12:43:41 Zigbee publish to device '0x84182600000f2d74', genOnOff - off - {} - {"manufSpec":0,"disDefaultRsp":0} - null
12:43:41 MQTT publish: topic 'zigbee2mqtt/0x84182600000f2d74', payload '{"state":"OFF","linkquality":63}'
12:43:41 MQTT publish: topic 'zigbee2mqtt/0x84182600000f2d74', payload '{"state":"OFF","linkquality":63}'
12:43:53 Zigbee publish to device '0x84182600000f2d74', genOnOff - on - {} - {"manufSpec":0,"disDefaultRsp":0} - null
12:43:53 MQTT publish: topic 'zigbee2mqtt/0x84182600000f2d74', payload '{"state":"ON","linkquality":65}'
12:43:53 MQTT publish: topic 'zigbee2mqtt/0x84182600000f2d74', payload '{"state":"ON","linkquality":65}'

Gruss
Bernd

Ich habe den Beitrag mal in den richtigen Thread verschoben.
Das ist doch super, schau mal im Debug vom MQTT Server ob es zwei mal geschickt wird.

Dann heißt es jetzt also sammeln von Informationen um alle Geräte einzubinden. :slight_smile: Dann funktioniert das Modul also schon. :slight_smile:

Grüße,
Kai

Ja Variable wird angelegt …

aber nicht verändert

String bleibt bei Value 0

Fix ist online, lösch die Variable mal und update das Modul.

Grüße,
Kai

Perfekt

Danke

fast …

hierher log vom Mosquitto

zigbee2mqtt:info 2019-3-15 14:00:19 MQTT publish: topic ‚zigbee2mqtt/0x00158d000250d352‘, payload ‚{„occupancy“:true,„linkquality“:0}‘
zigbee2mqtt:info 2019-3-15 14:01:49 MQTT publish: topic ‚zigbee2mqtt/0x00158d000250d352‘, payload ‚{„occupancy“:false,„linkquality“:0}‘

und hier aus Symcon

{„DataID“:"{7F7632D9-FA40-4F38-8DEA-C83CD4325A32}",„PacketType“:3,„QualityOfService“:0,„Retain“:false,„Topic“:„zigbee2mqtt/0x00158d000250d352“,„Payload“:"{„occupancy“:true,„linkquality“:0}"}
{„DataID“:"{7F7632D9-FA40-4F38-8DEA-C83CD4325A32}",„PacketType“:3,„QualityOfService“:0,„Retain“:false,„Topic“:„zigbee2mqtt/0x00158d000250d352“,„Payload“:"{„occupancy“:false,„linkquality“:0}"}
aber die Variable wird nicht auf false zurück gesetzt .

Fix ist online, teste mal.

Grüße,
Kai

Ja FETTEN Dank

Hallo Kai,

ja im Log sieht man, dass er zu jedem Subscriber (hier Z2M-Gateway und MQTT.fx) zweimal was schickt, aber mit unterschiedlichen Ports. Ganz schlau werde ich aus dem MQTT-Protokoll noch nicht. Die unteren beiden TX-Einträge scheinen zu passen, es gab ja eine linkquality Änderung.

Gruss
Bernd

Hallo Bernd,

da kann ich noch nichts zusagen. :frowning:
Vielleicht hat paresy ja eine Idee?

Grüße,
Kai

Hallo Kai,

beim Schalten einer Hue Lampe ist mir folgendes aufgefallen. Nach erfolgreichem Schaltbefehl wird “state:ON“ und “brightness:127“ zurück gemeldet (siehe MQTT-Server Log). Die Statusvariable der Instanz wird mit „An“ auch richtig gesetzt. Die Helligkeitsvariable bleibt unberührt (siehe Instanz im Objektbaum). Wo muesste man da korrigieren?

Gruss
Bernd

IP Symcon MQTT-Broker Debug Log:

Variablen der Hue Lampe:

Hallo kai

kannst du bitte den Xiaomi Aqara water leak sensor

erweitern

Mär 17 10:18:44 raspi-test npm[567]:   zigbee2mqtt:info 2019-3-17 10:18:44 MQTT publish: topic 'zigbee2mqtt/0x00158d000233b4e2', payload '{"battery":97,"voltage":2995,"linkquality":13,"water_leak":true}'
Mär 17 10:19:34 raspi-test npm[567]:   zigbee2mqtt:info 2019-3-17 10:19:34 MQTT publish: topic 'zigbee2mqtt/0x00158d0002672458', payload '{"occupancy":false,"linkquality":13,"battery":100,"voltage":3005}'
Mär 17 10:20:43 raspi-test npm[567]:   zigbee2mqtt:info 2019-3-17 10:20:43 MQTT publish: topic 'zigbee2mqtt/0x00158d000233b4e2', payload '{"battery":97,"voltage":2995,"linkquality":15,"water_leak":false}'

Der Status Nass oder Trocken wird nicht angelegt

Danke

Hallo Jens,

sollte nun drin sein.

Grüße,
Kai

Danke Kai

Funktionstest bestanden :smiley:

Habe jetzt dank icey auch einen Stick…
Zum testen habe ich ein Ikea Gateway dran, funktioniert. :slight_smile:

Grüße,
Kai

Zum testen habe ich ein Ikea Gateway dran, funktioniert.

Nicht Ikea Gateway, sondern einen Ikea LED Treiber !

Stimmt! :smiley:

Grüße,
Kai

Gesendet von iPhone mit Tapatalk