FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: chunter1 am 29 September 2015, 11:18:40

Titel: eState E: 110.3 P: 31.15 I: 172 U: 235.4 f: 49.98 in einzelne dummies verteilen?
Beitrag von: chunter1 am 29 September 2015, 11:18:40
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
Titel: Antw:eState E: 110.3 P: 31.15 I: 172 U: 235.4 f: 49.98 in einzelne dummies verteilen?
Beitrag von: frank am 29 September 2015, 11:40:31
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.
Titel: Antw:eState E: 110.3 P: 31.15 I: 172 U: 235.4 f: 49.98 in einzelne dummies verteilen?
Beitrag von: chunter1 am 29 September 2015, 12:21:02
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");
}

Titel: Antw:eState E: 110.3 P: 31.15 I: 172 U: 235.4 f: 49.98 in einzelne dummies verteilen?
Beitrag von: justme1968 am 29 September 2015, 12:24:53
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 
Titel: Antw:eState E: 110.3 P: 31.15 I: 172 U: 235.4 f: 49.98 in einzelne dummies verteilen?
Beitrag von: frank am 29 September 2015, 12:50:52
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.
Titel: Antw:eState E: 110.3 P: 31.15 I: 172 U: 235.4 f: 49.98 in einzelne dummies verteilen?
Beitrag von: chunter1 am 29 September 2015, 12:54:35
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