In der rg wird TVLICHT_vorne 0.0000 A 0.00 W 18077 Wh
Type ist: TYPE=FBDECT:current,power,energy
Ich möchte möchte nun den Wert für energy durch 1000 teilen und kWh als Masseinheit anzeigen.
Teilung ist mir mit {$VAKUE / 1000} gelungen, aber ich will es ja nicht für alle Werte, sondern nur für energy.
1. Wie lautet die Syntyx?
2. Eine Beschreibung für valueformat habe ich nirgends finden können. Kennt jemand eine?
in der {...} version kannst du im perl ausdruck machen was du möchtest. in deinem fall brauchst du z.b. etwas in dieser art:{return $VALUE if( $READING ne "energy"); $VALUE/1000}
gruss
andre
Danke. Das ist kompliierter, als ich erwartet hatte.
Wie bekomme ich denn die Masseinheit kWh untergebracht? Ich fummel vergeblich daran rum. ;D
$VALUE/1000 .'kWh'
gruss
andre
Danke. läuft.
Wo kann ich denn nachlesen, wie das gemacht wird. Ich habe dazu nichts finden können, bin aber sehr interessiert.
Muss ich da Perl-Programmierung studieren?
Hallo,
habe ein ähnliches Problem, unterschiedliche Geräte senden andere Werte, diese möchte ich angleichen:
CUL_EM liefert kW TRX_WEATHER (CM160) liefert W. Ich hätte gern alles in Watt mit Einheit angezeigt.
Hier meine Definition:
<Zähler>,<aktuell>,<Stand>
TYPE=TRX_WEATHER:energy_current,energy_total
TYPE=CUL_EM:current,total
valueFormat:
{current => "%.1f kW", energy_current => "%.1f W", total => "%.2f kWh", energy_total => "%.2f kWh"}
'current' müßte umgerechnet werden und der Rest so bleiben - nur wie?
Vielen Dank schon mal!
Gruß Breaker
zum beispiel so:
attr <name> valueFormat
{current => {sprintf("%.1f W",$VALUE/1000)}, energy_current => "%.1f W", total => "%.2f kWh", energy_total => "%.2f kWh"}
Hallo,
Danke! Die folgende Zeile funktioniert bei mir:
{current => '{sprintf("%.1f W",$VALUE*1000)}', energy_current => "%.1f W", total => "%.2f kWh", energy_total => "%.2f kWh"}
die zusätzlichen ' mussten sein sonst erscheint HASH(irgenwas) bei allen Werten (und *1000 statt /1000 bei kW in W).
Das hilft mir auch bei einigen anderen Baustellen - nochmal Danke!
Gruß, Breaker.
arg. das hab ich noch in drei anderen posts komplett übersehen.
danke
andre
Ich schließe mich der Frage mal an, ich habe hier auch verschiedene Geräte aber eines liefert statt A nur mA, das Dumme daran bei allen Geräten (außer gesamt) nennt sich das Reading current
DEF:
<%message_socket_ch_3>,<Power>,<Voltage>,<Strom>
TYPE=Revolt:power,voltage,current
Arbeitszimmer.Steckdose_Pwr:power,voltage,current
TYPE=FBDECT:power,voltage,current
TYPE=UbiquitiOut:power,voltage,current
TYPE=ESA2000:actual,power,voltage,current
valueFormat
{ power => '%1.f W', voltage => '%.1f V', current => '%.2f A', actual => '%.3f KW' }
Arbeitszimmer.Steckdose_Pwr ist das Gerät mit den mA, ist ein HM Zwischenstecker mit Leistungsmessung
Und da wir gerade bei Berechnungen sind, kann man in den readingsGroups auch alle Powerwerte aller im DEF genannten Geräte zusammen rechnen und dann vom Gesamtverbrauch abziehen so das man sieht was der Rest der Wohnung verbraucht ? Das die Werte dabei nicht sekundengenau sind ist mir bewusst.
dann musst du den key (den teil links vom =>) als '<device>.<reading>' angeben:{ 'device1.current' => '%.2f A', 'device2.current' => '{sprintf("%.2f A",$VALUE/10)}', ...}
der hm stecker gibt den wert glaube ich nicht im mA an sondern in 100 mA.
wie du mit readingsGroup rechnen kannst findest du hier: http://forum.fhem.de/index.php/topic,36893.msg291680.html#msg291680 (http://forum.fhem.de/index.php/topic,36893.msg291680.html#msg291680).
gruss
andre
Das sind schon mA (siehe Screenshot)
ansonsten hat Dein Tipp funktioniert, man braucht sogar nur bei dem einen "Ausreißer" den Devicenamen voranstellen
valueFormat
{'Arbeitszimmer.Steckdose_Pwr.current' => '{sprintf("%.2f A",$VALUE/1000)}', power => '%1.f W', voltage => '%.1f V', current => '%.2f A', actual => '%.3f KW', day => '%.2f KW', raw_total => '%.1f' }
Das mit dem Berechnen schaue ich mir auch gleich an, thx für den Tipp :)