FHEM Forum

FHEM => Sonstiges => Thema gestartet von: Invers am 29 Januar 2014, 16:13:59

Titel: valueformat in Readingsgroup mit Berechnung
Beitrag von: Invers am 29 Januar 2014, 16:13:59
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?
Titel: Antw:valueformat in Readingsgroup mit Berechnung
Beitrag von: justme1968 am 29 Januar 2014, 17:30:10
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
Titel: Antw:valueformat in Readingsgroup mit Berechnung
Beitrag von: Invers am 29 Januar 2014, 17:49:18
Danke. Das ist kompliierter, als ich erwartet hatte.
Wie bekomme ich denn die Masseinheit kWh untergebracht? Ich fummel vergeblich daran rum. ;D
Titel: Antw:valueformat in Readingsgroup mit Berechnung
Beitrag von: justme1968 am 29 Januar 2014, 17:53:10
$VALUE/1000 .'kWh'

gruss
  andre
Titel: Antw:valueformat in Readingsgroup mit Berechnung
Beitrag von: Invers am 29 Januar 2014, 17:58:33
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?
Titel: Antw:valueformat in Readingsgroup mit Berechnung
Beitrag von: Breaker am 22 Juli 2014, 15:36:57
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
Titel: Antw:valueformat in Readingsgroup mit Berechnung
Beitrag von: justme1968 am 22 Juli 2014, 15:53:46
zum beispiel so:

attr <name> valueFormat
{current => {sprintf("%.1f W",$VALUE/1000)}, energy_current => "%.1f W", total => "%.2f kWh", energy_total => "%.2f kWh"}
Titel: Antw:valueformat in Readingsgroup mit Berechnung
Beitrag von: Breaker am 23 Juli 2014, 09:24:30
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.
Titel: Antw:valueformat in Readingsgroup mit Berechnung
Beitrag von: justme1968 am 23 Juli 2014, 09:53:26
arg. das hab ich noch in drei anderen posts komplett übersehen.

danke
  andre
Titel: Antw:valueformat in Readingsgroup mit Berechnung
Beitrag von: Afterburner am 01 Januar 2016, 19:13:45
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.
Titel: Antw:valueformat in Readingsgroup mit Berechnung
Beitrag von: justme1968 am 01 Januar 2016, 19:29:28
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
Titel: Antw:valueformat in Readingsgroup mit Berechnung
Beitrag von: Afterburner am 01 Januar 2016, 19:49:48
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 :)