FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: ChrisH am 26 Februar 2024, 11:59:51

Titel: devStateIcon bei mehrzeiligem State
Beitrag von: ChrisH am 26 Februar 2024, 11:59:51
Hi,
irgendwo sitze ich gerade auf der Leitung und sehe den Fehler nicht oder ich habe da einfach etwas falsch verstanden.

Ziel ist es an den Wechselrichter diese Icons zu packen:

2x measure_photovoltaic_inst jeweils pro Strang (Rot bei < 10W (1 Digit \d), gruen >=10W zwei Digits (\d) und mehr)
1x solar_icon fuer die connection zum Wechelrichter

u.a. gelesen habe ich diese Sachen:

https://wiki.fhem.de/wiki/DevStateIcon
https://wiki.fhem.de/wiki/DeviceOverview_anpassen#Multi-Icon-Variante


Der State sieht so aus:
opened Nord: 514W Sued: 606W Gesamt: 1078W

[r:SH08rt01:state]
Nord: [r:SH08rt01:Power_MPPT_2:r0]W
Sued: [r:SH08rt01:Power_MPPT_1:r0]W
Gesamt: [r:SH08rt01:Total_DC_Power:r0]W


Beim  devStateIcon versuche ich es gerade damit:
1\.opened:solar_icon@green 1\.disconnected:solar_icon@red
2\.Nord:.\dW:measure_photovoltaic_inst@red 2\.Nord:.\d{2,3}W:measure_photovoltaic_inst@green
3\.Sued:.\d:measure_photovoltaic_inst@red 3\.Sued:.\d{2,3}:measure_photovoltaic_inst@green

Diese Varianten habe ich schon erfolglos probiert



Ist mein Grundverständnis von devStateIcon falsch oder habe ich da einen syntaktischen Fehler drin?
Ich sehe gerade vor lauter Baeumen den Wald nicht mehr.

Christian
Titel: Aw: devStateIcon bei mehrzeiligem State
Beitrag von: Prof. Dr. Peter Henning am 29 Februar 2024, 10:19:20
Und wo bitte ist denn dieser State mehrzeilig? Wenn man alles in eine Zeile knallt, kann das natürlich nicht funktionieren.

Eine mehrzeilige Statusangabe muss also Zeilenvorschubzeichen enthalten, die vom Browser erkannt werden, z.B.
{my $open=ReadingsVal("SN55ZS49CE","tr_DoorState","");
sprintf("<p align=\"left\">\n%s\n<br/>%s\n%s</p>",
ReadingsVal("SN55ZS49CE","state",""),ReadingsVal("SN55ZS49CE","tr_State1",""),
(($open=~/offen/)?"<br/>".$open:""))}

Das liefert dann z.B. einen STATE
<p align="left">
Ready
<br/>Bereit
<br/>Tür offen</p>

Und bei der Anzeige wird nur die erste Zeile durch ein farbiges Icon ersetzt.

LG

pahScreenshot_20240229_101800.png