MQTT-Mapping für FS20-Dimmer (HomeAssistant)

Begonnen von Sneak5411, 12 November 2026, 01:14:12

Vorheriges Thema - Nächstes Thema

Sneak5411

Hallo zusammen,

ich habe ein altes FS20-Setup, das ich mit FHEM in Homeassistant verwenden will.
Prinzipiell funktioniert die Kommunikation schon (vielen Dank an alle hier im Forum für die Beiträge für MQTT_GENERIC_BRIDGE).
Ich kann auch FS20-Schalter (switch:) problemlos in beide Richtungen bedienen.

Allerdings scheitere ich an den Dimmern (light:) - auch hier funktoniert das Ein-und Ausschlalten sowie das fixen Dimmen auf vorgegebene %-Werte (die, die FHEM vorgegeben hat).
Aber ich möchte auch gerne den Dimmer frei verschieben können und schaffe das nicht.


Hat zufällig jemand ein funktonierendes MQTT-configuration.yaml für HomeAssistant, das FS20-Dimmer korrekt mappt und die Dimm-Funktion vollständig unterstützt?

Danke schon mal vorab!


Beta-User

Zitat von: Sneak5411 am 12 November 2026, 01:14:12Hat zufällig jemand ein funktonierendes MQTT-configuration.yaml für HomeAssistant, das FS20-Dimmer korrekt mappt und die Dimm-Funktion vollständig unterstützt?
Die Anfrage ist m.E. unvollständig: Die Konfiguration muss auf beiden Seiten zusammenpassen. Von daher bitte ein "copy for forum" von dem FS20-Dimmer (aus der Geräteansicht in FHEMWEB).

Siehe auch: https://forum.fhem.de/index.php?msg=1066615
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

Sneak5411

Gerne (sorry bin erstmalig aktiv, nachdem ich schonlänger mitlese - kenne ggf. noch nicht alle Gepflogenheiten)

define FS20_LP_WZ_Stehlampe_Steckdosendimmer FS20 3c69 27
attr FS20_LP_WZ_Stehlampe_Steckdosendimmer userattr mqttAlias:textField-long mqttDefaults:textField-long mqttDisable:both,incoming,outgoing mqttForward:all,none mqttPublish:textField-long mqttSubscribe:textField-long
attr FS20_LP_WZ_Stehlampe_Steckdosendimmer mqttSubscribe state:stopic={"$base/set"}
attr FS20_LP_WZ_Stehlampe_Steckdosendimmer room HA_FHEM
attr FS20_LP_WZ_Stehlampe_Steckdosendimmer verbose 0
#   BTN        27
#   CFGFN     
#   DEF        3c69 27
#   FUUID      6af4d7f1-f33f-13ae-0439-5d4dd97b63f8b89a
#   IODev      myCUL
#   LASTInputDev ha_MQTT2
#   MSGCNT     289
#   NAME       FS20_LP_WZ_Stehlampe_Steckdosendimmer
#   NR         55
#   STATE      off
#   TYPE       FS20
#   XMIT       3c69
#   eventCount 446
#   ha_MQTT2_MSGCNT 243
#   ha_MQTT2_TIME 2026-11-12 10:53:26
#   myCUL_MSGCNT 46
#   myCUL_RAWMSG 810b04xx0101a0013c69270000
#   myCUL_RSSI -59.5
#   myCUL_TIME 2026-11-12 08:09:24
#   CODE:
#     1          3c69 27
#   READINGS:
#     2026-11-11 22:02:41   IODev           myCUL
#     2026-11-12 10:53:33   state           off
#
setstate FS20_LP_WZ_Stehlampe_Steckdosendimmer off
setstate FS20_LP_WZ_Stehlampe_Steckdosendimmer 2026-11-11 22:02:41 IODev myCUL
setstate FS20_LP_WZ_Stehlampe_Steckdosendimmer 2026-11-12 10:53:33 state off


Beta-User

Zitat von: Sneak5411 am 12 November 2026, 11:00:04Gerne (sorry bin erstmalig aktiv, nachdem ich schonlänger mitlese - kenne ggf. noch nicht alle Gepflogenheiten)
Kein Problem. Ist halt einfach schwierig zu helfen, wenn man alles erraten muss ;D .

FS20 ist ja nun wirklich "speziell", wer denkt sich denn sowas aus (commandref):
Zitatset <name> <value> [<time>]
Wobei value einer der folgenden Werte sein kann:
    dim06% dim12% dim18% dim25% dim31% dim37% dim43% dim50% [...]
Die (aus FHEM-Sicht) einfache Variante ist, in der yaml schlicht diese zulässigen Werte irgendwo fest zu hinterlegen.

Die etwas kompliziertere wäre, auf der FHEM-Seite (auch) einen Zahlenwert entgegenzunehmen, und den dann mit "dim"<Wert>%" zu verarbeiten. commandref von MQTT_GENERIC_BRIDGE meint dazu:
Zitatattr <dev> mqttSubscribe state:stopic={"TEST/light/set"} state:expression={$value="x"}

Umgemodelt und ungetestet würde da in etwa sowas rauskommen:
attr FS20_LP_WZ_Stehlampe_Steckdosendimmer mqttSubscribe state:stopic={"$base/set"} state:expression={$value=looks_like_number($value)?"dim${value}%":$value}Damit könnte man immerhin sowas wie einen slider auf der yaml-Ebene realisieren, aber eben weiter nur mit bestimmten Werten.

Das könnte man ggf noch weiter aufbohren, damit die zulässigen Werte aus beliebigen Zahlen abgeleitet werden...
Stichwort wäre dann "myUtils", vermutlich braucht es da dann aber einen Rückverweis nach "main", also der Spur nach so: "state:expression={$value=::my_MQTT2FS20fn($value)}".

Enjoy ;D .
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