[Modul] Zigbee2MQTT

Danke @Burki24 für den PR. :slight_smile:

Grüße,
Kai

Gerade aktualisiert, Variablen gelöscht und [Gerätedaten abrufen] gemacht, dann kommen folgende Fehler:

24.11.2022, 13:47:18 | FlowHandler          | Kann Daten nicht zur Instanz #25460 weiterleiten: 
Fatal error: Uncaught Error: Function name must be a string in /var/lib/symcon/modules/.store/info.schnittcher.ips.zigbee2mqtt/libs/Zigbee2MQTTHelper.php:2164
Stack trace:
#0 /var/lib/symcon/modules/.store/info.schnittcher.ips.zigbee2mqtt/libs/Zigbee2MQTTHelper.php(3357): Zigbee2MQTTDevice->registerVariableProfile(Array)
#1 /var/lib/symcon/modules/.store/info.schnittcher.ips.zigbee2mqtt/libs/Zigbee2MQTTHelper.php(443): Zigbee2MQTTDevice->mapExposesToVariables(Array)
#2 /-(3): Zigbee2MQTTDevice->ReceiveData('{"DataID":"{7F7...')
#3 {main}
  thrown in /var/lib/symcon/modules/.store/info.schnittcher.ips.zigbee2mqtt/libs/Zigbee2MQTTHelper.php on line 2164

Boost Zeit wurde wieder angelegt, Min/Max Temperatur nicht. Und die eingestellte Eco Temperatur wurde auf 0 gestellt.

Warum ist Eco Temp jetzt Integer? Die anderen Temperaturen sind noch Float.

Am Gerät lässt sich x,5 einstellen, über MQTT habe ich es noch nicht geschafft. Egal ob Punkt oder Komma, da kommt nur die volle Zahl raus.

Hallo @ralf ,

in Z2M sind die Daten als numeric ohne Nachkomma angelegt. Welches Device wirft den Fehler aus (Link zum Device auf | Zigbee2MQTT - supported devices wäre hier sehr hilfreich. und der debug beim Abruf der Gerätedaten → mapExposesToVariables:: All Exposes wäre wichtig. Setze mich dann Heute Abend gleich nochmal ran.

Danke für die Rückmeldung.

Gruß
Burkhard

Wurde erkannt als

ts0601_dump.txt (49,2 KB)

@Burki24 und @ralf, ich habe das gefixt.
@Burki24, du hast das Array mit runden Klammern angesprochen. :smiley:

Grüße,
Kai

gibt immer noch einen Fehler

24.11.2022, 16:44:06 | FlowHandler          | Kann Daten nicht zur Instanz #25460 weiterleiten: 
Warning: Cannot find Variable with ident Z2M_Week in /var/lib/symcon/modules/.store/info.schnittcher.ips.zigbee2mqtt/libs/Zigbee2MQTTHelper.php on line 3632
RESULT:

ts0601_dump2.txt (49,9 KB)

Kannst du die neue Beta Verison nochmal testen?

Grüße,
Kai

nu isses wech :slight_smile:

fast immer ist mein Text zu kurz :frowning:

Mit der neuen Beta und dem TS0601 ist der Fehler weg und die Variable wird angelegt. Allerdings fehlt ihm jetzt ein Preset-Profil, habe es als PR ergänzt. . @KaiS SORRY & VIELEN DANK!!

Gruß
Burkhard

@Burki24 deine PRs sind nun online, danke. :slight_smile:

Grüße,
Kai

1 „Gefällt mir“

@KaiS

vielen Dank. Hast aber gerade noch den nächsten PR gekriegt. :rofl:

Allgemeine Update-Info:
Wenn der PR kommitted ist, sind mit den letzten PRs folgende Dinge korrigiert:
(Danke an @ralf für die Unterstützung bei der Fehlersuche)

Heizthermostate (TRV: TS0601_thermostat & Moes BRT-100-TRV control via MQTT | Zigbee2MQTT

  • Auto_lock funktioniert jetzt (TS0601_thermostat)
  • Eco_mode ist jetzt bedienbar (BRT-100-TRV)
  • Window_detection Profil angepasst (Beide)
  • Week Profil angepasst (TS0601_thermostat)
  • Default Preset Profil angepasst (Beide)

Gruß
Burkhard

@KaiS
Das gleiche habe ich heute auch festgestellt, bin auf der Beta, und der Configurator ist leer.
Erst als wie ich wieder auf die Stable gegangen bin, sehe auch mein neues Gerät, den Aqara Vibration Sensor.

Bei dem Gerät „Aqara Vibration Sensor“ ist mir folgendes aufgefallen, das immer „Vibration“ in der Variable steht:

Im Zigbee2MQTT Dashboard wird es so angezeigt:
Vibration wahr

Debug IPS:

{"action":"vibration","angle_x":4,"angle_x_absolute":86,"angle_y":-1,"angle_y_absolute":91,"angle_z":86,"battery":100,"device_temperature":23,"linkquality":21,"power_outage_count":7,"strength":111,"vibration":true,"voltage":3175}

Vibration falsch

Debug IPS:

{"angle_x":4,"angle_x_absolute":86,"angle_y":-1,"angle_y_absolute":91,"angle_z":86,"battery":100,"device_temperature":23,"linkquality":21,"power_outage_count":7,"strength":111,"vibration":false,"voltage":3175}

Und folgendes steht im Status Widget:

03.12.2022, 12:09:45 | Zigbee2MQTTDevice    | Please contact module developer. Undefined variable: angle_y_absolute03.12.2022, 12:09:45 | Zigbee2MQTTDevice    | Please contact module developer. Undefined variable: angle_y_absolute
03.12.2022, 12:17:27 | Zigbee2MQTTDevice    | Please Contact Module Developer. Undefined Variable angle_x_absolute

Hein09

Hallo zusammen,

ich habe mal wieder eine Frage.

Derzeit lerne ich nach und nach meine Tradfi und Philips Hue Lampen an Zigbee2MQTT an. Das klappt ja auch wunderbar.
Jetzt habe ich allerdings noch Lampen hier die mit einem Philips Dimmer gesteuert werden.
Das würde ich natürlich auch künftig gerne machen. Die Frage ist hier, wie muss ich da richtig vorgehen?

Die Lampe lerne ich dann ganz normal in Z2M an oder? Wie genau gehe ich dann aber mit dem Dimmer um? Man verbindet diesen ja irgendwie direkt oder? Muss er dazu auch in Z2M angelernt werden?

Eine weitere Frage, ich habe auch noch ein solche Living Color Fernbedienung mit der ich Lampen steuere. Kann man diese auch in Z2M verwenden?
image

Danke schon mal und Grüße
Stephan

MOin @firewire ,

die abgebildete FB kannst Du getrost in einer Schublade verschwinden lassen. @HarmonyFan hat mir diese freundlicher Weise mal zur Verfügung gestellt. Die ist nicht zum Anlernen geeignet, da sie nur direkte Verbindungen (Touchlink) unterstützt.
Mit den Dimmern ist es so eine Sache. Wenn Du sie direkt mit den Lampen koppelst, stehen Dir die Lampen nicht mehr direkt in Z2M zur Verfügung.
Wäre ich also vorsichtig. Dimmen ansich geht per Symcon und Änderung der Helligkeitsvariable.

Gruß
Burkhard

Hi @Burki24 ,

vielen Dank für deine Antwort.

Oh je das klingt jetzt an sich nicht so gut muss ich sagen.
Gerade der Dimmer ist aktuell schon oft in Benutzung.
Wie löst ihr das denn dann? Alles nur über das Handy wird nicht gut ankommen…

Grüße
Stephan

Welchen Dimmer hast Du denn?

Gruß
Burkhard

Diesen hier:

Den kannst Du über Zigbee2mqtt binden:

Philips 324131092621 control via MQTT | Zigbee2MQTT

Binding | Zigbee2MQTT

Gruß
Burkhard

Danke für die Info und die Links.
Das kommt ja schon Mal gut.

Wie genau muss ich da aber vorgehen, mein Englisch ist nicht so gut.
Muss sowohl die Lampe als auch der Dimmer in Z2M eingebunden werden?
Oder wie kann ich mir das vorstellen?
Wenn ich die Lampe einbinde dann kann ich ja auf Bindungen gehen… Aber was genau muss ich da machen?

Kannst du mir hier auch noch einen Tipp geben bzw. helfen?

Danke schon Mal.

Grüße
Stephan

Du hast es schon richtig erkannt. Du gehst entweder auf die Lampe oder auf die FB und dann auf Bindungen.

Wenn auch manchmal verhasst, empfehle ich trotzdem immer mal translate.google.de:

Die Bindung kann konfiguriert werden, indem entweder zigbee2mqtt/bridge/request/device/bind zum Binden und zigbee2mqtt/bridge/request/device/unbind zum Aufheben der Bindung verwendet wird. Die Nutzdaten sollten {„from“: SOURCE, „to“: TARGET} sein, wobei SOURCE und TARGET der Anzeigename einer Gruppe oder eines Geräts sein können. Beispielnutzlast für Anfrage: {„from“: „my_remote“, „to“: „my_bulb“}, Beispielnutzlast für Antwort: {„data“:{„from“:„my_remote“,„to“:„my_bulb“,"clusters ":[„genScenes“,„genOnOff“,„genLevelCtrl“],„failed“:},„status“:„ok“}. Die Cluster in der Antwort geben die gebundenen/ungebundenen Cluster an, „failed“ gibt an, dass Cluster nicht gebunden/nicht gebunden werden konnten. Falls die Bindung aller Cluster fehlschlägt, wird der Status auf Fehler gesetzt.

Standardmäßig sind alle unterstützten Cluster gebunden. Um einzuschränken, welche Cluster gebunden/ungebunden werden, fügen Sie Cluster zur Nutzlast der Anfrage hinzu, z. {„from“: „my_remote“, „to“: „my_bulb“, „clusters“: [„genOnOff“]}. Mögliche Cluster sind: genScenes, genOnOff, genLevelCtrl, lightingColorCtrl und ClosuresWindowCovering.

Wenn die verbindliche Berichterstellung auf dem Zielgerät eingerichtet ist. Dadurch aktualisiert das Zielgerät seinen Status, wenn er von der Quelle der Bindung geändert wird. Beim Aufheben der Bindung wird diese Meldung wieder entfernt, wenn Sie dies überspringen möchten, verwenden Sie skip_disable_reporting (z. B. {„from“: „my_remote“, „to“: „my_bulb“, „skip_disable_reporting“: true}).

Wenn das Binden/Entbinden eines batteriebetriebenen Geräts fehlschlägt, liegt dies meistens daran, dass das Gerät schläft. Dies kann behoben werden, indem es kurz vor dem Senden der MQTT-Nachricht aktiviert wird. Um es aufzuwecken, drücken Sie eine Taste auf der Fernbedienung.

Im obigen Beispiel wäre der kabellose TRADFRI-Dimmer das SOURCE-Gerät und die Glühbirne das TARGET-Gerät. Wenn Sie eine Gruppe als Ziel verwenden, ist die Verwendung des Anzeigenamens der Gruppe obligatorisch, die Gruppen-ID funktioniert nicht.

Bindungsspezifischer Endpunkt
Dies trifft auf die meisten Benutzer nicht zu

Standardmäßig wird der erste Endpunkt genommen. Falls Ihr Gerät mehrere Endpunkte hat, z. links und rechts. Sie können SOURCE oder TARGET als z.B. my_switch/right zum Binden/Trennen des rechten Endpunkts.

Es ist auch möglich, die Endpunkte numerisch anzugeben, verwenden Sie z. my_switch/3 für SOURCE oder TARGET.

Eine Fernbedienung an eine Gruppe binden
Das Binden einer Fernbedienung an eine Gruppe ermöglicht es einer Fernbedienung, eine Gruppe von Geräten ohne Eingriff von Zigbee2MQTT direkt zu steuern.

Wenn wir zum Beispiel eine IKEA E1743-Fernbedienung namens my_remote und zwei Glühbirnen namens bulb_1 und bulb_2 haben, können wir die 2 Glühbirnen mit der Fernbedienung steuern, indem wir sie in dieselbe Gruppe stecken und die Fernbedienung daran binden.

Führen Sie dazu die folgenden Schritte aus:

Erstellen Sie eine neue Gruppe in configuration.yaml und geben Sie ihr einen friendly_name (siehe Gruppen). In diesem Beispiel setzen wir den friendly_name auf my_group.
Fügen Sie die 2 Glühbirnen der Gruppe hinzu, indem Sie die folgenden beiden MQTT-Nachrichten senden.
zigbee2mqtt/bridge/request/group/members/add mit Payload {„group“:„my_group“,„device“:„bulb_1“}
zigbee2mqtt/bridge/request/group/members/add mit Payload {„group“:„my_group“,„device“:„bulb_2“}
Binden Sie die Fernbedienung an die Gruppe, indem Sie die folgende MQTT-Nachricht senden.
zigbee2mqtt/bridge/request/device/bind mit Payload {„from“: „my_remote“, „to“: „my_group“}

Gruß
Burkhard