Hallo,
habe den Code von 59_HCS.pm mal angesehen.
ich halte es für eine Race Condition:
In der Intialisierungs-Funktion HCS_DoInit passiert folgendes:
if($init_done) {
my $ret = HCS_getValues($hash,0);
HCS_setState($hash,$ret);
RemoveInternalTimer($hash);
my $timer = gettimeofday()+($attr{$name}{interval}*60);
InternalTimer($timer, "HCS_checkState", $hash, 0);
$hash->{NEXTCHECK} = FmtTime($timer);
}
Ist FHEM aber zu diesem Zeitpunkt nicht fertig, so wird niemals wieder erneut darauf geprüft; es wird nie ein Timer programmiert, und HCS bleibt einfach stehen. Das kann so nicht richtig sein. Eventuell sollte der interne Timer so oder so gesetzt werden, und in HCS_Checkstate ebenfalls auf $init_done geprüft werden?
Wer kann das einbauen?