Skip to content
  • Home
  • 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
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Vorlage ] Blockly dynamischer Sonnenauf- und Sonnenuntergang

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    476

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

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

[Vorlage ] Blockly dynamischer Sonnenauf- und Sonnenuntergang

Scheduled Pinned Locked Moved Skripten / Logik
blocklytemplate
49 Posts 10 Posters 16.0k 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.
  • 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! :D

              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 :D

                          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
                          • rantanplanR Offline
                            rantanplanR Offline
                            rantanplan
                            wrote on last edited by
                            #44

                            @maddad:

                            Hast Du eine Ahnung was die Rollen "switch" und "value" zu bedeuten haben? Wurden genauso importiert, hab da noch nichts angefasst. `
                            Tut mir leid ich habe KNX nicht.

                            Mach doch mal einen neuen Thread auf. Mit Betreff "Frage zu KNX"

                            Hier gibt es bestimmt Mitglieder die KNX kennen und Dir gerne weiterhelfen.

                            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
                              #45

                              Hallo Rantanplan,

                              das ist eine gute Idee. Ich glaube chefkoch999 hat schon mal damit gearbeitet.

                              Er müsste KNX haben.

                              Vielen Dank aber für Deine Unterstützung, Erklärungen und Hilfe

                              Grüsse aus der Klingenstadt Solingen

                              P 1 Reply Last reply
                              0
                              • M maddad

                                Hallo Rantanplan,

                                das ist eine gute Idee. Ich glaube chefkoch999 hat schon mal damit gearbeitet.

                                Er müsste KNX haben.

                                Vielen Dank aber für Deine Unterstützung, Erklärungen und Hilfe

                                Grüsse aus der Klingenstadt Solingen

                                P Offline
                                P Offline
                                Pistus
                                wrote on last edited by Pistus
                                #46

                                @rantanplan Hallo,
                                ich habe ein Solardach in Ost-Westrichtung ausgerichtet.
                                Da die Sonne im Osten auf- und im Westen unter geht, möchte ich je nach Sonnenstand die Leistung stündlich zwischen 7 und 19 Uhr anzeigen und in VIS darstellen.
                                Die Leistung des Ost- und Weststrang bekomme ich über Modbus. Der Sonnenstand soll mittels Halbkreis dargestellt werden.
                                Ist das machbar. Leider fehlen mir die Programmierkenntnisse für dieses Vorhaben. Evtl. ist die Idee auch für einen anderen User interessant. Gibt es dafür schon ein Beispiel?
                                solardach.jpg
                                Hinten am Dach ist Osten.

                                paul53P haus-automatisierungH 2 Replies Last reply
                                0
                                • P Pistus

                                  @rantanplan Hallo,
                                  ich habe ein Solardach in Ost-Westrichtung ausgerichtet.
                                  Da die Sonne im Osten auf- und im Westen unter geht, möchte ich je nach Sonnenstand die Leistung stündlich zwischen 7 und 19 Uhr anzeigen und in VIS darstellen.
                                  Die Leistung des Ost- und Weststrang bekomme ich über Modbus. Der Sonnenstand soll mittels Halbkreis dargestellt werden.
                                  Ist das machbar. Leider fehlen mir die Programmierkenntnisse für dieses Vorhaben. Evtl. ist die Idee auch für einen anderen User interessant. Gibt es dafür schon ein Beispiel?
                                  solardach.jpg
                                  Hinten am Dach ist Osten.

                                  paul53P Offline
                                  paul53P Offline
                                  paul53
                                  wrote on last edited by
                                  #47

                                  @pistus sagte: Der Sonnenstand

                                  const suncalc = require('suncalc');
                                  
                                  const jsa = getObject("system.adapter.javascript.0");
                                  const lat = jsa.native.latitude;
                                  const long = jsa.native.longitude;
                                  
                                  schedule("* * * * *", function () {
                                      const sunpos = suncalc.getPosition(new Date(), lat, long);
                                      const h = sunpos.altitude * 180 / Math.PI; 
                                      const a = sunpos.azimuth * 180 / Math.PI + 180;
                                      
                                      setState("0_userdata.0.Aussen.Sonne.Hoehe", Math.round(10 * h) / 10, true);
                                      setState("0_userdata.0.Aussen.Sonne.Azimut", Math.round(a), true);
                                  });
                                  

                                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                  1 Reply Last reply
                                  0
                                  • P Pistus

                                    @rantanplan Hallo,
                                    ich habe ein Solardach in Ost-Westrichtung ausgerichtet.
                                    Da die Sonne im Osten auf- und im Westen unter geht, möchte ich je nach Sonnenstand die Leistung stündlich zwischen 7 und 19 Uhr anzeigen und in VIS darstellen.
                                    Die Leistung des Ost- und Weststrang bekomme ich über Modbus. Der Sonnenstand soll mittels Halbkreis dargestellt werden.
                                    Ist das machbar. Leider fehlen mir die Programmierkenntnisse für dieses Vorhaben. Evtl. ist die Idee auch für einen anderen User interessant. Gibt es dafür schon ein Beispiel?
                                    solardach.jpg
                                    Hinten am Dach ist Osten.

                                    haus-automatisierungH Online
                                    haus-automatisierungH Online
                                    haus-automatisierung
                                    Developer Most Active
                                    wrote on last edited by
                                    #48

                                    @pistus Dieser Thread ist über 6 Jahre alt...

                                    🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                                    🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                                    📚 Meine inoffizielle ioBroker Dokumentation

                                    P 1 Reply Last reply
                                    0
                                    • haus-automatisierungH haus-automatisierung

                                      @pistus Dieser Thread ist über 6 Jahre alt...

                                      P Offline
                                      P Offline
                                      Pistus
                                      wrote on last edited by
                                      #49

                                      @haus-automatisierung
                                      Du hast recht.

                                      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

                                      327

                                      Online

                                      32.7k

                                      Users

                                      82.5k

                                      Topics

                                      1.3m

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

                                      • Don't have an account? Register

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