Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Vorlage ] Blockly dynamischer Sonnenauf- und Sonnenuntergang

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

[Vorlage ] Blockly dynamischer Sonnenauf- und Sonnenuntergang

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
blocklytemplate
49 Beiträge 10 Kommentatoren 15.2k Aufrufe 7 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.
  • N Offline
    N Offline
    nibblerrick
    schrieb am zuletzt editiert von
    #10

    Natuerlich tricky, einfach waere ja auch wirklich zu einfach, aber komm, die Lampen zur Haelfte der Zeit zu schalten ist auch echt cool.

    Der Ansatz ist interessant, da waere ich so nicht drauf gekommen. Ich muss das die naechsten Tage testen (dies Wochenende und kommendes Wochenende ist vollgepackt, daher dauert es ein klein wenig gerade). Danke!

    1 Antwort Letzte Antwort
    0
    • rantanplanR Offline
      rantanplanR Offline
      rantanplan
      schrieb am zuletzt editiert von
      #11

      Danke für die Rückmeldung!

      Grüße

      Rantanplan

      CCU3 / MS Server 2019(VM) / Scripten mit Blockly

      1 Antwort Letzte Antwort
      0
      • N Offline
        N Offline
        nibblerrick
        schrieb am zuletzt editiert von
        #12

        Ich melde mich auch nochmal, wenn ich es definitiv ausprobiert habe.

        1 Antwort Letzte Antwort
        0
        • N Offline
          N Offline
          nibblerrick
          schrieb am zuletzt editiert von
          #13

          Tach,

          also es funktioniert noch nicht. Die 1. Aktien und die 4. funktionieren erwartungsgemaess.

          2. und 3. jedoch nicht. Gestern zum Beispiel hatte ich die 2. Aktion um 12:58 und die 3. Aktion um 13:08.

          Was mir beim Script auch noch nicht einleuchtet, ist "oldValue" eine bestimmte Systemvariable die abgefragt werden kann, wird die eigentlich nie gesetzt oder an einer Stelle die ich nicht sehe?

          1 Antwort Letzte Antwort
          0
          • rantanplanR Offline
            rantanplanR Offline
            rantanplan
            schrieb am zuletzt editiert von
            #14

            @nibblerrick:

            also es funktioniert noch nicht. Die 1. Aktien und die 4. funktionieren erwartungsgemaess.

            2. und 3. jedoch nicht. Gestern zum Beispiel hatte ich die 2. Aktion um 12:58 und die 3. Aktion um 13:08. `
            Nun, was soll ich sagen? Habe meine Glaskugel verlegt.

            Ein Screenshot und/oder Export wäre hilfreich.

            @nibblerrick:

            Was mir beim Script auch noch nicht einleuchtet, ist "oldValue" eine bestimmte Systemvariable die abgefragt werden kann, wird die eigentlich nie gesetzt oder an einer Stelle die ich nicht sehe? `
            Dieser Baustein kommt aus der Trigger Abteilung.

            Darin stehen Informationen über den ausgelösten Aktor. Klick mal auf das kleine Pfeilchen neben "oldValue".

            "oldValue" hat den alten Wert VOR dem aktuellen Triggerwert.

            Die Abfrage ist bei dem Konstrukt schon sehr wichtig!

            Grüße

            Rantanplan

            CCU3 / MS Server 2019(VM) / Scripten mit Blockly

            1 Antwort Letzte Antwort
            0
            • N Offline
              N Offline
              nibblerrick
              schrieb am zuletzt editiert von
              #15

              Du musst diese neuen E-Glaskugeln kaufen!

              Export habe ich nicht gemacht, da es einfach das ist, was du oben gepostet hast, deswegen wollte ich gerade nicht mit duplizierten Informationen rummuellen 🙂

              Klicke ich auf das Pfeilchen sehe ich die Variablenliste. D.h. "oldValue" ist immer festdefiniert und hat immer den vorigen Triggerwert und kann ohne speziell angelegt zu werden genutzt werden?

              Hier nochmal der Export:

              ! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
              ! <block type="create" id="S/9)3;v2CYj;Ka9q6WBl" x="-662" y="-287"><field name="NAME">Meine_Erste_Startzeit_In_Minuten_Nach_SU</field>
              ! <next><block type="on_ext" id="rWtR~:mO9In}+^c(]]+2"><mutation items="1"></mutation>
              ! <field name="CONDITION">ne</field>
              ! <value name="OID0"><shadow type="field_oid" id="}i%zKjjPC;A+.=tZklY4"><field name="oid">javascript.0.MinutenSU</field></shadow></value>
              ! <statement name="STATEMENT"><block type="controls_if" id="k3T|tNR;1nxqo(NJlsV"><mutation elseif="4"></mutation>
              ! <value name="IF0"><block type="logic_compare" id="xKqHdpQ.dyoE_Y+n|/!"><field name="OP">EQ</field>
              ! <value name="A"><block type="variables_get" id="kLIW(?fw%5+j[JbW3o:m"><field name="VAR">oldValue</field></block></value>
              ! <value name="B"><block type="math_number" id="agD:BmAwJddJ[29VlqA/"><field name="NUM">999</field></block></value></block></value>
              ! <statement name="DO0"><block type="variables_set" id="?h0-t1ni}[lj}?06fup^"><field name="VAR">temp_Min_Bis_SU_gesamt</field>
              ! <value name="VALUE"><block type="get_value" id="@AM-#d^(@xX2hy2!86sg"><field name="ATTR">val</field>
              ! <field name="OID">javascript.0.MinutenSU</field></block></value>
              ! <next><block type="variables_set" id="-0SeRg!#(^;B;fI!{tHA"><field name="VAR">temp_Min_Von_SU_bis_Mitternacht</field>
              ! <value name="VALUE"><block type="math_arithmetic" id="x)Pg6%5tlfeWU[%n+#pb"><field name="OP">MINUS</field>
              ! <value name="A"><shadow type="math_number" id="HUm~CTC1(tR4Vq6b1|d{"><field name="NUM">720</field></shadow></value>
              ! <value name="B"><shadow type="math_number" id="wEMk:#?J?98,s|^9e]Up"><field name="NUM">1</field></shadow>
              ! <block type="variables_get" id="v3dlkX]=KeQhIUt/2x5Y"><field name="VAR">temp_Min_Bis_SU_gesamt</field></block></value></block></value>
              ! <next><block type="comment" id="o/_,C+8Q_9CqQJpW8_YP"><field name="COMMENT">Halbe Zeit bis Mitternacht</field>
              ! <next><block type="variables_set" id="o~Ti,{o9q5(3ZIHC#MO"><field name="VAR">Start_2</field>
              ! <value name="VALUE"><block type="math_round" id="ohOLac9.W99l6S[lAvaT"><field name="OP">ROUND</field>
              ! <value name="NUM"><shadow type="math_number" id="6AW|wMt
              Z#U,!iS-R8Bi"><field name="NUM">3.1</field></shadow>
              ! <block type="math_arithmetic" id="U/[MDFy.g|v@Otic9Dc,"><field name="OP">DIVIDE</field>
              ! <value name="A"><shadow type="math_number" id="w/~b:7ejf#v?}F~Q7XNs"><field name="NUM">1</field></shadow>
              ! <block type="variables_get" id="AB{bbNSf}CWZGS(^57WM"><field name="VAR">temp_Min_Von_SU_bis_Mitternacht</field></block></value>
              ! <value name="B"><shadow type="math_number" id="?A%6MG76WCAzxi5|n1]6"><field name="NUM">2</field></shadow></value></block></value></block></value>
              ! <next><block type="comment" id="c#[z,h80jKm-Y~pafWA["><field name="COMMENT">Halbe Zeit bis Mitternacht + 10 Minuten</field>
              ! <next><block type="variables_set" id="(Sj:2{kT+{t5P);C5]Ol"><field name="VAR">Start_3</field>
              ! <value name="VALUE"><block type="math_arithmetic" id="s9O-31{VrSc0(L7=4cFT"><field name="OP">ADD</field>
              ! <value name="A"><shadow type="math_number" id="y9|.YwZ(.EMH%tfcEK:P"><field name="NUM">1</field></shadow>
              ! <block type="variables_get" id="3dt0^g~RZ3Dwv50!mm(Z"><field name="VAR">Start_2</field></block></value>
              ! <value name="B"><shadow type="math_number" id="xgy6kvV
              d@|4.{.hx(1C"><field name="NUM">-10</field></shadow></value></block></value></block></next></block></next></block></next></block></next></block></next></block></statement>
              ! <value name="IF1"><block type="logic_compare" id="?zX
              L?C!GgsflULhnOt!"><field name="OP">EQ</field>
              ! <value name="A"><block type="get_value" id="algzvnMYXioxobuc3NMu"><field name="ATTR">val</field>
              ! <field name="OID">javascript.0.MinutenSU</field></block></value>
              ! <value name="B"><block type="get_value" id="39!D3%^c`2P^R`%/[{2G"><field name="ATTR">val</field>
              ! <field name="OID">javascript.0.Meine_Erste_Startzeit_In_Minuten_Nach_SU</field></block></value></block></value>
              ! <statement name="DO1"><block type="comment" id="syVRCDU7sx26ZV9Kv@r+"><field name="COMMENT">1. Aktion</field>
              ! <next><block type="telegram" id="+#tC%WjZ;0R%o[CVyoV"><value name="MESSAGE"><shadow type="text" id="?g6~rD3Y1FBMjCnx7^p"><field name="TEXT">1. Aktion</field></shadow></value></block></next></block></statement>
              ! <value name="IF2"><block type="logic_compare" id="87J#|;ru(WWJ4r=;|aOf"><field name="OP">EQ</field>
              ! <value name="A"><block type="get_value" id="gY%6wst2P2tJG{J@Zhm"><field name="ATTR">val</field>
              ! <field name="OID">javascript.0.MinutenSU</field></block></value>
              ! <value name="B"><block type="variables_get" id="+`qf7AWD@d@O3[-3%:%i"><field name="VAR">Start_2</field></block></value></block></value>
              ! <statement name="DO2"><block type="comment" id="AKW@,R#`^rb(Ob{4ITHL"><field name="COMMENT">2. Aktion</field>
              ! <next><block type="telegram" id="3aE;Wmf]oAj35mkVU)Gg"><value name="MESSAGE"><shadow type="text" id="Af-.u?qxKpLWum3xNDi4"><field name="TEXT">2. Aktion</field></shadow></value></block></next></block></statement>
              ! <value name="IF3"><block type="logic_compare" id="S@75dd]RYIti_F:/b`vS"><field name="OP">EQ</field>
              ! <value name="A"><block type="get_value" id="Cm1y:tcy(7)wmC@o+OvE"><field name="ATTR">val</field>
              ! <field name="OID">javascript.0.MinutenSU</field></block></value>
              ! <value name="B"><block type="variables_get" id="do48sx2a6[a/xe,QMjuX"><field name="VAR">Start_3</field></block></value></block></value>
              ! <statement name="DO3"><block type="comment" id="q%X.efEs.M4yBu6LiJ5@"><field name="COMMENT">3. Aktion</field>
              ! <next><block type="telegram" id="};ACfe6c^:F1^=(+ob,M"><value name="MESSAGE"><shadow type="text" id="8
              ].Q_Kggfh+zBo?u1k"><field name="TEXT">3. Aktion</field></shadow></value></block></next></block></statement>
              ! <value name="IF4"><block type="logic_compare" id="N.1lrrvIHEFW%!honya`"><field name="OP">EQ</field>
              ! <value name="A"><block type="get_value" id="3[ou{)yFF*{s8,NfjC{#"><field name="ATTR">val</field>
              ! <field name="OID">javascript.0.MinutenSU</field></block></value>
              ! <value name="B"><block type="math_number" id="Xg3U`-:,]]3f}x}*eSum"><field name="NUM">999</field></block></value></block></value>
              ! <statement name="DO4"><block type="comment" id=")l^M64Jt
              .gi,!zdT]wx"><field name="COMMENT">4. Aktion Es ist Mitternacht</field>
              ! <next><block type="telegram" id="M]:hi{WFw.UK9nhmAPSw"><value name="MESSAGE"><shadow type="text" id="^CrLnF|JVrZAoeD:k9w-"><field name="TEXT">4. Aktion</field></shadow></value></block></next></block></statement></block></statement></block></next></block></xml>
              3803_firefox_2017-11-14_20-56-53.png

              1 Antwort Letzte Antwort
              0
              • rantanplanR Offline
                rantanplanR Offline
                rantanplan
                schrieb am zuletzt editiert von
                #16

                @nibblerrick:

                Klicke ich auf das Pfeilchen sehe ich die Variablenliste. D.h. "oldValue" ist immer festdefiniert und hat immer den vorigen Triggerwert und kann ohne speziell angelegt zu werden genutzt werden? `
                Ja, gilt aber nur innerhalb eines Triggers.

                So sieht die Liste normalerweise aus.
                147_beispiel.png

                Die Darstellung, die Du hast, habe ich auch. Kann ein Bug in Blockly sein.

                Muss ich mal überprüfen.

                Grüße

                Rantanplan

                CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                1 Antwort Letzte Antwort
                0
                • N Offline
                  N Offline
                  nibblerrick
                  schrieb am zuletzt editiert von
                  #17

                  Oh, das ja geiler Scheiss!

                  Gut, wenn du weisst, warum ich das nicht haben koennte machen wir weiter 😄

                  Irgendeine Einstellung irgendwo ist das aber nicht, oder?

                  1 Antwort Letzte Antwort
                  0
                  • rantanplanR Offline
                    rantanplanR Offline
                    rantanplan
                    schrieb am zuletzt editiert von
                    #18

                    Ich habe jetzt nochmal geschaut.

                    Da muss was schief gelaufen sein!!!

                    Schmeiss den Baustein mit "oldValue" raus und setzt den "Objekt ID" aus Trigger rein und wähle "vorheriger Wert" aus.

                    Ich stelle mein System auch mal von deutsch auf englisch um. Da muss was schiefgegangen sein.

                    Grüße

                    Rantanplan

                    CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                    1 Antwort Letzte Antwort
                    0
                    • N Offline
                      N Offline
                      nibblerrick
                      schrieb am zuletzt editiert von
                      #19

                      Gut, wenn man en/de zwischendurch tauscht kann das natuerlich mal lustige Sachen hervorbringen.

                      Ich habe das jetzt gemacht, falls du irgendwo das passend mal mitgeben kannst, auf deutsch steht da vorherigeS Wert, vielleicht kann das irgendwann mal geaendert werden.

                      Mir scheint, im Code sieht das nun auch sinnvoller aus und ich werde mal den naechsten Sonnenuntergang abwarten, den es wohl gibt, auch wenn man den bei der grauen Wolkendecke heute nicht sehen kann.

                      Ich gebe nachher Bescheid.

                      1 Antwort Letzte Antwort
                      0
                      • N Offline
                        N Offline
                        nibblerrick
                        schrieb am zuletzt editiert von
                        #20

                        Der hat vorhin schon wieder ausgeloest. Ich habe mal versucht, mir das zu Gemuete zu fuehren. Kann es sein, dass wir einmal falschrum rechnen bzw. ein Vorzeichenfehler haben?

                        Minuten bis SU ist ja OK, dann kommt 720 - Minuten bis SU, was ja auch die Zeit von SU bis Mitternacht ist. Allerdings positiv.

                        Um die Aktion entsprechend auszuloesen NACH Sonnenuntergang brauche ich aber doch negative Werte, also den gleichen Wert, allerdings mit Minus davor.

                        Das erklaert doch auch, warum der das jetzt Nachmittags macht, weil der als positiven Wert es jetzt um die Zeit bis zum SU (also vorher) macht.

                        Oder denke ich falsch? Ausprobiert habe ich es noch nicht jetzt, sag mal deine Meinung dazu.

                        1 Antwort Letzte Antwort
                        0
                        • rantanplanR Offline
                          rantanplanR Offline
                          rantanplan
                          schrieb am zuletzt editiert von
                          #21

                          @nibblerrick:

                          Oder denke ich falsch? Ausprobiert habe ich es noch nicht jetzt, sag mal deine Meinung dazu. `

                          Nun ohne Zeiten (MinutenSU), kann ich dazu nichts sagen.

                          Und wie ich in dem Beitrag geschrieben habe: "….Das ganze funktioniert aber nur wenn die Aktionen NACH SonnenUntergang ablaufen!!!..."

                          Grüße

                          Rantanplan

                          CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                          1 Antwort Letzte Antwort
                          0
                          • N Offline
                            N Offline
                            nibblerrick
                            schrieb am zuletzt editiert von
                            #22

                            Welche MinutenSU-Zeit willst du denn, die ist doch so gesehen immer identisch, MinutenSU ist vor SU positiv und nach SU negativ.

                            Daher ist es doch nur Logik und 2. und 3. Aktion sind bisher ja immer VOR SU ausgefuehrt worden.

                            Start_2 und Start_3 werden ja immer gleich berechnet, da hat ja nichtmal "Meine_erste_Startzeit_nach…" was mit zu tun.

                            Und die 720 abzueglich MinutenSU ergeben doch so immer einen positiven Wert. Somit werden diese Aktionen aktuell doch immer VOR SU ausgefuehrt.

                            Fuer "Erste_Startzeit..." muss ich ja auch einen negativen Wert angeben. Isn't it?

                            1 Antwort Letzte Antwort
                            0
                            • N Offline
                              N Offline
                              nibblerrick
                              schrieb am zuletzt editiert von
                              #23

                              Ich habe das etwas umgestellt und ein paar Tage laufen lassen, so scheint es zu funktionieren.

                              Ich addiere den ersten Startwert nach SU noch zur Rechnung hinzu damit auf der Haelfte der Zeit zwischen erstem Einschalten und Mitternacht geschaltet wird.

                              Den oberen Teil, der geaendert ist, habe ich als Screenshot angefuegt.

                              Das gesamte Blockly jetzt nochmal hier:

                              ! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
                              ! <block type="create" id="S/9)3;v2CYj;Ka9q6WBl" x="-662" y="-287"><field name="NAME">Meine_Erste_Startzeit_In_Minuten_Nach_SU</field>
                              ! <next><block type="on_ext" id="rWtR~:mO9In}+^c(]]+2"><mutation items="1"></mutation>
                              ! <field name="CONDITION">ne</field>
                              ! <value name="OID0"><shadow type="field_oid" id="}i%zKjjPC;A+.=tZklY4"><field name="oid">javascript.0.MinutenSU</field></shadow></value>
                              ! <statement name="STATEMENT"><block type="controls_if" id="k3T|tNR;1nx*qo(NJlsV"><mutation elseif="4"></mutation>
                              ! <value name="IF0"><block type="logic_compare" id="xKqHdpQ.dyoE_Y+n|/!"><field name="OP">EQ</field>
                              ! <value name="A"><block type="on_source" id="6MlbRkOvPlN;at=tPyT"><field name="ATTR">oldState.val</field></block></value> ! <value name="B"><block type="math_number" id="agD:BmAwJddJ[29VlqA/"><field name="NUM">999</field></block></value></block></value> ! <statement name="DO0"><block type="variables_set" id="?h0-t1ni}[lj}?06fup^"><field name="VAR">temp_Min_Bis_SU_gesamt</field> ! <value name="VALUE"><block type="get_value" id="@AM-#d^(@xX2hy2!86sg"><field name="ATTR">val</field> ! <field name="OID">javascript.0.MinutenSU</field></block></value> ! <next><block type="variables_set" id="-0SeRg!#(^;B;fI!{tHA"><field name="VAR">temp_Min_Von_SU_bis_Mitternacht</field> ! <value name="VALUE"><block type="math_arithmetic" id="x)Pg6%5tlfeWU[%n+#pb"><field name="OP">ADD</field> ! <value name="A"><shadow type="math_number" id="HUm~CTC1(tR4Vq6b1|d{"><field name="NUM">-749</field></shadow> ! <block type="math_arithmetic" id="7n/~boH=9nLzKb~{+4Hb"><field name="OP">ADD</field> ! <value name="A"><shadow type="math_number" id="!:WuB4S)=7Go_bkwNzYN"><field name="NUM">-720</field></shadow></value> ! <value name="B"><shadow type="math_number" id="x]CL;,+4SltcH.pGP^C)"><field name="NUM">1</field></shadow> ! <block type="get_value" id="S]EX?XWetC)h?QUgOZPR"><field name="ATTR">val</field> ! <field name="OID">javascript.0.Meine_Erste_Startzeit_In_Minuten_Nach_SU</field></block></value></block></value> ! <value name="B"><shadow type="math_number" id="wEMk:#?J?98,s|^9e]Up"><field name="NUM">1</field></shadow> ! <block type="variables_get" id="v3dlkX]=KeQhIUt/2x5Y"><field name="VAR">temp_Min_Bis_SU_gesamt</field></block></value></block></value> ! <next><block type="comment" id="o/_,C+8Q_9CqQJpW8_YP"><field name="COMMENT">Halbe Zeit bis Mitternacht</field> ! <next><block type="variables_set" id="o~Ti,{o9q5(*3ZIHC#MO"><field name="VAR">Start_2</field> ! <value name="VALUE"><block type="math_round" id="ohOLac9.W99l6S[lAvaT"><field name="OP">ROUND</field> ! <value name="NUM"><shadow type="math_number" id="6AW|wMt*Z#U,!iS-R8Bi"><field name="NUM">3.1</field></shadow> ! <block type="math_arithmetic" id="U/[MDFy.g|v@Otic9Dc,"><field name="OP">DIVIDE</field> ! <value name="A"><shadow type="math_number" id="w/~b:7ejf#v?}F~Q7XNs"><field name="NUM">1</field></shadow> ! <block type="variables_get" id="AB{bbNSf}CWZGS(^57WM"><field name="VAR">temp_Min_Von_SU_bis_Mitternacht</field></block></value> ! <value name="B"><shadow type="math_number" id="?A%6MG76WCAzxi5|n1]6"><field name="NUM">2</field></shadow></value></block></value></block></value> ! <next><block type="comment" id="c#[z,h80jKm-Y~pafWA["><field name="COMMENT">Halbe Zeit bis Mitternacht + 10 Minuten (-10 da negativ "groesser" wird)</field> ! <next><block type="variables_set" id="(Sj:2{kT+{t5P);C5]Ol"><field name="VAR">Start_3</field> ! <value name="VALUE"><block type="math_arithmetic" id="s9O-31{VrSc0(L7=4cFT"><field name="OP">MINUS</field> ! <value name="A"><shadow type="math_number" id="y9|.YwZ(.EMH%tfcEK:P"><field name="NUM">1</field></shadow> ! <block type="variables_get" id="3dt0^g~RZ3Dwv50!mm(Z"><field name="VAR">Start_2</field></block></value> ! <value name="B"><shadow type="math_number" id="xgy6kvV*d@|4.{.hx(1C"><field name="NUM">10</field></shadow></value></block></value></block></next></block></next></block></next></block></next></block></next></block></statement> ! <value name="IF1"><block type="logic_compare" id="?zX*L?C!GgsflULhnOt!"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="algzvnMYXioxobuc3NMu"><field name="ATTR">val</field> ! <field name="OID">javascript.0.MinutenSU</field></block></value> ! <value name="B"><block type="get_value" id="39!D3%^c2P^R%/[{2G"><field name="ATTR">val</field> ! <field name="OID">javascript.0.Meine_Erste_Startzeit_In_Minuten_Nach_SU</field></block></value></block></value> ! <statement name="DO1"><block type="comment" id="syVRCDU7sx26ZV9Kv@r+"><field name="COMMENT">1\. Aktion</field> ! <next><block type="telegram" id="*+#tC%WjZ;0R%o[CVyoV"><value name="MESSAGE"><shadow type="text" id="?g6~rD3*Y1FBMjCnx7^p"><field name="TEXT">1\. Aktion</field></shadow></value></block></next></block></statement> ! <value name="IF2"><block type="logic_compare" id="87J#|;ru(WWJ4r=;|aOf"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="gY%6wst2P2tJ*G{J@Zhm"><field name="ATTR">val</field> ! <field name="OID">javascript.0.MinutenSU</field></block></value> ! <value name="B"><block type="variables_get" id="+qf7AWD@d@O3[-3%:%i"><field name="VAR">Start_2</field></block></value></block></value>
                              ! <statement name="DO2"><block type="comment" id="AKW@,R#^rb(Ob{4ITHL"><field name="COMMENT">2\. Aktion</field> ! <next><block type="telegram" id="3aE;Wmf]oAj35mkVU)Gg"><value name="MESSAGE"><shadow type="text" id="Af-.u?qxKpLWum3xNDi4"><field name="TEXT">2\. Aktion</field></shadow></value></block></next></block></statement> ! <value name="IF3"><block type="logic_compare" id="S@75dd]RYIti_F:/bvS"><field name="OP">EQ</field>
                              ! <value name="A"><block type="get_value" id="Cm1y:tcy(7)wmC@o+OvE"><field name="ATTR">val</field>
                              ! <field name="OID">javascript.0.MinutenSU</field></block></value>
                              ! <value name="B"><block type="variables_get" id="do48sx2a6[a/xe,QMjuX"><field name="VAR">Start_3</field></block></value></block></value>
                              ! <statement name="DO3"><block type="comment" id="q%X.efEs.M4yBu6LiJ5@"><field name="COMMENT">3. Aktion</field>
                              ! <next><block type="telegram" id="};ACfe6c^:F1^=(+ob,M"><value name="MESSAGE"><shadow type="text" id="8
                              ].Q_Kggfh+zBo?u1k"><field name="TEXT">3. Aktion</field></shadow></value></block></next></block></statement>
                              ! <value name="IF4"><block type="logic_compare" id="N.1lrrvIHEFW%!honya"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="3[ou{)yFF*{s8,NfjC{#"><field name="ATTR">val</field> ! <field name="OID">javascript.0.MinutenSU</field></block></value> ! <value name="B"><block type="math_number" id="Xg3U-:,]]3f}x}*eSum"><field name="NUM">999</field></block></value></block></value>
                              ! <statement name="DO4"><block type="comment" id=")l^M64Jt
                              .gi,!zdT]wx"><field name="COMMENT">4. Aktion Es ist Mitternacht</field>
                              ! <next><block type="telegram" id="M]:hi{WFw.UK9nhmAPSw"><value name="MESSAGE"><shadow type="text" id="^CrLnF|JVrZAoeD:k9w-"><field name="TEXT">4. Aktion</field></shadow></value></block></next></block></statement></block></statement></block></next></block></xml>
                              3803_firefox_2017-11-23_22-12-22.png

                              1 Antwort Letzte Antwort
                              0
                              • rantanplanR Offline
                                rantanplanR Offline
                                rantanplan
                                schrieb am zuletzt editiert von
                                #24

                                Prima das es klappt.

                                Grüße

                                Rantanplan

                                CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                                1 Antwort Letzte Antwort
                                0
                                • N Offline
                                  N Offline
                                  nibblerrick
                                  schrieb am zuletzt editiert von
                                  #25

                                  Ist es denn auch so sinnvoll oder sollte das noch verbessert werden?

                                  1 Antwort Letzte Antwort
                                  0
                                  • B Offline
                                    B Offline
                                    Bröselbube
                                    schrieb am zuletzt editiert von
                                    #26

                                    Hi, habe vor kurzer Zeit die wunderbare Welt des ioBroker betreten und bin völlig begeistert.

                                    Das passt zu meinen erst kürzlich gekauften Sonoff, die ich mit Tasmota geflasht habe.

                                    Dazu benutze ich zur Zeit einen Raspi mit einem "normalen" MQTT Broker und alles läuft perfekt.

                                    Dazu habe auch ich einige Android Apps selbst geschrieben. Doch nun muss ich mit ioBroker wieder ein bisschen

                                    umdenken und möchte alles auf ioBroker umbauen. Mein erstes Projekt ist nicht gerade der leichteste Beginn für mich und dazu passt

                                    dieses Sunset/Sunrise Script sehr gut.

                                    Leider habe ich bisher keinerlei Erfahrung mit JS und schon gar nicht Blockly und möchte hier um etwas Unterstützung bitten:

                                    Meine Teichpumpe soll bei bei Sonnenaufgang (+Offset) ein und bei Sonnenuntergang (+Offset) ausgeschaltet

                                    werden. Bei Temperaturen unter 3 oder 2 Grad soll sie ganztägig laufen. Der Sonoff TH16 liefert dazu die Wassertemperatur.

                                    Wie könnte ich eines der hier vorgestellten Imports dazu umbauen.

                                    Dank an alle die an ioBroker arbeiten, das ganze ist echt krass gut.

                                    1 Antwort Letzte Antwort
                                    0
                                    • rantanplanR Offline
                                      rantanplanR Offline
                                      rantanplan
                                      schrieb am zuletzt editiert von
                                      #27

                                      Hallo Bröselbube

                                      Das ist relativ einfach zu lösen.

                                      Importiere das Blockly aus dem ersten Beitrag und starte es 1x und beende es wieder.

                                      Beim ersten Start werden die benötigten Variablen "MinutenSU" und "MinutenSA" angelegt.

                                      Dann kannst Du es erneut starten und laufen lassen.

                                      Nun werden die Variablen minütlich aktualisiert.

                                      Wie sich die Werte verhalten wird im Beitrag erklärt.

                                      Jetzt braucht Du noch 2 eigene Variablen.

                                      Manuell anlegen oder so wie im Blockly. (Kannste vor dem ersten Start ja mit darein packen)

                                      Z.B.

                                      Variable 1: TeichpumpeMinSU (Minuten SonnenUntergang)

                                      Variable 2: TeichpumpeMinSA (Minuten SonnenAufgang)

                                      In diese Variablen schreibst Du über VIS oder direkt über Objekte Deine gewünschten Zeiten.

                                      Also Minuten VOR SU = 30 oder Minuten NACH SU = -30

                                      Jetzt baust Du ein Blockly in dem die Variablen "MinutenSU" und "MinutenSA" getriggert werden.

                                      Und vergleichst darin "MinutenSU" mit "TeichpumpeMinSU" und "MinutenSA" mit "TeichpumpeMinSU"

                                      Wenn die übereinstimmen und die Temperatur passt, schalte Pumpe aus bzw. ein.

                                      Schau Dir mal einige Beispiele an.

                                      Fang mal an zu "bauen".

                                      Wenn Du nicht weiter kommst, ScreenShot und/oder Export hier rein.

                                      Dann werden wir Dir sicher weiterhelfen.

                                      Grüße

                                      Rantanplan

                                      CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                                      1 Antwort Letzte Antwort
                                      0
                                      • B Offline
                                        B Offline
                                        Bröselbube
                                        schrieb am zuletzt editiert von
                                        #28

                                        Besten Dank erstmal rantanplan!

                                        Werde mal etwas versuchen und melde mich.

                                        Kleine Anfängerfrage: Habe ein erstes Script geschrieben, welches meinen Linux PC einschalten soll.

                                        Wie stößt man diese Script von einem Terminal an? 🙂

                                        1 Antwort Letzte Antwort
                                        0
                                        • rantanplanR Offline
                                          rantanplanR Offline
                                          rantanplan
                                          schrieb am zuletzt editiert von
                                          #29

                                          @Bröselbube:

                                          Kleine Anfängerfrage: Habe ein erstes Script geschrieben, welches meinen Linux PC einschalten soll.

                                          Wie stößt man diese Script von einem Terminal an? 🙂 `
                                          Scripte sind immer Ereignisorientiert.

                                          Also braucht Du ein Ereignis, dass Du triggern kannst.

                                          Variable Typ Logikwert, Zeit, Aktor usw.

                                          Grüße

                                          Rantanplan

                                          CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                                          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

                                          543

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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