NEWS
[Gelöst] MQTT On/Off Sonoff Manuelles ein und Ausschalten
-
Hallo,
ich habe einen Sonoff über MQTT eingebunden.
Ein und Ausschalten über Vis funktioniert soweit, dann wird aber der Status nicht aktualisiert, wenn ich am Sonoff den Taster betätige.
Und umgekehrt, wenn ich den Status aktiviert bekomme, kann ich nicht über Vis ein und ausschalten.
Ich habe es zwar gelöst, indem ich den Status über MQTT angezeigt bekomme und das umschalten per url durchführe, aber das scheint mit nicht optimal.
Habe ich was falsch eingestellt?
Und eine weitere Frage: Kann ich den Sonoff so einstellen, das er beimm betätigen des Tasters nicht umschaltet, sondern eine MQTT Meldung absetzt, so das die Umschaltung durch IOB erfolgen kann?
2390_objekte.png
2390_on_off.png -
etwas spät meine Antwort - aber vielleicht immer noch von Interesse. Ich hänge selbst an derselben Stelle mit Sonoff und mqtt. Die vis-widgets sind nicht für diesen Fall vorgesehen - oder ich hab den Trick noch nicht rausgefunden. Ich habs so gelöst, dass ich das Relais mit einem Wippenschalter-Widget schalte und den Schaltzustand mit dem Status-Datenpunkt anzeige mit irgendeinem Widget, das bool anzeigen kann (beides per mqtt). So wird der Schaltzustand immer angezeigt, egal ob ich über mqtt oder am Sonoff manuell schalte. Welche Firmware verwendest Du auf dem Sonoff? Ich verwende ESPEasy mit einer passenden Rule, die den Schaltknopf mit dem Relais verknüpft und die LED ansteuert. Allerdings muss ich gestehen, dass ich darauf noch nicht sehr viel Zeit verwendet habe. Vielleicht hast Du ja in der Zwischenzeit eine Lösung?
-
Hallo starfish,
irgendwie hat sich das Problem bei mir gelöst, ich glaube mit irgendeinem Update von Ahrends Tasmota.
Jedenfalls funktioniert es so, das der Status aktualisiert wird, egal von wo ich schalte.
Ich habe das gerade noch mal mit einem S20 getestet (Sonoff Basic funktioniert mit den gleichen Einstellungen):
Schalten über http: Vis zeigt die Statusänderung an
Schalten über Taster an der Steckdose: Vis zeigt die Statusänderung an
Schalten über Vis: Vis zeigt die Statusänderung an
geflasht habe ich: https://github.com/arendst/Sonoff-Tasmota
Die Einstellungen füge ich hier auch noch mal an, so wie es bei mir funktioniert.
Von dem Taster, der nur ein MQTT schickt, aber nicht umschaltet bin ich wieder weg, da bei einem Netzausfall gar nicht mehr geschaltet werden könnte.
Wichtig war für mich das der Status immer aktuell ist, und das funktioniert jetzt.
Ich bin halt noch im Experimentierstatus
2390_vis_edit.png
2390_objekte.png -
hallo Muchul,
Du hast mich auf die Spur gebracht. Bei mir funktionierts mit dem hqwidget on/off. Der Trick war der Eintrag bei Extrasteuerung. Dort musste ich den mqtt - command-topic eingeben (Objekt id false und true) UND zusätzlich unter Allgemein - Object ID den mqtt - status - topic.
Die gleiche Konfiguration funktioniert auch mit dem CCU2-addon hm2mqtt. Somit kann ich die ganze Verbindung zwischen iobroker und der CCU2 über mqtt laufen lassen.
-
Hallo starfish,
habe ich dich richtig verstanden, das bei dir jetzt alles über MQTT läuft?
Also ohne die URL wie:
http://192.168.178.109/cm?cmnd=Power%20on
Das habe ich leider noch nicht raus bekommen, ich würde gerne in der Extrasteuerung auf die url komplett verzichten und alles über MQTT steuern.
Hättest du eventuell einen tipp für mich?
-
ich weiss jetzt nicht mehr genau, wie das beim Tasmota-sketch ist. bei ESPEasy habe ich 2 Datenpunkte , den mqtt.0.sonoff.gpio.12 für den Ein/Aus-Befehl und mqtt.0.sonoff.relay.state für die Status-Rückmeldung.
Im Widget unter Allgemein die Object-ID auf den Status Datenpunkt (Tasmota: /stat/name/POWER) setzen und unter Extrasteuerung die Object-ID bei true und Object-ID bei false auf auf den Befehlsdatenpunkt ( Tasmota: /cmnd/name/POWER ) setzen (beide gleich).
Die Angaben für Tasmota mit Vorbehalt - konnte ich nicht selber testen.
-
Hallo starfish,
Danke, das hat funktioniert.
Habe es gerade mit dem S20 erfolgreich getestet.
-
das ist erfreulich - jetzt wissen wir wenigstens wozu die Extrasteuerung (unter anderem) gut ist
-
Leider zeigte mir VIS nicht ann wenn ich den Sonoff übers Webinterface vom Sonoff geschaltet habe.
Firmware: tasmota
Es liegt dadran, dass der Wert vom objekt cmnd.0.Sonoff.POWER nciht geändert wird wenn man manuell schaltet.
Ich habe jetzt ein kleines javascript geschrieben um das zu ändern.
on({id: 'mqtt.0.POWDrucker.POWER', change: "any"}, function (obj) { if (getState('mqtt.0.POWDrucker.POWER').val == "OFF" ){ setState('mqtt.0.POWDrucker.cmnd.POWER', false); } else if (getState('mqtt.0.POWDrucker.POWER').val == "ON" ) { setState('mqtt.0.POWDrucker.cmnd.POWER', true); } });
ich hoffe es hilft den ein oder anderen.
2891_sonoff.png -
Hallo Starfish,
ist schon ein älterer Thread aber ich beschäftige mich aktuell mit der Thematik.
Habe hier einen Sonoff Basic mit ESPeasy R148. Schalten per Button und über HTML Commands funzt soweit, ich bekomme auch über MQTT
eine Rückmeldung als State im IoBroker.
Wie hast Du das genau gemacht mit den Datenpunkten um den Sonoff über MQTT Ein- und Auszuschalten ?
Stehe da gerade auf dem Schlauch.
Schon mal vielen Dank im vorraus.
Viele Grüße
Harald