Nachdem ich Beiträge über den Parallelbetrieb von EnOcean und CUL 868 in einem System gelesen habe ist klar, dass es im laufenden Betrieb zu Laufzeitproblemen kommen kann.
Dennoch möchte ich den Schritt machen: Die Ansteuerung von Steckdosen für Lampen, Audioanlage, Gartenbeleuchtung und Teichpumpen ist ohne Rückmeldung und Verschlüsselungsfunktion für mich ausreichend. Jetzt sollen Heizkörperregelung und Alarmkomponenten dazu kommen – dafür möchte ich EnOcean Komponenten nutzen.
Das heißt: Über den CUL 868 sollen weiterhin die Steckdosen und Schalter betrieben werden, Heizkörperregelung und Alarmkomponenten via EnOcean Pi.
Das Problem: Die Konfiguration beim ,,Upgrade" des vorhandenen CUL 868 Systems mit dem EnOcean Pi 868 Funk Modul schlägt fehl so dass keine Funkschaltbefehle mehr entgegengenommen werden.Dazu weitere Infos:
Hardwaresicht: Die EnOcean Pi Platine habe ich auf die Steckerleiste des CC1101 Tranceiver gesteckt.
Konfigurationssicht: Wie in https://wiki.fhem.de/wiki/FHEM_auf_Raspberry_PI_mit_COC_betreiben (https://wiki.fhem.de/wiki/FHEM_auf_Raspberry_PI_mit_COC_betreiben) beschrieben wurde der Tranceiver installiert – das läuft problemlos.
Wie in https://wiki.fhem.de/wiki/EnOcean_Starter_Guide#EnOcean_in_FHEM (https://wiki.fhem.de/wiki/EnOcean_Starter_Guide#EnOcean_in_FHEM) beschrieben
,,FHEM kann mit einem Funkgateway, das auf einem TCM-Modul basiert, EnOcean-Funk empfangen und senden
Transceiver Chip von EnOcean TCM310 als Aufsteckmodul für Raspberry Pi
Beim Raspberry Pi 3 muss der GPIO-Port auf den Hardware-UART0 umgestellt werden: Raspberry Pi 3: GPIO-Port Module und Bluetooth
Die seriellen Schnittstelle /dev/ttyAMA0 muss am Raspberry Pi freigeschaltet werden, damit das EnOceanPi-Modul funktionsfähig ist. ...."
Meine Folgerung ist dass die Voraussetzungen zur seriellen Schnittstelle ähnlich wie bei der CUL 868 Konfiguration sind und habe keine weiteren betriebssystemseitigen Anpassungen vorgenommen.
Vielleicht ist diese Annahme bereits ein Fehler – aufgrund mangelnder Linux Kenntnisse kann ich das nicht beurteilen.
- Nach dem aufstecken des Moduls und starten des Systems zeigt die EnOcean Pi 868 Funkplatine grünes Licht.
- Die Schaltvorgänge mit dem FS20S8 funktionieren weiterhin.
- Eingabe in FHEM: ,,define TCM310_0 TCM 310 /dev/ttyAMA0@38400"
- Ab jetzt schlagen die Schaltvorgänge mit dem FS20S8 fehl.
- Das Log file zeigt dann (Auszug)
2017.12.31 16:27:12 3: Opening TCM310_0 device /dev/ttyAMA0
2017.12.31 16:27:12 3: Setting TCM310_0 serial parameters to 38400,8,N,1
2017.12.31 16:27:12 3: TCM310_0 device opened
2017.12.31 16:27:47 3: COC: Unknown code 0E2, help me!
2017.12.31 16:27:50 3: COC: Unknown code 0ED, help me!
2017.12.31 16:27:51 3: COC: Unknown code 1EC, help me!
2017.12.31 16:27:52 3: COC: Unknown code 0EA, help me!
2017.12.31 16:27:53 3: COC: Unknown code 1E9, help me!
- Sobald ich die TCM310 Konfiguration aus FEHM entferne, laufen die Schaltvorgänge wieder problemlos.
Meine Frage: In welcher Weise muss die System- oder FHEM Konfiguration geändert werden das zumindest im ersten Schritt die System für sich funktionieren?
Vielen Dank für die Unterstützung!
Thomas
Evtl. werden die Schnittstellen /dev/ACMx falsch zugeordnet. Besser ist die Zuordnung per ID:
https://wiki.fhem.de/wiki/Trick_der_Woche#CUL_.26_CO_.C3.BCber_Serial_ID-einbinden (https://wiki.fhem.de/wiki/Trick_der_Woche#CUL_.26_CO_.C3.BCber_Serial_ID-einbinden)
Gruß Jens
Vielen Dank für die schnelle Antwort!
Leider bekomme ich bei der Eingabe des Befehls wie dort beschrieben - auch mit sudo -
ls -l /dev/serial/by-id
die Fehlermeldung
ls: Zugriff auf /dev/serial/by-id nicht möglich: Datei oder Verzeichnis nicht gefunden
Gibt es in meiner Installation diesen Pfad wirklich nicht oder liegt der Fehler an anderer Stelle?
Sorry, hatte deine Definition falsch gelesen.
Sollte dort nicht folgendes stehen?
define TCM310_0 TCM ESP3 /dev/ttyAMA0@57600
Vielleicht ist es auch ein ganz anderer Anschluss, wie z.B. /dev/ttyAMA1
Was liefert denn ls -l /dev/ttyAMA* ?
Gruß Jens
Ich habe
ls -l /dev/ttyAMA*
eingegeben und als Ergebnis
crw-rw---- 1 root dialout 204, 64 Jan 5 08:58 /dev/ttyAMA0
erhalten.
Daraus schließe ich das die serielle Schnittstelle grundsätzlich richtig angesprochen wird.
Daher habe ich deinen Vorschlag probiert
define TCM310_0 TCM ESP3 /dev/ttyAMA0@57600
Danach verhält sich das System exakt so wie in meinem ersten Beitrag geschrieben.
Vielleicht wichtig sind die Log file Einträge die nach dem "define ...." erfolgten:
2018.01.05 19:55:06 3: Opening TCM310_0 device /dev/ttyAMA0
2018.01.05 19:55:06 3: Setting TCM310_0 serial parameters to 57600,8,N,1
2018.01.05 19:55:06 3: TCM310_0 device opened
und dann die nach dem ersten betätigen des Funkschalters:
2018.01.05 20:01:54 1: /dev/ttyAMA0 disconnected, waiting to reappear (COC)
2018.01.05 20:01:54 3: Setting COC serial parameters to 38400,8,N,1
2018.01.05 20:01:54 3: COC: Possible commands: mBbCFiAZGMYRTVWXef*%ltuxz
2018.01.05 20:01:54 1: /dev/ttyAMA0 reappeared (COC)
Zur weiteren Info: Den COC habe ich mit dem Befehl
define COC CUL /dev/ttyAMA0@38400 1234
konfiguriert.
viele Grüße
Thomas
Hallo Thomas,
ich hab weder Ahnung von EnOcean, noch vom COC :-[
Aber wenn ich die (vielen) Zeilen überlese, scheint mir doch zusammengefasst das Problem folgendes zu sein:
- COC auf RPi und TCM auf COC gesteckt, richtig ?
- definiert hast Du BEIDE Module in FHEM auf ttyAMA0 (ob das so richtig ist kann ich nicht beurteilen, da ich nur mit USBs arbeite)
- der RPi zeigt Dir nur eine Schnittstelle ttyAMA0
Wenn ich das alles so richtig zusammengefasst habe, ist doch die erste Frage, ob das stapeln der Platinen überhaupt funktionieren kann.
Wenn ja, gibt es dann 1 oder 2 serielle Schnittstellen, wenn die Hardware richtig erkannt und der RPi richtig konfiguriert wurde ?
Das hätte dann aber weniger mit FHEM direkt zu tun, sondern wäre ein Hardwarethema.
Lange Rede kurzer Sinn: Liege ich richtig, dann solltest Du das Thema anpassen u. ggfs. in einem anderen Unterforum stellen, denn bei Deinem Thementitel denkt man eher an 2 USB-Sticks als an 2 gestapelte Transceiver.
Grüße Markus