Hi zusammen.
Neuerdings erhalte ich im Log auch folgende Fehlermeldungen
Cannot calculate "night" for 52.916411, 9.981799
Cannot calculate "nightEnd" for 52.916411, 9.981799
Cannot calculate "night" for 52.916411, 9.981799
Ich nutze folgendes Script zum ermitteln der Tageszeiten
/* System Tageszeoten
Skript meldet Tageszeiten
Nacht;Frühmorgens;Morgengrauen;Vormittag;Mittag;Nachmittag;Dämmerung;Abend;
Basis: http://www.homematic-inside.de/tecbase/homematic/scriptlibrary/item/tageszeit-in-abschnitte-unterteilen
oder hier: https://github.com/ioBroker/ioBroker.javascript#astro--funktion
https://github.com/iobroker/ioBroker.javascript/blob/master/README.md#getastrodate
erstellt: 01.06.2015 von Pix
11.12.2015 getAstroDate ermittelt nun auch Sonnenaufgang und Untergang
Astrotag (isAstroDay) eingebaut
*/
var logging = false;
// Variablen erstellen
createState('javascript.0.Wetterstation.Tageszeit', {
name: 'Tageszeit'
});
createState('javascript.0.Wetterstation.Tageszeit.Sonnenaufgang', {
name: 'nächster Sonnenaufgang Uhrzeit',
desc: 'sunrise (top edge of the sun appears on the horizon)'
});
createState('javascript.0.Wetterstation.Tageszeit.Sonnenuntergang', {
name: 'nächster Sonnenuntergang Uhrzeit',
desc: 'sunset (sun disappears below the horizon, evening civil twilight starts)'
});
createState('javascript.0.Wetterstation.Tageszeit.Astrotag', false, {
read: true,
write: true,
type: 'boolean',
name: 'Astologischer Tag',
desc: 'Zeit zwischen Sonnenauf- und untergang'
});
var idTageszeit = "javascript.0.Wetterstation.Tageszeit",
tageszeiten = ['Nacht',
'Morgendämmerung',
'Morgen',
'Vormittag',
'Mittag',
'Nachmittag',
'Abenddämmerung',
'Abend'],
idAstrotag = "javascript.0.Wetterstation.Tageszeit.Astrotag",
idSonnenaufgang = "javascript.0.Wetterstation.Tageszeit.Sonnenaufgang",
idSonnenuntergang = "javascript.0.Wetterstation.Tageszeit.Sonnenuntergang";
function zeiten_speichern () {
var astrotag = getState(idAstrotag).val,
sonnenaufgang,
sonnenuntergang;
var today = new Date();
var tomorrow = today.setDate(today.getDate()+1);
if (astrotag) { // Wenn Tag (Aufgang vorbei (erst wieder morgen, Untergang kommt noch heute)
sonnenuntergang = getAstroDate('sunset', today),
sonnenaufgang = getAstroDate('sunrise', tomorrow);
} else { // nach Nacht (Untergang vorbei (erst wieder morgen, Aufgang kommt heute oder morgen)
sonnenuntergang = getAstroDate('sunset', tomorrow);
sonnenaufgang = (today.getHours() > 12 && today.getHours() <= 23) ? getAstroDate('sunrise', tomorrow) : getAstroDate('sunrise', today); // es ist vor Mitternacht (bzw. vor 23:XXUhr), dann morgen, sonst heute
}
setState(idSonnenaufgang, sonnenaufgang.toLocaleTimeString());
setState(idSonnenuntergang, sonnenuntergang.toLocaleTimeString());
}
function neue_tageszeit(abschnitt) {
setState(idTageszeit, tageszeiten[parseInt(abschnitt, 10)]);
if (logging) log('neue Tagezeit: ' + tageszeiten[parseInt(abschnitt, 10)], 'info');
event('**Neue Tageszeit** => '+ tageszeiten[parseInt(abschnitt, 10)]);
zeiten_speichern();
}
// Nacht
schedule({astro: "night", shift: 120}, function () { neue_tageszeit(0) });
// Morgengdämmerung
schedule({astro: "nightEnd"}, function () { neue_tageszeit(1) });
// Morgen
schedule({astro: "sunrise"}, function () { neue_tageszeit(2) });
// Vormittag (beginnt 120min vor Sonnenhöchststand)
schedule({astro: "solarNoon", shift: -120}, function () { neue_tageszeit(3) });
// Mittag
schedule({astro: "solarNoon"}, function () { neue_tageszeit(4) });
// Nachmittag
schedule({astro: "solarNoon", shift: 60}, function () { neue_tageszeit(5) });
// Abenddämmerung (nach Sonnenuntergang)
schedule({astro: "dusk"}, function () { neue_tageszeit(6) });
// Abend
schedule({astro: "night"}, function () { neue_tageszeit(7) });
// Astrotag checken
schedule("*/1 * * * *", function () {
if (isAstroDay) setState(idAstrotag, true);
if (!isAstroDay) setState(idAstrotag, false);
zeiten_speichern();
});
Jetzt werden bei mir z.B. Morgen- und Abenddämmerung nicht mehr ermittelt.
Was muss ich da tun damit das wieder funktioniert?
Gruß
Johnny