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. Gesucht: Script: Sonnenwinkel berechnen?

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

Gesucht: Script: Sonnenwinkel berechnen?

Scheduled Pinned Locked Moved Skripten / Logik
101 Posts 27 Posters 27.4k 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.
  • lobomauL Offline
    lobomauL Offline
    lobomau
    wrote on last edited by
    #74

    Ok. Südrichtung passt exakt mit der Uhrzeit zusammen 🙂

    Host: NUC8i3 mit Proxmox:

    • ioBroker CT Debian 13, npm 10.9.3, nodejs 22.20.0
    • Slave: Pi4
    1 Reply Last reply
    0
    • C Offline
      C Offline
      cainam
      wrote on last edited by
      #75

      Hallo zusammen

      Also ich habe das Script 1:1 kopiert... doch kommen bei mir komplett falsche Zahlen an (im vergleich zu https://www.sonnenverlauf.de/)

      Die Koordinaten stimmen und das Skript läuft ohne Fehler und die Daten ändern... aber sind einfach falsch

      Danke und Gruess

      Raphi

      Daten aus sonnenverlauf:
      db45c13a-d15d-4c21-b8e4-ae5a633287ac-image.png
      Daten die Ankommen:

      5d7c0bbf-ffe3-47a8-a3fb-8980840130fb-image.png

      Skript:

       /* System Sonnenstand
      {1}
      Sonne Azimut und Elevation in Variablen schreiben
      {1}
      erstellt: 06.07.2015 nach ioBroker Forum http://forum.iobroker.net/viewtopic.php?f=21&t=975&sid=6f0ba055de5f82eed6809424f49ca93b#p7635
      */
      var Elevation = "javascript.0.Steuerungsflags.Elevation";
      var Azimut = "javascript.0.Steuerungsflags.Azimut";
       
      var suncalc = require('suncalc'),
          result = getObject("system.adapter.javascript.0"),
          lat = result.native.latitude,
          long = result.native.longitude;
      
      createState(Elevation, 0, {type: 'number', unit: '°'});
      createState(Azimut, 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,
            a = sunpos.azimuth * 180 / Math.PI + 180;
           setState(Elevation,h.toFixed(1)); /*sonne_elevation*/
           setState(Azimut,a.toFixed());  /*sonne_azimut*/
      }
       
      
      
      
      schedule("*/5 * * * *", Sonnenstand_berechnen); // alle 5 Minuten zur vollen Minute
      Sonnenstand_berechnen(); // bei Scriptstart
       
      
      HomoranH paul53P 2 Replies Last reply
      0
      • C cainam

        Hallo zusammen

        Also ich habe das Script 1:1 kopiert... doch kommen bei mir komplett falsche Zahlen an (im vergleich zu https://www.sonnenverlauf.de/)

        Die Koordinaten stimmen und das Skript läuft ohne Fehler und die Daten ändern... aber sind einfach falsch

        Danke und Gruess

        Raphi

        Daten aus sonnenverlauf:
        db45c13a-d15d-4c21-b8e4-ae5a633287ac-image.png
        Daten die Ankommen:

        5d7c0bbf-ffe3-47a8-a3fb-8980840130fb-image.png

        Skript:

         /* System Sonnenstand
        {1}
        Sonne Azimut und Elevation in Variablen schreiben
        {1}
        erstellt: 06.07.2015 nach ioBroker Forum http://forum.iobroker.net/viewtopic.php?f=21&t=975&sid=6f0ba055de5f82eed6809424f49ca93b#p7635
        */
        var Elevation = "javascript.0.Steuerungsflags.Elevation";
        var Azimut = "javascript.0.Steuerungsflags.Azimut";
         
        var suncalc = require('suncalc'),
            result = getObject("system.adapter.javascript.0"),
            lat = result.native.latitude,
            long = result.native.longitude;
        
        createState(Elevation, 0, {type: 'number', unit: '°'});
        createState(Azimut, 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,
              a = sunpos.azimuth * 180 / Math.PI + 180;
             setState(Elevation,h.toFixed(1)); /*sonne_elevation*/
             setState(Azimut,a.toFixed());  /*sonne_azimut*/
        }
         
        
        
        
        schedule("*/5 * * * *", Sonnenstand_berechnen); // alle 5 Minuten zur vollen Minute
        Sonnenstand_berechnen(); // bei Scriptstart
         
        
        HomoranH Do not disturb
        HomoranH Do not disturb
        Homoran
        Global Moderator Administrators
        wrote on last edited by
        #76

        @cainam geoposition in der javascript Instanz korrekt?
        Systemzeit korrekt?

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        1 Reply Last reply
        0
        • C Offline
          C Offline
          cainam
          wrote on last edited by
          #77

          Systemzeit stimmt (aus LOGs) sehe ich das
          Geoposition in der Javascript? in den Einstellungen habe ich dies. in der javascript instanz habe ich folgendes (wobei habe es auch schon versucht ohne hacken... kein unterschied):

          7e7b8ae5-ad76-4c01-86ae-fbd38a39e75c-image.png

          HomoranH ice987I 2 Replies Last reply
          0
          • C cainam

            Systemzeit stimmt (aus LOGs) sehe ich das
            Geoposition in der Javascript? in den Einstellungen habe ich dies. in der javascript instanz habe ich folgendes (wobei habe es auch schon versucht ohne hacken... kein unterschied):

            7e7b8ae5-ad76-4c01-86ae-fbd38a39e75c-image.png

            HomoranH Do not disturb
            HomoranH Do not disturb
            Homoran
            Global Moderator Administrators
            wrote on last edited by
            #78

            @cainam sagte in Gesucht: Script: Sonnenwinkel berechnen?:

            (wobei habe es auch schon versucht ohne hacken

            und dann Lat und Lon richtig eingetragen?

            Bei mir läuft das Skript problemlos

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            1 Reply Last reply
            0
            • C cainam

              Systemzeit stimmt (aus LOGs) sehe ich das
              Geoposition in der Javascript? in den Einstellungen habe ich dies. in der javascript instanz habe ich folgendes (wobei habe es auch schon versucht ohne hacken... kein unterschied):

              7e7b8ae5-ad76-4c01-86ae-fbd38a39e75c-image.png

              ice987I Offline
              ice987I Offline
              ice987
              wrote on last edited by ice987
              #79

              @cainam

              Die Frage hatte ich auch bereits: https://github.com/ioBroker/ioBroker.javascript/issues/800

              versuch mal so: https://forum.iobroker.net/topic/43018/gelöst-längen-und-breitengrade/13?_=1622041737554

              husqvarna-automower, meteoblue, wiserbyfeller, spritmonitor

              C 1 Reply Last reply
              0
              • C Offline
                C Offline
                cainam
                wrote on last edited by
                #80

                ja...
                also elavation stimmt ca.
                aber azimut ist komplett flasch.. ich meine 300" das wäre ja schon Nord-Westen-Nord... da ist sie höchstens so um 21uhr

                1 Reply Last reply
                0
                • ice987I ice987

                  @cainam

                  Die Frage hatte ich auch bereits: https://github.com/ioBroker/ioBroker.javascript/issues/800

                  versuch mal so: https://forum.iobroker.net/topic/43018/gelöst-längen-und-breitengrade/13?_=1622041737554

                  C Offline
                  C Offline
                  cainam
                  wrote on last edited by
                  #81

                  @ice987 said in Gesucht: Script: Sonnenwinkel berechnen?:

                  @cainam

                  Die Frage hatte ich auch bereits: https://github.com/ioBroker/ioBroker.javascript/issues/800

                  versuch mal so: https://forum.iobroker.net/topic/43018/gelöst-längen-und-breitengrade/13?_=1622041737554

                  genau... das wars... jetzt geht es

                  1 Reply Last reply
                  0
                  • C cainam

                    Hallo zusammen

                    Also ich habe das Script 1:1 kopiert... doch kommen bei mir komplett falsche Zahlen an (im vergleich zu https://www.sonnenverlauf.de/)

                    Die Koordinaten stimmen und das Skript läuft ohne Fehler und die Daten ändern... aber sind einfach falsch

                    Danke und Gruess

                    Raphi

                    Daten aus sonnenverlauf:
                    db45c13a-d15d-4c21-b8e4-ae5a633287ac-image.png
                    Daten die Ankommen:

                    5d7c0bbf-ffe3-47a8-a3fb-8980840130fb-image.png

                    Skript:

                     /* System Sonnenstand
                    {1}
                    Sonne Azimut und Elevation in Variablen schreiben
                    {1}
                    erstellt: 06.07.2015 nach ioBroker Forum http://forum.iobroker.net/viewtopic.php?f=21&t=975&sid=6f0ba055de5f82eed6809424f49ca93b#p7635
                    */
                    var Elevation = "javascript.0.Steuerungsflags.Elevation";
                    var Azimut = "javascript.0.Steuerungsflags.Azimut";
                     
                    var suncalc = require('suncalc'),
                        result = getObject("system.adapter.javascript.0"),
                        lat = result.native.latitude,
                        long = result.native.longitude;
                    
                    createState(Elevation, 0, {type: 'number', unit: '°'});
                    createState(Azimut, 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,
                          a = sunpos.azimuth * 180 / Math.PI + 180;
                         setState(Elevation,h.toFixed(1)); /*sonne_elevation*/
                         setState(Azimut,a.toFixed());  /*sonne_azimut*/
                    }
                     
                    
                    
                    
                    schedule("*/5 * * * *", Sonnenstand_berechnen); // alle 5 Minuten zur vollen Minute
                    Sonnenstand_berechnen(); // bei Scriptstart
                     
                    
                    paul53P Offline
                    paul53P Offline
                    paul53
                    wrote on last edited by
                    #82

                    @cainam sagte:

                    setState(Elevation,h.toFixed(1)); /*sonne_elevation*/ 
                    setState(Azimut,a.toFixed());  /*sonne_azimut*/
                    

                    toFixed() erzeugt einen String. Ändere es in

                    setState(Elevation, Math.round(h * 10) / 10, true; /*sonne_elevation*/ 
                    setState(Azimut, Math.round(a), true);  /*sonne_azimut*/
                    

                    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

                    S 1 Reply Last reply
                    0
                    • paul53P paul53

                      @cainam sagte:

                      setState(Elevation,h.toFixed(1)); /*sonne_elevation*/ 
                      setState(Azimut,a.toFixed());  /*sonne_azimut*/
                      

                      toFixed() erzeugt einen String. Ändere es in

                      setState(Elevation, Math.round(h * 10) / 10, true; /*sonne_elevation*/ 
                      setState(Azimut, Math.round(a), true);  /*sonne_azimut*/
                      
                      S Do not disturb
                      S Do not disturb
                      stenmic
                      wrote on last edited by stenmic
                      #83

                      ich hab auch mal ein Blockly erstellt um die Sonnenkurve (Höhe) zu berechnen.
                      Passt sehr gut mit meinem LUX–Sensor zusammen:)

                      Leider sieht man damit auch gut wie schlecht das Wetter bei uns ist.

                      36903FC0-EAA8-4D85-9CFA-B61601954F77.jpeg

                      ich nutze diese Kurve um Level und Kelvin meiner HUE Lampen zu steuern.

                      6871C072-1789-4D72-829D-C80F9E4A7465.jpeg

                      1 Reply Last reply
                      0
                      • derAugeD derAuge

                        wollte hier mal meine Lösung des heutigen Tages zeigen:

                        es gibt dort zwei (etwas) unterschiedliche Scripte

                        1.)

                        /*
                        Sonnenstand.SonneHöhe
                        */
                        var suncalc = require('suncalc');
                        var result = getObject("system.adapter.javascript.0");
                        var lat = result.native.latitude;
                        var long = result.native.longitude;
                        
                            createState('Sonnenstand.Sonne:Höhe', 0, {unit: '°'});
                            createState('Sonnenstand.Sonne:Azimut', 0, {unit: '°'});
                        
                            schedule("*/1 * * * *", function () {
                                var now = new Date();
                        //        log("-----------------------------------------------");
                        //        log("latitude : " + result.native.latitude,'warn');
                        //        log("longitude: " + result.native.longitude,'warn');
                        
                                var sunpos = suncalc.getPosition(now, lat, long);
                        
                        //        log("sunpos: " + JSON.stringify(sunpos),'warn');
                        
                                var h = sunpos.altitude * 180 / Math.PI;
                                var a = sunpos.azimuth * 180 / Math.PI + 180;
                        
                                setState("javascript.0.Sonnenstand.Sonne:Höhe",h.toFixed(1));
                                setState("javascript.0.Sonnenstand.Sonne:Azimut",a.toFixed());
                        
                            });
                        
                        

                        2.)

                        /*
                        Sonnenstand.SonneBerechnen
                            Sonne Azimut und Elevation in Variablen schreiben
                        
                        */
                        
                            var suncalc = require('suncalc'),
                                result = getObject("system.adapter.javascript.0"),
                                lat = result.native.latitude,
                                long = result.native.longitude;
                        
                            createState('Sonnenstand.Elevation', 0, {unit: '°'});
                            createState('Sonnenstand.Azimut', 0, {unit: '°'});
                        
                            function Sonnenstand_berechnen () {
                                var now = new Date();
                                var sunpos = suncalc.getPosition(now, lat, long);
                                var h = sunpos.altitude * 180 / Math.PI,
                                    a = sunpos.azimuth * 180 / Math.PI + 180;
                        
                                setState("javascript.0.Sonnenstand.Elevation",h.toFixed(1));
                                setState("javascript.0.Sonnenstand.Azimut",a.toFixed());
                            }
                            schedule("*/1 * * * *", Sonnenstand_berechnen);
                            Sonnenstand_berechnen(); // bei Scriptstart
                        
                        

                        Sie machen eigendlich beide das gleiche. Die Unterschiede (schedule) hat mich gereitzt. Auch habe ich die "verschaltelung" (Untergruppen) eingebaut
                        315_sonnenstand.png

                        Dann habe ich versucht die beiden Werte in VIS abzubilden. (angeregt vom Vorschlag von homoran)
                        315_sonnenstand_vis.png
                        zum Testen hier mal der Export

                        [{"tpl":"tplHqCircle","data":{"visibility-cond":"==","visibility-val":1,"oid":"javascript.0.Sonnenstand.Azimut","min":"0","max":"360","step":"1","displayPrevious":"true","readOnly":true,"unit":"°","caption":"Sonnenstand","hideNumber":false,"angleOffset":"180","angleArc":"360"},"style":{"left":"156px","top":"290px","width":"206px","height":"205px","z-index":"3"},"widgetSet":"hqWidgets"},{"tpl":"tplValueFloatBarVertical","data":{"oid":"javascript.0.Sonnenstand.Elevation","visibility-cond":"==","visibility-val":1,"factor":"1","color":"#f8f948","reverse":true},"style":{"left":"234px","top":"85px","z-index":"4","width":"41px","height":"240px"},"widgetSet":"basic"},{"tpl":"tplRedNumber","data":{"oid":"javascript.0.Sonnenstand.Elevation","visibility-cond":"==","visibility-val":1},"style":{"left":"214px","top":"45px","width":"73px","height":"27px","z-index":"3"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"nothing_selected","visibility-cond":"==","visibility-val":1,"html_prepend":"Osten"},"style":{"left":"103px","top":372,"z-index":"3"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"nothing_selected","visibility-cond":"==","visibility-val":1,"html_prepend":"Westen"},"style":{"left":"364px","top":371,"width":"66px","height":"20px","z-index":"3"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"nothing_selected","visibility-cond":"==","visibility-val":1,"html_prepend":"Norden"},"style":{"left":"228px","top":498,"width":"66px","height":"20px","z-index":"3"},"widgetSet":"basic"},{"tpl":"tplHqCircle","data":{"visibility-cond":"==","visibility-val":1,"oid":"javascript.0.Sonnenstand.Sonne:Azimut","min":"0","max":"360","step":"1","displayPrevious":"true","readOnly":true,"unit":"°","caption":"Sonnenstand","hideNumber":false,"angleOffset":"180","angleArc":"360"},"style":{"left":"641px","top":"290px","width":"206px","height":"205px","z-index":"3"},"widgetSet":"hqWidgets"},{"tpl":"tplValueFloatBarVertical","data":{"oid":"javascript.0.Sonnenstand.Sonne:Höhe","visibility-cond":"==","visibility-val":1,"factor":"1","color":"#f8f948","reverse":true},"style":{"left":"721px","top":"85px","z-index":"4","width":"41px","height":"240px"},"widgetSet":"basic"},{"tpl":"tplRedNumber","data":{"oid":"javascript.0.Sonnenstand.Sonne:Höhe","visibility-cond":"==","visibility-val":1},"style":{"left":"696px","top":"45px","width":"77px","height":"25px","z-index":"3"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"nothing_selected","visibility-cond":"==","visibility-val":1,"html_prepend":"Osten"},"style":{"left":594,"top":371,"z-index":"3"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"nothing_selected","visibility-cond":"==","visibility-val":1,"html_prepend":"Westen"},"style":{"left":"849px","top":373,"width":"66px","height":"20px","z-index":"3"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"nothing_selected","visibility-cond":"==","visibility-val":1,"html_prepend":"Norden"},"style":{"left":"712px","top":499,"width":"66px","height":"20px","z-index":"3"},"widgetSet":"basic"},{"tpl":"tplIFrame","data":{"visibility-cond":"==","visibility-val":1,"refreshInterval":"60000","src":"http://localhost:8082/rickshaw/index.html?range=10080&width=1000&height=700&renderer=line&axeX=lines&axeY2=outside&legend=top%3A5%3Bleft%3A5&title=Sonnenstand&title_pos=top%3A5%3Bleft%3A50&bg=1&hoverDetail=true&timeFormat=%25H%3A%25M%3A%25S%20%25e.%25m.%25y&afterComma=2&_ids=javascript.0.Sonnenstand.Azimut%3Bjavascript.0.Sonnenstand.Elevation&_names=Stand%3BHoehe%3BLine%203&_colors=%23c05020%3B%2330c020%3B%236060c0"},"style":{"left":"0px","top":"0px","width":"1024px","height":"768px","z-index":"1"},"widgetSet":"basic"}]
                        
                        

                        Wenn man nun den Grundriss seines Hauses als Hintergrung nimmt, dann ist man schon mal einen Schritt weiter. (Man weiss wann die Sonne kommt)

                        in einem 3D-Widget könnte es besser aussehen. 😉

                        Gruß

                        Jürgen

                        T. C. 0T Offline
                        T. C. 0T Offline
                        T. C. 0
                        wrote on last edited by
                        #84

                        @derauge said in Gesucht: Script: Sonnenwinkel berechnen?:

                        wollte hier mal meine Lösung des heutigen Tages zeigen:

                        es gibt dort zwei (etwas) unterschiedliche Scripte

                        1.)

                        /*
                        Sonnenstand.SonneHöhe
                        */
                        var suncalc = require('suncalc');
                        var result = getObject("system.adapter.javascript.0");
                        var lat = result.native.latitude;
                        var long = result.native.longitude;
                        
                            createState('Sonnenstand.Sonne:Höhe', 0, {unit: '°'});
                            createState('Sonnenstand.Sonne:Azimut', 0, {unit: '°'});
                        
                            schedule("*/1 * * * *", function () {
                                var now = new Date();
                        //        log("-----------------------------------------------");
                        //        log("latitude : " + result.native.latitude,'warn');
                        //        log("longitude: " + result.native.longitude,'warn');
                        
                                var sunpos = suncalc.getPosition(now, lat, long);
                        
                        //        log("sunpos: " + JSON.stringify(sunpos),'warn');
                        
                                var h = sunpos.altitude * 180 / Math.PI;
                                var a = sunpos.azimuth * 180 / Math.PI + 180;
                        
                                setState("javascript.0.Sonnenstand.Sonne:Höhe",h.toFixed(1));
                                setState("javascript.0.Sonnenstand.Sonne:Azimut",a.toFixed());
                        
                            });
                        
                        

                        Gruß

                        Jürgen

                        Hallo, ich hab das Skript 1 bei mir verwendet. Es werden auch Variablen erstellt die ich auslesen kann. Allerdings steht bei mir bei Azimut = 28° zur jetzigen Zeit müsste es laut Sunearthtools.com aber 184° sein. Kann mir jemand sagen warum das nicht so ist ?

                        Gruß
                        Thiemo

                        paul53P 1 Reply Last reply
                        0
                        • T. C. 0T T. C. 0

                          @derauge said in Gesucht: Script: Sonnenwinkel berechnen?:

                          wollte hier mal meine Lösung des heutigen Tages zeigen:

                          es gibt dort zwei (etwas) unterschiedliche Scripte

                          1.)

                          /*
                          Sonnenstand.SonneHöhe
                          */
                          var suncalc = require('suncalc');
                          var result = getObject("system.adapter.javascript.0");
                          var lat = result.native.latitude;
                          var long = result.native.longitude;
                          
                              createState('Sonnenstand.Sonne:Höhe', 0, {unit: '°'});
                              createState('Sonnenstand.Sonne:Azimut', 0, {unit: '°'});
                          
                              schedule("*/1 * * * *", function () {
                                  var now = new Date();
                          //        log("-----------------------------------------------");
                          //        log("latitude : " + result.native.latitude,'warn');
                          //        log("longitude: " + result.native.longitude,'warn');
                          
                                  var sunpos = suncalc.getPosition(now, lat, long);
                          
                          //        log("sunpos: " + JSON.stringify(sunpos),'warn');
                          
                                  var h = sunpos.altitude * 180 / Math.PI;
                                  var a = sunpos.azimuth * 180 / Math.PI + 180;
                          
                                  setState("javascript.0.Sonnenstand.Sonne:Höhe",h.toFixed(1));
                                  setState("javascript.0.Sonnenstand.Sonne:Azimut",a.toFixed());
                          
                              });
                          
                          

                          Gruß

                          Jürgen

                          Hallo, ich hab das Skript 1 bei mir verwendet. Es werden auch Variablen erstellt die ich auslesen kann. Allerdings steht bei mir bei Azimut = 28° zur jetzigen Zeit müsste es laut Sunearthtools.com aber 184° sein. Kann mir jemand sagen warum das nicht so ist ?

                          Gruß
                          Thiemo

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

                          @t-c-0
                          Stimmen die Ortskoordinaten? Hänge mal an das Skriptende eine Log-Ausgabe dran:

                          log('Lat: ' + lat + ' °, Long: ' + 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

                          T. C. 0T 1 Reply Last reply
                          0
                          • paul53P paul53

                            @t-c-0
                            Stimmen die Ortskoordinaten? Hänge mal an das Skriptende eine Log-Ausgabe dran:

                            log('Lat: ' + lat + ' °, Long: ' + long + ' °');
                            
                            T. C. 0T Offline
                            T. C. 0T Offline
                            T. C. 0
                            wrote on last edited by
                            #86

                            @paul53 said in Gesucht: Script: Sonnenwinkel berechnen?:

                            log('Lat: ' + lat + ' °, Long: ' + long + ' °');

                            Hallo Paul, heraus kommt:

                            2021-07-04 14:02:13.669 - info: javascript.0 (2557) Start javascript script.js.common.Steuerung.Astroskript
                            2021-07-04 14:02:13.677 - info: javascript.0 (2557) script.js.common.Steuerung.Astroskript: registered 0 subscriptions and 1 schedule
                            2021-07-04 14:03:00.004 - info: javascript.0 (2557) script.js.common.Steuerung.Astroskript: Lat: °, Long: °

                            Wo kann man die Koordinaten angeben ? Wenn ich in den Instanzen von javascript schaue, ist zumindest meine Adresse angezeigt.

                            Gruß
                            Thiemo

                            paul53P 1 Reply Last reply
                            0
                            • T. C. 0T T. C. 0

                              @paul53 said in Gesucht: Script: Sonnenwinkel berechnen?:

                              log('Lat: ' + lat + ' °, Long: ' + long + ' °');

                              Hallo Paul, heraus kommt:

                              2021-07-04 14:02:13.669 - info: javascript.0 (2557) Start javascript script.js.common.Steuerung.Astroskript
                              2021-07-04 14:02:13.677 - info: javascript.0 (2557) script.js.common.Steuerung.Astroskript: registered 0 subscriptions and 1 schedule
                              2021-07-04 14:03:00.004 - info: javascript.0 (2557) script.js.common.Steuerung.Astroskript: Lat: °, Long: °

                              Wo kann man die Koordinaten angeben ? Wenn ich in den Instanzen von javascript schaue, ist zumindest meine Adresse angezeigt.

                              Gruß
                              Thiemo

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

                              @t-c-0 sagte: ist zumindest meine Adresse angezeigt.

                              Dann verwende die Daten aus der System-Konfiguration (Ersatz für Zeilen 5 bis 7):

                              const config = getObject('system.config');
                              const lat = config.common.latitude;
                              const long = config.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

                              T. C. 0T 1 Reply Last reply
                              1
                              • paul53P paul53

                                @t-c-0 sagte: ist zumindest meine Adresse angezeigt.

                                Dann verwende die Daten aus der System-Konfiguration (Ersatz für Zeilen 5 bis 7):

                                const config = getObject('system.config');
                                const lat = config.common.latitude;
                                const long = config.common.longitude;
                                
                                T. C. 0T Offline
                                T. C. 0T Offline
                                T. C. 0
                                wrote on last edited by
                                #88

                                @paul53

                                Hallo! es scheint nun mehr zu stimmen, wobei mir auf der oben genannten Seite 265° angezeigt wird.
                                Aus IOBroker nun 254°

                                Dennoch besser als vorher 🙂

                                Danke

                                T. C. 0T 1 Reply Last reply
                                0
                                • T. C. 0T T. C. 0

                                  @paul53

                                  Hallo! es scheint nun mehr zu stimmen, wobei mir auf der oben genannten Seite 265° angezeigt wird.
                                  Aus IOBroker nun 254°

                                  Dennoch besser als vorher 🙂

                                  Danke

                                  T. C. 0T Offline
                                  T. C. 0T Offline
                                  T. C. 0
                                  wrote on last edited by
                                  #89

                                  @t-c-0

                                  Alles klar, beim aktualisieren hat sich die GMT verstellt. Also stimmen die Werte nun überein, danke!

                                  1 Reply Last reply
                                  0
                                  • HomoranH Homoran

                                    Danke,

                                    habe ich in die Skriptsammlung eingefügt:

                                    http://www.iobroker.net/docu/?page_id=57&lang=de

                                    Gruß

                                    Rainer

                                    K Offline
                                    K Offline
                                    klassisch
                                    Most Active
                                    wrote on last edited by klassisch
                                    #90

                                    @homoran sagte in Gesucht: Script: Sonnenwinkel berechnen?:

                                    habe ich in die Skriptsammlung eingefügt:

                                    http://www.iobroker.net/docu/?page_id=57&lang=de

                                    ERROR
                                    Cannot GET /docu/
                                    

                                    Umgezogen?

                                    1 Reply Last reply
                                    0
                                    • HomoranH Do not disturb
                                      HomoranH Do not disturb
                                      Homoran
                                      Global Moderator Administrators
                                      wrote on last edited by
                                      #91

                                      @klassisch sagte in Gesucht: Script: Sonnenwinkel berechnen?:

                                      Umgezogen?

                                      nicht wirlich! seit 2018/2020 offline und noch kein neues Zuhause

                                      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                      1 Reply Last reply
                                      0
                                      • bahnuhrB Online
                                        bahnuhrB Online
                                        bahnuhr
                                        Forum Testing Most Active
                                        wrote on last edited by
                                        #92

                                        anbei mal ein Script von ursprünglich pix; was ich dann erweitert habe mit den Monddaten:

                                        
                                        // Sonnenstand Script von pix
                                        // erweitert mit Moon durch bahnuhr
                                        
                                        const suncalc = require('suncalc');
                                        const result = getObject("system.adapter.javascript.0");
                                        const lat = result.native.latitude;
                                        const long = result.native.longitude;
                                        const idSonneEle = 'javascript.0.System.Sonne_Mond.Sonne_Elevation';
                                        const idSonneAzi = 'javascript.0.System.Sonne_Mond.Sonne_Azimut';
                                        const idMondEle = 'javascript.0.System.Sonne_Mond.Mond_Elevation';
                                        const idMondAzi = 'javascript.0.System.Sonne_Mond.Mond_Azimut';
                                         
                                        createState(idSonneEle, 0, {type: 'number', unit: '°'});
                                        createState(idSonneAzi, 0, {type: 'number', unit: '°'});
                                        createState(idMondEle, 0, {type: 'number', unit: '°'});
                                        createState(idMondAzi, 0, {type: 'number', unit: '°'});
                                        
                                        function Stand_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(idSonneEle, Math.round(10 * h) / 10, true);
                                            setState(idSonneAzi, Math.round(Math.round(10 * a) / 10), true);
                                         
                                            var moonpos = suncalc.getMoonPosition(now, lat, long);
                                            var h = moonpos.altitude * 180 / Math.PI;
                                            var a = moonpos.azimuth * 180 / Math.PI + 180;
                                            setState(idMondEle, Math.round(10 * h) / 10, true);
                                            setState(idMondAzi, Math.round(Math.round(10 * a) / 10), true);
                                         
                                            log ("Sonne: Azimut: " + getState(idSonneAzi).val + "° / Sonne: Elevation: " + getState(idSonneEle).val + "° / Mond: Azimut: " + getState(idMondAzi).val + "° / Mond: Elevation: " + getState(idMondEle).val + "°");
                                        }
                                         
                                        schedule('23 */4 * * * *', Stand_berechnen); // jede 4. Minute
                                        
                                        

                                        Für alle die es gebrauchen wollen.


                                        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 Reply Last reply
                                        2
                                        • bahnuhrB Online
                                          bahnuhrB Online
                                          bahnuhr
                                          Forum Testing Most Active
                                          wrote on last edited by
                                          #93

                                          und in vis dann so:

                                          881a46f8-d7bf-4754-a009-e45b85c6a0eb-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

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          749

                                          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