FHEM Forum

FHEM => Frontends => readingsGroup / readingsHistory => Thema gestartet von: KNUT345 am 21 Dezember 2014, 12:14:34

Titel: Gelöst: readingsGroup Homematic HM-ES-PMSw1-Pl und Fritz!DECT200
Beitrag von: KNUT345 am 21 Dezember 2014, 12:14:34
Hallo Zusammen,
ich möchte gerne meine Funksteckdosen 2x Homematic HM-ES-PMSw1-Pl und 3x Fritz!DEC200 in einer readingsGroup zusammenfassen.
Prinzipiell funktioniert das auch schon mal

define Steckdosen readingsGroup <%message_socket>,<Leistung>,<Spannung>,<Energie>,<Status> Steckdose.*:power,voltage,energy,state
attr Steckdosen cellStyle {"r:1" => 'style="text-align:center"',"c:1" => 'style="text-align:left"'}
attr Steckdosen mapping { return '' if( $READING eq 'status' );; return '%ALIAS' }
attr Steckdosen room Test
attr Steckdosen valueFormat {"voltage" => " %.1f V","power" => " %.1f W","energy" => " %.0f Wh"}
attr Steckdosen valuePrefix &nbsp
attr Steckdosen valueStyle style="text-align:right"
attr Steckdosen valueSuffix &nbsp

aber es gibt da ein paar Punkte die ich noch verbessern wollte.

1) Ich würde gerne den Status der Steckdosen on/off als Icon anzeigen
-> Problem dass dies in verschiedenen Readings und bei Homematic in verschiedenen Devices steckt
2) Ich würde gerne den Status über commands on/off schaltbar haben wollen
Im Anhang mal das Bild als Original und als Fotomontage wie ich es gerne hätte.
Des weiteren auch die Readings von HM-ES-PMSw1-Pl und DECT200.

Hat mir jemand einen Tipp.

Grüße
Titel: Antw:readingsGroup Homematic HM-ES-PMSw1-Pl und Fritz!DECT200
Beitrag von: jnewton957 am 21 Dezember 2014, 12:55:17
Zitat1) Ich würde gerne den Status der Steckdosen on/off als Icon anzeigen
-> Problem dass dies in verschiedenen Readings und bei Homematic in verschiedenen Devices steckt

Im Abschnitt der readinggroup einfügen:
attr Steckdosen valueIcon {'state.on' => 'general_an@green', 'state.off' => 'general_aus@red'}

general_an@green kann dabei gegen jedes icon (z.B. lampenicon) und farbe getauscht werden.

Titel: Antw:readingsGroup Homematic HM-ES-PMSw1-Pl und Fritz!DECT200
Beitrag von: KNUT345 am 21 Dezember 2014, 17:47:02
Mit dem Hinweis bin ich nun schon deutlich weiter gekommen.

Allerdings habe ich nun
3) ein Formatproblem, denn

attr Steckdosen valueFormat { 'power' => "%.1f W", 'voltage' => "%.0f V", 'energy' => "%.0f Wh" }

liefert mir zurecht Perl-Warnungen, da ein Teil der Werte bereits formatiert ist.
Zitat
2014.12.21 17:33:21 1: PERL WARNING: Argument "0.71 W" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 712.
2014.12.21 17:33:21 1: PERL WARNING: Argument "21.74 W" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 712.
2014.12.21 17:34:23 1: PERL WARNING: Argument "0.71 W" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 1009.
2014.12.21 17:35:32 1: PERL WARNING: Argument "1.43 W" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 1009.
2014.12.21 17:35:54 1: PERL WARNING: Argument "232.186 V" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 712.
2014.12.21 17:35:54 1: PERL WARNING: Argument "693 Wh" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 712.
2014.12.21 17:35:54 1: PERL WARNING: Argument "231.802 V" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 712.
2014.12.21 17:35:54 1: PERL WARNING: Argument "76325 Wh" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 712.
2014.12.21 17:35:54 1: PERL WARNING: Argument "229.776 V" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 712.
2014.12.21 17:35:54 1: PERL WARNING: Argument "44763 Wh" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 712.
2014.12.21 17:35:57 1: PERL WARNING: Argument "231.446 V" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 1009.
2014.12.21 17:35:57 1: PERL WARNING: Argument "76326 Wh" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 1009.

habe schon diverse Varianten probiert, komm aber da nicht weiter

attr Steckdosen valueFormat { if ($Value=~ /W/) {substr($Value,0,-1)} {$Value}}
attr Steckdosen valueFormat { 'power' => "{ if ($VALUE=~ /W/) {$VALUE} {%.0f W}}" }
Titel: Antw:Gelöst: readingsGroup Homematic HM-ES-PMSw1-Pl und Fritz!DECT200
Beitrag von: KNUT345 am 22 Dezember 2014, 22:54:17
nach einigem rumprobieren habe ich für mich eine Lösung gefunden


attr Steckdosen valueFormat {return "%0.1f W" if ($READING eq "power" && substr($VALUE,-1,1) ne "W");;;; {return "%0.1f V" if ($READING eq "voltage" && substr($VALUE,-1,1) ne "V");;;; {return "%0.0f Wh" if ($READING eq "energy" && substr($VALUE,-2,2) ne "Wh");;;; {return sprintf("%.1f", substr($VALUE,0,-1))." W" if ($READING eq "power" && substr($VALUE,-1,1) eq "W");;;; {return sprintf("%.1f", substr($VALUE,0,-1))." V" if ($READING eq "voltage" && substr($VALUE,-1,1) eq "V");;;; return $VALUE;;;; } } } }}
Titel: Antw:Gelöst: readingsGroup Homematic HM-ES-PMSw1-Pl und Fritz!DECT200
Beitrag von: KNUT345 am 22 Dezember 2014, 22:56:22
sorry finales Bilder vergessen