Stromverbrauch für Tag, Woche, Monat, Jahr berechnen

Für welche Projekte verwendet Ihr OpenHAB? Was habt Ihr automatisiert? Stellt eure Projekte hier vor.

Moderatoren: Cyrelian, seppy

Antworten
Benutzeravatar
udo1toni
Beiträge: 13858
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Stromverbrauch für Tag, Woche, Monat, Jahr berechnen

Beitrag von udo1toni »

Die Fehlermeldungen passen auf den ersten Blick nicht zu der Rule. Wie hast Du die Rule angelegt? Wo siehst Du die Fehlermeldungen? Wann werden sie angezeigt?

Was die Quelle der Persistence angeht:
1. Solange Du keine rrd4j.persist Datei anlegst, das rrd4j Binding aber installiert ist, werden alle Items automatisch mit everyChange, everyMinute persistiert. Du brauchst dazu keine .persist Datei.
2. Wichtig ist aber, dass die Default Persistence gesetzt ist. Soll rrd4j verwendet werden, so musst Du rrd4j auswählen. Soll InfluxDB verwendet werden, so musst Du influxdb als Default setzen (Main UI->Administration->Einstellungen->System Services->Persistence).

Möchtest Du extra die Daten aus einem anderen Persistence Service als dem Default Persistence Service nutzen, so musst Du das beim Aufruf mit angeben, so:

Code: Alles auswählen

if(SM_DG_ges_Verbrauch.deltaSince(start_of_day,"influxdb")  instanceof Number)
        Stromverbrauch_Heute = (SM_DG_ges_Verbrauch.deltaSince(start_of_day,"influxdb")   as Number).floatValue
Bei den anderen Items natürlich genauso.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

EMaster
Beiträge: 92
Registriert: 13. Dez 2018 21:02
Answers: 2

Re: Stromverbrauch für Tag, Woche, Monat, Jahr berechnen

Beitrag von EMaster »

Die Rule bearbeite ich mit VS Code. Dort tauchen auch, wie im Screenshot zu sehen, die Meldungen auf.
Auch in der openhab.log sind diese zu sehen.
Rule_Verbrauch.JPG
Ich verstehe nur nicht, warum auch diese Rule wieder keine Werte liefert. Ich tausche lediglich die Items gegen meine aus!?
Scheinbar funktioniert sie ja bei anderen.

Code: Alles auswählen

rule "Stromverbrauch Tag Woche Monat Jahr"                                                              // Deutscher Zeichensatz zulässig
when
    Item SM_DG_ges_Verbrauch changed                                                         // changed reicht.
then
    val ZonedDateTime zdt            = ZonedDateTime.now()                                              // jetzt
    val ZonedDateTime start_of_day   = zdt.with(LocalTime.MIDNIGHT)                                     // heute, Mitternacht
    val ZonedDateTime start_of_week  = start_of_day.minusDays(start_of_day.getDayOfWeek.getValue - 1)   // Montag 
    val ZonedDateTime start_of_month = start_of_day.withDayOfMonth(1)                                   // Erster Tag des Monats (1)
    val ZonedDateTime start_of_year  = start_of_day.withDayOfYear(1)                                    // Erster Tag des Jahres (1)

    var Stromverbrauch_Heute = -1.0
    var Stromverbrauch_Woche = -1.0
    var Stromverbrauch_Monat = -1.0
    var Stromverbrauch_Jahr  = -1.0

    if(SM_DG_ges_Verbrauch.deltaSince(start_of_day,"influxdb")  instanceof Number)
        Stromverbrauch_Heute = (SM_DG_ges_Verbrauch.deltaSince(start_of_day,"influxdb")   as Number).floatValue
    if(SM_DG_ges_Verbrauch.deltaSince(start_of_week,"influxdb") instanceof Number)
        Stromverbrauch_Woche = (SM_DG_ges_Verbrauch.deltaSince(start_of_week,"influxdb")  as Number).floatValue
    if(SM_DG_ges_Verbrauch.deltaSince(start_of_month,"influxdb") instanceof Number)
        Stromverbrauch_Monat = (SM_DG_ges_Verbrauch.deltaSince(start_of_month,"influxdb") as Number).floatValue
    if(SM_DG_ges_Verbrauch.deltaSince(start_of_year,"influxdb") instanceof Number)
        Stromverbrauch_Jahr  = (SM_DG_ges_Verbrauch.deltaSince(start_of_year,"influxdb")  as Number).floatValue

    SM_Tag_VerbrauchStrom.postUpdate(Stromverbrauch_Heute)
    SM_Woche_VerbrauchStrom.postUpdate(Stromverbrauch_Woche)
    SM_Monat_VerbrauchStrom.postUpdate(Stromverbrauch_Monat)
    SM_Jahr_VerbrauchStrom.postUpdate(Stromverbrauch_Jahr)
