FHEM neu aufsetzen und alte Konfig einspielen

Begonnen von TobiasR, 04 August 2017, 21:20:28

Vorheriges Thema - Nächstes Thema

TobiasR

Hallo,

nach vielen vergeblichen Versuchen mein FHEM auf einen neuen Raspberry aufzusetzen musste ich jetzt feststellen das offensichtlich etwas in der FHEM nicht stimmt.
Beispielsweise kann ich "Alexa" nicht integrieren oder Readings auf der Tab-UI anzeigen.

Jetzt möchte ich alles neu mit der Version 5.8 aufsetzen.
Da ich sowohl Z-WAFE als auch HomeMatic integriert habe, möchte ich diese nicht alle neu integrieren.

Könnt ihr mir sagen was ich neben der  fhem.cfg noch für Dateien kopieren muss?

Besten Dank
Tobias

Amenophis86

denn kompletten fhem Ordner im Idealfall. "Herz" ist quasi die fhem.cfg. In dieser befinden sich alle Definitionen, Attr etc. Allerdings ist die Frage, ob bei einem frischen FHEM nur mit der alten cfg alles vorhanden ist was du brauchst. Vielleicht hast du neue Datein, alte verändert? Ein Beispiel ist die holiday Datei.
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...

treki1

Habe gerade das gleiche Problem. Möchte einen komplett Backup machen.
Du sagst, das gesammte FHEM Verzeichnis. Aber wo liegt das? In /home kann ich nichts finden.

Amenophis86

Dabdu von home sprichst rate ich jetzt mal, dass du ein Linux System nutz. Schau mal in /opt/fhem nach.
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...

treki1

Jup, genau. Ein Raspbian.
Bin nun fündig geworden. Danke Dir ^^

dtavb

Hoi TobiasR,

ich habe kürzlich alles von einem rpi3 auf virtuell debian umgezogen - in 45 Minuten war das erledigt und er lief wieder so, dass ich Licht ein und aus machen konnte :)
Zunächst habe ich das für ein virt. fhemlab gemacht um den produtiven zu klonen und mittlerweile habe ich das fhemlab wieder kopiert und eine produktive Umgebung geschaffen.

Anbei mein Vorgehen, kurz und schmerzlos :
1. backup erstellen von fhem (habe täglich nachts eines welches auf mein nas geschoben wird)
2. Doku durchsehen, welche Pakete und sonstigen Basteleien im alten System erfolgt sind (betrifft eigene Module, cronjobs, eigene Skripte etc. etc.)
3. Neues System aufsetzen, fhem ganz normal installieren (nackt)
4. fhem-xyz.tar.gz entpacken und alles was Sinn macht in den nackigen fhem Grundinstallationsordner schieben und überschreiben.

Wichtig sind:
bin, Log (für die Schaltzustände), FHEM (Module - wenn Du myUtils etc verwendest), www, contrib
Im Endeffekt kannst Du alles kopieren, bei dem Ordner certs müssen halt die Zertifikate passen, sonst bekommst Du Zerti-Fehler im Browser etc. Ich musste die Zertifikate neu erstellen, da dns und ip sich geändert haben. Konkret wollte fhem nicht starten, weil im ersten Anlauf die Zertifikate nicht mehr vorhanden waren. Habe dann kurzerhand in der fhem.cfg (Asche auf mein Haupt) direkt https deaktiviert und erstmal mit http weiter gearbeitet bis ich die Muse fand neue Zertifikate zu erstellen.


5. fhem starten: service fhem start

Vermutlich wird es knallen:
a) wenn fhem grundsätzlich ein Problem hat, sagt er Dir das via service fhem status und journalctl etc.
Die Linux Bash Ausgabe gibt Dir gleich die notwendigen Befehle mit, bzw. schalte unter Linux rsyslog messages/syslog ein. Im Standard ist das sowieso schon implementiert. Bei mir habe ich das ganze Zeugs ausgeschalten und schiebe es zu einem syslog-Server im Netz und schaue halt dort nach.

die rsyslog.conf sieht meist unter Debian/Ubuntu nach der Installation so aus:
auth,authpriv.*                 /var/log/auth.log
*.*;auth,authpriv.none          -/var/log/syslog --> wichtig
cron.*                         /var/log/cron.log
daemon.*                        -/var/log/daemon.log --> wichtig
kern.*                          -/var/log/kern.log
lpr.*                           -/var/log/lpr.log
mail.*                          -/var/log/mail.log
user.*                          -/var/log/user.log

