Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Astro-Tageszeit abfragen und in Datenpunkt eintragen

    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

    Astro-Tageszeit abfragen und in Datenpunkt eintragen

    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      Jan1 @darkiop last edited by

      @darkiop
      oder man bastelt sich das geschwind mit Blockly selber:
      fb443372-6d93-4285-9b89-398d7da609de-grafik.png

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

        @paul53 Hallo Paul, ich wollte dein Script einsetzen, erhalte aber einen Fehler hier:

           temp = getAstroDate(fname, next_event);
        

        Der Parameter "next_event" wird angemeckert. Kannst du sagen, wieso?

        Danke und Gruß,
        Christian

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

          @fischmir sagte:

          "next_event" wird angemeckert. Kannst du sagen, wieso?

          Nein. In Zeile 293 wird next_event deklariert und in den Folgezeilen wird ein Wert zugewiesen.

          1 Reply Last reply Reply Quote 0
          • C
            craysee last edited by

            Hallo zusammen,

            ich habe das Script genutzt und die Datenpunkte werden alle angelegt. Nur leider hat mein System die falsche Zeit und somit auch die Datenpunkte. Mit den Debug-Info Blockly erhalte ich als Ergebnis 2 Stunden vor unserer Zeit (allerdings ist die Zeit, die vorne steht, richtig, also die "Eintragzeit" für den Protokollpunkt. Die Koordinaten sind im Adapter und in den Systemeinstellungen richtig eingegeben. ioBroker und der Javascript-Adapter sind neugestartet, hat alles nichts geholfen. Laufen tut alles auf einem Raspi. Jemand noch einen Tipp, was ich noch machen kann ?

            Danke und Gruß

            Cray

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

              @paul53 sagte in Astro-Tageszeit abfragen und in Datenpunkt eintragen:

              Anbei ein vereinfachtes Skript, das ohne "night", "nightEnd" und Astrozeit auskommt. Die Zeiten werden unter Astro.Zeiten neu erstellt. Eine Astrozeit, die den ganzen Tag bis zum Abend nur "goldenHourEnd" anzeigt, ist wenig aussagekräftig.

              const sec = false; // Sekunden darstellen oder nicht
              const fC = false; // forceCreation ein/aus
              const pfad = "Astro"; // Pfad zum Objekt - Objektbaum-Hauptverzeichnis
              // *****************************************************************************
              // TAGESZEITEN - T E I L 
              // Tageszeiten nach eigenem Gusto (Shifts siehe schedules weiter unten)
              const tageszeiten = ["Nacht",
                                  "Morgendämmerung",
                                  "Sonnenaufgang",
                                  "Morgen",
                                  "Vormittag",
                                  "Mittag",
                                  "Nachmittag",
                                  "Abend",
                                  "Sonnenuntergang",
                                  "Abenddämmerung"
                                 ];
              const idTageszeit = "javascript." + instance  + "." + pfad + ".Tageszeit.current" /*Tageszeit*/,
                   idTageszeitNext = "javascript." + instance  + "." + pfad + ".Tageszeit.next";
              
              createState(idTageszeit, "nächsten Wechsel abwarten", fC, {
                 name: "Tageszeit",
                 desc: "Name der Tageszeit",
                 type: "string"
              });   
              createState(idTageszeitNext, "nächsten Wechsel abwarten", fC, {
                 name: "nächste Tageszeit",
                 desc: "Name der nächsten Tageszeit",
                 type: "string"
              });
              function neue_tageszeit(abschnitt) {
                 var akt = tageszeiten[parseInt(abschnitt, 10)],
                 // wenn aktuelles Element ist letztes, dann nächstes ist erstes :-D
                 nxt = (abschnitt + 1 === tageszeiten.length) ? tageszeiten[0] : tageszeiten[parseInt(abschnitt + 1, 10)];
                 setState(idTageszeit, akt);
                 setState(idTageszeitNext, nxt);
                 log("neue Tagezeit: " + akt);
                 log("nächte kommende Tagezeit: " + nxt);
              }
              // Nacht
              schedule({
                 astro: "nauticalDusk", 
                 shift: 45
              }, function () { 
                 neue_tageszeit(0);
              });
              // Morgengdämmerung
              schedule({
                 astro: "nauticalDawn",
                 shift: -45
              }, function () {
                 neue_tageszeit(1);
              });
              // Sonnenaufgang
              schedule({
                 astro: "sunrise"
              }, function() {
                 neue_tageszeit(2);
              });
              // Morgen
              schedule({
                 astro: "sunriseEnd"
              }, function () {
                 neue_tageszeit(3);
              });
              // Vormittag 
              schedule({
                 astro: "goldenHourEnd",
                 shift: 60
              }, function () {
                 neue_tageszeit(4);
              });
              // Mittag
              schedule({
                 astro: "solarNoon",
                 shift: -30
              }, function () {
                 neue_tageszeit(5);
              });
              // Nachmittag
              schedule({
                 astro: "solarNoon",
                 shift: 30
              }, function () {
                 neue_tageszeit(6);
              });
              // Abend
              schedule({
                 astro: "goldenHour",
                 shift: -60
              }, function () {
                 neue_tageszeit(7);
              });
              // Sonnenuntergang
              schedule({
                 astro: "sunsetStart",
              }, function () {
                 neue_tageszeit(8);
              });
              // Abenddämmerung (nach Sonnenuntergang)
              schedule({
                 astro: "sunset"
              }, function () {
                 neue_tageszeit(9);
              });
              // *****************************************************************************
              // A S T O - T E I L 
              /* Objekt Astrotag 
                Astrotag liegt zwischen Sonnauf- und untergang, 
                Astronacht liegt zwischen Sonnenunter- und aufgang */
              const idAstrotag =  "javascript." + instance + "." + pfad + ".Astrotag";
              // Objekt für Uhrzeiten der Astrozeiten
              const astrotime = {
                 "elements" : [
                     // Astrotag beginnt
                     {
                         "fname" : "sunrise", // function name
                         "de" : {
                             "name" : "Sonnenaufgang",
                             "nxt" : "nächster",
                             "desc" : ""
                         },
                         "en" : {
                             "name" : "Sunrise",
                             "desc" : "top edge of the sun appears on the horizon"
                         },
                         "astroday" : true //during astroday
                     },
                     {
                         "fname" : "sunriseEnd", // function name
                         "de" : {
                             "name" : "Ende Sonnenaufgang",
                             "nxt" : "nächstes",
                             "desc" : ""
                         },
                         "en" : {
                             "name" : "End of sunrise",
                             "desc" : "bottom edge of the sun touches the horizon"
                         },
                         "astroday" : true //during astroday
                     },
                     {
                         "fname" : "goldenHourEnd", // function name
                         "de" : {
                             "name" : "Ende der goldenen Stunde am Morgen",
                             "nxt" : "nächstes",
                             "desc" : ""
                         },
                         "en" : {
                             "name" : "End of golden hour",
                             "desc" : "morning golden hour (soft light, best time for photography) ends"
                         },
                         "astroday" : true //during astroday
                     },
                     {
                         "fname" : "solarNoon", // function name
                         "de" : {
                             "name" : "Sonnenhöchststand",
                             "nxt" : "nächster",
                             "desc" : ""
                         },
                         "en" : {
                             "name" : "Solar noon",
                             "desc" : "sun is in the highest position"
                         },
                         "astroday" : true //during astroday
                     },
                     {
                         "fname" : "goldenHour", // function name
                         "de" : {
                             "name" : "Goldene Stunde (am Abend)",
                             "nxt" : "nächste",
                             "desc" : ""
                         },
                         "en" : {
                             "name" : "Golden hour",
                             "desc" : "evening golden hour starts"
                         },
                         "astroday" : true //during astroday
                     },
                     {
                         "fname" : "sunsetStart", // function name
                         "de" : {
                             "name" : "Beginn Sonnenuntergang",
                             "nxt" : "nächster",
                             "desc" : ""
                         },
                         "en" : {
                             "name" : "Sunset starts",
                             "desc" : "bottom edge of the sun touches the horizon"
                         },
                         "astroday" : true //during astroday
                     },
                     // Astronacht beginnt
                     {
                         "fname" : "sunset", // function name
                         "de" : {
                             "name" : "Sonnenuntergang",
                             "nxt" : "nächster",
                             "desc" : ""
                         },
                         "en" : {
                             "name" : "Sunset",
                             "desc" : "sun disappears below the horizon, evening civil twilight starts"
                         },
                         "astroday" : false //during astronight
                     },
                     {
                         "fname" : "dusk",
                         "de" : {
                             "name" : "Abenddämmerung",
                             "nxt" : "nächste",
                             "desc" : ""
                         },
                         "en" : {
                             "name" : "Dusk",
                             "desc" : "evening nautical twilight starts"
                         },
                         "astroday" : false //during astronight
                     },
                     {
                         "fname" : "nauticalDusk",
                         "de" : {
                             "name" : "nautische Abenddämmerung",
                             "nxt" : "nächste",
                             "desc" : ""
                         },
                         "en" : {
                             "name" : "Nautical dusk",
                             "desc" : "evening astronomical twilight starts"
                         },
                         "astroday" : false //during astronight
                     },
                     {
                         "fname" : "nadir",
                         "de" : {
                             "name" : "Nadir",
                             "nxt" : "nächster",
                             "desc" : "Fußpunkt gegenüber dem Zenit"
                         },
                         "en" : {
                             "name" : "Nadir",
                             "desc" : "darkest moment of the night, sun is in the lowest position"
                         },
                         "astroday" : false //during astronight
                     },
                     {
                         "fname" : "nauticalDawn",
                         "de" : {
                             "name" : "nautische Morgendämmerung",
                             "nxt" : "nächste",
                             "desc" : ""
                         },
                         "en" : {
                             "name" : "Nautical dawn",
                             "desc" : "morning nautical twilight starts"
                         },
                         "astroday" : false //during astronight
                     },
                     {
                         "fname" : "dawn",
                         "de" : {
                             "name" : "Morgendämmerung",
                             "nxt" : "nächste",
                             "desc" : ""
                         },
                         "en" : {
                             "name" : "dawn",
                             "desc" : "morning nautical twilight ends, morning civil twilight starts"
                         },
                         "astroday" : false //during astronight
                     }
              
                 ]
              };
              
              function writeAstroTimes(i) {
                 // führende Nummer zur Sortierung in Admin/Objekte
                 var nr = (i+1 < 10) ? "0" + (i+1) : (i+1);
                 // Erstelle Objekt, falls nicht bereits vorhanden
                 var idAstroObject = "javascript." + instance + "." + pfad + ".Zeiten." + nr + " - " + astrotime.elements[i].fname;
                 createState(idAstroObject, " ", fC, {
                     name: astrotime.elements[i].de.nxt + " " + astrotime.elements[i].de.name + " Uhrzeit",
                     desc: astrotime.elements[i].en.desc,
                     type: "string"
                 });
              
                 setTimeout(function() { // kurz warten, damit Objekte ggf. erst angelgt werden können
                     var astrotag = getState(idAstrotag).val,
                         temp;
                     var today = new Date();
                     var tomorrow = today.setDate(today.getDate()+1);
                     var next_event;
                     if (astrotag) { 
                         // Wenn Tag (Aufgang vorbei (erst wieder morgen, Untergang kommt noch heute)
                         next_event = (astrotime.elements[i].astroday) ? tomorrow : today; // prüfen
                     } else { 
                         // nach Nacht (Untergang vorbei (erst wieder morgen, Aufgang kommt heute oder morgen)
                         next_event = (astrotime.elements[i].astroday) ? today : tomorrow; // prüfen
                     }
                     var fname = astrotime.elements[i].fname;
                     temp = getAstroDate(fname, next_event);
                     setState(idAstroObject, checkSec(temp.toLocaleTimeString()) );
                 }, 3 * 1000);
              }
              
              // Zeit mit oder ohne Sekunden anzeigen
              function checkSec (zeit) {
                 if (!sec) {
                     var newString_arr = zeit.split(":");
                     var newString = newString_arr[0] + ":" + newString_arr[1];
                     return (newString);
                 } else return (zeit);
              }
              
              function getAstroday() {
                 // Astrotag bestimmen (boolean)
                 createState(idAstrotag, false, fC, {
                     type: "boolean",
                     name: "Astrologischer Tag",
                     desc: "Liegt die aktuelle Zeit zwischen Sonnenauf- und untergang"
                 }); 
                 setState(idAstrotag, isAstroDay());
              }
              
              function iterateAstrotimes() {
                 // Zeiten für jede Astrozeit schreiben
                 for (var i = 0; i < astrotime.elements.length; i++) {
                     writeAstroTimes(i);
                 }
              }
              
              // Astrotag checken
              schedule("*/1 * * * *", function () { // jede Minute
                 getAstroday();
                 iterateAstrotimes();
              });
              
              iterateAstrotimes();
              getAstroday();
              

              493_astro_ohne_night.jpg

              Moin Paul,
              leider funktioniert mein Astroscript von Pix nicht mehr, hab da was gelesen, dass ich zweit nördlich bin.
              Naja, ich hab mal deins soweit am laufen, nur leider werden mir die ermittelten Zeiten nicht als format 24h angezeigt. sonder nur als 12h. Weißt du vielleicht woran das liegt?
              System ist gestern aktualisiert worden.

              Betriebssystem
              linux
              Architektur
              x64
              CPUs
              4
              Geschwindigkeit
              1895 MHz
              Modell
              Common KVM processor
              RAM
              3.86 GB
              System Betriebszeit
              14:31:47
              Node.js
              v10.16.0 (Recommended version v8.16.0)
              NPM
              6.9.0
              

              Javascript ist auf 4.1.12

              Gruß und Danke

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

                @ple sagte:

                Javascript ist auf 4.1.12

                Von Github ? Dann ändere bitte die Zeile

                       var tomorrow = today.setDate(today.getDate()+1);
                

                in

                        var tomorrow = new Date(today.setDate(today.getDate()+1));
                

                Ein PR auf Github ist erstellt, aber noch nicht merged.

                1 Reply Last reply Reply Quote 0
                • J
                  Jan1 last edited by Jan1

                  Kein Plan warum man sich da ein JavaScript dafür von jemand übernimmt (@paul53 kann man machen und nichts gegen Dein Script).
                  Wenn man schlicht die Astrozeiten als DP haben möchte und von Javascript nichts versteht, dann bietet Blockly schon alles was man braucht.

                  sieht dann so aus:
                  cd5f80e6-f6b1-463b-8b30-d6dfd33c6d1a-grafik.png

                  Hier dann mal der Blockly Export, falls es einer haben möchte:

                  ```
                  <xml xmlns="http://www.w3.org/1999/xhtml">
                  <block type="create" id="v72H-N1#%w_zseA#CMc" x="13" y="13">
                  <field name="NAME">01-Nachtende</field>
                  <statement name="STATEMENT">
                  <block type="create" id="@kYi)AXak/ydmJCF!oo]">
                  <field name="NAME">02-Morgendämmerung</field>
                  <statement name="STATEMENT">
                  <block type="create" id=";T8PP:ZCKeM4
                  +U5?yi">
                  <field name="NAME">03-Sonnenaufgang</field>
                  <statement name="STATEMENT">
                  <block type="create" id="gIfB:POQ4@(+!BTUapf">
                  <field name="NAME">04-Sonneneaufgang_Ende</field>
                  <statement name="STATEMENT">
                  <block type="create" id="MFJk^e%f2^,QG[vUK4ee">
                  <field name="NAME">05-Golden_Houer_Ende</field>
                  <statement name="STATEMENT">
                  <block type="create" id="hO7B(a7I~WK~vu8.7gDH">
                  <field name="NAME">06-Mittag</field>
                  <statement name="STATEMENT">
                  <block type="create" id="eYe;t8x=FwBT4B,.|k."> <field name="NAME">07-Golden_Houer</field> <statement name="STATEMENT"> <block type="create" id="tVROR/kUT3MINh%SOcdY"> <field name="NAME">08-Sonnenuntergang_Anfang</field> <statement name="STATEMENT"> <block type="create" id="kCb|+j}(0FzG/abd,q1">
                  <field name="NAME">09-Sonnenuntergang</field>
                  <statement name="STATEMENT">
                  <block type="create" id="4UB
                  zNj{JG:saTpO/G">
                  <field name="NAME">10-Abenddämmerung</field>
                  <statement name="STATEMENT">
                  <block type="create" id="%kf8::E|Nt2i
                  cPYM.aB">
                  <field name="NAME">11-Nacht</field>
                  </block>
                  </statement>
                  </block>
                  </statement>
                  </block>
                  </statement>
                  </block>
                  </statement>
                  </block>
                  </statement>
                  </block>
                  </statement>
                  </block>
                  </statement>
                  </block>
                  </statement>
                  </block>
                  </statement>
                  </block>
                  </statement>
                  <next>
                  <block type="schedule" id="c;,oPug#y[hH+R/Az:)Z">
                  <field name="SCHEDULE">0 0,6,12,18 * * *</field>
                  <statement name="STATEMENT">
                  <block type="update" id="QIMsUa0@3?Vo;jj}r-U">
                  <mutation delay_input="false"></mutation>
                  <field name="OID">javascript.0.01-Nachtende</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE">
                  <block type="convert_from_date" id="^E3;~IY|ubg5}Cw9eYrO">
                  <mutation format="false" language="false"></mutation>
                  <field name="OPTION">hh:mm:ss</field>
                  <value name="VALUE">
                  <block type="time_astro" id="J0d,%PB7t8lb@8mXXXZ(">
                  <field name="TYPE">nightEnd</field>
                  <field name="OFFSET">0</field>
                  </block>
                  </value>
                  </block>
                  </value>
                  <next>
                  <block type="update" id="HB^8MQ(4ds+W5/u^OW4m">
                  <mutation delay_input="false"></mutation>
                  <field name="OID">javascript.0.02-Morgendämmerung</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE">
                  <block type="convert_from_date" id="oN=Uv}fYcHBCDPHtpXiw">
                  <mutation format="false" language="false"></mutation>
                  <field name="OPTION">hh:mm:ss</field>
                  <value name="VALUE">
                  <block type="time_astro" id=":/y;e5awTDC:Cev;TUCS">
                  <field name="TYPE">dawn</field>
                  <field name="OFFSET">0</field>
                  </block>
                  </value>
                  </block>
                  </value>
                  <next>
                  <block type="update" id="+A7|YpLw]g_!(9]PC@UH">
                  <mutation delay_input="false"></mutation>
                  <field name="OID">javascript.0.03-Sonnenaufgang</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE">
                  <block type="convert_from_date" id="AMyc:3
                  Tp9XP+4kq(nv-">
                  <mutation format="false" language="false"></mutation>
                  <field name="OPTION">hh:mm:ss</field>
                  <value name="VALUE">
                  <block type="time_astro" id=",4bKmH_J8szFEb.4u{OB">
                  <field name="TYPE">sunrise</field>
                  <field name="OFFSET">0</field>
                  </block>
                  </value>
                  </block>
                  </value>
                  <next>
                  <block type="update" id="DwtR_scz+f42pEJ/sKn?">
                  <mutation delay_input="false"></mutation>
                  <field name="OID">javascript.0.04-Sonneneaufgang_Ende</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE">
                  <block type="convert_from_date" id="a~M9OAt|LRQe5:d]~}H?">
                  <mutation format="false" language="false"></mutation>
                  <field name="OPTION">hh:mm:ss</field>
                  <value name="VALUE">
                  <block type="time_astro" id="7/scA1O-iX|.x-iB_~X3">
                  <field name="TYPE">sunriseEnd</field>
                  <field name="OFFSET">0</field>
                  </block>
                  </value>
                  </block>
                  </value>
                  <next>
                  <block type="update" id="F.Y:ABQw?pppVIMuzXC4">
                  <mutation delay_input="false"></mutation>
                  <field name="OID">javascript.0.05-Golden_Houer_Ende</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE">
                  <block type="convert_from_date" id="jgDe(t)05^f2gQyGIaI6">
                  <mutation format="false" language="false"></mutation>
                  <field name="OPTION">hh:mm:ss</field>
                  <value name="VALUE">
                  <block type="time_astro" id="]qS[Z+Pab*WUXun969T"> <field name="TYPE">goldenHourEnd</field> <field name="OFFSET">0</field> </block> </value> </block> </value> <next> <block type="update" id="FjU7x+vB-{|nz?Ntgi]B"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.06-Mittag</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="convert_from_date" id="Ewd,fX4o;ftqhEAKr)^">
                  <mutation format="false" language="false"></mutation>
                  <field name="OPTION">hh:mm:ss</field>
                  <value name="VALUE">
                  <block type="time_astro" id="}2iN_uE[d~xeJMc]9~%p">
                  <field name="TYPE">solarNoon</field>
                  <field name="OFFSET">0</field>
                  </block>
                  </value>
                  </block>
                  </value>
                  <next>
                  <block type="update" id="(slH?vH:Tx73fJ(J2HY]">
                  <mutation delay_input="false"></mutation>
                  <field name="OID">javascript.0.07-Golden_Houer</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE">
                  <block type="convert_from_date" id="kh1//%:x4My;~kFU,E^"> <mutation format="false" language="false"></mutation> <field name="OPTION">hh:mm:ss</field> <value name="VALUE"> <block type="time_astro" id="~MgPI%%B44O6EzrHu._C"> <field name="TYPE">goldenHour</field> <field name="OFFSET">0</field> </block> </value> </block> </value> <next> <block type="update" id="g|Q7g?g_fO6AjzFr(le">
                  <mutation delay_input="false"></mutation>
                  <field name="OID">javascript.0.08-Sonnenuntergang_Anfang</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE">
                  <block type="convert_from_date" id="r6N{VKoWDb6,=S=QyNF"> <mutation format="false" language="false"></mutation> <field name="OPTION">hh:mm:ss</field> <value name="VALUE"> <block type="time_astro" id="!nNaC0sNkzDc_CZkch6">
                  <field name="TYPE">sunsetStart</field>
                  <field name="OFFSET">0</field>
                  </block>
                  </value>
                  </block>
                  </value>
                  <next>
                  <block type="update" id="5k::E!c_Nzjkf_4MU}_U">
                  <mutation delay_input="false"></mutation>
                  <field name="OID">javascript.0.09-Sonnenuntergang</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE">
                  <block type="convert_from_date" id=",z]tcWXKDj7^syvxRkU[">
                  <mutation format="false" language="false"></mutation>
                  <field name="OPTION">hh:mm:ss</field>
                  <value name="VALUE">
                  <block type="time_astro" id="e.#C/a~nk+lc9h!VRKIG">
                  <field name="TYPE">sunset</field>
                  <field name="OFFSET">0</field>
                  </block>
                  </value>
                  </block>
                  </value>
                  <next>
                  <block type="update" id="okk0X1l~(0(nUW+Re46b">
                  <mutation delay_input="false"></mutation>
                  <field name="OID">javascript.0.10-Abenddämmerung</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE">
                  <block type="convert_from_date" id="jT6:rKIF[@`bgdN2Ei+R">
                  <mutation format="false" language="false"></mutation>
                  <field name="OPTION">hh:mm:ss</field>
                  <value name="VALUE">
                  <block type="time_astro" id="CeiV[rNfs^|Wwo/^8]}L">
                  <field name="TYPE">dusk</field>
                  <field name="OFFSET">0</field>
                  </block>
                  </value>
                  </block>
                  </value>
                  <next>
                  <block type="update" id="y3QMbYJ8biR5l7@~Vd92">
                  <mutation delay_input="false"></mutation>
                  <field name="OID">javascript.0.11-Nacht</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE">
                  <block type="convert_from_date" id="5z?E1xsLp;YRIJ6YIaB!">
                  <mutation format="false" language="false"></mutation>
                  <field name="OPTION">hh:mm:ss</field>
                  <value name="VALUE">
                  <block type="time_astro" id="Y[SLp]Z~a7!a0aht:]j?">
                  <field name="TYPE">night</field>
                  <field name="OFFSET">0</field>
                  </block>
                  </value>
                  </block>
                  </value>
                  </block>
                  </next>
                  </block>
                  </next>
                  </block>
                  </next>
                  </block>
                  </next>
                  </block>
                  </next>
                  </block>
                  </next>
                  </block>
                  </next>
                  </block>
                  </next>
                  </block>
                  </next>
                  </block>
                  </next>
                  </block>
                  </statement>
                  </block>
                  </next>
                  </block>
                  </xml>

                  paul53 1 Reply Last reply Reply Quote 1
                  • Q
                    quorle last edited by

                    @paul53 :

                    Bei mir funktioniert dein Script leider nicht.

                    Javascript Adapter ist auf 4.1.12
                    js-controller ist auf 1.5.11

                    Fehlerlog:

                    javascript.0	2019-06-02 18:36:53.028	error	at Timer.listOnTimeout (timers.js:290:5)
                    javascript.0	2019-06-02 18:36:53.028	error	at tryOnTimeout (timers.js:323:5)
                    javascript.0	2019-06-02 18:36:53.028	error	at ontimeout (timers.js:511:34)
                    javascript.0	2019-06-02 18:36:53.028	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1886:34)
                    javascript.0	2019-06-02 18:36:53.027	error	at Object.<anonymous> (script.js.common.System.Astrozeiten_berechnen_V2:302:16)
                    javascript.0	2019-06-02 18:36:53.027	error	at getAstroDate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1220:42)
                    javascript.0	2019-06-02 18:36:53.027	error	Error in callback: TypeError: date.getDate is not a function
                    javascript.0	2019-06-02 18:36:53.027	error	at Timer.listOnTimeout (timers.js:290:5)
                    javascript.0	2019-06-02 18:36:53.027	error	at tryOnTimeout (timers.js:323:5)
                    javascript.0	2019-06-02 18:36:53.027	error	at ontimeout (timers.js:511:34)
                    javascript.0	2019-06-02 18:36:53.027	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1886:34)
                    javascript.0	2019-06-02 18:36:53.027	error	at Object.<anonymous> (script.js.common.System.Astrozeiten_berechnen_V2:302:16)
                    javascript.0	2019-06-02 18:36:53.027	error	at getAstroDate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1220:42)
                    javascript.0	2019-06-02 18:36:53.027	error	Error in callback: TypeError: date.getDate is not a function
                    javascript.0	2019-06-02 18:36:53.027	error	at Timer.listOnTimeout (timers.js:290:5)
                    javascript.0	2019-06-02 18:36:53.027	error	at tryOnTimeout (timers.js:323:5)
                    javascript.0	2019-06-02 18:36:53.027	error	at ontimeout (timers.js:511:34)
                    javascript.0	2019-06-02 18:36:53.027	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1886:34)
                    javascript.0	2019-06-02 18:36:53.027	error	at Object.<anonymous> (script.js.common.System.Astrozeiten_berechnen_V2:302:16)
                    javascript.0	2019-06-02 18:36:53.027	error	at getAstroDate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1220:42)
                    javascript.0	2019-06-02 18:36:53.027	error	Error in callback: TypeError: date.getDate is not a function
                    javascript.0	2019-06-02 18:36:53.027	error	at Timer.listOnTimeout (timers.js:290:5)
                    javascript.0	2019-06-02 18:36:53.027	error	at tryOnTimeout (timers.js:323:5)
                    javascript.0	2019-06-02 18:36:53.027	error	at ontimeout (timers.js:511:34)
                    javascript.0	2019-06-02 18:36:53.027	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1886:34)
                    javascript.0	2019-06-02 18:36:53.027	error	at Object.<anonymous> (script.js.common.System.Astrozeiten_berechnen_V2:302:16)
                    javascript.0	2019-06-02 18:36:53.027	error	at getAstroDate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1220:42)
                    javascript.0	2019-06-02 18:36:53.027	error	Error in callback: TypeError: date.getDate is not a function
                    javascript.0	2019-06-02 18:36:53.027	error	at Timer.listOnTimeout (timers.js:290:5)
                    javascript.0	2019-06-02 18:36:53.027	error	at tryOnTimeout (timers.js:323:5)
                    javascript.0	2019-06-02 18:36:53.027	error	at ontimeout (timers.js:511:34)
                    javascript.0	2019-06-02 18:36:53.027	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1886:34)
                    javascript.0	2019-06-02 18:36:53.027	error	at Object.<anonymous> (script.js.common.System.Astrozeiten_berechnen_V2:302:16)
                    javascript.0	2019-06-02 18:36:53.026	error	at getAstroDate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1220:42)
                    javascript.0	2019-06-02 18:36:53.026	error	Error in callback: TypeError: date.getDate is not a function
                    javascript.0	2019-06-02 18:36:53.026	error	at Timer.listOnTimeout (timers.js:290:5)
                    javascript.0	2019-06-02 18:36:53.026	error	at tryOnTimeout (timers.js:323:5)
                    javascript.0	2019-06-02 18:36:53.026	error	at ontimeout (timers.js:511:34)
                    javascript.0	2019-06-02 18:36:53.026	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1886:34)
                    javascript.0	2019-06-02 18:36:53.026	error	at Object.<anonymous> (script.js.common.System.Astrozeiten_berechnen_V2:302:16)
                    javascript.0	2019-06-02 18:36:53.026	error	at getAstroDate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1220:42)
                    javascript.0	2019-06-02 18:36:53.026	error	Error in callback: TypeError: date.getDate is not a function
                    
                    J paul53 2 Replies Last reply Reply Quote 0
                    • J
                      Jan1 @quorle last edited by

                      @quorle
                      Deshalb nimmst einfach das Blockly, weil das immer funktioniert und so ziehmich auch exakt das Selbe rauskommt.

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

                        @quorle sagte:

                        Fehlerlog:

                        Dann verwendest Du die JS-Version von Github, die noch einen Fehler enthält, wenn date an getAstroDate() in ms übergeben wird. Deshalb ändere Zeile 292 in

                                var tomorrow = new Date(today.setDate(today.getDate()+1));
                        
                        P 2 Replies Last reply Reply Quote 0
                        • paul53
                          paul53 @Jan1 last edited by paul53

                          @Jan1 sagte:

                          sieht dann so aus:

                          Du hast Glück, dass Du so weit südlich wohnst und deshalb "Nacht" und "Nachtende" bei Dir auch im Sommer funktioniert.
                          Mitternachtsdämmerung

                          J 1 Reply Last reply Reply Quote 0
                          • Q
                            quorle last edited by

                            @paul53

                            Danke für deine schnelle und Hilfreiche Antwort. So funktioniert es ohne Fehler und Probleme.

                            Ich hoffe es werden bal alle Fehler des Javascript-Adapters ausgemerzt sein....

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

                              @paul53 sagte in Astro-Tageszeit abfragen und in Datenpunkt eintragen:

                              @Jan1 sagte:

                              sieht dann so aus:

                              Du hast Glück, dass Du so weit südlich wohnst und deshalb "Nacht" und "Nachtende" bei Dir auch im Sommer funktioniert.
                              Mitternachtsdämmerung

                              Ich hatte ursprünglich auch ein Script dafür hier aus dem Forum und da gabs dann auch Probleme bei Sommer und Winter. Da aber die "normalen" Astrozeiten für ein Großteil der User eigentlich reicht, oder man die vorhandenen einfach mit einem Offset etwas anpasst, sind eben auch die von Blockly zur Verfügung stehenden Astro Zeiten auch ausreichend.
                              OK, es gibt eben immer User die was extra haben wollen, aber für die bist dann eben Du zuständig 😉

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

                                @paul53 sagte in Astro-Tageszeit abfragen und in Datenpunkt eintragen:

                                @quorle sagte:

                                Fehlerlog:

                                Dann verwendest Du die JS-Version von Github, die noch einen Fehler enthält, wenn date an getAstroDate() in ms übergeben wird. Deshalb ändere Zeile 292 in

                                        var tomorrow = new Date(today.setDate(today.getDate()+1));
                                

                                Besten Dank 🙂👍

                                simatec 1 Reply Last reply Reply Quote 0
                                • M
                                  Mitch last edited by

                                  Bisher leif das Script hier wunderbar

                                  Jetzt bekomme ich diese Fehler:

                                  javascript.0	2019-06-03 22:59:03.011	error	Cannot get astro date for "nightEnd"
                                  javascript.0	2019-06-03 22:59:03.010	error	Cannot get astro date for "night"
                                  javascript.0	2019-06-03 22:59:00.038	error	Cannot get astro date for "nightEnd"
                                  javascript.0	2019-06-03 22:59:00.038	warn	missing or unrecognized endTime expression: NaN
                                  javascript.0	2019-06-03 22:59:00.038	error	Cannot get astro date for "nightEnd"
                                  javascript.0	2019-06-03 22:59:00.038	error	Cannot get astro date for "night"
                                  javascript.0	2019-06-03 22:59:00.038	warn	missing or unrecognized endTime expression: NaN
                                  javascript.0	2019-06-03 22:59:00.037	error	Cannot get astro date for "night"
                                  

                                  Hier die Script-Version:
                                  erstellt: 01.06.2015 von Pix
                                  11.12.2015 getAstroDate ermittelt nun auch Sonnenaufgang und Untergang
                                  Astrotag (isAstroDay) eingebaut
                                  23.02.2018 checkSec eingebaut (Uhrzeit sekundengenau?)
                                  andere Astrozeiten werden nun auch gespeichert
                                  Neuer Pfad
                                  24.02.2018 Unterteilung in zwei Bereiche
                                  27.02.2018 Bestimmung, welche AstroZeit aktuell ist (mit der ioBroker-Funktion compareTime)
                                  Beschreibung Objekt Astrotag korrigiert
                                  Objekte werden jetzt bei jedem Zeitplan angelegt, falls nicht (mehr) vorhanden

                                  Weiss jemand Abhilfe?

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

                                    @Mitch sagte:

                                    Weiss jemand Abhilfe?

                                    Du wohnst zu weit nördlich. Es gibt ein modifiziertes Skript.

                                    M 1 Reply Last reply Reply Quote 1
                                    • M
                                      Mitch @paul53 last edited by

                                      @paul53

                                      Wie immer, klasse Hilfe!

                                      1 Reply Last reply Reply Quote 0
                                      • D
                                        darkiop Most Active last edited by

                                        Habe mal begonnen das ganze in ein Blockly zu packen, offen ist noch die "nächste Tageszeit":

                                        https://gist.github.com/darkiop/236a5755b5f3d6f361907f59d10963ef

                                        Spegeli 1 Reply Last reply Reply Quote 1
                                        • P
                                          ple @paul53 last edited by

                                          @paul53 sagte in Astro-Tageszeit abfragen und in Datenpunkt eintragen:

                                          @quorle sagte:

                                          Fehlerlog:

                                          Dann verwendest Du die JS-Version von Github, die noch einen Fehler enthält, wenn date an getAstroDate() in ms übergeben wird. Deshalb ändere Zeile 292 in

                                                  var tomorrow = new Date(today.setDate(today.getDate()+1));
                                          

                                          Gibt es auch die Möglichkeit die Ausgabe in 24h Format zu bekommen? bei mir sind die alle in 12h Format. Für Vis ist das ein wenig blöde.

                                          Gruß und Danke

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

                                            @quorle Mittlerweile ist es umgekehrt: Die Version 4.1.13 enthält diesen Fehler und auf Github ist er gefixt.
                                            In Version 4.1.13 ist der fehlerhafte Vergleich "zwischen Astrozeit und Uhrzeit" in der Zeit zwischen Mitternacht und "nadir" gefixt.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            940
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            72
                                            349
                                            91315
                                            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