Hallo,
ich ermittle mit
'batteryPercent' => 'measure_battery_'.sprintf("%.0f",(($VALUE)/25))*25}
im Attribut ValueIcon in Abhängigkeit vom Wert batteryPercent das Batterie-Icon (0%,25%,50%,75% und 100%). Der Wert von batteryPercent kann zwischen 0 - 100 liegen.
Allerdings werden die Icons in grün dagestellt. Ich möchte aber alle Icons bis auf das 0% in schwarz. Das 0%-Icon soll in rot dargestellt werden.
Wer hat einen Tipp?
Viele Grüße
Jürgen
'batteryPercent' => {if (!$VALUE) {$VALUE = 'measure_battery_0@red'} else {$VALUE = 'measure_battery_'.$VALUE.'@black'}}
wenn deine rg wirklich nur eine Spalte hat , sonst muss $READING noch mit dazu.
Hallo Wzut,
leider bekomme ich einen Syntaxfehler:
syntax error at (eval 708105) line 1, near "{if"
Ich sehe aber keinen Fehler. Kannst Du noch einmal helfen? Die Readingsgroup ist wie folgt definiert.
defmod rg_statusinfo readingsGroup <Gerät>,<Verbindung>,<Batterie>,<Prozent>\
FBDECT_FB_10971.*:present,batteryPercent,battery\
HM_Se.*:activity,battery\
HM_M.*:activity,battery
attr rg_statusinfo alias Statusinformationen über Batterien und Verbindung
attr rg_statusinfo cellStyle { "c:1" => 'style="text-align:left"' }
attr rg_statusinfo group Statusinformationen
attr rg_statusinfo mapping %ALIAS
attr rg_statusinfo nameStyle { if ($DEVICE =~ "HM" or \
$DEVICE =~ "FB")\
{'style="text-align:left"'}\
else\
{'style="text-align:rigth"'}}
attr rg_statusinfo room Statuszentrale
attr rg_statusinfo sortColumn 1
attr rg_statusinfo sortby 05
attr rg_statusinfo style style="text-align:center"
attr rg_statusinfo valueIcon {'battery.ok' => 'measure_battery_100@black','batteryState.ok' => 'remotecontrol/black_btn_GREEN','present.yes' => 'remotecontrol/black_btn_GREEN','present.no' => 'control_x@red','activity.alive' => 'remotecontrol/black_btn_GREEN','activity.dead' => 'control_x@red','batteryPercent' => 'measure_battery_'.sprintf("%.0f",(ReadingsVal($DEVICE,"batteryPercent",0)/25))*25}
Viele Grüße
Jürgen
Mach es doch über das devstateicon.....
Gesendet von meinem MI 9 mit Tapatalk
Hallo sash.sc,
wenn Du mir zeigst wie, gerne. Meine Versuche waren alle erfolglos. Bitte beachte, dass hier 3 Informationen (Status, Batterie-Icon, Prozentsatz) in einer Zeile angezeigt werden.
Viele Grüße
Jürgen
Hallo zusammen,
hat keiner einen Tipp?
Viele Grüße
Jürgen
Hallo,
nach vielen Test ist es mir gelungen eine Lösung zu finden.
{'batteryPercent' => '{if ($VALUE >= 15) {"measure_battery_".(sprintf("%.0f",(($VALUE)/25))*25)."\@black"} else {"measure_battery_".(sprintf("%.0f",(($VALUE)/25))*25)."\@red"}}'}
Viele Grüße
Jürgen
Falls noch jemand an einer Einfärbung nach Level der Batterie interessiert ist, vielen Dank für die Vorarbeit:
{'batteryPercent' => '{if ($VALUE <= 25) {"measure_battery_".(sprintf("%.0f",(($VALUE)/25))*25)."\@red"} else {if ($VALUE <= 50) {"measure_battery_".(sprintf("%.0f",(($VALUE)/25))*25)."\@orange"} else {if ($VALUE <= 75) {"measure_battery_".(sprintf("%.0f",(($VALUE)/25))*25)."\@yellow"} else {"measure_battery_".(sprintf("%.0f",(($VALUE)/25))*25)."\@green"}}}}'}