*

Offline Jo

  • *****
  • 236
  • Geschlecht: Männlich
    • JoLichter.de
ioBroker mit Pi4 und Portable SSD T5 (bootable)
« am: 17. Februar 2021, 20:31:59 »
Stand 2021-02-22

Vorwort: SmartHome Anbieter wie z.B. Homee versprechen viel, allerdings bin ich im Laufe der Zeit auf immer mehr Unzulänglichkeiten gestoßen. Ich kann z.B. nicht verstehen, dass es die Entwickler nicht schaffen ihre eigenen Zielvorgaben zu erfüllen oder Funktionen die seit langer Zeit von vielen Usern im Forum angefragt werden umzusetzen. Bei manchen Problemen wird IFTTT als Workaround empfohlen, was noch mehr abhängig macht und dazu eine lahme Krücke über einen (unsicheren?) Drittanbieter bedeuten kann. Eine frei definierbare VIS-Anzeige, Skripte/Blockly oder Variablen bleiben verwehrt. Dafür möchte ich kein Geld bezahlen!

Ehrlich, diese ganzen SmartHome Gadgets sind eine unnötige aber interessante Spielerei und können sogar Spass machen oder Strom sparen. Jedoch kann dieses keine konventionelle Technik ersetzen, sondern nur verfeinern. Stellt daher immer die Frage nach Sicherheit und funktionieren wichtige Geräte auch ohne SmartHome?
:-[

Mein SmartHome und IoT (Internet of Things) Geräte betreibe ich mit hohen Sicherheitsmaßnahmen nur im eigenen Heimnetz ohne Cloud (oder IFTTT Müll) und von außen via VPN. Natürlich funktionieren bei einer Störung alle wichtigen Geräte auch ohne SmartHome. Als Vermittler nutze ich das Open Source System ioBroker (Link Wiki) welches auf einem Raspberry Pi4 als Smarthomezentrale mit einem angepassten Raspbian Linux Betriebssystem stromsparend und sehr stabil läuft. Alles ist frei, Open Source und funktioniert ohne externe Cloud (wer mag kann diese natürlich auch nutzen). WLAN, Z-Wave, Zigbee oder Bluetooth Geräte können in ioBroker implementiert werden. Für 230V Geräte nutze ich WLAN Shellys ohne Cloud und bei batteriebetriebene Geräten bevorzuge ich Z-Wave.

Da ich schon lange ioBroker auf einem Raspberry Pi4 4GB mit einer SD-Karte nutze, zeige ich hier den Weg auf einem neuen Raspberry Pi4 8GB ohne SD-Karte und boote mit einer externen USB-SSD Festplatte. Auf Dauer ist eine SSD zuverlässiger als SD-Karten und funktioniert mit einem 5.1V Netzteil (3A) problemlos.

Anstatt einer USB SSD-Festplatte könnt ihr auch eine SD-Karte einlegen, z.B. Samsung PRO Endurance microSDXC 64 GB (soll eine längere Lebensdauer haben als Standard-SD-Karten). Ich verwende hier eine Samsung Portable SSD T5 mit USB3 Anschluss. 512GB ist bestimmt nicht notwendig, erhöht jedoch deren Lebensdauer. Ihr könntet natürlich eine extra Partition z.B. als internen Cloud-Speicher nutzen.

Gemessen bei 5.1 Volt:
  • Leerlaufstrom Pi OS Lite (CPU Takt 1500MHz/ Temp. 43°C), mit USB-SSD (ohne Z-Wave, WiFi und Bluetooth): 0.65A
  • mehr folgt ...

Als erstes benötigt ihr als Hardware einen Raspberry-Pi4 mit 2GB-RAM. 4GB ist absolut empfehlenswert, 8GB? Nun, hatte gerade Lust dazu :cool: Eine gute Kühlung ist Pflicht! Ein Lüfter muss nicht sein, meine CPU wird nicht wärmer als 50°C. Das Netzteil sollte 5.1 Volt und 3 Ampere liefern können. Wer Z-Wave nutzt, empfehle ich das Aufsteckmodul Z-Wave ZMEERAZ2 mit optimierter Antenne.



INHALT

Raspberry Pi4 Ersteinrichtung
Der Raspberry Pi benötigt ein Betriebssystem um zu funktionieren, z.B. Raspberry Pi OS (früher Raspbian genannt). Die folgende Anleitung gilt für die Lite-Version ohne grafischen Desktop für eine bessere Performance (habe HDMI, Bluetooth und WiFi deaktiviert).

1 ) Download
Zum Zeitpunkt als dieses Tutorial geschrieben wurde, war Version 2021-01-11 aktuell, bei Neueren müsst ihr das anpassen.
Download der Image Datei "Raspberry Pi OS Lite (32-bit)" als ZIP-Datei 2021-01-11-raspios-buster-armhf-lite.zip (438MB) von der Seite raspberrypi.org/software/operating-systems.

