Autor Thema: Einbindung von "Centronic" Fernbedienungen in FHEM  (Gelesen 35904 mal)

Offline Bidi81

  • New Member
  • *
  • Beiträge: 19
Antw:Einbindung von "Centronic" Fernbedienungen in FHEM
« Antwort #165 am: 25 Mai 2019, 09:20:37 »
Der Master Sender ist immer der Erste Sender der Eingelernt wird. An den Funkempfängern. Er ist egal ob USB-Sick oder Handsender.

Einlernen
<STX>0000000002010b07300000001737b021010100801d<ETX>

<STX>0000000002010b07310000001737b021010100811b<ETX>

<STX>0000000002010b07320000001737b021010100009b<ETX>

<STX>0000000002010b07330000001737b021010100801a<ETX>

<STX>0000000002010b07340000001737b0210101008118<ETX>

<STX>0000000002010b07350000001737b0210101000098<ETX>


Auf

<STX>0000000002010b073c0000001737b0210101002071<ETX>

<STX>0000000002010b073d0000001737b0210101000090<ETX>

Halt

<STX>0000000002010b073e0000001737b021010100107f<ETX>

<STX>0000000002010b073f0000001737b021010100008e<ETX>

Ab

<STX>0000000002010b07400000001737b021010100404d<ETX>

<STX>0000000002010b07410000001737b021010100008c<ETX>

Das <STX> ist in HEX 02 und <ETX> in HEX ist 03

Die Codes können nur einmal Benutzt werden!

Im Anhang befindet sich eine Datei für Docklight V2.2 damit kann man es Einlernen und einmal Auf ,Halt und Ab fahren.
Denn Empfänger in Lernbereitschaft Bringen auf Einlernen Drücken und Fertig. Dann einmal auf, AUF dann auf HALT dann noch AB und fertig. Jetzt muss dann jeder Code angepasst werden. um 1 erhöhen und Checksum neu berechnen.
Wie das Geht habt schon in einen Vorderen Beitrag schon erwähnt.

Gruß Bidi81
« Letzte Änderung: 26 Mai 2019, 15:45:49 von Bidi81 »

Offline ole1986

  • New Member
  • *
  • Beiträge: 11
Antw:Einbindung von "Centronic" Fernbedienungen in FHEM
« Antwort #166 am: 25 Mai 2019, 23:24:56 »
Hier mal ein Auszug wie sich Mehrkanal Funkfernbedienung und  Wandsender https://www.enobi.de/pdf/anleitungen/becker-wandsender-ec311-anleitung.pdf (1 Kanal)  für den SELBEN Rolladen bereits unterscheiden
(Aufgezeichnet über Docklight mit Centronic USB Stick).

Rolladen Abwärts - SELBER ROLLADEN:

Wandsender (1 Kanal):          <STX>0000000002010B000000000080DFC0210000004075<ETX><STX>0000000002010B000000000080DFC02100000000B5<ETX>
Funkfernbedienung (Mehrere Kanäle):  <STX>0000000002010B00000000008157D02102020048C2<ETX><STX>0000000002010B00000000008157D0210202000802<ETX>

Meine Theorie der Zusammensetzung des Codes:
(Code aus der Funkfernbedienung von oben)

- [Position 0] <STX> "\x02"
- [Position 1-24] "0000000002010B0000000000" immer gleich, wie bei Bidi81 und  dbox2user
- [Position 25-30] "8157D0" - Abhängig vom Sender / Aber auch Kanal
- [Position 31-32] "21" unbekannt / immer gleich (wie bei Bidi81 und  dbox2user)
- [Position 33-34] "02" unbekannt / Unterschiede bei Wandsender ("00") und Mehrkanal Fernbedienung ("02")
- [Position 35-36] "02" ist der ausgewählte Kanal bei Verwendung der Fernbedienung - "0F" für alle Kanäle (siehe unten)
- [Position 37-38] "00" unbekannt
- [Position 39-40] "40" Befehl - 10 = HALT, 20 = AUF, 40 = AB, 80 = Anlernen (ggf. 00 = Knopf release) / 81 = nach 3 sec halten, 82 = nach 6 sec halten, 83 = nach 10 sek halten
- [Position 41-42]  "C2" checksum
- [Position 43] <ETX> "\x03"

In Position 39-40 (also die Befehle) sind mir noch Kombinationen aus z.b. 48 unbekannt, welche bisher nur von meiner Mehrkanal Fernbedienung geschickt wurde.

Ich habe noch fragen zu deinen Codes:

