Installation Busware SCC auf RasPi B+ unter Jessie

Hallo Zusammen,
meinen “alten” RasPi Model B+ V1.2 habe ich mit Raspbian Jessie neu aufgesetzt. Ziel ist eine Lichtststeuerung mittels HomeMatic und openHAB bei mir Zuhause.
Nach dem ich nun alle möglichen Posts zu dem Thema der Installation vom SCC unter Raspbian durchgelesen habe, bin ich leider keinen Schritt weiter und eher verwirrt als informiert. Zum einen findet man immer den Hinweis zum Ändern der Datei /etc/inittab, die ja bei Jessie nicht mehr vorhanden ist, oder den Hinweis in Richtung des “Overlays”. Letzteres ist aber, glaube ich, nur für den 3’er Pi relevant. Also habe ich in diese Richtung nichts unternommen. Mit dem Befehl “screen /dev/ttyAMA0” und “screen /dev/ttyS0” habe ich versucht den SCC anzusprechen, aber leider sind die Devices nicht bekannt. Kann ich also davon ausgehen, dass das SCC dem Betriebssystem noch nicht bekannt ist? Wie kann ich das überprüfen, oder noch besser, wie muss ich vorgehen, damit ich die Kombination aus RasPi2, Jessie, Homegear zum “fliegen” bringe, damit ich mit openHAB endlich meine Lichtsteuerung angehen kann? Also am besten eine Schritt-für-Schritt Beschreibung für die Installation des Busware SCC unter Jessie.
Schon mal vielen Dank für Eure Bemühungen :slight_smile:

Hallo Zusammen,
nach zwei Wochenenden des Experimentierens habe ich endlich das Zusammenspiel zwischen dem SCC-Board von Busware und homegear 0.6.0-1327 zum Laufen zu gebracht :smiley: .
In der nachfolgenden Beschreibung möchte ich die Schritte aufzeigen, die letztendlich zum Erfolg geführt haben. Da ich kein Linux-, oder Raspbian-Guru bin, kann ich nicht beurteilen, ob die durchgeführten Maßnahmen alle so notwendig waren und richtig sind. Aber wie auch immer, auf alle Fälle läuft mein “alter” RasPi jetzt wieder und ich kann mich auf die openHAB-Programmierung konzentrieren.
Also was habe ich gemacht?

Für die Inizialisierung des SCC-Boards beim Systemstart habe ich als User root im Verzeichnis /etc/init.d eine Datei mit dem (willkürlichen) Namen sccstart.sh angelegt. Diese Datei sieht wie folgt aus:

[code]#!/bin/bash

###################

Script zum Inizialisieren des SCC-Boards

###################

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[/code]
Als User root habe ich dann mit dem Kommando
chmod 755 sccstart.sh
die entsprechenden Rechte gesetzt.

Im Verzeichnis /etc/systemd/system habe ich die Datei sccstart.service angelegt.

[code]#########################################################################

sccstart.service

systemd service: inable SCC-board at start

#########################################################################

[Unit]
Description=Inable SCC-Board

[Service]
Type=oneshot
ExecStart=/etc/init.d/sccstart.sh

[Install]
WantedBy=multi-user.target

EOF[/code]

Um diesen neuen Service bei dem “System” anzumelden, habe ich das folgende Kommando (unter root) ausgeführt:
systemctl enable sccstart.service

Ab diesem Zeitpunkt wurde das SCC-Board bei jedem reboot automatisch iniziert, die LED blinkte :slight_smile:
Um ttyAMA0 frei zu bekommen, habe ich als User root den entsprechenden Service mit folgendem Kommando deaktiviert:
systemctl disable serial-getty@ttyAMA0.service

Ein wichtiger Schritt bei der Konfiguration war die Anpassung des UART-Settings in der Datei /boot/config.txt.
Hier habe ich den Wert dieses Parameters von 0 auf 1 gesetzt, also:
enable_uart=1

Nach einem reboot konnte ich endlich mittels dem Kommando
minicom -b 38400 -o -D /dev/ttyAMA0
mit dem Board kommunizieren. Als “Test” habe ich das Kommando V (großes V) eingegeben und als Antwort die Versionsnummer der Firmware erhalten.
(Die Ausgabe bei mir: V 1.66 CSM868)

Damit homegear das SCC findet, habe ich die Datei /etc/homegear/families/homematicbidcos.conf durch “Freigabe” der entsprechenden Zeilen angepasst. Der für das SCC zuständige Abschnitt sieht bei mir wie folgt aus:

[code]#######################################
######### COC, SCC, CSM, CCD #########
#######################################

The device family this interface is for

[COC, SCC, CSM, CCD]

Specify an unique id here to identify this device in Homegear

id = UF-COC

When default is set to “true” Homegear will assign this device

to new peers.

#default = true

Options: cul, cc1100, coc, cunx, hmcfglan, hmlgw, hm-mod-rpi-pcb

Also use “coc” for SCC, CCD and CSM

deviceType = coc

device = /dev/ttyAMA0

Default: responseDelay = 95

Should be “95” for CUL or COC, “100” for TI CC1101 and “60” for HM-CFG-LAN or HM-LGW

responseDelay = 95

Default: gpio1 = 0

“17” for COC, SCC and CCD. Empty for CSM.

gpio1 = 17

Default: gpio2 = 0

“18” for COC and SCC. “22” for CCD. Empty for CSM.

gpio2 = 18

Default: stackPosition = 0 (= no stacking)

Set stackPosition if you use the SCC and stacked multiple devices.

Set stackPosition to “1” for the lowest device, to “2” for the device

above that and so on.

stackPosition = 0

[/code]

Nach einem erneuten Reboot hatte ich aber noch jede Menge Fehlermeldungen in der Log-Datei von homegear aufgrund eines Rechteproblems bei den GPIO’s. Die Lösung brachte das Auskommentieren von Regeln in der Datei /etc/udev/rules.d/99-com.rules. Hier habe ich SUBSYSTEM==“bcm2835-gpiomem” und SUBSYSTEM==“gpio*” auskommentiert.
Der entsprechende Abschnitt der Datei sieht bei mir jetzt also so aus:

[code]SUBSYSTEM==“input”, GROUP=“input”, MODE="0660"
SUBSYSTEM==“i2c-dev”, GROUP=“i2c”, MODE="0660"
SUBSYSTEM==“spidev”, GROUP=“spi”, MODE=“0660”
#SUBSYSTEM==“bcm2835-gpiomem”, GROUP=“gpio”, MODE=“0660”

#SUBSYSTEM==“gpio*”, PROGRAM="/bin/sh -c ‘
chown -R root:gpio /sys/class/gpio && chmod -R 770 /sys/class/gpio;
chown -R root:gpio /sys/devices/virtual/gpio && chmod -R 770 /sys/devices/virtual/gpio;
chown -R root:gpio /sys$devpath && chmod -R 770 /sys$devpath
’"
[/code]
Ich bin mir nicht sicher, in wie weit die Deaktivierung der seriellen Schnittstelle über die Raspbian GUI hier eine Rolle spielt, aber ich habe dies über Menu->Einstellungen->Raspberry Pi Configuration->Interfaces->Serial=>Disable erst mal "ausgeschaltet.

Da die Datei /boot/cmdline.txt in vielen Forenbeiträge eine Rolle spielt, möchte ich sie hier für Vergleichszwecke angeben. Leider bin ich mir nicht mehr ganz sicher, ob ich hier etwas verändert habe, aber so funktioniert es auf alle Fälle bei mir.

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait

So, das sind also meine “Forschungsergebnisse” der letzten Wochenden zum Thema RaspPi+Jessie+homegear.
Nach dem dies jetzt läuft, kann ich mich auf openHAB stürzen. Aber das ist für mich vertrautes Terrain und da dürften sich schneller Erfolge einstellen als bisher. Ich hoffe diese Beschreibung hilft dem ein oder anderen :smiley:

Gruß
Uwe

Hallo Uwe,

danke für deine Anleitung. “enable_uart=1” habe ich jetzt mal in die config.txt des Homegear-Images aufgenommen :wink:. “sccstart.sh” wird nicht benötigt, das übernimmt Homegear.

Viele Grüße

Sathya

Hey @UweFritz,
das nächste Mal schau dir doch openHABian an, das vorkonfigurierte RPi Image von openHAB. Enthält openHAB, Homegear, alle nötigen Vorbereitungen für die SCC und vieles mehr :wink:

http://docs.openhab.org/installation/openhabian.html

(Alter Thread aber ich denke eine wichtige Info für alle mit der selben Frage)