FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: frank am 25 Februar 2021, 15:10:19

Titel: [cul_hm] vorsicht! set clear readings im device löscht auch readings im channel
Beitrag von: frank am 25 Februar 2021, 15:10:19
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.  ;)
Titel: Antw:[cul_hm] vorsicht! set clear readings im device löscht auch readings im channel
Beitrag von: betateilchen am 25 Februar 2021, 16:26:33
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...

Titel: Antw:[cul_hm] vorsicht! set clear readings im device löscht auch readings im channel
Beitrag von: frank am 25 Februar 2021, 17:58:22
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.
Titel: Antw:[cul_hm] vorsicht! set clear readings im device löscht auch readings im channel
Beitrag von: martinp876 am 26 Februar 2021, 20:02:07
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.