FHEM Forum

FHEM - Entwicklung => Wunschliste => Thema gestartet von: hmtec99 am 26 März 2017, 12:28:40

Titel: Geräte werden gelöscht bei fehlerhaftem Modul beim Start von FHEM
Beitrag von: hmtec99 am 26 März 2017, 12:28:40
Ich mußte vor kurzem ein Modul anpassen, da darin etwas nicht auf meine Umgebung paßte. Dabei habe ich einen Klammerfehler eingebaut.
Nach dem Neustart des Moduls bzw. Fhem wurde deshalb ein Fehler geworfen und das Modul deaktiviert (soweit, sogut). Leider wurden dabei
auch alle definierten Geräte des Moduls aus der CFG gelöscht, die ich dann wieder aus alten Backups zusammenkopieren mußte (händisch in der
CFG!!!!  :'( )

Gut, geht mittlerweile auch über RAW, aber wenn kein Gerät des Typs mehr definiert ist, muß ich sie doch aus einer alten CFG raus-
ziehen (wenn ich kein Restore machen will - auch dafür kann es Gründe geben, z.B. viele gleichzeitige Änderung während der Testphase. Dazu
muß ich sagen, daß FHEM bei mir seit Beginn in der Testphase läuft  ;) und ich auch nur ein Produktivsystem nutze.

Könnte man an dieser Stelle die Geräte nicht auf disabled setzen statt sie zu entfernen? Gibt es das Attribut disabled eigentlich global? Ich habe
oft noch Definitionen in der CFG, die ich eigenlicht nicht mehr nutze und deshalb eigentlich deaktivieren will (keine ungewollten Sideeffekte) statt
sie aktiv zu lassen oder ganz löschen (um ab und zu mal etwas nachzuschauen oder zu testen).

P.S. Ich habe keine Angst vor CFG's! Höchstens vor BFG's! 8)

https://en.wikipedia.org/wiki/BFG_%28weapon%29

Gruß, Oliver
Titel: Antw:Geräte werden gelöscht bei fehlerhaftem Modul beim Start von FHEM
Beitrag von: igami am 26 März 2017, 12:37:40
Einfach ein shutdown machen, das Modul fixen und dann das System wieder starten.

Oder noch besser Backup machen, Modul verändern, falls alles läuft kanns so weiter gehen, falls es fehler gibt backup wiederherstellen.
Titel: Antw:Geräte werden gelöscht bei fehlerhaftem Modul beim Start von FHEM
Beitrag von: hmtec99 am 26 März 2017, 13:06:26
D.h. die Geräte werden dann wieder in der Configuration erscheinen? Das habe ich natürlich nicht ausprobiert. Ich dachte sie wären auf
Nimmerwiedersehen verschwunden.
Titel: Antw:Geräte werden gelöscht bei fehlerhaftem Modul beim Start von FHEM
Beitrag von: vbs am 31 März 2017, 10:38:59
Ja, ist leider auch so. Das war früher mal anders, glaub ich. Bug?
Titel: Antw:Geräte werden gelöscht bei fehlerhaftem Modul beim Start von FHEM
Beitrag von: DeeSPe am 31 März 2017, 10:51:28
Solange man die fehlerhafte Konfiguration (in der Devices wegen fehlerhaften Moduls fehlen) nicht wieder speichert, geht nichts verloren.
Wie igami schon gesagt hat: Modul fixen, Neustart machen und wieder freuen.

Gruß
Dan
Titel: Antw:Geräte werden gelöscht bei fehlerhaftem Modul beim Start von FHEM
Beitrag von: vbs am 31 März 2017, 10:54:16
Ich verstehe was ihr meint, aber aus Gründen wird offenbar die Config ohne die Geräte direkt gespeichert bei mir (und wohl auch bei hmtec99). Mir ist aber nicht klar warum. Ich kann mich nicht erinnern, mir selbst eine Art "auto-save"-Funktion gebastelt zu haben.
Titel: Antw:Geräte werden gelöscht bei fehlerhaftem Modul beim Start von FHEM
Beitrag von: Beta-User am 31 März 2017, 10:58:17
Hallo zusammen,

das Risiko mit der unbeabsichtigten Löschung besteht nach meiner Erinnerung schon mind. seit 2014 so (seit ich FHEM nutze) und betrifft - so meine Vermutung - alle Geräte, deren Existenz FHEM selbst prüfen kann (ich hatte das Thema mit 1-wire-Sensoren (DS18B29), die über USB/OWX angeschlossen waren).

Habe daraus zwei Konsequenzen gezogen:
- Temperaturen mesen die DS18B20 jetzt vermittelt über MySensors
- configDB scheint die Geräte nicht komplett zu löschen, sondern später wieder zu erkennen, wenn sie später irgendwann wieder auftauchen. Das ist (neben der Versionierung) der Grund, warum ich zwischenzeitlich Fan von confiDB bin (läuft bei mir unter sqlite).

Gruß, Beta-User

EDIT: Ich weiß nicht mehr, ob ich das Verhalten von configDB damals getestet hatte, also zur Klarstellung: ohne Gewähr...
Titel: Antw:Geräte werden gelöscht bei fehlerhaftem Modul beim Start von FHEM
Beitrag von: justme1968 am 31 März 2017, 13:01:49
mit auf disabled setzen lässt sich das problem nicht lösen. wenn ein modul sich beim start nicht laden lässt gibt es keine devices die sich auf disbled setzen lassen. das ist ja auch der grund warum die devices nach einem save nicht mehr in der config sind.

die saubere lösung ist wie bei config db in der history zurück zu gehen.

wenn man an einem modul editiert ist es sinnvoll dieses im laufenden system mit reload neu zu laden. das ist bei den meisten änderungen möglich und man sieht etwaige fehler direkt.