Ja, Tippfehler...
Code: Alles auswählen
val nEURkwh = 0.128 //€/KwhCode: Alles auswählen
val nFaktor = nEnergie * nEURKwhCode: Alles auswählen
The method or field nEURKwh is undefined; line 7, column 237, length 7Warum Pfad? Was für ein Pfad? Du nutzt die Persistence. Man kann pro Persistence Addon immer nur eine Persistence betreiben, somit kennt openHAB alle notwendigen Daten (IP des Datenbank-Servers, User, Passwort, Datenbank und - am wichtigsten - die Zuordnung der Items zu den Datenbanktabellen). Falls Du mehrere Persistences verwendest, und die jdbc Datenbank nicht die default Datenbank ist, schreibst Du jeweils noch die Persistence mit dazu:harasch hat geschrieben: 10. Apr 2024 09:15 Ich habe eine jdbc Persistence, die funktioniert auch. Nur wie teile ich der Rule den Pfad mit.
Code: Alles auswählen
val dtMitternacht = now.with(LocalTime.MIDNIGHT)
val dtWochenstart = dtMitternacht.minusDays(dtMitternacht.getDayOfWeek.getValue - 1) // Montag = 1, Sonntag = 7
val dtMonatsanfang = dtMitternacht.withDayOfMonth(1)
val nVerbrauchHeute = Gaszaehler_Stand.deltaSince(dtMitternacht, "jdbc")
val nVerbrauchWoche = Gaszaehler_Stand.deltaSince(dtWochenstart, "jdbc")
val nVerbrauchMonat = Gaszaehler_Stand.deltaSince(dtMonatsanfang, "jdbc")
Wenn Du das korrekte Äquivalent verwendest, funktioniert es auch:harasch hat geschrieben: 10. Apr 2024 09:15 Ich hatte das auch schon mal mit der guten Methode versucht. Es gelang mir aber nicht die Rule zum laufen zu bringen.
Code: Alles auswählen
Gaszaehler_Gestern.postUpdate(Gaszaehler_Heute.state.toString)
Gaszaehler_Heute.postUpdate(0)
Gaskosten_Gestern.postUpdate(Gaskosten_Heute.state.toString)
Gaskosten_Heute.postUpdate(0)
Gas_Gestern.postUpdate(Gas_Heute.state.toString)
Gas_Heute.postUpdate(0)
Wie gesagt wäre mein Tipp, die Werte sauber auszurechnen und jeweils für die Anzeige bereitzustellen, statt die berechneten Werte einzeln aufzuaddieren. Der einzige Wert, den Du aufaddierst, ist der Zählerstand (aufgrund des Impulses, den der Kontakt am Zähler liefert). Alle anderen Werte ergeben sich aus dem Zählerstand und einem historischen Zählerstand, den Du aus der Persistence auslesen kannst.