From 49a397d963cd8f855595f59499c97a32fd18a667 Mon Sep 17 00:00:00 2001 From: xenos1984 Date: Sun, 9 Oct 2022 20:49:59 +0000 Subject: [PATCH] 72_UBUS_CALL.pm: Set state reading to error message in case of error result. git-svn-id: https://svn.fhem.de/fhem/trunk@26518 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/72_UBUS_CALL.pm | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/fhem/FHEM/72_UBUS_CALL.pm b/fhem/FHEM/72_UBUS_CALL.pm index dbc24d93b..2dcdb09e9 100644 --- a/fhem/FHEM/72_UBUS_CALL.pm +++ b/fhem/FHEM/72_UBUS_CALL.pm @@ -330,9 +330,6 @@ sub Parse Log3($ioname, 1, "UBUS - decode_json error: $@"); return; } - - my $error = $data->{result}[0]; - my $result = $data->{result}[1]; my $id = $data->{id}; if($id !~ m/^(.*):call:(.*)/) @@ -344,8 +341,6 @@ sub Parse $id = $2; my $hash = $main::defs{$name}; - readingsSingleUpdate($hash, 'state', 'received', 1); - if(!defined $hash) { Log3($ioname, 1, "UBUS - received message for unknown device $name"); @@ -358,6 +353,22 @@ sub Parse return; } + if(defined $data->{error}) + { + readingsSingleUpdate($hash, 'state', 'Error ' . $data->{error}->{code} . ': ' . $data->{error}->{message}, 1); + return; + } + + readingsSingleUpdate($hash, 'state', 'received', 1); + + if(!defined $data->{result}) + { + return; + } + + my $error = $data->{result}[0]; + my $result = $data->{result}[1]; + my ($module, $function, $params); if(!defined $hash->{rpc}{$id})