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.
    • 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

                                    874
                                    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