diff --git a/fhem/FHEM/10_ZWave.pm b/fhem/FHEM/10_ZWave.pm index 24293cb7d..1becef91c 100755 --- a/fhem/FHEM/10_ZWave.pm +++ b/fhem/FHEM/10_ZWave.pm @@ -884,16 +884,17 @@ ZWave_configParseModel($) my ($line, $class, %hash, $cmdName); while($gz->gzreadline($line)) { # Search the "file" entry - last if($line =~ m/^$/); + last if($line =~ m/^\s*gzreadline($line)) { - last if($line =~ m+^+); - $class = $1 if($line =~ m/^+); + $class = $1 if($line =~ m/^\s*(.*)$+); - if($line =~ m/^(.*)$+); + if($line =~ m/^\s*{size}) { # override type by size + $t = ($h->{size} eq "1" ? "byte" : ($h->{size} eq "2" ? "short" : "int")); + } + my $len = ($t eq "int" ? 8 : ($t eq "short" ? 4 : 2)); return ("", sprintf("04%02x%02x%0*x", $h->{index}, $len/2, $len, $arg[0])); } diff --git a/fhem/FHEM/lib/openzwave_deviceconfig.xml.gz b/fhem/FHEM/lib/openzwave_deviceconfig.xml.gz index 38acb7329..cf85c4d27 100644 Binary files a/fhem/FHEM/lib/openzwave_deviceconfig.xml.gz and b/fhem/FHEM/lib/openzwave_deviceconfig.xml.gz differ diff --git a/fhem/FHEM/lib/openzwave_manufacturer_specific.xml b/fhem/FHEM/lib/openzwave_manufacturer_specific.xml index 5566fbf2d..65449c5f0 100644 --- a/fhem/FHEM/lib/openzwave_manufacturer_specific.xml +++ b/fhem/FHEM/lib/openzwave_manufacturer_specific.xml @@ -194,7 +194,7 @@ - +