ich möchte ein Script alle x Minuten aufrufen. Dazu sind aber die Infos vom letzten Aufruf nötig, da ich diese für Berechnungen benötige.
Muss ich dafür im IPS jeweils (viele) Variablen anlegen oder gibt es eine Möglichkeit, diese als global zu deklarieren?
Bei PHP muss ich diese ja außerhalb der Prozedur deklarieren. Wie geht das hier?
Direkt mit PHP-Variablen gar nicht.
Da jedes Script für sich alleine läuft, und nach dem Durchlauf alles verworfen wird.
Umwege kannst du über eine IPS-Variable oder den Buffer der Register-Variable nutzen.
Eine reicht, wenn du deine Daten z.b. nach JSON konvertierst oder mit serialize wandelst.
Michael
Zyklisches schreiben von Daten in ein Script oder eine andere Datei solltest du bei der Symbox unterlassen.
Keine Ahnung wie der Flashspeicher das verträgt.
Michael
Letzteres wird nur im RAM gehalten.
Der Wert der IPS-Variable wird ‚nur‘ in den Settings regelmässig mit abgespeichert; welches IPS eh schon automatisch macht.
Oder ganz anders.
Du schreibst die Daten in ein MediaObject (Base64-codiert). Das bleibt werden der Laufzeit auch nur im RAM und wird nur beim Shutdown von IPS auf den Flash geschrieben.
Unter IPS4, auf der Symbox ? Gibt es da überhaupt eine SQLlite Erweiterung für PHP auf der Symbox ? Ich glaube nicht.
Außerdem ist dies auch bei Schreibzugriffen in die DB mit speichern auf dem Flash verbunden.
So out of the Box wird das vermutlich nicht funktionieren.
Michael
Guter Hinweis, ich habe gerade einen Test gemacht und in der Tat es fehlt die PHP PDO extension auf meinem RASPI. Damit wird es mit einem upgrade auf 4.0 erstmal nichts werden
@paresy wird es für die stable 4.0 eine PDO PHP extension geben ?
Da fällt mir ein Stein vom Herzen, damit kann ich den 4.0 upgrade wieder ins Auge fassen. Windows genügt mir, für den RASPI benötige ich die Extension nicht wirklich