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.2k

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

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

[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.
  • 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
      • B Offline
        B Offline
        Bröselbube
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • rantanplanR Offline
          rantanplanR Offline
          rantanplan
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          0
          • B Offline
            B Offline
            Bröselbube
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            0
            • rantanplanR Offline
              rantanplanR Offline
              rantanplan
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • B Offline
                B Offline
                Bröselbube
                schrieb am zuletzt editiert von
                #34

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

                1 Antwort Letzte Antwort
                0
                • D Offline
                  D Offline
                  Dennis
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  0
                  • rantanplanR Offline
                    rantanplanR Offline
                    rantanplan
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    0
                    • D Offline
                      D Offline
                      Dennis
                      schrieb am zuletzt editiert von
                      #37

                      Super, vielen lieben Dank! 😄

                      1 Antwort Letzte Antwort
                      0
                      • M Offline
                        M Offline
                        maddad
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        0
                        • rantanplanR Offline
                          rantanplanR Offline
                          rantanplan
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          0
                          • M Offline
                            M Offline
                            maddad
                            schrieb am zuletzt editiert von
                            #40

                            Hallo rantanplan,

                            danke für die schnelle Info.

                            Werde mich da direkt ransetzen.

                            1 Antwort Letzte Antwort
                            0
                            • M Offline
                              M Offline
                              maddad
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              0
                              • rantanplanR Offline
                                rantanplanR Offline
                                rantanplan
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                0
                                • M Offline
                                  M Offline
                                  maddad
                                  schrieb am zuletzt editiert von
                                  #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 Antwort Letzte Antwort
                                  0
                                  • rantanplanR Offline
                                    rantanplanR Offline
                                    rantanplan
                                    schrieb am zuletzt editiert von
                                    #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 Antwort Letzte Antwort
                                    0
                                    • M Offline
                                      M Offline
                                      maddad
                                      schrieb am zuletzt editiert von
                                      #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 Antwort Letzte Antwort
                                      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
                                        schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
                                        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
                                          schrieb am zuletzt editiert von
                                          #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 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

                                          731

                                          Online

                                          32.4k

                                          Benutzer

                                          81.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
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe