diff --git a/fhem/FHEM/lib/zwave_pepperlinks.csv.gz b/fhem/FHEM/lib/zwave_pepperlinks.csv.gz index f18333060..08b96575f 100644 Binary files a/fhem/FHEM/lib/zwave_pepperlinks.csv.gz and b/fhem/FHEM/lib/zwave_pepperlinks.csv.gz differ diff --git a/fhem/contrib/zwave_jeedomconvert.pl b/fhem/contrib/zwave_jeedomconvert.pl new file mode 100644 index 000000000..acbdb3a96 --- /dev/null +++ b/fhem/contrib/zwave_jeedomconvert.pl @@ -0,0 +1,54 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +# Details in Forum #35416 + +if(@ARGV != 0) { + print "Usage:\n". + " git clone https://github.com/jeedom/plugin-openzwave". + " cd plugin-openzwave/core/config". + " gzip -d < /FHEM/lib/zwave_pepperlinks.csv.gz > zwave_pepperlinks.csv\n". + " perl /contrib/zwave_jeedomconvert.pl\n". + " diff zwave_pepperlinks.csv zwave_pepperlinks.csv.NEW\n". + " upload shown *.jpg files to fhem.de/deviceimages\n". + " gzip < zwave_pepperlinks.csv.NEW > /FHEM/lib/zwave_pepperlinks.csv.gz\n". + " rm *.jpg\n"; + exit 1; +} + +open(F1, ") { + chomp($l); + my @a = split(/,/,$l); + $m{$a[0]}{L} = $a[1]; + $m{$a[0]}{P} = $a[2]; +} +close(F1); + +open(F1, "find devices -name *.jpg -print|") || die("Cant start find: $!\n"); +while(my $l = ) { + chomp($l); + next if($l !~ m,/(\d+)\.(\d+)\.(\d+)_(.*)$,); + my $i = sprintf("%04x-%04x-%04x", $1, $2, $3); + next if($m{$i} && $m{$i}{P}); + my $file = "$1.$2.$3_$4"; + $file =~ s/ /_/g; + print "WARNING: bogus filename $file\n" if($file =~ m/^[^0-9A-Za-z.]+$/); + $m{$i}{P} = $file; + symlink($l, $file); +} +close(F1); + +open(F2, ">zwave_pepperlinks.csv.NEW") || die("zwave_pepperlinks.csv.NEW: $!\n"); +for my $i (sort keys %m) { + my ($l,$p) = ($m{$i}{L}, $m{$i}{P}); + next if(!$l && !$p); + $l = "" if(!$l); + $p = "" if(!$p); + print F2 "$i,$l,$p\n"; +} +close(F2); diff --git a/fhem/fhem.pl b/fhem/fhem.pl index 735fe3966..419ac6e16 100755 --- a/fhem/fhem.pl +++ b/fhem/fhem.pl @@ -3060,7 +3060,8 @@ deviceEvents($$) if($hash->{READINGS} && $hash->{READINGS}{state}) { my $ostate = $hash->{READINGS}{state}{VAL}; my $mstate = ReplaceEventMap($hash->{NAME}, $ostate, 1); - @{$cws} = map { $_ eq $mstate ? "state: $ostate" : $_ } @{$hash->{CHANGED}}; + @{$cws} = map { $_ eq $mstate ? "state: $ostate" : $_ } + @{$hash->{CHANGED}}; } else { @{$cws} = @{$hash->{CHANGED}}; }