Migration HM-CFG-LAN nach HM-MOD-RPI-PCB RPi3/CC1101

Hallo zusammen,

ich habe aktuell ein funktionierendes System aus einem Raspberry Pi 3, Homegear und dem HM-CFG-LAN Gateway. Daran sind diverse Homematic-Geräte gekoppelt, vom Fenstersensor bis zum Thermostat. Die Steuerung übernimmt letztendlich Home Assistant.

Jetzt bin ich versucht das HM-MOD-RPI-PCB für den RPi3 zu kaufen und damit den LAN “Puck” zu ersetzen. Vorteil wäre ein Steckernetzteil weniger im Serverraum und - dank WLAN - die wahlfreie Platzierung des RPi an irgendeiner Steckdose.

Ich habe nun (erstmal) zwei Fragen:

  1. wird in dieser Konstellation noch die OCCU Software benötigt?
  2. muss ich alle Geräte neu anlernen?

Mir ist im Allgemeinen nicht ganz klar, wo die Geräte eigentlich angelernt sind und wo die AES Verschlüsselung geregelt ist. Ist das “in” Homegear oder im LAN-GW?

Gruß

Christoph

Hi @m0wlheld,

ich verstehe gerade nicht, wo bei dir OCCU zum Einsatz kommt. Aber du kannst in homegear einfach ein anderes Kommunikationsmodul konfigurieren so lange der rfKey und die centralAdress gleich bleiben. Damit sind die Geräte “gepaired” und nutzen diesen AES-Schlüssel.

Siehe:

Hoffe, das hilft dir weiter :slight_smile:

so long,
p

Hi pmayer,

das hilft schonmal. Die OCCU kommt bisher nicht zum Einsatz und wenn der Umstieg von HM-CFG-LAN auf das PCB auch ohne OCCU möglich ist, dann umsobesser. Ich will ja das HM-CFG-LAN durch das PCB ersetzen, um weniger Geräte im Einsatz zu haben.

Bedeutet das also, dass das Pairing zwischen Homegear und dem Endgerät stattfindet und nicht an die “Bridge” gebunden ist?

Gruss

m0wlheld

Nach meiner Verständnis genau das :slight_smile:

Normalerweise solltest du, nachdem die Schritte der Konfiguration für das HM-MOD-RPI-PCB aus der Doku gemacht hast, einfach nur in deiner homematicbidcos.conf das zweite/andere device aktivieren.

Ich darf das Thema nochmal aufgreifen, weil es jetzt aktuell wird. Die Idee ist also ein HM-MOD-RPI-PCB oder (sofern verfügbar) eins von Deinen CC1101 Modulen direkt auf dem RPi3 zu verwenden.

Sollte dies die Reichweitenprobleme nicht behehen, könnte der vorhandene HM-CFG-LAN-Gateway an anderer Stelle montiert zusätzlich zum Einsatz kommen.

Ist in diesem Falle eine explizite Zuweisung von Homematic-Geräten zu den einzelnen “Gateways” notwendig oder wird das intern geregelt?

Verdammt, wieder zu spät die verbundenen Threads gelesen. Hier steht ja ganz klar, dass eine Zuweisung der Geräte zu den Gateways entweder manuell oder automatisch (basierend auf der RSSI) erfolgen kann.

2 Likes

So,

jetzt habe ich also ein CC1101 Modul von @pmayer erhalten und aufgesteckt. Im Vorfeld habe ich die /boot/config.txt und die /boot/cmdline.txt bearbeitet und diverse Services deaktiviert. Außerdem habe ich die Homegear-Konfiguration so geändert, dass statt des Lan-GW nun das CC1101 Modul benutzt werden soll.

Funktioniert nur leider nicht (dazu unten mehr), hier erstmal der aktuelle Stand:

/boot/config.txt:

dtparam=i2c_arm=on
dtparam=spi=on
dtparam=audio=on
gpu_mem=16
enable_uart=1
dtoverlay=p3-miniuart-bt
force_turbo=1

/boot/cmdline.txt:

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

/etc/homegear/main.conf:

