FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: rhoffm34 am 26 November 2023, 18:44:18

Titel: [gelöst] Rechnen in UserReadings
Beitrag von: rhoffm34 am 26 November 2023, 18:44:18
Hallo zusammen.

Ich möchte gerne in den UserReadings die Kw/h in Euro umrechnen.

Versucht habe ich folgendes:

statEnergyDayLast_Euro { ReadingsVal($name,"statEnergyDayLast",0)*[P_value_StromPreis] }
Als Fehler kommt dann:

Error evaluating HM_Leistung3_WoZiTV_Pwr userReading statEnergyDayLast_Euro: Bareword "P_value_StromPreis" not allowed while "strict subs" in use at (eval 126491) line 1.
P_value_StromPreis ist der Parameter für den Strompreis

Offensichtlich funktioniert meine Syntax nicht.

Kann mir jemand auf die Sprünge helfen?

Danke und Gruß,

Ralf
Titel: Aw: Rechnen in UserReadings
Beitrag von: betateilchen am 26 November 2023, 19:00:52
Als erstes solltest Du mit ReadingsNum() arbeiten statt mit ReadingsVal(), für den Fall, dass in dem Reading noch eine Einheit steckt.

Dann solltest Du mal erklären, wo P_value_StromPreis überhaupt herkommt. So wie das von Dir hier angegeben wurde, kann das halt nicht funktionieren, weil es syntaktisch falsch ist.

Entweder kommt P_value_StromPreis aus einem Reading, dann solltest Du das eben auch mit ReadingsNum() angeben oder es ist eine Variable, dann fehlt die korrekte Angabe einer Variablen.
Titel: Aw: Rechnen in UserReadings
Beitrag von: rhoffm34 am 26 November 2023, 19:05:44
[P_value_StromPreis] ist ein Dummy den ich als Variable nutze
Titel: Aw: Rechnen in UserReadings
Beitrag von: betateilchen am 26 November 2023, 19:09:55
Dann gib halt den Wert aus dem Dummy auch mit ReadingsNum() an. Dieser Mischmasch aus FHEM, perl und anderer Pseudo-Syntax führt immer wieder zu Problemen. Mach es einheitlich, simpel und richtig, dann funktioniert es auch.

Irgendeinen Namen in eckige Klammern zu setzen, ist keine perl-Syntax. Da hat iein FHEM Entwickler vermutlich mal schlecht geschlafen und sich dann was ausgedacht.
Titel: Aw: Rechnen in UserReadings
Beitrag von: rhoffm34 am 26 November 2023, 19:23:16
so?

statEnergyDayLast_Euro { ReadingsNum($name,"statEnergyDayLast",0)*ReadingsNum("P_value_StromPreis","state",0)}

klappt leider auch nicht...


Edit.: ... doch klappt wohl... Stand mir selber im weg.

DAnke
Titel: Aw: Rechnen in UserReadings
Beitrag von: betateilchen am 26 November 2023, 19:43:48
kaum macht mans richtig, schon klappts...  8)
Titel: Aw: Rechnen in UserReadings
Beitrag von: rhoffm34 am 26 November 2023, 19:56:42
Jup, Danke