IPS_SetUpdateTime

Hallo,

Da ich einige Variabeln von extern nach IPS einlese wäre eine Funktion IPS_SetUpdateTime praktisch.

Gruss

hightower

extern einlesen?

Sobald du den SetValue* Befehl ausführst wird die UpdateTime entsprechend gesetzt.

paresy

Ja, ich lese z.B. stündlich Wassertemperaturen ab dem Internet ein. Die Quelle liefert dabei die Messzeit mit und ich möchte die UpdateTime auf diese anpassen.

hightower

Nein. GetUpdateTime ist dafür da um herauszufinden, wann die Variable in IPS gesetzt wurde. Für dein Vorhaben müsstest du eine extra Variable dafür anlegen.

paresy

Ich bin nicht ganz sicher ob wir uns verstanden haben. Die IPS_GetUpdateTime Funktion kenne ich, denn ich verwende diese um den Zeitpunkt für den Messwert in die MySQL-DB abzuspeichern.

Nun ist mein Problem, dass die im Internet publizierten Wassertemperaturen unregelmässig aktualisiert werden. Deshalb frage ich die Seite alle 6 Stunden ab. Es kommt jedoch vor, dass wenn ich die Temperatur heute um 12 Uhr abfrage, immer noch die von gestern um 21 Uhr publiziert ist. Damit in IPS als UpdateTime „gestern um 21 Uhr“ und nicht der letzte Aktualisierungszeitpunkt (z.B. Mitternacht) steht, wollte ich fragen, ob man in IPS eine neue Funktion IPS_SetUpdateTime implementieren könnte?

Ansonsten müsste ich dies ev. direkt in der XML-Datei vornehmen.

Gruss

hightower

Du kannst doch die Aktualisierungszeit aus dem HTML-code rausziehen und in eine neue Variable schreiben, die dann die „UpdateTime“ enthält. Gibt halt noch zusätzliche Variablen.

Ich würde auch eine zweite Variable dafür nehmen, und die Updatezeit die im Internet angegeben ist da rein schreiben.

Somit sieht man am Value der Variable wann das Internet zuletzt vom Anbieter upgedated wurde und an der Updatezeit der Variable, wenn das letzte mal im Internet „nachgeschaut“ wurde.

Gruß Philipp

Wenn du wirklich keine zweite Variable benutzen willst gibt es immernoch die Möglichkeit einen String zu schreiben, der in Etwa so ausschauen könnte:

25.05.07 12:40:32|15.7 C

Auf diese Weise hättest du alles zusammen. Aber Achtung: sowohl die Routine zum Erstellen und die zum Auslesen sollte failsave arbeiten. Also ist eine saubere Implementation oberstes Gebot.

Toni

Das mit der zweiten Variable hatte ich bisher. Ich suche nach einer Lösung, die z.B. für alle Temperatursensoren (also FHT, FS10 oder Internet) genau gleich funktioniert. Und da es mir zu umständlich ist, für jeden Sensor eine Variable mit dem Zeitpunkt zu führen, kam ich halt auf die Idee mit der Funktion SetUpdateTime. Ich werde mal die XML-Lösung anschauen.

Gruss

hightower