eState E: 110.3 P: 31.15 I: 172 U: 235.4 f: 49.98 in einzelne dummies verteilen?

Begonnen von chunter1, 29 September 2015, 11:18:40

Vorheriges Thema - Nächstes Thema

chunter1

Hallo,

brauche bitte Hilfe beim Zerlegen eines eState Strings (meines Powermessers) in einzelne dummy Variablen.

Der String im eState Reading schaut so aus:
eState  E: 110.3 P: 31.15 I: 172 U: 235.4 f: 49.98

Mit split bin ich nicht weiter gekommen
Kann mir wer ein Codeschnipsel geben?

Danke

frank

Zitatbrauche bitte Hilfe beim Zerlegen eines eState Strings (meines Powermessers) in einzelne dummy Variablen.
das sieht mir sehr nach homematic device aus. ist das richtig? dann brauchst du nichts splitten.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

chunter1

Ja, ist der Homematic Energiemesser HM-ES-PMSw1-Pl.
Dachte nur es sei besser wenn man den notify auf genau das eine Reading macht, das man anschließend auch auswertet? - Also z.B. auf eState und dann den String zerlegen.

Könnte es mit der folgenden Umsetzung Probleme mit der notify synchronisation der einzelnen Readings geben?


HM_2D123D_Pwr:eState.* {
my $varPower= ReadingsVal("HM_2D123D_Pwr","power",0);
my $varEnergy= ReadingsVal("HM_2D123D_Pwr","energy",0);
my $varCurrent= ReadingsVal("HM_2D123D_Pwr","current",0);
my $varVoltage= ReadingsVal("HM_2D123D_Pwr","voltage",0);
fhem("set testA $varPower");
fhem("set testB $varEnergy");
fhem("set testC $varCurrent");
fhem("set testD $varVoltage");
}


justme1968

was hast du denn mit den ganzen dummys vor? warum reichen die readings im device nicht?

schau dir mal readingsGroup (und readingsProxy) an.

gruß
  andre 
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

frank

ZitatKönnte es mit der folgenden Umsetzung Probleme mit der notify synchronisation der einzelnen Readings geben?
ich würde für jeden wert ein eigenes notify nutzen und im aktor natürlich "event-on-change .*" setzen. dann gibt es deutlich weniger rechenarbeit.

aber den sinn der dummy's habe ich auch nicht verstanden. die werte stehen sogar schon fast alle im state der chn2-chn5.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

chunter1

Danke für eure Tips.
Bin noch blutiger Anfänger (FHEM, Perl, Linux...) und kämpf mich so Stück für Stück durch.
Die readingsGroup sind echt ideal.
Hab auch gleich das mapping angepasst ;)

Danke