Einbindung von "Centronic" Fernbedienungen in FHEM

Begonnen von Leeloo_Dallas, 24 Mai 2016, 14:40:31

Vorheriges Thema - Nächstes Thema

Leeloo_Dallas

#150
Hallo zusammen,

vielleicht hilft das hier weiter:

https://wiki.wireshark.org/CaptureSetup/USB
https://www.youtube.com/watch?v=GdvmsWnZkyc

Euch allen einen guten Rutsch ins neue Jahr.

Gruß
Leeloo
Greatz Leeloo

direct1980

Hej sehr cool
Die gesteckten usb sticks findest du unter /dev/serial/by-id/
Wenn du sudo screen <verzeichnis und name des sticks> solltest du sehen was sich abspielt. Es kann nur sein das der stick durch das screen blockiert wird und die Applikation nicht mehr zugreifen kann. Eine Alternative ist tio (sudo apt-get tio) und ebenfalls mit dem stick starten

Ich werde mich mal schlau machen was mir sonst einfällt.

Fällt dir irgendwas in lesbaren dateien auf (configs, ...)

Lg Thomas

Drohne

Hallo David,

Bin auch ein ,,stolzer" Besitzer einen cc51. Ich bin aber ziemlich enttäuscht wie wenig Becker daraus gemacht hat. Mal sehen wie weit es sich noch aufbohren lässt. Du schreibst Du wärst ,,drin". Kannst Du mir einen Tipp geben wie Du ,,rein" gekommen bist. Ich scheitere noch am unbekannten login/password.
Danke
Gruß Drohne

Alexzei

Hallo,
ich denke das wird nicht leicht nachzumachen.
ich habe die Signale direkt von der Platine  der Fernbedienung mit PC audio line in aufgenommen.
Bild: https://ibb.co/jrcBqH
Beim Tastendruck wird jedesmal 2 Datenpakete versendet, wobei jedes Paket wiederholt gesendet wird.
Hier bin ich mir sicher  dass hi and lo nicht 1  und 0, sondern die Phase also nach dem Synchro wird die Flanke jede 0,8333ms (1200 Hz ) abgetastet. Steigende Flanke= 1 fallende= 0 oder andersrum.
https://ibb.co/kYT4cx


Hier die 2 mal Tastendruck
P1P2P3P4
10011100100100101010101011110101
11110111011110000110100010110100
01010010001001001110110000011011
01100101100000111010000110010111
01101100000001011100110111110011
00110110011100100111110000001110
11000000010010001011100000110111
00111101101010111001000111011111


das kann man nachbauen, aber bei jedem neuen Tastendruck sieht das Paket anderes aus. Ich glaube hier wird Rollingcode eingesetzt, z.B. https://de.wikipedia.org/wiki/Keeloq.


Eventuell kann man den Code auslesen wenn die Fernbedienung in Lernmodus versetzt wird, aber, wo steckt der Code in den gesendeten bytes und welches Algorithmus soll zur Verschlüsselung eingesetzt werden.


Alternativ muss man 256 oder ach mehr mögliche Kombinationen x 3 Tasten x Rolladen +Fenser abspeichern. Was eine menge von daten wäre.

wiedsche

Da will ich mich hier auch mal als Besitzer von einer CC51 und B-Tronic Rolläden und 2 Funkempfängern outen.

Ich hatte dazu schon mal hier was gefragt: https://forum.fhem.de/index.php/topic,28110.30.html

wollte mit einem CUL b-tronic steuern... aber wie ihr auch festgestellt habt, gibt es da einen rolling code und an dem bin ich bisher gescheitert. Hatte aber auch noch nicht die Nerven den irgendwie zu decodieren - denke aber, dass es nicht / nicht gerade einfach gehen wird - denn genau für Sicherheit ist er ja da.

