Daten bei Systemstart widerherstellen

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Nasryn
Beiträge: 11
Registriert: 24. Aug 2019 19:23

Daten bei Systemstart widerherstellen

Beitrag von Nasryn »

Hallo,
Ich habe gelesen, dass ich, sofern ich meine Persitence (Influxdb) eingerichtet habe, mit einer passenden Strategie alle gespeicherten Werte beim Systemstart wiederherstellen kann.

Ich will das wie folgt machen -> * : strategy = restoreOnRestart

Ist dies so möglich? Denn in Openhab steht das "restoreOnRestart" vordefiniert ist oder benötige ich dafür eine Rule und muss alle Variablen manuell updaten?

Benutzeravatar
sihui
Beiträge: 1827
Registriert: 11. Apr 2018 19:03
Answers: 21

Re: Daten bei Systemstart widerherstellen

Beitrag von sihui »

Nasryn hat geschrieben: 4. Okt 2019 17:08 Ich will das wie folgt machen -> * : strategy = restoreOnRestart
Am Besten einfach in die Doku schauen:

https://www.openhab.org/docs/configurat ... on-restart

Du kannst entweder jedes einzelne Item auflisten, oder ein Sternchen (*) für jedes Item oder du fügst jedem Item eine Gruppe hinzu und lässt diese dann persistieren mit anschließendem restoreOnStartup.
Die Variante mit der Gruppe ist normalerweise die sinnvollste Variante:

Code: Alles auswählen

Group gRestore
Switch deinItem (gRestore) { channel= ...} 

Code: Alles auswählen

Items { 
gRestore* : strategy = everyChange, restoreOnStartup
}
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.

Benutzeravatar
udo1toni
Beiträge: 13864
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Daten bei Systemstart widerherstellen

Beitrag von udo1toni »

Die Strategie heißt restoreOnStartup. influxdb ist nicht so besonders gut, um alle Items bei Systemstart zu laden, dazu ist mapdb wesentlich besser geeignet.
openHAB kann mit mehreren Persistence Services gleichzeitig arbeiten, und zwar ohne jegliche Einschränkungen - vielleicht abgesehen von das Tatsache, dass man die Persistence in Rules und Sitemaps explizit angeben muss, sofern es sich nicht um die default Persistence handelt.

Aber auch, einfach alle Items pauschal auf den Status vor dem Shutdown zu setzen, ist nicht zu empfehlen. Etliche Addons laden beim Start automatisch aktuelle Status, es ist durchaus möglich, dass die Persistence erst nach dem Addon geladen wird, dann würde der aktuelle Status durch einen alten ersetzt.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

eiGelbGeek
Beiträge: 226
Registriert: 11. Aug 2019 06:39
Answers: 4

Re: Daten bei Systemstart widerherstellen

Beitrag von eiGelbGeek »

Nasryn hat geschrieben: 4. Okt 2019 17:08 Hallo,
Ich habe gelesen, dass ich, sofern ich meine Persitence (Influxdb) eingerichtet habe, mit einer passenden Strategie alle gespeicherten Werte beim Systemstart wiederherstellen kann.

Ich will das wie folgt machen -> * : strategy = restoreOnRestart

Ist dies so möglich? Denn in Openhab steht das "restoreOnRestart" vordefiniert ist oder benötige ich dafür eine Rule und muss alle Variablen manuell updaten?
Ja ... aber eine influxDB ist völlig overdressed für nur restoreOnStartup....

influxDB ist eine mächtige Datenbank und wird benutzt wenn man z.b. die Temperatur in einen Grafenverlauf darstellen will mit z.b. Grafana :mrgreen:

Für einen einfachen restoreOnStartup solltest dir folgendes anschauen.

https://www.openhab.org/addons/persistence/mapdb/

eiGelbGeek
Beiträge: 226
Registriert: 11. Aug 2019 06:39
Answers: 4

Re: Daten bei Systemstart widerherstellen

Beitrag von eiGelbGeek »

udo1toni hat geschrieben: 4. Okt 2019 19:19 openHAB kann mit mehreren Persistence Services gleichzeitig arbeiten, und zwar ohne jegliche Einschränkungen - vielleicht abgesehen von das Tatsache, dass man die Persistence in Rules und Sitemaps explizit angeben muss, sofern es sich nicht um die default Persistence handelt.
Hast du dafür mal eine Bespiel Zeile ... wie man die Persistence in Rules und Sitemaps angibt ... arbeite derzeit nur mit influx und laufe hin und wider in der Problematic das die DB noch nicht geladen ist ;-)

Benutzeravatar
sihui
Beiträge: 1827
Registriert: 11. Apr 2018 19:03
Answers: 21

Re: Daten bei Systemstart widerherstellen

Beitrag von sihui »

