SSD Boot auf Raspberry PI4 – 8GB – 64Bit

Ich habe mich nun doch entschlossen noch einmal hass.io zu installieren und das SSD Boot des neuen Raspberry zu nutzen. Auch ist für den 8GB Rechner die 64Bit Version verpflichtend, was auch interessant werden wird bezgl. Performance.

Beschreibung des HASS Betriebssystems

https://github.com/home-assistant/operating-system

Download der HASS Releases – inkl. Beta

https://github.com/home-assistant/operating-system/releases

Konfiguration der SD & SSD Speicher

Stand 2.11.2020: Der 8GB RPi bootet nicht in das HASS Image (Beta 5 build 4 – 32/64bit)

Installationsprozedur mit hassos 5.5

https://community.home-assistant.io/t/installing-home-assistant-on-a-rpi-4b-8gb-with-ssd-boot/230948

 

Meine Maßnahmen am Raspberry

Console Login: Boot Options – USB…

Hier ist schon die ältere Version des „raspi-config“ Tools zu erkennen. Die Option „Boot Options“ findet sich in der aktuellen Version hinter „Advanced Options“.

Als ich die USB Boot Option im Menü ausgewählt hatte, bekam ich die Meldung „No eeprom available – aborting“

Maßnahmen:

  1. sudo raspi-config:
    • Localisation Options: Locale: de_DE.UTF-8 UTF.8
    • Interface Options: SSH: enable
    • Update
    • Finish
  2. SSH login vom Admin Arbeitsplatz
    • sudo apt-update && sudo apt full-upgrade
    • sudo rpi-eeprom-update

Das Boot Rom sollte dann so oder neuer sein

pi@raspberrypi:~ $ sudo rpi-eeprom-update
BCM2711 detected
VL805 firmware in bootloader EEPROM
BOOTLOADER: up-to-date
CURRENT: Do 3. Sep 12:11:43 UTC 2020 (1599135103)
 LATEST: Do 3. Sep 12:11:43 UTC 2020 (1599135103)
 FW DIR: /lib/firmware/raspberrypi/bootloader/stable
VL805: up-to-date
CURRENT: 000138a1
 LATEST: 000138a1

Dann das Tool verlassen, die SD Karte herausnehmen und die Reboot Anfrage bestätigen

Raspberry PI USB Probleme bei SSD Boot


Wenn ein Raspberry PI4 mit SSD Boot über USB3 betrieben wird gibt es das Problem, dass direkt an die anderen USB Ports angeschlossene Sticks für zwave und zigbee nicht funktionieren.

Ich hatte dieses Phänomen sowohl beiden Sticks.

Es ist zwingend notwendig die USB Sticks an einer Peitsche anzuschließen.

Direkt am PI kommt kein Signal durch.

Dieses Bild hat ein leeres Alt-Attribut. Der Dateiname ist zwave-zigbee-an-peitsche.jpeg

Ich habe „deleyCON 1m USB 3.0 Super Speed Verlängerungskabel – USB A-Stecker zu USB A-Buchse“ bei Amazon hierfür eingesetzt.

Installation OpenZwave Gateway

Ich verwende nun den Z-Stick Gen5 von Aeontec.

Vormals hatte ich den Stick von Sigma Designs im Einsatz, weil ich dachte vom zwave Entwickler selbst wird es wohl der Beste sein 🙁 Falsch gedacht.

Seit ich nun den Aeontec Stick verwende habe ich keinerlei Entfernungsprobleme mehr. Ich komme mit dem Signal anstandslos 2 Stockwerke nach oben. Daran war früher nicht zu denken.

Jetzt habe ich den Wechsel nicht gemacht, weil ich Probleme hatte, sondern weil der Sigma Design Stick nicht auf der Kompatibilitätsliste für das OZW Gateway steht und ich dieses einsetzen wollte. So hat sich nun aus der „Will ich haben“ Motivation heraus auch dieses problem gelöst.

Ein weiterer großer Effekt nach dem Umstieg auf das OZW Gateway ist der Start von HomeAssistant. Der geht nun deutlich schneller, da ja kein zwave Gateway mehr gestartet wird! Das ist ein großer Vorteil vor allem für übergeordnete Anbindungen wie Apple Homekit oder Google Home wo es darauf ankommt, dass alle zu repräsentierenden Geräte auch verfügbar sind.

Für die OZW beta Integration in HomeAssistant muss das ozw-gateway installiert werden. Dies geschieht vor der Konfiguration der „ozw beta“ Integration in HA.