end
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
openHAB 4.0.4 im Docker@Synology (DSM7)

Benutzeravatar
udo1toni
Beiträge: 13858
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Stromverbrauch für Tag, Woche, Monat, Jahr berechnen

Beitrag von udo1toni »

Die Meldung ergibt tatsächlich keinerlei Sinn, denn es findet ja gar keine Zuweisung bzw. kein Casting statt, das passiert jeweils eine Zeile darunter, die ist aber nicht unterstrichen.
Nun ja, es handelt sich ohnehin "nur" um eine Warnung, ändert aber nichts daran, dass sie Schwachsinn ist. :)

Es bringt auch nichts, die Prüfung zu unterlassen, denn die Persistence kann selbstverständlich auch null liefern.

Du kannst spaßeshalber mal ein paar log Meldungen einbauen (bzw. ich...)

Code: Alles auswählen

rule "Stromverbrauch Tag Woche Monat Jahr"                                                              // Deutscher Zeichensatz zulässig
when
    Item SM_DG_ges_Verbrauch changed                                                         // changed reicht.
then
    logInfo("countUpdate","Rule gestartet.")
    val ZonedDateTime zdt            = ZonedDateTime.now()                                              // jetzt
    val ZonedDateTime start_of_day   = zdt.with(LocalTime.MIDNIGHT)                                     // heute, Mitternacht
    val ZonedDateTime start_of_week  = start_of_day.minusDays(start_of_day.getDayOfWeek.getValue - 1)   // Montag 
    val ZonedDateTime start_of_month = start_of_day.withDayOfMonth(1)                                   // Erster Tag des Monats (1)
    val ZonedDateTime start_of_year  = start_of_day.withDayOfYear(1)                                    // Erster Tag des Jahres (1)
    logInfo("countUpdate","Daten definiert ")
    var Stromverbrauch_Heute = -1.0
    var Stromverbrauch_Woche = -1.0
    var Stromverbrauch_Monat = -1.0
    var Stromverbrauch_Jahr  = -1.0
    logInfo("countUpdate","Variablen definiert ")
    if(SM_DG_ges_Verbrauch.deltaSince(start_of_day,"influxdb")  instanceof Number)
        Stromverbrauch_Heute = (SM_DG_ges_Verbrauch.deltaSince(start_of_day,"influxdb")   as Number).floatValue
    if(SM_DG_ges_Verbrauch.deltaSince(start_of_week,"influxdb") instanceof Number)
        Stromverbrauch_Woche = (SM_DG_ges_Verbrauch.deltaSince(start_of_week,"influxdb")  as Number).floatValue
    if(SM_DG_ges_Verbrauch.deltaSince(start_of_month,"influxdb") instanceof Number)
        Stromverbrauch_Monat = (SM_DG_ges_Verbrauch.deltaSince(start_of_month,"influxdb") as Number).floatValue
    if(SM_DG_ges_Verbrauch.deltaSince(start_of_year,"influxdb") instanceof Number)
        Stromverbrauch_Jahr  = (SM_DG_ges_Verbrauch.deltaSince(start_of_year,"influxdb")  as Number).floatValue
    logInfo("countUpdate","Variablen gesetzt. heute {} woche {} monat {} jahr {}",Stromverbrauch_Heute,Stromverbrauch_Woche,Stromverbrauch_Monat,Stromverbrauch_Jahr)
    SM_Tag_VerbrauchStrom.postUpdate(Stromverbrauch_Heute)
    SM_Woche_VerbrauchStrom.postUpdate(Stromverbrauch_Woche)
    SM_Monat_VerbrauchStrom.postUpdate(Stromverbrauch_Monat)
    SM_Jahr_VerbrauchStrom.postUpdate(Stromverbrauch_Jahr)
