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 Zeitsteuerung Astro

    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

    Blockly Zeitsteuerung Astro

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

      Kann das so funktionieren?

      test.jpg

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

        @tscheerio
        Nein

        Es darf kein Logikblock außerhalb des Triggers sein.
        Der muss innerhalb des Triggers um die anderen liegen

        1 Reply Last reply Reply Quote 0
        • W
          weimaraner last edited by weimaraner

          Also, du mußt bei so einem Programm unterscheiden zwischen Trigger, also wann wird das PROGRAMM GESTARTET und Bedingung , also was soll ERFÜLLT SEIN, damnit etwas geschieht.

          Wenn ich es richtig verstehe, soll dein BWM nur das Licht anschalten, wenn es dunkel ist (was auch Sinn macht).

          Du mußt nun überlegen, was dein Programm starten, also auslösen soll. Der Trigger also. Willst du nur eine Lampe einschalten bei Sonnenuntergang und sie soll die ganze Nacht anbleiben, kannst du als Trigger die Astrofunktion Sonnenuntergang nehmen.

          Trigger (Auslöser des Programms) ->Sonnenuntergang
          das Porgramm start nun und arbeitet alle "Falls" - "mache" Zweige ab.
          falls Licht aus,
          mache Licht an.

          Schaltest Du das Licht jetzt per Hand aus, bleibt es auch aus, da das Programm ja nicht nochmal gestartet wird, da der Trigger erst morgen wieder zum Sonnenuntergang triggert. Soweit klar?

          Du möchtest ja nach Sonnenuntergang immer mit BWM das Licht anschalten. Also brauchen wir einen anderen Trigger.
          Den BWM zum Beispiel. Jedesmal, wenn der BWM was meldet, läuft das Programm. Es soll aber nicht jedesmal das das Licht angehen. Also müssen wir da eine Bedingung einbauen.
          Trigger: Änderung BWM
          Falls Zeit nach Sonnenuntergang und Licht ist aus,
          mache Licht an

          Schaltest Du jetzt das Licht per Hand aus und läufts durch den Raum, dann triggert der BWM dein Programm neu. Er läßt es also nochmal laufen:
          Falls Zeit nach Sonnenuntergang und Licht ist aus,
          mache Licht an

          Das Licht geht wieder an.

          Jetzt klarer?
          Grüße Andreas

          edit: der Trigger muß "Über" allem stehen. erst trigger, dann falls-mache

          1 Reply Last reply Reply Quote 2
          • T
            tscheerio last edited by

            Also wieder was gelernt, mit dem trigger muss gestartet werden, naja hätte ich mir auch irgendwie denken können 😌

            Passt das denn mit dem Zeitraum den ich auf dem Bild definiert habe?
            "aktuelle Zeit ist zwischen Sonnuntergang-Anfang und Sonnenaufgang-Ende"?

            test2.jpg

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

              @tscheerio sagte in Blockly Zeitsteuerung Astro:

              Passt das denn mit dem Zeitraum den ich auf dem Bild definiert habe?

              Probieren!
              Ist ja nicht direkt stockdunkel. Das dauert bis zu einer Stunde

              Sieht aber gut aud

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

                @tscheerio sagte in Blockly Zeitsteuerung Astro:

                Passt das denn mit dem Zeitraum den ich auf dem Bild definiert habe?
                "aktuelle Zeit ist zwischen Sonnuntergang-Anfang und Sonnenaufgang-Ende"?

                Da gibt es ein Problem mit dem aktuellen Datum. Ändere in
                "aktuelle Zeit ist nicht zwischen Sonnenaufgang-Ende und Sonnenuntergang-Anfang"

                1 Reply Last reply Reply Quote 1
                • T
                  TDCroPower @tscheerio last edited by TDCroPower

                  @tscheerio ich habe es so gelöst und es funktioniert perfekt.

                  Hier ist Nachtcheck ein boolean Datenpunkt den ich unter Objekte >>> javascript.0 erstellt habe und das Skript mit true/false beschreibt.
                  So kann ich den Nachtcheck in verschiedenen Skripten immer wieder abfragen ohne die komplette Abfrage zu wiederholen.

                  Datenpunkt


                  astrocheck2.png

                  Blockly


                  astrocheck.png

                  Export


                  <xml xmlns="http://www.w3.org/1999/xhtml">
                  <block type="astro" id="{C7?|IEcvW3KqGXe+pmm" x="13" y="13">
                  <field name="TYPE">sunsetStart</field>
                  <field name="OFFSET">0</field>
                  <statement name="STATEMENT">
                  <block type="comment" id="/mWkI8#vOxhyNl2ZtNRH">
                  <field name="COMMENT">Nacht beginnt</field>
                  <next>
                  <block type="control" id="}40OV;6@qyy38I~q_1#G">
                  <mutation delay_input="false"></mutation>
                  <field name="OID">javascript.0.Nachtcheck</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE">
                  <block type="logic_boolean" id="_PXiN|97w.IGgI_NrEiP">
                  <field name="BOOL">TRUE</field>
                  </block>
                  </value>
                  </block>
                  </next>
                  </block>
                  </statement>
                  <next>
                  <block type="astro" id="6HS^L{J?9K0=%parqfx"> <field name="TYPE">sunriseEnd</field> <field name="OFFSET">0</field> <statement name="STATEMENT"> <block type="comment" id="Z2=kjcw.l]pAxZu|(z0r"> <field name="COMMENT">Nacht beendet</field> <next> <block type="control" id="3BBce0;71KXbhq!WRl-g"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Nachtcheck</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="SbQaGZo1)v|LNW_U09BU"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> <next> <block type="controls_if" id="*-8_*Ve#qc@lmJf=?9^7"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_operation" id="2_Y8Md:ezCN2!}Z7jx" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="time_compare_ex" id="m,nakXP=.[jQr08W3I{z"> <mutation end_time="false" actual_time="true"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION">&lt;</field> <value name="START_TIME"> <shadow type="text" id="o?zB{!dlZWe41^;o=B)">
                  <field name="TEXT">12:00</field>
                  </shadow>
                  <block type="time_astro" id="FHJTfX]K6p[qvhY8pD=%">
                  <field name="TYPE">sunriseEnd</field>
                  <field name="OFFSET">0</field>
                  </block>
                  </value>
                  </block>
                  </value>
                  <value name="B">
                  <block type="time_compare_ex" id="J0oB^5g)5VlF7Gc2%O{">
                  <mutation end_time="false" actual_time="true"></mutation>
                  <field name="USE_ACTUAL_TIME">TRUE</field>
                  <field name="OPTION">></field>
                  <value name="START_TIME">
                  <shadow type="text" id="o?zB{!dl`ZWe41^;o=B)">
                  <field name="TEXT">12:00</field>
                  </shadow>
                  <block type="time_astro" id="
                  ,VxQdKsUdy9puwr:k7~">
                  <field name="TYPE">sunsetStart</field>
                  <field name="OFFSET">0</field>
                  </block>
                  </value>
                  </block>
                  </value>
                  </block>
                  </value>
                  <statement name="DO0">
                  <block type="comment" id="vs1/mNZX2p?iVe3Qj9;:">
                  <field name="COMMENT">Nacht</field>
                  <next>
                  <block type="update" id="ke8W;G9=7siBdgi8q=at">
                  <mutation delay_input="false"></mutation>
                  <field name="OID">javascript.0.Nachtcheck</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE">
                  <block type="logic_boolean" id="QyK%hO/3wWg^N9OBxUq5">
                  <field name="BOOL">TRUE</field>
                  </block>
                  </value>
                  </block>
                  </next>
                  </block>
                  </statement>
                  <statement name="ELSE">
                  <block type="comment" id="en([|+q[X=l{0}1N0[=p">
                  <field name="COMMENT">Tag</field>
                  <next>
                  <block type="update" id="KKsw{Y|~rdU(%qLLv598">
                  <mutation delay_input="false"></mutation>
                  <field name="OID">javascript.0.Nachtcheck</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE">
                  <block type="logic_boolean" id="xe(T=h=hti/s.:l9{pw=">
                  <field name="BOOL">FALSE</field>
                  </block>
                  </value>
                  </block>
                  </next>
                  </block>
                  </statement>
                  </block>
                  </next>
                  </block>
                  </next>
                  </block>
                  </xml>

                  1 Reply Last reply Reply Quote 1
                  • T
                    tscheerio last edited by

                    @paul53
                    das hab ich mir fast gedacht das es da ein Problem gibt, aber auch mit deinem Vorschlag
                    "aktuelle Zeit ist nicht zwischen Sonnenaufgang-Ende und Sonnenuntergang-Anfang"
                    bleibt das Licht aus.
                    Ich muss das wohl mal noch anders probieren.

                    @TDCroPower
                    Die Umsetzung schaue ich mir nachher mal genauer an, stell dich mal auf fragen ein 😂

                    T Homoran 2 Replies Last reply Reply Quote 0
                    • T
                      TDCroPower @tscheerio last edited by

                      @tscheerio immer her damit, meine Version funktioniert bislang tadellos.
                      Auch wenn das System mal neugestartet wird und der Astro Zeitpunkt verpasst wurde.

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

                        @tscheerio
                        Bist du sicher dass der bwm Status in ioBroker ankommt?

                        1 Reply Last reply Reply Quote 0
                        • T
                          tscheerio last edited by tscheerio

                          @Homoran
                          Ganz sicher, die Lichtsteuerung mit bwm funktioniert seit Monaten ohne den Astro Block zuverlässig.
                          Kann es sein das die hinterlegte Zeit in iobroker nicht korrekt oder falsch eingestellt ist?
                          Die habe ich nämlich nirgendwo gefunden.

                          @TDCroPower
                          Wie rufst du diesen Boolean wert in einem anderen Blockly dann wieder auf?
                          Oder ist dann das aufgerufe Skript der Boolean Wert?

                          Und wo hast du den "oder" Block her? 😌
                          Also den "falls"-->"oder"-->"aktuelle Zeit ..."
                          Der scheint sich bei mir zu verstecken 🤔

                          Edit:
                          Was ich gerade gesehen habe das Log file bringt mir folgenden fehler:
                          Longitude or latitude does not set. Cannot use astro.

                          Habe allerdings in den Einstellungen von iobroker Land/Stadt/Breitengrad und Längengrad eingetragen und zeigt auch die korrekte Adresse auf der Map an, warum also der Fehler?

                          Edit2:
                          Habe gesehen in der Skriptausführung können auch Längen und Breitengrad eingetragen werden, hier ist allerdings der haken aktiviert für die Systemeinstellung.
                          Was ich aber etwas komisch finde sobald ich im Skript Adapter auf "Astro-Einstellungen" wechsel zeigt er mir für 1sec die Map an und quittiert das ganze mit "Hoppla ein Fehler ist aufgetreten" und zeigt dann garnichts mehr an.
                          Dasselbe wenn man Länge/Breiten manuell einträgt

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

                            @tscheerio sagte in Blockly Zeitsteuerung Astro:

                            Longitude or latitude does not set. Cannot use astro.

                            Hast du sie denn in den Systemeinstellungen hinterlegt?
                            (im admin oben links der Schraubenschlüssel)

                            1 Reply Last reply Reply Quote 0
                            • T
                              tscheerio last edited by

                              @Homoran
                              Ja sie sind hinterlegt und wird auch korrekt auf der Karte angezeigt

                              1 Reply Last reply Reply Quote 0
                              • T
                                tscheerio last edited by

                                @Homoran
                                Habe alles nochmal eingetragen und alles gespeichert nun geht das Licht an und es gibt keine Fehlermeldung mehr 😳
                                Ich werde das mal weiter beobachten

                                1 Reply Last reply Reply Quote 0
                                • T
                                  TDCroPower @tscheerio last edited by

                                  @tscheerio nimmst einfach unter "Logik" den dritten Block der mit "und" hinterlegt ist.
                                  Dann klickst du auf "und" und wechselst auf "oder".

                                  Den Wert frage ich einfach als Objekt ab z.B. so...
                                  nachtcheck_benutzen.png

                                  1 Reply Last reply Reply Quote 0
                                  • T
                                    tscheerio last edited by

                                    @TDCroPower
                                    Sieht mir alles Sinnvoll aus, ich glaube ich mache das auch so obwohl gerade alles funktioniert 😂

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    831
                                    Online

                                    31.8k
                                    Users

                                    80.0k
                                    Topics

                                    1.3m
                                    Posts

                                    blockly
                                    5
                                    25
                                    14298
                                    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