Strom/Energieverbrauch * Stromkosten * Prognose

HMIP lokale Installation

Moderator: Co-Administratoren

Benutzeravatar
lemonbiter
Beiträge: 168
Registriert: 16.10.2016, 23:14
Hat sich bedankt: 8 Mal
Danksagung erhalten: 1 Mal

Re: Strom/Energieverbrauch * Stromkosten * Prognose

Beitrag von lemonbiter » 28.06.2020, 00:40

Hallo zusammen,
seit gestern zählt der Zähler nicht mehr den Tageswert, demzufolge werden auch der Wochen und Monatsverbrauch nicht mehr aktualisiert. Gestern habe ich die neue Firmware der CCU (Raspberrymatic) installiert.

Seit anbeginn (Januar diesen Jahres) war es sowieso immer merkwürdig, dass um 0.00 Uhr der Zähler zwar umsprang, aber der Wert "gestern" wurde dann genullt...

Hat jemand eine Idee, was da los sein kann? Kann die aktuelle Firmware daran "schuld" sein?
Gibt es evtl. ein anderes Script als dieses?


Danke Euch sehr!

LG
Lem
okay... ich arbeite dran

MichaelN
Beiträge: 433
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 40 Mal
Danksagung erhalten: 32 Mal

Re: Strom/Energieverbrauch * Stromkosten * Prognose

Beitrag von MichaelN » 28.06.2020, 09:34

Ersetzte \\ durch \\\

Benutzeravatar
jmaus
Beiträge: 5939
Registriert: 17.02.2015, 14:45
System: Alternative CCU (RaspberryMatic etc.)
Wohnort: Dresden
Hat sich bedankt: 14 Mal
Danksagung erhalten: 325 Mal
Kontaktdaten:

Re: Strom/Energieverbrauch * Stromkosten * Prognose

Beitrag von jmaus » 28.06.2020, 09:34

lemonbiter hat geschrieben:
28.06.2020, 00:40
Hat jemand eine Idee, was da los sein kann? Kann die aktuelle Firmware daran "schuld" sein?
Gibt es evtl. ein anderes Script als dieses?
Der Grund dafür liegt in der folgenden Zeile dieses Skriptes:

Code: Alles auswählen

string cmd = "/bin/sh -c 'cat /etc/config/energyPrice|sed -r \"s/\\"//g\"'";
Diese beinhaltet einen backslash escaping fehler der leider von bisherigen Firmwares (bzw. ReGaHss versionen) fälschlicherweise toleriert wurde. Mit neueren Version erzeugt diese aber korrekterweise einen Fehler weil am Ende hier statt drei (3) backslashes (\\\") für das erzeugen der zeichenkette \" nur zwei verwendet wurde (\\"). Neuere Firmwareversionen bzw. ReGaHss versionen erkennen das jetzt korrekterweise als Fehler und schmeissen entsprechend einen Syntax Fehler. Die korrekte Zeile müsste daher (damit sie auch rückwärtskompatibel ist) wie folgt aussehen:

Code: Alles auswählen

string cmd = '/bin/sh -c \'cat /etc/config/energyPrice|sed -r "s/\\"//g\"\'';
D.h. du müsstest oben in dem Skript wo die "string cmd =" Zeile auftaucht diese rauslöschen und entsprechend gegen diese ersetzen. Dann sollte das Skript wieder funktionieren (auch für ältere Firmwareversionen, btw).
RaspberryMatic 3.51.6.20200621 @ ESXi mit ~180 HomeMatic Geräten + ioBroker – GitHubGitHub Sponsors / PayPalTwitter

Baxxy
Beiträge: 1010
Registriert: 18.12.2018, 15:45
System: Alternative CCU (RaspberryMatic etc.)
Hat sich bedankt: 95 Mal
Danksagung erhalten: 155 Mal

Re: Strom/Energieverbrauch * Stromkosten * Prognose

Beitrag von Baxxy » 28.06.2020, 10:14

Da ich dieses Script auf für einige meiner Geräte benutze habe ich den Code schon mal entsprechend angepasst. Ob das auch wirklich
jmaus hat geschrieben:
28.06.2020, 09:34
rückwärtskompatibel
ist sehe ich dann morgen. (System läuft noch auf RM 3.51.6.20200420)

BTW: gibt es vielleicht eine "einfachere" (möglicherweise undokumentierte) Methode den Preis/kWh (egal ob Strom oder Gas) in Scripten zu benutzen?
Grüße
Baxxy

MichaelN
Beiträge: 433
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 40 Mal
Danksagung erhalten: 32 Mal

Re: Strom/Energieverbrauch * Stromkosten * Prognose

Beitrag von MichaelN » 28.06.2020, 10:15

Eigene Systemvariable anlegen

