diff --git a/fhem/FHEM/lib/openzwave_deviceconfig.xml.gz b/fhem/FHEM/lib/openzwave_deviceconfig.xml.gz
index cf85c4d27..073d52945 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 65449c5f0..4ff675856 100644
--- a/fhem/FHEM/lib/openzwave_manufacturer_specific.xml
+++ b/fhem/FHEM/lib/openzwave_manufacturer_specific.xml
@@ -4,7 +4,10 @@
+
+
+
@@ -30,29 +33,34 @@
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
@@ -62,6 +70,7 @@
+
@@ -72,15 +81,19 @@
+
+
+
+
@@ -91,6 +104,14 @@
+
+
+
+
+
+
+
+
@@ -99,6 +120,9 @@
+
+
+
@@ -112,12 +136,14 @@
+
+
+
-
@@ -126,6 +152,9 @@
+
+
+
@@ -140,30 +169,45 @@
+
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
@@ -174,13 +218,16 @@
+
+
+
@@ -194,13 +241,14 @@
-
+
+
@@ -208,21 +256,30 @@
+
+
-
+
+
+
+
+
+
+
+
@@ -258,6 +315,11 @@
+
+
+
+
+
@@ -286,9 +348,13 @@
+
+
+
+
@@ -298,6 +364,7 @@
+
@@ -319,9 +386,19 @@
-
+
+
+
+
+
+
+
+
+
+
+
@@ -335,6 +412,10 @@
+
+
+
+
@@ -347,6 +428,13 @@
+
+
+
+
+
+
+
@@ -355,34 +443,46 @@
+
+
-
-
-
+
+
+
+
+
+
+
+
+
-
+
+
-
+
+
+
+
@@ -392,13 +492,21 @@
+
+
+
+
+
-
-
+
+
+
+
+
@@ -420,6 +528,7 @@
+
@@ -429,6 +538,12 @@
+
+
+
+
+
+
@@ -441,6 +556,9 @@
+
+
+
@@ -474,11 +592,19 @@
+
+
+
+
-
+
+
+
+
+
@@ -488,17 +614,18 @@
-
-
-
+
-
-
-
+
+
+
+
+
+
@@ -506,6 +633,7 @@
+
@@ -516,15 +644,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
diff --git a/fhem/contrib/zwave_configconvert.pl b/fhem/contrib/zwave_configconvert.pl
index 984b2dcbc..f0fd847e0 100644
--- a/fhem/contrib/zwave_configconvert.pl
+++ b/fhem/contrib/zwave_configconvert.pl
@@ -1,8 +1,35 @@
#!/usr/bin/perl
-# Usage: contrib/zwave_configconvert.pl priv/zwave/open-zwave-read-only/config |
-# gzip > FHEM/lib/openzwave_deviceconfig.xml.gz
-#
+# Details in Forum #35416
+
+if(@ARGV == 0 || ($ARGV[0] =~ m/^-/ && $ARGV[0] ne "-d")) {
+ print "Usage:\n".
+ " cd open-zwave\n".
+ " perl .../contrib/zwave_configconvert.pl config |\n".
+ " gzip > .../FHEM/lib/openzwave_deviceconfig.xml.gz\n".
+ "or\n".
+ " cd open-zwave\n".
+ " gzip -d < .../FHEM/lib/openzwave_deviceconfig.xml.gz |\n".
+ " perl .../contrib/zwave_configconvert.pl -d\n";
+ exit 1;
+}
+
+if($ARGV[0] eq "-d") {
+ while(my $l = ) {
+ next if($l !~ m/config/$f") || die("open config/$f: $!\n");
+ print FH $l;
+ while($l = ) {
+ print FH $l;
+ last if($l =~ m,,);
+ }
+ close(FH);
+ }
+ exit(0);
+}
print '', "\n";
print "\n";
@@ -16,20 +43,20 @@ foreach my $file (`find $ARGV[0] -name \*.xml`) {
while(my $l = ) {
next if($l =~ m/^<\?xml/);
chomp($l);
- $l =~ s/^/;
+ $l =~ s/^/;
$l =~ s/\r//g;
- $l =~ s/^[ \t]*//g;
- $l =~ s/[ \t]*$//g;
+ $l =~ s/\t/ /g;
+ #$l =~ s/^ *//g;
+ $l =~ s/ *$//g;
next if($l eq "");
if($l !~ m/>$/ || $l =~ m/^$/) { $buffer .= " ".$l; next; }
if($buffer && $l =~ m/>$/) { $l = "$buffer $l"; $buffer=""; }
$l =~ s///g;
- $l =~ s/^[ \t]*//g;
- $l =~ s/[ \t]*$//g;
- print "$l\n" if($l);
+ $l =~ s/ *$//g;
+ print $l,"\n" if($l);
}
close(FH);
print $buffer if($buffer);
- print "\n"; # Some files are not NL terminated!
+ print "\n"; # One empty line between products
}
print "\n";