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

      Hallo, ich bin vor ein paar Wochen in IOT mit ioBroker, influxdb und Grafana eingestiegen. Habe zuvor schon mit Fritzdect ein paar Automationen gefahren, dann noch BKW mit Hoymiles + openDTU und ein paar shellys im Einsatz.
      Ich steuere jetzt alles zentral über ioBroker.

      Aktuell hänge ich am Problem für die tageszeitabhängige Temperatursteuerung der Hühnerstallheizung.
      Im Stall sind zwei Rohrheizungen an einer FRITZ!DECT 210 angeschlossen.
      Die Heizung soll astronomisch Tag im Temperaturbereich A laufen und astronomisch Nacht im Temperaturbereich B aktiv sein:
      Blockly_zwei_Zeitplaene.png
      Blockly_zwei_Zeitplaene_02.png
      Blockly_zwei_Zeitplaene_03.png
      Ich habe das Script morgens vor Sonnenaufgang gestartet und lief auch an. Die Temperatursteuerung funktioniert so wie ich es mir vorstelle.
      Allerdings wird beim Wechsel von astronomisch Tag auf astronomisch Nacht nicht der Temperaturbereich gewechselt, bzw. die Steckdose bleibt auf aus.
      Ich hab das Script gestoppt und "Tag..." deaktiviert und neu gestartet. Funktioniert auch nicht.
      Erst wenn ich den Trigger von Zeitplan auf Temperatur ändere, funktioniert alles.

      Wo liegt der Fehler?

      Gruß
      Breiti

      crunchip 1 Reply Last reply Reply Quote 0
      • crunchip
        crunchip Forum Testing Most Active @Breiti_74 last edited by crunchip

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

        Wo liegt der Fehler?

        warum willst du jede Minute triggern?

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

        Erst wenn ich den Trigger von Zeitplan auf Temperatur ändere, funktioniert alles

        wäre auch richtig und als Bedingung nimmst du die Zeit dazu

        PS:
        größer 3 ist auch gleichzeitig kleiner 4.5

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

          @crunchip
          ist der Minuten Trigger der Grund, warum der "Nacht" Zeitplan nicht ausgeführt wird?
          Was muß ich ändern?

          Aber Temp größer 3 gilt ja nur für "Tag". Spätestens bei "Nacht" größer 6,5 soll ja die Steckdose wieder abschalten und bei 4,5 wieder ein.
          Macht sie aber nicht.

          Ich habe das Blockly schon mehrfach umgestellt und getestet und auch Primärtrigger Temperatur verwendet, bzw. auch aufgeteilt in mehrere Scripte. Hat aber alles nicht so funktioniert.
          Vielleicht gibt es aber einen anderen Lösungsweg als den von mir gedachten.
          Was ich benötige habe ich ja schon in meinem Eingangspost beschrieben: ein Steckdosenschaltung für best. Temperaturbereich für den Tag und eine für die Nacht.

          Gruß
          Breiti

          Codierknecht 1 Reply Last reply Reply Quote 0
          • Codierknecht
            Codierknecht Developer Most Active @Breiti_74 last edited by

            @breiti_74
            Nimm CRON statt diesen ominösen "Wizard".
            Das funktioniert nach meiner Erfahrung deutlich stabiler.

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

              @codierknecht sagte: Nimm CRON statt diesen ominösen "Wizard".

              ... und nur einen Trigger und nur einmal "steuere":

              Blockly_temp.JPG

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

                @Codierknecht und @paul53 Danke für die Tips.
                Wenn der Wizard wirklich nicht sauber funktioniert, kann das der Grund sein.
                Ich hatte irgendwann schon mal so was ähnliches wie im Schema von @paul53 , aber kam irgendwie immer auf trigger im trigger. Das soll man ja tunlichst vermeiden, habe ich gelesen.
                Ich setze mich morgen Vormittag mal dran und versuche es noch mal mit deiner Vorlage.

                Gruß
                Breiti

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            683
                                            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