- Woher kommt die Info das in Position 16-18 eine fortlaufende nummer stehen muss? würde über ein CentronicControl gesniffed
- woher kommt "1737b0" aus Position 25-30? Das ist die CentronicControl laut Aussage von Bidi81
- Kannst du mir ggf. die Einlern codes genauer erklären? Ich vermute nämlich das "801d" geschickt wird, aber "811b" vom Rolladen zurück kommt - Dem ist nicht so. 81 wird geschickt nach 3 sek. halten.

UPDATED: Positionen und Fragen teilweise selbst beantwortet
« Letzte Änderung: 27 Mai 2019, 00:01:54 von ole1986 »

Offline Bidi81

  • New Member
  • *
  • Beiträge: 19
Antw:Einbindung von "Centronic" Fernbedienungen in FHEM
« Antwort #167 am: 26 Mai 2019, 14:50:34 »
Sie Codes Stammen von einer B-tronic CentralControl CC31.

Wo Ich mit gelesen habe.

Deine Position40-42 ist nicht ganz richtig es muss 41-42 sein das ist der Checksum.
Die Position 39-40 ist der Fahrbefehl. 20 für AUF ,40 für AB und 10 für Halt und 80 für Einlernen.
Dann gibt es noch 21 für 3sec Tasten Drück, 22 für 6sec Tasten Druck und 23 für 10sec Tasten Druck. Und Analog dazu Für 10,40,80
Gruß Bidi81

Offline ole1986

  • New Member
  • *
  • Beiträge: 11
Antw:Einbindung von "Centronic" Fernbedienungen in FHEM
« Antwort #168 am: 26 Mai 2019, 19:23:38 »
Die Positionen sind mir auch heute im Laufe des Tages aufgefallen (besonders das mit der Checksum).

Ich habe es bereits in meinem python script entsprechend angepasst

Dein Hinweis auf die Tasten für die Dauer des Drückers finde ich genial. Falls nun nämlich die laufenden Nummern irgendwann überlaufen, könnte man als workaround vorher die Tasten 81 und  83 simulieren (für "Sender löschen") und ihn anschließend erneut einlernen. Da dürfte doch die Zahlen dan zurück setzen, oder?

Offline ole1986

  • New Member
  • *
  • Beiträge: 11
Antw:Einbindung von "Centronic" Fernbedienungen in FHEM
« Antwort #169 am: 26 Mai 2019, 22:00:20 »
Centronic Stick - python script

Anbei meine erste Version zum steuern von z.B. Rolläden über den Centronic USB Stick.
Das Script befindet sich im Anhang

./centronic-stick.py [-hlit] [--checksum <code>] [--device <device>] [--send <UP|DOWN|HALT|PAIR> --channel <channel>]

This script is used send command codes to CC11/CC51 compatible receivers through the CentronicControl USB Stick
It is necessary to own such USB device and to PAIR it first, before using commands like UP and DOWN

                 -h: shows this help
                 -l: listen on the centronic USB device to fetch the codes
                 -i: increment the number (possible workaround for already consumed numbers)
                 -t: test mode - no codes will be send and no numbers consumed / works only with '--send'
   --send <command>: submit a completely generated code for UP/DOWN/HALT/PAIR commands / requires '--channel'
  --device <device>: set the device if it differs from the default
--channel <channel>: define the channel (1-15) being used for '--send'
  --checksum <code>: add a checksum to the given 40 char code and output (without STX, ETX)

Version 0.1 - Author: ole1986

https://github.com/ole1986/centronic-py
« Letzte Änderung: 29 Juni 2019, 12:33:20 von ole1986 »
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Leeloo_Dallas

  • Full Member
  • ***
  • Beiträge: 247
  • -- Multipass --
Antw:Einbindung von "Centronic" Fernbedienungen in FHEM
« Antwort #170 am: 18 Juni 2019, 12:34:18 »
Cool, Danke das Ihr dran bleibt.

Gruß
Leeloo
Greatz Leeloo

Offline dbox2user

  • Full Member
  • ***
  • Beiträge: 132
Antw:Einbindung von "Centronic" Fernbedienungen in FHEM
« Antwort #171 am: 20 Juni 2019, 16:22:20 »
Ich schließe mich da zu 100% Leeloo an ...
Super dass ihr dran bleibt!!

Vielleicht entsteht daraus ja wirklich noch ein Fhem Modul das den Stick steuern kann.

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;

Offline ole1986

  • New Member
  • *
  • Beiträge: 11
Antw:Einbindung von "Centronic" Fernbedienungen in FHEM
« Antwort #172 am: 26 Juni 2019, 22:16:26 »
Ich bin kein großer Fan von perl  :o

