das cmd "set clear readings" in einem virtuellen device (virtueller tc) löscht:
- alle readings im device. sogar versteckte readings: .associatedWith, .protLastRcv
- alle readings im channel. sogar versteckte readings: .associatedWith, .next
die readings .associatedWith habe ich noch nicht wieder herstellen können.
restart vermeide ich erst einmal, solange keine weiteren probleme auftauchen.
eigentlich wollte ich nur die "normalen" readings im device löschen und gar nichts im channel.
- clear unknownDev könnte im device entfallen.
- im channel gibt es gar kein "set clear".
ein normales multi-channel-device teste ich erst einmal nicht. ;)
Das ist doch schon immer so?
if ($sect eq "readings"){
my @cH = ($hash);
push @cH,$defs{$hash->{$_}} foreach(grep /^channel/,keys %{$hash});
delete $_->{READINGS} foreach (@cH);
Works as designed...
ZitatWorks as designed...
für mich jedenfalls völlig überraschend, da der cmd in realen channels ebenfalls existiert. :)
und verwirrend, weil der vd durch das fehlende reading ".next" andauernd auf störung blieb.
RTFM!
Zitatclear <[rssi|readings|register|msgEvents|attack|all]>
A set of variables can be removed.
readings: all readings will be deleted. Any new reading will be added usual. May be used to eliminate old data
Es wird gehalte, was versprochen wird.
Grund für das Kommando war, alte/veraltete Readings entfernen zu können. Selbstverständlich sind auch hidden readings betroffen - genau wie bei clear Register.
In der Tat habe ich es schon lange nicht mehr genutzt - die normale Bereinigung klappt recht gut. In der Tat würde ich mir das Kommando auch für andere (alle) entites wünschen. Ein Cleansweap.