Readingsgroup - 'none' anzeigen wenn Reading nicht vorhanden?

Begonnen von ToM_ToM, 07 Oktober 2017, 10:02:45

Vorheriges Thema - Nächstes Thema

ToM_ToM

Hallo Zusammen,

ich habe mir eine kleine ReadingsGroup gebastelt in der ich eigentlich den Batteriestatus anzeigen lassen möchte.

1. Spalte: Batterie Ok/low
2. Spalte: Spannung/Prozent
3. Spalte: Alive/Dead

Nicht jedes Device hat das Reading der Spannung. Somit rutscht dann z.B. der Wert der 3. Spalte auf die 2. Spalte.


Hatte es so versucht, hat aber leider nicht funktioniert.:
defmod Batterieuebersicht readingsGroup <Device>,<Batteriestatus>,<Batterielevel>,<Activity> .*:battery,batteryLevel,Activity\

attr Batterieuebersicht valueFormat { if (defined $VALUE) {return $VALUE;;;;} else { return 'none';;;;} }
attr Batterieuebersicht valueIcon {'battery.ok' => 'batterie@green', 'battery.low' => 'batterie@red'}


VG, Thomas
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

justme1968

du kannst die spalten mit valueColumn fest vorgeben.

alternativ kannst du auch mit dem ! prefix readings erzwingen die nicht vorhanden sind und sie dann über valueFormat auf den wert setzen den du haben willst.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

ToM_ToM

Vielen Dank für die schnelle Antwort.

Zitatalternativ kannst du auch mit dem ! prefix readings erzwingen die nicht vorhanden sind und sie dann über valueFormat auf den wert setzen den du haben willst.

Kannst du mir da ein Beispiel geben?

VG, Thomas
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

justme1968

warum nimmst du nicht den einfachen weg über valueColumn ?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

ToM_ToM

Zitatwarum nimmst du nicht den einfachen weg über valueColumn ?

Wie würde der denn in meinem Fall aussehen? Irgendwie verstehe ich das anhand der Beschreibung der Commandref und Wiki nicht.

VG, Thomas
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

justme1968

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

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

ToM_ToM

Zitatwas genau ist denn unklar?

Die Beschreibung.

valueColumn
Specify the minimum column in which a reading should appear.
attr temperatures valueColumn { temperature => 2 }


Was genau macht diesese Attribut? Wenn ich dich richtig verstanden habe, kann ich damit die Spaltenbreite angeben. Aber wie genau würde das aussehen?

VG, Thomas
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

ToM_ToM

Habe es jetzt so versucht, aber funktioniert leider auch nicht. Wenn das Reading nicht existiert, rutschen die Werte immer noch nach links.

defmod Batterieuebersicht readingsGroup <Device>,<Batteriestatus>,<Batterielevel>,<Activity> .*:battery,batteryLevel,Activity\

attr Batterieuebersicht valueColumn { battery => 1,batteryLevel => 1 }
attr Batterieuebersicht valueFormat { if (defined $VALUE) {return $VALUE;;;;} else { return 'none';;;;} }
attr Batterieuebersicht valueIcon {'battery.ok' => 'batterie@green', 'battery.low' => 'batterie@red'}


Kann mir irgendwie nicht vorstellen dass es so kompliziert ist, das vernünftig darzustellen.
Da muss es doch irgendeinen einfachen Trick geben den ich einfach übersehe. :/

VG, Thomas
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

justme1968

du gibst nicht die spalten breite sondern die spalten position an. also etwa so: attr Batterieuebersicht valueColumn { Activity => 4 }
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

ToM_ToM

Ah... jetzt.  :D

So funktioniert es nun.
defmod Batterieuebersicht readingsGroup <Device>,<Batteriestatus>,<Batterielevel>,<Activity> .*:battery,batteryLevel,Activity\

attr Batterieuebersicht valueColumn { battery => 1,batteryLevel => 2, Activity => 3 }
attr Batterieuebersicht valueFormat { if (defined $VALUE) {return $VALUE;;;;} else { return 'none';;;;} }
attr Batterieuebersicht valueIcon {'battery.ok' => 'batterie@green', 'battery.low' => 'batterie@red'}


Vielen Dank!
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8