Sonnenstandwinkel berechnen
Sonne Azimut und Elevation in Variablen schreiben um damit Aktionen auszuführen
Steckbrief |
|
Art des Scripts | Komplettscript |
Aktuelle Version | |
Voraussetzungen | |
Entwickler | paul 53, modifiziert von pix |
Stichworte | Sonnenstand, Rollläden, Licht |
Zusatzinformation | |
Forendiskussion | zum Forum |
Script
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
/* System Sonnenstand Sonne Azimut und Elevation in Variablen schreiben erstellt: 06.07.2015 nach ioBroker Forum http://forum.iobroker.net/viewtopic.php?f=21&t=975&sid=6f0ba055de5f82eed6809424f49ca93b#p7635 */ var suncalc = require('suncalc'), result = getObject("system.adapter.javascript.0"), lat = result.native.latitude, long = result.native.longitude; createState('Sonnenstand.Elevation', 0, {unit: '°'}); createState('Sonnenstand.Azimut', 0, {unit: '°'}); function Sonnenstand_berechnen () { var now = new Date(); log("-----------------------------------------------"); log("latitude : " + result.native.latitude,'warn'); log("longitude: " + result.native.longitude,'warn'); var sunpos = suncalc.getPosition(now, lat, long); log("sunpos: " + sunpos,'warn'); var h = sunpos.altitude * 180 / Math.PI, a = sunpos.azimuth * 180 / Math.PI + 180; setState("javascript.0.Sonnenstand.Elevation",h.toFixed(1)); setState("javascript.0.Sonnenstand.Azimut",a.toFixed()); } schedule("*/1 * * * *", Sonnenstand_berechnen); Sonnenstand_berechnen(); // bei Scriptstart |