From 4f508166dce1099390ec3d787648068913ca6a4f Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Sat, 8 Aug 2015 11:37:52 +0000 Subject: [PATCH] ZWDongle/ZWave: readd changes (#38315) git-svn-id: https://svn.fhem.de/fhem/trunk@9027 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/00_ZWDongle.pm | 12 +++++------- fhem/FHEM/10_ZWave.pm | 6 +++++- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/fhem/FHEM/00_ZWDongle.pm b/fhem/FHEM/00_ZWDongle.pm index 1579077be..a44b96c32 100755 --- a/fhem/FHEM/00_ZWDongle.pm +++ b/fhem/FHEM/00_ZWDongle.pm @@ -36,7 +36,6 @@ my %sets = ( "sendNIF" => { cmd => "12%02x05@" },# ZW_SEND_NODE_INFORMATION "setNIF" => { cmd => "03%02x%02x%02x%02x" }, # SERIAL_API_APPL_NODE_INFORMATION - "timeouts" => { cmd => "06%02x%02x"},# SERIAL_API_SET_TIMEOUTS "reopen" => { cmd => "" }, ); @@ -51,6 +50,7 @@ my %gets = ( "nodeInfo" => "41%02x", # ZW_GET_NODE_PROTOCOL_INFO "nodeList" => "02", # SERIAL_API_GET_INIT_DATA "random" => "1c%02x", # ZW_GET_RANDOM + "timeouts" => "06%02x%02x", # SERIAL_API_SET_TIMEOUTS "version" => "15", # ZW_GET_VERSION "raw" => "%s", # hex @@ -174,8 +174,6 @@ use vars qw(%zw_type6); '11' => 'SWITCH_MULTILEVEL', ); -my $serInit; - sub ZWDongle_Initialize($) { @@ -337,7 +335,7 @@ ZWDongle_Get($@) if(!defined($gets{$type})); my $fb = substr($gets{$type}, 0, 2); - if($fb =~ m/^[0-8A-F]+$/i && !$serInit && + if($fb =~ m/^[0-8A-F]+$/i && $type ne "caps" && ReadingsVal($name, "caps","") !~ m/\b$zw_func_id{$fb}\b/) { return "$type is unsupported by this controller"; } @@ -475,20 +473,20 @@ ZWDongle_DoInit($) { my $hash = shift; my $name = $hash->{NAME}; - $serInit = 1; DevIo_SetHwHandshake($hash) if($hash->{USBDev}); $hash->{PARTIAL} = ""; ZWDongle_Clear($hash); - ZWDongle_Get($hash, $name, "caps"); $serInit = 0; + ZWDongle_Get($hash, $name, "caps"); ZWDongle_Get($hash, $name, "homeId"); ZWDongle_Get($hash, $name, ("random", 32)); # Sec relevant ZWDongle_Set($hash, $name, ("timeouts", 100, 15)); # Sec relevant ZWDongle_ReadAnswer($hash, "timeouts", "^0106"); # NODEINFO_LISTENING, Generic Static controller, Specific Static Controller, 0 ZWDongle_Set($hash, $name, ("setNIF", 1, 2, 1, 0)); # Sec relevant (?) - $hash->{STATE} = "Initialized"; + + readingsSingleUpdate($hash, "state", "Initialized", 1); return undef; } diff --git a/fhem/FHEM/10_ZWave.pm b/fhem/FHEM/10_ZWave.pm index 788ea9a0e..519a8737a 100755 --- a/fhem/FHEM/10_ZWave.pm +++ b/fhem/FHEM/10_ZWave.pm @@ -21,7 +21,8 @@ my %zwave_id2class; my %zwave_class = ( NO_OPERATION => { id => '00' }, BASIC => { id => '20', - set => { basicValue => "01%02x" }, + set => { basicValue => "01%02x", + basicSet => "01%02x" }, # Alias, Forum #38200 get => { basicStatus => "02", }, parse => { "..2001(.*)"=> '"basicSet:$1"', # Forum #36980 "..2002" => "basicGet:request", # sent by the remote @@ -1972,6 +1973,9 @@ s2Hex($)
  • basicValue value
    Send value (0-255) to this device. The interpretation is device dependent, e.g. for a SWITCH_BINARY device 0 is off and anything else is on.
  • +
  • basicValue value
    + Alias for basicValue, to make mapping from the incoming events easier. +



  • Class BASIC_WINDOW_COVERING
  • coveringClose