Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Blockly Script nur von 10-20 Uhr ausführen ?

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blockly Script nur von 10-20 Uhr ausführen ?

    This topic has been deleted. Only users with topic management privileges can see it.
    • Meister Mopper
      Meister Mopper @berndsolar13 last edited by

      @berndsolar13 sagte in Blockly Script nur von 10-20 Uhr ausführen ?:

      Das Script muss ja sinnigerweise nicht in der Nacht laufen, und den Iobroker arbeiten lassen.

      ioBroker arbeitet ereignisorientiert. Insofern ist das Abschalten des Skripts nicht erforderlich. Im Gegenteil, beim Start des Skripts wird jedes Mal der Code neu kompiliert.

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

        @berndsolar13
        Ich habe das so gelöst:

        Es gibt einen zusätzlichen Datenpunkt in dem Festgelegt wird ob das Schalten (also das was das Skript machen soll) erlaubt ist oder nicht. True bzw. Wahr - es ist erlaubt, und bei False bzw. Falsch eben nicht.

        ecdb3125-f2d1-43df-b83b-95a72b07b56b-image.png

        In diesem Beispiel also 0_userdata.0.Tuya.DryFy-Badezimmer.SteuerungAktiv
        Das Skript springt zwar bei jeder Feuchtigkeitsänderung an, macht aber nur etwas wenn der 0_userdata.0.Tuya.DryFy-Badezimmer.SteuerungAktiv Wahr ist.

        So, jetzt muss man natürlich diesen Datenpunkt Morgens um 10:00 Uhr auf True setzen und Abends um 20 Uhr wieder auf False.
        Das könnten 2 weitere Blöcke sein mit Zeitsteuerung:
        a256e427-8839-4fac-ba58-3a8515c9af74-image.png
        zum Beispiel für das Einschalten.

        Ich mache das über die VIS. Dazu habe ich den "Zeitschaltuhr" Adapter (aka "time-switch") installiert und habe so einen Zeitplan in der VIS der diesen Datenpunkt ansteuert:
        be25c069-bcce-48eb-af62-7c9b22b709a8-image.png
        Der Mittlere ist es, Luftentfeuchter Nachtruhe
        Ich habe wie du siehst noch mehr Bedingungen. Links schaltet den Zwangsweise an, dann ist auch gleich schön warm im bad, rechts schaltet die Steckdose des Luftentfeuchters, der läuft besser wenn man den ab und zu neu bootet (ich habe einen Tuya-Kombatiblen und steuere den Entfeuchter direkt)
        6431e474-ae9b-4fba-a423-a565a8e41a80-image.png

        1 Reply Last reply Reply Quote 0
        • B
          berndsolar13 @haselchen last edited by berndsolar13

          @haselchen

          danke, hab wie gesagt keinen Plan von Blockly 🙂

          @djmarc75 sagte in Blockly Script nur von 10-20 Uhr ausführen ?:

          ob Du das zeigen magst ?

          ist wie gesagt mein 1. Versuch 😉
          blocky.jpg

          Wo genau müsste ich den Baustein hin setzen ?
          Den durchschnitt des Bezuges brauch er ja auch nicht ausßerhalb der Zeiten berechnen

          Hinweis der Sendebefehl ans Tasmota Display "Displaytext" war quasi nur ein Debug, damit ich direkt sehe das es funktioniert.

          B paul53 2 Replies Last reply Reply Quote 0
          • B
            berndsolar13 @berndsolar13 last edited by

            gleich noch eine 2. Frage für die Zukunft
            Gibt es eine einfache Möglichkeit, das Blockly Script hier zu zeigen ?

            Aktuell hab ich 2 Screnshots gemacht, da es nicht auf einen Bildschirm passte.
            Die dann mit dem Zeichen Programm wieder zusammen gebaut, und dann hier hoch geladen.

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

              @berndsolar13 sagte: Wo genau müsste ich den Baustein hin setzen ?

              Da du einen 10-s-Zeitplan verwendest, kann die Einschränkung im Zeitplan (CRON) gemacht werden:

              Blockly_temp.JPG

              Der Trigger auf "durchschnitt_zahler" ist unnötig, wenn man den Durchschnitt in einer Variablen speichert.

              Blockly_temp.JPG

              Nimmt der Entfeuchter weniger als 200 W Leistung auf? Die Hysterese beträgt nur 200 W.

              B 1 Reply Last reply Reply Quote 0
              • B
                berndsolar13 @paul53 last edited by berndsolar13

                @paul53 sagte in Blockly Script nur von 10-20 Uhr ausführen ?:

                Da du einen 10-s-Zeitplan verwendest, kann die Einschränkung im Zeitplan (CRON) gemacht werden:

                klingt logisch, hätte ich auch selbst drauf kommen können, verwende ja auch Cronjobs auf dem Linux Mini PC 🙂

                Ich kann das aber irgendwie nicht eingeben, das feld wo die Sterne drin stehen ist grau hinterlegt.
                Wie bekomme ich da deinen Code rein.

                Wegen dem 2. Code, kann es sein, das er dann permanent wenn die Bedingung erfüllt ist, den Befehl sendet für schalte ein ? Deswegen hatte ich die "und" Bedingung mit rein gemacht, das er nur sendet, wenn der Status aktuell "anders" ist.

                @paul53 sagte in Blockly Script nur von 10-20 Uhr ausführen ?:

                Nimmt der Entfeuchter weniger als 200 W Leistung auf? Die Hysterese beträgt nur 200 W.

                jupp sind 180 Watt, eigentlich sollte da auch 200 stehen, kein Plan wieso 150 dort steht 🙂

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

                  @berndsolar13 sagte: das er dann permanent wenn die Bedingung erfüllt ist, den Befehl sendet für schalte ein ?

                  Nein, das verhindert der Vergleich entfeuchten != Wert von Entfeuchter.

                  @berndsolar13 sagte in Blockly Script nur von 10-20 Uhr ausführen ?:

                  Wie bekomme ich da deinen Code rein.

                  Blockly_temp.JPG

                  B 2 Replies Last reply Reply Quote 0
                  • B
                    berndsolar13 @paul53 last edited by berndsolar13

                    @paul53

                    danke das mit dem Cron hat geklappt, den Rest werde ich jetzt mal nachbauen
                    dein Code ist etwas aufgeräumter, und den Wert in der Variable speichern ist auch besser.

                    danke auch an alle anderen für ihr input 🙂

                    1 Reply Last reply Reply Quote 0
                    • B
                      berndsolar13 @paul53 last edited by

                      @paul53

                      ich hab dein Script nun gebaut, hab weil ja keine Sonne mehr scheint, die Schaltbereiche auf <200 an und >400 Watt auf Aus gestellt.

                      Aber es tut sich nix,
                      Wie kann mich mir den Inhalt der Variablen irgendwie anzeigen lassen, um zu sehen das die überhaupt mit dem "richten" Wert befüllt wurden ?

                      Homoran 1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @berndsolar13 last edited by Homoran

                        @berndsolar13 sagte in Blockly Script nur von 10-20 Uhr ausführen ?:

                        Wie kann mich mir den Inhalt der Variablen irgendwie anzeigen lassen, um zu sehen das die überhaupt mit dem "richten" Wert befüllt wurden ?

                        mit einem debug-Baustein

                        1 Reply Last reply Reply Quote 0
                        • B
                          berndsolar13 last edited by berndsolar13

                          Mit Entfeuchten am Debug

                          javascript.0 (366719) script.js.200_Watt_Schaltscript: setForeignState(id=0_userdata.0.Live_Verbrauch.durchschnitt_zahler, state={"val":236.8,"ack":true,"ts":1698084310005,"q":0,"from":"system.adapter.javascript.0","lc":1698084310005,"c":"script.js.200_Watt_Schaltscript"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
                          

                          Mit Durchschnitt am Debug

                          javascript.0 (366719) script.js.200_Watt_Schaltscript: setForeignState(id=0_userdata.0.Live_Verbrauch.durchschnitt_zahler, state={"val":237.5,"ack":true,"ts":1698084340005,"q":0,"from":"system.adapter.javascript.0","lc":1698084340005,"c":"script.js.200_Watt_Schaltscript"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
                          

                          debug.jpg

                          irgendwie ist der Debug Output immer gleich, egal welchen Baustein ich hinten anhänge ?

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

                            @berndsolar13 sagte: Debug Output immer gleich

                            Die Debug-Blöcke müssen innerhalb des Triggers platziert werden. Schalte den Debug-Modus rechts oben aus, da die Datenpunkte im Debug-Modus nicht geschrieben werden.

                            EDIT: Beispiel:

                            Blockly_temp.JPG

                            1 Reply Last reply Reply Quote 0
                            • B
                              berndsolar13 last edited by

                              @paul53

                              danke, wie ich es mir dachte

                              javascript.0 (366719) script.js.200_Watt_Schaltscript: Wert für Durchschnitt: undefined
                              
                              
                              B 1 Reply Last reply Reply Quote 0
                              • B
                                berndsolar13 @berndsolar13 last edited by berndsolar13

                                Fehler gefunden läuft nun

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                825
                                Online

                                32.0k
                                Users

                                80.4k
                                Topics

                                1.3m
                                Posts

                                7
                                18
                                703
                                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