Sinn vom Rausschmiss nicht erkannter oder includierbarer Devices beim Neustart

Begonnen von ftsinuglarity, 06 April 2018, 16:52:26

Vorheriges Thema - Nächstes Thema

ftsinuglarity

Halloa,

gibt es einen tieferen Sinn, das Geräte, wenn sie nicht einbindbar sind, aus der Konfiguration geschmissen werden ?
Genauer gesagt passiert das, wenn FHEM neu gestartet wird.

Das kenne ich von Homematic Devices. Da habe ich drumherum gebastelt, das es wieder passt.
Jetzt habe ich gerade einen größeren USB Stick eingebunden. /opt/fhem/logs und die Backups werden dorthin gepackt. (per fstab entsprechend eingebunden)
Nun habe ich scheints nicht aufgepasst, und FHEM ist einmal gestartet, als die Sticks (Sticktausch 8GB gegen 32GB) gerade nicht richtig eingebunden waren. (ein umnachteter "save" Klick war wohl auch dabei)
Folge: sämtlich FileLog Einträge sind aus den *.cfg's rausgeflogen.

Ich hab zwar ein Backup. Nur sehe ich den Sinn nicht, warum gleich aus der Config rausgeschmissen wird, anstatt zu deaktivieren.
Mache ich da wieder irgendwo einen (Denk-)Fehler, oder soll das so ?

Grüße ... :)

Beta-User

Anders herum gefragt:
Welchen Sinn siehst du darin, Geräte, die nicht funktionieren, in der aktuellen Konfguration zu haben?
Das kann doch eigentlich nur (noch mehr) Ärger machen...

Aber dieses Verhalten ist der Grund, warum z.B. von automatischen Saves abgeraten wird ;) .
Tendenziell besser wird das nach meinem persönlichen Eindruck bei Verwendung von configDB, allerdings weiß ich nicht, ob das auch für Logs gilt (hatte das nur früher mit 1-wire Sensoren und OWX beobachtet).

Gruß,

Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

CoolTux

Natürlich macht es Sinn das Devices welche auf Grund von nicht funktionierenden Modulen nicht definiert werden können nicht in FHEM erscheinen. Deswegen sind sie aber noch lange nicht aus der Konfiguration raus.
Sie stehen immer noch drin, erst wenn jemand der Meinung ist (der User) save config zu drücken oder er autosave aktiv hat und ein Modul nicht korrekt mit autosave arbeitet wird sie überschrieben und die nicht geladenen definitionen verschwinden auch aus der Konfig.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

rudolfkoenig

Zitat...oder er autosave aktiv hat und ein Modul nicht korrekt mit autosave arbeitet wird sie überschrieben
Das sollte aber seit (gefuehlt) einem halben Jahr deaktiviert sein, wenn beim Starten ein Fehler festgestellt wird.

ftsinuglarity

Zitat von: Beta-User am 06 April 2018, 17:10:47
Anders herum gefragt:
Welchen Sinn siehst du darin, Geräte, die nicht funktionieren, in der aktuellen Konfguration zu haben?
Das kann doch eigentlich nur (noch mehr) Ärger machen...

Ganz einfach um einmal gemachte Definitionen nicht zu verlieren, was ziemlich ärgerlich ist.
Sie zu deaktivieren wäre in meinen Augen sinnvoller und weniger ärgerlich.

Zitat von: Beta-User am 06 April 2018, 17:10:47
Aber dieses Verhalten ist der Grund, warum z.B. von automatischen Saves abgeraten wird ;) .
Tendenziell besser wird das nach meinem persönlichen Eindruck bei Verwendung von configDB, allerdings weiß ich nicht, ob das auch für Logs gilt (hatte das nur früher mit 1-wire Sensoren und OWX beobachtet).
Gruß,
Beta-User

Automatischen Saves habe ich genau aus diesem Grund nicht aktiviert.

