2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2024-11-22 02:59:49 +00:00
fhem-mirror/fhem/contrib/zwave_pepperconvert.pl
2016-01-27 09:21:26 +00:00

47 lines
1.1 KiB
Perl

#!/usr/bin/perl
# Details in Forum #35416
if(@ARGV == 0) {
print "Usage:\n".
" mkdir -p <fhem>/www/deviceimages/zwave\n".
" cd <fhem>/www/deviceimages/zwave\n".
" wget http://www.pepper1.net/zwavedb/device/export/device_archive.zip\n".
" unzip device_archive.zip\n".
" perl <fhem>/contrib/zwave_pepperconvert.pl *.xml\n".
" sh getpics.sh\n".
" rm *.xml *.txt *.sh *.zip\n".
" gzip zwave_pepperlinks.csv\n";
" mv zwave_pepperlinks.csv.gz <fhem>/FHEM/lib\n";
exit 1;
}
open(F1, ">zwave_pepperlinks.csv") || die("zwave_pepperlinks.csv: $!\n");
open(F2, ">getpics.sh") || die("getpics.sh: $!\n");
my $d="";
my %toget;
while(my $l = <>) {
if($l =~ m,<deviceImage\s*url="(.*)"\s*/>,) {
$d = $1;
$d =~ s/^\s*//;
$d =~ s/\s*$//;
}
if($l =~ m,</ZWaveDevice,i) {
my $lf = $d;
$lf =~ s,^.*/,,;
if($ARGV =~ m/^([0-9A-F]+)-([0-9A-F]+)-([0-9A-F]+)-([0-9A-F]+)-/i) {
print F1 "$2-$3-$4,$1,$lf\n";
} else {
print F1 "$ARGV\n";
}
if($lf && !-f $lf && !$toget{$lf}) {
printf F2 "wget $d\n";
$toget{$lf} = 1;
}
$d="";
}
}
close(F1);
close(F2);