From 9195d9e5f9185ac4aeeb82c3e4cfae1df6c11b42 Mon Sep 17 00:00:00 2001 From: krikan <> Date: Thu, 23 Nov 2017 20:04:03 +0000 Subject: [PATCH] zwave/config: add second modelId Eurotronic Spirit git-svn-id: https://svn.fhem.de/fhem/trunk@15484 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/00_ZWDongle.pm | 33 ++++++++++++++++--- .../lib/openzwave_manufacturer_specific.xml | 1 + 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/fhem/FHEM/00_ZWDongle.pm b/fhem/FHEM/00_ZWDongle.pm index 0de8ed1de..724b875ad 100644 --- a/fhem/FHEM/00_ZWDongle.pm +++ b/fhem/FHEM/00_ZWDongle.pm @@ -58,6 +58,7 @@ my %sets = ( ); my %gets = ( + "backgroundRSSI" => "3b", # GET_BACKGROUND_RSSI "caps" => "07", # SERIAL_API_GET_CAPABILITIES "ctrlCaps" => "05", # ZW_GET_CONTROLLER_CAPS "homeId" => "20", # MEMORY_GET_ID @@ -561,6 +562,26 @@ ZWDongle_Get($@) push @list, ("at ".($f==1 ? "9.6": ($f==2 ? "40":"100"))."kbps") if(@list && $f =~ m/[123]/); $msg = (@list ? join(" ", @list) : "N/A"); + + } elsif($cmd eq "backgroundRSSI") { ############################ + my @list; + my $i=0; + for(my $off=4; $off<10; $off+=2) { + my $dec = hex(substr($msg, $off, 2)); + if ($dec == 127 || $dec == 0) { + push @list, ("ch".($i+1).":N/A"); + } elsif($dec == 126) { + push @list, ("ch".($i+1).":aboveMaxPower"); + } elsif($dec == 125) { + push @list, ("ch".($i+1).":belowReceiverSensitivity"); + } elsif($dec > 161 && $dec < 225) { + push @list, ("ch".($i+1).":".unpack('c', pack('C', $dec))." dBm"); + } else { + push @list, ("ch".($i+1).":reservedValue"); + } + $i++ + } + $msg = join(" ", @list); } $cmd .= "_".join("_", @a) if(@a); @@ -1180,10 +1201,9 @@ ZWDongle_Ready($)