Ein Vorschlag im anderen Thread war, über das Webfrontend / API von der CC51 zu gehen... Prinzipiell sollte das gehen. Ich hab mal reingeschaut. Das Frontend von Becker arbeitet mit WebRPC über websockets. Sonderlich schön war das jetzt auf den ersten blick aber auch nicht :(

Das ist erstmal mein Status dazu.

Alexzei

Ich hab inzwischen mein Problem mit der Kopplung von Roto Dachfenster und Rolladen an das Homematic IP gelöst, es fehlt nur noch die Unterstützung von Homematic IP App für das 8 Kanal Schaltplatine die für Q2 2018 versprochen wurde.
Ich nutze für die Steuerung becker timecontrol tc4410-ii welche dann über Arduino Nano bedient wird. Das Programm von Arduino liest  Schalter von Homematic IP Schaltplatine. Jedes Schalter wird auf ziel Fenster bzw. Rollade gemapt.  Ändert der Zustand des Homematic Schalters dann wird entsprechender Kanal der Becker Fernbedienung ausgewählt, dafür wird Kanal Taste (mehrmals) "angeklickt" über Arduino Ausgang. Aktueller Kanal der Fernbedienung wird über Leds ermittelt welche zu Arduino Eingängen verbunden sind.
Wenn gesuchter Kanal ausgewählt wurde dann wird je nach Logik der Befehl ausgeführt, Nach Oben, Stop oder nach Unten.
Die Logik hier ist etwas kompliziert, da der homematic Schalter nur an oder ausgeschaltet werden kann. Hier wird  je nach aktuellen Zustand vom Fenster bzw. Rollade unterschiedlich gehandelt.
Z. B. wenn Fenster zu ist und der homematic Schalter angeschaltet wird, dann wird bei der kurzen Einschaltdauer (<1,5s) die Lüftungsstellung angesteuert (Doppelklick nach oben) ansonsten wenn es länger als 1,5s an bleibt wird Kommando öffnen (Taste nach oben) gesendet. Der Zustand vom Fenster ändert sich dann für 20s vom Geschlossen zu Öffnen. Sollte hier der Schalter kurz (<1,5s) ausgeschaltet werden dann wird es als Stop interpretiert. Der Zustand wechselt zu Geöffnet. Der homematic Schalter bleibt an. So kann ich mit dem Schalter gleich sehen ob Fenster offen ist oder zu. Wenn der Schalter ausgeschaltet wird, dann wird das Fenster geschlossen. Sollte während Schließen der Schalter wieder angeschaltet werden, dann wird es entweder als Stop oder als Öffnen interpretiert, abhängig von der Zeitdauer des Schließen.
Die timecontrol tc4410-ii kann 10 Kanäle steuern, mit meine Lösung kann ich nur 8 nutzen da die Schaltplatine nur 8 Schalter hat, und damit sind auch alle Pins von arduino nano belegt (8  Led, 4 Tasten, 8 Homematic Schalter).  Beide Platinen passen pass-genau in die Batterien-Schacht. Die Arduino und homematic Platinen werden mit USB Netzteil 5V versorgt, tc4410-ii bekommt 3,3V von Arduino, da brauche ich keine Batterien. Es gibt nur ein USB Kabel von der Fernbedienung zum Netzteil. Dei Fernbedienung kein weiterhin von Hand gesteuert werden, allerdings danach wird der Fensterzustand im Programm zu dem realen Zustand nicht mehr passen. Aber mit zusätzlichen homematic Fensterkontakt kann man die Schalterstellung in der homematic Automatisierung korrigieren.

cyber68

#156
Hallo,

Ich habe auch vor 2 Jahren eine Markise gekauft die einen Becker Rohrantrieb hat. Damals wusste ich noch nicht das Becker proprietärer Kram ist.
Ich benutze Everhome und dort lässt sich Becker mit dem Centronic System nicht einbinden. Ein Dutzend anderer Rohrantriebe sehr wohl! Den Rohrantrieb tauschen war aber keine Option.

Das mit dem revers Engineering des Protokolls ist mir zu langwierig und der USB-Stick von Becker ist auch nicht ganz billig und hat keine Erfolgsgarantie.

Ich habe dann erfolgreich diesen Weg beschritten:
-Kauf einer 2 kanaligen Centronic Schlüsselbund Fernbedienung.
-Kauf eines Microcontroller Boards
https://www.amazon.de/AZDelivery-NodeMCU-ESP8266-ESP-12E-Development/dp/B06Y1LZLLY/ref=sr_1_5?ie=UTF8&qid=1527781906&sr=8-5&keywords=esp8266%2F&dpID=51jnpOqXkbL&preST=_SY300_QL70_&dpSrc=srch

- Anpassung eines vorhandenen Programm zur Simulierung von Tastendrücken.
- Es werden 3 Verbindungen von dem ESP8266 Board auf die Fernbedienung hergestellt. GND und die 2 programmierten I/O Ports

Der Controller simuliert eine WEMO Steckdose und kann über Alexa mit "Alexa Markise aus" die Markise fährt aus oder mit "Alexa Markise ein" die Markise fährt ein, gesteuert werden.
Der Stop-Befehl der Fernbedienung kann nicht gesendet werden. Die simulierte Steckdose kennt nur EIN/AUS.

Die notwendigen Zutaten findet man schnell im Netz. Kosten insgesamt 50€ und vor allem mit Erfolgsgarantie.

Das Beschriebene dient nur als Anregung. Wer den Sketch für den Controller haben möchte kann mich anschreiben.

Gruß
Cyber68


Edit: Sorry ich sehe gerade ich bin Off Topic aber eine WiFi Anbindung FHEM => ESP6266 sollte auch gehen.

wulfmain

Super - könntest du mir den Sketch schicken?
Raspberry Pi mit FHEM & Tablet UI, CUL, MySensors, Homematic-Komponenten, AVM-Komponenten, Onkyo AV Receiver, VuUltimo 4k, Volumio, Synology ...

wulfmain

Raspberry Pi mit FHEM & Tablet UI, CUL, MySensors, Homematic-Komponenten, AVM-Komponenten, Onkyo AV Receiver, VuUltimo 4k, Volumio, Synology ...

Bidi81

#159
Hallo.
Hab mal wieder Zeit gehabt. Und hab es jetzt mal Geschaft mit den Becker USB Centronics Stick den Funkmotor an zu Steuern und einzulernen.
Hab mal im Anhang die Codes was man dazu braucht. Die gehen nur einmal.
Nach jeden Senden er Codes muss man die Codes um ein erhöhen.

Erster Tasten Druck    0000000002010b07f10000001737b02106010020b7 Auf   
                                0000000002010b07f20000001737b02106010021b5 Auf 3s      Das kann man auch weg lassen das Braucht man nur bei Jalousie
                                0000000002010b07f30000001737b02106010000d5 Auf Los
Zweiter Tasten Druck 0000000002010b07f40000001737b02106010020b4 Auf
                                0000000002010b07f50000001737b02106010021b2 Auf 3s
                                0000000002010b07f60000001737b02106010000d2 Auf Los
3. Tasten Druck         0000000002010b07f70000001737b02106010020b1 Auf
                               0000000002010b07f80000001737b02106010021af Auf 3s
                               0000000002010b07f90000001737b02106010010bf Auf Los
4. Tasten Druck        0000000002010b07fa0000001737b02106010000ce Auf
                              0000000002010b07fb0000001737b02106010010bd Auf 3s
                             0000000002010b07fc0000001737b02106010000cc Auf Los

Das was Ich Fett gemacht hab fängt bei 000 an.

Mit Gruß Bidi81




dbox2user

Hallo,
schön wieder was von Bidi81 zu hören!

Was Du schreibst klingt doch sehr gut !!! :)
Verstehe ich das richtig, dass man nun mit dem Becker-USB-Stick am Funkmotor anlernen und dann Fahrbefehle schicken kann?

