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})