valueformat in Readingsgroup mit Berechnung

Begonnen von Invers, 29 Januar 2014, 16:13:59

Vorheriges Thema - Nächstes Thema

Invers

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?
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

justme1968

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
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Invers

Danke. Das ist kompliierter, als ich erwartet hatte.
Wie bekomme ich denn die Masseinheit kWh untergebracht? Ich fummel vergeblich daran rum. ;D
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Invers

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?
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Breaker

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

justme1968

zum beispiel so:

attr <name> valueFormat
{current => {sprintf("%.1f W",$VALUE/1000)}, energy_current => "%.1f W", total => "%.2f kWh", energy_total => "%.2f kWh"}
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Breaker

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.

justme1968

#8
arg. das hab ich noch in drei anderen posts komplett übersehen.

danke
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Afterburner

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.
CUL 868 --> Dirks Universalsensor - ESA200 Strommesser
HM USB --> HM Klingelsensor - HM Zwischenstecker
MAXLAN --> 5 x Thermostat - 4 x Fensterkontakt - ECO Taster - Cube
Arduino Nano V3.0 CC1101 433 MHz --> für Revolt Strommesser
bestellt: JeeLink 868 --> für TX 29 DT-HT Außensender

justme1968

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.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Afterburner

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 :)
CUL 868 --> Dirks Universalsensor - ESA200 Strommesser
HM USB --> HM Klingelsensor - HM Zwischenstecker
MAXLAN --> 5 x Thermostat - 4 x Fensterkontakt - ECO Taster - Cube
Arduino Nano V3.0 CC1101 433 MHz --> für Revolt Strommesser
bestellt: JeeLink 868 --> für TX 29 DT-HT Außensender