debugLevel = 4
memoryDebugging = true
devLog = false
enableCoreDumps = true
setDevicePermissions = true
workingDirectory = /var/lib/homegear
socketPath = /var/run/homegear
dataPath = /var/lib/homegear
familyDataPath = /var/lib/homegear/families
databaseMemoryJournal = false
databaseWALJournal = true
databaseSynchronous = true
databaseMaxBackups = 10
logfilePath = /var/log/homegear
enableUPnP = true
caPath = /etc/homegear/homegearca.crt
certPath = /etc/homegear/homegear.crt
keyPath = /etc/homegear/homegear.key
loadDHParamsFromFile = true
dhParamPath = /etc/homegear/dh1024.pem
deviceDescriptionPath = /etc/homegear/devices
clientSettingsPath = /etc/homegear/rpcclients.conf
serverSettingsPath = /etc/homegear/rpcservers.conf
mqttSettingsPath = /etc/homegear/mqtt.conf
familyConfigPath = /etc/homegear/families
phpIniPath = /etc/homegear/php.ini
gpioPath = /sys/class/gpio
scriptPath = /var/lib/homegear/scripts
enableFlows = false
flowsPath = /var/lib/homegear/flows
flowsDataPath = /var/lib/homegear/flows/data
nodeBlueDebugOutput = true
modulePath = /var/lib/homegear/modules
firmwarePath = /usr/share/homegear/firmware
tempPath = /var/lib/homegear/tmp
lockFilePath = /var/run/homegear
lockFilePathPermissions = 770
lockFilePathUser = homegear
lockFilePathGroup = homegear
replaceClientServerAddress = xmlrpc_bin://127.0.0.1:1999 xmlrpc_bin://$REMOTEIP:1999
replaceClientServerAddress = http://127.0.0.1:9292/bidcos http://$REMOTEIP:9292/bidcos
prioritizeThreads = true
secureMemorySize = 65536
workerThreadWindow = 3000
scriptEngineMaxThreadsPerScript = 4
scriptEngineMaxScriptsPerProcess = 50
scriptEngineThreadCount = 5
scriptEngineServerMaxConnections = 10
scriptEngineWatchdogTimeout = 60000
scriptEngineManualClientStart = false
flowsProcessingThreadCountServer = 5
flowsProcessingThreadCountNodes = 10
flowsServerMaxConnections = 50
maxNodeThreadsPerProcess = 60
flowsWatchdogTimeout = 60000
flowsManualClientStart = false
ipcThreadCount = 5
ipcServerMaxConnections = 20
cliServerMaxConnections = 50
rpcServerMaxConnections = 50
rpcServerThreadPriority = 0
rpcServerThreadPolicy = SCHED_OTHER
rpcClientMaxServers = 50
rpcClientThreadPriority = 0
rpcClientThreadPolicy = SCHED_OTHER
workerThreadPriority = 0
workerThreadPolicy = SCHED_OTHER
packetQueueThreadPriority = 45
packetQueueThreadPolicy = SCHED_FIFO
packetReceivedThreadPriority = 0
packetReceivedThreadPolicy = SCHED_OTHER
eventThreadCount = 5
eventThreadPriority = 0
eventThreadPolicy = SCHED_OTHER

/etc/homegear/families/homematicbidcos.conf:

[General]
centralAddress = 0xFDCXXX
rfKey = 9EECF005BD01BXXXXXXXXXXXXXX
currentRfKeyIndex = 1
processBroadcastWithAesEnabled = false
[TI CC1101 Module]
id = My-CC1101
deviceType = cc1100
device = /dev/spidev0.0
responseDelay = 100
interruptPin = 2
gpio1 = 25

ls -la /dev/serial*

lrwxrwxrwx 1 root root 5 Mar  2 12:59 /dev/serial0 -> ttyS0
lrwxrwxrwx 1 root root 7 Mar  2 12:59 /dev/serial1 -> ttyAMA0

ls -la /dev/spidev0.*:

crw-rw---- 1 homegear homegear 153, 0 Mar  2 12:59 /dev/spidev0.0
crw-rw---- 1 root     spi      153, 1 Mar  2 12:59 /dev/spidev0.1

Aber wie gesagt: Die Verbindung zu den Geräten funktioniert nicht. Beim Versuch einen Homematic Aktor via Homeassistant zu schalten, erscheinen folgende Meldungen:

