Hi Thorsten,
Zu CMSA/CD hab ich noch nix gemacht, in der Ursprünglichen Protokollbeschreibung finde auch dazu auch nix. Daher wird es hier wohl auf den Versuch ankommen wenn es soweit ist. Bis dahin ignoriere ich das erstmal.
Jedenfalls schalten die Homematic-Module RX und TX um, da der /RE-Pin vom Transceiver fest auf Masse liegt. Somit kann der Empfänger vom Sender Bauartbedingt nicht "mitlauschen"
Daher wir das hier irgendwie anders bewerkstelligt oder komplett ignoriert.
Zitat> Nun aber zu Deiner Protokollbeschreibung
Naja, ist ja nicht von mir. Ich habe "nur" die Erweiterung zu Homematic-Wired dokumentiert :) Das Original ist übgigens hier: http://www.elv-downloads.de/downloads/programme/HS485/HS485_Protokoll.pdf (//www.elv-downloads.de/downloads/programme/HS485/HS485_Protokoll.pdf)
Zitat> Was mir aber fehlt ist die Möglichkeit Szenen zu definieren.
Szenen würden über Conditions im Modul Definiert.
Das würde dann z.B. auch über eine Direktverknüpfung bzw. über bestimmte Register funktionieren.
Das EEprom der Module kann Prinzipiell von außen über den Bus programmiert/konfiguriert werden.
Darüber kann dann auch das Verhalten eingestellt werden.
Z.B. Modul empfängt:
- 1. Tastendruck -> Ein halbe Helligkeit,
- 2. Tastendruck -> volle Helligkeit,
- 3. Tastendruck -> aus
Die entsprechende Programmierung wird dann in der Firmware des Modul vorbereitet und durch bestimmte Register aktiviert bzw. Parametrisiert.
PC-Seitig haben die Module umfangreiche XML Beschreibungen die die Register dokumentieren welche zur Parametrisierung benutzt werden. Diese XML-Dateien werden dann von der Konfigurationssoftware ausgewertet. Damit können die Register dann recht einfach gesetzt werden.
So ähnlich habe ich das für FHEM auch vor. FHEM muss dann also die Register jedes Modules kennen. Dazu gibt es dann für jedes Modul eine entsprechende Konfigurationsdatei.
Bei Direktverknüpfungen, auch Pairing, wird in einem Empfänger die zugeordnete Senderadresse gespeichert.
Damit weiß der Aktor auf welche Senderbefehle er reagieren muss. Dazu braucht es dann keine Zentrale. Ebenso wird dabei festgelegt welche Aktion der Aktor dann Auszuführen hat.
Um auf deine Szene wieder zu sprechen zu kommen: Man kann einen Schalter (Sender) natürlich auch zu mehreren Aktoren (Empfänger) verknüpfen. Mit Bedingungen wie oben skiziert könnte man dann auch Szenen ohne FHEM schalten.
Mit Hombrew Modulen meine ich einfach eigene Module die es (noch) nicht zu kaufen gibt. Ich vermisse z.B. noch einen RGB-LED Dimmer. Auch Sensoren wie ein Temperatursensor usw. Fehlen noch. Also im Prinzip Module die du bereits gebaut hast, eben Softwareseitig mit dem HM485 Protokoll.
Ich habe damit schon ein bisschen auf Basis eines Atmega 16 bzw. 32 experimentiert.
Zumindest das Empfangen und Senden der Frames ist da schon implementiert. Das kann ich dir sicher mal zukommen lassen. Ist aber in Bascom geschrieben. Sollte sich aber einfach nach C portieren lassen.
ZitatAchja, eine Kleinigkeit fehlt noch in der Beschreibung. Beim Maskieren ("Escapen" brrr) von 0xFD im Datenstrom durch 0xFC 0x7D wird glaube ich nicht beschrieben wie dann das 0xFC zu maskieren ist, vermutlich durch 0xFC 0x7C.
0xFC muss natürlich nicht maskiert werden wenn es als Escape-Zeichen benutz wird. Wenn 0xFC in den Daten vorkommt, wird es ganz "normal" maskiert.
Zitatvermutlich durch 0xFC 0x7C.
Korrekt.
Gruß
Dirk