Sida 1 av 1

Openhab se Kwh per timme,dag,månad

Postat: 18 juni 2022, 13:31:07
av KristoferV
Hej

Använder Openhab tillsammans med min elmätare via P1 porten.

Allt funkar och jag kan se data och grafer i Openhabs ui.

Dock skulle jag vilja se Kwh per timme,dag,månad etc.

Nu måste jag själv räkna ut det själv.
Finns det nått script eller använder man regler?

Är inte så hemma på dehär
Screenshot_2022-06-18-13-19-48-921_org.openhab.habdroid.jpg
Screenshot_2022-06-18-13-20-22-310_org.openhab.habdroid.jpg

Re: Openhab se Kwh per timme,dag,månad

Postat: 28 juni 2022, 21:25:02
av Alvis95
Jag har samma problem, jag kan inte se datum och tid på väggklockan :? lyckades du lösa problemet på din sida som skulle hjälpa mig :)

Re: Openhab se Kwh per timme,dag,månad

Postat: 29 juni 2022, 08:05:26
av mrfrenzy
Absolut går det här att göra med Openhab, jag skriver lite övergripande hur man gör.

Se till att din elmätare med kWh har persistence och sparar en gång per minut.
Skapa en ny item som du kallar för effekt.
Gör en regel som kör en gång per minut och beräknar följande elmätare.deltaSince(now.minusMinutes(1)), spara summan i din item effekt.

Exakt formulering på kommandona finns i dokumentationen med lite olika exempel.

https://www.openhab.org/docs/configurat ... tence.html

Här är en liknande regel jag använt, postUpdate visar hur du sparar värden i en item, sista raden visar hur du använder kommandot deltaSince.

Kod: Markera allt

import org.joda.time.ZonedDateTime

rule "Update max and min temperatures"
when
        Item Smhi_Temperature_Now changed or
        Time cron "0 0 0 * * ?" or
        System started
then
        postUpdate(Weather_Temp_Max, Smhi_Temperature_Now.maximumSince(LocalDate.now().atStartOfDay()).state)
        postUpdate(Weather_Temp_Min, Smhi_Temperature_Now.minimumSince(LocalDate.now().atStartOfDay()).state)
        logInfo("Weather", "Temperature evolved of " + Smhi_Temperature_Now.deltaSince(now.minusMinutes(2)) + " degrees.")
end

Kommandot du önskar borde bli typ:
postUpdate(Effekt, elmätare.deltaSince(now.minusMinutes(1) ) )