Sonoff RF Bridge

Geflasht oder ungeflasht ...

Moderatoren: Cyrelian, udo1toni

Benutzeravatar
sihui
Beiträge: 1827
Registriert: 11. Apr 2018 19:03
Answers: 21

Re: Sonoff RF Bridge

Beitrag von sihui »

Ich nutze kein Tasmota, sondern ESPEasy und kann deshalb nicht groß weiterhelfen.

Die meisten Antworten zu deinen Fragen sollten aber im Tasmota Wiki zu finden sein:

https://github.com/arendst/Sonoff-Tasmo ... T-Features

https://github.com/arendst/Sonoff-Tasmota/wiki/openHAB

https://github.com/arendst/Sonoff-Tasmo ... Bridge-433
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.

Don Stefano
Beiträge: 83
Registriert: 24. Mär 2018 23:02
Answers: 1

Re: Sonoff RF Bridge

Beitrag von Don Stefano »

haegar33 hat geschrieben:Danke für die Hilfe aber ich habe wohl nicht konkret genug gefragt. Es geht nicht direkt um das Binding sonder die Anwendung in einem item und wie dann eine Kette von MQTT Kommandos genau wirken. Durch Try and Error und die Beispiele in diesem Thread habe ich nun zumindest auch einen Funkschalter mit der RF Bridge basteln können:

Code: Alles auswählen

Switch Flurlicht  "RfKey1 and RfKey2" <switch> (gLights)
	{ mqtt="<[NAS_broker:stat/sonoff/RESULT:state:OFF:.*RfKey2.*],
			>[NAS_broker:cmnd/sonoff/rfkey2:command:OFF:''],
			<[NAS_broker:stat/sonoff/RESULT:state:ON:.*RfKey1.*],
	        >[NAS_broker:cmnd/sonoff/rfkey1:command:ON:'']", autoupdate="false" }
In dieser Reihenfolge (ist die wichtig?) sorgen die einkommenden Nachrichten für eine korrekte Status Anzeige (Die Bridge melded rfkeyx: learned send") und die ausgehenden Nachrichten sind gekoppelt an den ON(rfkey1) oder OFF(rfkey2) Status.

Wie gesagt, Beispiele oder Erklärungen dieser Art habe ich nicht gefunden...
Und es geht ja noch weiter ;) Wie werden mehrere MQTT Kommandos bei anderen item typen verarbeitet. Z.b. hätte ich gerne die LAN IP der Bridge ausgelesen und dachte mir folgende Def sollte funktionieren:

Code: Alles auswählen

String Sonoff_IP "Status on current IP [%s]"
    { mqtt=">[NAS_broker:cmnd/sonoff/status:command:*:5],
            <[NAS_broker:stat/sonoff/STATUS5:state:JSONPATH($.StatusNET.IPAddress)]" }
cmdn/sonoff/status 5 gibt die WLAN Daten zurück. Geht aber nicht :roll: Wann werden überhaupt diese MQTT Kommandos ausgelöst? Wenn man den String anzeigt im HABPanel? Muss man noch anstossen....?
Du hast in deiner ersten Item Definition nur den Kommando-Teil drin (Das >Zeichen). Es fehlt der Input-Teil (mit < Zeichen) wo die über MQTT eingehende Statusänderung eingelesen wird. Mit autoupdate=Falle wird da der Status nicht richtig angezeigt
Wenn du die Statusmeldung weiter auswerten willst, musst du den JSON String, den der Schalter per Telemetrie zurückliefert auswerten. Ein Kommando benötigst du dazu nicht, da sich diese ja nicht so oft ändert und die Telemetrie-Meldungen regelmäßig versendet werden.

Mobil gesendet


haegar33
Beiträge: 7
Registriert: 21. Okt 2018 17:43

Re: Sonoff RF Bridge

Beitrag von haegar33 »

Du hast in deiner ersten Item Definition nur den Kommando-Teil drin (Das >Zeichen)
Du meinst mein Item Flurlicht? Da sind sowohl < als auch > MQTT Kommandos drin..?? :?

Ich glaube es is wichtig zwischen automatischen tele/... Meldungen und angeforderten stat/... Meldungen zu unterscheiden. Als tele kommt bei der Sonoff Bridge nur allg. Stand und Uptime. stat Meldungen muss man explizit erzeugen daher sind in item bindings wohl immer "<" Befehle nötig. Es ist mir nur nicht klar in welcher Reihenfolge bei einer item binding definition wie "{mttq= 1.Kommando, 2.Kommando... }" die MQTT Kommandos ausgewertet werden?

Don Stefano
Beiträge: 83
Registriert: 24. Mär 2018 23:02
Answers: 1

Re: Sonoff RF Bridge

Beitrag von Don Stefano »

Beim Flurlicht sehe ich nur > Zeichen, eines für ein und eines für aus. Der Status wird jeweils nach Ausführen des Sendebefehls zurückgemeldet und sollte bei autoupdate=true in das Item übertragen werden. Die Reihenfolge im Item ist völlig egal, da immer entweder ein Command ausgeführt (per MQTT gesendet) wird oder empfangen wird, nie beides gleichzeitig. Auch bei mehreren Sendebefehlen unterscheiden sich diese, es wird niemals On und Off gleichzeitig gesendet.

Beim Empfangen kannst du aus meinem Beispiel sehen, wie aus den unterschiedlichen Codes die verschiedenen Schaltzustände abgeleitet werden. Das dient dazu, zu erkennen, dass eine Fernbedienung verwendet wurde, um den Schalter auszulösen und nicht der Schalter über den von der Bridge ausgesendeten Code geschaltet wird.

Mobil gesendet


haegar33
Beiträge: 7
Registriert: 21. Okt 2018 17:43

Re: Sonoff RF Bridge

Beitrag von haegar33 »

Hallo Don!
Wenn du genau hinguckst wirst du beim item Flurlicht 4 MQTT Messages erkennen, 2 rein, 2 raus. Ist ja fast nach deinem Beispiel konstruiert ;)

Kennst du dich auch mit anderen items bzgl. MQTT aus? Z.B. hätte ich gerne die aktuelle IP Adresse der Bridge als String:

Code: Alles auswählen

String Sonoff_IP "Status on current IP [%s]"
    { mqtt=">[NAS_broker:cmnd/sonoff/status:command:*:5],
            <[NAS_broker:stat/sonoff/STATUS5:state:JSONPATH($.StatusNET.IPAddress)]" }
Der MQTT Befehl cmnd/sonoff/status 5 liefert eine MQTT stat/sonoff/STATUS5 Nachricht mit einem JSON String zurück in dem die IP Adresse extrahiert werden kann. Leider funzt das nicht wie oben definiert. Ich müsste das item String ja irgendwie "switchen" damit die Status Abfrage durchgeführt wird?

Don Stefano
Beiträge: 83
Registriert: 24. Mär 2018 23:02
Answers: 1

Re: Sonoff RF Bridge

Beitrag von Don Stefano »

Ich bin mir nicht sicher, was über MQTT mit deinem Befehl gesendet wird. Wie im anderen Thread beschrieben, wäre mein Vorschlag, ein Switch Item zum Auslösen der Statusmeldung anzulegen und über dieses eine Rule anzutriggern, die per MQTT Action das Kommando "Status 5" sendet. Das String Item kann dann das Ergebnis entgegen nehmen.

Mobil gesendet


Antworten