FIBARO FGD212: dim 0 und dim 100 Problem

Begonnen von DeeSPe, 31 Oktober 2025, 21:40:23

Vorheriges Thema - Nächstes Thema

DeeSPe

Liebe Forenmitglieder,

ich habe folgende Merkwürdigkeit bei o.g. Dimmern festgestellt:

dim 0
Licht geht aus, bleibt aber in "STATE" auf "on". Ist das bewusst so gewollt? Sollte bei "dim 0" nicht "STATE" auf "off" gehen? Ein entsprechendes structure bleibt auch auf "on" stehen obwohl das Licht eigentlich aus ist.

dim 100
Ist das Licht eingeschaltet und "dim 100" wird abgesetzt, ändert sich die Helligkeit nicht aber Reading "dim" wird auf "100" gesetzt. Ist das Licht ausgeschaltet und "dim 100" wird abgesetzt, so wird das Licht nicht eingeschaltet. Setze ich "dim" auf Werte kleiner als 100, so wird das Licht eingeschaltet.

Ich habe mir für beide Probleme entsprechende Workarounds gebaut, schöner würde ich es allerdings finden wenn ich diese Workarounds nicht bräuchte.

Jetzt beim Testen ist mir noch etwas aufgefallen: Wenn ich am physischen Schalter per Doppeltipp auf volle Helligkeit schalte, dann geht es maximal auf Stufe 99 in FHEM.
Außerdem fiel mir gerade noch auf dass sich das Reading "dim" in FHEM nicht ändert wenn ich am physischen Schalter dimme. Nur in "state" ändert sich dann der Wert auf den entsprechenden "dim XX" Wert. Wieso wird hier überhaupt "dim XX" in "state" angezeigt? Sollte "state" nicht nur "on/off" beinhalten und der aktuelle Dimmwert auch nur im Reading "dim" stehen?

Oder habe ich evtl. einfach nur einen Konfigurationsparameter übersehen?

Vielen Dank im Voraus.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

rudolfkoenig

Wenn ich mich recht erinneren, dann steht dim 100 fuer die zuletzt verwendete Helligkeit.

Sonst:
- set off sendet bei SWITCH_MULTILEVEL Geraeten"set dim 0", set on sendet "dim 255".
- wenn das Modul eine SWITCH_MULTILEVEL Report Nachricht bekommt, dann wird state fuer 0 auf off gesetzt, fuer 255 auf on, sonst auf "dim XX"

Wenn man was Anderes angezeigt haben will, dann muss man das mappen (z.Bsp. mit stateFormat).


Beta-User

Da viele zwave-Geräte "speziell" sind, gibt es dazu diverse attrTemplate. Vielleicht ist da was passendes dabei...
Server: HP-elitedesk@Debian 12, 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

DeeSPe

Zitat von: rudolfkoenig am 01 November 2025, 12:05:23Wenn ich mich recht erinneren, dann steht dim 100 fuer die zuletzt verwendete Helligkeit.
Das tut es leider nicht.
Wie gesagt passiert bei "dim 100" genau nichts.

Zitat von: rudolfkoenig am 01 November 2025, 12:05:23- set off sendet bei SWITCH_MULTILEVEL Geraeten"set dim 0", set on sendet "dim 255".
Bei "set off" mag das sein, bei "set on" definitiv nicht, denn da wird der zuletzt eingestellte dim Wert eingestellt.

Zitat von: rudolfkoenig am 01 November 2025, 12:05:23Wenn man was Anderes angezeigt haben will, dann muss man das mappen (z.Bsp. mit stateFormat).

Das ist klar.
Habe mir für alle Eventualitäten einen Workaround gebaut, dachte nur dass da irgendwas nicht zu stimmen scheint und andere auch darüber stolpern könnten.

Für die "dim 0" und "dim 100" Probleme habe ich zwei cmdalias angelegt:
defmod ca_ZWave_dimmer_dim_0 cmdalias set (fl|[di]z)_Licht1 dim 0 AS set $EVTPART0 off
attr ca_ZWave_dimmer_dim_0 comment Diese ZWave Dimmer schalten bei "dim 0" nicht aus. Deshalb wird dieses hiermit für die genannten Dimmer auf "off" umgebogen.

defmod ca_ZWave_dimmer_dim_gt_99 cmdalias set (fl|[di]z)_Licht1 dim \d{3,} AS set $EVTPART0 dim 99
attr ca_ZWave_dimmer_dim_gt_99 comment Diese ZWave Dimmer reagieren nicht auf "dim 100". Deshalb wird dieses hiermit für die genannten Dimmer auf "dim 99" umgebogen.

Und die Attribute an den Devices habe ich wie folgt geändert:
attr fl_Licht1 devStateIcon dim.[1-9]\d?:on:off on:on:off off:off:on

attr fl_Licht1 homebridgeMapping clear\
On=state,valueOn=/on|dim/,cmdOn=on,cmdOff=off\
Brightness=dim::dim,minValue=5,maxValue=99,minStep=1

attr fl_Licht1 lightSceneParamsToSave {(Value($DEVICE) eq 'off')?'state':'dim'}

attr fl_Licht1 r_FL_map dim.[1-9]\d?:on off:off

attr fl_Licht1 widgetOverride dim:colorpicker,BRI,5,1,99

Als echtes Problem sehe ich aber immer noch dass beim Dimmen am Schalter der Dimmwert nicht im dim-Reading ankommt.
Sicher kann ich das auch noch mit einem notify lösen, vielleicht gibt es da aber auch etwas im Modul zu fixen!?

Zitat von: Beta-User am 01 November 2025, 15:37:52Da viele zwave-Geräte "speziell" sind, gibt es dazu diverse attrTemplate. Vielleicht ist da was passendes dabei...
Danke!
Aber wie du siehst ist die manuelle Anpassung der Attribute für mich kein Problem.
Dachte dass es hier evtl. ein grundlegendes Problem im Modul gibt oder ich evtl. irgendwelche modellspezifischen config Einstellungen übersehen habe.

Ich stehe gern für weitere Infos zur Verfügung.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

DeeSPe

Auch wenn ich es persönlich nicht so schön finde, hier noch die Lösung für das Problem dass das dim-Reading sich nicht ändert wenn man am Schalter physisch drückt:
defmod n_ZWave_dimmer_state_dim notify (fl|[di]z)_Licht1:state:.dim.+ {\
  fhem "sleep 0.01;; setreading $NAME dim $EVTPART2" if (ReadingsNum($NAME,'dim',0)!=$EVTPART2);;\
}
attr n_ZWave_dimmer_state_dim addStateEvent 1

Gruß
Dan

P.S. Es ist immer wieder beeindruckend dass man in FHEM eigentlich alles selbst nach eigenen Wünschen anpassen kann.
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Beta-User

Zitat von: DeeSPe am 02 November 2025, 21:59:34Auch wenn ich es persönlich nicht so schön finde, hier noch die Lösung für das Problem dass das dim-Reading sich nicht ändert wenn man am Schalter physisch drückt:
defmod n_ZWave_dimmer_state_dim notify (fl|[di]z)_Licht1:state:.dim.+ {\
  fhem "sleep 0.01;; setreading $NAME dim $EVTPART2" if (ReadingsNum($NAME,'dim',0)!=$EVTPART2);;\
}
attr n_ZWave_dimmer_state_dim addStateEvent 1

Gruß
Dan

P.S. Es ist immer wieder beeindruckend dass man in FHEM eigentlich alles selbst nach eigenen Wünschen anpassen kann.
Bei dem Hinweis auf attrTemplate ging es v.a. darum, dass viele zwave-Geräte speziell sind und man deshalb nacharbeiten muss.
Das mit dim geht z.B. auch via userReadings. Ist m.E. eleganter wie via notify.
Server: HP-elitedesk@Debian 12, 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

DeeSPe

Zitat von: Beta-User am 02 November 2025, 22:14:30Das mit dim geht z.B. auch via userReadings. Ist m.E. eleganter wie via notify.

Danke nochmal für den guten Hinweis, an ein userReading hatte ich an dieser Stelle überhaupt nicht gedacht. ;)
Meines Erachtens hat notify bei mehreren Devices den Vorteil dass man es nur 1x braucht.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe