support für mehrere gleichzeitige devStateIcons in einem device

Begonnen von justme1968, 19 Februar 2019, 10:36:47

Vorheriges Thema - Nächstes Thema

justme1968

es gibt geräte bei denen es unter umsänden sinnvoll ist mehr als einen parameter im devStateIcon darzustellen. das ist aktuell nur über umwege (farbe, perl code) oder eine readingsGroup möglich.

ersteres ist nicht unbedingt intuitiv und letzteres ist manchmal mit kanonen auf spatzen geschossen.


der angehängte kleine patch zeigt eine möglichkeit mit der es einfach möglich wäre direkt mehrere icons pro device zu implementieren.

als trigger für die mehrfach darstellung wird die tatsache ausgenutzt, das bisher die verwendung von newline in stateFormat keinen einfluss auf die darstellung hat. mit dem patch ändert sich das. sobald es new lines gibt wird jede zeile bei der icon erstellung getrennt ausgewertet und alle icons kombiniert.


im beispiel wird eine hypothetische 3-fach steckdose mit zusätzlichen temperatur und batterie readings simuliert. jede der drei dosen ist einzeln per klick schaltbar. zusätzlich es wird temperatur und batterie stand angezeigt. das batterie kommando in den webCmd ist nur zum testen da.

defmod iconDemo dummy
attr iconDemo devStateIcon 1.on:on:on1+off 1.off:off:on1+on 2.on:on:on2+off 2.off:off:on2+on 3.on:on:on3+off 3.off:off:on3+on ok:batterie@green low:batterie@red
attr iconDemo readingList on1 on2 on3 battery
attr iconDemo room iconDemo
attr iconDemo setList on1:on,off on2:on,off on3:on,off battery:low,ok
attr iconDemo stateFormat 1:on1\
2:on2\
3:on3\
<br>\
temperature&deg;;C\
battery
attr iconDemo webCmd on1:on2:on3:battery

setstate iconDemo 1:off\
2:off\
3:off\
<br>\
21.2&deg;;C\
ok
setstate iconDemo 2019-02-19 10:12:55 battery ok
setstate iconDemo 2019-02-19 10:15:12 on1 off
setstate iconDemo 2019-02-19 10:20:24 on2 off
setstate iconDemo 2019-02-19 10:15:14 on3 off
setstate iconDemo 2019-02-19 10:14:32 temperature 21.2


ähnlich würde es für einen (mehrfach) schalter mit leistungsmessung oder einen heizungsthermostat mit mehreren parametern aussehen. oder für ein doppel fenster das zwei öffnungszeiten sensoren hat, oder ...

ps: bitte nicht durch die <n>: vor den drei on readings verwirren lassen. das ist nur für readings nötig die identische zustände annehmen können und per klick geschaltet werden sollen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Wzut

sehr schön, verstehe ich das richtig : mit dem Patch muss ich  in meinen Modulen für zwei und drei devstate Icons nicht mehr den Weg über die FW_summaryFN gehen ?
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

justme1968

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

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

rudolfkoenig

Hut ab von der Einrueckung.
Habs kurz getestet und eingecheckt.

justme1968

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

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

justme1968

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

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

rudolfkoenig


fireball

Hi,

ich würde auch gern ein zweitzeiliges stateFormat nutzen, aber mit ReadingsVal... Sehr ihr wo bei mir der Haken ist?!

stateFormat hat bei mir diesen Eintrag und ON/OFF mit dem Lämpchen wird angezeigt, aber in der zweiten Zeile ReadingsVal wird nicht mehr ausgewertet.

on off
<br>
{ReadingsVal("$name","power",0)." akt.Verbrauch  ".ReadingsVal("$name","energy",0)." Gesamt"}


ohne die erste Zeile funzt mit ReadingsVal alles, mit dem der zweiten Zeile wird aus dem "Code" Text...

VG
René

fireball

OK, habe mir grad ein wenig selber geholfen und ReadingsVal rausgeworden und ganz simple:

on off
<br>
power akt.Verbrauch  energy Gesamt


genutzt.
Jetzt wird alles wie gewünscht angezeigt, aber die Anzeige on/off wechselt nicht beim schalten von on/off in der Anzeige...

fireball

TommyLee hat mir den entscheidenen Hinweis gebracht:

Zitatstate
<br>
power akt.Verbrauch  energy Gesamt

VG