OpenHAB Item Zustand
- scotty
- Beiträge: 676
- Registriert: 28. Apr 2020 04:44
OpenHAB Item Zustand
Weiß jemand, wie man den Item-Zustand von "NULL" auf ""Off" per Regel ändert?
OH 3.4.5 im Docker auf Synology DS918+ mit USV, Reolink-RLC-511WA, Philips Hue, AVM Fritz!Box 6591C, Alexa, Logitech Harmony und diversen Shelly's
- PeterA
- Beiträge: 1106
- Registriert: 8. Feb 2019 12:12
Re: OpenHAB Item Zustand
Hi,
Den Status eines Items kann man mit "postUpdate" manipulieren
Gruß
Peter
Den Status eines Items kann man mit "postUpdate" manipulieren
Gruß
Peter
- OpenHab 2.4
#PWRUP
#PWRUP
- scotty
- Beiträge: 676
- Registriert: 28. Apr 2020 04:44
Re: OpenHAB Item Zustand
So eventuell?
oder so
Muss dafür eine gesonderte Regel erstellt werden oder kann der Befehl als Abschluss einer vorhandenen verwendet werden bzw. wird die Änderung im Widget sofort angezeigt?
Code: Alles auswählen
Item.postUpdate("Off")
Code: Alles auswählen
postUpdate(Item, Off)
OH 3.4.5 im Docker auf Synology DS918+ mit USV, Reolink-RLC-511WA, Philips Hue, AVM Fritz!Box 6591C, Alexa, Logitech Harmony und diversen Shelly's
- PeterA
- Beiträge: 1106
- Registriert: 8. Feb 2019 12:12
Re: OpenHAB Item Zustand
So:
Und das kannst Du überall im ausführenden Teil einer Rule verwenden.
Gruß
Peter
Code: Alles auswählen
ItemName.postUpdate(ON)
Gruß
Peter
- OpenHab 2.4
#PWRUP
#PWRUP
- scotty
- Beiträge: 676
- Registriert: 28. Apr 2020 04:44
Re: OpenHAB Item Zustand
Funktioniert super, vielen Dank!
OH 3.4.5 im Docker auf Synology DS918+ mit USV, Reolink-RLC-511WA, Philips Hue, AVM Fritz!Box 6591C, Alexa, Logitech Harmony und diversen Shelly's
-
- Beiträge: 226
- Registriert: 11. Aug 2019 06:39
Re: OpenHAB Item Zustand
Wann genau willst du den Zustand "manipulieren"? Geht es vielleicht dadrum den alten Zustand nach Reboot wieder zu bekommen? Wenn ja dann solltest mapDB mal anschauen 

