Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
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

Scheduled Pinned Locked Moved Skripten / Logik
blocklytemplate
49 Posts 10 Posters 15.2k Views 7 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • rantanplanR Offline
    rantanplanR Offline
    rantanplan
    wrote on last edited by
    #24

    Prima das es klappt.

    Grüße

    Rantanplan

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

    1 Reply Last reply
    0
    • N Offline
      N Offline
      nibblerrick
      wrote on last edited by
      #25

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

      1 Reply Last reply
      0
      • B Offline
        B Offline
        Bröselbube
        wrote on last edited by
        #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 Reply Last reply
        0
        • rantanplanR Offline
          rantanplanR Offline
          rantanplan
          wrote on last edited by
          #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 Reply Last reply
          0
          • B Offline
            B Offline
            Bröselbube
            wrote on last edited by
            #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 Reply Last reply
            0
            • rantanplanR Offline
              rantanplanR Offline
              rantanplan
              wrote on last edited by
              #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 Reply Last reply
              0
              • B Offline
                B Offline
                Bröselbube
                wrote on last edited by
                #30

                Also es handelt sich ein Javascript, kein Blockly.

                Möchte das über eine App auf dem ioBroker anstossen.

                Über App ist ssh, ftp oder mqtt-connection kein Thema für mich.

                Habe nur im Moment echt keine Idee wie das gehen soll ein Script auszuführen oder auch einen Sonoff anzusprechen.

                Das ganze ist hier leider Offtopic, also möchte ich den Thread auch nicht zumüllen.

                Wenn ich einmal weiss wie das geht, komme ich schon weiter klar.

                Wollte dazu nicht extra ein Thema eröffnen. Sorry.

                Viele Grüße und lieben Dank!

                1 Reply Last reply
                0
                • rantanplanR Offline
                  rantanplanR Offline
                  rantanplan
                  wrote on last edited by
                  #31

                  @Bröselbube:

                  Also es handelt sich ein Javascript, kein Blockly. `
                  Blockly erstellt JavaScript!

                  Grüße

                  Rantanplan

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

                  1 Reply Last reply
                  0
                  • B Offline
                    B Offline
                    Bröselbube
                    wrote on last edited by
                    #32

                    Blockly erstellt JavaScript! Ist klar soweit.

                    Habe zu unrecht etwas bedenken wegen JS gehabt, finde mich bereits gut damit zurecht.

                    Blockly liegt mir persönlich dagegen überhaupt nicht - ist halt Geschmackssache.

                    Folgendes kleine Script scheint schon funktionieren:

                    var temp;
                    var night = false;
                    
                    function switch_pump() {
                    	temp = getState("sonoff.0.Pond.DHT22_Temperatur").val
                    	if (night && temp > 1) {
                    		log("Teichpumpe aus");
                    		setState("sonoff.0.Pond.POWER", false);
                    	} 	else 	{
                    			log("Teichpumpe an");
                    			setState("sonoff.0.Pond.POWER", true);
                    	}
                    }
                    
                    schedule({astro: "sunrise", shift: 0}, function () {
                        log('Sonnenaufgang');
                        night = false;
                        switch_pump();
                    
                    });
                    
                    schedule({astro: "sunset", shift: 0}, function () {
                        log('Sonnenuntergang');
                        night = true; 
                        switch_pump();
                    });
                    

                    Denke aber das dies auf Dauer zu unzuverlässig ist, werde das noch umschreiben und 1xmin überprüfen.

                    Die Astro-Funktion reicht mir dabei völlig.

                    Danke und

                    Gruß

                    1 Reply Last reply
                    0
                    • rantanplanR Offline
                      rantanplanR Offline
                      rantanplan
                      wrote on last edited by
                      #33

                      Hallo Bröselbube

                      Schön das Du einen Weg gefunden hast.

                      Ich weis nur nicht was Dein Beitrag hier soll.

                      Ist wohl etwas am Thema vorbei :roll:

                      Grüße

                      Rantanplan

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

                      1 Reply Last reply
                      0
                      • B Offline
                        B Offline
                        Bröselbube
                        wrote on last edited by
                        #34

                        Ah ja, sehr schlimm alles, wirklich. Sehr Hilfreich alles danke danke und Tschö. :arrow:

                        1 Reply Last reply
                        0
                        • D Offline
                          D Offline
                          Dennis
                          wrote on last edited by
                          #35

                          Guten Tag zusammen,

                          ich beginne gerade mich mit dem iobroker anzufreunden und dabei auf diese wunderbare Vorlage gestoßen.

                          Leider stelle ich mich anscheinend etwas dämlich an, denn ich bekomme die XML-Datei der Vorlage nicht in Blockly importiert. :oops:

                          Kann mir bitte jemand sagen, wie ich das bewerkstelligen kann?

                          Schöne Grüße und vielen Dank!

                          Dennis

                          1 Reply Last reply
                          0
                          • rantanplanR Offline
                            rantanplanR Offline
                            rantanplan
                            wrote on last edited by
                            #36

                            @Dennis:

                            Leider stelle ich mich anscheinend etwas dämlich an, denn ich bekomme die XML-Datei der Vorlage nicht in Blockly importiert. :oops:

                            Kann mir bitte jemand sagen, wie ich das bewerkstelligen kann? `
                            Neues Script Typ Blockly.

                            Dann
                            147_blocklyimport.png

                            XML-Datei rein kopieren und fertig.

                            Grüße

                            Rantanplan

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

                            1 Reply Last reply
                            0
                            • D Offline
                              D Offline
                              Dennis
                              wrote on last edited by
                              #37

                              Super, vielen lieben Dank! 😄

                              1 Reply Last reply
                              0
                              • M Offline
                                M Offline
                                maddad
                                wrote on last edited by
                                #38

                                Hallo zusammen,

                                verwende KNX Aktoren und hatte mich mal versucht mit SmartVisu eine grafische Oberfläche zum steuern meiner KNX Komponenten.

                                Leider bin ich daran verzweifelt :?

                                Jetzt bin ich über einen Kollegen auf IOBroker gestossen und bin, wie viele andere hier, super begeistert.

                                Versuche gerade per Sonnenauf- und -untergang meine Rollos zu steuern und habe dafür das script von Rantanplan eingebunden.

                                Die Tageszeit, Sonnenauf und -untergangszeiten erscheinen in den Objekten - so weit so gut.

                                Was ich mich jetzt Frage, wie kann ich meine KNX Objekte (sind alle importiert worden und funktionieren auch über manuelle Widget Bedienung) im Blockly in das Script von Rantanplan einbinden? Irgendwo muss da doch noch die Aktion rein "mache xxx".

                                Hoffe auf eine Antwort und bedanke mich im voraus schon mal.

                                Liebe Grüsse an das Forum

                                1 Reply Last reply
                                0
                                • rantanplanR Offline
                                  rantanplanR Offline
                                  rantanplan
                                  wrote on last edited by
                                  #39

                                  @maddad:

                                  Irgendwo muss da doch noch die Aktion rein "mache xxx". `
                                  Hallo maddad

                                  Nein, nicht in dieses Blockly.

                                  Hier werden nur die Datenpunkte "MinutenSU" und "MinutenSA" geändert.

                                  Alles weitere habe ich in diesem Thread schon mal hier erklärt.

                                  http://forum.iobroker.net/viewtopic.php … tro#p90911

                                  Falls noch Fragen offen….fragen.

                                  Grüße

                                  Rantanplan

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

                                  1 Reply Last reply
                                  0
                                  • M Offline
                                    M Offline
                                    maddad
                                    wrote on last edited by
                                    #40

                                    Hallo rantanplan,

                                    danke für die schnelle Info.

                                    Werde mich da direkt ransetzen.

                                    1 Reply Last reply
                                    0
                                    • M Offline
                                      M Offline
                                      maddad
                                      wrote on last edited by
                                      #41

                                      Hallo rantanplan,

                                      könnte dies so funktionieren?

                                      Ich komm noch nicht ganz mit, wie die Rollos mitbekommen, ob sie nun rauf oder runter fahren sollen, da im KNX nur der Befehl "Bewegung" existiert und nicht "rauf" / "runter".

                                      Wie Raphael seinerzeit gefragt hat unter

                                      http://forum.iobroker.net/viewtopic.php … &hilit=knx
                                      5077_blockly-rollosu.jpg

                                      1 Reply Last reply
                                      0
                                      • rantanplanR Offline
                                        rantanplanR Offline
                                        rantanplan
                                        wrote on last edited by
                                        #42

                                        Hallo maddad

                                        Zu KNX kann ich nichts sagen.

                                        Aber das es da nur einen Datenpunkt gibt, kann ich fast nicht glauben.

                                        Mach doch mal einen Screenshot von den Datenpunkten.

                                        Doch nun zum Blockly.

                                        Am aller wichtigsten Blocklys NICHT unter "global" speichern!!!!!!!!!!!!!

                                        Da funktionieren die nicht.

                                        Du brauchst 2 Datenpunkte.

                                        Einen für wann sollen die Rollos hoch

                                        und einen für wann sollen die Rollos runter.

                                        Diese Datenpunkte verbindest Du mit einen VIS Widget.

                                        Damit kannst Du dann Deine gewünschten Minuten, relativ zum SA / SU, eintragen und bei bedarf ändern/anpassen.

                                        Ich habe mal ein Beispiel gemacht mit "RolloRunterMinSU" und "RolloRaufMinutenSA"
                                        147_beispiel.png

                                        Hier der Export:

                                        ! ````
                                        <xml xmlns="http://www.w3.org/1999/xhtml"><block type="create" id=",Aoq0Hdc,]ZX/L.Y+oVD" x="-237" y="238"><field name="NAME">RolloRunterMinSU</field>
                                        <statement name="STATEMENT"><block type="create" id="6l;U+C-{YZA7psTM7:2]"><field name="NAME">RolloRaufMinSA</field></block></statement></block>
                                        <block type="comment" id="zsN^-r6Dsd(J7L~q.paT" x="-488" y="338"><field name="COMMENT">Rollos abends</field>
                                        <next><block type="on_ext" id="=.XKxRH@M.;,RYLU^mEf"><mutation items="1"></mutation>
                                        <field name="CONDITION">ne</field>

                                            <value name="OID0"><shadow type="field_oid" id="13IE@2#p!v)}zKEIq|[m"><field name="oid">default</field></shadow> 
                                              <block type="get_value" id="U6Gg=,UF{6k(*OYbT.TN"><field name="ATTR">val</field>
                                                <field name="OID">HomeStatus.0.Zeiten.MinutenSU</field></block></value> 
                                            <statement name="STATEMENT"><block type="controls_if" id="@ke{A=-EG3`;E5+qeoh?"><value name="IF0"><block type="logic_compare" id="2q*3x{;9mv=t^^O|(B3k" inline="false"><field name="OP">EQ</field>
                                                    <value name="A"><block type="get_value" id="_*=rf)kkD))~^~Ox:sTZ"><field name="ATTR">val</field>
                                                        <field name="OID">HomeStatus.0.Zeiten.MinutenSU</field></block></value> 
                                                    <value name="B"><block type="get_value" id="/_]R5}vRQRsu@P[29TbN"><field name="ATTR">val</field>
                                                        <field name="OID">HomeStatus.0.Rollos.RolloMinutenSU</field></block></value></block></value> 
                                                <statement name="DO0"><block type="comment" id="X0:ys-=,tyRa.U:bA/zt"><field name="COMMENT">Hier Rollos runter steuern</field></block></statement></block></statement></block></next></block> 
                                        

                                        <block type="comment" id="8u]?,)uA7.GqwkF*y9oD" x="13" y="338"><field name="COMMENT">Rollos morgens</field>
                                        <next><block type="on_ext" id="7jJfI#y=~C5kOFBU2BVn"><mutation items="1"></mutation>
                                        <field name="CONDITION">ne</field>

                                            <value name="OID0"><shadow type="field_oid" id="VUDy]7nRNo5w}hMg,R3Y"><field name="oid">default</field></shadow> 
                                              <block type="get_value" id="Laf:!4)x4.sWEMjV^bNf"><field name="ATTR">val</field>
                                                <field name="OID">HomeStatus.0.Zeiten.MinutenSA</field></block></value> 
                                            <statement name="STATEMENT"><block type="controls_if" id="%~=h.8ne*?#rw(Y0OpzS"><value name="IF0"><block type="logic_compare" id=":GZkXl|{!XdMJ~G8X79Q" inline="false"><field name="OP">EQ</field>
                                                    <value name="A"><block type="get_value" id=".Z|.rY@!KNB09A|ms7`Q"><field name="ATTR">val</field>
                                                        <field name="OID">HomeStatus.0.Zeiten.MinutenSA</field></block></value> 
                                                    <value name="B"><block type="get_value" id="XehC+%!g5eA{`Co8OY4A"><field name="ATTR">val</field>
                                                        <field name="OID">HomeStatus.0.Rollos.RolloMinutenSA</field></block></value></block></value> 
                                                <statement name="DO0"><block type="comment" id="(amxK8n]eU?KM@F%2eAy"><field name="COMMENT">Hier Rollos rauf steuern</field></block></statement></block></statement></block></next></block></xml> 
                                        

                                        ! ````

                                        Grüße

                                        Rantanplan

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

                                        1 Reply Last reply
                                        0
                                        • M Offline
                                          M Offline
                                          maddad
                                          wrote on last edited by
                                          #43

                                          Hallo rantanplan,

                                          erstmal vielen Dank für das coole Blockly skript. Habe es direkt mal eingebunden 😄

                                          Das mit dem Skript in global meine ich hier irgendwo gelsen zu haben, finde es aber nicht mehr - ist auch egal - schon gelöscht. :lol:

                                          Habe als Bild meine Datenpunkte angehängt.

                                          Die Rollos werden über die Werte 0 und 1 gesteuert, wobei 0 für Rollo runter und 1 für Rollo rauf steht.

                                          Das Schlafzimmer z.B stand eben noch auf 1 = Rollo war oben.

                                          Habe das Rollo manuell über einen mechanischen Schalter (Aktor) herunter gefahren. Wie Du siehst ist der Wert nun auf 0.

                                          Es besteht aber nur Datenpunkt pro Rollo Bewegung. :?:

                                          Hast Du eine Ahnung was die Rollen "switch" und "value" zu bedeuten haben? Wurden genauso importiert, hab da noch nichts angefasst.

                                          Liebe Grüsse
                                          5077_datenpunkte.jpg

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          740

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe