Asystent AI
Powiadomienia
Wyczyść wszystko

openHAB stan licznika za ostatnią godzinę

3 Wpisów
3 Użytkownicy
0 Reactions
1,614 Wyświetleń
(@sliver001)
Wpisów: 9
Bywalec
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 
[#3117]

Jak powinna wyglądać reguła, która była by w stanie obliczyć zużycie energii za ostatnią dobę albo godzinę? Licznik_Pobrana to aktualny stan pobranej energii w kWh z licznika.

Na podstawie przykładów zrobiłem taką ale nie działa.

rule "Energy by hour"
when
        Time cron "0 0 * * * ?"
then
        var hour = Licznik_Pobrana.state as DecimalType - Licznik_Pobrana.historicState(now.minusHours(1)).state as DecimalType
        logInfo("ENERGY","LicznikLastH = " + hour)
        postUpdate(LicznikLastH, hour)
end

Items

Number Licznik_Pobrana
Number LicznikLastH

Do peristance dodałem wykonywanie co godzinę Licznik_Pobrana i LicznikLastH

Otrzymuję taki błąd:

2022-10-06 11:03:00.017 [WARN ] [nce.extensions.PersistenceExtensions] - There is no default persistence service configured!

2022-10-06 11:03:00.026 [WARN ] [nce.extensions.PersistenceExtensions] - There is no queryable persistence service registered with the id 'null'

2022-10-06 11:03:00.017 [INFO ] [e.smarthome.model.script.Motionrules] - Podtrzymanie pamięci - cron co 1min.

2022-10-06 11:03:00.037 [ERROR] [ntime.internal.engine.ExecuteRuleJob] - Error during the execution of rule 'Energy by minute': cannot invoke method public abstract org.eclipse.smarthome.core.types.State org.eclipse.smarthome.core.persistence.HistoricItem.getState() on null


 
Dodane : 06/10/2022 11:17 am
(@kamikac)
Wpisów: 225
Pomocny
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

historicState wymaga skonfigurowania persistence:

https://www.openhab.org/docs/configuration/persistence.html


 
Dodane : 15/10/2022 10:35 am
(@ldywicki)
Wpisów: 78
Kontrybutor
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Ewentualnie można skorzystać z wariantu metody historicState z dodatkowym argumentem, który wskaże docelowy persistence service id.

Z błędu wynika, że nie masz domyślnego persistence service lub nie jest on typu "queryable", tj nie obsługuje odczytów/zapytań z zadanym czasem.


 
Dodane : 27/08/2023 7:01 pm
Udostępnij: