Ich nutze configdb. Ich schreibe aber erst einmal hier, weil configdb in diesem Fall wahrscheinlich keine Rolle spielt
Wenn ich nun recover Version xy mache, kommt die Aufforderung fhem entweder neu zu starten, oder rereadcfg zu nutzen.
Ich habe nun in meinem Tran rereadcfg eingegeben. Danach ging nichts mehr. Ich habe fhem neu gestartet und alle States und viele Userreadings waren verschwunden.
Ich dachte, ist ja kein Problem und kopierte ein Statefile aus meiner Sicherung vom Vortag in den angegebenen Ordner. Leider hatte ich damit keinen Erfolg. Die Datei wurde offenbar ignoriert.
Meine Frage nun: Welche Datei muss ich zurückspielen, damit die States und Userreadings wieder da sind?
Ich hatte /opt/fhem/log/fhem.save kopiert, aber wie gesagt, ohne Erfolg.
Gelöst habe ich mein Problem erst einmal indem ich die configdb Dateien kopiert und ein SSD-Image von Mitte Dezember genommen habe. Dort habe ich die configdb reinkopiert und alles läuft. Dabei habe ich zwar einige Logdaten verloren, aber die brauche ich nicht unbedingt, sonst hätte ich diese ja auch zurückspielen können.
Zitat von: Invers am 02 Februar 2022, 10:38:34
Ich nutze configdb. Ich schreibe aber erst einmal hier, weil configdb in diesem Fall wahrscheinlich keine Rolle spielt
Doch, spielt es! Bei configdb gibt es kein statefile mehr, da gibt es eine entsprechende Tabelle!
gb#
Sorry für meine Fehleinschätzung.
Dann müsste ich die Frage also eher dort stellen?
Zitat von: Invers am 02 Februar 2022, 10:55:14
Sorry für meine Fehleinschätzung.
Dann müsste ich die Frage also eher dort stellen?
Denke schon! recover ist ja schließlich auch configdb-spezifisch!
gb#
Bei einem configdb recover wird grundsätzlich kein statefile verarbeitet.
Verstehe ich jetzt aber nicht. Wenn ich einen Neustart von fhem mache, sind ja States alle da.
Wenn ich recover mache ebenfalls.
Irgendwo müssen die also abgespeichert sein.
Die Frage ist, wo?
Wenn ich die Configdb in ein anderes Image kopiere, dann funktioniert ja alles.
Kann mir denn neimand sagen, was ich tun muss, um die States zurück zu erhalten?
Das betrifft ja auch viele Userreadings, z.B. die, die in ein Dummy gespeichert wurden.
Wie soll/kann man denn das sichern/rücksichern?
Noch habe ich Deine Fehlerbeschreibung nicht verstanden. Trotzdem versuche ich es nochmal.
Du musst mehrere Dinge unterscheiden.
- Bei einem "configdb recover" werden lediglich alle devices einer gewählten Konfiguration innerhalb der Datenbank in die aktuelle Konfiguration kopiert. Das umfasst alle define und attr Befehle.
- Erst bei einem FHEM Neustart wird dann diese kopierte Konfiguration + das letzte gespeicherte statefile eingelesen.
- rereadcfg ist böse, aber bisher war Rudi noch nicht davon zu überzeugen, das abzuschaffen.
Könnte man nicht einfach rereadcfg ausblenden, wenn festgestellt wird, dass die Configdb verwendet wird?
Oder wenigstens eine entsprechende Warnung an der Stelle, wo man dazu aufgefordert wird. rereadcfg bei Verwendung von configdb verboten?
Auf jeden Fall erst einmal danke für die Antwort.
Zitat von: Invers am 02 Februar 2022, 13:05:14
Könnte man nicht einfach rereadcfg ausblenden, wenn festgestellt wird, dass die Configdb verwendet wird?
Das Problem ist nicht auf configDB beschränkt!
Manche Module funktionieren auch bei "normaler" Text-config nicht richtig, wenn man das macht.
@betateilchen: vielleicht sollte man Rudi vorschlagen, eine (nicht abschaltbare!) Sicherheitsabfrage einzubauen, damit die Leute allgemein endlich lernen, dass es "not recommended" ist...? Das nutzen sonst doch eigentlich nur "cfg-Editierer", und im Ergebnis ist "shutdown restart" doch auch nicht wirklich langsamer...
NICHT EMPFOHLEN reicht nicht. Es wird ja richtig alles zerstört, wenn man mit configdb arbeitet. Da gibt es kein VIELLEICHT.
Zitat von: Invers am 02 Februar 2022, 13:27:28
Es wird ja richtig alles zerstört, wenn man mit configdb arbeitet
Nein, wird es nicht. Zumindest nicht, solange kein save ausgeführt wird.
Zitat von: Beta-User am 02 Februar 2022, 13:20:56
@betateilchen: vielleicht sollte man Rudi vorschlagen
Auf diese (mehrfach geführte) Diskussion habe ich einfach keine Lust mehr.
Stattdessen werde ich in "configdb recover" die Meldung anpassen und einen FHEM Neustart verlangen, rereadcfg wird nicht mehr erwähnt.
Zur Abrundung für @Invers und eventuelle Mitleser - zum Thema Ausbau hat sich Rudi jüngst hier geäußert: https://forum.fhem.de/index.php/topic,122965.msg1184168.html#msg1184168 (https://forum.fhem.de/index.php/topic,122965.msg1184168.html#msg1184168)
Ich hatte kein SAVE ausgeführt und es war alles weg. Alle States und viele Userreadings. Kannst du gerne testen.
EDIT:
Ich fasse nochmal zusammen, zum Verständnis:
configdb recover 3
Aufforderung rereadcfg oder Neustart mit rereadcfg beantwortet
Anzeige Müll, alles falsch.
Restart eingegeben ohne save!!!
Oberfläche wird wieder sauber gestartet mit allen Inhalten und Formatierungen.
Ergebnis alles super, nur STATE und Userreadings sind weg!
Ich ging davon aus, dass ich durch Rückspielen der Datei
2022.02.02 13:18:18.648 2: eventTypes: loaded 14519 lines from ./log/eventTypes.txt
Aus einer anderen Sicherung alles bereinigen kann, was ein Irrtum war. Der Tausch der Dateien hatte keinen sichtbaren Einfluss.
Erfolg durch:
Aktuelle configdb sichern und auf ein altes Image übertragen. Läuft wieder mit kleinen Verlusten der Logs