Seite 1 von 1

Sonoff Zigbee Bridge, Tasmota und Openhab3

Verfasst: 30. Jul 2023 12:54
von redaeq
Hi zusammen,
ich bin grad am Verzeweifeln. Ich habe schon Erfahrungen mit geflashten Steckdosen und der RF Bridge von Sonoff. Alles bisher nach einigem hin und her habe ich die Kontrolle darüber per Openhab3 bekommen.
Nun habe ich mir eine Sonoff zbBridge geholt, mit Tasmota geflasht und schon zwei Steckdosen damit verbunden.
Was mir jetzt nicht gelingt, ist das Steuern der Steckdosen über openhab.
Es fehlen mir also die Angaben für:
MQTT State Topic
MQTT Command Topic
Incoming Value Transformations

vielleicht fehlt mir auch noch was anderes, von dem ich noch nicht weiss ;)
In der Console sehe ich beim manuellen Ausschalten der Steckdose:
12:52:32.056 MQT: tele/tasZbBridge/A4A5/SENSOR = {"zbHA_Kabel":{"Device":"0xA4A5","Name":"zbHA_Kabel","Power":0,"Endpoint":1,"LinkQuality":110}}
Hat jemand vielleicht schonmal eine ähnlich Konfig zum Laufen gebracht?
Würde mich über ein Beispiel riesig freuen.
Danke :)

Re: Sonoff Zigbee Bridge, Tasmota und Openhab3

Verfasst: 30. Jul 2023 17:50
von warhook76
Hi,

ich würds mal mit

Code: Alles auswählen

 cmnd/tasZbBridge/A4A5/POWER 

und mit

Code: Alles auswählen

 stat/tasZbBridge/A4A5/POWER 
versuchen.

Gesendet von meinem A063 mit Tapatalk


Re: Sonoff Zigbee Bridge, Tasmota und Openhab3

Verfasst: 31. Jul 2023 16:32
von redaeq
Hey, vielen Dank für deine Antwort, aber leider klappt es nicht :(
Anbei ein Screenshot der Konfig...

Re: Sonoff Zigbee Bridge, Tasmota und Openhab3

Verfasst: 31. Jul 2023 20:08
von udo1toni
Nein, so geht das nicht.

Tasmota stellt drei verschiedene Prefixes zur Verfügung, cmnd, stat und tele (vorausgesetzt, man hat in der Tasmota MQTT Konfiguration keinen Unsinn angestellt, wie z.B. das Fulltopic auf einen Wert zu setzen, der den Platzhalter %prefix% nicht enthält - dieser ist nicht optional, er MUSS im Fulltopic gesetzt sein, unbedingt, ohne Ausnahme!)
cmnd -> Tasmota abonniert diesen Zweig und wartet auf Befehle
stat -> Tasmota sendet hier Antworten auf empfangene Befehle, z.B. antwortet es mit dem Status des Schaltausgangs, wenn zuvor ein Schaltbefehl erkannt wurde.
tele -> Tasmota sendet hier alle 5 Minuten (default Wert) Daten zum allgemeinen Status.

Nun geht es hier um eine spezielle Hardware, ein Gateway. Dort ist es oftmals so, dass Geräte nur indirekt gesteuert werden können, ein Befehl muss an einen bestimmten Kanal gesendet werden, Tasmota leitet daraus den passenden Steuerbefehl ab, sendet ihn, empfängt die Antwort des Geräts und sendet wiederum diese Antwort an ein passendes Topic, entweder im Zweig tele oder im Zweig stat. Und da es hier viele mögliche Geräte gibt, wird die Antwort als JSON verpackt.

Das Topic cmnd/<geräteID>/POWER wird von Tasmota verwendet, um ein Relais zu schalten, stat/<geräteID>/POWER enthält anschließend den Status des Relais. Hier geht es aber ja nicht um Relais, die Tasmota selbst kontrolliert, stattdessen leitet Tasmota die Befehle nur weiter.

Ich habe so etwas bei mir nicht in Betrieb, mein Vorschlag wäre aber, schau bei Tasmota selbst nach, Tasmota ist wirklich hervorragend dokumentiert, zur Not gibt es auch einen Support Channel bei Discord. Ich habe das nie selbst gebraucht, hatte aber den Eindruck, dass die Leute da auch eher nett und hilfsbereit sind :)

Meine Vermutung ist, dass Du den Befehl jeweils mit formatBeforePublish zu einem JSON Objekt zusammenbauen musst, bevor dieses dann über exakt ein Topic für alle Geräte, die über das Gateway angebunden sind gesendet wird. Heißt, alle commandTopics all dieser Geräte sind identisch und unterscheiden sich lediglich in dem Teil, der bei formatBeforePublish eingetragen ist (z.B. eine Hardware ID, plus dem eigentlichen Befehl, der wiederum über eine Variable aus dem received command des verlinkten Items eingefügt wird.) Ähm, über den Satz reden wir noch mal, wenn Du weißt, was Du exakt senden musst...
Ankommend nimmst Du das Topic, über das das JSON ankommt und zerlegst das Topic passend, so dass der Status extrahiert wird. Dabei musst Du mutmaßlich zwei Transformation Services verketten, weil auch beim Status ein einziges Topic für viele Geräte zuständig sein wird. Ist nicht die leichteste Form der Konfiguratiuon, ist aber durchaus machbar, wenn man weiß, was wohin kommt...

Re: Sonoff Zigbee Bridge, Tasmota und Openhab3

Verfasst: 3. Aug 2023 18:36
von warhook76
@Udo

Meinst du das so?

Code: Alles auswählen

 Topic:
cmnd/tasZbBridge/A4A5/POWER 
Payload:

{"zbHA_Kabel":{"Device":"0xA4A5","Name":"zbHA_Kabel","Power":0}} 
Steht ja eigendlich alles im Log.

Gesendet von meinem A063 mit Tapatalk


Re: Sonoff Zigbee Bridge, Tasmota und Openhab3

Verfasst: 3. Aug 2023 20:00
von udo1toni
Ja, sowas.
Daraus kann man nun die notwendige Konfiguration des Channels ableiten.

Code: Alles auswählen

commandTopic: cmnd/tasZbBridge/A4A5/POWER
onValue: 1
offValue: 0
formatBeforePublish: {"zbHA_Kabel":{"Device":"0xA4A5","Name":"zbHA_Kabel","Power":%s}}
Das Ganze ist dann ein Switch Channel.
Beim eintreffen des Befehls wird aus OFF ein "0" bzw. aus ON ein "1"
Anschließend wird %s im formatBeforePublish String durch das Ergebnis des vorherigen Schritts ersetzt. Es steht dann also an der Stelle entweder eine 1 oder eine 0.
Zum Abschluss wird der komplette String an das commandTopicgesendet.

Re: Sonoff Zigbee Bridge, Tasmota und Openhab3

Verfasst: 4. Aug 2023 09:28
von ssuad
Outgoing Value Format
{"Device":"0xA4A5","Send":{"Power": %S}}

Poslano sa mog CPH2371 koristeći Tapatalk