Moin, ich befasse mich jetzt nach Jahren mal wieder mit fhem und bin am überlegen wieder alles umzuziehen.
Ich habe mir eigene Lampen gebaut wo ein 4CH Relais drin ist, ich habe es mittlerweile auch geschafft diese innerhalb von fhem auszulesen und zu steuern.
Woran ich allerdings gerade verzweifle ist diese 4 Lampen als Icons darzustellen und per Klick aufs Icon auch zu schalten. Mein aktueller status poste ich mal dazu.
defmod licht_technik MQTT2_DEVICE MQTT
attr licht_technik devStateIcon 1.on:on:state+off.1.off:off:state+on.2.on:on:state2+off.2.off:off:state2+on.3.on:on:state3+off.3.off:off:state3+on
attr licht_technik readingList licht_technik/sensor/licht_technik_signal/state:.* dB\
MQTT:licht_technik/switch/licht_technik1/state:.* state1\
MQTT:licht_technik/switch/licht_technik2/state:.* state2\
MQTT:licht_technik/switch/licht_technik3/state:.* state3\
MQTT:licht_technik/switch/licht_technik4/state:.* state4\
MQTT:licht_technik/switch/licht_technik2/command:.* command\
MQTT:licht_technik/light/licht_technik_led/command:.* { json2nameValue($EVENT) }\
MQTT:licht_technik/light/licht_technik_led/state:.* { json2nameValue($EVENT) }\
MQTT:licht_technik/switch/licht_technik4/command:.* command\
MQTT:licht_technik/switch/licht_technik3/command:.* command\
attr licht_technik setList on1 licht_technik/switch/licht_technik1/command on\
off1 licht_technik/switch/licht_technik1/command off\
on2 licht_technik/switch/licht_technik2/command on\
off2 licht_technik/switch/licht_technik2/command off\
on3 licht_technik/switch/licht_technik3/command on\
off3 licht_technik/switch/licht_technik3/command off\
on4 licht_technik/switch/licht_technik4/command on\
off4 licht_technik/switch/licht_technik4/command off
attr licht_technik stateFormat 1:state1\
2:state2\
3:state3\
4:state4
setstate licht_technik 1:ON\
2:OFF\
3:OFF\
4:OFF
setstate licht_technik 2022-01-08 13:50:26 IODev MQTT
setstate licht_technik 2022-01-08 16:33:29 Switch1 0
setstate licht_technik 2022-01-08 15:34:21 brightness 199
setstate licht_technik 2022-01-08 15:34:21 color_b 255
setstate licht_technik 2022-01-08 15:34:21 color_g 255
setstate licht_technik 2022-01-08 15:34:21 color_mode rgb
setstate licht_technik 2022-01-08 15:34:21 color_r 255
setstate licht_technik 2022-01-08 16:24:14 command OFF
setstate licht_technik 2022-01-08 16:38:07 dB -67
setstate licht_technik 2022-01-08 16:29:45 state on1
setstate licht_technik 2022-01-08 16:29:45 state1 ON
setstate licht_technik 2022-01-08 16:24:12 state2 OFF
setstate licht_technik 2022-01-08 16:24:13 state3 OFF
setstate licht_technik 2022-01-08 16:24:14 state4 OFF
Wahrscheinlich habe ich wieder etwas offensichtliches vergessen oder übersehen.
Dein devStateIcon sieht komisch aus. Schau mal aus dem attrTemplate tasmota_4ch_unified_icon
attr DEVICE devStateIcon Online:10px-kreis-gruen Offline:10px-kreis-rot 1.on:on:POWER1+off 1.off:off:POWER1+on 2.on:on:POWER2+off 2.off:off:POWER2+on 3.on:on:POWER3+off 3.off:off:POWER3+on 4.on:on:POWER4+off 4.off:off:POWER4+on
Zitat von: Otto123 am 08 Januar 2022, 16:55:28
Dein devStateIcon sieht komisch aus. Schau mal aus dem attrTemplate tasmota_4ch_unified_icon
attr DEVICE devStateIcon Online:10px-kreis-gruen Offline:10px-kreis-rot 1.on:on:POWER1+off 1.off:off:POWER1+on 2.on:on:POWER2+off 2.off:off:POWER2+on 3.on:on:POWER3+off 3.off:off:POWER3+on 4.on:on:POWER4+off 4.off:off:POWER4+on
hab das jetzt mal auf das hier geändert, bringt aber leider nicht den erhofften erfolg. in der commandref stand halt das leerzeichen durch punkte ersetzt werden müssen beim DevStateIcon.
1.on:on:state1+off 1.off:off:state1+on 2.on:on:state2+off 2.off:off:state2+on 3.on:on:state3+off 3.off:off:state3+on 4.on:on:state4+off 4.off:off:state4+on
ON vs. on...
Besser "split" arbeiten.
Zitat von: Beta-User am 08 Januar 2022, 17:18:36
ON vs. on...
Besser "split" arbeiten.
Das verwirrt mich gerade noch mehr :-\
Dein Aktor liefert:
setstate licht_technik 1:ON\
Dazu muss devStateIcon passen...
"split" will sagen: für on-for-timer etc. brauchst du 4 Devices, nicht nur eines.
Zitat von: wuast94 am 08 Januar 2022, 17:00:25
in der commandref stand halt das leerzeichen durch punkte ersetzt werden müssen beim DevStateIcon.
Leerzeichen schon, aber die Triple müssen durch Leerzeichen getrennt sein :)
ZitatLeerzeichen getrennte Auflistung von regexp:icon-name:cmd Dreierpärchen, icon-name und cmd dürfen leer sein.
Zitat von: Beta-User am 08 Januar 2022, 17:36:25
Dein Aktor liefert:
setstate licht_technik 1:ON\
Dazu muss devStateIcon passen...
"split" will sagen: für on-for-timer etc. brauchst du 4 Devices, nicht nur eines.
Heißt alles in einem Device wird scheiße und ich sollte für jede Lampe plus LED Stripe jeweils in seperate Geräte packen.
alles in einem wäre halt nett gewesen wenn man mal manuell was macht um nicht durch x Devices durch zu müssen.
Zitat von: wuast94 am 08 Januar 2022, 17:44:41
Heißt alles in einem Device wird scheiße und ich sollte für jede Lampe plus LED Stripe jeweils in seperate Geräte packen.
Früher war ich auch mal ein Freund der "unified"-Variante. Aber wenn es um Automatisierung geht und nicht um "Fernbedienung", geht nichts über einheitliche Funktionalität, möglichst einheitliche Reading-Namen (hier: state), setter und Werte(bereiche) (on/off).
Mußt du selbst wissen, was dir wichtig ist...
Zitat
alles in einem wäre halt nett gewesen wenn man mal manuell was macht um nicht durch x Devices durch zu müssen.
Du kannst mit "associatedWith" die Querbeziehungen kenntlich machen, "structure" verwenden (einheitliche setter vorausgesetzt...), mit devspec schalten oder alles in einer readingsGroup anzeigen lassen... Unendliche Möglichkeiten, FHEM halt :) ;) :P ...
Geht übrigens auch die andere Richtung mit readingsProxy :) .