Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Lampe immer nach 6 Stunden ausschalten

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Lampe immer nach 6 Stunden ausschalten

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

      Hi,

      ich bastel gerade an einem Blockly Skript mit der ich zu einem Bestimmten Zeitpunkt eine Lampe einschalten möchte und diese immer 6 Stunden später wieder ausgeschaltet werden soll.

      Als Starttrigger hab ich einen Zeitplan genommen.

      bf542b50-3b29-4b43-ab57-9484f6a477ad-grafik.png

      Zuerst hatte ich einen weiteren Zeitplantrigger erstellt, der zum Ausschaltzeitpunkt ausgerufen wird.

      403082c5-a7cd-4b56-8400-64e800ed8548-grafik.png
      Das finde ich aber etwas umständlich, wenn man den Startzeitpunkt mal ändert. Meine Idee war nun den Ausschaltzeitpunkt im Anschaltblock zu berechnen und dann beim erreichen der Zeit den Ausschaltblock zu triggern. Dabei scheitere ich aber den richtigen Trigger zu finden bzw. ihn zu konfigurieren.

      Könnt Ihr mir helfen bzw. vielleicht denke ich auch viel zu kompliziert und ich sehe mittlerweile den Block vor Bäumen nicht mehr.

      Danke.

      Homoran Asgothian 2 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @iceman8080 last edited by

        @iceman8080 sagte in Lampe immer nach 6 Stunden ausschalten:

        Als Starttrigger hab ich einen Zeitplan genommen.

        welchen?

        @iceman8080 sagte in Lampe immer nach 6 Stunden ausschalten:

        Zuerst hatte ich einen weiteren Zeitplantrigger erstellt, der zum Ausschaltzeitpunkt ausgerufen wird.

        welchen?

        Wäre im Prinzip auch korrekt, wenn Ein- und Ausschaltzeitpunkte fix sein sollen.

        @iceman8080 sagte in Lampe immer nach 6 Stunden ausschalten:

        Meine Idee war nun den Ausschaltzeitpunkt im Anschaltblock zu berechnen

        was gibt es denn da zu berechnen, wenn der Wert festgeschrieben ist?

        I 1 Reply Last reply Reply Quote 0
        • I
          iceman8080 @Homoran last edited by

          @homoran

          Der Starttrigger ist im ersten Bild zu sehen. Momentan soll die Lampe an jedem Tag um 11:45 Uhr angeschaltet werden und somit um 17:45 wieder ausgeschaltet werden (Im zweiten Bild ist der Ausschaltzeitpunkt noch auf 20:45).
          Nun ist es aber so, das je nach dem welche Pflanzen beleuchtet werden sollten sich der Startzeitpunkt verschieben kann. Dabei soll man aber nicht jedesmal auch den Ausschaltzeitpunkt neu berechnen müssen, sondern dieser soll immer 6 Stunden später sein.

          Homoran 1 Reply Last reply Reply Quote 0
          • Asgothian
            Asgothian Developer @iceman8080 last edited by

            @iceman8080 sagte in Lampe immer nach 6 Stunden ausschalten:

            Könnt Ihr mir helfen bzw. vielleicht denke ich auch viel zu kompliziert und ich sehe mittlerweile den Block vor Bäumen nicht mehr.

            Tust du. Einfach innerhalb des Zeitplans einen "ausführen Timeout" Block der 6 stunden später aktiv wird.. z.Bsp. so:
            Screenshot 2024-07-02 at 11.43.18.png

            I Homoran 2 Replies Last reply Reply Quote 0
            • I
              iceman8080 @Asgothian last edited by

              @asgothian Danke. Das hat mir geholfen.

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

                @iceman8080 sagte in Lampe immer nach 6 Stunden ausschalten:

                Der Starttrigger ist im ersten Bild zu sehen

                leider unvollständig und abgeschnitten, sonst hätte ich nicht gefragt.

                @iceman8080 sagte in Lampe immer nach 6 Stunden ausschalten:

                sich der Startzeitpunkt verschieben kann

                und dann schreibst du jedesmal das Blockly neu?

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

                  @asgothian sagte in Lampe immer nach 6 Stunden ausschalten:

                  Einfach innerhalb des Zeitplans einen "ausführen Timeout" Block der 6 stunden später aktiv wird..

                  dann darf aber keine Störung auftreten, da sonst der Timeou nie ausgeführt wird.
                  Bei 6h habe ich das deshalb nicht empfohlen.
                  2 Trigger sind da ausfallsicherer

                  I Asgothian 2 Replies Last reply Reply Quote 0
                  • I
                    iceman8080 @Homoran last edited by iceman8080

                    @homoran Das denke ich auch, allerdings scheitere ich, wie ich schon schrieb, daran den neues Ausschaltzeitpunkt als Triggerzeit für das Ausschalten zu definieren...

                    Und nein ich schreibe dann nicht das ganze Blocky neu. Ich möchte nur zentral einen Wert ändern und nicht 2.

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

                      @iceman8080 sagte in Lampe immer nach 6 Stunden ausschalten:

                      Ich möchte nur zentral einen Wert ändern

                      da ich deinen komplexen Zeitplan immer noch nicht kenne versuche ich es mal anders.

                      Bei einem CRON wie 30 7 * * * ist es doch kein Problem, wenn man den auf 45 7 * * * stellt auch mal eben den Ausschaltzeitpunkt auf 45 13 * * * zu stellen.

                      Aber ja, man soll auch solche CRON variabel erstellen können. ich hab es noch nie gebraucht und dementsprechend auch noch nicht gemacht.

                      I 1 Reply Last reply Reply Quote 0
                      • I
                        iceman8080 @Homoran last edited by

                        @homoran Womit ich wieder am Anfang wäre... 😑

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

                          @iceman8080 sagte in Lampe immer nach 6 Stunden ausschalten:

                          @homoran Womit ich wieder am Anfang wäre... 😑

                          nöö, nur solange du bei deinem unbekannten komplexen Zeitplan bleiben willst.

                          I 1 Reply Last reply Reply Quote 0
                          • I
                            iceman8080 @Homoran last edited by

                            @homoran Ich seh da momentan nichts komplexes statt zwei Zeiten (an und aus) möchte ich Startzeit und Dauer definieren.
                            Von daher ist der Ansatz von @asgothian schon der naheliegende gewesen.
                            Allerdings stimme ich Dir auch zu, das bei einer Störung es dazu kommen kann, das die Lampe z.B nicht nach 6 Stunden ausgeschaltet wird. Deshalb bin ich schon noch an einer Lösung mit 2 Triggern interessiert.

                            Vielleicht hat hier ja jemand anderes schonmal das Problem gehabt, den Fall Start und Dauer vorzugeben finde ich nun nicht so ungewöhnlich.

                            Duffy Homoran paul53 3 Replies Last reply Reply Quote 0
                            • Duffy
                              Duffy @iceman8080 last edited by

                              @iceman8080

                              Ist die Frage was du mit Störung meinst, Stromausfall so das das Blockly aus ist?

                              Du könntest die Lampen über eine Zigbee Steckdose schalten und in den Einstellungen der Steckdose das Verhalten nach Stromausfall auf off setzen dann wäre gewährleistet das die Lampen, sollte eine "Störung" aufgetreten aus ist.

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

                                @iceman8080 sagte in Lampe immer nach 6 Stunden ausschalten:

                                Ich seh da momentan nichts komplexes

                                und ich seh gar nichts, nach peri... ist abgeschnitten

                                deswegen wäre die Verwendung von

                                @homoran sagte in Lampe immer nach 6 Stunden ausschalten:

                                einem CRON wie 30 7 * * *

                                Vielleicht hilfreich

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

                                  @iceman8080 sagte: Lösung mit 2 Triggern

                                  Mit Einschaltzeit als "hh:mm" in einem Datenpunkt, aber nicht über Mitternacht:

                                  Blockly_temp.JPG

                                  I 1 Reply Last reply Reply Quote 1
                                  • I
                                    iceman8080 @Duffy last edited by

                                    @duffy Gute Idee, im Grund ist die Lampe auch ein Zigbee Zwischenstecker.

                                    Mit 'Störung' dachte ich eher daran, das bei wiederholendem Aufruf des Blockly (z.B. wenn die Startzeit angepasst wird während der Timer schon läuft) es zu mehreren Timern kommt die gestartet sind.

                                    Asgothian 1 Reply Last reply Reply Quote 0
                                    • I
                                      iceman8080 @paul53 last edited by

                                      @paul53 Cool, das sieht zwar auf dem ersten Blick kompliziert aus, ist aber glaube ich das was ich gesucht habe. Danke das werde ich mal umsetzen.😊

                                      Homoran DJMarc75 2 Replies Last reply Reply Quote 0
                                      • Asgothian
                                        Asgothian Developer @Homoran last edited by Asgothian

                                        @homoran sagte in Lampe immer nach 6 Stunden ausschalten:

                                        @asgothian sagte in Lampe immer nach 6 Stunden ausschalten:

                                        Einfach innerhalb des Zeitplans einen "ausführen Timeout" Block der 6 stunden später aktiv wird..

                                        dann darf aber keine Störung auftreten, da sonst der Timeou nie ausgeführt wird.
                                        Bei 6h habe ich das deshalb nicht empfohlen.
                                        2 Trigger sind da ausfallsicherer

                                        Das stimmt zwar, aber ich habe bisher keine Probleme auch mit so langen Timeouts. Die Einfache Lösung ist bei Skriptstart die Lampe abzuschalten.

                                        Screenshot 2024-07-02 at 12.53.59.png

                                        Die Komplexe Lösung ist:
                                        Screenshot 2024-07-02 at 13.11.41.png

                                        In diesem Fall wird gespeichert wann die Lampe wieder aus gehen soll. Beim Start des Skriptes muss dann nur geschaut werden ob die Zeit um ist, und ggf. ein Timeout mit der entsprechenden Restzeit loslaufen.
                                        Ist die Zeit schon vorbei sollte die Lampe (sofern sie noch an ist) noch ausgeschaltet werden.

                                        Das geht auch über Mitternacht.

                                        A.
                                        Nachtrag: die 216000000 die auf die aktuelle Zeit aufaddiert werden sind 6h in ms ausgedrückt.

                                        Nachtrag 2: das lässt sich auch schön mit dem Skript von @paul53 kombinieren - die Einschaltzeit mit einem einstellbaren cron so wie bei Ihm, das Ausschalten per Timeout mit Skript-Neustart-Sicherung wie bei mir

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

                                          @iceman8080 sagte in Lampe immer nach 6 Stunden ausschalten:

                                          ist aber glaube ich das was ich gesucht habe.

                                          ja, aber mit einem Cron.

                                          @iceman8080 sagte in Lampe immer nach 6 Stunden ausschalten:

                                          das sieht zwar auf dem ersten Blick kompliziert aus

                                          Deswegen kann ich das nicht 😢

                                          1 Reply Last reply Reply Quote 0
                                          • Asgothian
                                            Asgothian Developer @iceman8080 last edited by

                                            @iceman8080 sagte in Lampe immer nach 6 Stunden ausschalten:

                                            @duffy Gute Idee, im Grund ist die Lampe auch ein Zigbee Zwischenstecker.

                                            Mit 'Störung' dachte ich eher daran, das bei wiederholendem Aufruf des Blockly (z.B. wenn die Startzeit angepasst wird während der Timer schon läuft) es zu mehreren Timern kommt die gestartet sind.

                                            Kann es nicht. Bei jedem "Neustart" des Blockly's sollten alle Trigger beendet werden. Schwierig ist es nur wenn der Code an sich noch hinter einem GUI Element angehängt wird und dann mehrfach aktivier wird - das ist aber keine Störung sondern eine Fehlbedienung 🙂

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            748
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            24
                                            967
                                            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