Hier bei mir wieder als Docker Container auf dem Raspberry. Ich habe mich im übrigen dagegen entschieden die Gateways auf unterschiedliche Raspberry zu verteilen. Sie laufen alle auf dem Raspberry PI4. Bislang sehe ich keine Probleme in dieser Konfiguration. Falls es doch einmal dazu kommen würde lässt sich dies durch die Docker Technology sehr einfach ändern und auf einen anderen Raspberry migrieren.

Zuerst muss der Device Pfad für den Stick ermittelt werden. Hierzu das Gleiche Vorgehen wie bei conbee.

/dev/serial/by-id/usb-0658_0200-if00

Verzeichnis für OZW Gateway anlegen

sudo mkdir -p /usr/share/ozw
sudo chown -R pi:docker /usr/share/ozw 
sudo chmod 775 /usr/share/ozw

OZW Gateway installieren

ich habe mich für die Installationsvariante inklusive Admin GUI entschieden. Damit habe ich den vollen Zugriff auf das zwave Netzwerk, da die Integration in HomeAssistant noch beta ist und es dort noch nicht alle Features gibt.

Der Network Key wir auf dem Raspberry generiert. Er wird zwingend für Secure Bindings benötigt.

cat /dev/urandom | tr -dc '0-9A-F' | fold -w 32 | head -n 1 | sed -e 's/\(..\)/0x\1, /g'

Die IP Adresse der MQTT_SERVER Variablen muss angepasst werden.

docker run -it -d \
    --security-opt seccomp=unconfined \
    --device=/dev/serial/by-id/usb-0658_0200-if00 \
    -v $PWD/ozw:/opt/ozw/config \
    -e MQTT_SERVER="10.100.200.102" \ 
    -e USB_PATH=/dev/serial/by-id/usb-0658_0200-if00 \
    -e OZW_NETWORK_KEY="0xA4, 0x25, 0x2D, 0x39, 0x1A, 0x5D, 0x9E, 0x61, 0xA7, 0xFA, 0x67, 0x9E, 0x61, 0x5D, 0xAA, 0x39 \
    -p 1983:1983 \   
    -p 5901:5901 \
    -p 7800:7800 \
    openzwave/ozwdaemon:allinone-latest

Überprüfung der Installation

Aufruf des VNC Desktops über einen VNC Viewer

Admin Oberfläche

Aufruf mit dem integrierten VNC over HTTP

http://<ip adresse>:7800

„Basic Web Based VNC Client“

„Standard Web Based VNC Client“

Leider ist es bei allen Ansichten so, dass sich die Auflösung der Anzeige nicht verändern lässt. Es bleibt also nur das Scrollen im Admin Panel.

Installation deConz / Phoscon zigbee Gateway

Der große Vorteil des conbee Sticks mit seiner Applikation ist, dass auch nicht Philips Hue Geräte konfiguriert werden können.

Ich benutze unterschiedliche Hersteller:

  • Philips Hue – Lampen
  • tint – Lampen von Müller Licht, gibt es immer mal wieder bei Aldi
  • innr – Lampen
  • Aquara Sensoren und Taster

Auf der Homepage von Dresden Elektronik findet sich ein Artikel zur Installation

Vor der Installation muss der conbee II Stick am Raspberry angesteckt sein. Die richtige Schnittstelle fiindet sich auf der console:

ls -l /dev/ttyA*

lsusb

ls -l /dev/serial/by-id/

Ich neige dazu anstatt „/dev/ttyACM1“ den Pfad aus Device by ID zu wählen. Der Vorteil ist, dass sich dieser auch bei einem Reboot nicht verändert.

/dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2154123-if00

Verzeichnis für deConz anlegen

sudo mkdir -p /usr/share/deconz 
sudo chown -R pi:docker /usr/share/deconz
sudo chmod 775 /usr/share/deconz

Docker Container starten

docker run -d \ 
--name=deconz \
--net=host \
--restart=always \
-v /etc/localtime:/etc/localtime:ro \
-v /usr/share/deconz:/root/.local/share/dresden-elektronik/deCONZ \
--device=/dev/ttyACM1 \
marthoc/deconz

Installation überprüfen

Aufruf: http://<hostname>/pwa

Beim Ersten Aufruf wird das Admin Password angelegt.

Wenn in der „Gateway“ Übersicht die Firmware des Sticks zu sehen ist, ist die Konfiguration OK.