webCmd - mehrere Schalter und richtige Vorbelegung

Begonnen von drhirn, 18 März 2026, 16:01:34

Vorheriges Thema - Nächstes Thema

drhirn

Hi,

eines meiner Devices hat folgende setList:
switch0:on,off $DEVICETOPIC/command/switch:0 $EVTPART1
switch1:on,off $DEVICETOPIC/command/switch:1 $EVTPART1
switch2:on,off $DEVICETOPIC/command/switch:2 $EVTPART1
switch3:on,off $DEVICETOPIC/command/switch:3 $EVTPART1

Ich möchte jetzt ein schönes webCmd machen, mit dem ich jeden Schalter ein/aus schalten kann.

Mache ich einfach nur attr DEVICE webCmd switch0:switch1:switch2:switch3 sieht das eigentlich eh schon ganz brauchbar aus. Ein Select-Feld für jeden Schalter mit on/off als Auswahl.

Was aber, wenn ich gerne hätte, dass das kein Select-Feld sondern eine hübsche FHEM-Standard-Lampe als Icon ist die klickbar ist und je nach Schaltzustand die Farbe ändert?

Ich durchschau leider unglücklicherweise die Erklärungen zu webCmd, widgetOverride & Co nicht.

Danke!
Stefan

Beta-User

Sollte mit mehrzeiligem stateFormat und devStateIcon (Plus statt Leerzeichen) funktionieren.

Es müsste eigentlich irgendein "unified"-attrTemplate als Muster geben. Soll ich suchen helfen, oder reicht das erst mal so?
Server: HP-elitedesk@Debian 13, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

TomLee

attr bla devStateIcon on:on:switch0+off off:off:switch0+on on:on:switch1+off off:off:switch1+on on:on:switch2+off off:off:switch2+on on:on:switch3+off off:off:switch3+on
attr bla stateFormat switch0\
switch1\
switch2\
switch3

https://forum.fhem.de/index.php?msg=908277

Beta-User

Jede Zeile in stateFormat sollte eindeutig sein, da gehört m.E. noch jeweils ein Kennzeichen hin (0 switch0), und in devStateIcon dann auch die jeweils passende regex.
Server: HP-elitedesk@Debian 13, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

drhirn

@TomLee: Dankesehr. Schau ich mir an.

@Beta-User: Ebenfalls danke! Ich hab die Templates schon durchgesehen (und baue gerade eines für den ShellyStrip). Da hab ich das webCmd geklaut. Bessere Beispiele hab ich zumindest bei den Shelly-Templates nicht gefunden. Ich schau mir noch die anderen Geräte an.

TomLee

Ich habs hier ohne Kennzeichen gezeigt, weil ich meine, irgendwann mal mitgenommen zu haben, das man es nicht braucht und es hier bei mir zum Test auch ohne funzt.

TomLee

Probiers aus:

defmod MQTT2_mymqtt_731814948620429 MQTT2_DEVICE mymqtt_731814948620429
attr MQTT2_mymqtt_731814948620429 IODev MQTT2_Server
attr MQTT2_mymqtt_731814948620429 devStateIcon on:on:switch0+off off:off:switch0+on on:on:switch1+off off:off:switch1+on on:on:switch2+off off:off:switch2+on on:on:switch3+off off:off:switch3+on
attr MQTT2_mymqtt_731814948620429 setList switch0:on,off $DEVICETOPIC/command/switch:0 $EVTPART1\
switch1:on,off $DEVICETOPIC/command/switch:1 $EVTPART1\
switch2:on,off $DEVICETOPIC/command/switch:2 $EVTPART1\
switch3:on,off $DEVICETOPIC/command/switch:3 $EVTPART1
attr MQTT2_mymqtt_731814948620429 stateFormat switch0\
switch1\
switch2\
switch3

setstate MQTT2_mymqtt_731814948620429 off\
off\
off\
on
setstate MQTT2_mymqtt_731814948620429 2026-03-11 03:26:28 IODev MQTT2_Server
setstate MQTT2_mymqtt_731814948620429 2026-03-18 16:42:24 state switch1
setstate MQTT2_mymqtt_731814948620429 2026-03-18 16:44:45 switch0 off
setstate MQTT2_mymqtt_731814948620429 2026-03-18 17:18:37 switch1 off
setstate MQTT2_mymqtt_731814948620429 2026-03-18 16:41:55 switch2 off
setstate MQTT2_mymqtt_731814948620429 2026-03-18 16:46:19 switch3 on
setreading MQTT2_mymqtt_731814948620429 switch0 on
Überseh ich was?

TomLee

Ok, zum schalten über die Icons braucht man ein Kennzeichen, das hab ich übersehen. Zur reinen Anzeige gings auch ohne.

attr bla devStateIcon 0.on:on:switch0+off 0.off:off:switch0+on 1.on:on:switch1+off 1.off:off:switch1+on 2.on:on:switch2+off 2.off:off:switch2+on 3.on:on:switch3+off 3.off:off:switch3+on
attr bla stateFormat 0:switch0\
1:switch1\
2:switch2\
3:switch3