From 4a285ab707bf2f9ba76f174d65586a7224419229 Mon Sep 17 00:00:00 2001 From: zap <> Date: Mon, 23 Sep 2019 17:26:18 +0000 Subject: [PATCH] FULLY: Support Fully 1.35 git-svn-id: https://svn.fhem.de/fhem/trunk@20232 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/CHANGED | 1 + fhem/FHEM/89_FULLY.pm | 30 +++++++++++++++++++++++++----- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/fhem/CHANGED b/fhem/CHANGED index 64aae17bd..b6a55a87f 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,5 +1,6 @@ # Add changes at the top of the list. Keep it in ASCII, and 80-char wide. # Do not insert empty lines here, update check depends on it. + - bugfix: 89_FULLY: Support Fully version 1.34 - change: 93_DbRep: comma can be shown in sqlCmdHistory, Forum: #103908 - feature: 49_SSCamSTRM: new attribute "hideAudio" - bugfix: 73_AutoShuttersControl: change code in ShuttersCommandSet diff --git a/fhem/FHEM/89_FULLY.pm b/fhem/FHEM/89_FULLY.pm index d817ed0a0..c95d7be15 100755 --- a/fhem/FHEM/89_FULLY.pm +++ b/fhem/FHEM/89_FULLY.pm @@ -1,6 +1,6 @@ ############################################################################## # -# 89_FULLY.pm 1.3 +# 89_FULLY.pm 1.35 # # $Id$ # @@ -37,7 +37,7 @@ sub FULLY_ProcessDeviceInfo ($$); sub FULLY_UpdateReadings ($$); sub FULLY_Ping ($$); -my $FULLY_VERSION = "1.3"; +my $FULLY_VERSION = "1.35"; # Timeout for Fully requests my $FULLY_TIMEOUT = 5; @@ -416,8 +416,17 @@ sub FULLY_Get ($@) } $response = ''; - while ($result =~ /table-cell\">([^<]+)<\/td>([^<]+)([^<]+)<\/td>([^<]+)([^<]+)<\/td>(.*?)<\/td>/g) { + my ($in, $iv) = ($1, $2); + if ($iv =~ /^(.*?)<\/a>/) { + $iv = $1; + } + elsif ($iv =~ /(.*?)\n"; } return $response; @@ -541,6 +550,7 @@ sub FULLY_ExecuteCB ($$$) Log3 $name, 4, "FULLY: [$name] Last command executed. Processing results"; Log3 $name, 5, "FULLY: [$name] $data"; my $result = FULLY_ProcessDeviceInfo ($name, $data); + Log3 $name, 4, "FULLY: [$name] $result"; if (!FULLY_UpdateReadings ($hash, $result)) { Log3 $name, 2, "FULLY: [$name] Command failed"; } @@ -661,13 +671,23 @@ sub FULLY_ProcessDeviceInfo ($$) # Kiosk modeoff my $parameters = "$name|1"; - while ($result =~ /table-cell.>([^<]+)<\/td>([^<]+)([^<]+)<\/td>(.*?)<\/td>/g) { my $rn = lc($1); my $rv = $2; + + if ($rv =~ /^(.*?)<\/a>/) { + $rv = $1; + } + elsif ($rv =~ /(.*?)