Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Gesucht: Script: Sonnenwinkel berechnen?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Gesucht: Script: Sonnenwinkel berechnen?

    This topic has been deleted. Only users with topic management privileges can see it.
    • T. C. 0
      T. C. 0 @derAuge last edited by

      @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

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @T. C. 0 last edited by

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

        log('Lat: ' + lat + ' °, Long: ' + long + ' °');
        
        T. C. 0 1 Reply Last reply Reply Quote 0
        • T. C. 0
          T. C. 0 @paul53 last edited by

          @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

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @T. C. 0 last edited by 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. 0 1 Reply Last reply Reply Quote 1
            • T. C. 0
              T. C. 0 @paul53 last edited by

              @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. 0 1 Reply Last reply Reply Quote 0
              • T. C. 0
                T. C. 0 @T. C. 0 last edited by

                @t-c-0

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

                1 Reply Last reply Reply Quote 0
                • K
                  klassisch Most Active @Homoran last edited by klassisch

                  @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 Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators last edited by

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

                    Umgezogen?

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

                    1 Reply Last reply Reply Quote 0
                    • bahnuhr
                      bahnuhr Forum Testing Most Active last edited by

                      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.

                      1 Reply Last reply Reply Quote 2
                      • bahnuhr
                        bahnuhr Forum Testing Most Active last edited by

                        und in vis dann so:

                        881a46f8-d7bf-4754-a009-e45b85c6a0eb-image.png

                        K 1 Reply Last reply Reply Quote 1
                        • K
                          klassisch Most Active @bahnuhr last edited by

                          @bahnuhr cool, Vielen Dank!

                          bahnuhr 1 Reply Last reply Reply Quote 1
                          • bahnuhr
                            bahnuhr Forum Testing Most Active @klassisch last edited by

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

                            @bahnuhr cool, Vielen Dank!

                            wenn du was brauchst, sag Bescheid.

                            cash K 2 Replies Last reply Reply Quote 0
                            • cash
                              cash Most Active @bahnuhr last edited by

                              @bahnuhr wofür kann man den denn stand des mondes gebrauchen? Den Sonnenstand für Licht oder Rollos ist soweit klar aber Mond? Kann ich daraus noch etwas schließen oder ist es nur für die Visualisierung?

                              bahnuhr 1 Reply Last reply Reply Quote 0
                              • K
                                klassisch Most Active @bahnuhr last edited by

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

                                @klassisch sagte in Gesucht: Script: Sonnenwinkel berechnen?:
                                wenn du was brauchst, sag Bescheid.

                                Vielen Dank, scheint zu laufen. Ich vergleche mal mit https://www.sonnenverlauf.de/

                                1 Reply Last reply Reply Quote 0
                                • bahnuhr
                                  bahnuhr Forum Testing Most Active @cash last edited by

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

                                  wofür kann man den denn stand des mondes gebrauchen?

                                  Damit ich immer weiß in welche Richtung in schauen muss 😉

                                  O 1 Reply Last reply Reply Quote 0
                                  • O
                                    oFbEQnpoLKKl6mbY5e13 @bahnuhr last edited by

                                    @bahnuhr

                                    Woher bekommst du denn die anderen Informationen wie Sonnenaufgang usw.?

                                    bahnuhr K 2 Replies Last reply Reply Quote 0
                                    • bahnuhr
                                      bahnuhr Forum Testing Most Active @oFbEQnpoLKKl6mbY5e13 last edited by

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

                                      @bahnuhr

                                      Woher bekommst du denn die anderen Informationen wie Sonnenaufgang usw.?

                                      Adapter: dasWetter

                                      1 Reply Last reply Reply Quote 1
                                      • K
                                        klassisch Most Active @oFbEQnpoLKKl6mbY5e13 last edited by

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

                                        Woher bekommst du denn die anderen Informationen wie Sonnenaufgang usw.?

                                        Nicht immer ganz leicht zu finden, steht aber in der Doc zum JS Adapter

                                        https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md

                                        Following values can be used as attribute in astro-function:

                                        "sunrise": sunrise (top edge of the sun appears on the horizon)
                                        "sunriseEnd": sunrise ends (bottom edge of the sun touches the horizon)
                                        "goldenHourEnd": morning golden hour (soft light, best time for photography) ends
                                        "solarNoon": solar noon (sun is in the highest position)
                                        "goldenHour": evening golden hour starts
                                        "sunsetStart": sunset starts (bottom edge of the sun touches the horizon)
                                        "sunset": sunset (sun disappears below the horizon, evening civil twilight starts)
                                        "dusk": dusk (evening nautical twilight starts)
                                        "nauticalDusk": nautical dusk (evening astronomical twilight starts)
                                        "night": night starts (dark enough for astronomical observations)
                                        "nightEnd": night ends (morning astronomical twilight starts)
                                        "nauticalDawn": nautical dawn (morning nautical twilight starts)
                                        "dawn": dawn (morning nautical twilight ends, morning civil twilight starts)
                                        "nadir": nadir (darkest moment of the night, sun is in the lowest position)
                                        

                                        Note: to use "astro"-function the "latitude" and "longitude" must be defined in javascript adapter settings.

                                        Note: On some places sometimes it could be so, that no night/nightEnd exists. Please read here about it.

                                        Note: you can use "on" function for schedule with small modification:

                                        on({time: "*/2 * * * *"}, function () {
                                        log((new Date()).toString() + " - Will be triggered every 2 minutes!");
                                        });

                                        on({time: {hour: 12, minute: 30}}, function () {
                                        log((new Date()).toString() + " - Will be triggered at 12:30!");
                                        });

                                        on({astro: "sunset", shift: 10}, function () {
                                        log((new Date()).toString() + " - 10 minutes after sunset!");
                                        });

                                        ENDE Zitat aus der Doc

                                        1 Reply Last reply Reply Quote 1
                                        • First post
                                          Last post

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        924
                                        Online

                                        31.9k
                                        Users

                                        80.1k
                                        Topics

                                        1.3m
                                        Posts

                                        27
                                        101
                                        22237
                                        Loading More Posts
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        Community
                                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                        The ioBroker Community 2014-2023
                                        logo