Geräte werden gelöscht bei fehlerhaftem Modul beim Start von FHEM

Begonnen von hmtec99, 26 März 2017, 12:28:40

Vorheriges Thema - Nächstes Thema

hmtec99

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

igami

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.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

hmtec99

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.

vbs

Ja, ist leider auch so. Das war früher mal anders, glaub ich. Bug?

DeeSPe

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
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

vbs

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.

Beta-User

#6
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...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

justme1968

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.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968