[gelöst] Battery Status für alle Geräte

Begonnen von tboston, 12 Oktober 2016, 08:52:26

Vorheriges Thema - Nächstes Thema

Wzut

Um den Knoten zu lösen würde ich mit https://forum.fhem.de/index.php/topic,19621.0.html beginnen.
Ich habe das damals (2014) zuerst auch ignoriert, aber irgendwann kam ich mit copy & paste nicht weiter und war schon kurz davor FHEM wieder zu löschen :)

Der Patch von Andre hatte das simple Ziel mehr als ein stateIcon anzuzeigen, wenn du da komplette HTML Formatierung reinpacken willst wirst du wohl auf die Perl Variante wechseln müssen , siehe hier ->  https://forum.fhem.de/index.php?topic=97573.msg908143#msg908143

readingList kannst du nicht benutzen weil dein Device dieses nicht hat, es ist ein Attribut das zum Device Typ dummy gehört.
Andre hat sein Beispiel halt auf einem Dummy gesetzt und da Dummys von Haus aus keine Readings haben (im Gegensatz zu deinem Sensor) musste
er das benutzen,
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

justme1968

@AtomicOne: ja. es ist im prinzip auch anderes html möglich. aber es gibt ein paar randbedingungen.

wichtig: devStateIcon hat bisher auf dem kompletten inhalt von STATE gearbeitet. d.h. wenn die regex matched wird STATE komplett durch das icon ersetzt. wenn nicht bleibt sie wie sie ist.

um rückwärts kompatibel zu bleiben kann man das nicht einfach ändern. die einzige Erweiterung die möglich war: statt alles auf ein mal zu bearbeiten wird jetzt zeilenweise gearbeitet. d.h. jede zeile von STATE wird einzeln betrachtet. wenn eine zeile machte wird sie durch das icon ersetzt. wenn nicht bleibt sie wie sie ist und die nächste zeile kommt drann. alle ergebnisszeilen werden dann nebeneinander gesetzt.

daraus folgt z.b.: wenn die die html tags in der gleichen zeile hat wie das reading:
- matched deine devStateIcon regex nicht mehr wenn du sie nicht anpasst
und/oder
- wird die komplette zeile inklusive html durch das icon ersetz
d.h: die html tags dürfen nicht in der gleichen zeile stehen wie ein icon.
ebenfalls wichtig: die readings werden nur ersetz wenn sie als eigene worte (d.h. mit whitespace davor und dahinter) erkannt werden.

etwas in der art:<table><tr><td> temperature &deg;C</td><td rowspan=2>
battery
</td></tr><tr><td> humidity %rel.</td></tr></table>
oder<table>
<tr><td> temperature &deg;C</td>
<td rowspan=2>
battery
</td></tr>
<tr><td> humidity %rel.</td></tr>
</table>

könnte gehen (ungetestet).


der inzwischen eingebaute patch ist dazu da auf einfache weise und rückwärts kompatibel für mehrere readings gleichzeitig ein icon anzuzeigen.

wenn du wert auf eine besondere formatierung legst kommst du weiterhin nicht um die perl variante herum.



neben dem pdf: fang hier: https://wiki.fhem.de/wiki/DevStateIcon an zu lesen. inklusive der ganzen links. vor allem auch diesen hier: https://forum.fhem.de/index.php/topic,12080.msg71651.html#msg71651
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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