Guten Tag
Ich möchte mir den Strom in Euro pro Jahr und Monat in Fhem anzeigen.
DEF fritzbox_Wohnzimmer:11657_0511892 switch,powerMeter,switch
FUUID 61c62a18-f33f-cdd4-6f7b-ba7169bb8824af22
IODev fritzbox_Wohnzimmer
LASTInputDev fritzbox_Wohnzimmer
MSGCNT 9190
NAME Kellersteckdose
NR 365
STATE Schaltzustand:Aus
<br>
Temperatur:18.5 C (measured)
<br>
Spannung:233.448 V
<br>
Verbrauch:125862 Wh
<br>
Tastensperre aktiv:Ja
TYPE FBDECT
eventCount 1825
fritzbox2_MSGCNT 8865
fritzbox2_TIME 2023-05-16 19:48:42
fritzbox_Wohnzimmer_MSGCNT 9190
fritzbox_Wohnzimmer_TIME 2023-05-16 19:48:42
id 11657_0511892
props microphone,switch,powerMeter,tempSensor,switch
READINGS:
2023-05-16 19:48:42 AIN 11657 0511892
2023-05-16 19:48:42 FBNAME Kellersteckdose
2023-05-16 19:48:42 FBPROP microphone,switch,powerMeter,tempSensor,switch
2023-05-16 19:48:42 FBTYPE FRITZ!DECT 210
2023-05-16 19:48:42 ID 20012
2023-05-15 01:02:50 IODev fritzbox_Wohnzimmer
2022-10-02 08:23:28 KW 0
2023-05-16 19:48:42 devicelock yes
2023-05-16 19:48:42 energy 125862 Wh
2023-05-16 19:48:42 fwversion 04.25
2023-05-16 19:48:42 locked no
2023-05-16 19:48:42 mode manuell
2023-05-16 19:48:42 power 0.00 W
2023-05-16 19:48:42 present yes
2023-05-16 19:48:42 state off
2023-05-16 19:48:42 tempadjust 1.5 C
2023-05-16 19:48:42 temperature 18.5 C (measured)
2023-05-16 19:48:42 voltage 233.448 V
Attributes:
devStateIcon .*An:on .*Aus:off
event-min-interval power:120
event-on-change-reading .*
eventMap yes:Ja off:Aus on:An no:Nein
group Keller
icon ge_wht_steckdose
room Keller,FBDECT
stateFormat Schaltzustand:state
<br>
Temperatur:temperature
<br>
Spannung:voltage
<br>
Verbrauch:energy
<br>
Tastensperre aktiv:devicelock
Die Watt Daten kann ich mir schon Anzeigen lassen. Ich möchte jetzt das die Wattx 00.30Euro genommen werde
Per userReadings?
Z.B. so (in etwa):
attr Kellersteckdose userReadings Stromkosten:energy.* {my $val = ReadingsNum($name, "energy", 0) / 1000 * 0.3; return "$val EUR";}
Gruß, Joachim
....eigentlich sollte man Leuten nicht helfen, die beim 295. post hier noch nicht wissen, wofür "Codeschnipsel" da sind. Oder gab es funktionierenden Code....?
(Bitte nach Anfänger verschieben, und ja, das kannst du selbst, Sebastian84.)
Zitat von: Beta-User am 16 Mai 2023, 20:39:58....eigentlich sollte man Leuten nicht helfen, die beim 295. post hier noch nicht wissen, wofür "Codeschnipsel" da sind. Oder gab es funktionierenden Code....?
Ist mir (dieses Mal) gar nicht aufgefallen ;)
Gruß, Joachim
Ich hab dein User reading ausprobiert.
Dann kommt der Fehler:
Stromkosten
Error evaluating Kellersteckdose userReading Stromkosten: No such class val at (eval 43422155) line 1, near "{my val"
syntax error at (eval 43422155) line 1, near "my val ="
Global symbol "$val" requires explicit package name (did you forget to declare "my $val"?) at (eval 43422155) line 1.
Gab es ein Event für energy?
Ohne das wird auch das userReadings nicht "berechnet"...
-> Eventmonitor
(evtl. durch event-on-change/-min-interval eingeschränkt, so dass kein Event kommt)
Entweder das mal (zum Test) löschen oder (zum Test) den Trigger beim userReadings entfernen.
EDIT: schön, dass du doch noch den Fehler gepostest hast. War noch ein Fehler drin, habe ich ausgebessert...
EDIT: das gilt aber weiterhin. Selbst lernen usw. ist durchaus erlaubt!
Und ja: selbst einlesen in userReadings und "probieren" sind nicht "verboten"... ;)
Und ja grad sehe ich Wh vs. kWh -> da muss noch durch 1000 geteilt werden (habe ich angepasst)...
Gruß, Joachim
Danke
Es bleibt aber die alte Fehlermeldung besten.
Stromkosten
Error evaluating Kellersteckdose userReading Stromkosten: No such class val at (eval 43422155) line 1, near "{my val"
syntax error at (eval 43422155) line 1, near "my val ="
Global symbol "$val" requires explicit package name (did you forget to declare "my $val"?) at (eval 43422155) line 1.
2023-05-17 07:13:16
O:-)
Poste mal ein aktuelles list...
EDIT: andere Frage: wo/wie gibst du das ein? Wenn "einfach so" über FhemWeb, dann musst du (wohl) die Strichpunkte doppeln. Besser mittels FhemWeb-Attributeingabe...
Gruß, Joachim
TYPE FBDECT
eventCount 38
fritzbox2_MSGCNT 164
fritzbox2_TIME 2023-05-17 08:29:12
fritzbox_Wohnzimmer_MSGCNT 169
fritzbox_Wohnzimmer_TIME 2023-05-17 08:29:12
id 11657_0511892
props microphone,switch,powerMeter,tempSensor,switch
READINGS:
2023-05-17 08:29:12 AIN 11657 0511892
2023-05-17 08:29:12 FBNAME Kellersteckdose
2023-05-17 08:29:12 FBPROP microphone,switch,powerMeter,tempSensor,switch
2023-05-17 08:29:12 FBTYPE FRITZ!DECT 210
2023-05-17 08:29:12 ID 20012
2023-05-17 07:44:03 IODev fritzbox_Wohnzimmer
2022-10-02 08:23:28 KW 0
2023-05-17 07:13:16 Stromkosten Error evaluating Kellersteckdose userReading Stromkosten: No such class val at (eval 43422155) line 1, near "{my val"
syntax error at (eval 43422155) line 1, near "my val ="
Global symbol "$val" requires explicit package name (did you forget to declare "my $val"?) at (eval 43422155) line 1.
2023-05-17 08:29:12 devicelock yes
2023-05-17 08:29:12 energy 125863 Wh
2023-05-17 08:29:12 fwversion 04.25
2023-05-17 08:29:12 locked no
2023-05-17 08:29:12 mode manuell
2023-05-17 08:29:12 power 0.00 W
2023-05-17 08:29:12 present yes
2023-05-17 08:29:12 state off
2023-05-17 08:29:12 tempadjust 1.5 C
2023-05-17 08:29:12 temperature 18.0 C (measured)
2023-05-17 08:29:12 voltage 232.376 V
Attributes:
devStateIcon .*An:on .*Aus:off
event-min-interval power:120
event-on-change-reading .*
eventMap yes:Ja off:Aus on:An no:Nein
group Keller
icon ge_wht_steckdose
room Keller,FBDECT
stateFormat Schaltzustand:state
<br>
Temperatur:temperature
<br>
Spannung:voltage
<br>
Verbrauch:energy
<br>
Tastensperre aktiv:devicelock
userReadings Stromkosten:energy.* {my $val = ReadingsNum($name, "energy", 0) / 1000 * 0.3; return "$val EUR";}
Also ich habe das jetzt mit einem dummy nachgebaut: es tut
Funktioniert es jetzt?
Es braucht nat. ein "energy-Event", sonst wird ja nicht neu "berechnet"...
Gruß, Joachim
Wie muss ich das den mit den dummy machen?
Ich kann den in der Kellersteckdose ja nur auf 1 oder o setzen.
Du sollst nichts mit einem dummy machen!
Aber ich habe doch DEIN Device nicht und um es testen zu können, habe ICH eben ein dummy Device genommen...
Was kannst du nur auf 0/1 setzen?
EDIT: ah, ein/aus? Naja, dann halt mal einschalten und einen Verbraucher dran, sonst passiert ja nichts...
Du musst nichts machen, außer auf ein "energy-Event" zu warten (evtl. Eventmonitor prüfen) und schauen, ob es geht.
Wie geschrieben: bei mir (mit dummy) geht es genau so wie es (jetzt) in deinem list steht...
Gruß, Joachim
Danke hat geklappt.
Hab die Steckdose eingeschaltet und gewartet.
[gelöst] vorne dran? :)
Gruß, Joachim