Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Lichtsteuerung bei Ankunft

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.2k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.6k

Lichtsteuerung bei Ankunft

Geplant Angeheftet Gesperrt Verschoben Blockly
20 Beiträge 5 Kommentatoren 1.3k Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • J joachim.knape

    Wenn meine Frau abends von der Arbeit nach Hause kommt und sich das Handy ins Wlan einbucht, soll die Aussenbeleuchtung eingeschaltet werden, und sich selbständig nach 2 Minuten wieder ausschalten. Die Erkennung mache ich mit Ping, da wird ja ANWESEND TRUE oder FALSE gesetzt.
    Wie bekomme ich das für mehrere (bekannte) Personen hin?
    Das problem für mich ist ja, daß erkannt werden muss, von wo nach wo gewechselt wird oder umgekehrt.. es soll ja nur Licht eingeschaltet werden, wenn der Wert von false auf true wechselt..

    J Offline
    J Offline
    joachim.knape
    schrieb am zuletzt editiert von
    #5

    @joachim-knape Ich hab das jetzt erstmal so probiert.. aber das Licht geht immer wieder an und aus...

    Bild_2020_10_15_19_31_20_796.jpg

    J HomoranH dslraserD 3 Antworten Letzte Antwort
    0
    • da_WoodyD da_Woody

      @joachim-knape said in Lichtsteuerung bei Ankunft:

      Wie bekomme ich das für mehrere (bekannte) Personen hin?

      anhand der ip adresse des handys. die sollte halt im router an die mac gebunden sein damit immer die selbe ip verwendet wird.

      J Offline
      J Offline
      joachim.knape
      schrieb am zuletzt editiert von
      #6

      @da_Woody ja, das ist klar. das handy hat immer die gleiche ip.

      da_WoodyD 1 Antwort Letzte Antwort
      0
      • J joachim.knape

        @joachim-knape Ich hab das jetzt erstmal so probiert.. aber das Licht geht immer wieder an und aus...

        Bild_2020_10_15_19_31_20_796.jpg

        J Offline
        J Offline
        jensven
        schrieb am zuletzt editiert von jensven
        #7

        hier stand quatsch

        1 Antwort Letzte Antwort
        0
        • J joachim.knape

          @da_Woody ja, das ist klar. das handy hat immer die gleiche ip.

          da_WoodyD Online
          da_WoodyD Online
          da_Woody
          schrieb am zuletzt editiert von
          #8

          @joachim-knape schon mal smart-control angeschaut? bei mir ist es so, das wenn keiner zu hause ist, werden die 3 lampen auf der terasse nicht eingeschalten, wenn wer zu hause ist, 1. sunset, 2. sunset+15, 3. sunset+30.
          ok, die abstufung brauchst du nicht, und das ganze umgekehrt. sollte sich mit dem adapter aber steuern lassen.

          gruß vom Woody
          HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

          1 Antwort Letzte Antwort
          0
          • J joachim.knape

            @joachim-knape Ich hab das jetzt erstmal so probiert.. aber das Licht geht immer wieder an und aus...

            Bild_2020_10_15_19_31_20_796.jpg

            HomoranH Offline
            HomoranH Offline
            Homoran
            Global Moderator Administrators
            schrieb am zuletzt editiert von
            #9

            @joachim-knape sagte in Lichtsteuerung bei Ankunft:

            aber das Licht geht immer wieder an und aus...

            ist doch klar, 5000ms sind nur 5 Sekunden, und danach ist der Status des Handys ja immer noch wahr und du triggerst sogar auf aktualisieren

            deswegen solltest du ja auf "ist größer als letztes" triggern

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            1 Antwort Letzte Antwort
            0
            • J joachim.knape

              @joachim-knape Ich hab das jetzt erstmal so probiert.. aber das Licht geht immer wieder an und aus...

              Bild_2020_10_15_19_31_20_796.jpg

              dslraserD Offline
              dslraserD Offline
              dslraser
              Forum Testing Most Active
              schrieb am zuletzt editiert von
              #10

              @joachim-knape
              warum noch ein sonst ? (das sonst und der Inhalt kann weg) Und Dein Trigger steht auf wurde aktualisiert ? (probiere wurde geändert)
              Und die 5 Sekunden sind nur zum testen ? Weil Du oben im 1.Beitrag 2 Minuten geschrieben hast.

              J 1 Antwort Letzte Antwort
              0
              • dslraserD dslraser

                @joachim-knape
                warum noch ein sonst ? (das sonst und der Inhalt kann weg) Und Dein Trigger steht auf wurde aktualisiert ? (probiere wurde geändert)
                Und die 5 Sekunden sind nur zum testen ? Weil Du oben im 1.Beitrag 2 Minuten geschrieben hast.

                J Offline
                J Offline
                joachim.knape
                schrieb am zuletzt editiert von joachim.knape
                #11

                @dslraser die zeitangabe von 5 sekunden ist nur zum testen. kann ja später auf 5min hochgesetzt werdne, wenn alles klappt.
                ich habe das script jetzt so:
                Bild_2020_10_15_20_49_10_225.jpg
                der trigger mit größer als letztes klappt.. aber nur beim ersten objekt.. wenn ich nach hause komme, gehts, mein weib tappt im dunkeln...
                wie bekommt man beim triggern hin, daß ENTWEDER ODER erkannt wird?
                irgendwann verzweifel ich hier nochmal..

                EDIT... ich hab FALLS usw für mein weib vergessen...
                Bild_2020_10_15_21_03_08_773.jpg

                dslraserD 2 Antworten Letzte Antwort
                0
                • J joachim.knape

                  @dslraser die zeitangabe von 5 sekunden ist nur zum testen. kann ja später auf 5min hochgesetzt werdne, wenn alles klappt.
                  ich habe das script jetzt so:
                  Bild_2020_10_15_20_49_10_225.jpg
                  der trigger mit größer als letztes klappt.. aber nur beim ersten objekt.. wenn ich nach hause komme, gehts, mein weib tappt im dunkeln...
                  wie bekommt man beim triggern hin, daß ENTWEDER ODER erkannt wird?
                  irgendwann verzweifel ich hier nochmal..

                  EDIT... ich hab FALLS usw für mein weib vergessen...
                  Bild_2020_10_15_21_03_08_773.jpg

                  dslraserD Offline
                  dslraserD Offline
                  dslraser
                  Forum Testing Most Active
                  schrieb am zuletzt editiert von
                  #12

                  @joachim-knape
                  und setze bei der Verzögerung noch den Haken löschen falls läuft.

                  1 Antwort Letzte Antwort
                  0
                  • J joachim.knape

                    @dslraser die zeitangabe von 5 sekunden ist nur zum testen. kann ja später auf 5min hochgesetzt werdne, wenn alles klappt.
                    ich habe das script jetzt so:
                    Bild_2020_10_15_20_49_10_225.jpg
                    der trigger mit größer als letztes klappt.. aber nur beim ersten objekt.. wenn ich nach hause komme, gehts, mein weib tappt im dunkeln...
                    wie bekommt man beim triggern hin, daß ENTWEDER ODER erkannt wird?
                    irgendwann verzweifel ich hier nochmal..

                    EDIT... ich hab FALLS usw für mein weib vergessen...
                    Bild_2020_10_15_21_03_08_773.jpg

                    dslraserD Offline
                    dslraserD Offline
                    dslraser
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #13

                    @joachim-knape sagte in Lichtsteuerung bei Ankunft:

                    EDIT... ich hab FALLS usw für mein weib vergessen...

                    das kannst auch damit machen, ohne ein zusätzliches falls usw...

                    Screenshot_20201015-210508_Chrome.jpg

                    J 1 Antwort Letzte Antwort
                    0
                    • dslraserD dslraser

                      @joachim-knape sagte in Lichtsteuerung bei Ankunft:

                      EDIT... ich hab FALLS usw für mein weib vergessen...

                      das kannst auch damit machen, ohne ein zusätzliches falls usw...

                      Screenshot_20201015-210508_Chrome.jpg

                      J Offline
                      J Offline
                      joachim.knape
                      schrieb am zuletzt editiert von
                      #14

                      @dslraser wenn ich jetzt noch reinbekomme, daß es nur läuft, wenns dunkel ist, wärs perfekt.. ggg

                      dslraserD 1 Antwort Letzte Antwort
                      0
                      • J joachim.knape

                        @dslraser wenn ich jetzt noch reinbekomme, daß es nur läuft, wenns dunkel ist, wärs perfekt.. ggg

                        dslraserD Offline
                        dslraserD Offline
                        dslraser
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von
                        #15

                        @joachim-knape sagte in Lichtsteuerung bei Ankunft:

                        @dslraser wenn ich jetzt noch reinbekomme, daß es nur läuft, wenns dunkel ist, wärs perfekt.. ggg

                        Hast Du irgendwas zum messen der Helligkeit ? (ich mache das über einen Bewegungsmelder im Aussenbereich, der kann auch die Helligkeit messen)
                        Sonst eben über Astrozeiten.

                        J 1 Antwort Letzte Antwort
                        0
                        • dslraserD dslraser

                          @joachim-knape sagte in Lichtsteuerung bei Ankunft:

                          @dslraser wenn ich jetzt noch reinbekomme, daß es nur läuft, wenns dunkel ist, wärs perfekt.. ggg

                          Hast Du irgendwas zum messen der Helligkeit ? (ich mache das über einen Bewegungsmelder im Aussenbereich, der kann auch die Helligkeit messen)
                          Sonst eben über Astrozeiten.

                          J Offline
                          J Offline
                          joachim.knape
                          schrieb am zuletzt editiert von
                          #16

                          @dslraser wie baue ich denn da jetzt astrozeiten ein.. kopfkratz

                          dslraserD 3 Antworten Letzte Antwort
                          0
                          • J joachim.knape

                            @dslraser wie baue ich denn da jetzt astrozeiten ein.. kopfkratz

                            dslraserD Offline
                            dslraserD Offline
                            dslraser
                            Forum Testing Most Active
                            schrieb am zuletzt editiert von dslraser
                            #17

                            @joachim-knape sagte in Lichtsteuerung bei Ankunft:

                            @dslraser wie baue ich denn da jetzt astrozeiten ein.. kopfkratz

                            Ich mache nix mit Astro, von daher nicht getestet. Probiere mal so:

                            Edit: Export geändert

                            Bildschirmfoto 2020-10-15 um 21.30.55.png

                            <xml xmlns="https://developers.google.com/blockly/xml">
                             <block type="on_ext" id="wo+n7k.axGoXczYz%s|Z" x="112" y="62">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                               <field name="CONDITION">gt</field>
                               <field name="ACK_CONDITION"></field>
                               <value name="OID0">
                                 <shadow type="field_oid" id="E[#qZzqWB;9[?2AZ9!1w">
                                   <field name="oid">default</field>
                                 </shadow>
                               </value>
                               <value name="OID1">
                                 <shadow type="field_oid" id="x[=WA763_i[|sd`-0ygv">
                                   <field name="oid">default</field>
                                 </shadow>
                               </value>
                               <statement name="STATEMENT">
                                 <block type="controls_if" id="@|9?zj1#jBDY!)p%uF=w">
                                   <value name="IF0">
                                     <block type="logic_operation" id="XT!E~i8~G-%AWMDx)C(y" inline="false">
                                       <field name="OP">AND</field>
                                       <value name="A">
                                         <block type="time_compare_ex" id="gG|43tDqnH+tSoDQgU=Q">
                                           <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="false" actual_time="true"></mutation>
                                           <field name="USE_ACTUAL_TIME">TRUE</field>
                                           <field name="OPTION">&gt;=</field>
                                           <value name="START_TIME">
                                             <shadow type="text" id="_!8!$R;N(l)N]3?6jM,H">
                                               <field name="TEXT">12:00</field>
                                             </shadow>
                                             <block type="time_astro" id="JpJ;,er2-Jxz%gM5QEZ{">
                                               <field name="TYPE">sunset</field>
                                               <field name="OFFSET">0</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <value name="B">
                                         <block type="time_compare_ex" id="Y8++p6ZU3LBs~38`bJrk">
                                           <mutation xmlns="http://www.w3.org/1999/xhtml" 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">
                                               <field name="TEXT">12:00</field>
                                             </shadow>
                                             <block type="time_astro" id="*$:M-i:%z6w?4ru??r[@">
                                               <field name="TYPE">sunrise</field>
                                               <field name="OFFSET">0</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <statement name="DO0">
                                     <block type="controls_if" id="Is/ndd^-}wEDGo`eD;b#">
                                       <value name="IF0">
                                         <block type="logic_operation" id="iWRE};StGgIGY.UEdFlB" inline="false">
                                           <field name="OP">AND</field>
                                           <value name="A">
                                             <block type="logic_compare" id="~2,u[a.|I8z=}},ARRZ,">
                                               <field name="OP">EQ</field>
                                               <value name="A">
                                                 <block type="get_value" id="Sy=X[;.hN}v5XmdM#l4z">
                                                   <field name="ATTR">val</field>
                                                   <field name="OID">ID auswählen</field>
                                                 </block>
                                               </value>
                                               <value name="B">
                                                 <block type="logic_boolean" id="7uM.~%=3Q=$Ds^@?2Luu">
                                                   <field name="BOOL">TRUE</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <value name="B">
                                             <block type="logic_compare" id="k)Q2AA#jx,@;f%U9R%d`">
                                               <field name="OP">EQ</field>
                                               <value name="A">
                                                 <block type="get_value" id="=uK_.,g|~]uff@?mKAaF">
                                                   <field name="ATTR">val</field>
                                                   <field name="OID">ID auswählen</field>
                                                 </block>
                                               </value>
                                               <value name="B">
                                                 <block type="logic_boolean" id="O%6p^BLiVpi93D+r!E^Y">
                                                   <field name="BOOL">TRUE</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <statement name="DO0">
                                         <block type="control" id="#4rpLhqe!8R,ze1DZk7I">
                                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                           <field name="OID">Object ID</field>
                                           <field name="WITH_DELAY">FALSE</field>
                                           <value name="VALUE">
                                             <block type="logic_boolean" id="i%xTm9};5+jpn(1)IyY9">
                                               <field name="BOOL">TRUE</field>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="control" id="AEbfr1;^Fk(oKFL?qz,F">
                                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                               <field name="OID">Object ID</field>
                                               <field name="WITH_DELAY">TRUE</field>
                                               <field name="DELAY_MS">5</field>
                                               <field name="UNIT">min</field>
                                               <field name="CLEAR_RUNNING">TRUE</field>
                                               <value name="VALUE">
                                                 <block type="logic_boolean" id="`(4aD2x}6%~o2*oS(!PZ">
                                                   <field name="BOOL">FALSE</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </next>
                                         </block>
                                       </statement>
                                     </block>
                                   </statement>
                                 </block>
                               </statement>
                             </block>
                            </xml>
                            

                            da_WoodyD 1 Antwort Letzte Antwort
                            0
                            • dslraserD dslraser

                              @joachim-knape sagte in Lichtsteuerung bei Ankunft:

                              @dslraser wie baue ich denn da jetzt astrozeiten ein.. kopfkratz

                              Ich mache nix mit Astro, von daher nicht getestet. Probiere mal so:

                              Edit: Export geändert

                              Bildschirmfoto 2020-10-15 um 21.30.55.png

                              <xml xmlns="https://developers.google.com/blockly/xml">
                               <block type="on_ext" id="wo+n7k.axGoXczYz%s|Z" x="112" y="62">
                                 <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                 <field name="CONDITION">gt</field>
                                 <field name="ACK_CONDITION"></field>
                                 <value name="OID0">
                                   <shadow type="field_oid" id="E[#qZzqWB;9[?2AZ9!1w">
                                     <field name="oid">default</field>
                                   </shadow>
                                 </value>
                                 <value name="OID1">
                                   <shadow type="field_oid" id="x[=WA763_i[|sd`-0ygv">
                                     <field name="oid">default</field>
                                   </shadow>
                                 </value>
                                 <statement name="STATEMENT">
                                   <block type="controls_if" id="@|9?zj1#jBDY!)p%uF=w">
                                     <value name="IF0">
                                       <block type="logic_operation" id="XT!E~i8~G-%AWMDx)C(y" inline="false">
                                         <field name="OP">AND</field>
                                         <value name="A">
                                           <block type="time_compare_ex" id="gG|43tDqnH+tSoDQgU=Q">
                                             <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="false" actual_time="true"></mutation>
                                             <field name="USE_ACTUAL_TIME">TRUE</field>
                                             <field name="OPTION">&gt;=</field>
                                             <value name="START_TIME">
                                               <shadow type="text" id="_!8!$R;N(l)N]3?6jM,H">
                                                 <field name="TEXT">12:00</field>
                                               </shadow>
                                               <block type="time_astro" id="JpJ;,er2-Jxz%gM5QEZ{">
                                                 <field name="TYPE">sunset</field>
                                                 <field name="OFFSET">0</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="time_compare_ex" id="Y8++p6ZU3LBs~38`bJrk">
                                             <mutation xmlns="http://www.w3.org/1999/xhtml" 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">
                                                 <field name="TEXT">12:00</field>
                                               </shadow>
                                               <block type="time_astro" id="*$:M-i:%z6w?4ru??r[@">
                                                 <field name="TYPE">sunrise</field>
                                                 <field name="OFFSET">0</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <statement name="DO0">
                                       <block type="controls_if" id="Is/ndd^-}wEDGo`eD;b#">
                                         <value name="IF0">
                                           <block type="logic_operation" id="iWRE};StGgIGY.UEdFlB" inline="false">
                                             <field name="OP">AND</field>
                                             <value name="A">
                                               <block type="logic_compare" id="~2,u[a.|I8z=}},ARRZ,">
                                                 <field name="OP">EQ</field>
                                                 <value name="A">
                                                   <block type="get_value" id="Sy=X[;.hN}v5XmdM#l4z">
                                                     <field name="ATTR">val</field>
                                                     <field name="OID">ID auswählen</field>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <block type="logic_boolean" id="7uM.~%=3Q=$Ds^@?2Luu">
                                                     <field name="BOOL">TRUE</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <block type="logic_compare" id="k)Q2AA#jx,@;f%U9R%d`">
                                                 <field name="OP">EQ</field>
                                                 <value name="A">
                                                   <block type="get_value" id="=uK_.,g|~]uff@?mKAaF">
                                                     <field name="ATTR">val</field>
                                                     <field name="OID">ID auswählen</field>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <block type="logic_boolean" id="O%6p^BLiVpi93D+r!E^Y">
                                                     <field name="BOOL">TRUE</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <statement name="DO0">
                                           <block type="control" id="#4rpLhqe!8R,ze1DZk7I">
                                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                             <field name="OID">Object ID</field>
                                             <field name="WITH_DELAY">FALSE</field>
                                             <value name="VALUE">
                                               <block type="logic_boolean" id="i%xTm9};5+jpn(1)IyY9">
                                                 <field name="BOOL">TRUE</field>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="control" id="AEbfr1;^Fk(oKFL?qz,F">
                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                 <field name="OID">Object ID</field>
                                                 <field name="WITH_DELAY">TRUE</field>
                                                 <field name="DELAY_MS">5</field>
                                                 <field name="UNIT">min</field>
                                                 <field name="CLEAR_RUNNING">TRUE</field>
                                                 <value name="VALUE">
                                                   <block type="logic_boolean" id="`(4aD2x}6%~o2*oS(!PZ">
                                                     <field name="BOOL">FALSE</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </next>
                                           </block>
                                         </statement>
                                       </block>
                                     </statement>
                                   </block>
                                 </statement>
                               </block>
                              </xml>
                              

                              da_WoodyD Online
                              da_WoodyD Online
                              da_Woody
                              schrieb am zuletzt editiert von
                              #18

                              @dslraser astro ist sicher die bessere wahl. gerade in der jahreszeit kanns schon mal am nachmittag düster werden, aber nicht wirklich finster. das wird dann schwierig mit justieren.

                              gruß vom Woody
                              HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                              1 Antwort Letzte Antwort
                              0
                              • J joachim.knape

                                @dslraser wie baue ich denn da jetzt astrozeiten ein.. kopfkratz

                                dslraserD Offline
                                dslraserD Offline
                                dslraser
                                Forum Testing Most Active
                                schrieb am zuletzt editiert von
                                #19

                                @joachim-knape

                                ich habe hier auch noch ein JS (nicht von mir), was ich aktuell nicht benutze, aber das Zeigt Dir die Astrozeiten an.

                                const sec = false; // Sekunden darstellen oder nicht
                                const fC = true; // forceCreation ein/aus
                                const pfad = "Eigene_Datenpunkte.Astro"; // Pfad zum Objekt - Objektbaum-Hauptverzeichnis
                                // *****************************************************************************
                                // TAGESZEITEN - T E I L 
                                // Tageszeiten nach eigenem Gusto (Shifts siehe schedules weiter unten)
                                const tageszeiten = ["Nacht",
                                                  "Morgendämmerung",
                                                  "Sonnenaufgang",
                                                  "Morgen",
                                                  "Vormittag",
                                                  "Mittag",
                                                  "Nachmittag",
                                                  "Abend",
                                                  "Sonnenuntergang",
                                                  "Abenddämmerung"
                                                 ];
                                const idTageszeit = "javascript." + instance  + "." + pfad + ".Tageszeit.current" /*Tageszeit*/,
                                   idTageszeitNext = "javascript." + instance  + "." + pfad + ".Tageszeit.next";
                                
                                createState(idTageszeit, "nächsten Wechsel abwarten", fC, {
                                 name: "Tageszeit",
                                 desc: "Name der Tageszeit",
                                 type: "string"
                                });   
                                createState(idTageszeitNext, "nächsten Wechsel abwarten", fC, {
                                 name: "nächste Tageszeit",
                                 desc: "Name der nächsten Tageszeit",
                                 type: "string"
                                });
                                function neue_tageszeit(abschnitt) {
                                 var akt = tageszeiten[parseInt(abschnitt, 10)],
                                 // wenn aktuelles Element ist letztes, dann nächstes ist erstes :-D
                                 nxt = (abschnitt + 1 === tageszeiten.length) ? tageszeiten[0] : tageszeiten[parseInt(abschnitt + 1, 10)];
                                 setState(idTageszeit, akt);
                                 setState(idTageszeitNext, nxt);
                                 log("neue Tagezeit: " + akt);
                                 log("nächte kommende Tagezeit: " + nxt);
                                }
                                // Nacht
                                schedule({
                                 astro: "nauticalDusk", 
                                 shift: 45
                                }, function () { 
                                 neue_tageszeit(0);
                                });
                                // Morgengdämmerung
                                schedule({
                                 astro: "nauticalDawn",
                                 shift: -45
                                }, function () {
                                 neue_tageszeit(1);
                                });
                                // Sonnenaufgang
                                schedule({
                                 astro: "sunrise"
                                }, function() {
                                 neue_tageszeit(2);
                                });
                                // Morgen
                                schedule({
                                 astro: "sunriseEnd"
                                }, function () {
                                 neue_tageszeit(3);
                                });
                                // Vormittag 
                                schedule({
                                 astro: "goldenHourEnd",
                                 shift: 60
                                }, function () {
                                 neue_tageszeit(4);
                                });
                                // Mittag
                                schedule({
                                 astro: "solarNoon",
                                 shift: -30
                                }, function () {
                                 neue_tageszeit(5);
                                });
                                // Nachmittag
                                schedule({
                                 astro: "solarNoon",
                                 shift: 30
                                }, function () {
                                 neue_tageszeit(6);
                                });
                                // Abend
                                schedule({
                                 astro: "goldenHour",
                                 shift: -60
                                }, function () {
                                 neue_tageszeit(7);
                                });
                                // Sonnenuntergang
                                schedule({
                                 astro: "sunsetStart",
                                }, function () {
                                 neue_tageszeit(8);
                                });
                                // Abenddämmerung (nach Sonnenuntergang)
                                schedule({
                                 astro: "sunset"
                                }, function () {
                                 neue_tageszeit(9);
                                });
                                // *****************************************************************************
                                // A S T O - T E I L 
                                /* Objekt Astrotag 
                                Astrotag liegt zwischen Sonnauf- und untergang, 
                                Astronacht liegt zwischen Sonnenunter- und aufgang */
                                const idAstrotag =  "javascript." + instance + "." + pfad + ".Astrotag";
                                // Objekt für Uhrzeiten der Astrozeiten
                                const astrotime = {
                                 "elements" : [
                                     // Astrotag beginnt
                                     {
                                         "fname" : "sunrise", // function name
                                         "de" : {
                                             "name" : "Sonnenaufgang",
                                             "nxt" : "nächster",
                                             "desc" : ""
                                         },
                                         "en" : {
                                             "name" : "Sunrise",
                                             "desc" : "top edge of the sun appears on the horizon"
                                         },
                                         "astroday" : true //during astroday
                                     },
                                     {
                                         "fname" : "sunriseEnd", // function name
                                         "de" : {
                                             "name" : "Ende Sonnenaufgang",
                                             "nxt" : "nächstes",
                                             "desc" : ""
                                         },
                                         "en" : {
                                             "name" : "End of sunrise",
                                             "desc" : "bottom edge of the sun touches the horizon"
                                         },
                                         "astroday" : true //during astroday
                                     },
                                     {
                                         "fname" : "goldenHourEnd", // function name
                                         "de" : {
                                             "name" : "Ende der goldenen Stunde am Morgen",
                                             "nxt" : "nächstes",
                                             "desc" : ""
                                         },
                                         "en" : {
                                             "name" : "End of golden hour",
                                             "desc" : "morning golden hour (soft light, best time for photography) ends"
                                         },
                                         "astroday" : true //during astroday
                                     },
                                     {
                                         "fname" : "solarNoon", // function name
                                         "de" : {
                                             "name" : "Sonnenhöchststand",
                                             "nxt" : "nächster",
                                             "desc" : ""
                                         },
                                         "en" : {
                                             "name" : "Solar noon",
                                             "desc" : "sun is in the highest position"
                                         },
                                         "astroday" : true //during astroday
                                     },
                                     {
                                         "fname" : "goldenHour", // function name
                                         "de" : {
                                             "name" : "Goldene Stunde (am Abend)",
                                             "nxt" : "nächste",
                                             "desc" : ""
                                         },
                                         "en" : {
                                             "name" : "Golden hour",
                                             "desc" : "evening golden hour starts"
                                         },
                                         "astroday" : true //during astroday
                                     },
                                     {
                                         "fname" : "sunsetStart", // function name
                                         "de" : {
                                             "name" : "Beginn Sonnenuntergang",
                                             "nxt" : "nächster",
                                             "desc" : ""
                                         },
                                         "en" : {
                                             "name" : "Sunset starts",
                                             "desc" : "bottom edge of the sun touches the horizon"
                                         },
                                         "astroday" : true //during astroday
                                     },
                                     // Astronacht beginnt
                                     {
                                         "fname" : "sunset", // function name
                                         "de" : {
                                             "name" : "Sonnenuntergang",
                                             "nxt" : "nächster",
                                             "desc" : ""
                                         },
                                         "en" : {
                                             "name" : "Sunset",
                                             "desc" : "sun disappears below the horizon, evening civil twilight starts"
                                         },
                                         "astroday" : false //during astronight
                                     },
                                     {
                                         "fname" : "dusk",
                                         "de" : {
                                             "name" : "Abenddämmerung",
                                             "nxt" : "nächste",
                                             "desc" : ""
                                         },
                                         "en" : {
                                             "name" : "Dusk",
                                             "desc" : "evening nautical twilight starts"
                                         },
                                         "astroday" : false //during astronight
                                     },
                                     {
                                         "fname" : "nauticalDusk",
                                         "de" : {
                                             "name" : "nautische Abenddämmerung",
                                             "nxt" : "nächste",
                                             "desc" : ""
                                         },
                                         "en" : {
                                             "name" : "Nautical dusk",
                                             "desc" : "evening astronomical twilight starts"
                                         },
                                         "astroday" : false //during astronight
                                     },
                                     {
                                         "fname" : "nadir",
                                         "de" : {
                                             "name" : "Nadir",
                                             "nxt" : "nächster",
                                             "desc" : "Fußpunkt gegenüber dem Zenit"
                                         },
                                         "en" : {
                                             "name" : "Nadir",
                                             "desc" : "darkest moment of the night, sun is in the lowest position"
                                         },
                                         "astroday" : false //during astronight
                                     },
                                     {
                                         "fname" : "nauticalDawn",
                                         "de" : {
                                             "name" : "nautische Morgendämmerung",
                                             "nxt" : "nächste",
                                             "desc" : ""
                                         },
                                         "en" : {
                                             "name" : "Nautical dawn",
                                             "desc" : "morning nautical twilight starts"
                                         },
                                         "astroday" : false //during astronight
                                     },
                                     {
                                         "fname" : "dawn",
                                         "de" : {
                                             "name" : "Morgendämmerung",
                                             "nxt" : "nächste",
                                             "desc" : ""
                                         },
                                         "en" : {
                                             "name" : "dawn",
                                             "desc" : "morning nautical twilight ends, morning civil twilight starts"
                                         },
                                         "astroday" : false //during astronight
                                     }
                                
                                 ]
                                };
                                
                                function writeAstroTimes(i) {
                                 // führende Nummer zur Sortierung in Admin/Objekte
                                 var nr = (i+1 < 10) ? "0" + (i+1) : (i+1);
                                 // Erstelle Objekt, falls nicht bereits vorhanden
                                 var idAstroObject = "javascript." + instance + "." + pfad + ".Zeiten." + nr + " - " + astrotime.elements[i].fname;
                                 createState(idAstroObject, " ", fC, {
                                     name: astrotime.elements[i].de.nxt + " " + astrotime.elements[i].de.name + " Uhrzeit",
                                     desc: astrotime.elements[i].en.desc,
                                     type: "string"
                                 });
                                
                                 setTimeout(function() { // kurz warten, damit Objekte ggf. erst angelgt werden können
                                     var astrotag = getState(idAstrotag).val,
                                         temp;
                                     var today = new Date();
                                     var tomorrow = new Date(today.setDate(today.getDate()+1));
                                     var next_event;
                                     if (astrotag) { 
                                         // Wenn Tag (Aufgang vorbei (erst wieder morgen, Untergang kommt noch heute)
                                         next_event = (astrotime.elements[i].astroday) ? tomorrow : today; // prüfen
                                     } else { 
                                         // nach Nacht (Untergang vorbei (erst wieder morgen, Aufgang kommt heute oder morgen)
                                         next_event = (astrotime.elements[i].astroday) ? today : tomorrow; // prüfen
                                     }
                                     var fname = astrotime.elements[i].fname;
                                     temp = getAstroDate(fname, next_event);
                                     setState(idAstroObject, checkSec(temp.toLocaleTimeString('de-DE', { hour12: false })) );
                                 }, 3 * 1000);
                                }
                                
                                // Zeit mit oder ohne Sekunden anzeigen
                                function checkSec (zeit) {
                                 if (!sec) {
                                     var newString_arr = zeit.split(":");
                                     var newString = newString_arr[0] + ":" + newString_arr[1];
                                     return (newString);
                                 } else return (zeit);
                                }
                                
                                function getAstroday() {
                                 // Astrotag bestimmen (boolean)
                                 createState(idAstrotag, false, fC, {
                                     type: "boolean",
                                     name: "Astrologischer Tag",
                                     desc: "Liegt die aktuelle Zeit zwischen Sonnenauf- und untergang"
                                 }); 
                                 setState(idAstrotag, isAstroDay());
                                }
                                
                                function iterateAstrotimes() {
                                 // Zeiten für jede Astrozeit schreiben
                                 for (var i = 0; i < astrotime.elements.length; i++) {
                                     writeAstroTimes(i);
                                 }
                                }
                                
                                // Astrotag checken
                                schedule("*/1 * * * *", function () { // jede Minute
                                 getAstroday();
                                 iterateAstrotimes();
                                });
                                
                                iterateAstrotimes();
                                getAstroday();
                                
                                
                                

                                Sieht dann so aus
                                Bildschirmfoto 2020-10-15 um 21.40.42.png

                                1 Antwort Letzte Antwort
                                0
                                • J joachim.knape

                                  @dslraser wie baue ich denn da jetzt astrozeiten ein.. kopfkratz

                                  dslraserD Offline
                                  dslraserD Offline
                                  dslraser
                                  Forum Testing Most Active
                                  schrieb am zuletzt editiert von dslraser
                                  #20

                                  @joachim-knape sagte in Lichtsteuerung bei Ankunft:

                                  @dslraser wie baue ich denn da jetzt astrozeiten ein.. kopfkratz

                                  oder so...

                                  Bildschirmfoto 2020-10-15 um 21.53.32.png

                                  <xml xmlns="https://developers.google.com/blockly/xml">
                                   <block type="on_ext" id="wo+n7k.axGoXczYz%s|Z" x="112" y="62">
                                     <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                     <field name="CONDITION">gt</field>
                                     <field name="ACK_CONDITION"></field>
                                     <value name="OID0">
                                       <shadow type="field_oid" id="E[#qZzqWB;9[?2AZ9!1w">
                                         <field name="oid">default</field>
                                       </shadow>
                                     </value>
                                     <value name="OID1">
                                       <shadow type="field_oid" id="x[=WA763_i[|sd`-0ygv">
                                         <field name="oid">default</field>
                                       </shadow>
                                     </value>
                                     <statement name="STATEMENT">
                                       <block type="controls_if" id="@|9?zj1#jBDY!)p%uF=w">
                                         <value name="IF0">
                                           <block type="time_compare_ex" id="gG|43tDqnH+tSoDQgU=Q">
                                             <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="true" actual_time="true"></mutation>
                                             <field name="USE_ACTUAL_TIME">TRUE</field>
                                             <field name="OPTION">between</field>
                                             <value name="START_TIME">
                                               <shadow type="text" id="_!8!$R;N(l)N]3?6jM,H">
                                                 <field name="TEXT">12:00</field>
                                               </shadow>
                                               <block type="time_astro" id="JpJ;,er2-Jxz%gM5QEZ{">
                                                 <field name="TYPE">sunset</field>
                                                 <field name="OFFSET">0</field>
                                               </block>
                                             </value>
                                             <value name="END_TIME">
                                               <shadow type="text" id="3@~d:{r][Dv4cj@V#e%!">
                                                 <field name="TEXT">18:00</field>
                                               </shadow>
                                               <block type="time_astro" id="*$:M-i:%z6w?4ru??r[@">
                                                 <field name="TYPE">sunrise</field>
                                                 <field name="OFFSET">0</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <statement name="DO0">
                                           <block type="controls_if" id="Is/ndd^-}wEDGo`eD;b#">
                                             <value name="IF0">
                                               <block type="logic_operation" id="iWRE};StGgIGY.UEdFlB" inline="false">
                                                 <field name="OP">OR</field>
                                                 <value name="A">
                                                   <block type="logic_compare" id="~2,u[a.|I8z=}},ARRZ,">
                                                     <field name="OP">EQ</field>
                                                     <value name="A">
                                                       <block type="get_value" id="Sy=X[;.hN}v5XmdM#l4z">
                                                         <field name="ATTR">val</field>
                                                         <field name="OID">ID auswählen</field>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <block type="logic_boolean" id="7uM.~%=3Q=$Ds^@?2Luu">
                                                         <field name="BOOL">TRUE</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <block type="logic_compare" id="k)Q2AA#jx,@;f%U9R%d`">
                                                     <field name="OP">EQ</field>
                                                     <value name="A">
                                                       <block type="get_value" id="=uK_.,g|~]uff@?mKAaF">
                                                         <field name="ATTR">val</field>
                                                         <field name="OID">ID auswählen</field>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <block type="logic_boolean" id="O%6p^BLiVpi93D+r!E^Y">
                                                         <field name="BOOL">TRUE</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <statement name="DO0">
                                               <block type="control" id="#4rpLhqe!8R,ze1DZk7I">
                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                 <field name="OID">Object ID</field>
                                                 <field name="WITH_DELAY">FALSE</field>
                                                 <value name="VALUE">
                                                   <block type="logic_boolean" id="i%xTm9};5+jpn(1)IyY9">
                                                     <field name="BOOL">TRUE</field>
                                                   </block>
                                                 </value>
                                                 <next>
                                                   <block type="control" id="AEbfr1;^Fk(oKFL?qz,F">
                                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                     <field name="OID">Object ID</field>
                                                     <field name="WITH_DELAY">TRUE</field>
                                                     <field name="DELAY_MS">5</field>
                                                     <field name="UNIT">min</field>
                                                     <field name="CLEAR_RUNNING">TRUE</field>
                                                     <value name="VALUE">
                                                       <block type="logic_boolean" id="`(4aD2x}6%~o2*oS(!PZ">
                                                         <field name="BOOL">FALSE</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </next>
                                               </block>
                                             </statement>
                                           </block>
                                         </statement>
                                       </block>
                                     </statement>
                                   </block>
                                  </xml>
                                  

                                  EDIT:

                                  Oder so, weil Astro hat glaube ich irgendein Problem mit dem Tageswechsel (irgendwas war da, weiß ich aber leider nicht mehr genau...)

                                  Bildschirmfoto 2020-10-15 um 21.56.04.png

                                  <xml xmlns="https://developers.google.com/blockly/xml">
                                   <block type="on_ext" id="wo+n7k.axGoXczYz%s|Z" x="112" y="62">
                                     <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                     <field name="CONDITION">gt</field>
                                     <field name="ACK_CONDITION"></field>
                                     <value name="OID0">
                                       <shadow type="field_oid" id="E[#qZzqWB;9[?2AZ9!1w">
                                         <field name="oid">default</field>
                                       </shadow>
                                     </value>
                                     <value name="OID1">
                                       <shadow type="field_oid" id="x[=WA763_i[|sd`-0ygv">
                                         <field name="oid">default</field>
                                       </shadow>
                                     </value>
                                     <statement name="STATEMENT">
                                       <block type="controls_if" id="@|9?zj1#jBDY!)p%uF=w">
                                         <value name="IF0">
                                           <block type="time_compare_ex" id="gG|43tDqnH+tSoDQgU=Q">
                                             <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="true" actual_time="true"></mutation>
                                             <field name="USE_ACTUAL_TIME">TRUE</field>
                                             <field name="OPTION">not between</field>
                                             <value name="START_TIME">
                                               <shadow type="text" id="_!8!$R;N(l)N]3?6jM,H">
                                                 <field name="TEXT">12:00</field>
                                               </shadow>
                                               <block type="time_astro" id="JpJ;,er2-Jxz%gM5QEZ{">
                                                 <field name="TYPE">sunrise</field>
                                                 <field name="OFFSET">0</field>
                                               </block>
                                             </value>
                                             <value name="END_TIME">
                                               <shadow type="text" id="3@~d:{r][Dv4cj@V#e%!">
                                                 <field name="TEXT">18:00</field>
                                               </shadow>
                                               <block type="time_astro" id="*$:M-i:%z6w?4ru??r[@">
                                                 <field name="TYPE">sunset</field>
                                                 <field name="OFFSET">0</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <statement name="DO0">
                                           <block type="controls_if" id="Is/ndd^-}wEDGo`eD;b#">
                                             <value name="IF0">
                                               <block type="logic_operation" id="iWRE};StGgIGY.UEdFlB" inline="false">
                                                 <field name="OP">OR</field>
                                                 <value name="A">
                                                   <block type="logic_compare" id="~2,u[a.|I8z=}},ARRZ,">
                                                     <field name="OP">EQ</field>
                                                     <value name="A">
                                                       <block type="get_value" id="Sy=X[;.hN}v5XmdM#l4z">
                                                         <field name="ATTR">val</field>
                                                         <field name="OID">ID auswählen</field>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <block type="logic_boolean" id="7uM.~%=3Q=$Ds^@?2Luu">
                                                         <field name="BOOL">TRUE</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <block type="logic_compare" id="k)Q2AA#jx,@;f%U9R%d`">
                                                     <field name="OP">EQ</field>
                                                     <value name="A">
                                                       <block type="get_value" id="=uK_.,g|~]uff@?mKAaF">
                                                         <field name="ATTR">val</field>
                                                         <field name="OID">ID auswählen</field>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <block type="logic_boolean" id="O%6p^BLiVpi93D+r!E^Y">
                                                         <field name="BOOL">TRUE</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <statement name="DO0">
                                               <block type="control" id="#4rpLhqe!8R,ze1DZk7I">
                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                 <field name="OID">Object ID</field>
                                                 <field name="WITH_DELAY">FALSE</field>
                                                 <value name="VALUE">
                                                   <block type="logic_boolean" id="i%xTm9};5+jpn(1)IyY9">
                                                     <field name="BOOL">TRUE</field>
                                                   </block>
                                                 </value>
                                                 <next>
                                                   <block type="control" id="AEbfr1;^Fk(oKFL?qz,F">
                                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                     <field name="OID">Object ID</field>
                                                     <field name="WITH_DELAY">TRUE</field>
                                                     <field name="DELAY_MS">5</field>
                                                     <field name="UNIT">min</field>
                                                     <field name="CLEAR_RUNNING">TRUE</field>
                                                     <value name="VALUE">
                                                       <block type="logic_boolean" id="`(4aD2x}6%~o2*oS(!PZ">
                                                         <field name="BOOL">FALSE</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </next>
                                               </block>
                                             </statement>
                                           </block>
                                         </statement>
                                       </block>
                                     </statement>
                                   </block>
                                  </xml>
                                  

                                  1 Antwort Letzte Antwort
                                  0
                                  Antworten
                                  • In einem neuen Thema antworten
                                  Anmelden zum Antworten
                                  • Älteste zuerst
                                  • Neuste zuerst
                                  • Meiste Stimmen


                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  336

                                  Online

                                  32.7k

                                  Benutzer

                                  82.4k

                                  Themen

                                  1.3m

                                  Beiträge
                                  Community
                                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                  ioBroker Community 2014-2025
                                  logo
                                  • Anmelden

                                  • Du hast noch kein Konto? Registrieren

                                  • Anmelden oder registrieren, um zu suchen
                                  • Erster Beitrag
                                    Letzter Beitrag
                                  0
                                  • Home
                                  • Aktuell
                                  • Tags
                                  • Ungelesen 0
                                  • Kategorien
                                  • Unreplied
                                  • Beliebt
                                  • GitHub
                                  • Docu
                                  • Hilfe