Das Problem das ich sehe und schon mehrfach hatte, war das ich nicht mitbekommen habe, das irgendwas nicht inkludiert wurde. Ein Save für eine eigentlich andere Aktion ... und huch, weg isses.
God save the Backup.
Ist euch das noch nie passiert, seid ihr so umsichtig oder habt ne Stelle auf die ihr schaut um rausgeschmissene Geräte auf einen Blick zu erkennen?

Aber grundsätzlich stelle ich mir dennoch die Frage, warum ich aufpassen muß und unter Umständen aufwändige Konfigurationen verliere, weil statt zu deaktivieren komplett rausgeschmissen, meint aus den cfg's rausgelöscht wird.

Ich bin relativ neu in FHEM und will mir nicht anmaßen genug von den Zusammenhängen zu verstehen, um hier berechtigt zu kritisieren. Also bitte nicht falsch verstehen.



Edit: bevor es jetzt heißt, fhem.cfg wird ja gebackupt usw ... Klar, ich kann manuell wieder herstellen.

ftsinuglarity

Zitat von: CoolTux am 06 April 2018, 17:42:56
Natürlich macht es Sinn das Devices welche auf Grund von nicht funktionierenden Modulen nicht definiert werden können nicht in FHEM erscheinen. Deswegen sind sie aber noch lange nicht aus der Konfiguration raus.
Sie stehen immer noch drin, erst wenn jemand der Meinung ist (der User) save config zu drücken oder er autosave aktiv hat und ein Modul nicht korrekt mit autosave arbeitet wird sie überschrieben und die nicht geladenen definitionen verschwinden auch aus der Konfig.

Genau. Der Save kann aber wie eben beschrieben zum Problem werden, wenn ich nicht mitbekomme, das was rausgeflogen ist.
Ein angelegtes Device sollte meiner meiner Meinung nach nur durch aktive Userentscheidung rausgeschmissen werden. Ein normaler Save sollte nicht dazu führen, das Konfigurationen wirkich aus der cfg rausgeschmissen wird.

betateilchen

Zitat von: ftsinuglarity am 06 April 2018, 16:52:26
gibt es einen tieferen Sinn, das Geräte, wenn sie nicht einbindbar sind, aus der Konfiguration geschmissen werden ?
Genauer gesagt passiert das, wenn FHEM neu gestartet wird.

Nein. Es passiert, wenn nach dem fehlerhaften Start von FHEM aus irgendeinem Grund ein "save" ausgeführt wird.
Mit dem FHEM Neustart hat das out-of-the-box nix zu tun.
Es soll aber Leute geben, die ein notify haben, das bei einem "shutdown restart" automatisch noch ein "save" ausführt.

Zitat von: rudolfkoenig am 06 April 2018, 17:51:57
Das sollte aber seit (gefuehlt) einem halben Jahr deaktiviert sein, wenn beim Starten ein Fehler festgestellt wird.

Das funktioniert absolut hervorragend.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

ftsinuglarity

Zitat von: rudolfkoenig am 06 April 2018, 17:51:57
Das sollte aber seit (gefuehlt) einem halben Jahr deaktiviert sein, wenn beim Starten ein Fehler festgestellt wird.

Wenn autosave aktiviert ist, wird es automatisch deaktiviert, wenn es Fehler gibt .. soweit ich das mitbekommen habe

ftsinuglarity

Zitat von: betateilchen am 06 April 2018, 19:05:51
Nein. Es passiert, wenn nach dem fehlerhaften Start von FHEM aus irgendeinem Grund ein "save" ausgeführt wird.
Mit dem FHEM Neustart hat das out-of-the-box nix zu tun.
Klar soweit.

Zitat von: betateilchen am 06 April 2018, 19:05:51
Es soll aber Leute geben, die ein notify haben, das bei einem "shutdown restart" automatisch noch ein "save" ausführt.

keine gute Idee

betateilchen

Zitat von: ftsinuglarity am 06 April 2018, 19:05:19
wenn ich nicht mitbekomme, das was rausgeflogen ist.
Ein angelegtes Device sollte meiner meiner Meinung nach nur durch aktive Userentscheidung rausgeschmissen werden
Ein normaler Save sollte nicht dazu führen, das Konfigurationen wirkich aus der cfg rausgeschmissen wird.

