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

      Ich hab mir mal so ein Blockly Script gebastelt.
      Es wird der aktuelle Verbrauch des Stromzählers genommen und in ein Array geschrieben.
      Aus 12 Werten wird der Durchschnitt genommen, das findet man ja auf YT kein Problem also.

      Dann hab ich das Script soweit angepasst, das wenn der Durchschnittswert der Einspeisung < -200 Watt ist dann springt der Luftentfeuchter an.

      1. Regel
        Ist dieser AN und der Wert ist > 50 Watt also "Bezug", dann schalte ihn aus.
        Funktioniert ganz gut, in den 5h wo er heute lief ging er wegen der Wolken 3x an und aus.

      Klappt also, nun zu meiner Frage
      Das Script muss ja sinnigerweise nicht in der Nacht laufen, und den Iobroker arbeiten lassen.
      Kann man irgendwie sagen, Script nur ausfüheren von 10-20 Uhr ?
      Hab irgendwie dazu nix gefunden 😉

      DJMarc75 haselchen paul53 Meister Mopper BananaJoe 5 Replies Last reply Reply Quote 0
      • DJMarc75
        DJMarc75 @berndsolar13 last edited by

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

        Ich hab mir mal so ein Blockly Script gebastelt

        ob Du das zeigen magst ?

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

          @berndsolar13

          57d69a4b-1c5d-4211-be7b-fee24937e1e7-grafik.png

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

                                        856
                                        Online

                                        32.0k
                                        Users

                                        80.4k
                                        Topics

                                        1.3m
                                        Posts

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