diff --git a/fhem/CHANGED b/fhem/CHANGED index 7d55ed295..fcd612328 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,5 +1,6 @@ # Add changes at the top of the list. Keep it in ASCII, and 80-char wide. # Do not insert empty lines here, update check depends on it. + - bugfix: 10_SOMFY: Correct match for long commands according to #msg1224029 - bugfix: 70_Klafs: Start time error fixed - bugfix: 70_Klafs: minor bugfix for Reading power - bugfix: 70_Klafs: minor bugfix for automatic reconnect diff --git a/fhem/FHEM/10_SOMFY.pm b/fhem/FHEM/10_SOMFY.pm index 6da90f7fb..f7aea2e8e 100644 --- a/fhem/FHEM/10_SOMFY.pm +++ b/fhem/FHEM/10_SOMFY.pm @@ -90,7 +90,10 @@ # - no update of DEF anymore with rolling code (roll code and enc key will be removed) # - FIX: corrected autostore rolling code (esp. restart) # - FIX: DEBUG commands removed -# + +# - BO code used for "lamellen" of blinds - considered stop fro remotes +# - Correct match for long commands according to #msg1224029 +# # ############################################################################### # @@ -100,6 +103,8 @@ # Somfy Modul - OPEN ############################################################################### # +# - B0 command? - new rolling code? - reaction on status - ? +# - # - Doc rework on model, set commands, rawDevice, coupling remotes # - # - test parseFn / Remotes @@ -136,6 +141,7 @@ my %somfy_codes = ( "80" => "prog", # finish pairing "90" => "wind_sun_9", # wind and sun (sun + flag) "A0" => "wind_only_a", # wind only (flag) + "B0" => "blind", # blind command through wheel - also stops movement "100" => "on-for-timer", "101" => "off-for-timer", "XX" => "z_custom", # custom control code @@ -246,7 +252,11 @@ sub SOMFY_Initialize($) { # YsKKC0RRRRAAAAAA # $hash->{Match} = "^Ys...0..........\$"; - $hash->{Match} = "^Ys..............\$"; +# $hash->{Match} = "^Ys..............\$"; + +# allow also matches for longer commands of newer devices --> + $hash->{Match} = "^Ys.............."; #msg1224029 + $hash->{SetFn} = "SOMFY_Set"; #$hash->{StateFn} = "SOMFY_SetState"; $hash->{DefFn} = "SOMFY_Define"; @@ -493,6 +503,10 @@ sub SOMFY_DispatchRemoteCmd($$) { $cmd = "11"; # use "stop" instead of "go-my" } + if ($cmd eq "B0") { + $cmd = "11"; # use "stop" instead of "blind" + } + my $txtcmd = $somfy_codes{ $cmd }; return if ( ! $txtcmd );