Du verstehst das Prinzip nicht.

Wenn beim FHEM Start irgendwelche devices nicht angelegt werden können, sind sie schlichtweg in der laufenden Konfiguration nicht vorhanden.
Genau diese laufende Konfiguration wird bei einem "save" gesichert.

Das "save" selbst entfernt keine devices aus der Konfiguration.

Tipp: configDB bietet eine automatische Versionierung. Da lassen sich problemlos vorherige Konfigurationen wiederherstellen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

ftsinuglarity

Zitat von: betateilchen am 06 April 2018, 19:09:38
Du verstehst das Prinzip nicht.

Wenn beim FHEM Start irgendwelche devices nicht angelegt werden können, sind sie schlichtweg in der laufenden Konfiguration nicht vorhanden.
Genau diese laufende Konfiguration wird bei einem "save" gesichert.

Das "save" selbst entfernt keine devices aus der Konfiguration.

Tipp: configDB bietet eine automatische Versionierung. Da lassen sich problemlos vorherige Konfigurationen wiederherstellen.

Das hab ich schon so verstanden. Sorry wenn ich mich nicht korrekt ausdrücke und hoffe das ihr schon versteht was ich meine. Klappt nicht mit der Gedankenübertragung.

Andersherum:
Ich stelle mir das eher so vor, das die momentane komplette Konfiguration vorgehalten wird (das passiert ja schon in der cfg .. bis zum save). Bei einem Save sollten dann aber nur die gemachten Veränderungen übernommen werden, nicht gleich nicht-funktionierende Devices mit weg-gesaved werden. Oft funktioniert ja irgendwas nur gerade nicht, und dann isses wech ...
Also bei "save" komplette vorgehaltene Konfiguration speicher +- Neuem
Wenn ich ein Gerät entfernen möchte, dann muß ich das manuell löschen.
Gerade nicht ansprechbare Devices vielleicht noch in eine Extra-Liste in der Web-Ui.

So meine Vorstellung.

betateilchen

Dagegen.

Das derzeitige Verhalten von FHEM an dieser Stelle ist logisch eindeutig erklärbar und verständlich.
Daran etwas zu ändern, fände ich nicht sinnvoll.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Amenophis86

Auch dagegen. Dann nimm ConfigDB und du kannst ohne Problem den anderen Teil wieder zurücksetzen auf die Version deiner Wahl. Oder schau halt vor save in die Meldung von motd / Log und du siehst welche Fehler es gab und wer deaktiviert wurde :)
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

ftsinuglarity

Zitat von: betateilchen am 06 April 2018, 19:20:32
Dagegen.

Das derzeitige Verhalten von FHEM an dieser Stelle ist logisch eindeutig erklärbar und verständlich.
Daran etwas zu ändern, fände ich nicht sinnvoll.

Ok. Anderes Argument: Was ist mit der Userfreundlichkeit?
> logisch eindeutig erklärbar
Ja
> verständlich
Nein

(.. alles nur meine Meinung)

Die Grundidee, alles rauszuschmeißen was momentan nicht gefunden wird (auch wenn dazu ein save benötigt wird, der allzuleicht passiert, ohne das ich gecheckt hatte, das was fehlt), führt zu Frustration  und Mehrarbeit (Wiederherstellung wenn denn möglich) die nicht sein muß. Meist sinds doch Devices, die nur gerade nicht online sind. Wenn ich gerade an anderer Stelle arbeite, save ich nunmal. Und wusch, wieder nicht aufgepasst. Nur.. warum muß ich das ? Tut doch nicht Not und würde so ähnlich wie oben beschrieben funktionieren alles drin lassen. Es soll doch meine aktive! Entscheidung sein, was ich behalten will und was nicht.

frank

wie verhält es sich denn mit INCLUDE dateien?
könnte ja sein, dass dort nicht gelöscht wird.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html