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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. [gelöst] Azimut und Elevation vom Wiffi spinnen

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    772

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

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

[gelöst] Azimut und Elevation vom Wiffi spinnen

Scheduled Pinned Locked Moved JavaScript
12 Posts 2 Posters 356 Views
  • 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.
  • HomoranH Do not disturb
    HomoranH Do not disturb
    Homoran
    Global Moderator Administrators
    wrote on last edited by Homoran
    #1

    Seit einigen Tagen habe ich mehrmals täglich Aussetzer in der Berechnung der Solarposition über den Wiffi:
    wiffi_solarposition.png

    Die anderen Werte kommen aber in der selben Zeit weiter, so dass ich eine fehlerhafte Abfrage ausschließen kann.
    Auch auf der CCU setzen zeitgleich die Werte der Solarposition aus dem wiffi aus.

    Ein Reboot des Wiffi brachte nur von gestern abend bis zu dem im Graphen gezeigten Aussetzer Besserung.

    Das parallel noch immer auf der CCU laufende Script von @funkleuchtturm liefert weiterhin die richtigen Werte.

    Das parallel auf ioBroker laufende Uralt-Skript von 2015, jedoch nicht.

    /* 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.1.Sonnenstand.Elevation";
    var Azimut = "javascript.1.Sonnenstand.Azimut";
    var zenit = formatDate(getAstroDate('solarNoon'), 'hh:mm') + ' Uhr'; 
    var nadir = formatDate(getAstroDate('nadir'), 'hh:mm') + ' Uhr';
     
    var suncalc = require('suncalc'),
        result = getObject("system.adapter.javascript.0"),
        lat = result.native.latitude,
        long = result.native.longitude;
     
    createState(Elevation, 0) ; // , {unit: '°'});
    createState(Azimut, 0) ; // , {unit: '°'});
    createState('Sonnenstand.Zenit', '12:00', {type: "string"});
    createState('Sonnenstand.Nadir', '00:00', {type: "string"});
      
     function Sonnenstand_berechnen () {
         var now = new Date();
      
         var sunpos = suncalc.getPosition(now, lat, long);
         console.log(sunpos);
      
         var h = sunpos.altitude * 180 / Math.PI,
             a = sunpos.azimuth * 180 / Math.PI + 180;
      
          setState("Sonnenstand.Elevation", Math.round(10 * h) / 10,true);
          setState("Sonnenstand.Azimut", Math.round(a),true);
          setState("Sonnenstand.Zenit", zenit, true);
          setState("Sonnenstand.Nadir", nadir, true);
      
     }
      
     schedule("*/5 * * * *", Sonnenstand_berechnen); // alle 5 Minuten zur vollen Minute
     Sonnenstand_berechnen(); // bei Scriptstart
    

    Hier habe ich diverse Variablen über console.log ausgeben lassen und bin bei der sunpos auf unplausible Werte gestoßen:
    11:00:00.083 info javascript.1 (21904) script.js.Wetter_und_Klima.Sonnenstand: {'azimuth':-1.5663300872338395,'altitude':1.0120699553297068}

    Kann mir bitte jemand sagen, wo ich dran schrauben muss?

    EDIT:
    ich glaube es liegt hier dran:

        result = getObject("system.adapter.javascript.1"),
        lat = result.native.latitude,
        long = result.native.longitude;
    

    ich kann diese Objekte nicht finden

    kein Support per PN! - Fragen im Forum stellen -
    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
    Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

    paul53P 1 Reply Last reply
    0
    • HomoranH Homoran

      Seit einigen Tagen habe ich mehrmals täglich Aussetzer in der Berechnung der Solarposition über den Wiffi:
      wiffi_solarposition.png

      Die anderen Werte kommen aber in der selben Zeit weiter, so dass ich eine fehlerhafte Abfrage ausschließen kann.
      Auch auf der CCU setzen zeitgleich die Werte der Solarposition aus dem wiffi aus.

      Ein Reboot des Wiffi brachte nur von gestern abend bis zu dem im Graphen gezeigten Aussetzer Besserung.

      Das parallel noch immer auf der CCU laufende Script von @funkleuchtturm liefert weiterhin die richtigen Werte.

      Das parallel auf ioBroker laufende Uralt-Skript von 2015, jedoch nicht.

      /* 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.1.Sonnenstand.Elevation";
      var Azimut = "javascript.1.Sonnenstand.Azimut";
      var zenit = formatDate(getAstroDate('solarNoon'), 'hh:mm') + ' Uhr'; 
      var nadir = formatDate(getAstroDate('nadir'), 'hh:mm') + ' Uhr';
       
      var suncalc = require('suncalc'),
          result = getObject("system.adapter.javascript.0"),
          lat = result.native.latitude,
          long = result.native.longitude;
       
      createState(Elevation, 0) ; // , {unit: '°'});
      createState(Azimut, 0) ; // , {unit: '°'});
      createState('Sonnenstand.Zenit', '12:00', {type: "string"});
      createState('Sonnenstand.Nadir', '00:00', {type: "string"});
        
       function Sonnenstand_berechnen () {
           var now = new Date();
        
           var sunpos = suncalc.getPosition(now, lat, long);
           console.log(sunpos);
        
           var h = sunpos.altitude * 180 / Math.PI,
               a = sunpos.azimuth * 180 / Math.PI + 180;
        
            setState("Sonnenstand.Elevation", Math.round(10 * h) / 10,true);
            setState("Sonnenstand.Azimut", Math.round(a),true);
            setState("Sonnenstand.Zenit", zenit, true);
            setState("Sonnenstand.Nadir", nadir, true);
        
       }
        
       schedule("*/5 * * * *", Sonnenstand_berechnen); // alle 5 Minuten zur vollen Minute
       Sonnenstand_berechnen(); // bei Scriptstart
      

      Hier habe ich diverse Variablen über console.log ausgeben lassen und bin bei der sunpos auf unplausible Werte gestoßen:
      11:00:00.083 info javascript.1 (21904) script.js.Wetter_und_Klima.Sonnenstand: {'azimuth':-1.5663300872338395,'altitude':1.0120699553297068}

      Kann mir bitte jemand sagen, wo ich dran schrauben muss?

      EDIT:
      ich glaube es liegt hier dran:

          result = getObject("system.adapter.javascript.1"),
          lat = result.native.latitude,
          long = result.native.longitude;
      

      ich kann diese Objekte nicht finden

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

      @homoran sagte: ich kann diese Objekte nicht finden

      Hast Du die Koordinaten in der Konfiguration der Javascript-Instanz 1 eingetragen?

      var zenit = formatDate(getAstroDate('solarNoon'), 'hh:mm') + ' Uhr'; 
      var nadir = formatDate(getAstroDate('nadir'), 'hh:mm') + ' Uhr';
      

      Diese Berechnung darf nicht nur bei Skript-Start erfolgen, sondern mind. einmal pro Tag.

      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

      HomoranH 1 Reply Last reply
      0
      • paul53P paul53

        @homoran sagte: ich kann diese Objekte nicht finden

        Hast Du die Koordinaten in der Konfiguration der Javascript-Instanz 1 eingetragen?

        var zenit = formatDate(getAstroDate('solarNoon'), 'hh:mm') + ' Uhr'; 
        var nadir = formatDate(getAstroDate('nadir'), 'hh:mm') + ' Uhr';
        

        Diese Berechnung darf nicht nur bei Skript-Start erfolgen, sondern mind. einmal pro Tag.

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

        @paul53 sagte in Azimut und Elevation vom Wiffi spinnen:

        Hast Du die Koordinaten in der Konfiguration der Javascript-Instanz 1 eingetragen?

        ja!
        deswegen hatte ich auch mal javascript.1 probiert, im ersten Versuch stand da aus alten Tagen noch .0, wo nur use system config angehakt war

        @paul53 sagte in Azimut und Elevation vom Wiffi spinnen:

        Diese Berechnung darf nicht nur bei Skript-Start erfolgen, sondern mind. einmal pro Tag.

        Das wäre dann finetuning - Danke!

        kein Support per PN! - Fragen im Forum stellen -
        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
        Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        paul53P 1 Reply Last reply
        0
        • HomoranH Homoran

          @paul53 sagte in Azimut und Elevation vom Wiffi spinnen:

          Hast Du die Koordinaten in der Konfiguration der Javascript-Instanz 1 eingetragen?

          ja!
          deswegen hatte ich auch mal javascript.1 probiert, im ersten Versuch stand da aus alten Tagen noch .0, wo nur use system config angehakt war

          @paul53 sagte in Azimut und Elevation vom Wiffi spinnen:

          Diese Berechnung darf nicht nur bei Skript-Start erfolgen, sondern mind. einmal pro Tag.

          Das wäre dann finetuning - Danke!

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

          @homoran sagte: ja! deswegen hatte ich auch mal javascript.1 probiert

          Dann müssten die Koordinaten im Tab "NATIV" von "system.adapter.javascript.1" oben zu sehen sein.

          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

          HomoranH 1 Reply Last reply
          0
          • paul53P paul53

            @homoran sagte: ja! deswegen hatte ich auch mal javascript.1 probiert

            Dann müssten die Koordinaten im Tab "NATIV" von "system.adapter.javascript.1" oben zu sehen sein.

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

            @paul53 sagte97):

            Dann müssten die Koordinaten im Tab "NATIV" von "system.adapter.javascript.1" oben zu sehen sein.

            Ja!
            Da sind sie

            kein Support per PN! - Fragen im Forum stellen -
            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
            Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            paul53P 1 Reply Last reply
            0
            • HomoranH Homoran

              @paul53 sagte97):

              Dann müssten die Koordinaten im Tab "NATIV" von "system.adapter.javascript.1" oben zu sehen sein.

              Ja!
              Da sind sie

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

              @homoran sagte: Da sind sie

              Dann müssen sie auch im Skript eingelesen werden. Ergänze mal in Zeile 16:

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

              HomoranH 1 Reply Last reply
              0
              • paul53P paul53

                @homoran sagte: Da sind sie

                Dann müssen sie auch im Skript eingelesen werden. Ergänze mal in Zeile 16:

                log('Latitude: ' + lat + ' °, Longitude: ' + long + ' °');
                
                HomoranH Do not disturb
                HomoranH Do not disturb
                Homoran
                Global Moderator Administrators
                wrote on last edited by Homoran
                #7

                @paul53 sagte:

                @homoran sagte: Da sind sie
                Damm müssen sie auch im Skript eingelesen werden. Ergänze mal in Zeile 16:
                log('Latitude: ' + lat + ' °, Longitude: ' + long + ' °');

                werde ich machen, hatte gerade in RAW nachgesehen:

                "native": {
                    "latitude": "50.xxxxx",
                    "longitude": "6.yyyyy",
                    "libraries": "dewpoint",
                    "libraryTypings": "",
                    "mirrorPath": "",
                    "sunriseEvent": "nightEnd",
                    "sunriseOffset": "",
                    "sunriseLimitStart": "06:00",
                    "sunriseLimitEnd": "12:00",
                    "sunsetEvent": "dusk",
                    "sunsetOffset": "",
                    "sunsetLimitStart": "18:00",
                    "sunsetLimitEnd": "23:00",
                    "mirrorInstance": 0,
                    "enableSetObject": true,
                    "enableSendToHost": false,
                    "enableExec": true,
                    "subscribe": false,
                    "useSystemGPS": false,
                    "allowSelfSignedCerts": false
                  },
                

                und noch mal eine Frage zu:

                @paul53 sagte in Azimut und Elevation vom Wiffi spinnen:

                Diese Berechnung darf nicht nur bei Skript-Start erfolgen, sondern mind. einmal pro Tag.

                wenn ich es richtig sehe, ist das doch Bestandteil der Funktion Sonnenstand_berechnen, die doch auch im schedule aufgerufen wird

                schedule("*/5 * * * *", Sonnenstand_berechnen);

                EDIT:
                Das log gibt die korrekte Geoposition aus

                kein Support per PN! - Fragen im Forum stellen -
                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                paul53P 1 Reply Last reply
                0
                • HomoranH Homoran

                  @paul53 sagte:

                  @homoran sagte: Da sind sie
                  Damm müssen sie auch im Skript eingelesen werden. Ergänze mal in Zeile 16:
                  log('Latitude: ' + lat + ' °, Longitude: ' + long + ' °');

                  werde ich machen, hatte gerade in RAW nachgesehen:

                  "native": {
                      "latitude": "50.xxxxx",
                      "longitude": "6.yyyyy",
                      "libraries": "dewpoint",
                      "libraryTypings": "",
                      "mirrorPath": "",
                      "sunriseEvent": "nightEnd",
                      "sunriseOffset": "",
                      "sunriseLimitStart": "06:00",
                      "sunriseLimitEnd": "12:00",
                      "sunsetEvent": "dusk",
                      "sunsetOffset": "",
                      "sunsetLimitStart": "18:00",
                      "sunsetLimitEnd": "23:00",
                      "mirrorInstance": 0,
                      "enableSetObject": true,
                      "enableSendToHost": false,
                      "enableExec": true,
                      "subscribe": false,
                      "useSystemGPS": false,
                      "allowSelfSignedCerts": false
                    },
                  

                  und noch mal eine Frage zu:

                  @paul53 sagte in Azimut und Elevation vom Wiffi spinnen:

                  Diese Berechnung darf nicht nur bei Skript-Start erfolgen, sondern mind. einmal pro Tag.

                  wenn ich es richtig sehe, ist das doch Bestandteil der Funktion Sonnenstand_berechnen, die doch auch im schedule aufgerufen wird

                  schedule("*/5 * * * *", Sonnenstand_berechnen);

                  EDIT:
                  Das log gibt die korrekte Geoposition aus

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

                  @homoran sagte: ist das doch Bestandteil der Funktion Sonnenstand_berechnen

                  Eben nicht. Die Ermittlung der Werte erfolgt außerhalb.

                  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

                  HomoranH 1 Reply Last reply
                  0
                  • paul53P paul53

                    @homoran sagte: ist das doch Bestandteil der Funktion Sonnenstand_berechnen

                    Eben nicht. Die Ermittlung der Werte erfolgt außerhalb.

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

                    @paul53 sagte:

                    Eben nicht. Die Ermittlung der Werte erfolgt außerhalb.

                    Danke! - dann habe ich an der falschen Stelle gesucht.

                    kein Support per PN! - Fragen im Forum stellen -
                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                    Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

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

                      ich glaube ich habe den Fehler gefunden:

                      Nachdem ich die setState() Befehle angepasst habe, indem ich

                            setState(Elevation, Math.round(10 * h) / 10,true);
                            setState(Azimut, Math.round(a),true);
                            setState("javascript.1.Sonnenstand.Zenit", zenit, true);
                            setState("javascript.1.Sonnenstand.Nadir", nadir, true);
                      

                      die Pfade angepasst habe, läuft es jetzt anscheinend.

                      Habe den Fall mal auf gelöst gesetzt.

                      PS warum der Wiffi auf einmal spinnt weiß ich allerdings immer noch nicht

                      kein Support per PN! - Fragen im Forum stellen -
                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                      Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                      paul53P 1 Reply Last reply
                      0
                      • HomoranH Homoran

                        ich glaube ich habe den Fehler gefunden:

                        Nachdem ich die setState() Befehle angepasst habe, indem ich

                              setState(Elevation, Math.round(10 * h) / 10,true);
                              setState(Azimut, Math.round(a),true);
                              setState("javascript.1.Sonnenstand.Zenit", zenit, true);
                              setState("javascript.1.Sonnenstand.Nadir", nadir, true);
                        

                        die Pfade angepasst habe, läuft es jetzt anscheinend.

                        Habe den Fall mal auf gelöst gesetzt.

                        PS warum der Wiffi auf einmal spinnt weiß ich allerdings immer noch nicht

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

                        @homoran sagte: die Pfade angepasst habe, läuft es jetzt anscheinend.

                        Läuft das Skript in Instanz 0?

                        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

                        HomoranH 1 Reply Last reply
                        0
                        • paul53P paul53

                          @homoran sagte: die Pfade angepasst habe, läuft es jetzt anscheinend.

                          Läuft das Skript in Instanz 0?

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

                          @paul53 sagte in [gelöst] Azimut und Elevation vom Wiffi spinnen:

                          Läuft das Skript in Instanz 0?

                          nein, in Instanz .1
                          trotzdem wird einiges in .0 angelegt - und auf dem Testrechner lief es früher in .0

                          kein Support per PN! - Fragen im Forum stellen -
                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                          Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                          1 Reply Last reply
                          0

                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                          With your input, this post could be even better 💗

                          Register Login
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          647

                          Online

                          32.8k

                          Users

                          82.7k

                          Topics

                          1.3m

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

                          • Don't have an account? Register

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