Gelöst: ReadingsGroup - Floorplan, Longpoll - die 100ste

Begonnen von Klouse, 24 Februar 2016, 12:02:08

Vorheriges Thema - Nächstes Thema

Klouse

Guten Morgen,

ich habe eine Readingsgroup mit Value Icons, siehe Anhang.

Diese erhält ihre Daten von Presence und eigene setreading Werten,
leider werden diese nicht wie der restliche Teil per longpoll auf dem Floorplan aktualisiert.

define RG_Mobile readingsGroup <Name>,<Status>,<Akku> KlousePhone|KlousePad|KlouseWatch:presence,PowerLevel
attr RG_Mobile alias Geräte: Mobil
attr RG_Mobile fp_fp_KlousePad 1170,12,0, ,RG_Mobile
attr RG_Mobile mapping %ALIAS
attr RG_Mobile nameStyle style="text-align:left"
attr RG_Mobile nolinks 1
attr RG_Mobile notime 1
attr RG_Mobile room Clients
attr RG_Mobile valueIcon {'PowerLevel.0' => 'stat_sys_battery_0', 'PowerLevel.1' => 'stat_sys_battery_1', 'PowerLevel.2' => 'stat_sys_battery_2', 'PowerLevel.3' => 'stat_sys_battery_3',\
'PowerLevel.4' => 'stat_sys_battery_4', 'PowerLevel.5' => 'stat_sys_battery_5', 'PowerLevel.6' => 'stat_sys_battery_6', 'PowerLevel.7' => 'stat_sys_battery_7', \
'PowerLevel.8' => 'stat_sys_battery_8', 'PowerLevel.9' => 'stat_sys_battery_9', 'PowerLevel.10' => 'stat_sys_battery_10', 'PowerLevel.11' => 'stat_sys_battery_11', \
'PowerLevel.12' => 'stat_sys_battery_12', 'PowerLevel.13' => 'stat_sys_battery_13', 'PowerLevel.14' => 'stat_sys_battery_14', 'PowerLevel.15' => 'stat_sys_battery_15',\
'PowerLevel.16' => 'stat_sys_battery_16', 'PowerLevel.17' => 'stat_sys_battery_17', 'PowerLevel.18' => 'stat_sys_battery_18', 'PowerLevel.19' => 'stat_sys_battery_19',\
'PowerLevel.20' => 'stat_sys_battery_20', 'PowerLevel.21' => 'stat_sys_battery_21', 'PowerLevel.22' => 'stat_sys_battery_22', 'PowerLevel.23' => 'stat_sys_battery_23',\
'PowerLevel.24' => 'stat_sys_battery_24', 'PowerLevel.25' => 'stat_sys_battery_25', 'PowerLevel.26' => 'stat_sys_battery_26', 'PowerLevel.27' => 'stat_sys_battery_27',\
'PowerLevel.28' => 'stat_sys_battery_28', 'PowerLevel.29' => 'stat_sys_battery_29', 'PowerLevel.30' => 'stat_sys_battery_30', 'PowerLevel.31' => 'stat_sys_battery_31',\
'PowerLevel.32' => 'stat_sys_battery_32', 'PowerLevel.33' => 'stat_sys_battery_33', 'PowerLevel.34' => 'stat_sys_battery_34', 'PowerLevel.35' => 'stat_sys_battery_35',\
'PowerLevel.36' => 'stat_sys_battery_36', 'PowerLevel.37' => 'stat_sys_battery_37', 'PowerLevel.38' => 'stat_sys_battery_38', 'PowerLevel.39' => 'stat_sys_battery_39',\
'PowerLevel.40' => 'stat_sys_battery_40', 'PowerLevel.41' => 'stat_sys_battery_41', 'PowerLevel.42' => 'stat_sys_battery_42', 'PowerLevel.43' => 'stat_sys_battery_43',\
'PowerLevel.44' => 'stat_sys_battery_44', 'PowerLevel.45' => 'stat_sys_battery_45', 'PowerLevel.46' => 'stat_sys_battery_46', 'PowerLevel.47' => 'stat_sys_battery_47',\
'PowerLevel.48' => 'stat_sys_battery_48', 'PowerLevel.49' => 'stat_sys_battery_49', 'PowerLevel.50' => 'stat_sys_battery_50', 'PowerLevel.51' => 'stat_sys_battery_51',\
'PowerLevel.52' => 'stat_sys_battery_52', 'PowerLevel.53' => 'stat_sys_battery_53', 'PowerLevel.54' => 'stat_sys_battery_54', 'PowerLevel.55' => 'stat_sys_battery_55',\
'PowerLevel.56' => 'stat_sys_battery_56', 'PowerLevel.57' => 'stat_sys_battery_57', 'PowerLevel.58' => 'stat_sys_battery_58', 'PowerLevel.59' => 'stat_sys_battery_59',\
'PowerLevel.60' => 'stat_sys_battery_60', 'PowerLevel.61' => 'stat_sys_battery_61', 'PowerLevel.62' => 'stat_sys_battery_62', 'PowerLevel.63' => 'stat_sys_battery_63',\
'PowerLevel.64' => 'stat_sys_battery_64', 'PowerLevel.65' => 'stat_sys_battery_65', 'PowerLevel.66' => 'stat_sys_battery_66', 'PowerLevel.67' => 'stat_sys_battery_67',\
'PowerLevel.68' => 'stat_sys_battery_68', 'PowerLevel.69' => 'stat_sys_battery_69', 'PowerLevel.70' => 'stat_sys_battery_70', 'PowerLevel.71' => 'stat_sys_battery_71',\
'PowerLevel.72' => 'stat_sys_battery_72', 'PowerLevel.73' => 'stat_sys_battery_73', 'PowerLevel.74' => 'stat_sys_battery_74', 'PowerLevel.75' => 'stat_sys_battery_75',\
'PowerLevel.76' => 'stat_sys_battery_76', 'PowerLevel.77' => 'stat_sys_battery_77', 'PowerLevel.78' => 'stat_sys_battery_78', 'PowerLevel.79' => 'stat_sys_battery_79',\
'PowerLevel.80' => 'stat_sys_battery_80', 'PowerLevel.81' => 'stat_sys_battery_81', 'PowerLevel.82' => 'stat_sys_battery_82', 'PowerLevel.83' => 'stat_sys_battery_83',\
'PowerLevel.84' => 'stat_sys_battery_84', 'PowerLevel.85' => 'stat_sys_battery_85', 'PowerLevel.86' => 'stat_sys_battery_86', 'PowerLevel.87' => 'stat_sys_battery_87',\
'PowerLevel.88' => 'stat_sys_battery_88', 'PowerLevel.89' => 'stat_sys_battery_89', 'PowerLevel.90' => 'stat_sys_battery_90', 'PowerLevel.91' => 'stat_sys_battery_91',\
'PowerLevel.92' => 'stat_sys_battery_92', 'PowerLevel.93' => 'stat_sys_battery_93', 'PowerLevel.94' => 'stat_sys_battery_94', 'PowerLevel.95' => 'stat_sys_battery_95',\
'PowerLevel.96' => 'stat_sys_battery_96', 'PowerLevel.97' => 'stat_sys_battery_97', 'PowerLevel.98' => 'stat_sys_battery_98', 'PowerLevel.99' => 'stat_sys_battery_99',\
'PowerLevel.100' => 'stat_sys_battery_100', 'presence.present' => 'ico_success_shadow', 'presence.absent' => 'ico_failed_shadow'}


Gibt es hierzu schon eine Lösung, oder hat jemand eine Idee?

PS.: kann man das ValueIcon auch mit einer Variable lösen? war etwas mühsam 100 Einträge zu machen :D

Edit: Die ValueIcon frage ist geklärt, habe kurz rumgespielt und bin begestert - funktioniert wunderbar mit:

{'PowerLevel' => 'stat_sys_battery_$VALUE'}

Danke!

LG
Klaus

Klouse

So, alles gelöst, war ein ziemlicher anfängerfehler, wie es schien lag es an den event-on-change und event-on-update reading bei den devices.  :-[

Zu den ValueIcons habe ich eine noch schönere Lösung gebastelt, vielleicht interessiert es jemanden:


'PowerLevel' => '{if(ReadingsVal("$DEVICE","PowerPlugged",0) eq "true") {"stat_sys_battery_charge_anim$VALUE"} else {"stat_sys_battery_$VALUE"}}'


Tasker sendet die Werte PowerLevel und Power-Plugged für die Devices per setreading an fhem,
nun gibt es je nachdem ob die Geräte angesteckt sind oder nicht ein Ladesymbol mit 1-100 oder ein Statussymbol mit 1-100.

LG,
Klaus