Astronomie Modul

Hallo

Habe seit einigen Tagen probleme mit den timern.
Die Boolean Variable wird nicht mehr aktualsiert. False True für information ob Tag Nacht ist

Hat jemand das gleiche Problem? Hat jemand eine idee?

Hast Du denn irgendwas geändert seit dem es nicht mehr geht? Welche IP-Symcon Version nutzt Du denn?

Hello

Danke für deine Antwort nein eigentlich habe ich diesbezüglich nichts geändert.
Habe nur alle module geupdatet.

Habe IPS geupdatet um sicherzustellen dass es nicht daran lege.

Bin als auf 4.4 im moment

Gruss,

Hallo Fonzo,

ich habe mit einer älteren Version des Astronomy Moduls die oben genannte Funktion aufgerufen, um Skript gesteuert den hinterlegten Variablen Wert zu aktualisieren.

Das hat aus bisher immer funktioniert. Nach dem Update auf die aktuellste Version des Moduls funktioniert dies nicht mehr. Wenn ich das manuell mache (über Befehl testen in der Konsole), kommt folgende Fehlermeldung:

43397 ist die InstanzID des Timers.

Ich benutze IPS Version 4.4

Übersehe ich etwas?

Danke für die Unterstützung,
Georg

ich habe nur mal auf die Schnelle geschaut und rate auf’s Blaue:

in

public function WriteVariableValue()

