Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Zweiter Zeitplan in Blockly wird nicht ausgeführt

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Zweiter Zeitplan in Blockly wird nicht ausgeführt

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

      Soderle,

      ich hab jetzt mal mit Bauklötze gespielt.

      Vorab, gestern Abend ist mir noch die Idee gekommen, das ganze mit Variablen für die Temperaturlimits aufzubauen.
      Da war die Vorlage von @paul53 mein "Trigger" 😊

      Grundsätzlich gibt es zwei Möglichkeiten, den Ablauf zu steuern:
      A: Trigger über Zeit(-fenster)
      B: Trigger über Temperatur
      Die letzten Tage habe ich es über Trigger Zeit versucht und bin nicht weiter gekommen.
      Ich habe mich jetzt für Trigger Temperatur entschieden und folgendes Blockly erzeugt, welches aktuell läuft:
      Blockly_zwei_Zeitplaene_04.png
      Hier habe ich noch mal entgegen der Empfehlung, nur ein mal "steuere" zu verwenden, mich für zwei entschieden.
      Gibt es einen Grund, warum man das nicht machen sollte?

      Alternativ dazu vorbereitet und strenger an die Bsp.-vorlage gehalten:
      Blockly_zwei_Zeitplaene_05.png
      Ist jetzt mein zweiter Pfeil im Köcher und dazu noch die Frage für was der markierte Block notwendig ist, da ich den Sinn dafür nicht ganz verstehe:
      Blockly_zwei_Zeitplaene_bsp_paul.png

      Gruß
      Breiti

      Codierknecht MartinP 2 Replies Last reply Reply Quote 0
      • Codierknecht
        Codierknecht Developer Most Active @Breiti_74 last edited by

        @breiti_74

        Zur ersten Frage: Nur einmal "steuere", weil das für den Compiler relativ aufwändig ist und sonst im Speicher zusätzlichen Platz benötigt. Es gibt dann halt 2 Einsprungadressen.

        Zum markierten Bereich: Hier wird zusätzlich geprüft, ob überhaupt etwas zu senden ist. Wenn z.B. die Heizung bereits läuft, muss ich ihr nicht sagen dass sie sich bitte einschalten soll. Bei "aus" natürlich umgekehrt.
        Stichwort "Funk-Hygiene".

        Breiti_74 1 Reply Last reply Reply Quote 1
        • Breiti_74
          Breiti_74 @Codierknecht last edited by

          @codierknecht

          Danke für die schnelle Antwort.

          Das macht dann natürlich Sinn mit "steuere" nur ein mal verwenden.
          Und der Block für die Schalterabfrage ist mir jetzt auch klar.

          Gruß
          Breiti

          1 Reply Last reply Reply Quote 0
          • MartinP
            MartinP @Breiti_74 last edited by MartinP

            @breiti_74 Die Arbeit gehört in drei Blöcke

            1. Block - Täglich EINMALIG Zeitgesteuert ausgeführt bei Sonnenaufgang: Temperaturlimits (Oben UND Unten) für den Tagbetrieb einstellen
            2. Block - Täglich EINMALIG Zeitgesteuert ausgeführt bei Sonnenuntergang: Temperaturlimits (Oben UND Unten) für den Nachtbetrieb einstellen
            3. Block - Ausgeführt bei Temperaturänderung: Arbeiten mit den entsprechend Block 1 bzw. 2 eingestellten Limits ...

            52c9f7e5-9737-4c99-9898-0ca967ef9a44-grafik.png

            Breiti_74 1 Reply Last reply Reply Quote 0
            • Breiti_74
              Breiti_74 @MartinP last edited by

              @martinp
              Danke für diese Möglichkeit.
              Eine Verständnisfrage dazu.
              Die beiden Astro sind ja Trigger, heißt also wenn das Script gestartet wurde, werden die dann jedes mal bei Ereignisänderung (Sonnenauf- bzw. -untergang) aktiv oder läuft das nur ein mal durch und bleibt dann so?
              Sorry wenn ich da nachfrage, ich hab schon etwas Basiswissen, aber bin mir bei manchen Dingen nicht ganz sicher.

              Falls das immer wieder abläuft, würde mir diese Lösung mit am Besten gefallen, dann noch mit Variablen "setze" und nur ein mal "steuere".

              Gruß
              Breiti

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

                @breiti_74 wenn das skript läuft werden die Variablen bei jedem Sonnenauf- bzw. Untergegang neu befüllt.

                Bei Skriptstart sind sie jedoch undefined

                Daher sollte man ohne Trigger noch ein falls-sonst Block nehmen um die Variablen bei Skriptstart zu füllen.

                falls aktuelle Zeit ist zwischen Sonnenauf und untergang, setze min auf x, setze max auf y; sonst setze min auf z, setze max auf zz

                1 Reply Last reply Reply Quote 1
                • MartinP
                  MartinP last edited by MartinP

                  @breiti_74 Ich habe die selber auch noch nicht eingesetzt, würde einfach mal einen Versuchsballon mit Logging starten lassen ...

                  Hier gibt es einen Thread zum Thema...
                  https://forum.iobroker.net/topic/20171/blockly-zeitsteuerung-astro/17

                  den Einwurf von @Homoran auch bitte beachten, ich habe da etwas vereinfacht ...

                  Aus dem anderen Thread

                  https://forum.iobroker.net/assets/uploads/files/1550754084540-astrocheck2.png

                  1 Reply Last reply Reply Quote 1
                  • Breiti_74
                    Breiti_74 last edited by Breiti_74

                    Ihr seid echt klasse.

                    Vielen Dank für den Support.

                    Ich habe jetzt noch ein Script gebaut, welches mir bis jetzt am Besten gefällt:
                    Blockly_zwei_Zeitplaene_06.png

                    Die Unschärfe mit den undefinierten Temperaturlimits bei Scriptstart lasse ich mal noch so stehen.
                    Ich habe vor längerem schon ein Script erstellt: Email-Benachrichtigung, falls die Steckdose nicht erreichbar ist, bzw. Temperatur unter 1°C fällt. Das ist meine Absicherung und ich kann dann manuell eingreifen.

                    Ich lasse das Script in Beitrag 7 jetzt erst mal so weiter laufen und schaue, wie es sich verhält.
                    Werde dann bei Gelegenheit auf das Script in diesem Beitrag switchen und testen.

                    Gruß
                    Breiti

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

                      @breiti_74 sagte in Zweiter Zeitplan in Blockly wird nicht ausgeführt:

                      Die Unschärfe mit den undefinierten Temperaturlimits bei Scriptstart lasse ich mal noch so stehen.

                      das ist keine Unschärfe!
                      Das Skript funktioniert dann bis zum nächsten Astroereignis nicht und wirft bei jedem triggetn einen Fehler

                      1 Reply Last reply Reply Quote 0
                      • MartinP
                        MartinP @Breiti_74 last edited by

                        @breiti_74 Man kann einen "falls" Block über das Zahnrad-Symbol links oben erweitern durch "sonst" oder "sonst falls" Blöcke... Das erspart im Skript ein wenig Rechenzeit gegenüber drei separaten "falls" Blöcken...

                        1 Reply Last reply Reply Quote 1
                        • Breiti_74
                          Breiti_74 last edited by

                          Ok, überzeugt.

                          Ich habs ergänzt/geändert:
                          Blockly_zwei_Zeitplaene_07.png

                          Gruß
                          Breiti

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

                            @breiti_74 sagte in Zweiter Zeitplan in Blockly wird nicht ausgeführt:

                            Ich habs ergänzt/geändert:

                            nicht sonst und dann einen falls block, sondern die Variante sonst falls wählen

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

                              @homoran said in Zweiter Zeitplan in Blockly wird nicht ausgeführt:

                              @breiti_74 sagte in Zweiter Zeitplan in Blockly wird nicht ausgeführt:

                              Ich habs ergänzt/geändert:

                              nicht sonst und dann einen falls block, sondern die Variante sonst falls wählen

                              Die kann man dann auch mehrfach kaskadieren ...

                              b4637a22-3e8b-4407-a99f-9dc38e94f3d9-grafik.png

                              1 Reply Last reply Reply Quote 0
                              • Breiti_74
                                Breiti_74 last edited by

                                Autsch,

                                ja, hab ich übersehen.
                                Korrektur im 3. Block:
                                Blockly_zwei_Zeitplaene_08.png
                                Die Schalter "ungleich" Abfrage lasse ich aber noch extra stehen. Ich brauche noch für mich eine wenig einfachere visuell strukturierte Übersicht.

                                Das mit den Zahnrädern, kaskadierend und auch den Kontextmenüs habe ich schon über mehrere Umwege teilweise leidvoll gelernt.
                                Aber das bin ich so als Beginner in neuen Themen gewohnt.
                                Hinfallen, aufstehen, Krone richten und weiter gehts.

                                Gruß
                                Breiti

                                1 Reply Last reply Reply Quote 0
                                • Breiti_74
                                  Breiti_74 last edited by Breiti_74

                                  Kurzes Resümee von meiner Seite.

                                  Beide Scripte (Post 7 und Post 17 mit Korrektur Post 20) funktionieren jetzt so, wie ich es mir vorstelle:
                                  Hühnerstall Temperatur.png
                                  Grün: erstes Script
                                  Blau: optimiertes Script mit euren Tips und Hinweisen und lasse dies jetzt auch so laufen.

                                  Danke.

                                  Gruß
                                  Breiti

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  404
                                  Online

                                  32.0k
                                  Users

                                  80.4k
                                  Topics

                                  1.3m
                                  Posts

                                  6
                                  21
                                  607
                                  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