Astro-Tageszeit in Datenpunkte schreiben

Mit dem folgenden Script werden die Astro-Tageszeiten aufgrund der übergebenen GPS-Position ermittelt und in Datenpunkte geschrieben.

var suncalc = require('suncalc');
var times = suncalc.getTimes(new Date(),48.802332199999995,9.0593212);

for (var t in times)
{
  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;
  createState('Astrozeiten.'+t, TimeString, { type: 'string', role: 'value'});
}

Nach dem Ausführen des Scripts werden in den Objekten folgende Datenpunkte mit den Astro-Tageszeiten angelegt:

2 Gedanken zu „Astro-Tageszeit in Datenpunkte schreiben

  • 11. Juli 2018 um 22:59
    Permalink

    Kleiner Hinweis:

    So wie das Script oben ist, funktioniert das nur beim ersten Durchlauf.
    Sollen die Datenpunkte täglich zum cron erneuert werden, sollte zusätzlich in der Schleife eingefügt werden, oder?

    setState(‚Astrozeiten.’+t, TimeString, { type: ’string‘, role: ‚value‘});

    Antwort
    • 9. Dezember 2019 um 2:42
      Permalink

      @Besucher69

      Genau richtig. Der javascript-Code, durch den die Zeiten bei erneuter Skriptausführung aktualisiert werden, sieht also so aus:

      var suncalc = require(’suncalc‘);
      var times = suncalc.getTimes(new Date(),48.802332199999995,9.0593212);

      for (var t in times)
      {
      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;
      createState('Astrozeiten.'+t, TimeString, { type: 'string', role: 'value'});
      setState('Astrozeiten.'+t, TimeString, { type: 'string', role: 'value'});
      }

      Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.