Hallo an alle Spezialisten!
Für einen schnellen Überblick habe ich eine Readingsgroup definiert (siehe Anhang). Funktioniert ganz gut, allerdings habe ich das Problem dass die angezeigten Devices nicht alle die gleichen Readings abgeben. Das führt dann zu einer etwas schrägen Anzeige (bei "OG_Bad_F" und "EG_Toilette_F").
(http://forum.fhem.de/index.php?action=dlattach;topic=41330.0;attach=37598)
Zusammengebastelt habe ich es so:
define Temperatur readingsGroup <Device>,<Batterie>,<|>,<RSSI>,<|>,<Modus>,<|>,<Temp Soll>,<|>,<Temp Ist>,<|>,<Position> TYPE=MAX:[Bb]attery,<|>,!RSSI,<|>,mode,<|>,desiredTemperature,<|>,temperature,<|>,valveposition
attr Temperatur alias Status Temperatur
attr Temperatur group Info
attr Temperatur mapping %ALIAS
attr Temperatur room Status
attr Temperatur sortby 9
attr Temperatur valueFormat {battery => "%s", desiredTemperature=>"%.1f", RSSI=>"%.1f",temperature=>"%.1f",valveposition=>"%.0f"}
attr Temperatur valueStyle { if ($READING eq "battery" && $VALUE ne "ok"){ 'style="color:red;;;;font-weight:bold" ' } else{ 'style="color:blue;;;;text-align:center"' } }
attr Temperatur valueSuffix { temperature => "°C",desiredTemperature => "°C",valveposition=> "%"}
attr Temperatur visibility collapsible
Hat jemand eine Idee, wie ich die "|" ohne Lücken untereinander kriege?
Danke + Gruss
willy
Das einfachste wäre, den Devices, denen ein oder mehrere Readings fehlen, diese einfach per
setreading DEVICE READING -
zu verpassen. Ich weiß aber nicht, ob readingsGroup eventuell eingebaute Mechanismen dafür hat. Wenn ja, steht's sicher in der Doku.
du kannst mit !reading dir anzeige erzwingen auch wenn es das reading nicht gibt.
du kannst dann diesen wert z.b. auf auch einen leeren string mappen.
oder du legst mit valueColumn fest in welcher spalte ein Wert stehe soll. dann werden leere spalten übersprungen.
gruss
andre
Zitat von: marvin78 am 22 September 2015, 10:16:32
setreading DEVICE READING -
sieht ein wenig unelegant aus. Da steht dann z.B. "- %".
Zitat von: justme1968 am 22 September 2015, 11:52:03
du kannst mit !reading dir anzeige erzwingen auch wenn es das reading nicht gibt.
du kannst dann diesen wert z.b. auf auch einen leeren string mappen.
dann muss ich fuer alle spalten den default-Wert auf "leer" mappen, richtig? Was mach ich dann mit den Werten in valueSuffix?
Zitat von: justme1968 am 22 September 2015, 11:52:03
oder du legst mit valueColumn fest in welcher spalte ein Wert stehe soll. dann werden leere spalten übersprungen.
Funktioniert nicht; im Log gibt es dazu eine Meldung:
2015.09.22 13:50:18 1: PERL WARNING: Argument "desiredTemperature => 7" isn't numeric in numeric lt (<) at ./FHEM/33_readingsGroup.pm line 1038.
Mach ich da was falsch?
Danke + Gruss
willy
{desiredTemperature => 7}
:-\ Es ist immer das gleiche: kaum macht man es richtig, funktioniert es ....
Danke für die Hilfe !
Gruss
Willy
Zitat von: justme1968 am 22 September 2015, 11:52:03du kannst mit !reading dir anzeige erzwingen auch wenn es das reading nicht gibt.
du kannst dann diesen wert z.b. auf auch einen leeren string mappen.
Wie geht das Mappen denn genau? In der Commandref finde ich nur das Attribut "mapping", das sich aber nur auf das Ersetzen des Gerätenamens zu beziehen scheint.
Ich möchte, dass die mittels "!reading" erzwungne Anzeige eines nicht vorhandenen Readings ein leeres Feld zeigt und nicht, wie es bei mir der Fall ist, eine "0".
Ich möchte damit nur verhindern, dass weiter rechts in der Tabelle stehende Werte nicht nach links rücken.