Hallo zusammen,
ich wollte mir für diverse Einstellungsmöglichkeiten, statt hard-coded alles in die myUtils einzutragen, ein Dummy Device einrichten.
Auf das Settings Dummy habe ich dann per ReadingsVal aus den myUtils zugegriffen.
Dabei waren z.B. Mac Adressen für die Smartphones (für Präsenzprüfung), Standard Audio Ausgabedevice, Standardlautstärke etc. eingerichtet.
Das habe ich soweit auch getan und ein paar Readings eingerichtet. Soweit hat alles super funktioniert, bis auf einmal heute alle meine Readings verschwunden sind.
Hat jemand schon ein Settings-Device oder ähnliches eingerichtet und kann mir hier sagen, wie er vorgegangen ist, damit soetwas nicht passiert?
Vielen Dank.
Hi,
normalerweise passiert das nicht. Was hast Du "rundherum" getan, bevor das passierte?
Gruß Otto
FHEM ganz normal geupdatet, was sonst immer i.O. funktioniert.
Mein QTS von dem QNAP NAS und die VirtualisierungsStation musste aktualisiert werden.
Es waren auch zunächst (hatte ich noch nie) ALLE Readings weg. Die wurden komplett neu geladen von den devices.
Kann ich die denn noch irgendwie wiederholen?
Hast Du evtl vergessen die Readings mit "attr <dummy> userReadings" einzurichten?
Ich habs über User-Attribute realisiert, also anstatt Readings im Dummy Device zu setzten, kannst Du User-Attribute setzten, und die mit
my $String = AttrVal("GlobalConstants","MeinAttrString","nA"); oder my $Zahl = AttrNum("GlobalConstants","MeinAttrZahl",0); in der myUtils abfragen.
defmod GlobalConstants dummy
attr GlobalConstants MacAdresse 00:11:22:33:44:55
attr GlobalConstants Standardlautstärke 7
attr GlobalConstants userattr MacAdresse Standardlautstärke
Klingt als ob das Statefile nicht geladen wurde. ich weiß nicht in welchen Situationen das passieren kann.
Was gibt dir{qx (ls -lha log/fhem.save)}
in der FHEM Kommandozeile zurück?
Dort könnten Deine Readings noch drinstehen, falls die Datei nicht überschrieben wurde.
Gruß Otto
nein, ich hatte es tatsächlich über Readings realisiert, weil ich auch noch nicht wusste, wie ich auf attr. zugreifen kann.
Zumal ich bei den Readings auch die Rückwärtssuche genutzt habe, also vom ReadingsVal auf den ReadingName zu kommen (Bsp.: FritzBox erkennt eine MAC Adresse und will den Namen des Users haben. Mac Adresse war ReadingsValue und Name war der Name des Readings)
Zitat von: Otto123 am 06 Juni 2019, 21:55:21
Klingt als ob das Statefile nicht geladen wurde. ich weiß nicht in welchen Situationen das passieren kann.
Was gibt dir{qx (ls -lha log/fhem.save)}
in der FHEM Kommandozeile zurück?
Dort könnten Deine Readings noch drinstehen, falls die Datei nicht überschrieben wurde.
Gruß Otto
-rw-rw-rw-+ 1 fhem dialout 117K Jun 6 21:23 log/fhem.save
Zitat von: flipse am 06 Juni 2019, 21:56:17
-rw-rw-rw-+ 1 fhem dialout 117K Jun 6 21:23 log/fhem.save
du könntest Recht haben.
Mein derzeitiges FHEM.save ist deutlich kleiner als das von vor 2 Tagen.
Kann ich das einfach wieder ersetzen auf Dateiebene?
Mit
restore list save
siehst Du die die gesicherten Pfade, darunter dann die Dateien.
Wenn sie dort liegt kannst Du sie mit restore wieder herstellen.
Available for restore in save:
.DS_Store
2019-06-04
2019-06-05
2019-06-06
die vom 5.6. wäre es. Mit welchem Befehl stelle ich nur die fhem.save wieder her?
Guckenrestore list save/2019-06-05/log/
Restore
restore save/2019-06-05/log/fhem.save
Aber damit überschreibst Du wieder die aktuellen Dinge. Also eventuell die Datei mit dem Texteditor öffnen und nur die Readings vom Dummy rausholen ...
Zitat von: Otto123 am 06 Juni 2019, 22:04:19
Guckenrestore list save/2019-06-05/log/
Restore
restore save/2019-06-05/log/fhem.save
Aber damit überschreibst Du wieder die aktuellen Dinge. Also eventuell die Datei mit dem Texteditor öffnen und nur die Readings vom Dummy rausholen ...
danke, aber er skipped den restore und sagt dann restore finished
habs mit Texteditor hinbekommen. Danke
nochmal nachgelesen:
https://commandref.fhem.de/#restore
restore -a save/2019-06-05/log/fhem.save
führt zum Erfolg.
Aber in dem Fall ist die manuelle Methode - nur die Readings wiederherzustellen - mit Sicherheit besser!