end
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

EMaster
Beiträge: 92
Registriert: 13. Dez 2018 21:02
Answers: 2

Re: Stromverbrauch für Tag, Woche, Monat, Jahr berechnen

Beitrag von EMaster »

Hier mal der Auszug aus dem Log.
Bis auf den Trigger scheint eigentlich nichts zu funktionieren. :cry:

Code: Alles auswählen

2023-01-26 17:30:52.659 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'power.rules'
2023-01-26 17:30:53.168 [INFO ] [el.core.internal.ModelRepositoryImpl] - Validation issues found in configuration model 'power.rules', using it anyway:
The expression of type DecimalType is already of type Number
The expression of type DecimalType is already of type Number
The expression of type DecimalType is already of type Number
The expression of type DecimalType is already of type Number
2023-01-26 17:31:02.686 [INFO ] [penhab.core.model.script.countUpdate] - Rule gestartet.
2023-01-26 17:31:02.688 [INFO ] [penhab.core.model.script.countUpdate] - Daten definiert 
2023-01-26 17:31:02.689 [INFO ] [penhab.core.model.script.countUpdate] - Variablen definiert 
2023-01-26 17:31:04.362 [INFO ] [penhab.core.model.script.countUpdate] - Variablen gesetzt. heute -1.0 woche -1.0 monat -1.0 jahr -1.0
2023-01-26 17:32:06.667 [INFO ] [penhab.core.model.script.countUpdate] - Rule gestartet.
2023-01-26 17:32:06.668 [INFO ] [penhab.core.model.script.countUpdate] - Daten definiert 
2023-01-26 17:32:06.669 [INFO ] [penhab.core.model.script.countUpdate] - Variablen definiert 
2023-01-26 17:32:08.302 [INFO ] [penhab.core.model.script.countUpdate] - Variablen gesetzt. heute -1.0 woche -1.0 monat -1.0 jahr -1.0
2023-01-26 17:33:01.514 [INFO ] [penhab.core.model.script.countUpdate] - Rule gestartet.
2023-01-26 17:33:01.516 [INFO ] [penhab.core.model.script.countUpdate] - Daten definiert 
2023-01-26 17:33:01.517 [INFO ] [penhab.core.model.script.countUpdate] - Variablen definiert 
2023-01-26 17:33:03.205 [INFO ] [penhab.core.model.script.countUpdate] - Variablen gesetzt. heute -1.0 woche -1.0 monat -1.0 jahr -1.0
2023-01-26 17:34:05.523 [INFO ] [penhab.core.model.script.countUpdate] - Rule gestartet.
2023-01-26 17:34:05.525 [INFO ] [penhab.core.model.script.countUpdate] - Daten definiert 
2023-01-26 17:34:05.526 [INFO ] [penhab.core.model.script.countUpdate] - Variablen definiert 
2023-01-26 17:34:07.191 [INFO ] [penhab.core.model.script.countUpdate] - Variablen gesetzt. heute -1.0 woche -1.0 monat -1.0 jahr -1.0
2023-01-26 17:34:27.361 [ERROR] [xt.ide.server.concurrent.ReadRequest] - Error during request: 
java.lang.RuntimeException: Cannot create a resource for 'java:/Objects/java.time.LocalTime'; a registered resource factory is needed
	at org.eclipse.xtext.resource.XtextResourceSet.getResource(XtextResourceSet.java:263) ~[?:?]
	at org.eclipse.xtext.ide.server.ProjectManager.getResource(ProjectManager.java:169) ~[?:?]
	at org.eclipse.xtext.ide.server.WorkspaceManager.doRead(WorkspaceManager.java:436) ~[?:?]
	at org.eclipse.xtext.ide.server.findReferences.WorkspaceResourceAccess.readOnly(WorkspaceResourceAccess.java:36) ~[?:?]
	at org.eclipse.xtext.ide.server.symbol.DocumentSymbolService.doRead(DocumentSymbolService.java:332) ~[?:?]
	at org.eclipse.xtext.ide.server.symbol.DocumentSymbolService.getDefinitions(DocumentSymbolService.java:112) ~[?:?]
	at org.eclipse.xtext.ide.server.symbol.DocumentSymbolService.getDefinitions(DocumentSymbolService.java:99) ~[?:?]
	at org.eclipse.xtext.ide.server.LanguageServerImpl.lambda$definition$25(LanguageServerImpl.java:607) ~[?:?]
	at org.eclipse.xtext.ide.server.WorkspaceManager.doRead(WorkspaceManager.java:438) ~[?:?]
	at org.eclipse.xtext.ide.server.LanguageServerImpl.definition(LanguageServerImpl.java:606) ~[?:?]
	at org.eclipse.xtext.ide.server.LanguageServerImpl.definition(LanguageServerImpl.java:594) ~[?:?]
	at org.eclipse.xtext.ide.server.LanguageServerImpl.lambda$definition$24(LanguageServerImpl.java:585) ~[?:?]
	at org.eclipse.xtext.ide.server.concurrent.ReadRequest.lambda$doRun$0(ReadRequest.java:66) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:829) [?:?]