Für das Regeln der Rolläden kann auf jedenfall das Skript bereits verwendet werden.
Ich benutze das mit Google Assistant  ::)

Ich habe den Quellcode auf github.com und aktualisiere dort nach Lust und laune.
Heute habe ich die intermediate positionen gepushed. Also "DOWN2" und "UP2" welche natürlich erst einprogrammiert werden mussten.

Das einprogrammieren der Zwischenpositionen I + II ist recht simpel und kann der Montageanleitung entnommen werden. Ich benutze Sie als Sonnenschutz :-)

Hier der Link: https://github.com/ole1986/centronic-py

Auch bevorzuge ich das behandeln von Issues über github.com. Da sind meine Reaktionszeiten auch geringer.

Gruß
Ole
« Letzte Änderung: 26 Juni 2019, 22:18:39 von ole1986 »
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline michael27983

  • New Member
  • *
  • Beiträge: 47
    • Haussteuerung und andere Projekte
Antw:Einbindung von "Centronic" Fernbedienungen in FHEM
« Antwort #173 am: 05 Juli 2019, 14:11:05 »
Ist man hier schon weiter? Ich habe zwei NanoCuls

Seit heute 2 Dachfenster mit Roto Solar Rollo. Ich würde diesen nun gerne in fhem oder iobroker integrieren.
Was muss man dafür machen?

Offline pc1246

  • Hero Member
  • *****
  • Beiträge: 2713
  • Kein support per PN oder eMail
Antw:Einbindung von "Centronic" Fernbedienungen in FHEM
« Antwort #174 am: 05 Juli 2019, 18:16:28 »
Ist man hier schon weiter? Ich habe zwei NanoCuls

Seit heute 2 Dachfenster mit Roto Solar Rollo. Ich würde diesen nun gerne in fhem oder iobroker integrieren.
Was muss man dafür machen?
Bist Du Dir sicher, dass Du hier richtig bist. Welches "Protokoll" nutzt Roto denn? Ausser 868Mhz habe ich nichts gefunden!
Gruss Christoph
RasPi2
Onkyo_AVR;3 Enigma2; SB_Server ; SB_Player; HM-USB mit 15 HM-CC-RT-DN, 3 HM_WDS10_TH_O, 6 HM-Sec-SCo, 4 HM-Sec-MDIR-2, 1 HM-Sen-MDIR-O-2, 8 Ferion 5000 OW ; PhilipsTV; add-on board mit 6 IT-Steckdosen;3 harmony hub; Jeelink mit 9 PCA301; Somfy; S7-300; 3 LGW; KS300; ESA2000; HUE

Offline dbox2user

  • Full Member
  • ***
  • Beiträge: 132
Antw:Einbindung von "Centronic" Fernbedienungen in FHEM
« Antwort #175 am: 05 Juli 2019, 21:24:37 »
Hallo Allerseits!

Ich kam jetzt endlich dazu das Programm von Ole mit meinem Becker-USB-Stick zu testen.
Was soll ich sagen ...    DANKE Ole !!! ;D ;D ;D

Es funktioniert einfach so wie es soll.
Ich konnte ohne weitere Anpassung meinen Stick verwenden, die Motore anlernen und jetzt auch steuern.

Falls es auch von anderen (wie auch ich selbst) noch nicht so ganz klar verstanden wurde --> mit dem Becker USB Stick und dem Programm von Ole können die Becker Centronic Motore problemlos gesteuert werden.

Also ärgert euch nicht länger mit Signalduinos oder sonstiges herum. Kauft euch den "Becker Centronic Stick V2" für insgesamt ca 54Euro, habt dann wieder Zeit für andere Projekte und freut euch wie die Rollos hoch und runter fahren.  ;)

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;

Offline dbox2user

  • Full Member
  • ***
  • Beiträge: 132
Antw:Einbindung von "Centronic" Fernbedienungen in FHEM
« Antwort #176 am: 05 Juli 2019, 21:59:13 »
nachdem ich etwas herumspielen musste,  bis ich das Programm über Fhem starten konnte, hier die entsprechenden defines.
Vielleicht spart sich der eine oder andere dadurch ein paar Minuten.

define Rollos_Suedseite dummy
attr Rollos_Suedseite room Becker
attr Rollos_Suedseite webCmd UP:HALT:DOWN

define Rollos_sued_up notify Rollos_Suedseite:UP {system("./centronic-stick.py --send UP --channel 15 &")}
attr Rollos_sued_up room Becker

define Rollos_sued_down notify Rollos_Suedseite:DOWN {system("./centronic-stick.py --send DOWN --channel 15 &")}
attr Rollos_sued_down room Becker

