Hallo
Habe ein Device mit mehreren devStateIcon.
Gibt es da eine Möglichkeiten die Icon's etwas auseinander zu rücken.
Wie ist dein devStateIcon Attribut definiert?
Bist du sicher, dass das mehrere devStateIcon sind (macht in meinen Augen keinen Sinn). Sind das nicht eher cmdIcons? bzw. sollten die das nicht besser welche sein?
Einfach einmal oder mehrfach verwenden sollte vermutlich gehen.
Definiert ist es so ..
devStateIcon
1.1:fts_shutter_20 1.3:fts_shutter_40 1.2:fts_shutter_90 3.Runter:fts_shutter_down:on1 2.Hoch:fts_shutter_up:on2 Stop:fts_shutter_manual:Stop
Ja es sind devStateIcons aber denke das es wohl doch mehr sind macht es mit cmdIclons zu machen
devStateIcon sollte aber nicht mehrere Icons generieren, sondern nur ein, abhängig vom Status des Devices.
ZitatdevStateIcon
Erste Variante:
Leerzeichen getrennte Auflistung von regexp:icon-name:cmd Dreierpärchen, icon-name und cmd dürfen leer sein.
Wenn STATE des Gerätes mit der regexp übereinstimmt, wird als icon-name das entsprechende Status Icon angezeigt, und (falls definiert), löst ein Klick auf das Icon das entsprechende cmd aus. Wenn FHEM icon-name nicht finden kann, wird STATE als Text angezeigt.
Was hast Du denn als STATE des Devices, wenn er so mehrere Icons zeigt?
Poste bitte am Besten ein kompletes "list" des Devices.
ZitatdevStateIcon sollte aber nicht mehrere Icons generieren, sondern nur ein, abhängig vom Status des Devices.
wenn stateformat mehrzeilig (https://forum.fhem.de/index.php/topic,97586.msg908277.html#msg908277) ist schon
Edit:
und da Namen für die Zeilen angegeben sind, gehe ich davon das das so ist
Siehst Du aber irgendeinen Hinweis, dass sein devStateIcon mehrzeilig wäre?
Namen? Sehe ich nicht. Ich sehe nur eine Leerzeichen-getrennte Liste von regex:icon:ggfKommando
Die Namen sind die vor dem Punkt
Ok, sehe gerade, was genau passiert wenn man regex weglässt das mir selbst noch nicht klar, zweimal ist der Name aber angegeben.
Falsch, der Name ist bis auf stop immer angegeben nur die regex (Reading) nicht, wie auch immer, wenn man regex weg lässt ist mir boch nicht klar was genau Sache ist.
Nein, devStateIcon sagt nur
STATEregex:Icon:Kommando andereSTATEregex:anderesIcon:anderesKommando, usw
Nur stateFormat ist evtl mehrzeilig (siehe Beispiel in deinem Link)
Deswegen: bitte ein "list" bzw. "list -r" vom Device
1.1:fts_shutter_20
1.= Name
1: = regex/Readingwert
fts_shutter_20 = icon
kein Kommando/setter
Wie siehst du das ?
[OT]Hier mal ein Beispiel wie ich das bei einem Device umgesetzt habe an dem ich mich orientiere, die erste Zeile braucht keinen Namen[/OT]
defmod MQTT2_EG_Flur_Kueche_Tuer MQTT2_DEVICE DVES_81BCA7
attr MQTT2_EG_Flur_Kueche_Tuer IODev MQTT2_Server
attr MQTT2_EG_Flur_Kueche_Tuer devStateIcon online:10px-kreis-gruen@green offline:10px-kreis-rot@red\
1.on:fts_door_right_open@red:POWER3+off 1.off:fts_door_right@green:POWER3+on\
2.on:fts_door@green:POWER1+off 2.off:fts_door_open@red:POWER1+on\
3.on:message_presence@red:PIR1+off 3.off:message_presence@green:PIR1+on
attr MQTT2_EG_Flur_Kueche_Tuer event-on-change-reading .*
attr MQTT2_EG_Flur_Kueche_Tuer fhem_widget_channels [{"controlled_attribute":"POWER1","order":1,"alias":"Türküche","allowed_values":["off","on"]}]
attr MQTT2_EG_Flur_Kueche_Tuer readingList tele/sonoff_pir_flurkueche/PIRSENSOR:.* { json2nameValue($EVENT) }\
tele/sonoff_pir_flurkueche/LWT:.* LWT\
tele/sonoff_pir_flurkueche/STATE:.* { json2nameValue($EVENT) }\
tele/sonoff_pir_flurkueche/SENSOR:.* { json2nameValue($EVENT) }\
tele/sonoff_pir_flurkueche/INFO.:.* { json2nameValue($EVENT) }\
stat/sonoff_pir_flurkueche/RESULT:.* { json2nameValue($EVENT) }\
DVES_81BCA7:cmnd/sonoff_pir_flurkueche/POWER:.* POWER\
DVES_81BCA7:tele/sonoff_pir_flurkueche/UPTIME:.* { json2nameValue($EVENT, 'UPTIME_', $JSONMAP) }\
DVES_81BCA7:stat/sonoff_pir_flurkueche/POWER3:.* POWER3\
DVES_81BCA7:stat/sonoff_pir_flurkueche/POWER1:.* POWER1\
DVES_81BCA7:stat/sonoff_pir_flurkueche/POWER2:.* POWER2\
DVES_81BCA7:stat/sonoff_pir_flurkueche/POWER:.* POWER
attr MQTT2_EG_Flur_Kueche_Tuer room Fhem_Widget,Homekit,MQTT2_DEVICE
attr MQTT2_EG_Flur_Kueche_Tuer setList off:noArg cmnd/sonoff_pir_flurkueche/POWER1 0\
on:noArg cmnd/sonoff_pir_flurkueche/POWER1 1
attr MQTT2_EG_Flur_Kueche_Tuer stateFormat LWT\
1:POWER3\
2:POWER1\
3:PIR1\
<br>\
<a href="http://IPAddress" target="_blank">IPAddress</a>
setstate MQTT2_EG_Flur_Kueche_Tuer online\
1:off\
2:off\
3:off\
<br>\
<a href="http://192.168.188.39" target="_blank">192.168.188.39</a>
setstate MQTT2_EG_Flur_Kueche_Tuer 2019-07-04 18:17:13 Command Unknown
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-05-11 10:01:34 FallbackTopic DVES_81BCA7
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-05-11 10:01:34 GroupTopic sonoffs
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-05-11 10:01:34 Hostname sonoff_pir_flurkueche-7335
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-05-11 10:01:34 IPAddress 192.168.188.39
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-06-08 11:16:31 LWT online
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-05-11 10:01:34 Module Generic
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-01-22 14:08:54 Once off
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-06-10 21:39:21 PIR1 off
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-06-08 11:16:31 POWER
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-06-10 21:55:11 POWER1 off
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-06-10 21:55:11 POWER2 off
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-06-10 21:55:11 POWER3 off
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-01-16 11:38:46 Restart Restarting
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-05-11 10:01:34 RestartReason Hardware Watchdog
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-01-22 14:08:54 Rule on
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-01-22 14:08:54 Rules on switch2#state=1 do publish tele/sonoff_pir_flurkueche/PIRSENSOR {
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-06-10 21:55:11 Switch1 on
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-06-10 21:55:11 Switch2 off
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-06-10 21:55:11 Switch3 off
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-06-10 21:55:11 Time 2020-06-10T20:55:11
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-06-10 21:02:00 UPTIME_Time 2020-06-10T20:02:00
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-03-01 22:02:01 UPTIME_UPTIME_Time 2020-03-01T22:02:00
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-03-01 22:02:01 UPTIME_UPTIME_Uptime 0T11:12:47
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-06-10 21:02:00 UPTIME_Uptime 30T11:00:45
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-06-10 21:55:11 Uptime 30T11:53:56
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-06-10 21:55:11 Vcc 3.500
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-05-11 10:01:34 Version 5.13.1
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-05-11 10:01:34 WebServerMode Admin
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-06-10 21:55:11 Wifi_AP 1
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-06-10 21:55:11 Wifi_APMac FE:EC:DA:FD:26:1A
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-06-10 21:55:11 Wifi_RSSI 24
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-06-10 21:55:11 Wifi_SSId FBF
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-05-27 13:14:18 state on
setstate MQTT2_EG_Flur_Kueche_Tuer 2020-06-10 16:40:44 subscriptions cmnd/DVES_81BCA7/# cmnd/sonoff_pir_flurkueche/# cmnd/sonoffs/#
Genau, wenn STATE mehrzeilig ist, wird devStateIcon für jede Zeile ausgewertet und liefert daher auch für jede Zeile ein Icon, wodurch man mehere Icons generieren kann:
http://forum.fhem.de/index.php/topic,97586.0.html
http://fhem.de/commandref.html#devStateIcon (letzte Zeile über devStateStyle)
Passt aber nicht zu der Definition hier: https://forum.fhem.de/index.php/topic,111975.msg1062731.html#msg1062731
Mit Kombination von stateFormat und devStateIcon passiert folgendes (nehmen wir das Beispiel von TomLee):
1 ist Reading POWER3, 2 ist Reading POWER1, 3 ist Reading PIR1
So weit so gut.
Aber was sollen jetzt die "set" Kommandos sein?
*1.on:fts_door_right_open@red:POWER3+off 1.off:fts_door_right@green:POWER3+on
Wenn POWER3 gleich on, Icon fts_door_right_open, Kommando "set <device> POWER3 off"
Die Kommandos, die der TE aber definiert, sind: on1, on2 oder Stop. Für welche Readings/Devices?
Erst mit einem "list" wird man sowieso weiter analysieren können. Aber ich wette gerne ;)
Hmmm. Jetzt, wenn ich das Bild im ersten Post wieder gucke, kann es doch sein, dass ihr Recht habt... Es gäbe ein Reading mit der Position, und dann 2 mögliche Kommandos, die z.B. verschiedene Relais oder verschiedene Inputs des Devices schalten, und noch ein Kommando, um das ganze zu deaktivieren...
Ok, ich nehme alles zurück und warte auf dem "list" ;)
Hi
Es waren wirklich mehrer devStateIcon. Kann dir aber jetzt gerade kein List mehr schicken da ich jetzt alles auf cmdicon umgestellt habe.
Zu mehreren DevStateIcon steht hier was
https://wiki.fhem.de/wiki/DevStateIcon