2023-01-26 17:34:27.513 [ERROR] [xt.ide.server.concurrent.ReadRequest] - Error during request: 
java.lang.RuntimeException: Cannot create a resource for 'java:/Objects/java.time.ZonedDateTime'; a registered resource factory is needed
	at org.eclipse.xtext.resource.XtextResourceSet.getResource(XtextResourceSet.java:263) ~[?:?]
	at org.eclipse.xtext.ide.server.ProjectManager.getResource(ProjectManager.java:169) ~[?:?]
	at org.eclipse.xtext.ide.server.WorkspaceManager.doRead(WorkspaceManager.java:436) ~[?:?]
	at org.eclipse.xtext.ide.server.findReferences.WorkspaceResourceAccess.readOnly(WorkspaceResourceAccess.java:36) ~[?:?]
	at org.eclipse.xtext.ide.server.symbol.DocumentSymbolService.doRead(DocumentSymbolService.java:332) ~[?:?]
	at org.eclipse.xtext.ide.server.symbol.DocumentSymbolService.getDefinitions(DocumentSymbolService.java:112) ~[?:?]
	at org.eclipse.xtext.ide.server.symbol.DocumentSymbolService.getDefinitions(DocumentSymbolService.java:99) ~[?:?]
	at org.eclipse.xtext.ide.server.LanguageServerImpl.lambda$definition$25(LanguageServerImpl.java:607) ~[?:?]
	at org.eclipse.xtext.ide.server.WorkspaceManager.doRead(WorkspaceManager.java:438) ~[?:?]
	at org.eclipse.xtext.ide.server.LanguageServerImpl.definition(LanguageServerImpl.java:606) ~[?:?]
	at org.eclipse.xtext.ide.server.LanguageServerImpl.definition(LanguageServerImpl.java:594) ~[?:?]
	at org.eclipse.xtext.ide.server.LanguageServerImpl.lambda$definition$24(LanguageServerImpl.java:585) ~[?:?]
	at org.eclipse.xtext.ide.server.concurrent.ReadRequest.lambda$doRun$0(ReadRequest.java:66) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:829) [?:?]
