Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Astrozeiten (neuste version?)

    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

    Astrozeiten (neuste version?)

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      samsungfreak last edited by

      Hallo,

      ich verwende auch seit langer Zeit das folgende Skript:

      • Astro Datenpunkte

      Musste jetzt aber feststellen, dass die Datenpunkte nicht mehr aktualisiert werden.
      Ich konnte jetzt noch nicht verstehen, warum diese nicht mehr aktualisiert werden. Der Inhalt vom Thread konnte mir es leider auch nicht beantworten.

      Dadurch, dass die Aktualisiertung nicht mehr funktioniert, funktionieren ein paar Skripte entsprechend nicht mehr.

      35390ebe-63d0-495d-9f3f-fd8f32b92c0b-grafik.png

      Aber bezieht das Blocky mit "Sonnenuntergang-Anfang" überhaupt Daten aus den Datenpunkten die ich schreiben lasse?

      Hier die Astrodaten die ich schreiben lasse:

      138ab3d4-2618-40e5-ab00-29f96e3a3bbf-grafik.png

      Hier die Astrodaten vom System/Javascript?!

      1b4b73eb-1571-4054-b678-549bb5223fe5-grafik.png

      Die Daten vom System/Javascript sind korrekt aber wie verwende ich diese dann im Blocky?

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

        @samsungfreak sagte: Aber bezieht das Blocky mit "Sonnenuntergang-Anfang" überhaupt Daten aus den Datenpunkten die ich schreiben lasse?

        Nein. Es wird das NPM-Modul "suncalc2" im Javascript-Adapter verwendet.

        S 1 Reply Last reply Reply Quote 0
        • S
          samsungfreak @paul53 last edited by

          @paul53 Ok danke und das sind somit diese Daten/Objekte, oder?

          6f9de663-0404-47b4-ae4c-182b731c49a3-grafik.png

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

            @samsungfreak sagte: diese Daten/Objekte, oder?

            Diese Daten werden von einem Javascript erzeugt. Blockly greift nicht darauf zu.

            S 1 Reply Last reply Reply Quote 0
            • S
              samsungfreak @paul53 last edited by

              @paul53 Aber auf welche Daten greift Blockly dann zu bei "Sonnenuntergang-Anfang"?

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

                @samsungfreak sagte: auf welche Daten greift Blockly dann zu bei "Sonnenuntergang-Anfang"?

                Auf Daten, die anhand der Ortskoordinaten im NPM-Modul "suncalc2" berechnet werden. Das erfolgt im Javascript-Adapter intern.

                @samsungfreak sagte in Astrozeiten (neuste version?):

                Hier die Astrodaten die ich schreiben lasse:

                Diese Daten wurden zuletzt Mitte/Ende Juni geschrieben. Schau mal auf "letzte Änderung" mit Mauszeiger über dem Wert.

                S 1 Reply Last reply Reply Quote 0
                • S
                  samsungfreak @paul53 last edited by

                  @paul53 Letzte Änderung der Werte am 12.04.2022:( Das System wurde in der Zwischenzeit rebootet etc. Eine Idee woran es liegen kann?

                  Ist das "neu", dass der Javaskript die Daten in "sichtbare" Objekte schreibt? Ich war mir sicher, dass ich das Skript damals genutzt habe da ich die Daten dazu nirgends finden konnte.

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

                    @samsungfreak sagte: Eine Idee woran es liegen kann?

                    Am Skript, das ich nicht kenne.

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      samsungfreak @paul53 last edited by samsungfreak

                      @paul53 Das ist hier das Skript von hier wie oben verlinkt (Link)

                      schedule({hour: 0, minute: 5}, createAstroData );
                       
                      function createAstroData() {
                          var suncalc = require('suncalc');
                          var d = new Date();
                       
                          var times = suncalc.getTimes(d,XXXX);
                           
                          for (var t in times) {
                              var time = times[t];
                        
                              var Hour = times[t].getHours();
                              var Minute = times[t].getMinutes();
                               
                              if ( Hour < 10 ) { Hour = "0"+Hour; }
                              if ( Minute < 10 ) { Minute = "0"+Minute; }
                               
                              var TimeString = Hour + ':' + Minute;
                              var objectName = 'Astrozeiten.'+t;
                       
                              if ( !existsState(objectName )) {
                                  createState(objectName,TimeString,{name: "Astrozeit",  type: 'string', role: 'value'}, function () {}); 
                              } else {
                                  setState(objectName,TimeString);
                              }
                          }
                      }
                       
                      createAstroData();
                      
                      paul53 2 Replies Last reply Reply Quote 0
                      • paul53
                        paul53 @samsungfreak last edited by paul53

                        @samsungfreak
                        Das scheint nicht zu laufen, denn sonst müssten täglich um 0:05 Uhr die Daten aktualisiert werden.

                        Übrigens werden um 0:05 Uhr die Astrozeiten des vergangenen Tages ermittelt, da für "suncalc" der Tageswechsel erst zum Zeitpunkt "nadir" erfolgt.

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

                          @samsungfreak sagte: Das ist hier das Skript

                          Ich habe es mal mit Logs anstelle von Datenpunkten getestet und bei mit läuft es.

                          function createAstroData() {
                              var suncalc = require('suncalc');
                              var d = new Date();
                           
                              var times = suncalc.getTimes(d,52,9);
                               
                              for (var t in times) {
                                  var time = times[t];
                            
                                  var Hour = times[t].getHours();
                                  var Minute = times[t].getMinutes();
                                   
                                  if ( Hour < 10 ) { Hour = "0"+Hour; }
                                  if ( Minute < 10 ) { Minute = "0"+Minute; }
                                   
                                  var TimeString = Hour + ':' + Minute;
                                  var objectName = 'Astrozeiten.'+t;
                                  log(t + ': ' + TimeString);
                           
                              }
                          }
                           
                          createAstroData();
                          
                          19:02:34.513	info	javascript.1 (2479) script.js.common.Neuer_Test: solarNoon: 12:13
                          19:02:34.513	info	javascript.1 (2479) script.js.common.Neuer_Test: nadir: 00:13
                          19:02:34.513	info	javascript.1 (2479) script.js.common.Neuer_Test: sunrise: 08:15
                          19:02:34.513	info	javascript.1 (2479) script.js.common.Neuer_Test: sunset: 16:12
                          19:02:34.513	info	javascript.1 (2479) script.js.common.Neuer_Test: sunriseEnd: 08:20
                          19:02:34.514	info	javascript.1 (2479) script.js.common.Neuer_Test: sunsetStart: 16:07
                          19:02:34.514	info	javascript.1 (2479) script.js.common.Neuer_Test: dawn: 07:35
                          19:02:34.514	info	javascript.1 (2479) script.js.common.Neuer_Test: dusk: 16:52
                          19:02:34.514	info	javascript.1 (2479) script.js.common.Neuer_Test: nauticalDawn: 06:51
                          19:02:34.514	info	javascript.1 (2479) script.js.common.Neuer_Test: nauticalDusk: 17:36
                          19:02:34.514	info	javascript.1 (2479) script.js.common.Neuer_Test: nightEnd: 06:10
                          19:02:34.514	info	javascript.1 (2479) script.js.common.Neuer_Test: night: 18:17
                          19:02:34.514	info	javascript.1 (2479) script.js.common.Neuer_Test: goldenHourEnd: 09:17
                          19:02:34.514	info	javascript.1 (2479) script.js.common.Neuer_Test: goldenHour: 15:10
                          
                          1 Reply Last reply Reply Quote 0
                          • S
                            spike2 last edited by

                            Ich muss mich hier auch mal einklinken, woher kommen die Astrozeiten für das Blockly? In der Javascript-Instanz ist der Ort korrekt eingegeben, sowie ein Offset um es ein bisschen anzupassen.
                            Merkwürdiger weise steht in der Instanz 17:46Uhr als Tagesende drin, doch das Blockly löst schon mit dem Trigger "Sonnenuntergang" um 17.14Uhr aus.
                            Im Blockly habe ich ebenfalls ein Offset eingetragen, sonst würden 17.14Uhr die Lampen schon einschalten, obwohl es noch zu hell dafür ist.

                            3835caeb-1c31-480a-a7a9-59fe9b214c4b-grafik.png

                            8e59f53b-5541-4726-a599-fd2353604ba0-grafik.png

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

                              @spike2
                              Die Tageszeiteinstellungen in der JS-Konfiguration haben nur Einfluss auf den Datenpunkt "javascript.N.variables.isDayTime".

                              S 1 Reply Last reply Reply Quote 0
                              • S
                                spike2 @paul53 last edited by spike2

                                @paul53
                                Ups, mehr nicht 😕
                                Kann ich es durch irgendein Trick global im System vorgeben, ohne jedes Blockly mit einem Offset-Wert zu versehen?

                                Homoran paul53 2 Replies Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators @spike2 last edited by

                                  @spike2 deinen Wohnort (virtuell) verlegen

                                  S 1 Reply Last reply Reply Quote 0
                                  • S
                                    spike2 @Homoran last edited by

                                    @homoran in den Systemeinstellung vom Iobroker meinst du?

                                    Homoran 1 Reply Last reply Reply Quote 0
                                    • paul53
                                      paul53 @spike2 last edited by

                                      @spike2 sagte: global im System vorgeben, ohne jedes Blockly mit einem Offset-Wert zu versehen?

                                      Ja, nicht den Astro-Trigger verwenden, sondern den Datenpunkt-Trigger auf "javascript.N.variables.isDayTime".

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

                                        @spike2 sagte in Astrozeiten (neuste version?):

                                        @homoran in den Systemeinstellung vom Iobroker meinst du?

                                        ja!
                                        aber @paul53 hat mal wieder due bessere Idee!
                                        Das ist ja der Sinn dieses Datenpunkt, dass du die persönliche Tag/Nacht Einstellungen damit machen kannst.

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          spike2 last edited by

                                          @Homoran @paul53
                                          Danke euch beiden für die Ideen 🙃
                                          Die Variable "....isDaytime" habe ich auch schon mal gefunden, werde ich ausprobieren 😀

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          841
                                          Online

                                          31.9k
                                          Users

                                          80.1k
                                          Topics

                                          1.3m
                                          Posts

                                          blockly javascript
                                          8
                                          33
                                          11005
                                          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