Seite 8 von 13

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

Verfasst: 25. Jan 2023 01:15
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.

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

Verfasst: 25. Jan 2023 20:08
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

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

Verfasst: 25. Jan 2023 21:07
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

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

Verfasst: 26. Jan 2023 17:43
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???

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

Verfasst: 26. Jan 2023 20:21
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)

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

Verfasst: 26. Jan 2023 22:08
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?

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

Verfasst: 26. Jan 2023 22:43
von udo1toni
Mich interessiert in der Persistence nur das Item, welches abgerufen wird, also SM_DG_ges_Verbrauch, dieses sollte ja Daten enthalten.

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

Verfasst: 27. Jan 2023 16:27
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

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

Verfasst: 27. Jan 2023 17:28
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.

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

Verfasst: 27. Jan 2023 17:47
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...