[Anleitung] Migration/Wechsel von Raspbee I auf Raspbee II

    • Hilfreich

    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:

    Code
    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!

    9 Mal editiert, zuletzt von Patrick_ ()

  • :thumbup::thumbup::thumbup:

    Super beschrieben - ist eine tolle Hilfestellung.

    Habe zwar selbst keinen RaspBee I bzw. II - aber mit dieser Info würde auch ich es schaffen zu migrieren 8)

  • Das sieht gut erklärt aus. Zu ergänzen haben wir nur ein paar Kleinigkeiten.


    Die Gateway-Installation sollte funktionisfähig sein zum Zeitpunkt der Backup-Erstellung, also es darf z. B. nicht "Firmware nicht verbunden" in der Phoscon App stehen oder alle Geräte ausgegraut sein.


    Weiterhin sollte zum Erstellen und Einspielen des Backups die gleiche deCONZ Version verwendet werden. Am ehesten eignet sich dazu immer die letzte stable. Zu finden ist diese hier bei Github oder hier im Download-Ordner.


    Wichtig ist tatsächlich die neueste stable Firmware vor dem Einspielen zu installierren und auch vor dem Erstellen des Backups sollte der RaspBee I in diesem Fall die letzte stable Firmware bekommen.


    Das alles gilt auch für alle anderen Wechsel von ConBee auf RaspBee oder umgekehrt.


    Die neueste stable Firmware kann hier im Download-Ordner gefunden werden. "RPi" im Dateinamen und die Endung 0500 steht hier für den RaspBee I und den ConBee I. Files für RaspBee II und ConBee II enden mit 0700 und haben separate Files mit klarem Namen im File.


    Zum Installieren einfach den verlinkten manuellen Weg benutzen, in der Phoscon App wird nicht unbedingt immer ein Update angeboten.


    Eventuell dauert es eine Weile bis alle Geräte als erreichbar in der Phoscon App gelistet werden. Meist ist nur Warten bis zu ca. 1 Stunde notwendig. Batteriebetriebene Endgeräte melden sich nur in bestimmten Zeitabständen am Gateway. Das erwähnte Neubestromen von Lichtern kann das Ganze beschleunigen. Ein Neuanlernen von Geräten ist aber nie notwendig.

  • Unsere Entwickler raten davon ab bzw. anstelle mv eher ein cp -a nutzen.

    Danke für die Korrektur! Ist der Schritt denn generell unnötig? Ich habe das so im deCONZ Discord-Channel gesagt bekommen weil es sich im Fall, dass was schief läuft leichter wieder den ursprünglichen Zustand herstellen lässt. Mir wurde aber auch gesagt, dass eig. das Backup aus der Phoscon-Weboberfläche ausreichend ist und man den Ordner nicht unbedingt zusätzlich durch das Umbennenen mit mv Backupen müsste


    Dann würde ich den Schritt oben aus der Anleitung rausnehmen.