Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [gelöst] Gosund-Taster erkennen zur Fernbedienung

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Gosund-Taster erkennen zur Fernbedienung

    This topic has been deleted. Only users with topic management privileges can see it.
    • I
      iobroker2001 last edited by iobroker2001

      Hallo zusammen,

      gibt es eine Möglichkeit, an einem Gosund-SP111-Zwischenstecker (hier "ST8") mit Tasmota, der über den MQTT-Adapter eingebunden ist, zu erkennen, ob der kleine Taster an der Steckdose gedrückt wurde - im Gegensatz zu einer Aktivierung aus Blockly/Visualisierung heraus?
      Ich möchte damit eine Zeitschaltung erreichen, die ich an der Schaltsteckdose durch den Taster aktivieren kann.
      Also: Taster gedrückt -> Steckdose geht an und ein Blockly-Script schaltet die Steckdose nach einer Zeit wieder aus.
      Es geht mir hier nur darum, zu erkennen, woher das Einschalten der Steckdose kommt, damit dies nicht mit einem eventuellen Schalten durch Blockly oder Visualisierung kollidiert. Der Wert "Ursprung" zieht hier leider nicht wie gedacht.

      ksnip_20230718-095242.png

      Vielen Dank für Hinweise!

      BananaJoe 1 Reply Last reply Reply Quote 0
      • BananaJoe
        BananaJoe Most Active @iobroker2001 last edited by BananaJoe

        @iobroker2001 ich prüfe das bei mir umgekehrt. Bei Ursprung kannst du ja erkennen ob es von der VIS oder der JavaScript-Instanz kommt.
        Zudem erhälts du dann ja eine Meldung per MQTT unter /stat/
        Wie ist der Stecker denn in ioBroker eingebunden, per MQTT oder per Sonoff-Adapter? Je nachdem könntest du dort zwischen unbestätigter und bestätigter Meldung unterscheiden. Die Screenshots könnten aus dem Sonoff-Adapter sein?

        I 1 Reply Last reply Reply Quote 0
        • I
          iobroker2001 @BananaJoe last edited by iobroker2001

          @bananajoe Danke für die Überlegung!
          Hat leider noch nichts gebracht, da im MQTT-Adapter (im Gegensatz zum Sonoff-Adapter) die Tasmota-JSON-Daten ja separat aufgeführt werden - eben so, wie sie von Tasmota geliefert werden:

          Für das Ein-/Ausschalten dient

          /SmartHome/Steckdose/ST8/cmnd/POWER
          

          Für die Rückmeldung ist

          /SmartHome/Steckdose/ST8/stat/POWER
          

          zuständig.

          Wenn man ../cmnd/POWER per Adminoberfläche ändert, kommt als Ursprung
          system.adapter.admin.0
          heraus.
          Bei manuellem Tastendrücken wird ../cmnd/POWER gar nicht verändert, also keine Triggerung, kein Ursprung.

          Ähnlich sieht aus bei ../stat/POWER:
          Hier sieht Ursprung bei manueller Bedienung so aus:

          system.adapter.mqtt.0
          

          Wenn man ../cmnd/POWER per Adminoberfläche ändert, ist der Ursprung identisch, auch system.adapter.mqtt.0!

          BananaJoe 1 Reply Last reply Reply Quote 0
          • BananaJoe
            BananaJoe Most Active @iobroker2001 last edited by BananaJoe

            @iobroker2001 wenn über

            /SmartHome/Steckdose/ST8/stat/POWER
            

            die Meldung kommt und du als Ursprung den system.adapter.mqtt.0 hast ist doch toll.

            Fall 1: Meldung / Änderung kommt vom Gerät!

            Für die anderen Fälle nutze ich ein Skript welches mir aus den beiden Zweigen

            /SmartHome/Steckdose/ST8/cmnd/POWER
            /SmartHome/Steckdose/ST8/stat/POWER
            

            einen dritten Datenpunkt baut der auf True/False (Wahr/Falsch) reagiert. Den Datenpunkt nutze ich für die VIS. Der Datenpunkt zeigt also den aktuellen Status, dient gleichzeitig aber auch als Schaltpunkt. Ich weise darauf hin dass das wohl auch per Alias ginge (ich kann das aber nicht bzw. hatte keine Lust dazu)

            Damit ich weis ob ich den Datenpunkt per Skript gesetzt habe oder ob das von der VIS kommt, unterscheide ich wieder den Ursprung (web.0 oder javascript.0). Alternativ kann man im Skript selbst den Status "bestätigt" setzten. Ist der Unbestätigt war es eben nicht das Script)

            Fall 2: die VIS kann ich so unterscheiden von Fall 3: Per Skript.

            In der Praxis kann man auch am Skript vorbei arbeiten indem man den /SmartHome/Steckdose/ST8/cmnd/POWER setzt,
            die Rückmeldung würde das Skript wieder verarbeiten, weis dann aber ja nicht ob es am Gerät war oder von woanders - Falls das wichtig ist.

            I 1 Reply Last reply Reply Quote 0
            • I
              iobroker2001 @BananaJoe last edited by

              @bananajoe Das kann ich mir gut so vorstellen, ich komme erst am Wochenende dazu, zunächst vielen Dank!

              I 1 Reply Last reply Reply Quote 0
              • I
                iobroker2001 @iobroker2001 last edited by

                Bei meiner Zwischensteckdose taugen die "Ursprung"-Daten leider nicht zur Unterscheidung. In stat steht immer mqtt.

                Zeitlich ist der Ablauf:

                Bei Steuerung durch Javascript oder Adminoberfläche ("Objekte"), also "nicht manuell":
                In /cmnd/POWER wird der neue Wert eingetragen (0 oder 1), ein paar Millisekunden später in /stat/POWER als on/off

                Bei manueller Steuerung durch Taster am Gerät:
                KEIN Eintrag in /cmnd/POWER (!!), nur Eintrag in /stat/POWER als on/off

                Deshalb triggere ich auf /cmnd/POWER und merke mir für 1 s, dass eine JS-/Adminsteuerung vorliegen muss.
                Wenn /cmnd/POWER nicht getriggert wurde, handelt es sich um eine manuelle Bedienung.

                Das hier funktioniert:
                ksnip_20230723-103017.png

                BananaJoe 1 Reply Last reply Reply Quote 0
                • BananaJoe
                  BananaJoe Most Active @iobroker2001 last edited by

                  @iobroker2001 man kann die Schalter bei Tasmota auch vom Relais entkoppeln. Dann würdest du Switch-Meldungen per MQTT bekommen, müsstest dann aber über ioBroker schalten.

                  A I 2 Replies Last reply Reply Quote 1
                  • A
                    AxLED @BananaJoe last edited by

                    @iobroker2001
                    Steckdose nach Zeit x wieder aus kannst du alternativ auch via Pulsetime in Tasmota direkt hinterlegen, habe ich bei einer meiner Anforderungen so gelöst. Siehe auch https://nerdiy.de/de_de/tasmota-nachlaufen-eines-relais-einstellen/

                    AxLED

                    I 1 Reply Last reply Reply Quote 1
                    • I
                      iobroker2001 @BananaJoe last edited by

                      @bananajoe sagte in Gosund-Taster erkennen zur Fernbedienung:

                      @iobroker2001 man kann die Schalter bei Tasmota auch vom Relais entkoppeln. Dann würdest du Switch-Meldungen per MQTT bekommen, müsstest dann aber über ioBroker schalten.

                      Auch eine gute Idee! Dankeschön!

                      1 Reply Last reply Reply Quote 0
                      • I
                        iobroker2001 @AxLED last edited by

                        @axled sagte in Gosund-Taster erkennen zur Fernbedienung:

                        @iobroker2001
                        Steckdose nach Zeit x wieder aus kannst du alternativ auch via Pulsetime in Tasmota direkt hinterlegen, habe ich bei einer meiner Anforderungen so gelöst. Siehe auch https://nerdiy.de/de_de/tasmota-nachlaufen-eines-relais-einstellen/

                        AxLED

                        Danke, sehr interessant.
                        Bei mir ist es - wie immer etwas komplizierter: hier darf das Relais nach dem Einschalten nicht die ganze Zeit lang komplett an sein, sondern muss noch unterschiedliche Intervalle zum Abkühlen eines Magnetventils durchmachen.
                        Also ein eigener Blockly-Teil...
                        Danke für Deinen Link!

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        918
                        Online

                        31.9k
                        Users

                        80.1k
                        Topics

                        1.3m
                        Posts

                        3
                        10
                        420
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo