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.
    • 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
                          • Homoran
                            Homoran Global Moderator Administrators last edited by

                            @Vumer:

                            ± 1° ist doch nicht so schlim, oder? `
                            Je nach Jahreszeit schon.

                            Das müsste man mal für heute ausrechnen, wieviel das in Minuten sind.

                            Gruß

                            Rainer

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

                              Ja, hast recht, das dauert ganz schön lange. Habe es jetzt vonsetState('s7.0.DBs.DB1.ANI1',Math.round(10 * h) / 10);in````
                              setState('s7.0.DBs.DB1.ANI1',Math.round(10 * h));

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

                                Ganz grob gerechnet ohne den sinusförmigen Verlauf zu berücksichtigen.

                                und überall gerundet 😉

                                Sonnenaufgang 08:30, Höchststand 12:30 = 4h = 240 Minuten (nach Sonnenverlauf.de)

                                Höchststand = 15,8° (16°)

                                240 MInuten /16° = 15 MInuten pro Grad.

                                Im Sommer sieht es sicher besser aus.

                                Ein Mathematiker oder Astronom kann's sicherlich besser.

                                Gruß

                                Rainer

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

                                  Gute Rechnung 🙂

                                  also 21.06.2018

                                  alles abgerundet

                                  Sonnenaufgang: 05:06:55 Sonnenhöchststand: 13:28:37 = 501 Minuten

                                  Sonnenhöhe: 61.58°

                                  500/62 = 8 MInuten pro Grad.

                                  Es geht ja um Rolllädenschatirung, werde es im Sommer testen

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  696
                                  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