2 ) Extrahieren
Nachdem ihr die ZIP-Datei heruntergeladen habt, müsst ihr die img-Datei (Datenträgerabbild) extrahieren, z.B. mit dem Dateimanager Dolphin oder per Konsole:
7z e ~/Downloads/2021-01-11-raspios-buster-armhf-lite.zipNach dem entpacken habt ihr die Image Datei "2021-01-11-raspios-buster-armhf-lite.img" (ca. 1.7GB).

3 ) Image auf SSD-Festplatte und einer Micro-SD-Karte (nur temoprär) schreiben
Hinweis: Neue Raspis sollten mit der neueren EEPROM-Firmware ausgeliefert werden. Somit muß das EEPROM nicht aktualisiert werden. Wer das hat, kann die SSD sofort anschließen und meine Schritte mit der SD-Karte überspringen. Wer ein Update benötigen, weil der Raspberry Pi die SSD nicht findet, kann meinen Weg nachgehen.

Die SSD und euren PC anschließen und ein Startmedium aus der img-Datei erstellen, danach das Gleiche mit der Micro-SD-Karte. Unter Manjaro KDE nutze ich dafür auch gerne den Suse Studio Imagewriter (sudo pacman -S imagewriter). Das sollte auch mit usb-creator-kde, Unetbootin oder Etcher funktionieren.

Ganz sicher geht das per Konsole via dd.
ACHTUNG! Beschreibt das richtige Laufwerk und listet dafür die Partitionen auf, um den Pfad für das USB-Laufwerk zu ermitteln:
sudo fdisk -l(bei mir ist das "/dev/sde1")
Sicherstellen das dieses USB-Gerät ausgehängt ist:
sudo umount /dev/sde1IMG-Datei auf USB-Gerät schreiben. Den Pfad zur IMG-Datei (bei mir "Downloads") und evtl. natürlich den Dateiname anpassen.
Als USB-Gerät nicht die Partitionsnummer "/dev/sde1" angeben, sondern "/dev/sde" (also ohne Zahl):
sudo dd bs=4M if=~/Downloads/2021-01-11-raspios-buster-armhf-lite.img of=/dev/sde status=progress oflag=syncEs werden 2 Partitionen erstellt, sde1 und sde2, diese sind noch sehr klein und werden später passend zur SSD vergrößert.

4 ) Raspbian Buster starten
Auf der SSD und Micro-SD-Karte (Laufwerk "boot") eine neue Datei "ssh" ohne Dateiendung anlegen, damit der Zugriff via SSH möglich ist.

Dann nur die Micro-SD-Karte in den Raspberry Pi4 Slot einstecken und mit einem LAN Kabel verbinden, anschließend einschalten. Nun wird das Betriebssystem Raspbian Buster gestartet.

Im Router, z.B. Fritz!Box unter Heimnetz und Netzwerk die IP herausfinden die der Raspberry bekommen hat und die IP festlegen (Diesem Netzwerkgerät immer die gleiche IPv4-Adresse zuweisen), bei meiner Testversion ist das die IP 192.168.0.42.

Einloggen per SSH auf dem Raspberry Pi4 per LINUX Konsole (Windows User können dafür z.B. PuTTY installieren):
ssh pi@192.168.0.42User: pi  (wenn gefragt)
Password: raspberry
(SSH beenden mit 'exit', Raspberry ausschalten 'sudo shutdown now', Raspberry neustarten 'sudo reboot')

