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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Sonnenwinkel berechnen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Sonnenwinkel berechnen

Geplant Angeheftet Gesperrt Verschoben JavaScript
17 Beiträge 3 Kommentatoren 1.2k Aufrufe 3 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.
  • P Pistus

    Mit diesem Skript ändert sich Azimuth innerhalb 3h von -47° bis 221° 11:30 bis 14:30Uhr

    const suncalc = require('suncalc2');
    const result = getObject("system.adapter.javascript.0");
    const lat = result.native.latitude;
    const long = result.native.longitude;
    const idEle = 'Sonnenstand.Elevation';
    const idAzi = 'Sonnenstand.Azimuth';
    
    createState(idEle, 0, {type: 'number', unit: '°'});
    createState(idAzi, 0, {type: 'number', unit: '°'});
    
    function Sonnenstand_berechnen () {
    	var now = new Date();
    	var sunpos = suncalc.getPosition(now, lat, long);
    	var h = sunpos.altitude * 180 / Math.PI;
    	var a = sunpos.azimuth * 180 / Math.PI + 100;
    	setState(idEle, Math.round(10 * h) / 10, true);
    	setState(idAzi, Math.round(a), true);
    }
    schedule("* * * * *", Sonnenstand_berechnen);
    

    Was ist falsch an dem Skrpt?

    paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von paul53
    #2

    @pistus sagte: Was ist falsch an dem Skrpt?

    Zeile 15:

    	var a = sunpos.azimuth * 180 / Math.PI + 180;
    

    Stimmen die Werte von lat und long?

    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
    • P Pistus

      Mit diesem Skript ändert sich Azimuth innerhalb 3h von -47° bis 221° 11:30 bis 14:30Uhr

      const suncalc = require('suncalc2');
      const result = getObject("system.adapter.javascript.0");
      const lat = result.native.latitude;
      const long = result.native.longitude;
      const idEle = 'Sonnenstand.Elevation';
      const idAzi = 'Sonnenstand.Azimuth';
      
      createState(idEle, 0, {type: 'number', unit: '°'});
      createState(idAzi, 0, {type: 'number', unit: '°'});
      
      function Sonnenstand_berechnen () {
      	var now = new Date();
      	var sunpos = suncalc.getPosition(now, lat, long);
      	var h = sunpos.altitude * 180 / Math.PI;
      	var a = sunpos.azimuth * 180 / Math.PI + 100;
      	setState(idEle, Math.round(10 * h) / 10, true);
      	setState(idAzi, Math.round(a), true);
      }
      schedule("* * * * *", Sonnenstand_berechnen);
      

      Was ist falsch an dem Skrpt?

      bahnuhrB Online
      bahnuhrB Online
      bahnuhr
      Forum Testing Most Active
      schrieb am zuletzt editiert von bahnuhr
      #3

      @pistus

      probier dies:

      https://forum.iobroker.net/topic/733/gesucht-script-sonnenwinkel-berechnen/92?_=1712058556266


      Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
      Danke.
      gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
      ScreenToGif :https://www.screentogif.com/downloads.html

      1 Antwort Letzte Antwort
      0
      • P Pistus

        Mit diesem Skript ändert sich Azimuth innerhalb 3h von -47° bis 221° 11:30 bis 14:30Uhr

        const suncalc = require('suncalc2');
        const result = getObject("system.adapter.javascript.0");
        const lat = result.native.latitude;
        const long = result.native.longitude;
        const idEle = 'Sonnenstand.Elevation';
        const idAzi = 'Sonnenstand.Azimuth';
        
        createState(idEle, 0, {type: 'number', unit: '°'});
        createState(idAzi, 0, {type: 'number', unit: '°'});
        
        function Sonnenstand_berechnen () {
        	var now = new Date();
        	var sunpos = suncalc.getPosition(now, lat, long);
        	var h = sunpos.altitude * 180 / Math.PI;
        	var a = sunpos.azimuth * 180 / Math.PI + 100;
        	setState(idEle, Math.round(10 * h) / 10, true);
        	setState(idAzi, Math.round(a), true);
        }
        schedule("* * * * *", Sonnenstand_berechnen);
        

        Was ist falsch an dem Skrpt?

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von paul53
        #4

        @pistus
        Alternative aus der System-Konfiguration:

        const suncalc = require('suncalc');
        const result = getObject('system.config');
        const lat = result.common.latitude;
        const long = result.common.longitude;
        

        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

        P 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @pistus
          Alternative aus der System-Konfiguration:

          const suncalc = require('suncalc');
          const result = getObject('system.config');
          const lat = result.common.latitude;
          const long = result.common.longitude;
          
          P Offline
          P Offline
          Pistus
          schrieb am zuletzt editiert von Pistus
          #5

          @paul53 ich habe die Daten der Systemconfiguration genommen
          Jetzt ist Azimuth139° und
          Elevation 37° um 15:40
          Wenn man sich das Bild betrachtet ist Azimuth immer noch daneben

          Was ist falsch an Zeile 15?

          azimutwinkel.png

          bahnuhrB paul53P 2 Antworten Letzte Antwort
          0
          • P Pistus

            @paul53 ich habe die Daten der Systemconfiguration genommen
            Jetzt ist Azimuth139° und
            Elevation 37° um 15:40
            Wenn man sich das Bild betrachtet ist Azimuth immer noch daneben

            Was ist falsch an Zeile 15?

            azimutwinkel.png

            bahnuhrB Online
            bahnuhrB Online
            bahnuhr
            Forum Testing Most Active
            schrieb am zuletzt editiert von bahnuhr
            #6

            @pistus
            Zeile 15 und 17 ist falsch
            Mein Script hast du offensichtlich nicht verglichen.


            Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
            Danke.
            gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
            ScreenToGif :https://www.screentogif.com/downloads.html

            P 1 Antwort Letzte Antwort
            0
            • P Pistus

              @paul53 ich habe die Daten der Systemconfiguration genommen
              Jetzt ist Azimuth139° und
              Elevation 37° um 15:40
              Wenn man sich das Bild betrachtet ist Azimuth immer noch daneben

              Was ist falsch an Zeile 15?

              azimutwinkel.png

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von paul53
              #7

              @pistus sagte: Was ist falsch an Zeile 15?

              Es müssen 180 (nicht 100) addiert werden (Nord = 0°, Ost = 90°).

              @pistus sagte in Sonnenwinkel berechnen:

              Jetzt ist Azimuth139°

              Das sind 80° zu wenig.

              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
              • bahnuhrB bahnuhr

                @pistus
                Zeile 15 und 17 ist falsch
                Mein Script hast du offensichtlich nicht verglichen.

                P Offline
                P Offline
                Pistus
                schrieb am zuletzt editiert von
                #8

                @bahnuhr Ich finde Dein Skript mit der Visualisierung top.
                Aber ich bin nicht so fit im Skripten, ich muss verstehen und klein anfangen.
                In Deiner Visualisierung habe ich für März nicht die -XX° für Azimuth verstanden.
                Siehe mein Sonnenwinkelbild mit Etwawerten.
                Was ist falsch in Zeile 17.

                P 1 Antwort Letzte Antwort
                0
                • P Pistus

                  @bahnuhr Ich finde Dein Skript mit der Visualisierung top.
                  Aber ich bin nicht so fit im Skripten, ich muss verstehen und klein anfangen.
                  In Deiner Visualisierung habe ich für März nicht die -XX° für Azimuth verstanden.
                  Siehe mein Sonnenwinkelbild mit Etwawerten.
                  Was ist falsch in Zeile 17.

                  P Offline
                  P Offline
                  Pistus
                  schrieb am zuletzt editiert von Pistus
                  #9

                  @bahnuhr
                  @paul53
                  So sieht das Skript jetzt aus. Bitte noch einmal um Überprüfung.

                  const suncalc = require('suncalc2');
                  const result = getObject('system.config');
                  const lat = result.common.latitude;
                  const long = result.common.longitude;
                  
                  //const result = getObject("system.adapter.javascript.0");
                  //const lat = result.native.latitude;
                  //const long = result.native.longitude;
                  const idEle = 'Sonnenstand.Elevation';
                  const idAzi = 'Sonnenstand.Azimuth';
                  
                  createState(idEle, 0, {type: 'number', unit: '°'});
                  createState(idAzi, 0, {type: 'number', unit: '°'});
                  
                  function Sonnenstand_berechnen () {
                  	var now = new Date();
                  	var sunpos = suncalc.getPosition(now, lat, long);
                  	var h = sunpos.altitude * 180 / Math.PI;
                  	var a = sunpos.azimuth * 180 / Math.PI + 180;
                  	setState(idEle, Math.round(10 * h) / 10, true);
                  	//setState(idAzi, Math.round(a), true);
                  
                      setState(idAzi, Math.round(Math.round(10 * a) / 10), true);
                  }
                  schedule("* * * * *", Sonnenstand_berechnen);
                  
                  bahnuhrB 1 Antwort Letzte Antwort
                  0
                  • P Pistus

                    @bahnuhr
                    @paul53
                    So sieht das Skript jetzt aus. Bitte noch einmal um Überprüfung.

                    const suncalc = require('suncalc2');
                    const result = getObject('system.config');
                    const lat = result.common.latitude;
                    const long = result.common.longitude;
                    
                    //const result = getObject("system.adapter.javascript.0");
                    //const lat = result.native.latitude;
                    //const long = result.native.longitude;
                    const idEle = 'Sonnenstand.Elevation';
                    const idAzi = 'Sonnenstand.Azimuth';
                    
                    createState(idEle, 0, {type: 'number', unit: '°'});
                    createState(idAzi, 0, {type: 'number', unit: '°'});
                    
                    function Sonnenstand_berechnen () {
                    	var now = new Date();
                    	var sunpos = suncalc.getPosition(now, lat, long);
                    	var h = sunpos.altitude * 180 / Math.PI;
                    	var a = sunpos.azimuth * 180 / Math.PI + 180;
                    	setState(idEle, Math.round(10 * h) / 10, true);
                    	//setState(idAzi, Math.round(a), true);
                    
                        setState(idAzi, Math.round(Math.round(10 * a) / 10), true);
                    }
                    schedule("* * * * *", Sonnenstand_berechnen);
                    
                    bahnuhrB Online
                    bahnuhrB Online
                    bahnuhr
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #10

                    @pistus

                    geb doch mal was ein und vergleichen die Werte mit dem Internet.
                    Dann siehst du doch gleich ob die Werte passen.


                    Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                    Danke.
                    gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                    ScreenToGif :https://www.screentogif.com/downloads.html

                    P 1 Antwort Letzte Antwort
                    0
                    • bahnuhrB bahnuhr

                      @pistus

                      geb doch mal was ein und vergleichen die Werte mit dem Internet.
                      Dann siehst du doch gleich ob die Werte passen.

                      P Offline
                      P Offline
                      Pistus
                      schrieb am zuletzt editiert von
                      #11

                      @bahnuhr
                      Für Mülheim an der Ruhr um 16:00 Uhr beträgt das Azimut etwa 220 Grad.
                      Elevation: Dies ist der vertikale Winkel, der den Winkel über dem Horizont angibt. Um 16:00 Uhr in Mülheim an der Ruhr beträgt die Elevation etwa 30 Grad.
                      Jetzt um 16:50
                      aziel.png

                      bahnuhrB 1 Antwort Letzte Antwort
                      0
                      • P Pistus

                        @bahnuhr
                        Für Mülheim an der Ruhr um 16:00 Uhr beträgt das Azimut etwa 220 Grad.
                        Elevation: Dies ist der vertikale Winkel, der den Winkel über dem Horizont angibt. Um 16:00 Uhr in Mülheim an der Ruhr beträgt die Elevation etwa 30 Grad.
                        Jetzt um 16:50
                        aziel.png

                        bahnuhrB Online
                        bahnuhrB Online
                        bahnuhr
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von
                        #12

                        @pistus
                        Also ein bisschen schwerfällig bist du schon.
                        Warum gibts du deine Daten nicht im Internet ein.
                        Dann siehst du doch genau, dass diese fast stimmen !
                        e8136f96-621c-4642-847a-194228db09fe-image.png


                        Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                        Danke.
                        gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                        ScreenToGif :https://www.screentogif.com/downloads.html

                        P 1 Antwort Letzte Antwort
                        1
                        • bahnuhrB bahnuhr

                          @pistus
                          Also ein bisschen schwerfällig bist du schon.
                          Warum gibts du deine Daten nicht im Internet ein.
                          Dann siehst du doch genau, dass diese fast stimmen !
                          e8136f96-621c-4642-847a-194228db09fe-image.png

                          P Offline
                          P Offline
                          Pistus
                          schrieb am zuletzt editiert von
                          #13

                          @bahnuhr Danke, passt doch super.
                          Mit 82 ist man halt nicht mehr so drahtig. Könntest Du bitte mir den Link Link von Deinem Beispiel, Berechnung Sonnenverlauf, weitergeben.

                          bahnuhrB 1 Antwort Letzte Antwort
                          0
                          • P Pistus

                            @bahnuhr Danke, passt doch super.
                            Mit 82 ist man halt nicht mehr so drahtig. Könntest Du bitte mir den Link Link von Deinem Beispiel, Berechnung Sonnenverlauf, weitergeben.

                            bahnuhrB Online
                            bahnuhrB Online
                            bahnuhr
                            Forum Testing Most Active
                            schrieb am zuletzt editiert von
                            #14

                            @pistus
                            gleich der 1. Treffer in google
                            6674eedd-752e-4f89-9702-4f8ed20b151b-image.png

                            für Mond gibts auch sowas.


                            Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                            Danke.
                            gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                            ScreenToGif :https://www.screentogif.com/downloads.html

                            P 1 Antwort Letzte Antwort
                            1
                            • bahnuhrB bahnuhr

                              @pistus
                              gleich der 1. Treffer in google
                              6674eedd-752e-4f89-9702-4f8ed20b151b-image.png

                              für Mond gibts auch sowas.

                              P Offline
                              P Offline
                              Pistus
                              schrieb am zuletzt editiert von
                              #15

                              @bahnuhr Danke.
                              Der nächste Schritt, ich würde gerne den Sonnenverlauf mittels Sonnenbild im Halbkreis darstellen . Im Hintergrund mein Solardach in Ost- West Ausrichtung, zwei Stränge.
                              Die Sonne soll sich stündlich weiter bewegen und dabei soll die abgeführte Leistung vom Solardach angezeigt werden. Jeder Strang.
                              solardach.jpg
                              Dach hinten ist Osten.
                              sonnenstand10.png
                              So ungfähr

                              bahnuhrB 1 Antwort Letzte Antwort
                              0
                              • P Pistus

                                @bahnuhr Danke.
                                Der nächste Schritt, ich würde gerne den Sonnenverlauf mittels Sonnenbild im Halbkreis darstellen . Im Hintergrund mein Solardach in Ost- West Ausrichtung, zwei Stränge.
                                Die Sonne soll sich stündlich weiter bewegen und dabei soll die abgeführte Leistung vom Solardach angezeigt werden. Jeder Strang.
                                solardach.jpg
                                Dach hinten ist Osten.
                                sonnenstand10.png
                                So ungfähr

                                bahnuhrB Online
                                bahnuhrB Online
                                bahnuhr
                                Forum Testing Most Active
                                schrieb am zuletzt editiert von
                                #16

                                @pistus
                                Da muss jemand anders helfen.


                                Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                                Danke.
                                gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                                ScreenToGif :https://www.screentogif.com/downloads.html

                                P 1 Antwort Letzte Antwort
                                0
                                • bahnuhrB bahnuhr

                                  @pistus
                                  Da muss jemand anders helfen.

                                  P Offline
                                  P Offline
                                  Pistus
                                  schrieb am zuletzt editiert von
                                  #17

                                  @bahnuhr Die Leistung je Strang bekomme ich schon jetzt mittels Modbus vom Wechselrichter und kann in den Objekten abgeholt werden.
                                  Wie bekommt man die Daten von Azimuth in VIS und kann diese dann im Halbkreis darstellen.

                                  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

                                  627

                                  Online

                                  32.6k

                                  Benutzer

                                  82.1k

                                  Themen

                                  1.3m

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

                                  • Du hast noch kein Konto? Registrieren

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