ZIGBEE MQTT MOES ZS-SR-EUDx schalten

Allgemeine Fragen rund um die "Smart Home" Hardware/Komponenten

Moderatoren: seppy, udo1toni

Antworten
Arno.Nym
Beiträge: 3
Registriert: 1. Mär 2021 19:25
Answers: 0

ZIGBEE MQTT MOES ZS-SR-EUDx schalten

Beitrag von Arno.Nym »

Hallo zusammen,

Frage: Kommandostruktur/payload im mqtt-explorer und/oder OH Channel/Item Definition

Grundkonfi:
- OH 4.x
- SONOFF ZBBRIDGE / TASMOTA
- MOES ZS-SR-EUD3 https://www.zigbee2mqtt.io/devices/ZS-SR-EUD-2.html

Die Kommunikation Bridge <> Schalter funktioniert. Thing definiert (o.Channel) online OK.

Wie ist die Syntax (mqtt/channel) um spezifisch einen der drei Schalter (AN/AUS) anzusprechen?

Der Versuch mit
zbsend {"device":"ZWS-01","send":{"power": "1"}} scheitert.

Code: Alles auswählen

MQT: stat/ZBBridge01/RESULT = {"ZbSend":"Done"}
MQT: tele/ZBBridge01/40D9/SENSOR = {"ZbReceived":{"0x40D9":{"Device":"0x40D9","Name":"ZWS-01","Reachable":false}}}
ebenso:

Code: Alles auswählen

CMD: zbsend {"device":"ZWS-01","send":{"state_l1": "ON"}} 
MQT: stat/ZBBridge01/RESULT = Unrecognized zigbee command: state_l1
Meldungen bei manueller Betätigung der Schalter am Gerät:

Code: Alles auswählen

MQT: tele/ZBBridge01/40D9/SENSOR = {"ZbReceived":{"0x40D9":{"Device":"0x40D9","Name":"ZWS-01","EF00/010F":1,"Endpoint":1,"LinkQuality":16}}}
MQT: tele/ZBBridge01/40D9/SENSOR = {"ZbReceived":{"0x40D9":{"Device":"0x40D9","Name":"ZWS-01","EF00/0107":1,"Endpoint":1,"LinkQuality":16}}}
MQT: tele/ZBBridge01/40D9/SENSOR = {"ZbReceived":{"0x40D9":{"Device":"0x40D9","Name":"ZWS-01","EF00/0101":1,"Endpoint":1,"LinkQuality":9}}}
MQT: tele/ZBBridge01/40D9/SENSOR = {"ZbReceived":{"0x40D9":{"Device":"0x40D9","Name":"ZWS-01","EF00/0101":0,"Endpoint":1,"LinkQuality":19}}}
MQT: tele/ZBBridge01/40D9/SENSOR = {"ZbReceived":{"0x40D9":{"Device":"0x40D9","Name":"ZWS-01","EF00/0107":0,"Endpoint":1,"LinkQuality":16}}}
MQT: tele/ZBBridge01/40D9/SENSOR = {"ZbReceived":{"0x40D9":{"Device":"0x40D9","Name":"ZWS-01","EF00/010F":0,"Endpoint":1,"LinkQuality":0}}}
Besten Dank.
J.

Benutzeravatar
udo1toni
Beiträge: 13985
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: ZIGBEE MQTT MOES ZS-SR-EUDx schalten

Beitrag von udo1toni »

Da es sich vermutlich um ein Tasmota Device handelt, gibt es (falls Du nicht sehr spezielle Kommandos in der Tasmota Konsole abgesetzt hast) drei prefixe, diese drei Prefixe lauten:
tele -> hier sendet Tasmota zyklisch Daten
stat -> hier sendet Tasmota in Reaktion auf Befehle (egal wie der Befehl ausgelöst wurde) Status (die Mehrzahl...)
und
cmnd -> hier empfängt Tasmota Befehle (und nur hier)
Jedes Topic wird exklusiv entweder zum Senden oder zum Empfang verwendet, das bedeutet im Umkehrschluss, Du kannst über den MQTT Explorer zwar alle Topics identifizieren, die Tasmota absetzt, in der Gegenrichtung musst Du aber entweder genau wissen wie Tasmota tickt, oder die wirklich exzellente Dokumentation von Tasmota bemühen.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Arno.Nym
Beiträge: 3
Registriert: 1. Mär 2021 19:25
Answers: 0

Re: ZIGBEE MQTT MOES ZS-SR-EUDx schalten

Beitrag von Arno.Nym »

HI,
Danke für die Hinweise.

Zur Erläuterung:
- die Befehle und Rückmeldungen sind von der TasmotaKonsole auf der ZBBridge.
- es laufen bereits einige ZigBee geräte, jedoch soweit Switch nur mit einem Gang.
- mir geht es um die spezifische Adressierung eines der drei Relais im 3GangSchalter.

z.B.: der Befehl zbsend {"device":"XYZ","send":{"power": "1"}} auf der Tasmota-Konsole,
funktioniert bei Zwischensteckern mit einem Relais tadellos, ist bei MultiGang nicht spezifisch genug.

Ich denke das Problem ist, den spezifischen Teil des Realais im JSON payload zu positionieren.
Hier Teil aus der Rückmeldung (siehe unten) bei manueller Betätigung:
... "Name":"ZWS-01","EF00/0107":0 ... >>> AUS
... "Name":"ZWS-01","EF00/0107":1 ... >>> AN

Benutzeravatar
udo1toni
Beiträge: 13985
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: ZIGBEE MQTT MOES ZS-SR-EUDx schalten

Beitrag von udo1toni »

Du kannst Dich immer an der Payload orientieren, die Du empfängst, wenn eines der Relais manuell geschaltet wird.

Ich nutze hier zigbee2mqtt, außerdem habe ich nur Brandmelder darüber angebunden, ich sende also keine Befehle.
Und ich habe auch keinen mit Tasmota geflashten Sonoff Coordinator :)
Was den Part "nach" Tasmota betrifft, kann ich also nur raten.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Antworten