FHEM auf Raspberry PI mit COC betreiben: Unterschied zwischen den Versionen

Aus FHEMWiki
Zeile 25: Zeile 25:
# Einloggen als User: Pi mit dem Password: Raspberry
# Einloggen als User: Pi mit dem Password: Raspberry
# Danach sollte das Raspberry OS upgedatet werden: <br><code>sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get autoremove -y && sudo reboot</code>
# Danach sollte das Raspberry OS upgedatet werden: <br><code>sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get autoremove -y && sudo reboot</code>
# nach dem neustart sollte auch kurz die Firmware aktuallisiert werden. Das geht wie folgt: <code>sudo apt-get install rpi-update</code><br><code>sudo rpi-update</code>
# nach dem neustart sollte auch kurz die Firmware aktuallisiert werden. Das geht wie folgt: <br><code>sudo apt-get install rpi-update</code><br><code>sudo rpi-update</code>
# Anschließend sollte der Raspberry PI neu gestarted werden mittels <code>sudo shutdown -r now</code>
# Anschließend sollte der Raspberry PI neu gestarted werden mittels <br><code>sudo shutdown -r now</code>
# Danach muss die richtige Zeitzone für unseren RPI eingestellt werden, das geht mittels <br><code>sudo dpkg-reconfigure tzdata</code>
# Danach muss die richtige Zeitzone für unseren RPI eingestellt werden, das geht mittels <br><code>sudo dpkg-reconfigure tzdata</code>
# Damit der RPI den gesamten Speicherplatz der SD-Karte nutzt, kann man (sofern noch nicht nach dem ersten Start getan) das Filesystem mit folgendem Menü erweitern<br><code>sudo raspi-config</code>
# Damit der RPI den gesamten Speicherplatz der SD-Karte nutzt, kann man (sofern noch nicht nach dem ersten Start getan) das Filesystem mit folgendem Menü erweitern<br><code>sudo raspi-config</code>

Version vom 7. Juli 2014, 19:57 Uhr

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

Vorausetzung

Erforderliche Hardware:

Erforderliche Software:

  • Raspbian OS (Debian Wheezy Version June 2014, oder aktueller)

Notwendige Vorbereitungen:

  • Busware COC ist auf dem Raspberry Pi montiert
  • Raspberry Pi ist per LAN Kabel an den Router angeschlossen und hat eine IP via DHCP bekommen und kann in das Internet (keine Firewall Restriktion)


Raspberry OS auf die Speicherkarte übertragen

  1. Raspberry OS als Image von der Raspberry PI Webseite http://downloads.raspberrypi.org/raspbian_latest herunterladen
  2. Mit win32diskimager http://win32diskimager.sourceforge.net auf die Speicherkarte übertragen


FHEM Installieren

  1. Raspberry Pi booten
  2. Einloggen als User: Pi mit dem Password: Raspberry
  3. Danach sollte das Raspberry OS upgedatet werden:
    sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get autoremove -y && sudo reboot
  4. nach dem neustart sollte auch kurz die Firmware aktuallisiert werden. Das geht wie folgt:
    sudo apt-get install rpi-update
    sudo rpi-update
  5. Anschließend sollte der Raspberry PI neu gestarted werden mittels
    sudo shutdown -r now
  6. Danach muss die richtige Zeitzone für unseren RPI eingestellt werden, das geht mittels
    sudo dpkg-reconfigure tzdata
  7. Damit der RPI den gesamten Speicherplatz der SD-Karte nutzt, kann man (sofern noch nicht nach dem ersten Start getan) das Filesystem mit folgendem Menü erweitern
    sudo raspi-config
  8. Anschließend rebooten wir den RPI mittels
    sudo shutdown -r now
  9. Einloggen als User: Pi mit dem Password: Raspberry
  10. Da wir davon ausgehen das wir FHEM mit Zeitprofielen verwenden werden ist das korrekte Datum sehr wichtig. Daher installieren wir einen NTP Client, der die Zeit aktuell hält und richten ihn für Deutschland ein. Dies geht wie folgt:
    sudo apt-get install ntpdate
    sudo ntpdate -u de.pool.ntp.org
  11. Da der FHEM auf Pearl basiert müssen jetzt die notwendigen Packete Installiert werden:
    sudo apt-get -f install && sudo apt-get install perl libdevice-serialport-perl libio-socket-ssl-perl libwww-perl libxml-simple-perl -y
  12. Jetzt können wir FHEM herunterladen und zwischenspeichern:
    sudo wget http://fhem.de/fhem-5.5.deb -O /tmp/fhem-5.5.deb
    Es ist darüber hinaus sinvoll kurz zu kontrollieren, ob die Version aktuell ist. das Kann auf der FHEM Webseite http://fhem.de/fhem.html getan werden.
  13. Anschließend kann FHEM installiert werden:
    sudo dpkg -i /tmp/fhem-5.5.deb
  14. Da FHEM automatisch gestarted hat, müssen wir ihn jetzt kurz beenden via:/etc/init.d/fhem stop
  15. Jetzt müssen wir noch die Rechte des FHEM Verzeichnisses anpassen.
    Dafür vergeben wir auf alle Dateien unter /opt/fhem Schreibrechtesudo chmod -R a+w /opt/fhem
  16. Nun fügen wir die Benutzer pi und fhem der Gruppe tty hinzu (Zugriffsrechte auf Serial- und USB-Ports)
    sudo usermod -aG tty pi && sudo usermod -aG tty fhem
  17. Jetzt müssen wir den Speicherort des Logfiles anpassen. Dafür editieren wir die FHEM config via
    nano fhem.cfg
    und ändern alle einträge der art "./log/" nach "/opt/fhem/log"
  18. Jetzt starten wir FHEM kurz neu /etc/init.d/fhem stop
    /etc/init.d/fhem start
  19. Anschließend können wir uns über http://<dieRaspberryIP>:8083/fhem am FHEM anmelden. In der dialogbox oben geben wir nun folgendes ein um FHEM zu updaten
    attr global sendStatistics onUpdate
    updateund wenn uns FHEM nach einem neustart fragt, kommen wir dem mittels
    shutdown restart nach.

COC in Betrieb nehmen

  1. Nun muss der serielle Port für den Raspberry freigegeben werden. Dazu muss die Datei /etc/inittab mittels sudo nano /etc/inittab angepasst werden und folgende Zeile löschen T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100 oder auskommentieren
  2. Ähnlich verfahren wir mit der /boot/cmdline.txt. Sie wird mittels sudo nano /boot/cmdline.txt editiert und Referenzen auf ttyAMA0 entfernt console=ttyAMA0,115200 kgdboc=ttyAMA0,115200
  3. Damit der COC beim Start vom FHEM initialisiert wird, muss die /etc/init.d/fhem editiert werden. Dies machen wir mittels sudo nano /etc/init.d/fhem
    und fügen unterhalb von "Start)" folgendes in die Datei ein

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

Achtung: Nach einem Update von FHEM könnte diese Datei überschrieben werden. Dann muss die Änderung oben wieder hinzugefügt werden.

  1. nun wird der COC in die FHEM config hinzugefügt. Dafür wird die config editiert "sudo nano /opt/fhem/fhem.cfg" und ganz zum Schluss folgendes hinzugefügt "define COC CUL /dev/ttyAMA0@38400 1234"
  1. Nun wird der Raspberry PI vollständig neu gestarted sudo shutdown -r now
  1. Der Raspberry PI sollte nun via auto detect die Komponenten auffinden