Wenn das noch jemand in einem Modul zusammenfassen kann wäre der Drops gelutscht,oder?

Gruß,
Christian
Fhem 5.8 auf Raspberry Pi2; 1 Wire OWSERVER mit DS9490R und OWX DS2480;AVR-NET-IO mit 1Wire;  LOGO8; Kostalpiko; Selbstbau CUL; Arduino mit cFirmata; Denon AVR; Samsung TV; Fritzbox;

Bidi81

Ja bis jetzt zu mindestens .
Weil der Becker Stick den Rolling Code macht.
Jetzt weis man zu mindestens was zum Stick geschickt wird.
Die Code was da Stehen kann man auch ein zweites mal benutzten wenn man den Empfänger Spannungslos macht gehen die Code noch mal.
Lg Bidi81

ole1986

Hallo,

ich bin neu hier und finde das Thema super interessant.
Kann mir jemand die Frage beantworten, ob es erforderlich ist den Centronic Stick vorher anzulernen?

Was ich ggf. zu diesem Them beitragen kann im Bezug auf Becker Rolläden

* Während der Montage erfolgt das anlernen eines Mastersenders. Dieser kann entweder die Fernbedienung sein oder (wie in meinem Fall) für jeden Rolladen die individuellen Funkschalter (mit den 3 Knöpfen + Anlerntaste auf der Rückseite)
* die Rolläden sind nachdem sie einmal Spannungslos gemacht wurden für ca. 3 min "anlernfähig"
* Anstatt den Rolladen vom Strom zu nehmen, kann über den Mastersender, welche zuvor angelernt wurde,  ein weitere sender angelernt werden (z.B. die Fernbedienung)
* Laut Aussage der technischen Hotline, handelt es sich bei dem rolling code für Centronic EC311 um eine 64bit Verschlüsselung


Bidi81

Hallo

Ja der Centronic Stick wird wie jeder andrer Funk Sender eingelernt. Laut Becker Beschreibung muss zu vor der Master Sender eingelernt werden. Es geht auch ohne. Man muss nur die Richten befehle sicken
in der Richtigen reifen folge.

Bidi81

ole1986

Hi Bidi81,

Und was sind genau die richtigen Befehle und die richtige Reihenfolge.
Kannst du mir dazu Beispiele liefern?

Gruß Ole