2023-01-26 17:34:37.531 [ERROR] [t.ide.server.concurrent.WriteRequest] - Error during request: 
java.util.concurrent.CompletionException: java.lang.RuntimeException: Cannot create a resource for 'java:/Objects/java.time.LocalTime'; a registered resource factory is needed
	at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331) ~[?:?]
	at java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1452) ~[?:?]
	at java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1444) ~[?:?]
	at java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1444) ~[?:?]
	at java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1444) ~[?:?]
	at java.util.concurrent.CompletableFuture.allOf(CompletableFuture.java:2337) ~[?:?]
	at org.eclipse.xtext.ide.server.concurrent.RequestManager.cancel(RequestManager.java:114) ~[?:?]
	at org.eclipse.xtext.ide.server.concurrent.RequestManager.runWrite(RequestManager.java:80) ~[?:?]
	at org.eclipse.xtext.ide.server.LanguageServerImpl.runBuildable(LanguageServerImpl.java:457) ~[?:?]
	at org.eclipse.xtext.ide.server.LanguageServerImpl.didChange(LanguageServerImpl.java:397) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
	at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.lambda$null$0(GenericEndpoint.java:65) ~[?:?]
	at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.notify(GenericEndpoint.java:152) ~[?:?]
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleNotification(RemoteEndpoint.java:220) ~[?:?]
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.consume(RemoteEndpoint.java:187) ~[?:?]
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:194) ~[?:?]
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:94) ~[?:?]
	at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:113) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: java.lang.RuntimeException: Cannot create a resource for 'java:/Objects/java.time.LocalTime'; a registered resource factory is needed
	at org.eclipse.xtext.resource.XtextResourceSet.getResource(XtextResourceSet.java:263) ~[?:?]
	at org.eclipse.xtext.ide.server.ProjectManager.getResource(ProjectManager.java:169) ~[?:?]
	at org.eclipse.xtext.ide.server.WorkspaceManager.doRead(WorkspaceManager.java:436) ~[?:?]
	at org.eclipse.xtext.ide.server.findReferences.WorkspaceResourceAccess.readOnly(WorkspaceResourceAccess.java:36) ~[?:?]
	at org.eclipse.xtext.ide.server.symbol.DocumentSymbolService.doRead(DocumentSymbolService.java:332) ~[?:?]
	at org.eclipse.xtext.ide.server.symbol.DocumentSymbolService.getDefinitions(DocumentSymbolService.java:112) ~[?:?]
	at org.eclipse.xtext.ide.server.symbol.DocumentSymbolService.getDefinitions(DocumentSymbolService.java:99) ~[?:?]
	at org.eclipse.xtext.ide.server.LanguageServerImpl.lambda$definition$25(LanguageServerImpl.java:607) ~[?:?]
	at org.eclipse.xtext.ide.server.WorkspaceManager.doRead(WorkspaceManager.java:438) ~[?:?]
	at org.eclipse.xtext.ide.server.LanguageServerImpl.definition(LanguageServerImpl.java:606) ~[?:?]
	at org.eclipse.xtext.ide.server.LanguageServerImpl.definition(LanguageServerImpl.java:594) ~[?:?]
	at org.eclipse.xtext.ide.server.LanguageServerImpl.lambda$definition$24(LanguageServerImpl.java:585) ~[?:?]
	at org.eclipse.xtext.ide.server.concurrent.ReadRequest.lambda$doRun$0(ReadRequest.java:66) ~[?:?]
	... 5 more
Hat die Rule ein Problem mit LocalTime und ZonedDateTime???
openHAB 4.0.4 im Docker@Synology (DSM7)

Benutzeravatar
udo1toni
Beiträge: 13858
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Stromverbrauch für Tag, Woche, Monat, Jahr berechnen

Beitrag von udo1toni »

Dieser Block:

Code: Alles auswählen

2023-01-26 17:31:02.686 [INFO ] [penhab.core.model.script.countUpdate] - Rule gestartet.
2023-01-26 17:31:02.688 [INFO ] [penhab.core.model.script.countUpdate] - Daten definiert 
2023-01-26 17:31:02.689 [INFO ] [penhab.core.model.script.countUpdate] - Variablen definiert 
2023-01-26 17:31:04.362 [INFO ] [penhab.core.model.script.countUpdate] - Variablen gesetzt. heute -1.0 woche -1.0 monat -1.0 jahr -1.0
ist ein kompletter Zyklus der Rule (ohne das Speichern der Werte in den Items, da passiert aber nichts mehr).
Anden Werten kannst Du sehen, dass die Persistence nicht richtig ausgelesen wird (sonst stünde kein -1.0 mehr drin).
Da das für alle Werte gilt, gehe ich von einem grundsätzlichen Problem mit der Persistence aus. Siehst Du die Werte denn in der Datenbank (also z.B. per Grafana)?

