Ausgangszustand:
- Raspberry Pi2,
- Raspbian Wheezy,
- Probleme mit der SSL Lib beim https Zugriff (SSL Version SSLv2 not supported), ist mit jessie behoben.
- Raspberry Pi3
- Raspbian Jessie Lite
Geht relativ einfach, wenn man einige Vorbereitungen trifft. Der grobe Fahrplan sieht so aus:
- Auf neuer Hardware ein neues System installieren.
- Alle benötigten Tools und Module (debian Pakete) nachinstallieren.
- FHEM als Grundlage installieren, eventuell Details testen (z.B. SSL).
- Backup und shutdown aktuelles FHEM System auf Pi2
- Transfer der Backupdatei auf Pi3
- Restore und Start von FHEM auf dem Pi3
- Test ob System einwandfrei läuft, wenn ja alles gut, wenn nein eventuell erstmal Restart FHEM auf Pi2 und in Ruhe untersuchen -> nochmal ab Schritt 4 bis alles läuft.
Schritt 1-3
habe ich hier ausführlich beschrieben, das dauert je nach dem was man im Schritt 2 alles benötigt alles in allem keine 20 min. Dieser Artikel wird von mir laufend aktualisiert. Zu dem Wissen zu gelangen was man alles benötigt, kann allerdings wesentlich länger dauern, wenn man sich nichts aufgeschrieben hat. Im Zweifelsfall sollte man ein Paket/Tool mehr als eines zu wenig installieren. Die empfohlene Liste auf debian.fhem.de ist sicher ein guter Kompromiss. Ich habe angefangen eine Liste zu erstellen, welches FHEM Modul welche cpan Module bzw. debian Pakete benötigt. Die werde ich noch veröffentlichen.Schritt 4 und 6
kann man nach seinen persönlichen Vorlieben gestalten. Normalerweise sollte das in wenigen Minuten abgeschlossen sein.In der Regel sollte alles was FHEM betrifft in diesem Pfad liegen /opt/fhem/. Dieser Pfad muss auf das neue System und muss die richtigen Berechtigungen erhalten. Ich habe das hier schon mal im Detail beschrieben und es genauso gemacht:
Pi2 in der FHEM Oberfläche
backup
warten bis backup fertig -> Log oder Eventmonitor
shutdown
- mit winscp die aktuelle Sicherung ins zentrale Sicherungs-Share auf den Server kopieren
- und in einer zweiten Sitzung gleich wieder auf den Pi3 ins /home/pi/ Verzeichnis kopieren
sudo systemctl stop fhem
sudo tar -xvzf /home/pi/FHEM-201xxxxx_xxxxxx.tar.gz -C /opt/fhem/
sudo systemctl start fhem
Schritt 7
- FHEM Web erreichbar?
- Log File kontrollieren!!!
Wenn bis hier grobe Fehler vorhanden sind am Besten erstmal den Pi3 wieder beenden und alles auf dem Pi2 wieder starten. In Ruhe Fehler suchen.
- Schalter betätigen
- Sonderfunktionen kontrollieren (Sound und Sprachausgabe usw)
Nützliche Hinweise und Befehle
Umfangreiche Manipulation müssen nicht zeileweise mit sudo gemacht werden, sudo su schaltet den sudo Modus ein bis zum exit.Es kann immer mal passieren, dass die Rechte im fhem Verzeichnis falsch sind. Dies kann man relativ einfach beheben in dem man den Eigentümer aller Dateien setzt:
sudo chown -R fhem:dialout /opt/fhem/
Manchmal muss die Rechte einzelner Dateien setzen, z.B. ausführbar machen:sudo chmod +x /home/pi/shutdown.py
In besonderen Fällen muss das UID Bit gesetzt werden:chmod u+s /usr/bin/dfu-programmer
Oder ganz brutal, einfach Rechte auf Alles:sudo chmod 777 /etc/systemd/system/pishutdown.service
Ein paar Beispiele für User und Gruppen Mitgliedschaften:useradd -m test
passwd test
gpasswd -a test users
gpasswd -a pi pulse-access
gpasswd -d pi audio
gpasswd -d test audio
groups test
getent group test
cat /etc/group
Samba Freigabe für Sonos einrichten:sudo mkdir /mnt/SonosSpeak
sudo chmod 777 /mnt/SonosSpeak/
sudo nano /etc/samba/smb.conf
am Ende folgendes einfügen:[SonosSpeak] comment = Audio-Files for SonosPlayer to Speak
read only = false
path = /mnt/SonosSpeak
guest ok = yes
anschließen den Service neu startensudo systemctl restart smbd.service
ZusatzinfoDas Verhalten/der Syntax in der smb.conf hat sich offenbar bei Jessie etwas geändert! Nutzt man die Originale smb.conf von Raspbian muss man nur den Abschnitt des Shares (siehe oben) einfügen.
Die Anonyme Zugriff auf Shares wird durch die Standard Einstellung im Abschnitt
[global]
security = user
map to guest = bad user
ermöglicht. Die erste Zeile ist die Standardeinstellung und ist in der smb.conf nicht extra gesetzt. Die zweite Zeile steht so in der Original smb.conf schon drin.