define Rollos_sued_halt notify Rollos_Suedseite:HALT {system("./centronic-stick.py --send HALT --channel 15 &")}
attr Rollos_sued_halt room Becker

Die Datei "centronic-stick.py" liegt bei mir im Order "Fhem", deshalb der kurze Pfad.

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;

Offline mwu406

  • Newbie
  • Beiträge: 2
Antw:Einbindung von "Centronic" Fernbedienungen in FHEM
« Antwort #177 am: 12 Juli 2019, 20:08:28 »
Hallo,

super Projekt, ich stehe auch vor dem Problem meine Rotofenster noch per FHEM öffnen zu wollen.

Kann jemand die benötigten Schritte zum einlernen des USB-Sticks noch etwas ausführlicher beschreiben, an welchem Gerät was wann zu machen ist?

Das wäre sehr hilfreich.

Danke.

Gruß
Martin

Offline MarNei

  • New Member
  • *
  • Beiträge: 8
Antw:Einbindung von "Centronic" Fernbedienungen in FHEM
« Antwort #178 am: 13 Juli 2019, 10:38:37 »
Hallo,

Ole, vielen Dank für Deine Arbeit. Ich kann jetzt endlich meine Roto-Rollläden hoch und runter fahren! Da habe ich lange drauf gewartet.

Martin, im Grunde genommen ist es erschreckend einfach:
1. USB Stick kaufen
2. USB Stick einstecken (bei mir am Raspberry Pi) - Ich musste den Pi neu starten, damit er den Stick auch unter /dev/serial/by-id gelistet hat
3. Auf die Gitlab-Seite gehen, die Ole unten verlinkt hat und den Erklärungen dort folgen. Das ist alles sehr gut beschrieben und funktioniert genau so. Also...
3a. Über das install-Skript die notwendigen Module installieren
3b. Das Python-Skript runterladen
3c. Ich habe den PAIR Modus an meinem Becker Handsender EC541 II durch Drücken der kleinen Taste seitlich gestartet. Dann zweimal den PAIR-Befehl über das Python-Skript absetzen und das PAIR ist durch. Danach kann man den Rollladen hoch- und runterfahren.

Danke auch an Christian für die Fhem-Defines! Ich habe das Skript ebenfalls im fhem-Verzeichnis abgelegt, musste für das .py und .num den Owner auf fhem ändern. Die Pair-Befehle habe ich direkt aus Fhem abgesetzt mit

({system ("./centronic-stick.py --send PAIR --channel 1")}
Jetzt muss ich mir nur noch überlegen, wie ich über die Dauer die Position des Rollos bestimmen kann für Zwischenpositionen...


Offline dbox2user

  • Full Member
  • ***
  • Beiträge: 132
Antw:Einbindung von "Centronic" Fernbedienungen in FHEM
« Antwort #179 am: 13 Juli 2019, 17:05:39 »


Jetzt muss ich mir nur noch überlegen, wie ich über die Dauer die Position des Rollos bestimmen kann für Zwischenpositionen...

Für die Zwischenpositionen hat Ole ja extra "UP2" und "Down2" implementiert.
Die Zwischenposition muss natürlich vorher im Rollomotor angelernt werden (z.B.mit der Originalfernbedienung).
Auf der Oroginalfernbedienung werden die Zwischenpositionen durch Doppeldruck auf die UP-/Down Taste angefahren.

Falls es das beim Roto nicht geben sollte, kannst Du meine Lösung übernehmen.

Nachdem ich noch keine Zwischenpositionen eingelernt habe fahre ich eine Position an, die ich vorher per Messung der Fahrzeit bestimmt hab.
In meinem Fall sind das 14 Sekunden. Natürlich mit der Annahme, dass die Rollos vorher komplett oben sind.

Meine Programmierung ist nicht hochprofessionell, aber funktioniert und ist für mich verständlich.

beim Dummy habe ich noch um ein "HALB" ergänzt:
attr Rollos_Suedseite webCmd UP:HALT:DOWN:HALB
Zusätzlich gibt es noch ein weiteres notify, das erst das "DOWN" Kommando gibt und nach 14 Sekunden ein "HALT" Kommando:
define Rollos_sued_halb notify Rollos_Suedseite:HALB {system("./centronic-stick.py --send DOWN --channel 15 &")} ;;define timer14s at +00:00:14 set Rollos_Suedseite HALT


Aber Achtung, diese Schreibweise muss so als "Raw definition" bzw direkt in die Fhem Config eingegeben werden.
Im fertigen Notify werden somit aus den 2 Semikolon  nur noch 1 Semikolon. (bei ....       ;;define timer14s   .....)

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;

 

decade-submarginal