FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: ToM_ToM am 07 Oktober 2017, 10:02:45

Titel: Readingsgroup - 'none' anzeigen wenn Reading nicht vorhanden?
Beitrag von: ToM_ToM am 07 Oktober 2017, 10:02:45
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
Titel: Antw:Readingsgroup - 'none' anzeigen wenn Reading nicht vorhanden?
Beitrag von: justme1968 am 07 Oktober 2017, 10:10:01
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.
Titel: Antw:Readingsgroup - 'none' anzeigen wenn Reading nicht vorhanden?
Beitrag von: ToM_ToM am 07 Oktober 2017, 10:11:32
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
Titel: Antw:Readingsgroup - 'none' anzeigen wenn Reading nicht vorhanden?
Beitrag von: justme1968 am 07 Oktober 2017, 10:16:35
warum nimmst du nicht den einfachen weg über valueColumn ?
Titel: Antw:Readingsgroup - 'none' anzeigen wenn Reading nicht vorhanden?
Beitrag von: ToM_ToM am 07 Oktober 2017, 12:24:55
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
Titel: Antw:Readingsgroup - 'none' anzeigen wenn Reading nicht vorhanden?
Beitrag von: justme1968 am 07 Oktober 2017, 13:01:16
 was genau ist denn unklar?
Titel: Antw:Readingsgroup - 'none' anzeigen wenn Reading nicht vorhanden?
Beitrag von: ToM_ToM am 07 Oktober 2017, 13:14:12
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
Titel: Antw:Readingsgroup - 'none' anzeigen wenn Reading nicht vorhanden?
Beitrag von: ToM_ToM am 07 Oktober 2017, 22:44:04
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
Titel: Antw:Readingsgroup - 'none' anzeigen wenn Reading nicht vorhanden?
Beitrag von: justme1968 am 07 Oktober 2017, 22:46:36
du gibst nicht die spalten breite sondern die spalten position an. also etwa so: attr Batterieuebersicht valueColumn { Activity => 4 }
Titel: Antw:Readingsgroup - 'none' anzeigen wenn Reading nicht vorhanden?
Beitrag von: ToM_ToM am 07 Oktober 2017, 22:50:59
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!