Baxxy
Beiträge: 1010
Registriert: 18.12.2018, 15:45
System: Alternative CCU (RaspberryMatic etc.)
Hat sich bedankt: 95 Mal
Danksagung erhalten: 155 Mal

Re: Strom/Energieverbrauch * Stromkosten * Prognose

Beitrag von Baxxy » 28.06.2020, 10:17

MichaelN hat geschrieben:
28.06.2020, 10:15
Eigene Systemvariable anlegen
Bähh... viel zu einfach. :wink:
Grüße
Baxxy

MichaelN
Beiträge: 433
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 40 Mal
Danksagung erhalten: 32 Mal

Re: Strom/Energieverbrauch * Stromkosten * Prognose

Beitrag von MichaelN » 28.06.2020, 10:18

Na ja, du könntest auch eine Datei im XML Format auf der CCU ablegen, diese einlesen, das XML parsen,....

Baxxy
Beiträge: 1010
Registriert: 18.12.2018, 15:45
System: Alternative CCU (RaspberryMatic etc.)
Hat sich bedankt: 95 Mal
Danksagung erhalten: 155 Mal

Re: Strom/Energieverbrauch * Stromkosten * Prognose

Beitrag von Baxxy » 28.06.2020, 10:22

MichaelN hat geschrieben:
28.06.2020, 10:18
das XML parsen,....
Nun drehst du aber auf. Mit XML-parsen stehe ich auf Kriegsfuß. Dann doch lieber die einfache SysVar. :mrgreen:
Grüße
Baxxy

Baxxy
Beiträge: 1010
Registriert: 18.12.2018, 15:45
System: Alternative CCU (RaspberryMatic etc.)
Hat sich bedankt: 95 Mal
Danksagung erhalten: 155 Mal

Re: Strom/Energieverbrauch * Stromkosten * Prognose

Beitrag von Baxxy » 30.06.2020, 00:22

Baxxy hat geschrieben:
28.06.2020, 10:14
gibt es vielleicht eine "einfachere" (möglicherweise undokumentierte) Methode den Preis/kWh (egal ob Strom oder Gas) in Scripten zu benutzen?
Alchy hat hier ein kompaktes Script gepostet welches den Strompreis ausliest. (funktioniert bei "alter" und "neuer" Rega-Version)
Grüße
Baxxy

Peter-HER
Beiträge: 11
Registriert: 25.04.2019, 09:33
Hat sich bedankt: 1 Mal

Re: Strom/Energieverbrauch * Stromkosten * Prognose

Beitrag von Peter-HER » 02.07.2020, 11:16

jmaus hat geschrieben:
28.06.2020, 09:34
lemonbiter hat geschrieben:
28.06.2020, 00:40
Hat jemand eine Idee, was da los sein kann? Kann die aktuelle Firmware daran "schuld" sein?
Gibt es evtl. ein anderes Script als dieses?
Der Grund dafür liegt in der folgenden Zeile dieses Skriptes:

Code: Alles auswählen

string cmd = "/bin/sh -c 'cat /etc/config/energyPrice|sed -r \"s/\\"//g\"'";
Diese beinhaltet einen backslash escaping fehler der leider von bisherigen Firmwares (bzw. ReGaHss versionen) fälschlicherweise toleriert wurde. Mit neueren Version erzeugt diese aber korrekterweise einen Fehler weil am Ende hier statt drei (3) backslashes (\\\") für das erzeugen der zeichenkette \" nur zwei verwendet wurde (\\"). Neuere Firmwareversionen bzw. ReGaHss versionen erkennen das jetzt korrekterweise als Fehler und schmeissen entsprechend einen Syntax Fehler. Die korrekte Zeile müsste daher (damit sie auch rückwärtskompatibel ist) wie folgt aussehen:

Code: Alles auswählen

string cmd = '/bin/sh -c \'cat /etc/config/energyPrice|sed -r "s/\\"//g\"\'';
D.h. du müsstest oben in dem Skript wo die "string cmd =" Zeile auftaucht diese rauslöschen und entsprechend gegen diese ersetzen. Dann sollte das Skript wieder funktionieren (auch für ältere Firmwareversionen, btw).
Vielen Dank für die schnelle Rückmeldung.
Bin leider erst heute dazu gekommen die Änderung zu übernehmen.
Und siehe da, es tut wie gewünscht.
RaspberryMatic mit RPI-RF-MOD;
XML-Api; CUxD; RedMatic; EMail;CCU-Historian
6 x HM-TC-IT-WM-W-EU; 8 x HM-CC-RT-DN; 12 x HM-Sec-SCo
2 x HM-LC-Sw1PBU-FM; 1 x HM-LC-Sw2PBU-FM; 2 x HM-PB-2-WM55-2
2 x HM-ES-PMSw1-DR (ich verzweifel gerade daran)
0,3 x Erfahrung

Antworten

Zurück zu „HomeMatic IP mit CCU“