[gelöst] readingsGroup Reading und Set

Begonnen von T3mplate, 19 Mai 2016, 13:01:10

Vorheriges Thema - Nächstes Thema

T3mplate

Hallo,

ich habe mir den Artikel (http://www.fhemwiki.de/wiki/ReadingsGroup) durchgelesen und mehrere Sachen davon selbst ausprobiert.
Mein Problem konnte ich aber nicht lösen:

Ich habe einen Fibaro WallPlug 102 (Wandschalter mit Verbrauchsmessung).
Dies möchte ich gerne wie hier: http://www.fhemwiki.de/wiki/ReadingsGroup#Schriftgr.C3.B6.C3.9Fen.2C_Farben.2C_Icons
(http://www.fhemwiki.de/w/images/thumb/5/52/RgVerbrauchPCA301.png/400px-RgVerbrauchPCA301.png)
einfügen mit der Ergänzung, dass man den state Zustand dort ändern kann. Funktioniert das?

fhem hat für den WallPlug bereits sehr schöne Icons. Kann man diese je nach Zustand einblenden und - wenn man auf dieses Icon drückt - den WallPlug toggeln lassen und das neue Symbol einblenden?

justme1968

was genau geht denn nicht?

mit dem dort verwendeten valueIcon mapping wird das normale devStateIcon des devices verwendet und ist genau so anklickbar wie im device selber.

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

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

T3mplate

#2
OK. Das habe ich übersehen.
Mein Code (annähernd von readingGroup kopiert) sieht folgendermaßen aus:


#ReadingGroup für WallPlug im Wohnzimmer
define Verbrauch_Wohnzimmer readingsGroup ZWave_WallPlug1:state,power,energy
attr Verbrauch_Wohnzimmer alias Verbrauch
attr Verbrauch_Wohnzimmer mapping {'ZWave_WallPlug1' => 'Steckdose'}
attr Verbrauch_Wohnzimmer room Wohnzimmer
attr Verbrauch_Wohnzimmer style style="font-size:20px"
attr Verbrauch_Wohnzimmer valueIcon { state => '%devStateIcon' }
attr Verbrauch_Wohnzimmer valueStyle {($READING eq "power" && $VALUE > 40)?'style="color:red"':'style="color:green"'}

Was zu folgendem Ergebnis führt:
(http://www.bilder-upload.eu/upload/38fd8f-1463689411.png)

Jetzt frage ich mich aber noch, wie ich das Steckdosensymbol einblenden kann.
Mit dem Code

attr Verbrauch_Wohnzimmer valueIcon { state => '%devStateIcon' }

mache ich ja state klickbar.
Die Steckdose kann ich als Symbol über

attr Verbrauch_Wohnzimmer valueIcon { state.on => 'black_Steckdose.on' }

einblenden. Aber wie kombiniere ich beides?

justme1968

etwas klickbar machst du mit dem commands attribut. das icon vergibst du mit dem valueIcon attribut. beides ist prinzipiell erst mal unabhängig voneinander.

%devStateIcon ist nur eine abkürzung wenn du im device schon das richtige icon und die richtige konfiguration fürs klicken hast. dann kannst du dir commands sparen.

wenn es um ein icon für state geht ist das einfachste du verwendest das devStateIcon attribut im eigentlichen device um alles so zu konfigurieren wie du es haben möchtest. und nimmst dann nur noch die abkürzung.

gruss
  andre

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

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

T3mplate

Also ich habe jetzt im device ZWave_WallPlug1 nach einigem probieren und lesen (warum muss der Syntax in jedem Modul anders sein) folgenden Code ergänzt:

attr ZWave_WallPlug1 devStateIcon on:black_Steckdose.on:off off:black_Steckdose.off:on


Das bewirkt, dass das Device selbst jetzt je nach state die neuen Bilder verwendet.
Mit meinem Code

attr Verbrauch_Wohnzimmer valueIcon { state => '%devStateIcon' }

in der readingsGroup ruft es dadurch automatisch auch die richtigen Bilder auf.

(http://www.bilder-upload.eu/upload/8cb449-1463691778.png)

So habe ich mir das Vorgestellt. Vielen Dank!

Dennoch würde mich die Lösung interessieren, wie man nur in der readingsGroup den state command schaltbar macht und das Symbol ändert (so wie jetzt bei mir) ohne das man das Device anfassen muss. Ich stelle mir vor, dass ich das nicht immer einheitlich vom Device aus vorgeben möchte.

justme1968

die syntax für devStateIcon ist in jedem modul gleich :)

die syntax für devStateIcon und in der readingsGroup unterscheidet sich weil die readingGroup sehr viel mehr kann.

attr <rg> commands   { 'state.on' => 'set $DEVICE off', 'state.off' => 'set $DEVICE on'}
attr <rg> valueIcon  { 'state.on' => 'black_Steckdose.on', 'state.off' => 'black_Steckdose.off' }


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

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