Statusänderung sonoff basic GPIO 14 über MQTT auswerten

  • Hallo,


    aktuell schalte ich mein Sonoff basic über 3 verschiedene "Schalter". (Weboberfläche, Taster am Sonoff (GPIO14), Taster am Raspberry IN-Port).

    Aus diesem Grund, muss ich alle Schalter in NodeRed synchronisieren.


    Nun aber meine Frage:


    Gibt es eine Möglichkeit, die Statusänderung vom GPIO 14 über MQTT auszuwerten?

    Wichtig dabei, das Relais im Sonoff soll natürlich weiterhin über den Taster an GPIO 14 geschaltet werden. Wird der Taster betätigt, soll diese Statusänderung per MQTT übermittelt werden.

    Diese würde ich für meine Anwendung dann auswerten.


    Ich habe in diesem Forum schon Beiträge gefunden, aber keinen wo das Relais im Sonoff weiterhin geschaltet werden kann (switch 2 + relay).


    Hat jemand einen Hinweis für mein Problem?


    Zusatz: Tasmota 6.4.1.19


    Vielen Dank.


    Thoralf

  • Hallo pinie_pinie,


    vielen Dank für dein Beitrag. Falls du Hilfe zu Produkten suchst, die du bei uns (CREATIONX) erworben hast, dann kannst du jederzeit die Hilfe-Seite auf unserer Seite aufrufen.

    Ich bin mir aber sicher, dass dir hier unsere fähigen Community-Mitglieder helfen werden ;-)


    P.S. besuche auch unseren YouTube-Kanal mit vielen hilfreichen Videos von uns ...


    Vielen Dank!



    (Dieser Beitrag wurde automatisch erstellt.)

  • Soweit ich weiß Wird kein Status der GPIO in Tasmota übermittelt.

    Wird der Taster betätigt, soll diese Statusänderung per MQTT übermittelt werden.

    Aber wenn du doch den Button drückst, ändert sich ja der Schaltzustand des Relais oder? Reicht dir nicht den Power Status auszuwerten? Ich verstehe ehrlich gesagt nicht so recht was du bezwecken möchtest.

    Tasmota 6.5.0 - Arduino-IDE - 1.8.7

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / PowStro / HomeMagic / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger

    Sensoren: BME280/BMP280/HC-SR501

    mosquitto/bash/html/cgi auf RPI 2B+/Sprachsteuerung via IFTTT/2xGoogle-Home-Mini

  • Hallo,


    das ist sehr schade.

    Zur Erklärung, wie bereits erwähnt kann ich mein Sonoff über 3 Schalter/Taster bedienen. Der Schalter ist nicht das Problem. Die beiden Taster

    laufen über einen Toggle Befehl in NodeRed. Nun kann es passieren, wenn ich über einen Taster das Relais schalte, den anderen Taster zweimal drücken muss. Mit der Auswertung des Status von GPIO14 könnte ich den zweiten Taster synchronisieren. Wird der Taster am GPIO 14 betätigt soll parallel ein Befehl

    an den zweiten Taster gehen. Dort wird der Toogle befehl um einen hochgezählt und beide Taster laufen synchron.

    Beim Schalter (Weboberffläche) funktionioniert das super.

    Den direkten Ausgang kann ich nicht nehmen, weil sonst eine Schleife entstehen würde.


    Es ist bestimmt schwer zu verstehe, was ich versucht dir zu erklären.


    Das Problem sind die beiden Taster mit dem Toogle-Befehl. Einmal drücken =1 nochmal=0

    Wenn aber der erste Taster einschaltet und du mit dem zweiten ausschalten willst musst du den zweiten Taster zweimal betätigen weil beim ersten

    Tatsendruck ein 1 ausgibt.


    Sicherlich bricht davon nicht die Welt zusammen, aber ich wollte das Thema auch im Sinne von meiner Familie lösen.


    Vielleicht hat einer noch einen Denkansatz für mich.


    Vielen Dank.


    Thoralf

  • Hi,


    dafür gibt es die Einstellungen ButtonTopic 1 oder SwitchTopic 1


    je nachdem ob du Button oder Switch verwendest, wird damit bei jedem Tastendruck

    das Topic cmnd/deinTopic/POWER ... gesendet und damit zugleich das Relais geschaltet.


    In Node-RED etc. kann man dann cmnd/deinTopic/POWER ON / OFF... auswerten.


    LG

  • Hallo,


    vielen Dank für Deinen Hinweis. Vielleicht verstehe ich es nicht richtig, aber ich denke so komme ich nicht weiter.

    Eigentlich wollte ich NodeRed nicht ins Spiel bringen, aber vielleicht ist es doch besser.

    Meine Schaltung wird über 3 Schalter/Taster bedient.

    Wird der Schalter "Licht Hund" geschaltet geht automatisch der Befehl "0" danach "1" an den Toggle-Node. Betätige ich nun den Taster "GPIO03 IN"

    kann das Licht direkt ausgeschalte werden. Beide Schalter laufen in der Befehlsausgabe synchron.


    Am Sonoff-Relais befindet sich ebenfalls ein Taster am GPIO14 (als Switch1 definiert). Wird an diesem Taster eingeschaltet kann es sein, dass der Taster

    "GPIO03 IN" zweimal betätigt werden muss. Beide Taster laufen nicht synchron.


    Deshalb brauche ich die Information vom GPIO14 wann der Taster betätigt wurde.

    Das Signal des Relais nutzt nichts, da wie bereits erwähnt eine Schleife entstehen würde.


    Aber wie schon erwähnt, NodeRed ist nicht das Problem.


    Der Status von GPIO 14 kann über einen Umweg ja angezeigt werden, aber leider schaltet das Relais dann nicht

    (Beispiel: GPIO14 als Switch2 und GPIO4 als Relay 2)

    Damit kann der Status von GPIO14 über MQTT ausgewertet werden.

    Nur das Relais im Sonoff spielt da nicht mit.


    Vielen Dank.


    Vielleicht hat noch jemand eine Idee.


    P.S. Das Panel befindet sich in meiner Garage. So kann ich schalten und den aktuellen Zustand meiner Sonoffs optisch anzeigen.

    Ist nur so als Erklärung für meine Aktivitäten gedacht.

  • Ja, scheint wohl missverständlich, obwohl schon beschrieben:


    Der Status /stat/ nützt einem nichts, wie schon erwähnt, entsteht damit eine Schleife.

    Aber nicht mit dem Command, der muss ausgewertet werden, also z.B. test_99/cmnd/POWER


    Dieses Topic wird gesendet (nur falls ButtonTopic 1 gesetzt ist),

    wenn die Taste gedrückt wird und bewirkt zudem und zugleich das Schalten des Relais.


    Im Anhang ein funktionierendes Beispiel für eine Gruppenschaltung

    (da in einem anderem thread auch danach gefragt wurde):

    3x Sonoff - wenn bei irgendeinem die Taste gedrückt wird, dann schalten alle 3 um,

    bei allen muss ButtonTopic 1 gesetzt sein.


    Der Rest muss in Node-RED verknüpft werden, oder was auch immer dafür verwendet werden soll.


    LG

  • Der Status von GPIO 14 kann über einen Umweg ja angezeigt werden, aber leider schaltet das Relais dann nicht

    (Beispiel: GPIO14 als Switch2 und GPIO4 als Relay 2)

    Damit kann der Status von GPIO14 über MQTT ausgewertet werden.

    Nur das Relais im Sonoff spielt da nicht mit.

    Das ist doch auch OK so! Lies den GPIO14 über MQTT ein und schalte über NodeRed das Relaise im Sonoff! Wenn du alle Taster in NodeRed erfasst hast kannst du die doch verknüpfen wie du willst!?!

  • Hallo,


    wie nennt man so was "betriebsblind" oder so.

    Eigentlich war die Lösung fast in meiner Schaltung vorhanden. Aber ich konnte sie nicht für mein Problem geistig verwenden.


    Genau das ist die Lösung!!!!!


    Ich schalte nicht direkt mit dem Taster, sondern lass NodeRed den Job erledigen.


    Vielen Dank, dass ihr mich von meinem "starren" Weg abgebracht habt und auch mal andere Möglichkeiten aufgezeigt habt.


    Vielen Dank.


    Eine kurze Frage: Was heist Button Topic 1 gesetzt? Ist das ein Statusbefehl, welcher über die Konsole im Sonoff gesetzt wird?


    Thoralf

  • Was heist Button Topic 1 gesetzt? Ist das ein Statusbefehl, welcher über die Konsole im Sonoff gesetzt wird?

    Genau :thumbup:


    sonst ist default ButtonTopic 0 bzw. SwitchTopic 0 eingestellt ohne MQTT (nur Status).


    mehr hier: https://github.com/arendst/Son…-and-Switches#switchtopic


    Wenn das Relais nicht direkt mitschalten soll dann ButtonTopic IrgendeinTopic wählen oder ein Relais2,3...,

    das nicht wirklich angeschlossen ist.