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.
    • paul53
      paul53 @berndsolar13 last edited by

      @berndsolar13 sagte: Script nur ausfüheren von 10-20 Uhr ?

      Man kann die Aktionen im Trigger auf bestimmte Zeiten beschränken.

      Blockly_temp.JPG

      1 Reply Last reply Reply Quote 0
      • 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

                                  888
                                  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