Beim ersten SSH-Login wird ein Fingerprint erstellt, was mit 'yes' bestätigt werden muss.

Dann das obligatorisches Update aller Komponenten:
sudo apt update; sudo apt upgrade; sudo apt full-upgrade
sudo apt clean; sudo apt autoclean; sudo apt-get -f install; sudo apt clean; sudo apt autoremove --purge
neu starten:
sudo rebootDanach wieder per SSH einloggen und den Raspi konfigurieren, neuesten Bootloader laden und von USB booten:
sudo raspi-config
  • (6) Advanced Options
  • (A7) Bootloader Version -> E1 Latest  Use the latest version boot ROM software
dann
  • (6) Advanced Options
  • (A6) Boot Order -> B2 USB Boot     Boot from USB if available, otherwise boot from SD Card
Raspberry ausschalten:
sudo shutdown nowDie Micro-SD-Karte entfernen (für den Notfall aufheben) und die SSD-Festplatte an einen USB3 Port (blau) anschließen.
Jetzt sollte der Raspi mit der SSD-Festplatte starten... :-[



Zum einloggen per SSH auf der neuen Platte, müsst ihr erst die Fingerprint-Datei auf euren Rechner löschen (nicht Pi!), dann wird diese neu erstellt. Sonst ist kein Login möglich:
rm ~/.ssh/known_hosts
Nach dem erneuten SSH-Login, wieder das obligatorisches Update aller Komponenten:
sudo apt update; sudo apt upgrade; sudo apt full-upgrade
sudo apt clean; sudo apt autoclean; sudo apt-get -f install; sudo apt clean; sudo apt autoremove --purge
neu starten:
sudo rebootPer SSH einloggen und den Raspi zu Ende konfigurieren (Feineinstellungen):
sudo raspi-config
  • (1) System Options -> (S3) Change User Password
  • (5) Localisation Options  -> (L1) Locale: "de_DE.UTF-8" (markieren = Leertaste, Button auswählen = TAB, Bestätigen = Enter, Zurück = Esc)
  • (5) Localisation Options  -> (L2) Timezone: "Europe" und "Berlin"
  • (5) Localisation Options  -> (L4) WLAN Country Set legal wireless channels: "DE""
  • (5) Localisation Options -> (L4) Change Wi-fi Country: DE
  • (6) Advanced Options -> (A8) HDMI / Composite -> (V3) Disable 4Kp60 HDMI and composite video
  • (6) Advanced Options -> (A1) Expand Filesystem (nach einem Neustart können wir auf die gesamte SSD-Festplatte zugreifen)
sudo reboot
Prüfen mit 'sudo lsblk':
pi@raspberrypi:~ $ sudo lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 465,8G  0 disk
├─sda1   8:1    0   256M  0 part /boot
└─sda2   8:2    0 465,5G  0 part /




5 ) Weiter mit den Feineinstellungen (Beispiele/Vorschläge):
WLAN aktivieren (ich nutze nur LAN), Netzwerke in Reichweite anzeigen lassen:
sudo iwlist wlan0 scan | egrep "(ESSID)"Ist das erwartete WLAN-Netzwerk in Reichweite, kann die Konfiguration in der wpa_supplicant.conf zum Herstellen der Verbindung vorgenommen werden:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=DE
    network={
      ssid="SSID-Namen"
      psk="dasWLANpasswort"
    }


(Nano Editor: "Strg" & "X" = beenden, "Strg" & "O" = speichern)

Netzwerkstack neu starten:
sudo service networking restart
Für meine Konfiguration habe ich unter anderem WiFi und Bluetooth deaktiviert (benötige ich für ioBroker nicht):
sudo nano /boot/config.txtDie letzten Zeilen sehen so aus:
[pi4]
# Enable DRM VC4 V3D driver on top of the dispmanx display stack
#dtoverlay=vc4-fkms-v3d
#max_framebuffers=2

[all]
#dtoverlay=vc4-fkms-v3d
dtoverlay=disable-wifi
dtoverlay=disable-bt
enable_uart=1
force_turbo=1


