diff --git a/FHEM/10_MQTT2_DEVICE.pm b/FHEM/10_MQTT2_DEVICE.pm index 8094cd7fd..f618e9c18 100644 --- a/FHEM/10_MQTT2_DEVICE.pm +++ b/FHEM/10_MQTT2_DEVICE.pm @@ -657,12 +657,14 @@ MQTT2_DEVICE_nlData($) $h{$n}{title} = $v; $fo = $n if(!$fo); - my @a; - $h{$n}{neighbors} = \@a; + my @a; $h{$n}{neighbors} = \@a; + my @b; $h{$n}{neighborstyles} = \@b; - } elsif($l =~ m/^\s*"([^"]+)"\s*->\s*"([^"]+)"\s\[label="([^"]*)"/) { - push @{$h{$1}{neighbors}}, $2; - $h{$1}{title} .= "${div}lqi:$3"; + } elsif($l =~ m/^\s*"([^"]+)"\s*->\s*"([^"]+)".*label="([^"]*)"/) { + my ($from,$to,$title) = ($1,$2,$3); + push @{$h{$from}{neighbors}}, $to; + $h{$from}{title} .= "${div}lqi:$title"; + push @{$h{$from}{neighborstyles}}, ($l =~ m/style="([^"]+)"/ ? $1 : ""); } } @@ -672,13 +674,15 @@ MQTT2_DEVICE_nlData($) for my $k (keys %h) { my $n = $h{$k}{neighbors}; + my $ns = $h{$k}{neighborstyles}; push @ret, '"'.$k.'":{'. '"class":"'.$h{$k}{class}.' col_link col_oddrow",'. '"img":"'.$h{$k}{img}.'",'. '"txt":"'.$h{$k}{txt}.'",'. '"title":"'.$h{$k}{title}.'",'. '"pos":['.($dp{$k} ? $dp{$k} : '').'],'. - '"neighbors":['. (@{$n} ? ('"'.join('","',@{$n}).'"'):'').']}'; + '"neighbors":['. (@{$n} ? ('"'.join('","',@{$n}).'"'):'').'],'. + '"neighborstyles":['. (@{$ns} ? ('"'.join('","',@{$ns}).'"'):'').']}'; } my $r = '{"firstObj":"'.$fo.'","el":{'.join(",",@ret).'},'. diff --git a/www/pgm2/f18style.css b/www/pgm2/f18style.css index f37da26a1..b046da40e 100644 --- a/www/pgm2/f18style.css +++ b/www/pgm2/f18style.css @@ -169,6 +169,7 @@ svg.zw_nr .zwBox { stroke-width:2px; } svg.zw_nr .zwDongle { stroke:red; stroke-width:2px; } svg.zw_nr .zwMargin { stroke-width:1px; fill:none; } svg.zw_nr .zwLine { stroke-width:1px; } +svg.zw_nr .zwLine.dashed { stroke-dasharray:5,5 } svg.zw_nr .zwArrowHead { stroke-width:1px; } svg.zw_nr { height:auto; width:auto; margin:0; } diff --git a/www/pgm2/zwave_neighborlist.js b/www/pgm2/zwave_neighborlist.js index 0d56d8eff..1e4b34a10 100644 --- a/www/pgm2/zwave_neighborlist.js +++ b/www/pgm2/zwave_neighborlist.js @@ -96,7 +96,7 @@ zw_draw(fnRet, width, height) for(var o in h) { if(h[o].txt && h[o].neighbors) for(var i1=0; i1