Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Taster an Shelly Plus 1

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Taster an Shelly Plus 1

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      TT-Tom @Bengab last edited by TT-Tom

      @bengab

      schau dir mal den DP an, sollte der sein den du suchst.

      shelly.0.shellyplus1#441793xxxxxxx#1.Input0.Status

      on({ id: 'shelly.0.shellyplus1#441793xxxxxxx#1.Input0.Status', change: 'gt' }, async function (obj: any) {
          try {
              if (obj.state.val) {
                  setState('alias.0.Licht.Licht_Terasse.SET', true); //Datenpunkt auf true schalten
              } else {
                  setState('alias.0.Licht.Licht_Terasse.SET', false); //Datenpunkt auf alse schalten
              }
          } catch (error) {
              log(`action trigger switch ${error}`, `error`);
          }
      });
      

      hier ein Link zum on-Befehl https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#on---subscribe-on-changes-or-updates-of-some-state

      B 2 Replies Last reply Reply Quote 0
      • B
        Bengab @TT-Tom last edited by

        @tt-tom
        herzlichen Dank für die schnelle Antwort - werde ich ausprobieren

        1 Reply Last reply Reply Quote 0
        • B
          Bengab @TT-Tom last edited by

          @tt-tom
          noch eine kleine Nachfrage, im Script wird ja der Wert true oder false gecheckt. Wie mache ich das mit einem Flankenwechsel, also nur wenn von false auf true gewechselt wird?

          T 1 Reply Last reply Reply Quote 0
          • T
            TT-Tom @Bengab last edited by

            @bengab

            dazu der Link. über change kannst du verschiedene Varianten abfragen bzw. reagieren.

            gt -steht hier für größer als der letzte Wert. Da True größer ist als false reagiert er nur von false nach true.

            B 1 Reply Last reply Reply Quote 0
            • B
              Bengab @TT-Tom last edited by

              @tt-tom
              Ich hab das Script entsprechend übernommen. Zum Test hab ich erstmal mit Merkern aus meiner S7 gearbeitet. Das Script erkennt die Zustandsänderung des Merkers und wird abgearbeitet.
              Wenn ich aber die Status Variable des Shelly nutze passiert nichts. Es scheint so als ob diese Status Variable nicht aktualisiert wird. Muss ich noch was am Shelly (oder Iobroker einstellen?

              wendy2702 1 Reply Last reply Reply Quote 0
              • wendy2702
                wendy2702 @Bengab last edited by

                @bengab dann schau dir mal den Datenpunkt an. Ob der sich ändert/aktualisiert wenn du den Taster betätigst.

                Kannst auch in das Logfile schauen um die Änderung zu sehen. Unter Umständen die Instanz auf Debug stellen.

                B 1 Reply Last reply Reply Quote 0
                • B
                  Bengab @wendy2702 last edited by

                  @wendy2702
                  das hab ich schon getan, da ändert sich eben leider nichts. Beim Relais (Relay0) kommt aber die Änderung an.

                  wendy2702 1 Reply Last reply Reply Quote 0
                  • wendy2702
                    wendy2702 @Bengab last edited by wendy2702

                    @bengab dann zeig doch mal die Adapter und Shelly Konfiguration oder Werte den Relais Datenpunkt aus.

                    B 1 Reply Last reply Reply Quote 0
                    • B
                      Bengab @wendy2702 last edited by

                      @wendy2702

                      Hier ist der Status markiert. Dieser wird nicht aktualisiert.
                      1424dbb5-b72e-4d91-946d-72478d50dc43-image.png

                      Es muss irgendwie am Shelly liegen. Als Probe habe ich den Workaround über die Vis gemacht und dieses Flag mit Hilfe eines Buttons mal gesetzt. Dann hat meine Script die Änderung auch erhalten und ist abgelaufen.
                      (dazu hab ich mir die Werte in der history gespeichert und in einem Flotdiagram mal angesehen)

                      T 1 Reply Last reply Reply Quote 0
                      • T
                        TT-Tom @Bengab last edited by TT-Tom

                        @bengab
                        Der markierte ist auch der falsche, eins tiefer ist der den ich geschrieben hatte.
                        Ansonsten passen sie.

                        wie sehen den die Einstellungen im Shelly aus. diese hier:
                        2c341167-38b7-4a94-ad95-96c3fc51f5fd-image.png

                        bei mir ist das ein Schalter, nicht wundern.

                        B 1 Reply Last reply Reply Quote 0
                        • B
                          Bengab @TT-Tom last edited by

                          @tt-tom
                          Sorry, ist natürlich die Zeile unter der Markierung. Dieser Status wird aber auch nicht verändert. Das ist ja das Komische.

                          Meine Definition sieht momentan so aus (hab den Input vom Relais getrennt). Aber auch wenn ich die Definition auf Taster oder Schalter stelle, bleibt "Status" still.
                          IMG_4342.png

                          mcm1957 1 Reply Last reply Reply Quote 0
                          • mcm1957
                            mcm1957 @Bengab last edited by mcm1957

                            @bengab
                            Welcher INPUT TYP Ist ausgewählt? Switch oder Button?
                            Siehe Shelly Doku:

                            40729cc0-683c-40f3-b770-503571f7d22b-image.png

                            STATE wird nur beim Typ SWITCH verwendet / gesetzt.

                            EDIT:
                            Seh schon - steht auf BUTTON. Dann ist State nicht benutzt. Button Aktionen solltest du unter EVENT finden (z.B. single_push, ...)

                            T 1 Reply Last reply Reply Quote 0
                            • T
                              TT-Tom @mcm1957 last edited by TT-Tom

                              @mcm1957
                              Ah, alles klar dann muss auf Event getigert werden. Danke für die Info's. Gibt bestimmt mehrere Events davon.

                              @Bengab

                              
                              on({ id: 'shelly.0.shellyplus1#441793xxxxxxx#1.Input0.Event', change: 'ne' }, async function (obj: any) {
                                  try {
                                      if (obj.state.val == 'single_push') {
                                          log(`EVENT =  single_push`, `info`);
                                          //setState('alias.0.Licht.Licht_Terasse.SET', true); //Datenpunkt auf true schalten
                                       } else {
                                           log(`kein single_push, sondern:  ${obj.state.val}`, `info`);
                                          // setState('alias.0.Licht.Licht_Terasse.SET', false); //Datenpunkt auf alse schalten
                                       }
                                   } catch (error) {
                                       log(`action trigger switch ${error}`, `error`);
                                   }
                               });
                              
                              
                              1 Reply Last reply Reply Quote 1
                              • First post
                                Last post

                              Support us

                              ioBroker
                              Community Adapters
                              Donate
                              FAQ Cloud / IOT
                              HowTo: Node.js-Update
                              HowTo: Backup/Restore
                              Downloads
                              BLOG

                              920
                              Online

                              32.0k
                              Users

                              80.5k
                              Topics

                              1.3m
                              Posts

                              4
                              14
                              300
                              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