Die Logs sind dann in dem entsprechenden Ordner /var/log/bla-bla

Via 2. ssh session und tailf /var/log/bla-bla hast Du live eine Ausgabe.
Gibt viele Optionen hier vorzugehen...

Kontrollen mit netstat -tulpn zeigen Dir auch gleich ob alles so lauscht wie es soll.
tcpdump -i any port XYZ zeigt Dir ob grundsätzlich im Netz Verbindungen aufgebaut werden...gerade was geofancy, haproxy etc. angeht.


b) wenn fhem applikationstechnisch ein Problem hat, sagt er Dir das im fhem log unter unter: /opt/fhem/log/fhem-YYYY-MM.log
Kommt natürlich jetzt darauf an, ob Du die Logs unter /opt/fhem hast oder nicht!

Wenn Du mit DBs arbeitest, kann ich Dir nicht helfen.
Wirst bestimmt die DB nachinstallieren, das entsprechende DB Schema importieren sowie die alten Credentials und User anlegen müssen und sollte sich etwas ändern in der fhem.cfg nachtragen.


b2) wenn fhem Dich dann mit Web-Gui begrüsst, hast Du das Gröbste schon mal geschafft und kannst via logfile und eventMonitor weiter arbeiten.

Wenn Du die Option hast einen 2. rpi oder virtuell zu arbeiten, mache das erstmal so und belasse Deinen alten wie er ist. Ich glaube es gibt keine direkte Anleitung was man wo kopieren muss. Dazu ist fhem viel zu individuell einstellbar...als das man eine allgemeingültige Vorgehensweise beschreiben könnte.


c) Dongles etc
Interessanterweise musste ich von rpi3 auf virtuell debian keinerlei serielle oder device-spezifische Änderungen vornehmen, sprich dieses ganze serial/tty0 Zeugs hat auf Anhieb gepasst...
So wurde mein z-wave stick, selbstbau CUL, BT Dongle sofort übernommen ohne Anpassungen meinerseits in fhem.


d) Firewall etc
Ich habe bei mir alles fein granular via iptabels abgesichert und einen haproxy vor fhem. Bei der Grundinstallation zumindest debian/raspbian gibt es keine iptables, bzw. die stehen am Anfang sowieso auf Durchzug.
Wenn sich IPs, Zertifikate, DNS/Alias etc ändern, gibt es da selbstverständlich auch noch Baustellen...die können dann Nerven rauben!
NFS/Freigaben: gleiches Spiel, wenn sich IPs, DNS/Alias ändern.


Alternatives Vorgehen:
nachdem fhem nackig wieder läuft, vorsichtig die fhem.cfg direkt editieren (Asche auf mein Haupt) und die z-wave, HM Komponenten einfügen und so Dich Stück für Stück herantasten.
Die Kurz-und-Schmerzlosmethode von oben zwingt Dich zu Logs analysieren. Solange Du die originalen Files gesichert hast, kannst Du tun und lassen was Du willst und so auch Deine Erfahrungen machen.

Meine Erfahrung beim klonen und kopieren von fhem: fhem ist ein sehr braves und dankbares System :)
fhem:pi3&kvm, z-wave, it-funk, milight, zigbee, wifi, bt & presence, geo-tracking, alexa, esp.
Monitoring: ELK(syslog), grafana (grafik), netdata (ermittlung)
Security: haproxy (access), ossec (überall), snort (access), opnsense (fw)
Geplant: KVM-Cluster

TobiasR

Hallo zusammen,

Umzug ist abgeschlossen. Die Anleitung von dtavb und die von Otto http://heinz-otto.blogspot.de/2015/02/umzug-fhem-auf-die-paparazzischeue.html haben mir super geholgen.
Da ich mein Z-Wave "Razberry" gegen einen USB "ZMEEUZB1" getausch habe, habe ich da jetzt jedoch das Problem dass ZWave erst einmal nicht mehr funktioniert.
Der Dongle wurde zwar erkannt, die Steuerung meiner Komponenten geht jedoch nicht mehr.

Ich geh damit mal in das Z-Wave Forum!

Besten dank
Tobias