Hinweis: Die UART Schnittstelle 1 habe ich für das Z-Wave ZMEERAZ2 Aufsteckmodul aktiviert. Mit deaktiviertem Turbo Modus, springt die CPU im Leerlauf von 1500 auf 600Mhz und soll nicht mehr so warm werden. Macht bei mir ca. 4 Grad aus (43 zu 47 Grad bei passiver Kühlung). Damit ioBroker immer schnell auf Veränderungen reagiert, wird der Turbo Modus empfohlen.

LED's Raspberry Pi4
 - grüne LED (Status-LED = led0) flackert üblicherweise, wenn Daten zur SD-Karte oder USB übertragen werden
 - rote LED (Power-LED = led1) zeigt an, dass der Raspberry Pi mit der Stromversorgung verbunden ist
Rote LED dauerhaft deaktivieren:
pi@raspberrypi:~ $ sudo su
root@raspberrypi:/home/pi# echo 0 > /sys/class/leds/led1/brightness
exit
Hinweis: geht nach neu Start wieder an
Lösung: rc.local verwenden, diese Datei wird zuletzt im Runlevel-System ausgeführt.
Datei rc.local mit einem Editor bearbeiten und am Ende vor exit 0 den Befehl für LED aus einfügen
sudo nano /etc/rc.local
echo 0 > /sys/class/leds/led1/brightness

Cool, daran erkenne ich wenn der Bootvorgang beendet ist.
PS: Wenn die rote Power LED blinkt, gibt es ein Power oder Temperatur Problem! Sollte die Versorgungsspannung unter 4.65V fallen, blinkt die rote LED.
 

6 ) Schreibzugriff auf SSD-Festplatte reduzieren

Werden bestimmte Dateien regelmäßig erstellt oder geändert, z.B. Bilddateien einer Webcam, sollten diese möglichst ausgelagert werden (RAM, NAS, FTP-Speicher). Aber auch bereits im normalen Betrieb gibt es unter Linux Verzeichnisse (z.B. /var/log), die systembedingt ständiger Zugriffe ausgesetzt sind. Für einiger dieser Systemverzeichnisse kann es daher sinnvoll sein, diese ins RAM auslagern.

Um z.B. /var/log in den Arbeitsspeicher auszulagern, müssen folgende Einträge in der /etc/fstab am Ende hinzugefügt werden:
sudo nano /etc/fstab# dynamic RAMDisk wenn Pi-8GB (Achtung Logfiles im RAM!)
tmpfs /tmp tmpfs defaults,noatime,nosuid,size=3000M,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,noatime,nosuid,size=300M,mode=0777 0 0
tmpfs /var/log tmpfs defaults,noatime,nosuid,size=300M,mode=0777 0 0
# ioBroker und RPi-Monitor
tmpfs /opt/iobroker/log tmpfs defaults,noatime,nosuid,size=500M,mode=0777 0 0
tmpfs /var/lib/rpimonitor/stat tmpfs defaults,noatime,nosuid,size=500M,mode=0777 0 0


Die /tmp Verzeichnisse benutzen ein Sticky Bit, daher das "mode=1777". Einstellung nach dem Neustart (sudo reboot) per "df -h" prüfen:
pi@raspberrypi:~ $ df -h
Dateisystem    Größe Benutzt Verf. Verw% Eingehängt auf
/dev/root       459G    3,2G  437G    1% /
devtmpfs        3,9G       0  3,9G    0% /dev
tmpfs           3,9G       0  3,9G    0% /dev/shm
tmpfs           3,9G    8,4M  3,9G    1% /run
tmpfs           5,0M    4,0K  5,0M    1% /run/lock
tmpfs           3,9G       0  3,9G    0% /sys/fs/cgroup
tmpfs           3,0G       0  3,0G    0% /tmp
tmpfs           300M       0  300M    0% /var/tmp
tmpfs           500M       0  500M    0% /var/lib/rpimonitor/stat
tmpfs           500M       0  500M    0% /opt/iobroker/log
tmpfs           300M    160K  300M    1% /var/log
/dev/sda1       253M     48M  205M   19% /boot
tmpfs           788M       0  788M    0% /run/user/1000


SWAP belasse ich so, da tmpfs nur bei Bedarf darauf zugreift.
Swapping deaktivieren:
sudo dphys-swapfile swapoff
sudo systemctl disable dphys-swapfile
sudo apt purge dphys-swapfile
Swapping wieder aktivieren:
sudo apt install dphys-swapfile
sudo systemctl enable dphys-swapfile





