Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Trigger Verständnis

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Trigger Verständnis

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

      Hallo Zusammen, ich steh grad da und sehe den Wald vor lauter Bäumen nicht.
      Vielleicht kann mir jemand auf die Sprünge helfen.
      Mit folgendem Blockly steuere ich meine Rolladen.
      Getriggert wird auf den DP Tag.
      Jetzt ist folgendes passiert, der DP Tag geht aktuell vor 7 Uhr auf true und jetzt funktioniert die Abfrage auf 7 Uhr oder später nicht mehr. Kann ich verstehen, der Trigger auf Tag ist ja schon rum.
      Wie muss ich das Script mit dem Trigger aufbauen, damit Die Rolladen bei Tag aufgehen aber nicht vor 7 Uhr. Ich will ja auch nicht dauernd das Scriprt triggern

      on({id: new RegExp('0_userdata\\.0\\.Tag' + "$|" + '0_userdata\\.0\\.Anwesenheit' + "$"), change: "ne"}, async function (obj) {
          if (getState("0_userdata.0.Tag").val == true) {
          if (compareTime("07:00", "null", ">") && compareTime("13:00", "null", "<")) {
            setState("0_userdata.0.RolladenStatusAlle"/*RolladenStatusAlle*/, 100);
          } else if (getState("0_userdata.0.Anwesenheit").val == false && compareTime("13:00", "null", ">")) {
            setState("0_userdata.0.RolladenStatusAlle"/*RolladenStatusAlle*/, 45);
          }
        } else {
          setState("0_userdata.0.RolladenStatusAlle"/*RolladenStatusAlle*/, 0);
        }
      });
      on({id: 'followthesun.0.current.azimuth', change: "ne"}, async function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        if (getState("followthesun.0.current.azimuth").val >= 221 && getState("followthesun.0.current.altitude").val <= 23) {
          setState("shelly.0.SHSW-25#84CCA8B09E95#1.Shutter.Position"/*Position BueroHof*/, 75);
        }
      });
      

      Screenshot_2.png

      paul53 FredF 2 Replies Last reply Reply Quote 0
      • paul53
        paul53 @Uwe Waizmann last edited by paul53

        @uwe-waizmann sagte: Rolladen bei Tag aufgehen aber nicht vor 7 Uhr.

        Zeitplan um 7:00 Uhr und darin Tag oder Rollo-Position abfragen.

        EDIT: Alternativ den Datenpunkt "javascript.0.variables.isDayTime" nutzen, der in der Javascript-Instanz konfiguriert wird.

        Bild_2021-03-08_122400.png

        1 Reply Last reply Reply Quote 0
        • FredF
          FredF Most Active Forum Testing @Uwe Waizmann last edited by

          @uwe-waizmann
          Schon den Adapter Shuttercontrol entdeckt? Damit können die meisten Anforderungen zur Rollladensteuerung abgedeckt werden.

          Uwe Waizmann 1 Reply Last reply Reply Quote 0
          • Uwe Waizmann
            Uwe Waizmann @FredF last edited by

            @fredf
            ja hatte ich schon, aber sobald ich den aktiviert habe, hängt sich mein PI4 regelmäsig auf.
            Schon beim starten will er den Adapter erneut starten und bringt Fehler.
            Aber alleine schon wegen dem Lerneffekt und besser verstehen wie das alles zusammenhängt würde ich es gerne selbst machen.

            @ paul53
            Als DP habe ich ja schon Tag angelegt den ich in einem kleinen Script wunderbar steuern kann.

            Mit Zeitplan meinst Du ?

            schedule("0 7 * * *", async function () {
            });
            

            Screenshot_3.png

            Gilt das dann solange die Stunde 7 ist?

            paul53 1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @Uwe Waizmann last edited by paul53

              @uwe-waizmann sagte: Mit Zeitplan meinst Du ?

              Ja, der triggert täglich einmal um 7:00 Uhr.

              @uwe-waizmann sagte in Trigger Verständnis:

              Als DP habe ich ja schon Tag angelegt den ich in einem kleinen Script wunderbar steuern kann.

              Script?

              Uwe Waizmann 1 Reply Last reply Reply Quote 0
              • Uwe Waizmann
                Uwe Waizmann @paul53 last edited by Uwe Waizmann

                @paul53
                Verstehe ich das so richtig?
                der Trigger kommt um 7 Uhr, falls es aber erst um 7:30 Tag wird und weil dann kein Trigger mehr kommt
                , bleiben die Rolladen zu ?

                schedule("0 7 * * *", async function () {
                  if (getState("0_userdata.0.Tag").val == true) {
                    setState("0_userdata.0.RolladenStatusAlle"/*RolladenStatusAlle*/, 90);
                  }
                });
                
                paul53 1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @Uwe Waizmann last edited by

                  @uwe-waizmann sagte: falls es aber erst um 7:30 Tag wird und weil dann kein Trigger mehr kommt, bleiben die Rolladen zu ?

                  Nein, der Trigger um 7:00 Uhr ist zusätzlich erforderlich, es sei denn, der Trigger "Tag" kommt nicht vor 7:00 Uhr.

                  Uwe Waizmann 1 Reply Last reply Reply Quote 0
                  • Uwe Waizmann
                    Uwe Waizmann @paul53 last edited by

                    @paul53 ich check das nicht,
                    Aktuell kommt Tag vor 7 Uhr, letzte Woche kam Tag nach 7 Uhr

                    Öffnen wenn es Tag ist aber nicht vor 7 Uhr wäre die Anforderung
                    Kannst Du mir vielleicht ein Beispiel machen wie man das lösen kann

                    paul53 1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @Uwe Waizmann last edited by paul53

                      @uwe-waizmann sagte: Beispiel machen wie man das lösen kann

                      Bild_2021-03-08_130213.png

                      Uwe Waizmann 1 Reply Last reply Reply Quote 0
                      • Uwe Waizmann
                        Uwe Waizmann @paul53 last edited by

                        @paul53
                        oha, also einmal auf Uhrzeit triggern und einmal auf Tag?

                        Uwe Waizmann 1 Reply Last reply Reply Quote 0
                        • Uwe Waizmann
                          Uwe Waizmann @Uwe Waizmann last edited by Uwe Waizmann

                          Nun noch eine Frage zum Trigger "falls Objekt"
                          wenn ich auf wahr oder falsch triggere, wann geschieht das dann?
                          in dem Moment wo der Zustand eintritt?

                          @ paul53, vielen Dank für das Beispiel, hab auch gleich dazu gelernt wie man es einfacher machen kann 🙂

                          paul53 1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @Uwe Waizmann last edited by paul53

                            @uwe-waizmann sagte: wenn ich auf wahr oder falsch triggere, wann geschieht das dann?
                            in dem Moment wo der Zustand eintritt?

                            Bei Trigger auf wahr, wird immer dann getriggert, wenn der Wert wahr ist und der Zeitstempel aktualisiert wird, also nicht nur bei Wertänderung. Soll nur auf Wertänderung von falsch auf wahr getriggert werden, nimmt man "ist größer als letztes".

                            Uwe Waizmann 1 Reply Last reply Reply Quote 0
                            • Uwe Waizmann
                              Uwe Waizmann @paul53 last edited by

                              @paul53 merci und wieder was gelernt!
                              Zeitstempel? wann und wo wird dieser erstellt?

                              paul53 1 Reply Last reply Reply Quote 0
                              • paul53
                                paul53 @Uwe Waizmann last edited by paul53

                                @uwe-waizmann sagte: Zeitstempel? wann und wo wird dieser erstellt?

                                Bei jedem Schreiben ("steuere" / "aktualisiere") auf den Datenpunkt wird die aktuelle Zeit im state.ts gespeichert.

                                Uwe Waizmann 1 Reply Last reply Reply Quote 0
                                • Uwe Waizmann
                                  Uwe Waizmann @paul53 last edited by

                                  @paul53
                                  was ist der Unterschied zwischen steuere und aktualisiere Objekt

                                  paul53 1 Reply Last reply Reply Quote 0
                                  • paul53
                                    paul53 @Uwe Waizmann last edited by

                                    @uwe-waizmann sagte in Trigger Verständnis:

                                    was ist der Unterschied zwischen steuere und aktualisiere Objekt

                                    "steuere" wird mit ack = false geschrieben, wird also zum Schreiben auf Adapter-Datenpunkte benötigt, damit diese senden.
                                    "aktualisiere" wird mit ack = true geschrieben, verwendet man also für eigene (virtuelle) Datenpunkte.

                                    Uwe Waizmann 2 Replies Last reply Reply Quote 0
                                    • Uwe Waizmann
                                      Uwe Waizmann @paul53 last edited by

                                      aha, dann muss ich die neue position in den Shelly mit steure senden, sonst tut er nichts

                                      1 Reply Last reply Reply Quote 0
                                      • Uwe Waizmann
                                        Uwe Waizmann @paul53 last edited by Uwe Waizmann

                                        @paul53 Vielen herzlichen Dank für Deine Hilfe, heute kam Licht ins Dunkle.
                                        Ein letzte Frage noch für Heute.

                                        Wie kann ich im Blockly einen Wert für einen Datenpunkt setzen.
                                        Z.B ich arbeite für den Beschattungswert mit einem Datenpunkt wo der Wert drin steht.
                                        Diesen Wert würde ich gerne im Script setzen/ändern, damit ich bei Änderung nicht zu den Datenpunkten wechseln muss.

                                        War ne blöde Frage, muss ja nur das Objekt irgendwo im script aktualisieren

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

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        392
                                        Online

                                        32.0k
                                        Users

                                        80.5k
                                        Topics

                                        1.3m
                                        Posts

                                        3
                                        18
                                        650
                                        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