00_TCM V23338 - V23436 - Erweiterungen und Überarbeitungen

Begonnen von klaus.schauer, 13 Dezember 2020, 11:18:29

Vorheriges Thema - Nächstes Thema

klaus.schauer

In dieser Version sind folgende Ergänzungen, Änderungen und Fehlerbereinigungen enthalten:

Die aktuellen Erweiterungen und Überarbeitungen  dienen dazu, mehrere EnOcean-Transceiver in einer Fhem-Installation stabil zu betreiben. Bisher war z. B. ein zuverlässiges Anlernen von insbesondere bidirektionalen Aktoren nicht gewährleistet. Auch wird eine Lösung zum Remotebetrieb von Transceivern vorgeschlagen. So können jetzt Transceiver auch räumlich verteilt platziert, aber dennoch alle gemeinsam in eine zentrale Fhem-Installation eingebunden werden.

Der Einsatz mehrerer Transceiver sollte wohlüberlegt und gut geplant sein. Mit EnOcean-Repeatern lassen sich die üblichen Anforderungen zur Reichweitenerhöhung in Wohnungen deutlich einfacher erfüllen. Interessant ist ein Betrieb von mehreren Transceivern aber bei ausgedehnten Gebäudekomplexen. Auch kann die Funkkanalauslastung im Vergleich zu Einsatz von mehreren Repeatern reduziert werden, wenn in sich abgeschlossene räumliche Zonen gebildet werden. Letztlich kann durch mehrere Transceiver die Anzahl der verfügbaren SenderIDs in Fhem erhöht werden.

1. Innerhalb einer Fhem-Installation mit mehrere EnOcean-Transceiver sendet einer dieser Transceiver die ausgehenden Telegramme. Der Transceiver wird bei der Einrichtung eines EnOcean-Devices diesem zugewiesen (IODev).

2. Einer der aktivierten Transceiver kann für das manuelle Einrichten von EnOcean-Devices gezielt als Sendegerät (IODev) ausgewählt werden. Hierzu ist das Attribut
attr <name> assignIODev yes
zu setzen.

3. Für das Anlernen von Sensoren oder Aktoren ist der gewünschte Transceiver wie gewohnt per
set <name> teach <t/s>
Kommando in den Lernmodus zu versetzen.

4. Eingehende Telegramme werden von allen Transceiver empfangen. Duplikate werden durch die Funktion "fingerprint" ermittelt und unterdrückt. Diese Funktion muss für jeden Transceiver über das Attribut
attr <name> fingerprint on
aktiviert werden. Weiterhin muss das globale Attribut
attr global dupTimeout 0.6
oder größer gesetzt werden. Die Attribute werden automatisch gesetzt, sofern diese nicht bereits manuell definiert wurden.

5. Die verwendeten und freien SenderIDs jedes der Transceiver können über
get <name> getUsedID
und
get <name> getFreeID
abgefragt werden.

6. Die Initialisierung der Transceiver erfolgt jetzt nicht nur beim Fhem-Start oder -Restart, sondern auch beim Reread der Konfiguration und beim Neuaufbau der Verbindung zum Transceiver. Damit werden auch Remoteverbindungen insgesamt stabiler.

7. Die Remote-Anschaltung von Transceivern wurde mit dem Linux Dienst ser2net erprobt. ser2net kann z. B. auf einem Raspberry PI Remote-Server in folgenden Schritten für einen Transceiver am USB-Port /dev/ttyUSB0@57600 (8, 'none', 1) eingerichtet werden:
- Paketbereitstellung
sudo apt install ser2net
- Konfiguration in der Datei: /etc/ser2net.conf
7000:raw:0:/dev/ttyUSB0:57600 8DATABITS NONE 1STOPBIT HANGUP_WHEN_DONE
- Programmstart zum Test
sudo ser2net -n
- Automatisches  booten (Skript /etc/init.d/ser2net in Startprozedur einfügen)
sudo update-rc.d ser2net defaults
- Programm aus dem Autostart nehmen
sudo update-rc.d -f  ser2net remove
Auf dem Remote-Server sollten ser2net und Fhem nicht parallel aktiv sein. Beim Fhem-Start kann  es vorkommen, dass die autocreate-Funktion den Transceiver ungewollt in Fhem einbindet und es dann zu Fehlfunktionen kommt.

Auf dem Zielsystem wird der Transceiver dann mit der IP-Adresse des Remote-Servers per
define TCM_Remote TCM ESP3 <ip1>.<ip2>.<ip3>.<ip4>:7000
eingerichtet.

Die Multi-Transceiver Umgebung ist für ESP3-Transceiver z. B. TCM310 ausgelegt.

ab V23390 / V23395 / V23400:
8. Änderungen der Empfangsprüfung für die eigenen SenderIDs (BaseID, ChipID)

ab V23390 / V23395 / V23400 / V23436:
9. Statistikzähler für empfangene und gesendete Telegramme; siehe Attibut msgCounter

Bitte beachten, dass die neue Version des TCM-Moduls gleichzeitig mit der Aktualisierung des EnOcean-Moduls eingespielt werden muss! Die Umstellung erfolgte an zentralen Routinen insbesondere bei den Anlernfunktionen. Deshalb bitte ich um gründliche Tests. Für mich ist dies wegen fehlenden Testobjekte für SmartAck-Geräte, für das ESP2-Protokoll (TCM120) oder die RS485-Kopplung nur sehr begrenzt möglich. Ich hoffe deshalb auf zahlreiche Unterstützer.