############################################## # $Id: attrTmqtt2_roborock_Utils.pm 2020-01-19 Beta-User $ # package main; use strict; use warnings; sub attrTmqtt2_roborock_Utils_Initialize($$) { my ($hash) = @_; } # Enter you functions below _this_ line. sub attrTmqtt2_roborock_valetudo2svg($$$) { my ($reading, $d, $filename) = @_; my %ret; if($d !~ m/height":(\d+),"width":(\d+).*?floor":\[(.*\])\]/) { $ret{$reading} = "ERROR: Unknown format"; return \%ret; } my ($w,$h,$nums) = ($1, $2, $3); my $svg=<<"EOD"; "; if(!open FD,">$filename") { $ret{$reading} = "ERROR: $filename: $!"; return \%ret; } print FD $svg; close(FD); $ret{$reading} = "Wrote $filename"; return \%ret; } 1; =pod =begin html
attrTmqtt2_roborock_valetudo2svg($$$)