FHEM auf Raspberry PI mit COC betreiben

Aus FHEMWiki

Um einen COC mit einem Raspberry Pi und FHEM zu nutzen, sind mehrere Schritte notwendig. Die folgende Anleitung zeigt diese entsprechend auf.

Vorausetzung

Erforderliche Hardware:

  • Raspberry Pi
  • Busware COC

Erforderliche Software:

  • Raspbian OS (Lite Version dringend empfohlen)

Notwendige Vorbereitungen:

  • Busware COC ist auf dem Raspberry Pi montiert
  • Raspberry Pi ist ans Netzwerk angeschlossen und mit dem Internet verbunden.

Raspberry Pi Grundinstallation

  1. Bitte immer zuerst https://fhem.de/fhem.html#Installation lesen!
  2. Die empfohlene Grundinstallation des Raspberry Pi ist im Artikel Raspberry Pi beschrieben
Dabei ist besonders der Abschnitt Verwendung UART für Zusatzmodule zu beachten

Zusatzeinstellungen

Emblem-question-yellow.svgDieser Abschnit muss überprüft werden. Eigentlich sind diese Rechte nicht notwendig: FHEM ist schon in der Gruppe dialout, gpio Initialisierung erfolgt mit root Rechten

Zusätzlich zur Grundinstallation fügen wir den Benutzer fhem der Gruppe tty und gpio hinzu (Zugriffsrechte auf Serial- und USB-Ports und GPIO)

sudo usermod -aG tty,gpio fhem

COC in Betrieb nehmen

Hinweis: Offenbar gibt es im laufe der Jahre unterschiedliche Versionen des COC. Das folgende Script stammt aus der Zusammenarbeit in diesem Forenthema. Offenbar wurden die Pins zur Aktivierung geändert, deshalb bitte die Unterlagen des Herstellers konsultieren! Dort steht aktuell ein anderes Script.

Bitte die folgenden Befehlszeilen separat mit root Rechten (sudo) testen und erst nach Erfolg in den Systemstart einbauen!

echo "resetting 868MHz extension..."
if test ! -d /sys/class/gpio/gpio17; then echo 17 > /sys/class/gpio/export; fi
if test ! -d /sys/class/gpio/gpio18; then echo 18 > /sys/class/gpio/export; fi
echo out > /sys/class/gpio/gpio17/direction
echo out > /sys/class/gpio/gpio18/direction
echo 1 > /sys/class/gpio/gpio18/value
echo 0 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio17/value
sleep 1

Damit der COC beim Start von FHEM initialisiert wird, muss der obige Code als Script ausgeführt werden.

  • Bei systemd Systemen kann man nach diesem Wiki Artikel vorgehen. Der obige Code wird dabei einfach als Inhalt für die dort erzeugten Scripte verwendet.
  • Bei init.d Systemen muss die Datei /etc/init.d/fhem z.B. mittels
sudo nano /etc/init.d/fhem
editiert, und der Scriptcode unterhalb von "Start)" eingefügt werden.

Nun wird der Raspberry PI vollständig neu gestartet:

sudo shutdown -r now

In FHEM wird in der Weboberfläche die Definition durchgeführt:

define COC CUL /dev/ttyAMA0@38400 1234

Der Raspberry PI sollte nun via auto detect die Komponenten auffinden