So, hier mal eine Anleitung für den Wechsel/die Migration/das Upgrade von einem RaspBee I zu einem RaspBee II Aufsteckmodul. Ich übernehme keine Garantie/Gewähr für die Richtigkeit, daher steinigt mich nicht, wenn ihr im Anschluss euer Setup zerschossen habt!
Es ist sicherlich nicht verkehrt vorab auch noch die Homebridge mit sudo systemctl stop homebridge zu stoppen, siehe: Homebridge Befehlssammlung. Da sonst während des ganzen Prozesses wie wild im Sekundentakt Fehlermeldungen im Log aufscheinen, weil das Homebridge-Hue Plugin keine Verbindung mehr zum deCONZ Gateway/Bridge und den ganzen angelernten Geräten hat.
1. Backup von deCONZ erstellen
Wir gehen über die Phoscon Weboberfläche http://phoscon.de/app in die Einstellungen, unter "Gateway" finden wir den Punkt "Backup Optionen" und erstellen hier ein neues Backup über "Backup erstellen" und anschließendem "Download starten".
2. Raspberry Pi vorbereiten
Anschließend loggen wir uns über das Terminal am Mac via SSH auf dem Pi ein.
Mit dem Befehl sudo systemctl stop deconz (bei einer headless Installation) bzw. mit sudo systemctl stop deconz-GUI (Desktop Version) stoppen wir den deCONZ Dienst.
Danach erstellen wir eine Kopie vom Ordner unter .local/share/dresden-elektronik, und nennen diesen z.B. dresden-elektronik_OLD. Dies geschieht über den cp Befehl: cp -a /local/share/dresden-elektronik /local/share/dresden-elektronik_OLD. Der Ordner dient uns als Backup, falls etwas schief laufen sollte. Streng genommen enthält bereits unser Backup aus der Phoscon Weboberfläche die Datenbank und weitere Dateien aus dem oben genannten Verzeichnis, jedoch tun wir uns leichter im Falle eines Fehlers, einfach deCONZ nochmal zu stoppen und den Ordner wieder zurück auf "dresden-elektronik" umzubenennen.
Nun ist der Raspberry Pi softwareseitig für den Wechsel vorbereitet. Wir fahren den Pi über sudo poweroff herunter, warten ein paar Sek. bis er vollständig heruntergefahren ist, ziehen vorsichthalber noch das USB-Kabel vom Stromanschluss ab und wechseln das Aufsteckmodul.
Wir stecken das Stromkabel wieder ein und lassen den Raspberry Pi hochfahren. Da deCONZ beim Neustart die Datenbank und diverse Dateien unter /local/share/dresden-elektronik nicht mehr finden kann, wird es für uns ein neues Verzeichnis "dresden-Elektronik" mit einer neuen sauberen, leere Datenbank anlegen.
3. RTC installieren
Der Raspbee II hat eine RTC (Real Time Clock) samt Batterie an Bord, die die korrekte Uhrzeit beibehält, auch bei Strom- oder Internetausfall. Da unser Raspbee I sowas nicht hatte, müssen wir nun zunächst die RTC installieren. Siehe hierzu: https://phoscon.de/de/raspbee2/install
Abhängigkeiten installieren
sudo apt update
sudo apt install i2c-tools build-essential raspberrypi-kernel-headers
Installationsarchiv herunterladen
Über curl -O -L https://github.com/dresden-elektronik/raspbee2-rtc/archive/master.zip unzip master.zip laden wir uns das Installationsarchiv runter und entpacken dieses. Mit cd raspbee2-rtc-master wechseln wir anschließend ins das entpackte Verzeichnis.
RTC-Kernelmodul kompilieren und installieren
nun müssen wir mit make das RTC-Kernelmodul kompilieren und anschließend über sudo make install installieren. Nach der Installation starten wir den Raspberry Pi mit sudo reboot neu.
RTC mit Systemzeit konfigurieren
Wir loggen uns erneut auf dem Pi via SSH ein und konfigurieren die RTC mit der Systemzeit über sudo hwclock --systohc
Testen der RTC
mit sudo hwclock --verbose testen wir die RTC. Es sollte euch dann am Ende folgende Zeilen ausspucken:
Waiting in loop for time from /dev/rtc0 to change
...got clock tick
Time read from Hardware Clock: 2020/03/06 13:55:21
Hw clock time : 2020/03/06 13:55:21 = 1583502921 seconds since 1969
Time since last adjustment is 1583502921 seconds
Calculated Hardware Clock drift is 0.000000 seconds
2020-03-06 14:55:20.017097+01:00
4. Firmware des RaspBee II updaten
Wir loggen uns erneut über die Phoscon Weboberfläche ein. Unter "Gateway" überprüfen wir, ob das Raspbee II Modul erkannt wurde und ob die Firmware auf dem neusten Stand ist.
Achtung: Die Firmware muss vor dem Einspielen des Backups auf dem neusten Stand sein! Bitte prüft die in Phoscon angzeigte Firmware mit der aktuellsten Version hier gegen: http://deconz.dresden-elektronik.de/deconz-firmware/?C=M;O=D
Sollte eine neue Firmware-Version verfügbar sein, so zeigt euch das Phoscon i.d.R. mit "Eine neue Firmware Version ist verfügbar" an. Klickt auf den Button "Aktualisieren auf 0x26690700" und startet so den Update-Vorgang. Hat alles geklappt, dann geht es für dich bei Punkt 4 weiter.
Alternative:
Mein Phoscon hat mir kein Update anzeigt (Ich kenne den Interval nicht, in dem von Phoscon auf Updates geprüft wird, evtl. muss man hier ein paar Stunden warten), jedoch war meine Firmware trotzdem veraltet. Somit musste ich die Firmware manuell updaten. Wie das geht, steht hier: https://github.com/dresden-ele…nually#update-in-raspbian
Stoppen von deCONZ
Wir loggen uns wieder via SSH auf dem Pi ein und stoppen deCONZ mit dem Befehl sudo systemctl stop deconz (bei einer headless Installation) bzw. mit sudo systemctl stop deconz-GUI (Desktop/GUI Version).
Herunterladen der aktuellen Firmware
Wir prüfen auf http://deconz.dresden-elektronik.de/deconz-firmware/?C=M;O=D was die aktuelle Version ist und laden uns diese mit wget https://deconz.dresden-elektronik.de/deconz-firmware/deCONZ_RaspBeeII_0x26690700.bin.GCF herunter (Version im Dateinamen entsprechend anpassen)
Flashen der aktuellen Firmware
Bevor wir flashen, stoppen wir zunächst den ModemManager mit sudo systemctl stop ModemManager
anschließend entpacken und installieren wir die soeben heruntergeladene Firmware mit sudo GCFFlasher_internal -t 60 -f deCONZ_RaspBeeII_0x26690700.bin.GCF (Auch hier wieder die Version im Dateinamen abändern)
Danach starten wir deCONZ wieder über sudo systemctl start deconz (Headless version) oder sudo systemctl start deconz-gui (GUI version).
Anschließend starten wir den Pi mit sudo reboot neu.
5. Backup wieder einspielen
Nach dem Neustart können wir uns wieder über die Phoscon Weboberfläche einloggen. In den Einstellungen überprüfen wir unter "Gateway", ob die neuste Firmware-Version angezeigt wird. Danach können wir über "Backup Optionen" unser zuvor erstelltes Backup wieder importieren. Danach sollten alle in Phoscon angelegten Räume/Gruppen sowie angelernten Lichter, Schalter und Sensoren wieder auftauchen.
GGfs. muss man einige Geräte kurz vom Strom trennen und wieder einschalten bzw. den Pairing-Button kurz drücken. Aber ein komplett neues einbinden der Geräte ist nicht nötig. Somit bleiben die Geräte auch in sämtlichen Automationen erhalten, die man zuvor in Homekit angelegt hat.
Wer die Homebridge zu Beginn der Anleitung gestoppt hat, muss diese nun wieder neustarten. Hierzu verbinden wir uns ein letztes Mal mit dem Pi via SSH und starten Homebridge mit dem Befehl sudo systemctl restart homebridge neu.
Fertig.
Evtl. hilft diese Anleitung dem einen oder anderen ja weiter!