Hallo zusammen,
ich frage mich wie ich Initialisierungswerte speichern bzw zuverlässig beim Systemstart lesen kann und werde noch von der Vielzahl an Persistenzmöglichkeiten erschlagen.
Am liebsten wäre mir ein Datei bestehend aus nur beispielsweise 2 Zeilen welche sich in der Größe nicht ändert (also nicht einfach n Logfile, welches den letzten Wert bei Änderung unter die anderen schreibt), sondern nur den entsprechenden Eintrag bei Änderung.
startwerte.irgendwas:
Nasepopeln=OFF
Wassertemperatur_Soll=6.5
Zu allem Überfluss soll eine Änderung, welche beispielsweise mit einem Setpoint-Objekt vorgenommen wird nicht jedesmal speichern wenn ich einen Step gemacht habe, sondern erst nach beispielsweise 5 Sekunden (also nachdem der gewünschte Wert eingestellt ist - eventuell mit nem Timer n exec?).
Diese Werte sollen dann beim Systemstart eingelesen werden. An diesem Punkt schließt eine weitere Frage an (soll ich einen anderes Topic machen? - Nein das ist nicht die Frage
)
Da die Regeln und die Persitenzen wohl gleichzeitig beim Systemstart geladen werden (wie ich herausgelesen habe) und es dabei dazu kommen kann, daß Werte undefiniert sein können wenn die Persitenz hinterherhinkt gibt es wohl Möglichkeiten eben diese erst abzuwarten. Ungern aber möchte ich ein Flag setzen und es an allen möglichen Stellen erst abfragen.
(zB:
rule "Init virtual Items"
when
System started
then
if (Wassertemperatur_Setpoint.state == Uninitialized) {
Wassertemperatur_Setpoint.postUpdate(0.0)
//----------------- hier vielleicht eine Wartezeit irgendwie einbauen?
//----------------- oder mit exec einen Wert durch ein Script einlesen?
//----------------- hat REST was damit zu tun? (noch keine Ahnung wie das das geht und wofür genau das gut ist)
}
end
und dann überall if(Wassertemperatur_Setpoint>0) abfragen
)
Wenn ich einen Persistenzdienst verwenden soll (ich nehme an dann mir restoreOnStartup), welcher wäre dafür am besten geeignet? Wie gesagt, die Vielzahl verwirrt mich noch, da ich erst seit 3 Tagen dabei bin und kein IT-Profi. Bitte um Nachsicht
Beste Grüße
Heiko
ich frage mich wie ich Initialisierungswerte speichern bzw zuverlässig beim Systemstart lesen kann und werde noch von der Vielzahl an Persistenzmöglichkeiten erschlagen.
Am liebsten wäre mir ein Datei bestehend aus nur beispielsweise 2 Zeilen welche sich in der Größe nicht ändert (also nicht einfach n Logfile, welches den letzten Wert bei Änderung unter die anderen schreibt), sondern nur den entsprechenden Eintrag bei Änderung.
startwerte.irgendwas:
Nasepopeln=OFF
Wassertemperatur_Soll=6.5
Zu allem Überfluss soll eine Änderung, welche beispielsweise mit einem Setpoint-Objekt vorgenommen wird nicht jedesmal speichern wenn ich einen Step gemacht habe, sondern erst nach beispielsweise 5 Sekunden (also nachdem der gewünschte Wert eingestellt ist - eventuell mit nem Timer n exec?).
Diese Werte sollen dann beim Systemstart eingelesen werden. An diesem Punkt schließt eine weitere Frage an (soll ich einen anderes Topic machen? - Nein das ist nicht die Frage

Da die Regeln und die Persitenzen wohl gleichzeitig beim Systemstart geladen werden (wie ich herausgelesen habe) und es dabei dazu kommen kann, daß Werte undefiniert sein können wenn die Persitenz hinterherhinkt gibt es wohl Möglichkeiten eben diese erst abzuwarten. Ungern aber möchte ich ein Flag setzen und es an allen möglichen Stellen erst abfragen.
(zB:
rule "Init virtual Items"
when
System started
then
if (Wassertemperatur_Setpoint.state == Uninitialized) {
Wassertemperatur_Setpoint.postUpdate(0.0)
//----------------- hier vielleicht eine Wartezeit irgendwie einbauen?
//----------------- oder mit exec einen Wert durch ein Script einlesen?
//----------------- hat REST was damit zu tun? (noch keine Ahnung wie das das geht und wofür genau das gut ist)
}
end
und dann überall if(Wassertemperatur_Setpoint>0) abfragen
)
Wenn ich einen Persistenzdienst verwenden soll (ich nehme an dann mir restoreOnStartup), welcher wäre dafür am besten geeignet? Wie gesagt, die Vielzahl verwirrt mich noch, da ich erst seit 3 Tagen dabei bin und kein IT-Profi. Bitte um Nachsicht

Beste Grüße
Heiko
Kommentar