NEWS
Gesucht: Script: Sonnenwinkel berechnen?
-
@ice987 said in Gesucht: Script: Sonnenwinkel berechnen?:
Die Frage hatte ich auch bereits: https://github.com/ioBroker/ioBroker.javascript/issues/800
versuch mal so: https://forum.iobroker.net/topic/43018/gelöst-längen-und-breitengrade/13?_=1622041737554
genau... das wars... jetzt geht es
-
@cainam sagte:
setState(Elevation,h.toFixed(1)); /*sonne_elevation*/ setState(Azimut,a.toFixed()); /*sonne_azimut*/
toFixed() erzeugt einen String. Ändere es in
setState(Elevation, Math.round(h * 10) / 10, true; /*sonne_elevation*/ setState(Azimut, Math.round(a), true); /*sonne_azimut*/
-
ich hab auch mal ein Blockly erstellt um die Sonnenkurve (Höhe) zu berechnen.
Passt sehr gut mit meinem LUX–Sensor zusammen:)Leider sieht man damit auch gut wie schlecht das Wetter bei uns ist.
ich nutze diese Kurve um Level und Kelvin meiner HUE Lampen zu steuern.
-
@derauge said in Gesucht: Script: Sonnenwinkel berechnen?:
wollte hier mal meine Lösung des heutigen Tages zeigen:
es gibt dort zwei (etwas) unterschiedliche Scripte
1.)
/* Sonnenstand.SonneHöhe */ var suncalc = require('suncalc'); var result = getObject("system.adapter.javascript.0"); var lat = result.native.latitude; var long = result.native.longitude; createState('Sonnenstand.Sonne:Höhe', 0, {unit: '°'}); createState('Sonnenstand.Sonne:Azimut', 0, {unit: '°'}); schedule("*/1 * * * *", function () { 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: " + JSON.stringify(sunpos),'warn'); var h = sunpos.altitude * 180 / Math.PI; var a = sunpos.azimuth * 180 / Math.PI + 180; setState("javascript.0.Sonnenstand.Sonne:Höhe",h.toFixed(1)); setState("javascript.0.Sonnenstand.Sonne:Azimut",a.toFixed()); });
Gruß
Jürgen
Hallo, ich hab das Skript 1 bei mir verwendet. Es werden auch Variablen erstellt die ich auslesen kann. Allerdings steht bei mir bei Azimut = 28° zur jetzigen Zeit müsste es laut Sunearthtools.com aber 184° sein. Kann mir jemand sagen warum das nicht so ist ?
Gruß
Thiemo -
@t-c-0
Stimmen die Ortskoordinaten? Hänge mal an das Skriptende eine Log-Ausgabe dran:log('Lat: ' + lat + ' °, Long: ' + long + ' °');
-
@paul53 said in Gesucht: Script: Sonnenwinkel berechnen?:
log('Lat: ' + lat + ' °, Long: ' + long + ' °');
Hallo Paul, heraus kommt:
2021-07-04 14:02:13.669 - info: javascript.0 (2557) Start javascript script.js.common.Steuerung.Astroskript
2021-07-04 14:02:13.677 - info: javascript.0 (2557) script.js.common.Steuerung.Astroskript: registered 0 subscriptions and 1 schedule
2021-07-04 14:03:00.004 - info: javascript.0 (2557) script.js.common.Steuerung.Astroskript: Lat: °, Long: °Wo kann man die Koordinaten angeben ? Wenn ich in den Instanzen von javascript schaue, ist zumindest meine Adresse angezeigt.
Gruß
Thiemo -
@t-c-0 sagte: ist zumindest meine Adresse angezeigt.
Dann verwende die Daten aus der System-Konfiguration (Ersatz für Zeilen 5 bis 7):
const config = getObject('system.config'); const lat = config.common.latitude; const long = config.common.longitude;
-
Hallo! es scheint nun mehr zu stimmen, wobei mir auf der oben genannten Seite 265° angezeigt wird.
Aus IOBroker nun 254°Dennoch besser als vorher
Danke
-
Alles klar, beim aktualisieren hat sich die GMT verstellt. Also stimmen die Werte nun überein, danke!
-
@homoran sagte in Gesucht: Script: Sonnenwinkel berechnen?:
habe ich in die Skriptsammlung eingefügt:
ERROR Cannot GET /docu/
Umgezogen?
-
@klassisch sagte in Gesucht: Script: Sonnenwinkel berechnen?:
Umgezogen?
nicht wirlich! seit 2018/2020 offline und noch kein neues Zuhause
-
anbei mal ein Script von ursprünglich pix; was ich dann erweitert habe mit den Monddaten:
// Sonnenstand Script von pix // erweitert mit Moon durch bahnuhr const suncalc = require('suncalc'); const result = getObject("system.adapter.javascript.0"); const lat = result.native.latitude; const long = result.native.longitude; const idSonneEle = 'javascript.0.System.Sonne_Mond.Sonne_Elevation'; const idSonneAzi = 'javascript.0.System.Sonne_Mond.Sonne_Azimut'; const idMondEle = 'javascript.0.System.Sonne_Mond.Mond_Elevation'; const idMondAzi = 'javascript.0.System.Sonne_Mond.Mond_Azimut'; createState(idSonneEle, 0, {type: 'number', unit: '°'}); createState(idSonneAzi, 0, {type: 'number', unit: '°'}); createState(idMondEle, 0, {type: 'number', unit: '°'}); createState(idMondAzi, 0, {type: 'number', unit: '°'}); function Stand_berechnen () { var now = new Date(); var sunpos = suncalc.getPosition(now, lat, long); var h = sunpos.altitude * 180 / Math.PI; var a = sunpos.azimuth * 180 / Math.PI + 180; setState(idSonneEle, Math.round(10 * h) / 10, true); setState(idSonneAzi, Math.round(Math.round(10 * a) / 10), true); var moonpos = suncalc.getMoonPosition(now, lat, long); var h = moonpos.altitude * 180 / Math.PI; var a = moonpos.azimuth * 180 / Math.PI + 180; setState(idMondEle, Math.round(10 * h) / 10, true); setState(idMondAzi, Math.round(Math.round(10 * a) / 10), true); log ("Sonne: Azimut: " + getState(idSonneAzi).val + "° / Sonne: Elevation: " + getState(idSonneEle).val + "° / Mond: Azimut: " + getState(idMondAzi).val + "° / Mond: Elevation: " + getState(idMondEle).val + "°"); } schedule('23 */4 * * * *', Stand_berechnen); // jede 4. Minute
Für alle die es gebrauchen wollen.
-
und in vis dann so:
-
@bahnuhr cool, Vielen Dank!
-
@klassisch sagte in Gesucht: Script: Sonnenwinkel berechnen?:
@bahnuhr cool, Vielen Dank!
wenn du was brauchst, sag Bescheid.
-
@bahnuhr wofür kann man den denn stand des mondes gebrauchen? Den Sonnenstand für Licht oder Rollos ist soweit klar aber Mond? Kann ich daraus noch etwas schließen oder ist es nur für die Visualisierung?
-
@bahnuhr sagte in Gesucht: Script: Sonnenwinkel berechnen?:
@klassisch sagte in Gesucht: Script: Sonnenwinkel berechnen?:
wenn du was brauchst, sag Bescheid.Vielen Dank, scheint zu laufen. Ich vergleche mal mit https://www.sonnenverlauf.de/
-
@cash sagte in Gesucht: Script: Sonnenwinkel berechnen?:
wofür kann man den denn stand des mondes gebrauchen?
Damit ich immer weiß in welche Richtung in schauen muss
-
Woher bekommst du denn die anderen Informationen wie Sonnenaufgang usw.?
-
@ofbeqnpolkkl6mby5e13 sagte in Gesucht: Script: Sonnenwinkel berechnen?:
Woher bekommst du denn die anderen Informationen wie Sonnenaufgang usw.?
Adapter: dasWetter