Error: HUEDevice8 has no TYPE Müllt log zu

Begonnen von Steeeve, 02 Oktober 2014, 10:02:17

Vorheriges Thema - Nächstes Thema

Dietmar63

habe es doch selbst geschafft:
{delete $defs{""}}
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Dietmar63

Ich habe die Ursache gefunden:
Habe zur Erkennung von Heizungen getAllSets($) aus fhem.pl aufgerufen - leider mit Devicenamen die nicht definiert waren. Dann wird vermutlich in CommandSet() mit $defs{}... im hash %defs etwas unter '' oder sonstwelchem Namen angelegt, aber nicht vollständig in delete  $defs{}... (zwei Zeilen später) gelöscht.

Diese Zombieeinträge führen dann später zu Fehlern.


sub
CommandSet($$)
{
...
    $defs{$sdev}->{CL} = $cl if($defs{$sdev});
    my $ret = DoSet(@a);
    delete $defs{$sdev}->{CL} if($defs{$sdev});
...
}


Vielleicht hilft die Erkenntnis ja mal jemanden bei  der Fehlersuche.
Vielleicht kann ja jemand dieses Problem in CommandSet() oder getAllSets() abfangen.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

rudolfkoenig

Danke fuer den Hinweis. CommandSet ist unschuldig, aber getAllSets nicht, insb. die vorletzte Zeile nicht.
Habs gefixt und eingecheckt.