7 ) RPi-Monitor installieren

Quellen:
github.com/ioBroker/ioBroker/wiki/Raspberry-Pi:-RPi-Monitor-installieren
github.com/XavierBerger/RPi-Monitor-deb/tree/master/packages

Der RPi-Monitor ist eine Echtzeit-Überwachung für Raspbian mit einem Webinterface. Installation der letzten Version 2.12-r0 (Link zum Prüfen):
sudo apt update; sudo apt upgrade; sudo apt full-upgrade
sudo apt install aptitude
sudo apt install dpkg-dev librrds-perl libhttp-daemon-perl libjson-perl libipc-sharelite-perl libfile-which-perl
wget --no-check-certificate https://github.com/XavierBerger/RPi-Monitor-deb/raw/master/packages/rpimonitor_2.12-r0_all.deb
sudo dpkg -i rpimonitor_2.12-r0_all.deb
rm rpimonitor_2.12-r0_all.deb

Der RPi-Monitor ist nun im Browser unter http://IP:8888/ (IP des Raspberry Pis) aufrufbar, bei mir http://192.168.0.42:8888

Im Browser sieht man die Meldung "Update needed…". Hier wertet der RPi-Monitor aus, für welche Pakete ein Update verfügbar ist. Diese Informationen kann so eingelesen werden:
sudo /etc/init.d/rpimonitor update
Die Paketinformationen automatisch auf dem neusten Stand halten (einmal am Tag):
sudo /etc/init.d/rpimonitor install_auto_package_status_updateAutomatische Aktualisierung wieder zu deaktivieren:
sudo /etc/init.d/rpimonitor remove_auto_package_status_update
Um die Netzwerküberwachung zu aktivieren oder bearbeiten, muss die Datei network.conf angepasst werden (wenn wifi: /wlan.conf):
sudo nano /etc/rpimonitor/template/network.conf
Habe bis auf 3 Network-Hilfstexte alles aktiviert (Raute entfernt), die letzten 10 Linien sind für die Statistik (Quelle). Um die Änderung zu sehen, muss der RPi-Monitor neu gestartet und die Statistikseite im Browser aktualisiert werden.
sudo service rpimonitor restart
RPi-Monitor Datenbank (stat) löschen oder den Raspi neustarten, liegt ja im RAMDisk (siehe oben):
sudo service rpimonitor stop
sudo rm /var/lib/rpimonitor/stat/*.rrd
sudo service rpimonitor start



8 ) ioBroker installieren

Mit ioBroker ist "fast" alles möglich (ioBroker Forum) und lässt eure Kreativität freien Lauf. Dank Blockly sind selbst JavaScripte einfach.

Beispiel einer VIS-Anzeige auf einem Tablet (zensiert) und Fully Kiosk Browser & App

nodejs und ioBroker installieren

nodejs Repository hinzufügen und installieren:
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt install -y nodejs
Die Installation von ioBroker erfolgt in 4 Schritten, welche durch den einen Befehl ausgeführt werden:
curl -sL https://iobroker.net/install.sh | bash -
kann etwas dauern... am Schluss schaut das etwa so aus:
ATTENTION: Error reporting via Sentry will be activated on next start of ioBroker

ioBroker wants to make sure to deliver the most stable smart home system.
To allow this we decided to implement an automatic error and crash reporting solution into the js-controller and also into adapters.

THIS REPORTING WILL BE ENABLED WITH THE NEXT START OF YOUR IOBROKER!

For any error that leads to the crash of the js-controller or one of the relevant adapters the error details are send to a server. For the js-controller and core adapters this server is located and operated in germany. For community adapters please check the Github Readme of the affected adapter for details which Sentry server is used.

If you want to disable the error reporting you can use the command
'iobroker plugin disable sentry'
This command will also make sure that no adapter that runs on this host will send crash reporting data to sentry.




==========================================================================
    Finalizing installation (4/4)
==========================================================================

Enabling autostart...
Created symlink /etc/systemd/system/multi-user.target.wants/iobroker.service → /lib/systemd/system/iobroker.service.
Autostart enabled!
Fixing directory permissions...

==========================================================================

    ioBroker was installed successfully
    Open http://192.168.0.42:8081 in a browser and start configuring!

==========================================================================


You need to re-login before doing anything else on the console!

pi@raspberrypi:~ $

Raspi neustarten:
sudo reboot
Nun kann man das Frontend des ioBroker mittels IP Adresse und dem Port 8081 aufrufen, bei mir ist das: http://192.168.0.42:8081
Beim ersten Aufruf müsst ihr den Lizenzvertrag zustimmen dann passe ich die Systemeinstellung an. Aktiver Verwahrungsort unbedingt auf "Stable (default)" belassen, ausser ihr wisst was ihr tut.

Es ist sinnvoll ein Passwort für den Admin im Menüpunkt Benutzer zu setzen. Oben links im Avatar auf das Dreieck klicken und im Dropdown Menü den Punk Benutzer auswählen und das Paswort einrichten. Dann erhaltet ihr auch Button zum Abmelden in der oberen Menüleiste. Die ioBroker Startseite kann mit "Instanzen -> Info" angepasst werden.

Meine Adapter sind:
  • Visualisierung (vis = Grafische Benutzeroberfläche für ioBroker), das installiert auch den WEB-Server
  • man braucht eine Lizenz um vis zu nutzen, diese bekommt ihr kostenlos auf iobroker.net/login
  • backitup (BackItUp)
  • devices (Geräte mit Aliasnamen verwalten)
  • dwd (Deutscher Wetter Dienst)
  • email (E-Mails senden)
  • fullybrowser (fullyBrowser)
  • ical (iCal Kalender)
  • icons-fatcow-hosting (Open icon library set from FatCow Hosting)
  • javascript (Skriptausführung, Javascript/Blockly)
  • ping (PING Adapter)
  • rpi2 (RPI-Monitor)
  • shelly (Shelly)
  • simple-api (Simple RESTful API)
  • tr-064 (FritzBox TR-064 API)
  • vis-fancyswitch (ioBroker Visualisation - fancyswitch style Widgets)
  • vis-hqwidgets (hqwidgets style Widgets)
  • vis-jqui-mfd (jQuery-UI-Stil Widgets)
  • vis-timeandweather (ioBroker Visualisation - time and weather Widgets)
  • yahka (Apple Homekit)
  • yr (yr.no Wetter)
  • zwave2 (ZWave2, benötigt ZWAVE-USB oder Aufsteckmodul)
Liste mit allen Adaptern die es gibt


Alles Updaten/Upgrade inkl. ioBroker (js-controller) ohne sudo!
iobroker stop
sudo apt update; sudo apt upgrade; sudo apt full-upgrade
sudo apt clean; sudo apt autoclean; sudo apt-get -f install; sudo apt clean; sudo apt autoremove --purge
iobroker update
iobroker upgrade self
iobroker upgrade
dann den ioBroker neu starten "iobroker start all" oder besser den Raspi neu starten
sudo reboot
Bei einer Neuinstallation unwahrscheinlich, aber falls irgendwo noch nicht alle Rechte auf dem System passen sollten, diesen Fix durchlaufen lassen (Quelle):
curl -sL https://iobroker.net/fix.sh | bash -


9 ) Z-Wave
Ich benutze ein Z-Wave Modul ZMEERAZ2. Beim Raspberry Pi3+4 ist der UART standardmäßig durch das Bluetooth-Modul belegt. Um ihn für die Verwendung mit einem GPIO-Modul zu aktivieren, wie folgt vorgehen (Quelle):
sudo nano /boot/cmdline.txtund entferne: console=serial0,115200
dann die Libraries aktualisieren und neu starten:
sudo ldconfig
sudo reboot

Den Serial Port des ZMEERAZ2 findet man per Konsole:
ls -l /dev/ttyA*Bei mir ist das /dev/ttyAMA0 den ich so als "Serielle Schnittstelle auswählen" im zwave2 Adapter eingetragen habe.

Schlafende NODES werden unter zwave2 nach einem Neustart dank Cache sofort als bereit markiert.
Bei einem Umzug auf einem neuen Server sollten diese Dateien mitgenommen werden, Ordern: /opt/iobroker/iobroker-data/zwave2.0/cache (gehört dem User iobroker).

Achtung! Im ioBroker Backup sind keine Z-Wave Geräte enthalten. Nur mit Z-Way Smart Home für Raspberry kann ein Backup vom Gateway der inkludierten Z-Wave Geräte erstellt werden!
Installieren oder upgrade (Quelle):
sudo iobroker stop
wget -q -O - https://storage.z-wave.me/RaspbianInstall | sudo bash
Start mit: http://192.168.0.42:8083/smarthome/
Beim ersten Aufruf muss man ein Passwort erstellen. Die Z-Wave Expert-UI zeigt diese Erweiterung als eine Funktionen der Hardware (Management -> Datensicherung). Hier im Text unter Datensicherung findet man den Link "Netzwerk-Controller".
Direkter Link: http://192.168.0.42:8083/expert/#/network/control  (Netzwerk –> Control: Backup and Restore).

Z-Wave Me erlaubt ein unkompliziertes Backup/Restore des Z-Wave Sticks oder Moduls. Würde daher das Tool nicht deinstallieren sondern nur deaktivieren (auch beim Systemstart):
sudo /etc/init.d z-way-server stop
sudo update-rc.d z-way-server disable
sudo /etc/init.d zbw_connect stop
sudo update-rc.d zbw_connect disable

Manuell starten um Backup/Restore zu machen (mache ich nur wenn ein neues Gerät hinzu kommt):
sudo /etc/init.d/z-way-server start
sudo /etc/init.d/zbw_connect start
dann http://192.168.0.42:8083/expert/#/network/control  (Netzwerk –> Control: Backup and Restore), anschließend die 2 Dienste stoppen und Raspi neu starten:
sudo /etc/init.d/z-way-server stop
sudo /etc/init.d/zbw_connect stop
sudo reboot

Wer Z-Way Package deinstallieren möchte:
sudo apt remove z-way-server
sudo apt autoremove
Evtl. manuell entfernen: /opt/z-way-server, /etc/*/z-way-server, /etc/*/zbw* and /etc/zbw*

Mit diesen Z-Wave Geräten funktioniert die Anbindung bei mir (es gibt bestimmt hunderte die funktionieren):
  • FIBARO System FGSD002 Smoke Sensor
  • FIBARO System FGWPE/F Wall Plug
  • Vision Security ZD2102 EU Door/Window Sensor
  • Sensative Strips Comfort (Temperatur- und Lichtniveauüberwachung)
  • Sensative Strips SENE1110 Tür-/Fenstersensor
  • Vision Security ZG8101 Garage Door Detector
  • Qubino (Goap) ZMNHND1 Relais
  • FIBARO System FGFS101 Flood Sensor

Eigentlich ist Z-Wave eine gute Sache und extra für das SmartHome entwickelt... aber:

Z-Wave Pro:
  • Der Energieverbrauch ist sehr gering und auf hohe Kommunikationssicherheit auf dem SRD-Band optimiert welches in der EU auf 868,4 MHz arbeitet, was besonders gut in Wohnungen funktioniert.
  • Z-Wave nutzt ein geroutetes Meshnetzwerk für an der Steckdose betriebene Geräte.
  • Besonders geeignet für batteriebetriebene Geräte.
  • Die Auswahl ist Dank vieler verschiedenen Hersteller sehr groß und bei sicherheitsrelevanten Geräten ist die Kommunikation verschlüsselt.

Z-Wave Contra:
  • Seit das "Z-Wave Plus Standard" eingeführt wurde, ist die Inklusion der Geräte einfacher. Jedoch muss ich manchmal die Inklusion 2 oder 3 mal starten bis das Gerät komplett mit allen Parametern erkannt wurde. Kann auch sein das ich keine Geduld habe, mehrere Stunden auf das erste Interview von batteriebetriebenen Geräten zu warten (indicator.ready = true).
  • Geräte sind oft zu teuer, würde den Preis nur akzeptieren wenn ich dieses Contra nicht schreiben müsste  >:D
  • Bei eingebauten Geräten ist ein nachträgliches Inkludieren/Exkludieren sehr aufwendig.
  • Die Geräte im Netzwerk werden im Z-Wave-Transceiver-Chip gespeichert und daher kann ioBroker diese wichtigen Information nicht in sein Backup einbeziehen. Das ist besonders übel wenn ihr den Z-Wave-USB-Dongle oder das Aufsteckmodul austauschen müsst. Hier hilft nur die Z-Wave.Me Lösung.
  • Auch mit der Kompatibilität scheinen leider nicht alle Hertseller es ernst zu nehmen, z.B. Devolo:
Als Störsender hat sich die "Devolo Home Control Schalt-Messsteckdose" entpuppt. Diese lassen sich problemlos einrichten, jedoch ist das Z-Wave Gateway extrem langsam und träge. Nach dem exkludieren der Devolo Geräte lief bei mir wieder alles rund. An Zufall glaube ich nicht, da es sich um 3 Geräte gehandelt hatte.



10 ) Shelly
Ich halte die Shellys besonders für Steckdosen betriebene Geräte für gut. Das WLAN ist eigentlich zu Schade dafür und für jedes Gerät wird eine IP benötigt, jedoch funktioniert das ziemlich zuverlässig (wenn ihr nicht in einem großen Wohnblock wohnt) und ist Dank eigenem Webinterface einfach einzurichten. Die Shellys sind günstig und können ohne Cloud benutzt werden, vorbildlich als Default!

Die Ersteinrichtung mache icht NICHT mit deren App. Die IP 192.168.33.1 ist die Adresse jedes Shelly im AP-Mode, daher kann das Einrichten auch ohne App erfolgen:
  • Shelly einschalten
  • Notebook, PC oder Handy vom Router trennen (Standard Verbindung)
  • WLAN-Netz vom Shelly sollte sichtbar sein, damit verbinden
  • Dann per Browser die IP 192.168.33.1 aufrufen und den Shelly einrichten
  • Unter "Internet & Security -> WIFI MODE - CLIENT" eure SSID und das Passwort von eruem Router eintragen
  • Speichern und die Standard Verbindung zum Router wieder herstellen
  • Die neue IP findest du im Router, welche ich dort festlege "Diesem Netzwerkgerät immer die gleiche IPv4-Adresse zuweisen"
  • Shelly fertig einrichten
Da ich die Shellys und das Tablet nur im WLAN-Netz nutze (Gerätesperre aktiv*), wird die Zeit auf diesen Geräten nicht per NTP synchronisiert. Wer eine FritzBox hat, kann dessen Zeitsynchronisation (NTP) einrichten, Link.
(* ausser wenn ich ein Firmware Update mache)



11 ) INSTAR Webcams
Die INSTAR WebCams sind Made in Germany, können ohne Cloud genutzt werden und haben ein gutes Forum.
Ein weiterer Vorteil ist, daß man unter ioBrocker dessen CGI-Befehle nutzen kann.



12 ) Powerbank als USV
Nutze als Mini-USV Anlage eine EasyAcc Powerbank 20000mAh Externer Akku mit 4 Output (Link Amazon). Das ist eine der wenigen Powerbanks mit Type-C Schnittstellen und echten Passthrough und maximal 3A-Ausgang. Um 2 USB Ports für den Strom zu nutzen, ein Y-Anschluss (2 auf 1) für den Raspi, z.B. Delock Y-Anschluss USB 2.0 A auf 2x USB 2.0 A Kabel (Link Amazon) mit Anker USB C Kabel auf USB A Ladekabel (Link Amazon).



Versuchsaufbau Raspberry Pi4 mit passiven Kühlkörper, Aufsteckmodul Z-Wave, Portable SSD und Powerbank


Fragen, Ideen, Kritik oder Vorschläge dazu? Gerne per Jabber/XMPP Chatroom (moderiert): manjaro@conference.blabber.im

Externe Quellen und Interessante Links:
forum.iobroker.net/category/4/deutsch
haus-automatisierung.com/iobroker-tutorial-reihe
smarthome-tricks.de
shelly-support.eu
www.fully-kiosk.com/de/
forum.instar.de
z-wave.me

Interne Links:
Raspberry Pi über VIS per Datenpunkt rebooten

« Letzte Änderung: 02. März 2021, 00:03:09 von Jo »