ich möchte die Soll/Ist Temperaturen von allen Räumen in einer InfluxDB2 Datenbank speichern.
Ich verwende Openhab3 in einer Dockerinstanz im Raspberry Pi 4 (8GB, RPiOs 64 Bit).
Ich habe die Rules wie folgt erstellt:
temperature.rules
Code: Alles auswählen
rule "Temperatur Büro"
when
Item Ist_Temperatur_Buero received update
then
Ist_Temperatur_Buero.postUpdate(Ist_Temperatur_Buero.state)
Soll_Temperatur_Buero.postUpdate(Soll_Temperatur_Buero.state)
end
rule "Temperatur Kind Süd"
when
Item Ist_Temperatur_Kind_Sued received update
then
Ist_Temperatur_Kind_Sued.postUpdate(Ist_Temperatur_Kind_Sued.state)
Soll_Temperatur_Kind_Sued.postUpdate(Soll_Temperatur_Kind_Sued.state)
end
rule "Temperatur Kind Nord"
when
Item Ist_Temperatur_Kind_Nord received update
then
Ist_Temperatur_Kind_Nord.postUpdate(Ist_Temperatur_Kind_Nord.state)
Soll_Temperatur_Kind_Nord.postUpdate(Soll_Temperatur_Kind_Nord.state)
end
rule "Temperatur Bad OG"
when
Item Ist_Temperatur_Bad_OG received update
then
Ist_Temperatur_Bad_OG.postUpdate(Ist_Temperatur_Bad_OG.state)
Soll_Temperatur_Bad_OG.postUpdate(Soll_Temperatur_Bad_OG.state)
end
rule "Temperatur Schlafen"
when
Item Ist_Temperatur_Schlafen received update
then
Ist_Temperatur_Schlafen.postUpdate(Ist_Temperatur_Schlafen.state)
Soll_Temperatur_Schlafen.postUpdate(Soll_Temperatur_Schlafen.state)
end
rule "Temperatur Küche"
when
Item Ist_Temperatur_Kueche received update
then
Ist_Temperatur_Kueche.postUpdate(Ist_Temperatur_Kueche.state)
Soll_Temperatur_Kueche.postUpdate(Soll_Temperatur_Kueche.state)
end
rule "Temperatur Wohnzimmer"
when
Item Ist_Temperatur_Wohnzimmer received update
then
Ist_Temperatur_Wohnzimmer.postUpdate(Ist_Temperatur_Wohnzimmer.state)
Soll_Temperatur_Wohnzimmer.postUpdate(Soll_Temperatur_Wohnzimmer.state)
end
rule "Temperatur Arbeiten"
when
Item Ist_Temperatur_Arbeiten received update
then
Ist_Temperatur_Arbeiten.postUpdate(Ist_Temperatur_Arbeiten.state)
Soll_Temperatur_Arbeiten.postUpdate(Soll_Temperatur_Arbeiten.state)
end
rule "Temperatur Gäste-WC"
when
Item Ist_Temperatur_Gaeste_WC received update
then
Ist_Temperatur_Gaeste_WC.postUpdate(Ist_Temperatur_Gaeste_WC.state)
Soll_Temperatur_Gaeste_WC.postUpdate(Soll_Temperatur_Gaeste_WC.state)
end
rule "Temperatur Flur"
when
Item Ist_Temperatur_Flur received update
then
Ist_Temperatur_Flur.postUpdate(Ist_Temperatur_Flur.state)
Soll_Temperatur_Flur.postUpdate(Soll_Temperatur_Flur.state)
end
rule "Temperatur HWR"
when
Item Ist_Temperatur_HWR received update
then
Ist_Temperatur_HWR.postUpdate(Ist_Temperatur_HWR.state)
Soll_Temperatur_HWR.postUpdate(Soll_Temperatur_HWR.state)
end
Code: Alles auswählen
Strategies {
everyMinute : "0 * * * * ?"
everyHour : "0 0 * * * ?"
everyDay : "0 0 0 * * ?"
every2Minutes : "0 */2 * ? * *"
default=everyChange
}
Items {
HouseSumConsumption: strategy = everyMinute, restoreOnStartup
Stromzaehler_Verbrauch_Aktuell : strategy = everyMinute, restoreOnStartup
Stromzaehler_Verbrauch_Tag : strategy = everyMinute, restoreOnStartup
Ist_Temperatur_Buero : strategy = everyMinute, restoreOnStartup
Soll_Temperatur_Buero : strategy = everyMinute, restoreOnStartup
Ist_Temperatur_Kind_Sued : strategy = everyMinute, restoreOnStartup
Soll_Temperatur_Kind_Sued : strategy = everyMinute, restoreOnStartup
Ist_Temperatur_Kind_Nord : strategy = everyMinute, restoreOnStartup
Soll_Temperatur_Kind_Nord : strategy = everyMinute, restoreOnStartup
Ist_Temperatur_Bad_OG : strategy = everyMinute, restoreOnStartup
Soll_Temperatur_Bad_OG : strategy = everyMinute, restoreOnStartup
Ist_Temperatur_Schlafen : strategy = everyMinute, restoreOnStartup
Soll_Temperatur_Schlafen : strategy = everyMinute, restoreOnStartup
Ist_Temperatur_Kueche : strategy = everyMinute, restoreOnStartup
Soll_Temperatur_Kueche : strategy = everyMinute, restoreOnStartup
Ist_Temperatur_Wohnzimmer : strategy = everyMinute, restoreOnStartup
Soll_Temperatur_Wohnzimmer : strategy = everyMinute, restoreOnStartup
Ist_Temperatur_Arbeiten : strategy = everyMinute, restoreOnStartup
Soll_Temperatur_Arbeiten : strategy = everyMinute, restoreOnStartup
Ist_Temperatur_Gaeste_WC : strategy = everyMinute, restoreOnStartup
Soll_Temperatur_Gaeste_WC : strategy = everyMinute, restoreOnStartup
Ist_Temperatur_HWR : strategy = everyMinute, restoreOnStartup
Soll_Temperatur_HWR : strategy = everyMinute, restoreOnStartup
Ist_Temperatur_Flur : strategy = everyMinute, restoreOnStartup
Soll_Temperatur_Flur : strategy = everyMinute, restoreOnStartup
}
Nun habe ich das Gefühl, dass Openhab mit den Rules überfordert ist, denn der Container läuft mit tlw. 300% CPU Last (lt. Portainer Darstellung) Edit:
Wenn ich die Temperatur rule deaktiviere und die Einträge aus der persist Datei entferne, geht die CPU Last auf ca 7% zurück Was sagt ihr dazu?
Danke und Gruß
Julian