- scotty
- Beiträge: 676
- Registriert: 28. Apr 2020 04:44
Re: OpenHAB Item Zustand
Klingt interessant, arbeitest du damit? Für mich als Neueinsteiger jedoch wieder eine Hürde. In der Doku habe ich etwas von Troubleshooting gelesen. Hast du denn noch mehr Infos zu mapDB?
OH 3.4.5 im Docker auf Synology DS918+ mit USV, Reolink-RLC-511WA, Philips Hue, AVM Fritz!Box 6591C, Alexa, Logitech Harmony und diversen Shelly's
- KellerK1nd
- Beiträge: 432
- Registriert: 17. Jun 2019 16:45
- Wohnort: Griesheim
Re: OpenHAB Item Zustand
MapDB ist nun wirklich keine Hürde. Einmal die Persistenz in der PaperUI installieren und anschließend in der PaperUI bei den Systemsettings die Standardpersistenz auf MapDB einstellen. Ich bin auch dazu übergegangen die rules beim Systemstart verzögert zu laden. Damit habe alle Items Zeit ihren Status zu laden. Gut der Systemstart dauert länger, aber dafür hat man dieses „Problem“ nicht mehr.
Betriebssystem: Proxmox 7.3-4
openHAB Container: debian11 LXC
openHAB Version: 3.4
Hardware: HomeServer Eigenbau mit einem Intel i5 9600K
Smarthome-Equipment:
- Rasperrymatic
- deConz
- HUE
- Shellys
- Mosquitto
- AVM Fritz!Box
openHAB Container: debian11 LXC
openHAB Version: 3.4
Hardware: HomeServer Eigenbau mit einem Intel i5 9600K
Smarthome-Equipment:
- Rasperrymatic
- deConz
- HUE
- Shellys
- Mosquitto
- AVM Fritz!Box
- udo1toni
- Beiträge: 15249
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
OpenHAB Item Zustand
Also, „dieses Problem“ ist ja mal etwas unspezifisch...
Grundsätzlich sollte man genau schauen, welche Items man in Betrieb hat, mit welchen Bindings sie verbunden sind usw.
Ich habe z.B. knx in Betrieb. Wenn man das korrekt konfiguriert, lädt es beim Start von openHAB alle Status direkt vom Bus (natürlich muss man dafür sorgen, dass die Status auch zur Verfügung stehen). Warum sollte ich diese Status also aus einer Datenbank laden, die eventuell überholte Status zur Verfügung stellt?
Gleiches gilt für Wetter-Items, Uhrzeit, Astro usw.
Man sollte also genau schauen, welche Items nach dem Start von openHAB im NULL-Status hängen bleiben, weil das entsprechende Binding keine Daten liefert. Entweder, man nutzt dann gezielt eine Rule, die per System started triggert und dafür sorgt, dass die Items mit den korrekten Status gefüllt werden, oder man holt sich die letzten bekannten Status nur für diese Items aus einer Persistence.
Für diese (und nur für diese) Aufgabe bietet sich mapdb an, weil es ausschließlich den letzten Status zur Verfügung stellt. Am besten erstellt man dann ein Group Item gROS (für groupRestoreOnStartup) und weist jedem der Items, die wiederhergestellt werden sollen, zusätzlich diese Gruppe zu.
Dann installiert man noch die mapdb Persistence und legt im Ordner $OPENHAB_CONF/persistence/ eine Datei mapdb.persist an. In dieser Datei definiert man lediglich folgendes:
Dies sorgt dafür, dass jede Änderung eines Items, welches der Gruppe gROS angehört, in mapdb gespeichert wird. Weiterhin wird der Status dieser Items beim Systemstart aus der mapdb Persistence wiederhergestellt. Ein Setzen der default Persistence ist dazu nicht notwendig!
Prinzipiell kann man auch mit einem einfachen Stern alle Items wiederherstellen lassen, aber das ist (habe ich ja schon erläutert) keine gute Idee.
Gesendet von iPad mit Tapatalk
Grundsätzlich sollte man genau schauen, welche Items man in Betrieb hat, mit welchen Bindings sie verbunden sind usw.
Ich habe z.B. knx in Betrieb. Wenn man das korrekt konfiguriert, lädt es beim Start von openHAB alle Status direkt vom Bus (natürlich muss man dafür sorgen, dass die Status auch zur Verfügung stehen). Warum sollte ich diese Status also aus einer Datenbank laden, die eventuell überholte Status zur Verfügung stellt?
Gleiches gilt für Wetter-Items, Uhrzeit, Astro usw.
Man sollte also genau schauen, welche Items nach dem Start von openHAB im NULL-Status hängen bleiben, weil das entsprechende Binding keine Daten liefert. Entweder, man nutzt dann gezielt eine Rule, die per System started triggert und dafür sorgt, dass die Items mit den korrekten Status gefüllt werden, oder man holt sich die letzten bekannten Status nur für diese Items aus einer Persistence.
Für diese (und nur für diese) Aufgabe bietet sich mapdb an, weil es ausschließlich den letzten Status zur Verfügung stellt. Am besten erstellt man dann ein Group Item gROS (für groupRestoreOnStartup) und weist jedem der Items, die wiederhergestellt werden sollen, zusätzlich diese Gruppe zu.
Dann installiert man noch die mapdb Persistence und legt im Ordner $OPENHAB_CONF/persistence/ eine Datei mapdb.persist an. In dieser Datei definiert man lediglich folgendes:
Code: Alles auswählen
Items {
gROS* : strategy = everyChange,restoreOnStartup
}
Dies sorgt dafür, dass jede Änderung eines Items, welches der Gruppe gROS angehört, in mapdb gespeichert wird. Weiterhin wird der Status dieser Items beim Systemstart aus der mapdb Persistence wiederhergestellt. Ein Setzen der default Persistence ist dazu nicht notwendig!
Prinzipiell kann man auch mit einem einfachen Stern alle Items wiederherstellen lassen, aber das ist (habe ich ja schon erläutert) keine gute Idee.
Gesendet von iPad mit Tapatalk
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
- scotty
- Beiträge: 676
- Registriert: 28. Apr 2020 04:44
Re: OpenHAB Item Zustand
Habe die Anleitung von @udo1toni befolgt. Beim Zuweisen der Items zur Group gROS gibt es gleich ein Problem. Das Item "Flag_SystemNeu" ist ein Dummy und wird scheinbar nicht akzeptiert (extraneous input 'Flag_SystemNeu' expecting EOF(org.eclipse.xtext.diagnostics.Diagnostic.Syntax)). Gibt es dafür eine Lösung?


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
OH 3.4.5 im Docker auf Synology DS918+ mit USV, Reolink-RLC-511WA, Philips Hue, AVM Fritz!Box 6591C, Alexa, Logitech Harmony und diversen Shelly's