[GELÖST] - stateFormat - Text und Bilder/Icons

Begonnen von 87insane, 08 April 2019, 11:56:40

Vorheriges Thema - Nächstes Thema

87insane

Hallo zusammen,

habe am WE Geofancing und ROOMMATE usw angelegt. Geht auch alles wie es wohl soll. Ich würde nur gerne die location zusätzlich als Text neben dem Icon anzeigen lassen. Leider wird aber alles was ich in stateFormate einsetze, immer mit dem unknown Icon überschrieben. (Siehe unten - Standard devStateIcons)

Kann man in stateFormat explizit sagen -> DU sollst TEXT werden und dies und das soll via devStateIcon überdeckt werden? Auch wenn ich für alles ein Icon hätte, soll es Text werden.
Habt ihr noch andere Tipps oder Ideen? Bin ja quasi noch sehr frisch an dem Thema.

devStateIcon
.*home:user_available:absent .*absent:user_away:home .*gone:user_ext_away:home .*gotosleep:scene_toilet:asleep .*asleep:scene_sleeping:awoken .*awoken:scene_sleeping_alternat:home .*:user_unknown:home



stateFormat
state = Soll zum Bild werden
Aktuell hier: location = Soll Text sein

Otto123

Hi,

es ist doch so wie Du willst?
ZitatdevStateIcon
First form:
Space separated list of regexp:icon-name:cmd triples, icon-name and cmd may be empty.
If the state of the device matches regexp, then icon-name will be displayed as the status icon in the room, and (if specified) clicking on the icon executes cmd. If fhem cannot find icon-name, then the status text will be displayed. Example:

Die Magie ob Icon oder Text liegt im regExp  ;)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

87insane

Das mit Regex ist klar. Ich kann aber im stateFormat nicht explizit sagen, egal was vorkommt, es soll immer Text bleiben, oder?

Sollte auch nur ein Readinginhalt (egal in welchem Gerät) via Regex auf ein Icon verweisen, würde dies kein Text mehr bleiben. Hab erwartet, dass man den Teil, der Text bleiben soll, in irgendeiner Form maskieren kann. Ansonsten müsste ich z.B. die locations Namentlich extra so anpassen, das diese niemals gleich zu einem Regex wären.

justme1968

wenn du text und icon (bzw. mehrere icons) möchtest solltest du stateFormat mehrzeilig machen und die regexen in devStateIcon so wählen das der text nicht matched. mehr im wiki unter devSateIcon bzw in dem dort verlinkten foren thread.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Otto123

Ich denke: .*:willi erfüllt deine Aufgabe, solange es kein Icon willi gibt. Aber wahrscheinlich hab ich es nicht verstanden.
Der Tipp von justme1968 ist bestimmt der Bessere :)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

jkriegl

#5
Suche auch Bild und Text
Habe grünen/roten Punkt und Text zusammengebastelt. Siehe angehängtes png.
Jetzt hätte ich gerne das Tür-Icon mit Text verwendet.
Muss ich dazu extra png-Images erstellen und diese z.B. in images/default einstellen. Für roten Punkt funktioniert
'<div><img src="/fhem/images/default/10px-kreis-rot.png">'
Rpi 3, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

Beta-User

Also nochmal der Versuch, das zusammenzufassen:

Will man Text _und_ Icons als Anzeige für den mittleren Bereich (reserviert für STATE) verwenden, kann man das auf zwei Arten machen:

1. mit Perl-Code in devStateIcon - das ist wohl das was jkriegl im ersten Beispiel gemacht hat. Diese Variante lohnt aber m.E. seit dem patch von justme1968 in der Regel nur noch, wenn man sehr komplexe Dinge machen will, wie z.B. werteabhängige Hintergrundfarbe mit pahColor usw..

2. Mit Multi-Line Angaben bei stateFormat.
Dabei wird im Nachgang jede Zeile, die stateFormat erzeugt hat, durch die regexes in devStateIcon gesondert ausgewertet, hinterher wird das ganze in der Anzeige wieder hintereinanderher angezeigt. Für jede Zeile aus stateFormat gelten die allgemeinen Regeln für devStateIcon, also insbesondere, dass für ein Icon immer die längste Form "regexp:icon-name:cmd" ist.
Da es ein Symbol mit Namen "10px-kreis-rot" gibt, kann der einfach (ohne Dateiendung) an der entsprechenden Stelle angegeben werden.

Wer es gerne konkreter hätte, muß eine RAW-Definition von seinem Device (einschl. der setreading) liefern, sonst kann man das nicht nachstellen...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

jkriegl

#7
Frage geöst:
mit "FW_makeImage('fts_door_open@red')" s. Beispiel 2 im FHEMWiki DeviceOverview anpassen, dort devStateIcon
Rpi 3, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

87insane

Danke an alle hier!

Ist für mich als gelöst zu betrachten :)