diff --git a/fhem/contrib/HMCCU/88_HMCCUDEV.pm b/fhem/contrib/HMCCU/88_HMCCUDEV.pm index f414a3555..ba137776c 100644 --- a/fhem/contrib/HMCCU/88_HMCCUDEV.pm +++ b/fhem/contrib/HMCCU/88_HMCCUDEV.pm @@ -84,6 +84,8 @@ sub HMCCUDEV_Define ($@) my $devtype = shift @a; my $devspec = shift @a; + return "Invalid or unknown CCU device name or address" if (! HMCCU_IsValidDevice ($devspec)); + if ($devspec =~ /^(.+)\.([A-Z]{3,3}[0-9]{7,7})$/) { # CCU Device address with interface $hash->{ccuif} = $1; @@ -134,6 +136,7 @@ sub HMCCUDEV_Define ($@) AssignIoPort ($hash); readingsSingleUpdate ($hash, "state", "Initialized", 1); + $hash->{ccudevstate} = 'Active'; return undef; } @@ -407,7 +410,8 @@ sub HMCCUDEV_SetError ($$) my %errlist = ( -1 => 'Channel name or address invalid', -2 => 'Execution of CCU script failed', - -3 => 'Cannot detect IO device' + -3 => 'Cannot detect IO device', + -4 => 'Device deleted in CCU' ); if (exists ($errlist{$text})) {