NEWS
Astro sunrise funktioniert nicht
-
OK, alles klar, werde ich ausprobieren. Heute morgen hat es wieder mal geklappt mit dem Sonnenaufgang. Ich habe die Javascript-Instanz gestern neugestartet und dann nicht wieder angerührt.
-
Hallo Forum,
–---offtopic ON----
...mein erster Post hier, deshalb erstmal "Danke" für dieses schöne Stück Software! Ich habe seit einiger Zeit mit fhem, homematic, mqtt, arduino(s), etc... Erfahrung gesammelt. Da wir hier (Portugal) gerade groß renovieren, sah ich die Chance, mal neu anzufangen und meine Wahl fiel auf io.Broker.
----offtopic OFF-----
Auch bei mir hakt die astro-Funktion.
schedule({astro: "sunrise", shift: 0}, function () { setState("mqtt.0.garageduino.relais3"/*garageduino/relais3.aussenlicht*/, 'off'); sendTo("pushover", "send", { message: 'Sonnenaufgang!', sound: "bike" }); }); schedule({astro: "sunset", shift: 0}, function () { setState("mqtt.0.garageduino.relais3"/*garageduino/relais3.aussenlicht*/, 'on'); sendTo("pushover", "send", { message: 'Sonnenuntergang!', sound: "bike" }); });
…schaltet bei mir nicht (natürlich funktioniert es ohne astro...)
var sunset = getAstroDate("sunset"); var sunrise = getAstroDate("sunrise"); log("Sunset today at " + sunset.toLocaleTimeString()); log("Sunrise today at " + sunrise.toLocaleTimeString());
liefert bei mir brav
15:00:42.724 [info] javascript.0 Start javascript script.js.common.Skript1 15:00:42.724 [info] javascript.0 script.js.common.Skript1: Sunset today at 20:50:04 15:00:42.725 [info] javascript.0 script.js.common.Skript1: Sunrise today at 06:16:38 15:00:42.726 [info] javascript.0 script.js.common.Skript1: registered 0 subscriptions and 0 schedules
irgendweche Idee, was ich hier falsch mache?
Grüße,
mcmuller
-
Auf meinem Raspberry Pi funktioniert es zuverlässig.
schedule({astro: "sunrise", shift: 0}, function () { log('Sonnenaufgang'); }); schedule({astro: "sunset", shift: 0}, function () { log('Sonnenuntergang'); });
Log von gestern und heute:
2017-06-03 02:08:13.968 - [32minfo[39m: host.rpihm Delete log file iobroker.2017-05-27.log 2017-06-03 04:49:26.042 - [32minfo[39m: javascript.0 script.js.common.Test: Sonnenaufgang 2017-06-03 08:08:22.955 - [32minfo[39m: host.rpihm Update repository "fast-online" under "http://download.iobroker.net/sources-dist.json" 2017-06-03 20:08:22.958 - [32minfo[39m: host.rpihm Update repository "fast-online" under "http://download.iobroker.net/sources-dist.json" 2017-06-03 21:22:36.630 - [32minfo[39m: javascript.0 script.js.common.Test: Sonnenuntergang 2017-06-04 02:08:14.084 - [32minfo[39m: host.rpihm Delete log file iobroker.2017-05-28.log 2017-06-04 04:48:42.974 - [32minfo[39m: javascript.0 script.js.common.Test: Sonnenaufgang 2017-06-04 08:08:23.001 - [32minfo[39m: host.rpihm Update repository "fast-online" under "http://download.iobroker.net/sources-dist.json"
-
Hi there
Hast aber attitude/longtitude eingestellt ?
(Also Koordinaten bei Admin settings)
–-----------------------
Send from mobile device
-
-
ich hole das Thema nochmal hoch…
leider komme ich hier nicht wirklich weiter. Die Astro-Funktionen funktionieren genau 1 Mal nach dem Javascript-Adapter Neustart, dann nicht mehr. Da es ja bei Euch zu funktionieren scheint, muß der Fehler wohl an meiner Installation liegen. Ich habe das Raspberry-Image installiert und die Homematic, Javascript, MQTT, Pushover und SQL-Adapter zusätzlich aktiviert. Skripte habe ich erst in Blockly probiert, dann aber neu in Javascript angelegt.
Astro ist für mich wirklich wichtig, wäre schade, wenn ich deshalb wieder ein anderes System nutzen müßte.
Grüße,
mcmuller
-
Astro ist für mich wirklich wichtig, wäre schade, wenn ich deshalb wieder ein anderes System nutzen müßte. `
nix da du bleibst hier sonst kommt der @homoran mal bei dir vorbei 8-)
ehm so mal zum test, 2ten adapter installieren und astro darauf testen.
Dein script musst du dan auf die andere instance setzen (neben script 0 oder 1) 1 wird dan deine 2te instanz.
eventueel hat deine JS adapter doch ne macke, lass mal probieren ?
Workarround kan auch sein das skript einfach jeden tag an/aus zu machen (geht auch per script) das ist aber ein haesslicher hack und nicht was wir wollen.
~Dutch
-
@dutch
danke für den Tipp! Ich richte mal die zweite Java-Instanz ein und schaue mal, was da geht. Ich habe ein wenig meine Koordinaten in Verdacht, da ich mit Breite 37.2060 und Länge -8.5787 einen "negativen" Wert habe. Aber die TestSkripte werfen die richtigen Sonnenauf- und untergangswerte raus, also eher unwahrscheinlich.
Grüße,
mcmuller
-
Danke für Eure Kommentare!
@Dutchman Ja, Koordinaten sind korrekt eingestellt (siehe das "Probescript, was die richtigen Werte zurückliefert.) `
Hi,
Du schreibst das Du in den Admin-Einstellungen (Haupteinstellungen) die Koordinaten drinnen hast.
Hast Du die Koordinaten auch bei Deinen Javascript Instanzeinstellungen hinterlegt?
Dazu auch der Hinweis in der Javascript Doku auf Github:
> Note: to use "astro"-function the "latitude" and "longitude" must be defined in javascript adapter settings.
Gruß
Roland
-
@RoE19xx Guter Punkt, aber ja, habe ich in den Javascript-Instanzen hinterlegt.
-
@dutch …also, die zweite Instanz hat nichts s verändert. Erste Auslösung bei Sonnenuntergang war OK, danach, also bei Sonnenaufgang heute, wieder nix. Reloaded ich das Skript nach der ersten Auslösung, wird auch kein scheduler eingetragen. Nur ein Neustart der Instanz läßt die erneute, einmalige Ausführung zu. So sad....
Grüsse aus Portugal,
mcmuller
Gesendet von meinem Lenovo YT3-X90F mit Tapatalk
-
@dutch …also, die zweite Instanz hat nichts s verändert. Erste Auslösung bei Sonnenuntergang war OK, danach, also bei Sonnenaufgang heute, wieder nix. Reloaded ich das Skript nach der ersten Auslösung, wird auch kein scheduler eingetragen. Nur ein Neustart der Instanz läßt die erneute, einmalige Ausführung zu. So sad....
Grüsse aus Portugal,
mcmuller
Gesendet von meinem Lenovo YT3-X90F mit Tapatalk `
:shock:Dus sags script reload, was passiert wen du das script stop ==> start machst ?
Und du hast ihn auf die 2te instanz gelegt ?
~Dutch
-
Hi dutch,
bei "stop-start" kommt erwartungsgemäß:
10:05:40.192 [info] javascript.1 Stop script script.js.common.Aussenlicht 10:05:41.813 [info] javascript.1 Start javascript script.js.common.Aussenlicht 10:05:41.814 [info] javascript.1 script.js.common.Aussenlicht: registered 0 subscriptions and 2 schedules
…jetzt, da die astro-funktion heute nach dem Neustart noch nicht ausgelöst hat, kommt bei "reload" auch wieder :
10:07:46.930 [info] javascript.1 Stop script script.js.common.Aussenlicht 10:07:46.951 [info] javascript.0 Stop script script.js.common.Aussenlicht 10:07:47.022 [info] javascript.1 Start javascript script.js.common.Aussenlicht 10:07:47.023 [info] javascript.1 script.js.common.Aussenlicht: registered 0 subscriptions and 2 schedules
hier nochmal mein Skript, mit testweise auskommentiertem MQTT-Schalter:
schedule({astro: "sunrise", shift: 0}, function () { /* setState("mqtt.0.garageduino.relais3", 'off');*/ sendTo("pushover", "send", { message: 'Sonnenaufgang!', sound: "bike" }); }); schedule({astro: "sunset", shift: 0}, function () { /* setState("mqtt.0.garageduino.relais3", 'on');*/ sendTo("pushover", "send", { message: 'Sonnenuntergang!', sound: "bike" }); });
-
ok also:
-
astro geht nicht, nur bei einmaligen script start
-
scripte sind OK
-
2te instanz hilft nicht
Dan muss wirklich jemand mit mehr ahnung als mir ran um das zu loesen, ich habe aber einen workarround fuer dich!
Unter objecten steht der javascript adapter, jedes script kannst du da (switch.active) ein oder ausschalten.
Da ein aus-ein des scripts das problem temporaer loest, koenntest du ein cron shedule macher der alle x minuten/stunden oder 1-2 mal am tag dein script neu startet.
Mache dan aber eien time-out von (z.b. 30 sekunden) zwischen wert auf false und dan 30 sec spaeter wieder true.
Damit sollte das script aus-ein geschaltet werden
ISt niccht die besste loescung, aber evenutel fuer jetzt mal ein brauchbare workarround ?
~Dutch
-