eiGelbGeek hat geschrieben: 5. Okt 2019 03:38 wie man die Persistence in Rules und Sitemaps angibt

https://community.openhab.org/t/average ... /2?u=sihui

Code: Alles auswählen

Foo.lastUpdate("rrd4j")
Foo.averageSince("MySQL")
Foo.averageSince(now.minusMinutes(5), “rrd4j”)
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.

eiGelbGeek
Beiträge: 226
Registriert: 11. Aug 2019 06:39
Answers: 4

Re: Daten bei Systemstart widerherstellen

Beitrag von eiGelbGeek »

sihui hat geschrieben: 5. Okt 2019 08:51
eiGelbGeek hat geschrieben: 5. Okt 2019 03:38 wie man die Persistence in Rules und Sitemaps angibt

https://community.openhab.org/t/average ... /2?u=sihui

Code: Alles auswählen

Foo.lastUpdate("rrd4j")
Foo.averageSince("MySQL")
Foo.averageSince(now.minusMinutes(5), “rrd4j”)
Danke :)

Also müsste ich es nur so ändern... sonst nirgend oder? Natürlich müssen beide DBs installiert und konfiguriert sein ;-)

Code: Alles auswählen

//###################//
//Variablen für Rules//
//###################//

val Number MODE_OFF = 0
val Number MODE_STANDBY = 1
val Number MODE_ACTIVE = 2
val Number MODE_FINISHED = 3
val Number MODE_CREASE_PROTECTION = 4

var Number Trockner_Counter = 0

//#########################################################################//
//Trockner Status anhand des aktuellen Stromverbrauches setzen             //
//Wenn Status Fertig, dann Telegram senden und Sprachausgabe Funkgong + LED//
//#########################################################################//

rule "Trockner Status"
when
    Item Steckdose_Trockner_Power changed
then
  if (Steckdose_Trockner_Power.state < 1) Trockner_Status.postUpdate(MODE_OFF)
  if (Steckdose_Trockner_Power.state > 100 && Trockner_Status.state != (MODE_CREASE_PROTECTION) && Trockner_Status.state != (MODE_FINISHED) || Steckdose_Trockner_Power.state > 500){
    Trockner_Status.postUpdate(MODE_ACTIVE)
  }
  if (Trockner_Status.state == (MODE_ACTIVE) && Steckdose_Trockner_Power.state < 2){
    Trockner_Counter = Trockner_Counter + 1
  }
  if (Steckdose_Trockner_Power.state > 1 && Steckdose_Trockner_Power.averageSince(now.minusMinutes(2), "influxdb") < 2) {
    if (Trockner_Status.state == MODE_OFF) Trockner_Status.postUpdate(MODE_STANDBY)
  }
  if (Trockner_Counter > 12){
    if (Trockner_Status.state == MODE_ACTIVE){
      Trockner_Counter = 0
      Trockner_Status.postUpdate(MODE_CREASE_PROTECTION)
    }
  }
  if (Steckdose_Trockner_Power.averageSince(now.minusMinutes(30), "influxdb") < 150){
    if (Trockner_Status.state == (MODE_CREASE_PROTECTION)) Trockner_Status.postUpdate(MODE_FINISHED)
  }
end

Benutzeravatar
sihui
Beiträge: 1827
Registriert: 11. Apr 2018 19:03
Answers: 21

Re: Daten bei Systemstart widerherstellen

Beitrag von sihui »

eiGelbGeek hat geschrieben: 7. Okt 2019 17:35 Also müsste ich es nur so ändern... sonst nirgend oder?
Ja, müsste passen.
Deine Frage impliziert allerdings das es so bei dir wohl nicht funktioniert ...
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.

eiGelbGeek
Beiträge: 226
Registriert: 11. Aug 2019 06:39
Answers: 4

Re: Daten bei Systemstart widerherstellen

Beitrag von eiGelbGeek »

sihui hat geschrieben: 8. Okt 2019 06:58
eiGelbGeek hat geschrieben: 7. Okt 2019 17:35 Also müsste ich es nur so ändern... sonst nirgend oder?
Ja, müsste passen.
Deine Frage impliziert allerdings das es so bei dir wohl nicht funktioniert ...
Scheint zu gehen ... hatte zu der Zeit als ich es geändert habe keine Wäsche zu waschen :mrgreen:

Benutzeravatar
sihui
Beiträge: 1827
Registriert: 11. Apr 2018 19:03
Answers: 21

Re: Daten bei Systemstart widerherstellen

Beitrag von sihui »

eiGelbGeek hat geschrieben: 11. Okt 2019 18:00 ... hatte zu der Zeit als ich es geändert habe keine Wäsche zu waschen :mrgreen:
Dann musst du dich bei dem Regenwetter mal öfter in die Pfützen legen :D
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.

Antworten