Wert zu einer bestimmten Zeit schreiben
-
- Beiträge: 158
- Registriert: 1. Mär 2019 09:13
- Wohnort: Untergruppenbach BaWü
Re: Wert zu einer bestimmten Zeit schreiben
in der PaperUI sind nicht immer alle Bindings vorhanden weis aber nicht obs da um offiziell oder nicht geht man kann die Jar Datei einfügen im Addonordner und dann erscheint es auch ín der PaperUI .
- peter-pan
- Beiträge: 2772
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: Wert zu einer bestimmten Zeit schreiben
Hallo Oliver, schau mal hier
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian
-
- Beiträge: 158
- Registriert: 1. Mär 2019 09:13
- Wohnort: Untergruppenbach BaWü
Re: Wert zu einer bestimmten Zeit schreiben
Es ist mir schon fast peinlich. Ich bekomms nicht hin, was hab ich gemacht die obere rule in VS Code kopiert und das Item vom Geschirrspüler PowerState on oben beim Dummy eingefügt zeigt dann on an dann die Zeilen mit remaining_... da wurde mein Item mit der Remaining Time eingefügt. aber ich sehe da noch kein Unterschied!peter-pan hat geschrieben: ↑29. Okt 2020 13:03 Also das mit dem Home Connection Binding fasziniert mich schon ein bisschen. Was für eine Spülmaschine hast du denn ?
Und natürlich hat mir das auch keine Ruhe gelassen, deshalb hier eine kleine Regel:und zwei String-Items dazu:Code: Alles auswählen
rule "Spuelmaschine Laufzeit" when Item Dummy_4 changed to ON or // Testschalter Item remaining_program_time_state changed then // var remainSeconds = 360 // als Ersatz für remaining_program_time_state var remainSeconds = (remaining_program_time_state.state as Number).intValue var vEndTime = now.plusSeconds(remainSeconds).toString("HH:mm:ss") var vRemainingTime = new DateTime(now.withTimeAtStartOfDay.plusSeconds(remainSeconds)).toString("HH:mm:ss") logInfo ("vRemainingTime", "vRemainingTime in Std:Min:Sek ist {} *** vEndTime {}", vRemainingTime, vEndTime) EndTime.postUpdate(vEndTime) RemainingTime.postUpdate(vRemainingTime) end
Code: Alles auswählen
String EndTime "EndZeit [%s Std/Min/Sek]" <dishwasher> String RemainingTime "Restlaufzeit [%s Std/Min/Sek]" <dishwasher>
Das geht sicherlich auch kürzer und besser.
Und so sieht das dann in meiner BasicUI aus( hab's einfach mal so reingesetzt):
spueler.jpg
aber bitte frag mich nicht nach HabPanel, da muss ich passen.![]()

- peter-pan
- Beiträge: 2772
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: Wert zu einer bestimmten Zeit schreiben
Du musst da eigentlich nichts einfügen, höchstens die Zeile mit dem Dummy-Item auskommentieren, oder ein solches anzulegen, um die Rule manuell(zum Testen) zu triggern.
.items
Das Item "PowerState" brauchst du eigentlich nicht, da die Rule normalerweise triggert, wenn sich die "Sekunden" ändern. Da aber deine Spülmaschine wahrscheinlich nicht an ist, triggert die Rule auch nicht (deshalb auch der Test-Schalter).
Die zwei String-Items hast du angelegt ? Wenn nicht, kannst du diese (....postUpdate...) in der Regel mal auskommentieren. Lege dann noch das Dummy-Item an und mache es sichtbar, damit du es schalten kannst um die Regel zu triggern. Es sollte dann zumindest die LogInfo
so, oder so ähnlich im Logger erscheinen. Probier's mal und gib dann wieder Bescheid. Wir kriegen das schon hin. 
Edit:
Grad fällt mir ein, dass das PowerState-Item auch gehen sollte (zumindest einmal, wenn du Geschirrspülmaschine anschaltest). Poste mal deine Regel und Schaue im Logger nach der Info.
.items
Code: Alles auswählen
Switch Dummy_4 "Testschalter Dummy4 [%s]"
Die zwei String-Items hast du angelegt ? Wenn nicht, kannst du diese (....postUpdate...) in der Regel mal auskommentieren. Lege dann noch das Dummy-Item an und mache es sichtbar, damit du es schalten kannst um die Regel zu triggern. Es sollte dann zumindest die LogInfo
Code: Alles auswählen
2020-10-29 12:19:41.910 [INFO ] [marthome.model.script.vRemainingTime] - vRemainingTime in Std:Min:Sek ist 00:03:54 *** vEndTime 12:23:35

Edit:
Grad fällt mir ein, dass das PowerState-Item auch gehen sollte (zumindest einmal, wenn du Geschirrspülmaschine anschaltest). Poste mal deine Regel und Schaue im Logger nach der Info.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian
-
- Beiträge: 158
- Registriert: 1. Mär 2019 09:13
- Wohnort: Untergruppenbach BaWü
Re: Wert zu einer bestimmten Zeit schreiben
Aber ich muss doch die Items da einfügen die angesprochen werden sollen damit die rule weis wo sie greifen soll. Einfügen war etwas falsch ausgedrückt eher getauscht

Melde mich später mal wenn kind im Bett und Frau weg.
Melde mich später mal wenn kind im Bett und Frau weg.
-
- Beiträge: 158
- Registriert: 1. Mär 2019 09:13
- Wohnort: Untergruppenbach BaWü
Re: Wert zu einer bestimmten Zeit schreiben
Code: Alles auswählen
rule "Spuelmaschine Laufzeit"
when
Item Geschirrspueler_PowerState changed to ON
Item Geschirrspueler_RemainingProgramTime changed
then
// var remainSeconds = 360 // als Ersatz für Geschirrspueler_RemainingProgramTime
var remainSeconds = (Geschirrspueler_RemainingProgramTime.state as Number).intValue
var vEndTime = now.plusSeconds(remainSeconds).toString("HH:mm:ss")
var vRemainingTime = new DateTime(now.withTimeAtStartOfDay.plusSeconds(remainSeconds)).toString("HH:mm:ss")
logInfo ("vRemainingTime", "vRemainingTime in Std:Min:Sek ist {} *** vEndTime {}", vRemainingTime, vEndTime)
EndTime.postUpdate(vEndTime)
RemainingTime.postUpdate(vRemainingTime)
end
Das String Item muss ja unter Items in VS Code eingefügt werden oder?
- peter-pan
- Beiträge: 2772
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: Wert zu einer bestimmten Zeit schreiben
Die Regel sollte eigentlich so funktionieren, wie du sie eingefügt hast.
Die beiden String-Items musst du aber noch anlegen, entweder über PaperUI, oder in einem Text-File, z.B.: "openHAB-conf/items/spueler.items". Um zu testen, kannst du die Regel etwas verkürzen und die beiden Items erst mal weglassen:
dann erhältst du nur die Log-Infos, wenn sich die Restzeit ändert.
Edit: Hab grad noch was bemerkt, nämlich das "or" zwischen den beiden Triggern
Die beiden String-Items musst du aber noch anlegen, entweder über PaperUI, oder in einem Text-File, z.B.: "openHAB-conf/items/spueler.items". Um zu testen, kannst du die Regel etwas verkürzen und die beiden Items erst mal weglassen:
Code: Alles auswählen
rule "Spuelmaschine Laufzeit"
when
Item Geschirrspueler_PowerState changed to ON or
Item Geschirrspueler_RemainingProgramTime changed
then
var remainSeconds = (Geschirrspueler_RemainingProgramTime.state as Number).intValue
var vEndTime = now.plusSeconds(remainSeconds).toString("HH:mm:ss")
var vRemainingTime = new DateTime(now.withTimeAtStartOfDay.plusSeconds(remainSeconds)).toString("HH:mm:ss")
logInfo ("vRemainingTime", "vRemainingTime in Std:Min:Sek ist {} *** vEndTime {}", vRemainingTime, vEndTime)
end
Edit: Hab grad noch was bemerkt, nämlich das "or" zwischen den beiden Triggern
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian
-
- Beiträge: 158
- Registriert: 1. Mär 2019 09:13
- Wohnort: Untergruppenbach BaWü
Re: Wert zu einer bestimmten Zeit schreiben
Bekomme nun immerhin den Text zwecks des rules im log allerdings wenn ich dann die Spülmaschine einschalte kommt
Code: Alles auswählen
2020-10-29 20:02:58.284 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'Spuelmaschine Laufzeit': The name 'RemainingTime' cannot be resolved to an item or type; line 12, column 3, length 13
- peter-pan
- Beiträge: 2772
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: Wert zu einer bestimmten Zeit schreiben
Ja, die Fehlermeldung besagt, dass du kein Item mit dem Namen RemainingTime angelegt hast.
Also jetzt verkürze mal schnell die Regel, indem du die zwei letzten Zeilen vor dem "end" herauslöschst oder auskommentierst. Dann sollte die Fehlermeldung nicht mehr kommen und die Berechnung im Logger angezeigt werden.
Also jetzt verkürze mal schnell die Regel, indem du die zwei letzten Zeilen vor dem "end" herauslöschst oder auskommentierst. Dann sollte die Fehlermeldung nicht mehr kommen und die Berechnung im Logger angezeigt werden.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian
-
- Beiträge: 158
- Registriert: 1. Mär 2019 09:13
- Wohnort: Untergruppenbach BaWü
Re: Wert zu einer bestimmten Zeit schreiben
Jetzt gehts !!! Danke bin glücklich aber jetzt muss ich einige Tage pausieren bin irgendwie richtig zermürbt der ganze Urlaub ging fast drauf mit dem neu installieren von OH .