Die ausgerechneten Daten (Startzeitpunkte der Zeiträume) können natürlich auch fehlerhaft sein, lass ma loggen... ;)

Aus dieser Zeile:

Code: Alles auswählen

    logInfo("countUpdate","Daten definiert ")
wird diese:

Code: Alles auswählen

    logInfo("countUpdate","Daten definiert jetzt {} heute {} woche {} monat {} jahr {}",zdt,start_of_day,start_of_week,start_of_month,start_of_jear)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

EMaster
Beiträge: 92
Registriert: 13. Dez 2018 21:02
Answers: 2

Re: Stromverbrauch für Tag, Woche, Monat, Jahr berechnen

Beitrag von EMaster »

Also in den Datenbank (InfluxDB) kommen nur auch nur die -1.0 als Werte an. :-(

Das LOG schaut entsprechend so aus.

Code: Alles auswählen

2023-01-26 21:57:05.460 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'power.rules'
2023-01-26 21:57:06.157 [INFO ] [el.core.internal.ModelRepositoryImpl] - Validation issues found in configuration model 'power.rules', using it anyway:
The expression of type DecimalType is already of type Number
The expression of type DecimalType is already of type Number
The expression of type DecimalType is already of type Number
The expression of type DecimalType is already of type Number
2023-01-26 21:57:08.412 [INFO ] [penhab.core.model.script.countUpdate] - Rule gestartet.
2023-01-26 21:57:08.414 [INFO ] [penhab.core.model.script.countUpdate] - Daten definiert 
2023-01-26 21:57:08.415 [INFO ] [penhab.core.model.script.countUpdate] - Daten definiert jetzt 2023-01-26T21:57:08.413086+01:00[Europe/Berlin] heute 2023-01-26T00:00+01:00[Europe/Berlin] woche 2023-01-23T00:00+01:00[Europe/Berlin] monat 2023-01-01T00:00+01:00[Europe/Berlin] jahr 2023-01-01T00:00+01:00[Europe/Berlin]
2023-01-26 21:57:10.019 [INFO ] [penhab.core.model.script.countUpdate] - Variablen gesetzt. heute -1.0 woche -1.0 monat -1.0 jahr -1.0
2023-01-26 21:58:05.955 [INFO ] [penhab.core.model.script.countUpdate] - Rule gestartet.
2023-01-26 21:58:05.957 [INFO ] [penhab.core.model.script.countUpdate] - Daten definiert 
2023-01-26 21:58:05.958 [INFO ] [penhab.core.model.script.countUpdate] - Daten definiert jetzt 2023-01-26T21:58:05.956412+01:00[Europe/Berlin] heute 2023-01-26T00:00+01:00[Europe/Berlin] woche 2023-01-23T00:00+01:00[Europe/Berlin] monat 2023-01-01T00:00+01:00[Europe/Berlin] jahr 2023-01-01T00:00+01:00[Europe/Berlin]
2023-01-26 21:58:07.653 [INFO ] [penhab.core.model.script.countUpdate] - Variablen gesetzt. heute -1.0 woche -1.0 monat -1.0 jahr -1.0
2023-01-26 21:59:12.581 [INFO ] [penhab.core.model.script.countUpdate] - Rule gestartet.
2023-01-26 21:59:12.583 [INFO ] [penhab.core.model.script.countUpdate] - Daten definiert 
2023-01-26 21:59:12.584 [INFO ] [penhab.core.model.script.countUpdate] - Daten definiert jetzt 2023-01-26T21:59:12.582267+01:00[Europe/Berlin] heute 2023-01-26T00:00+01:00[Europe/Berlin] woche 2023-01-23T00:00+01:00[Europe/Berlin] monat 2023-01-01T00:00+01:00[Europe/Berlin] jahr 2023-01-01T00:00+01:00[Europe/Berlin]
2023-01-26 21:59:14.203 [INFO ] [penhab.core.model.script.countUpdate] - Variablen gesetzt. heute -1.0 woche -1.0 monat -1.0 jahr -1.0
2023-01-26 22:00:13.283 [INFO ] [penhab.core.model.script.countUpdate] - Rule gestartet.
2023-01-26 22:00:13.285 [INFO ] [penhab.core.model.script.countUpdate] - Daten definiert 
2023-01-26 22:00:13.286 [INFO ] [penhab.core.model.script.countUpdate] - Daten definiert jetzt 2023-01-26T22:00:13.284064+01:00[Europe/Berlin] heute 2023-01-26T00:00+01:00[Europe/Berlin] woche 2023-01-23T00:00+01:00[Europe/Berlin] monat 2023-01-01T00:00+01:00[Europe/Berlin] jahr 2023-01-01T00:00+01:00[Europe/Berlin]
2023-01-26 22:00:14.893 [INFO ] [penhab.core.model.script.countUpdate] - Variablen gesetzt. heute -1.0 woche -1.0 monat -1.0 jahr -1.0
2023-01-26 22:01:04.782 [INFO ] [penhab.core.model.script.countUpdate] - Rule gestartet.
2023-01-26 22:01:04.784 [INFO ] [penhab.core.model.script.countUpdate] - Daten definiert 
2023-01-26 22:01:04.785 [INFO ] [penhab.core.model.script.countUpdate] - Daten definiert jetzt 2023-01-26T22:01:04.783157+01:00[Europe/Berlin] heute 2023-01-26T00:00+01:00[Europe/Berlin] woche 2023-01-23T00:00+01:00[Europe/Berlin] monat 2023-01-01T00:00+01:00[Europe/Berlin] jahr 2023-01-01T00:00+01:00[Europe/Berlin]
2023-01-26 22:01:06.378 [INFO ] [penhab.core.model.script.countUpdate] - Variablen gesetzt. heute -1.0 woche -1.0 monat -1.0 jahr -1.0
2023-01-26 22:02:02.947 [INFO ] [penhab.core.model.script.countUpdate] - Rule gestartet.
2023-01-26 22:02:02.949 [INFO ] [penhab.core.model.script.countUpdate] - Daten definiert 
2023-01-26 22:02:02.952 [INFO ] [penhab.core.model.script.countUpdate] - Daten definiert jetzt 2023-01-26T22:02:02.948524+01:00[Europe/Berlin] heute 2023-01-26T00:00+01:00[Europe/Berlin] woche 2023-01-23T00:00+01:00[Europe/Berlin] monat 2023-01-01T00:00+01:00[Europe/Berlin] jahr 2023-01-01T00:00+01:00[Europe/Berlin]
2023-01-26 22:02:04.578 [INFO ] [penhab.core.model.script.countUpdate] - Variablen gesetzt. heute -1.0 woche -1.0 monat -1.0 jahr -1.0
2023-01-26 22:03:01.569 [INFO ] [penhab.core.model.script.countUpdate] - Rule gestartet.
2023-01-26 22:03:01.571 [INFO ] [penhab.core.model.script.countUpdate] - Daten definiert 
2023-01-26 22:03:01.573 [INFO ] [penhab.core.model.script.countUpdate] - Daten definiert jetzt 2023-01-26T22:03:01.569903+01:00[Europe/Berlin] heute 2023-01-26T00:00+01:00[Europe/Berlin] woche 2023-01-23T00:00+01:00[Europe/Berlin] monat 2023-01-01T00:00+01:00[Europe/Berlin] jahr 2023-01-01T00:00+01:00[Europe/Berlin]
2023-01-26 22:03:03.321 [INFO ] [penhab.core.model.script.countUpdate] - Variablen gesetzt. heute -1.0 woche -1.0 monat -1.0 jahr -1.0
2023-01-26 22:04:02.737 [INFO ] [penhab.core.model.script.countUpdate] - Rule gestartet.
2023-01-26 22:04:02.739 [INFO ] [penhab.core.model.script.countUpdate] - Daten definiert 
2023-01-26 22:04:02.740 [INFO ] [penhab.core.model.script.countUpdate] - Daten definiert jetzt 2023-01-26T22:04:02.738262+01:00[Europe/Berlin] heute 2023-01-26T00:00+01:00[Europe/Berlin] woche 2023-01-23T00:00+01:00[Europe/Berlin] monat 2023-01-01T00:00+01:00[Europe/Berlin] jahr 2023-01-01T00:00+01:00[Europe/Berlin]
2023-01-26 22:04:04.343 [INFO ] [penhab.core.model.script.countUpdate] - Variablen gesetzt. heute -1.0 woche -1.0 monat -1.0 jahr -1.0
2023-01-26 22:05:03.842 [INFO ] [penhab.core.model.script.countUpdate] - Rule gestartet.
2023-01-26 22:05:03.844 [INFO ] [penhab.core.model.script.countUpdate] - Daten definiert 
2023-01-26 22:05:03.845 [INFO ] [penhab.core.model.script.countUpdate] - Daten definiert jetzt 2023-01-26T22:05:03.843117+01:00[Europe/Berlin] heute 2023-01-26T00:00+01:00[Europe/Berlin] woche 2023-01-23T00:00+01:00[Europe/Berlin] monat 2023-01-01T00:00+01:00[Europe/Berlin] jahr 2023-01-01T00:00+01:00[Europe/Berlin]
2023-01-26 22:05:05.452 [INFO ] [penhab.core.model.script.countUpdate] - Variablen gesetzt. heute -1.0 woche -1.0 monat -1.0 jahr -1.0


Die anderen Werte aus anderen Items werden in die DB geschrieben, woran könnte es liegen, dass diese nicht geschrieben werden?
openHAB 4.0.4 im Docker@Synology (DSM7)

Benutzeravatar
udo1toni
Beiträge: 13858
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Stromverbrauch für Tag, Woche, Monat, Jahr berechnen

Beitrag von udo1toni »

Mich interessiert in der Persistence nur das Item, welches abgerufen wird, also SM_DG_ges_Verbrauch, dieses sollte ja Daten enthalten.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

EMaster
Beiträge: 92
Registriert: 13. Dez 2018 21:02
Answers: 2

Re: Stromverbrauch für Tag, Woche, Monat, Jahr berechnen

Beitrag von EMaster »

udo1toni hat geschrieben: 26. Jan 2023 22:43 Mich interessiert in der Persistence nur das Item, welches abgerufen wird, also SM_DG_ges_Verbrauch, dieses sollte ja Daten enthalten.
Ja die Werte vom SM_DG_ges_Verbrauch kommen in der InfluxDB an.
InfluxDB.png
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
openHAB 4.0.4 im Docker@Synology (DSM7)

zinnik
Beiträge: 173
Registriert: 7. Sep 2021 11:28

Re: Stromverbrauch für Tag, Woche, Monat, Jahr berechnen

Beitrag von zinnik »

Hallo hast du andere Rules die funktionieren. Ich wollte Anfang der Woche auch meinSystem von 3.1.0 auf 3.4.1 aktualisieren. Aber irgendwie haben die bestehenden rules garnicht gearbeitet.
Der Log war auch voll mit Fehlern.
openhab 4.1.0.M Docker (Qnap)
influxDB 1.8.2 Docker (Qnap)
Grafana v8.3.3 Docker (Qnap)
Deconz 2.19.03 Docker (Qnap)
Homematic (Raspberrymatic Pi 3B+)
Grafana, Phoscon, Shelly, Gardena, Tuya
Camera IP Binding mit ffmpeg
Solaredge PV Anlage mit 8kW Speicher (solaredgeBinding)
u.v.m.

Lg zinnik

Benutzeravatar
udo1toni
Beiträge: 13858
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Stromverbrauch für Tag, Woche, Monat, Jahr berechnen

Beitrag von udo1toni »

Hilftjanix...

Müssen wir eben die Werte mal direkt loggen:

Code: Alles auswählen

logInfo("countUpdate","deltaSince (day) {}",SM_DG_ges_Verbrauch.deltaSince(start_of_day,"influxdb"))
irgendwo (nach der Definition von start_of_day) einbauen, mal schauen, was uns das verrät...
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Antworten