03/02/18 13:41:35.127 RPC Server (Port 2001): Info: Client number 15 is calling RPC method: setValue (1) Parameters:
(String) MEQ0990XXX:1
(String) STATE
(Boolean) 1
03/02/18 13:41:45.127 Module HomeMatic BidCoS: TI CC110X “My-CC1101”: Critical: Could not acquire lock for sending packet. This should never happen. Please report this
error.
03/02/18 13:41:45.128 Module HomeMatic BidCoS: TI CC110X “My-CC1101”: Warning: Timing problem. Sending took more than 100ms. Do you have enough system resources?
03/02/18 13:41:45.128 Module HomeMatic BidCoS: TI CC110X “My-CC1101”: Info: Sending (My-CC1101): 0E3CA011FDCD9941B6D40201C80000
03/02/18 13:41:45.128 Module HomeMatic BidCoS: Info: Setting peer to unreachable, because the queue processing was interrupted.
03/02/18 13:41:45.128 Module HomeMatic BidCoS: Info: Queue is not finished (peer: 6). Retrying…
03/02/18 13:41:45.129 Module HomeMatic BidCoS: TI CC110X “My-CC1101”: Info: Sending (My-CC1101): 0E3CA011FDCD9941B6D40201C80000 Planned sending time: 03/02/18 13:41:45.
128
03/02/18 13:41:48.132 Module HomeMatic BidCoS: Info: Setting peer to unreachable, because the queue processing was interrupted.
03/02/18 13:41:48.132 Module HomeMatic BidCoS: Info: Queue is not finished (peer: 6). Retrying…
03/02/18 13:41:55.328 Module HomeMatic BidCoS: TI CC110X “My-CC1101”: Critical: Could not acquire lock for sending packet. This should never happen. Please report this
error.
03/02/18 13:41:55.328 Module HomeMatic BidCoS: TI CC110X “My-CC1101”: Warning: Timing problem. Sending took more than 100ms. Do you have enough system resources?
03/02/18 13:41:55.328 Module HomeMatic BidCoS: TI CC110X “My-CC1101”: Info: Sending (My-CC1101): 0E3CA011FDCD9941B6D40201C80000 Planned sending time: 03/02/18 13:41:45.
129
03/02/18 13:41:55.329 Module HomeMatic BidCoS: TI CC110X “My-CC1101”: Warning: Timing problem. Sending took more than 100ms. Do you have enough system resources?
03/02/18 13:41:55.329 Module HomeMatic BidCoS: TI CC110X “My-CC1101”: Info: Sending (My-CC1101): 0E3CA011FDCD9941B6D40201C80000 Planned sending time: 03/02/18 13:41:55.
328
03/02/18 13:41:55.329 Module HomeMatic BidCoS: Info: Setting peer to unreachable, because the queue processing was interrupted.
03/02/18 13:41:55.330 Module HomeMatic BidCoS: Info: Queue is not finished (peer: 6). Retrying…
03/02/18 13:41:55.330 Module HomeMatic BidCoS: TI CC110X “My-CC1101”: Info: Sending (My-CC1101): 0E3CA011FDCD9941B6D40201C80000 Planned sending time: 03/02/18 13:41:55.
329
03/02/18 13:41:55.331 Module HomeMatic BidCoS: TI CC110X “My-CC1101”: Info: Sending (My-CC1101): 0E3CA011FDCD9941B6D40201C80000 Planned sending time: 03/02/18 13:41:55.
330
03/02/18 13:41:55.332 Module HomeMatic BidCoS: TI CC110X “My-CC1101”: Info: Sending (My-CC1101): 0E3CA011FDCD9941B6D40201C80000 Planned sending time: 03/02/18 13:41:55.
331
03/02/18 13:41:55.333 Module HomeMatic BidCoS: TI CC110X “My-CC1101”: Info: Sending (My-CC1101): 0E3CA011FDCD9941B6D40201C80000 Planned sending time: 03/02/18 13:41:55.
332
03/02/18 13:41:58.334 Module HomeMatic BidCoS: Info: Setting peer to unreachable, because the queue processing was interrupted.
03/02/18 13:41:58.335 Info: Peer 6 is unreachable.
03/02/18 13:41:59.559 Info: Peer 6 is reachable again.

Worauf könnte das hindeuten, wo kann ich mit der Fehlersuche beginnen?

Hey @m0wlheld,

du brauchst in der /boot/config.txt gar nichts zu ändern, auch in der /boot/cmdline.txt nicht.
Schalte einfach über raspi-confg den SPI ein - das hast du aber offensichtlich schon (dtparam=spi=on).

Du hast den interruptPin in der config falsch angegeben, so wäre es richtig:

[TI CC1101 Module]
id = My-C1101-Module
default = true
 
deviceType = cc1100
device = /dev/spidev0.0
responseDelay = 100
 
interruptPin = 0
gpio1 = 25

Siehe: https://allgeek.de/2017/09/23/cc1101-spi-adapter-mit-u-fl-antennenbuchse/

so long,
p

Tatsächlich. Ich hab mich an der Homegear-Anleitung orientiert und natürlich keine Ahnung, was ein GDO0 oder GDO2 ist.

Aber jetzt funktioniert es. Nun würde ich gerne noch rausfinden, ob die Verbindungsqualität gesteigert wurde. HM-CFG-LAN “Puck” und der Raspberry stehen quasi nebeneinander. Auf dem Raspberry ist eine 4cm Antenne monitiert.

Der wichtige Wert ist nach meinem Verständnis “RSSI”, er scheint eine Dämpfung auszudrücken also sollte ein höher Wert (also weiter gegen 0) besser sein, ist das korrekt?

Sind sicher blöde Fragen, aber Elektrotechnik gehört nicht zu meinen Stärken …

1 Like

Der Received Signal Strength Indicator (RSSI) stellt einen Indikator für die Empfangsfeldstärke kabelloser Kommunikationsanwendungen dar.

Da der RSSI keine festgelegte Einheit hat, muss der Wert abhängig von der jeweiligen Anwendung interpretiert werden. Auch innerhalb des IEEE 802.11 Standards gibt es verschiedene Definitionen[1], wobei ein höherer Wert einem besseren Empfang entspricht.

https://de.wikipedia.org/wiki/Received_Signal_Strength_Indication :wink: