NEWS
[Implementiert - 1.0.6] getAstroDate(), isAstroDay
-
Hallo,
ich weiss, wie ich astro für on und schedule benutzen kann aber geht es auch direkt?
Ich würde gerne so etwas machen:
on(myObject, cb(function(obj){ if (obj.newState.val) { if (IS ASTRO DAY) //Do something else //Do something else } }));ich habe im source code von dem javascript Adaptor angeschaut, wie astro implementiert ist:
var ts = mods.suncalc.getTimes(nowdate, adapter.config.latitude, adapter.config.longitude)[pattern.astro];So ich würde die folgende Erweiterung für javascript.js empfohlen:
getAstroDate: function(pattern, date){ if (date === undefined) date = new Date(); if (adapter.config.latitude === undefined || adapter.config.longitude === undefined) { adapter.log.error('Longitude or latitude does not set. Cannot use astro.'); return; } var ts = mods.suncalc.getTimes(date, adapter.config.latitude, adapter.config.longitude)[pattern]; if (ts === undefined || ts.getTime().toString() === 'NaN') { adapter.log.error('Cannot get astro date for '+pattern); } return ts; }, isAstroDay: function(){ var nowdate = new Date(); var dayBegin = sandbox.getAstroDate("sunrise"); var dayEnd = sandbox.getAstroDate("sunset"); if (dayBegin === undefined || dayEnd === undefined) return; return (nowdate >= dayBegin && nowdate <= dayEnd); },Ich habe es bei mir eingebaut und es funktioniert. :-)
@Bluefox: sind git pull request gewünscht oder möchtest Du lieber die Vorschlage selber umschreiben?
-
Kein Frage zu der Funktion. Ich habe mir die Astro Funktion eingebaut, habe im Log aber folgenden Fehler:
Longitude or latitude does not set. Cannot use astro.
Dabei habe ich bei den Adapter unter Einstellung Breit und Länge eingetragen. 52.xxx für Breite und 9.xxx für Länge. Statt xxx natürlich die genauen Koordinaten. Muss ich . oder , nehmen, sind die Nachkommastellen beschränkt?
-
Muss ich . oder , nehmen, sind die Nachkommastellen beschränkt?
So, wie in den Einstellungen der JS-Instanz ganz unten steht:> Benutze das Format mit 49.1245 und nicht 49°34'0", sonst es wird automatisch umgerechnet ` -
Nicht in den allgemeinen Einstellungen? Wo meinst du bei JS?
Ich habe es wie folgt eingestellt, aber immer noch :
javascript.0 2017-08-08 20:22:14.643 error Longitude or latitude does not set. Cannot use astro.
Nachtrag: Ich habe den Haken deaktiviert "aus den Systemsetting" und direkt eingetragen. Jetzt habe ich keinen Fehler mehr.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden