FHEM Forum

FHEM - Hausautomations-Systeme => ZWave => Thema gestartet von: sz_wolfi am 15 Februar 2016, 17:32:19

Titel: Dimmer ZME_06433/05433 - "set toggle" Problem & FIX
Beitrag von: sz_wolfi am 15 Februar 2016, 17:32:19
Hi,
...sorry - wenn es der falsche Ort ist ...

Aber ich habe/hatte mit dem Z-Wave Dimmer   ZME_06433/05433  das Problem, dass 'set DIMMER toggle' nicht richtig funktionierte.
Und zwar, weil der Dimmer, wenn er 'EIN' ist - als 'reportedState: dim x' zurueckgibt, statt 'on'
...und dies 'verwirrt' SetExtensions.pm ...

Das Symptom ist folgendes:
1.) dimmer off
2.) 'set dimmer toggle' ---> Dimmer geht an ---> reportet: "dim 25"
3.) 'set dimmer toggle'  ---> FHEM schickt "set dimmer on" --- UND da er ja bereits AN ist - meldet er nix zurueck.
...aber FHEM 'merkt' sich  jetzt "on"
4.) 'set dimmer toggle' ---> 'set dimmer off' ---> Dimmer geht AUS

d.h. wenn er AUS ist, geht er IMMER an, wenn er aber AN ist - braucht's ZWEI toggles, um ihn AUS zu bekommen.

bin zwar kein grosser Perl-Experte, und bin auch nicht sicher, ob es so OK ist, aber hier mein Fix als DIFF:


[root@nasbox FHEM]# diff -u ___SetExtensions.pm__ SetExtensions.pm
--- ___SetExtensions.pm__       2015-11-15 12:31:13.000000000 +0100
+++ SetExtensions.pm    2016-02-15 17:21:32.997679419 +0100
@@ -138,7 +138,17 @@
     }
     
   } elsif($cmd eq "toggle") {
-    DoSet($name, $value =~ m/^on/ ? "off" : "on");
+
+       ### I've never seen 'dim 0' instead of 'off':
+
+        if ( $value =~ /dim \d+/) {
+
+               Log3 $name, 5, "$cmd: FIX toggle value: $value - to: on";
+
+               $value = "on";
+       }
+
+       DoSet($name, $value =~ m/^off/ ? "on" : "off");

   }

-------
warum ich dies mache ? --- na ja - ich versuche einen 'dim_delta' Befehl hinzuzufuegen, mit dem ich inkrementell dimmen kann.
Aber ist gar nicht so einfach, weil z.B. der obige Dimmer 'dim 99' OK findet, aber 'dim 100' nicht.
(und jetzt den 'max dim range' rauszufinden ... ist ein anderes Thema)

Mit dem obigen Snippet geht aber der Toggle jetzt so, wie es sein sollte.



Titel: Antw:Dimmer ZME_06433/05433 - "set toggle" Problem & FIX
Beitrag von: sz_wolfi am 15 Februar 2016, 17:44:57
ah - Oh NO - dieser Dimmer ist ja wirklich der Horror:

wenn er an ist - z.B. 'dim 26' --- und man DANN ein 'set dimmer on' schickt, aendert er den 'reportedState' von 'dim 26' -> 'on'
(( und der Web-Slider springt von 26 auf 0 --- aber der Dimmer bleibt natuerlich an))
Titel: Antw:Dimmer ZME_06433/05433 - "set toggle" Problem & FIX
Beitrag von: rudolfkoenig am 15 Februar 2016, 18:43:03
Hab dein Patch (in abgewandelten Form) eingecheckt.