DevStateIcon: Unterschied zwischen den Versionen

Aus FHEMWiki
KKeine Bearbeitungszusammenfassung
K (Typos etc.)
 
(7 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt)
Zeile 5: Zeile 5:


== Syntax ==
== Syntax ==
Das ''devStateIcon'' Attribut kann in 2 verschiedenen Formen spezifiziert werden, die in der [http://fhem.de/commandref.html#devStateIcon commandref] detailliert beschrieben werden.
Das ''devStateIcon'' Attribut kann in 2 verschiedenen Formen spezifiziert werden, die in der {{Link2CmdRef|Anker=devStateIcon}} sowie in [[DeviceOverview anpassen#devStateIcon|deviceOverview]] detaillierter beschrieben werden.
 
 
Seit FHEM Version 2019-02-20 gibt es die Möglichkeit mehr als ein Icon pro Device darzustellen: Sobald STATE mehrzeilig ist wird für jede Zeile ein Icon erzeugt und alle Icons nebeneinander
dargestellt. Mehrere Zeilen für STATE lassen sich über ein entsprechend gesetztes stateFormat Attribut erreichen. Ein Zeilenumbruch zwischen diesen Icons lässt sich mit <br> erzeugen.
 
Ein Beispiel findet sich in {{Link2Forum|Topic=97586|LinkText=diesem Forenthread}} zur Entstehung des Features.
 
[[Datei:stateFormat-1.png|600px]]


== Einschränkungen ==  
== Einschränkungen ==  
In ''devStateIcon'' dürfen keine Leerzeichen vorkommen (ausser zur Trennung der unterschiedlichen Zustände).  
In ''devStateIcon'' dürfen keine Leerzeichen vorkommen (ausser zur Trennung der unterschiedlichen Zustände).  


In den Zuständen können Leerzeichen durch einen . (Punkt) ersetzt werden.
Da in der ersten Form der erste Teil jedes Tripels eine Regex ist, sind hier die für eine Regex geltenden Regeln zu beachten. Unter anderem sind das:
* Leerzeichen durch . oder \s ersetzen
* alle Zeichen die in einer Regex eine besondere Bedeutung haben (Klammern, Punkte, Backslash, ...) maskieren.


So müsste z.B. (siehe auch {{Link2Forum|Topic=42351|LinkText=dieses Forenthema}}
So müsste z.B. (siehe auch {{Link2Forum|Topic=42351|LinkText=dieses Forenthema}})
:<code>devStateIcon on-old-for-timer 60:weather_rain_heavy@red:off off:weather_sun@yellow:on-old-for-timer 60</code>
:<code>devStateIcon on-old-for-timer 60:weather_rain_heavy@red:off off:weather_sun@yellow:on-old-for-timer 60</code>
geändert werden auf  
geändert werden auf  
Zeile 27: Zeile 37:


== Links ==
== Links ==
* Ausführliche Beschreibung (mit Beispielen) zu [[eventMap]], devStateIcon, [[setList]] und [[webCmd]] in {{Link2Forum|Topic=12080|LinkText=diesem Forenthread}}
* Ausführliche Beschreibung (mit Beispielen) zu [[eventMap]], devStateIcon, [[setList]] und [[webCmd]] in {{Link2Forum|Topic=12080|LinkText=diesem Forenthread}} oder in [[DeviceOverview anpassen]]
* Beispiel für FS20 {{Link2Forum|Topic=26521|Message=197326}}
* Beispiel für FS20 {{Link2Forum|Topic=26521|Message=197326}}


[[Kategorie:Attribut (allgemeingültig)]]
[[Kategorie:Attribut (allgemeingültig)]]

Aktuelle Version vom 22. Oktober 2019, 14:04 Uhr


Das Attribut devStateIcon dient dazu, das anzuzeigende Icon eines Devices in Abhängigkeit vom Device-Status (STATE) in der Raumübersicht (room) festzulegen. Zudem kann man einstellen, was bei einem Klick auf das Icon geschieht.

Syntax

Das devStateIcon Attribut kann in 2 verschiedenen Formen spezifiziert werden, die in der commandref/devStateIcon sowie in deviceOverview detaillierter beschrieben werden.


Seit FHEM Version 2019-02-20 gibt es die Möglichkeit mehr als ein Icon pro Device darzustellen: Sobald STATE mehrzeilig ist wird für jede Zeile ein Icon erzeugt und alle Icons nebeneinander dargestellt. Mehrere Zeilen für STATE lassen sich über ein entsprechend gesetztes stateFormat Attribut erreichen. Ein Zeilenumbruch zwischen diesen Icons lässt sich mit <br> erzeugen.

Ein Beispiel findet sich in diesem Forenthread zur Entstehung des Features.

StateFormat-1.png

Einschränkungen

In devStateIcon dürfen keine Leerzeichen vorkommen (ausser zur Trennung der unterschiedlichen Zustände).

Da in der ersten Form der erste Teil jedes Tripels eine Regex ist, sind hier die für eine Regex geltenden Regeln zu beachten. Unter anderem sind das:

  • Leerzeichen durch . oder \s ersetzen
  • alle Zeichen die in einer Regex eine besondere Bedeutung haben (Klammern, Punkte, Backslash, ...) maskieren.

So müsste z.B. (siehe auch dieses Forenthema)

devStateIcon on-old-for-timer 60:weather_rain_heavy@red:off off:weather_sun@yellow:on-old-for-timer 60

geändert werden auf

devStateIcon on-old-for-timer.60:weather_rain_heavy@red:off off:weather_sun@yellow:on-old-60

wobei in diesem Beispiel zusätzlich der Befehlsteil des off mit der Attributdefinition

eventMap /on-old-for-timer 60:on-old-60/

auf eine "leerzeichenlose" Version umdefiniert werden muss.

Beispiele

Links