Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. WEATHERMAN von Dr. Stall

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    WEATHERMAN von Dr. Stall

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators last edited by

      Es gibt ein Skript für Eugens WiFFi um die Daten abzurufen.

      Wie ich Eugen kenne müsste das mit dem Weatherman genauso funktionieren.

      Gruß

      Rainer

      1 Reply Last reply Reply Quote 0
      • Vumer
        Vumer last edited by

        @Homoran:

        Es gibt ein Skript für Eugens WiFFi um die Daten abzurufen.

        Gruß

        Rainer `

        Das ist eigentlich meine Frage. Werden nur Daten übermittelt oder übernimmt die WeMos die Auswertung inklusive Sonnenstandsskript?

        Schöne Grüße

        1 Reply Last reply Reply Quote 0
        • paul53
          paul53 last edited by

          @Vumer:

          übernimmt die WeMos die Auswertung inklusive Sonnenstandsskript? `
          Das Sonnenstandsskript für ioBroker findest Du http://www.iobroker.net/docu/?page_id=3693&lang=de oder mit den Daten aus dem js-controller:

          var suncalc = require('suncalc'),
              result = getObject('system.config'),
              lat = result.common.latitude,
              long = result.common.longitude;
          
          createState('Sonnenstand.Elevation', 0, {
              type: 'number',
              unit: '°'
          });
          createState('Sonnenstand.Azimut', 0, {
              type: 'number',
              unit: '°'
          });
          
          function Sonnenstand_berechnen () {
              var sunpos = suncalc.getPosition(new Date(), lat, long);
              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);
          }
          
          schedule("* * * * *", Sonnenstand_berechnen);  // jede Minute
          Sonnenstand_berechnen(); // bei Scriptstart
          
          

          Die Auswertung musst Du schon selbst anhand der Fassadenausrichtung machen.

          EDIT: Korrigiert.

          1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators last edited by

            @Vumer:

            Das ist eigentlich meine Frage. Werden nur Daten übermittelt oder übernimmt die WeMos die Auswertung inklusive Sonnenstandsskript? `

            Auch hier kann ich nur auf den WiFFi verweisen. Der berechnet "aus lauter Langeweile" auch den Sonnenstand. Wenn noch Platz im Sketch war denke ich mal, dass Eugen das hier auch implementiert hat.

            Gruß

            Rainer

            1 Reply Last reply Reply Quote 0
            • Vumer
              Vumer last edited by

              Dankeschön für den Link. Aber in der Anleitung steht:

              ****Berechnung Sonnenstand Azimut

              Berechnung Sonnenstand Elevation****

              Gibst bestimmt ein Grund oder?

              Was muss ich im ioBroker noch machen damit ich die Befehle über dem S7 Adapter zu meine LOGO sende?

              drei Fassaden

              Schöne Grüße
              2071_s7-ni.jpg

              1 Reply Last reply Reply Quote 0
              • Vumer
                Vumer last edited by

                Verzeihung bitte aber ich hab noch nie eine HM gehabt/programmiert und kenne die Struktur/Befehle nicht.

                1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 last edited by

                  @Vumer:

                  Dankeschön für den Link. Aber in der Anleitung steht:

                  Berechnung Sonnenstand Azimut

                  Berechnung Sonnenstand Elevation Stimmt, das wird geliefert. > w_elevation vom Typ Zahl mit Maßeinheit °

                  w_azimut vom Typ Zahl mit Maßeinheit ° `
                  Für die Beschhattung muss dann der Azimut in Relation zur Fassenausrichtung (Ausrichtung - 90° < Azimut < Ausrichtung + 90°) und die Elevation (> X °) ausgewertet werden.

                  1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 last edited by

                    @Vumer:

                    ich hab noch nie eine HM gehabt/programmiert und kenne die Struktur/Befehle nicht. `
                    Die Programmierung in ioBroker erfolgt in Javascript und hat nichts mit der Programmierung in der HM zu tun.

                    1 Reply Last reply Reply Quote 0
                    • W
                      weimaraner last edited by

                      @paul53:

                      @Vumer:

                      übernimmt die WeMos die Auswertung inklusive Sonnenstandsskript? `
                      Das Sonnenstandsskript für ioBroker findest Du http://www.iobroker.net/docu/?page_id=3693&lang=de oder mit den Daten aus dem js-controller:

                      var suncalc = require('suncalc'),
                          result = getObject('system.config.common'),
                          lat = result.latitude,
                          long = result.longitude;
                       
                      createState('Sonnenstand.Elevation', 0, {
                          type: 'number',
                          unit: '°'
                      });
                      createState('Sonnenstand.Azimut', 0, {
                          type: 'number',
                          unit: '°'
                      });
                       
                      function Sonnenstand_berechnen () {
                          var sunpos = suncalc.getPosition(new Date(), lat, long);
                          var h = sunpos.altitude * 180 / Math.PI,
                              a = sunpos.azimuth * 180 / Math.PI + 180;
                       
                          setState('Sonnenstand.Elevation', 0.1 * Math.round(10 * h), true);
                          setState('Sonnenstand.Azimut', Math.round(a), true);
                      }
                       
                      schedule("* * * * *", Sonnenstand_berechnen);  // jede Minute
                      Sonnenstand_berechnen(); // bei Scriptstart
                      
                      

                      Die Auswertung musst Du schon selbst anhand der Fassadenausrichtung machen. `

                      Mal eine Frage. Ich habe das Sonnenstandsscript von Eugen auf der CCU2 laufen und bin sehr zufrieden. In Kombination mit dem von ihm entworfenen Sonnensensor rollen meine Rolladen seit drei Jahren perfekt! 😄

                      Entspricht dein Script dem CCU Script oder gibt es da grundsätzliche Unterschiede?

                      Danke und Grüße

                      Andreas

                      1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 last edited by

                        @weimaraner:

                        Entspricht dein Script dem CCU Script oder gibt es da grundsätzliche Unterschiede? `
                        Der wesentliche Unterschied ist die verwendete Programmiersprache und daraus resultierend der Aufwand und die Genauigkeit.

                        Da HM-Script keine transzendenten mathematischen Funktionen kennt, muss man in HM-Script interpolieren, wobei ein Kompromiss zwischen Aufwand und Genauigkeit gefunden werden muss. Das Problem hat man in Javascript nicht 😄

                        1 Reply Last reply Reply Quote 0
                        • Vumer
                          Vumer last edited by

                          @paul53:

                          Das Sonnenstandsskript für ioBroker findest Du http://www.iobroker.net/docu/?page_id=3693&lang=de oder mit den Daten aus dem js-controller: `
                          Bekomme diese Warnung

                          javascript.0	2017-09-02 19:26:37.821	info	script.js.common.Sonnenstand: registered 0 subscriptions and 1 schedule
                          javascript.0	2017-09-02 19:26:37.820	warn	script.js.common.Sonnenstand: sunpos: [object Object]
                          javascript.0	2017-09-02 19:26:37.818	warn	script.js.common.Sonnenstand: longitude: x.xxxx
                          javascript.0	2017-09-02 19:26:37.818	warn	script.js.common.Sonnenstand: latitude : yy.yyyy
                          javascript.0	2017-09-02 19:26:37.817	info	script.js.common.Sonnenstand: -----------------------------------------------
                          
                          1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 last edited by

                            @Vumer:

                            Bekomme diese Warnung `
                            Sorry, mein Fehler. Sollte doch alle Skripte testen. Habe es im Original geändert:

                            var suncalc = require('suncalc'),
                                result = getObject('system.config'),
                                lat = result.common.latitude,
                                long = result.common.longitude;
                            
                            
                            1 Reply Last reply Reply Quote 0
                            • Vumer
                              Vumer last edited by

                              jetzt

                              javascript.0	2017-09-02 20:17:00.971	warn	script.js.common.Sonnenstand: sunpos: [object Object]
                              javascript.0	2017-09-02 20:17:00.970	warn	script.js.common.Sonnenstand: longitude: undefined
                              javascript.0	2017-09-02 20:17:00.970	warn	script.js.common.Sonnenstand: latitude : undefined
                              javascript.0	2017-09-02 20:17:00.968	info	script.js.common.Sonnenstand: -----------------------------------------------
                              

                              spielt das eine Rolle wie viele Ziffern nach dem Punkt?

                              Hab dem Script unter common oder muss er unter global? Wo ist der Unterschied?

                              1 Reply Last reply Reply Quote 0
                              • Vumer
                                Vumer last edited by

                                Läuft, die warnung kamm von dem http://www.iobroker.net/docu/?page_id=3693&lang=de

                                Jetzt muss ich noch herausfinden wie man dem nutzt 😄

                                1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 last edited by

                                  Die Koordinaten werden in den Systemeinstellungen (Button ganz oben rechts) eingetragen.
                                  493_systemeinstellungen.jpg

                                  1 Reply Last reply Reply Quote 0
                                  • paul53
                                    paul53 last edited by

                                    @Vumer:

                                    Hab dem Script unter common oder muss er unter global? Wo ist der Unterschied? `
                                    Auf keinen Fall unter global :!: Unter global verwendet man nur Skripte mit Funktionen, die häufig benötigt werden. Skripte unter global werden nicht gestartet, sondern in alle anderen Skripte eingefügt ! Beispiel für ein Skript, das ich unter global erstellt habe, weil ich es häufig nutze:

                                    function runden(wert, stellen) {
                                        return Math.round(wert * Math.pow(10, stellen)) / Math.pow(10, stellen);
                                    }
                                    
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • W
                                      weimaraner last edited by

                                      @Homoran:

                                      Es gibt ein Skript für Eugens WiFFi um die Daten abzurufen.

                                      Wie ich Eugen kenne müsste das mit dem Weatherman genauso funktionieren.

                                      Gruß

                                      Rainer `

                                      Rainer, kannst Du mir sagen, wo ich das Skript finde? Die SuFu hat nichts ausgespuckt.

                                      Ich habe den Weatherman und möchte nun die Daten in iobroker anzeigen lassen ohne die CCU einzubinden. Leider habe ich von json und co (noch 😉 ) keinen Plan.

                                      Wie komme ich also an die Daten?

                                      Grüße Andreas

                                      1 Reply Last reply Reply Quote 0
                                      • Homoran
                                        Homoran Global Moderator Administrators last edited by

                                        @weimaraner:

                                        Rainer, kannst Du mir sagen, wo ich das Skript finde? Die SuFu hat nichts ausgespuckt. `

                                        Klar doch:

                                        http://forum.iobroker.net/viewtopic.php … ilit=wiffi

                                        Allerdings ist das für den Wiffi.

                                        Ich weiß nicht ob das auch für den Weatherman gilt.

                                        Müsstest du probieren

                                        Viel Erfolg

                                        Rainer

                                        1 Reply Last reply Reply Quote 0
                                        • W
                                          weimaraner last edited by

                                          Danke, ich probiere und berichte.

                                          Grüße Andreas

                                          1 Reply Last reply Reply Quote 0
                                          • Vumer
                                            Vumer last edited by

                                            http://forum.iobroker.net/viewtopic.php?p=82797#p82797[@Vumer:

                                            http://forum.iobroker.net/viewtopic.php?p=82797#p82797 ` ](http://forum.iobroker.net/viewtopic.php?p=82797#p82797)

                                            nach vielen Versuchen habe ich es hinbekommen. Das Problem war wenn ich

                                            setState('Sonnenstand.Elevation', Math.round(10 * h) / 10, true);
                                            

                                            in

                                            setState('s7.0.DBs.DB1.ANI1', Math.round(10 * h) / 10, true);
                                            

                                            endern, kann ich die Werte im S7 Adapter sehen aber die werden nich zu LOGO übertragen. Die Lösung ist:

                                            var suncalc = require('suncalc'),
                                                result = getObject('system.config'),
                                                lat = result.common.latitude,
                                                long = result.common.longitude;
                                            
                                            /**createState('Sonnenstand.Elevation', 0, {
                                                type: 'number',
                                                unit: '°'
                                            });
                                            createState('Sonnenstand.Azimut', 0, {
                                                type: 'number',
                                                unit: '°'
                                            });
                                            */ 
                                            function Sonnenstand_berechnen () {
                                                var sunpos = suncalc.getPosition(new Date(), lat, long);
                                                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('s7.0.DBs.DB1.ANI1',Math.round(10 * h) / 10);
                                                setState('s7.0.DBs.DB1.ANI2', Math.round(a));
                                            }
                                            
                                            schedule("* * * * *", Sonnenstand_berechnen);  // jede Minute
                                            Sonnenstand_berechnen(); // bei Scriptstart
                                            

                                            ein kleines "Aber" gibt es noch: Elevation mit 10.8° wirt mit dem Wert 10 übertragen und schaltet erst bei 11.0° um.

                                            ± 1° ist doch nicht so schlim, oder?

                                            Kann man mit dem Skript auch die Schattenlänge berechnen?

                                            Schöne Grüße

                                            Schöne

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            951
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            27
                                            5250
                                            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