scheint mir diese Zeile (#484) falsch zu sein

$this->SetValue('triggervariable', $varvalue);

sollte das nicht besser so heissen?


$ident = IPS_GetObject($triggervariable)['ObjectIdent'];
$this->SetValue($ident, $varvalue);

so wie ich das verstehe steht in $triggervariable die objectid der Variablen, die gesetzt werden soll.
ist völlig ungetestet, ich habe auch keinen AstronomyTimer im Einsatz.

gruß
christian

Vielen Dank fürs Nachforschen, das ist schon mal fast richtig. Da in dem Fall $triggervaribale aber die ObjektID ist und eine Ident erwartet wird geht das nicht. Aber ich habe es jetzt mal auf


SetValue($triggervariable, $varvalue);

abgeändert. Bringt das eine Besserung bzw. bleibt der Fehler jetzt aus?

ja, ist mir aufgefallen und ich hatte meinen Vorschlag angepasst.

Ich habe es nach euren Codeänderung Fonzo / Demel42 ausprobiert, es funktioniert wieder.

Besten Dank!

Gruß
Georg

Hallo,

das Modul lief bisher fehlerfrei, aber nach dem Update auf IP Symcon 5 funktioniert es leider nicht mehr.
Es wird folgende Fehlermeldung angezeigt:

MfG

Hallo,

ich setze den AstronomyTime zwar nicht ein, habe aber mal gerade einen neuen Timer angelegt und auslösen lasst (Sonnenaufgang + 245 Minuten => war 10:18).
Der Timer wurde ausgelöst und das Script aufgerufen. Insofern ist das m.E. kein generelles Problem.

An der monierten Stelle werden Variablen des Kernel-Moduls 'Location" abgegriffen.


$LocationID = IPS_GetInstanceListByModuleID("{45E97A63-F870-408A-B259-2933F7EABF74}")[0];
$isday = GetValue(IPS_GetObjectIDByIdent("IsDay", $LocationID));
$sunrise = GetValue(IPS_GetObjectIDByIdent("Sunrise", $LocationID))

echo "isday=$isday, sunrise=$sunrise";

Funktioniert das, wenn du die zwei Zeilen einfach mal als Script laufen lässt?

gruß
demel

Hallo,

nein, dabei gibt es auch einen Fehler.

Aber ich denk da ist etwas anderes nicht ok:
Parse error: syntax error, unexpected ‚echo‘ (T_ECHO) in /var/lib/symcon/scripts/19975.ips.php on line 7

Ansonst hatte bisher alles funktioniert, nur bei den Timern gab es Fehlermeldungen.

MfG

sorry, ich hatte den code so runtergetippt, da fehlt ein ; in der 3. Zeile, also so „in richtig“

$LocationID = IPS_GetInstanceListByModuleID("{45E97A63-F870-408A-B259-2933F7EABF74}")[0]; 
$isday = GetValue(IPS_GetObjectIDByIdent("IsDay", $LocationID)); 
$sunrise = GetValue(IPS_GetObjectIDByIdent("Sunrise", $LocationID));

echo "isday=$isday, sunrise=$sunrise";  

Das habe ich beim Testen auch übersehen, das es fehlte.

Warning:  Objekt mit Ident IsDay wurde nicht gefunden in /var/lib/symcon/scripts/19975.ips.php on line 4

Warning:  Variable #0 existiert nicht in /var/lib/symcon/scripts/19975.ips.php on line 4

Warning:  Objekt mit Ident Sunrise wurde nicht gefunden in /var/lib/symcon/scripts/19975.ips.php on line 5

Warning:  Variable #0 existiert nicht in /var/lib/symcon/scripts/19975.ips.php on line 5
isday=, sunrise=

Die Objekte sind verschwunden, auch unter dem Kern Instanzen sind sie nicht mehr.
Aktuell ist da nur noch geplante Anwesenheit / Abwesenheit.

MfG

in ‚Location‘ ist geplante Anwesenheit / Abwesenheit? Das gehört doch zum Kernel-Modul ‚Kalender‘.

So müsste es aussehen:

Wenn das so ist, ist es auch kein Wunder, wenn der AstronomyTimer nicht mehr geht.

Weis nicht genau, was man da machen kann. Hab mal irgendwo in der Doku gelesen, das Kernel-Module nicht gelöscht werden sollen, wenn man es doch tut, sind die nach einem Neustart wieder da. Aber das ist nur eine vage Erinnerung …

gruß
demel

Ein Neustart hat nicht geholfen.

Ich habe alles gelöscht, neu installiert, dann das BackUp eingespielt und die fehlenden Einträge sind wieder da.

isday=1, sunrise=1534133636

Danke und Gruß

Hallo zusammen,

ich bin absoluter Neuling auf dem gebiet IP Symcon. Ich habe es aber geschafft mir das Astronomie Modul zu installieren und auch meine Rollos Hoch und Runter mit dem Astronimie Timer zu Steuern.

Aber nun zu meiner Frage, ist es moöglich das ich das hoch und runter Fahren exakt nach den immer wieder aktualisierten Zeiten des Astronomie Moduls fahren lasse ?

vielen lieben dank
basti

Im Unterschied zu einem normalen zyklischen Timer in IP-Symcon, bei dem die Uhrzeit fest ist, wird ein Astronomie Timer täglich auf den am Tag gültigen Wert umgestellt. Also an sich sollte der Rollladen dann nach der eingestellten Zeit z.B. Sonnenaufgang + Offset fahren. Wenn es da Probleme geben sollte oder etwas unklar ist, dann beschreibe doch noch mal genauer was konkret als Problem auftritt.

Hey, vielen lieben Dank.

Also ein Problem tritt derzeit nicht auf. Ich habe in dem AstroModul eine Uhrzeit beim Sonnenaufgang und Untergang stehen, diese Uhrzeit ist aber nicht die Uhrzeit wo das script zum runter bzw hochfahren gestartet wird.

Ich habe nirgends ein Offset eingestellt. Bei dem Astromodul steht zb. Sonnenuntergang 17.22 und bei dem AstroTimer den ich gesetzt habe ist die Uhrzeit 17.03 angegeben.

Jetzt frage ich mich natürlich, wo kommt der Unterschied her und stellt sich beim AstroTimer die Uhrzeit auch um ? Und woran erkenne ich ob sie sich wirklich umstellt ?

Das ist merkwürdig, kannst Du vielleicht mal einen Screenshot vom dem Teil des Objektbaums und den Einstellungen des Astronomietimers machen? Das einzige was man bei einem Astronomietimer verstellen kann ich die genaue Art, also z.B. zivilie oder nautische Dämmerung bzw. Sonnenaufgang. Wenn das exakt eingestellt ist, sollte aber auch die Uhrzeit des Timers exakt mit der Sonnenaufgangszeit übereinstimmen.

Was hast Du wo genau angegeben bzw. ausgewählt? Wenn da weder Offset noch eine Grenzzeit gesetzt ist, sollte der Wert exakt mit dem Wert des Sonnenaufgangs übereinstimmen.

Das ist eine gute Frage wo der Unterschied her kommt ich kann das zur Zeit nicht nachvollziehen, aber vielleicht kann man ja mit Hilfe einen Screenshots von Dir der Sache auf den Grund gehen. Oder hat noch jemand anders das Problem?
Das erkennst Du daran, dass Du Dir heute z.B. die Uhrzeit merkst und dann morgen noch mal schaust, dann sollte der Timer einen anderen Wert anzeigen.

Hallo,

ich habe jetzt eben noch mal nachgeschaut, heute ist der unterschied plötzlich nur eine Minute, und ich glaube diese Minute ist wegen des runden der Sekunden auf eine volle Minute.
Vielen lieben dank nochmal für die Hilfe. Wo dann gestern die 20 Minuten her kamen kann ich mir nicht erklären ist aber ja zum glück nicht mehr der Fall.

Und verständnishalber nochmal, der Astro Timer holt sich täglich die neue Uhrzeit vom Astronomie Modul richtig ?