Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Benötige Hilfe bei Blockly

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Benötige Hilfe bei Blockly

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

      @MarkusP Bei Verwendung des Variablenbezeichners schedule, wird der Zeitplan nicht gelöscht und ein weiterer hinzugefügt. Das geht immer so weiter.
      Ändere den Variablenbezeichner und starte anschließend ioBroker neu, um alle Zeitpläne, die noch irgendwo gespeichert sind, zu löschen.

      1 Reply Last reply Reply Quote 0
      • Dr. Bakterius
        Dr. Bakterius Most Active @MarkusP last edited by

        @MarkusP Warum machst du das mit einem Zeitplan? Ich verstehe die Funktion nicht. Sollen die Rollläden zu bleiben wenn man nicht "Guten Morgen sagt"? Wenn man es sagst, sollen sie erst zu einer bestimmten Zeit öffnen? Also was ist das Ziel?

        1 Reply Last reply Reply Quote 0
        • M
          MarkusP last edited by

          Also Ziel ist folgendes:

          Situation 1 es ist jemand zuhause (Status Abwesend = false):

          Wenn ich "Guten Morgen" sage soll folgendes berücksichtigt werden:

          Sonnenaufgang schon vorbei oder noch dunkel?
          Uhrzeit ist vor oder nach 7 Uhr?

          • Wenn es im Sommer schon um 5 Uhr hell wird (und ich ab und zu schon um 5 aufstehe) sollen die Rolläden nicht gleich hoch gehen sondern bis 7 Uhr warten.
          • Wenn ich um 5 Uhr aufstehe und es aber im tiefsten Winter erst um 8 Uhr hell wird, sollen die Rolläden erst nach Sonnenaufgang-Ende öffnen
          • Wenn ich am Wochenende lange schlafe und ich nach 7 Uhr "Guten Morgen" sage und es schon hell ist sollen die Rolläden in 15 Minuten öffnen.

          Den Zeitplan verwende ich, da ich ja nicht vorhersagen kann wann ich am nächsten Tag "Guten Morgen" sagen will.
          Man könnte höchstens die verbleibende Zeit seit "guten Morgen" bis Sonnenaufgang berechnen und dann einen "Timer" starten.

          Hoffe das ist irgendwie verständlich ausgedrückt.

          1 Reply Last reply Reply Quote 0
          • M
            MarkusP last edited by MarkusP

            Ich könnte natürlich anstelle des Zeitplans einfach einen Astrotrigger verwenden nur habe ich dann die Befürchtung, dass dieser auch jeden Tag nochmals gestartet wird. Irgendwo habe ich mal gelese, dass man keine Trigger innerhalb von Triggern verwenden soll wobei "Zeitplan" ja auch ein Trigger ist.

            Dr. Bakterius paul53 2 Replies Last reply Reply Quote 0
            • Dr. Bakterius
              Dr. Bakterius Most Active @MarkusP last edited by

              @MarkusP Ich würde mit "Guten Morgen" einfach einen Datenpunkt auf 'true' setzen und den Rest mit dem Astrotrigger bzw. einem Timeout machen. Nach dem Öffnen den Datenpunkt wieder auf 'false' setzen.

              Also wenn Datenpunkt = true und Sonnenaufgang = true -> Rollladen auf in 15 Minuten.

              So sollten die Rollläden frühestens 15 Minuten nach Sonnenaufgang hochgehen, bzw. 15 Minuten nachdem du "Guten Morgen" gesagt hast.

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

                @MarkusP sagte:

                anstelle des Zeitplans einfach einen Astrotrigger verwenden nur habe ich dann die Befürchtung, dass dieser auch jeden Tag nochmals gestartet wird.

                Die Befürchtung ist richtig, denn Astro-Trigger lassen sich nicht löschen.

                @MarkusP sagte in Benötige Hilfe bei Blockly:

                Irgendwo habe ich mal gelese, dass man keine Trigger innerhalb von Triggern verwenden soll wobei "Zeitplan" ja auch ein Trigger ist.

                Das stimmt im Prinzip, allerdings kann man einen Zeitplan innerhalb eines Datenpunkt-Triggers verwenden, wenn man den Zeitplan vor erneutem Setzen löscht.

                1 Reply Last reply Reply Quote 0
                • M
                  MarkusP last edited by MarkusP

                  Mein Skript für die Rolläden am Morgen sieht nun so aus:

                  Bildschirmfoto 2019-03-10 um 15.08.44.png

                  Die zusammengefalteten Blöcke betreffen nur die Ansteuerung der einzelnen Rolläden und von Werten, die der reinen Information gelten. Habe das einfach der Überischt halber mal reduziert. Die Zeitverzögerungen habe ich eingebaut da ich befürchte, dass mir die Variablen vielleicht nicht schnell genug aktualsiert werden und möglicherweise alte Werte vom Vortag an den Zeitplan übergeben werden.

                  Zur Funktion:

                  • Wenn ich "Guten Morgen" sage wird der Wert "GutenMorgenGesagt" = true.

                  • Die Variable "UhrzeitRolladenOeffnen" wird auf eine mit einem anderen Skript berechnete Uhrzeit gesetzt.

                  • 2 Sekunden danach wird der Inhalt der Variablen auf 2 Variablen namens "Stunden" und "Minuten" aufgeteilt.

                  • Wenn "Dunkel_fuer_Rolladen" = wahr (über ein weiteres Skript gesteuert), dann wird Zeitplan "Plan1" mit den Werten aus den Variablen "Stunden" und "Minuten" gesetzt und läuft irgendwann ab

                  • Beim Ablauf von "Plan1" stoppt sich dieser selbst und sollte eigentlich am nächsten Tag nicht mehr zur gleichen Zeit auslösen (bzw. evtl. mit einer neuen Zeit auslösen)

                  • Sollte "Dunkel_fuer_Rolladen" = false sein, wird verglichen ob die Zeit kleiner oder gleich 7 Uhr ist.

                  • Wenn ja, dann öffnen die Rolläden um 7.01 Uhr, wobei sich der "Plan2" wieder selbst stoppt.

                  • Wenn es nun aber später als 7 Uhr ist, öffnen die Rolläden 15 Minuten später.

                  Sieht das Skript nun so aus als sollte es funktionieren oder habe ich irgendwo einen Fehler? Bin mir einfach nicht sicher, ob die einzelnen Zeitpläne auch tatsächlich angehalten werden und sich mit neuen Zeiten "befüllen" lassen können.

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

                    Setze mal zusätzlich unmittelbar vor die Zeitpläne ein zugehöriges stop PlanN. Das ist erforderlich, wenn Du mehr als einmal am Tag "Guten Morgen" sagst.

                    1 Reply Last reply Reply Quote 0
                    • M
                      MarkusP last edited by

                      Du meinst so?

                      Bildschirmfoto 2019-03-10 um 16.13.51.png

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

                        @MarkusP sagte:

                        Du meinst so?

                        Ja.

                        1 Reply Last reply Reply Quote 0
                        • M
                          MarkusP last edited by

                          OK, macht Sinn. Danke dir bzw Euch. Ich werde in 2 Tagen berichten ob es funktioniert oder ob an Tag 2 die Rolläden zur falschen Zeit von Tag 1 öffnen 😉

                          1 Reply Last reply Reply Quote 0
                          • M
                            MarkusP last edited by

                            Nach 2 Tagen kann ich nun sagen, dass das Skript bzw. beide (auch für abendliche Rolladensteuerung) funktionieren. Ich hab nun aber das Problem, dass die Skripte nach einem Tag anfangen doppelt zu laufen.

                            Bildschirmfoto 2019-03-12 um 18.23.00.png
                            Das ist die Debugausgabe im Log von heute Abend. Die Uhrzeit für den Zeitplan wurde 2x gesetzt. Ich weiß nicht wie ich mir das erklären soll.

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            501
                            Online

                            31.9k
                            Users

                            80.2k
                            Topics

                            1.3m
                            Posts

                            3
                            17
                            1004
                            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