Hallo zusammen,
ich habe den Vatertag genutzt, und der CULFW das Senden von Befehlen für Somfy/Simu Rolladenmotoren beigebracht.
Der Code ist noch sehr rudimentär, funktioniert aber bereits bei mir :-)
Biser kann man die Befehle nur über den raw-Modus absenden, ich entwickele noch ein FHEM-Modul dazu.
Somfy verwendet einen rollierenden Code und "Verschlüsselung" (XOR), um sich vor Angriffen zu schützen.
Der Code ist ein linearer Counter, und jeder Kanal einer Fernbedienung hat seinen eigenen.
Wenn ich also über den CUL Somfy-Befehle absende, und dabei den Counter erhöhe,
kommt irgendwann meine normale Fernbedienung aus dem Tritt.
Da muss man dann solange auf der FB drücken, bis deren rolling code dort angekommen ist, wo der Empfänger ihn erwartet.
Die Lösung ist simpel, und so plane ich auch mein FHEM-Modul: ich definiere einen neuen (virtuellen) Fernbedienungskanal,
lerne den Empfänger an diesen an, und FHEM kann dann selbst den rolling code verwalten.
Damit komme ich meiner bisherigen Fernbedienung nicht in die Quere.
Den Code fürs Senden habe ich analog zu Intertechno gehalten, und auf das "Y" gelegt, das war noch frei.
Code ist getrennt über "#ifdef HAS_SOMFY".
Da ich selbst nur 2 SCC zum testen habe, ist auch nur dort der Code zum Aufruf bei "Y" enthalten.
Wer mutig ist, kann das aber gern zu seiner Board-Definition hinzufügen.
Im Anhang ist der Patch basierend auf der letzten SVN-Version (Revision 416).
Commandref & CHANGED sind ebenfalls aktualisiert und im patch.
War das Vorgehen hier richtig, oder sollte ich sowas lieber auf der CUL-Fans Mailingliste posten?
Viele Grüße,
Thomas
PS: Ich würde mich sehr freuen, wenn jemand mit Somy oder Simu Rolladenmotoren das mal testen könnte.
Dimmer und Schalter müssten schon funktioneren, eventuell muss man noch ein extra Kommando implementieren.
Sobald mein FHEM-Modul dazu fertig ist, poste ich im entsprechenden Board.