Hallo zusammen, beim analysieren meiner Funk-Steckdosensignale haben ich bereits einige Erkenntnisse gewonnen. Nun habe ich versuche, die Signale mit rc-switch zu versenden, bin dabei aber nicht erfolgreich, leider. Was ich hinbekommen habe: die OBI-Steckdosen der Serie CMI mit der Artikel-Nr. 315606 sind selbstprogrammierend. Nun habe ich auch jemanden gefunden, der offenbar das Signal schonmal per Klinke-Eingang belauscht und dekodiert hat - von seinen Steckdosen bzw. seiner Fernbedienung. Ich schaffe es mit seinem Programmbeispiel nun auch, meine Steckdosen auf seine Fernbedienung zu programmieren und entsprechend an- und abzuschalten. Leider schaffe ich es nicht, meine Steckdosen zu analysieren und ist leider auch nicht mehr aktiv. In folgendem bit-Code steht die 1 jeweils für HIGH und 0 jeweils für LOW. Ich fürchte, dass dabei einfach eine Kodierung dahinter steckt, die noch entschlüsselt werden müsste und dann kann ich die Signale auch abwandeln und per rc-switch versenden. Dabei komme ich leider nicht weiter. Die bits sind jeweils 250 us lang, laut Code-Schnipsel. Folgende Codes habe ich dem Arduino-Code entnommen: Switch 1 On 100000000000100000101010000010000010100000101000001010000010101000001010 000010000010101000001000001010000010101000001000001010000010100000101000 001010000010101000001000001010100000100000101000001010100000100000101010 000010100000100000101000001010000010100000101000001010000000000000000000 0000000000000000000000 Switch 2 On 100000000000100000101010000010000010100000101000001010000010101000001010 000010000010101000001000001010000010101000001000001010000010100000101000 001010000010101000001000001010100000100000101000001010100000100000101010 000010100000100000101000001010000010100000101010000010000000000000000000 0000000000000000000000 Switch 3 On 100000000000100000101010000010000010100000101000001010000010101000001010 000010000010101000001000001010000010101000001000001010000010100000101000 001010000010101000001000001010100000100000101000001010100000100000101010 000010100000100000101000001010000010101000001000001010000000000000000000 0000000000000000000000 Switch 1 Off 100000000000100000101010000010000010100000101000001010000010101000001010 000010000010101000001000001010000010101000001000001010000010100000101000 001010000010101000001000001010100000100000101000001010100000100000101010 000010100000101000001000001010000010100000101000001010000000000000000000 0000000000000000000000 Switch 2 Off 100000000000100000101010000010000010100000101000001010000010101000001010 000010000010101000001000001010000010101000001000001010000010100000101000 001010000010101000001000001010100000100000101000001010100000100000101010 000010100000101000001000001010000010100000101010000010000000000000000000 0000000000000000000000 Switch 3 Off 100000000000100000101010000010000010100000101000001010000010101000001010 000010000010101000001000001010000010101000001000001010000010100000101000 001010000010101000001000001010100000100000101000001010100000100000101010 000010100000101000001000001010000010101000001000001010000000000000000000 0000000000000000000000 Dabei sind offenbar die ersten 220bit die FB: 100000000000100000101010000010000010100000101000001010000010101000001010 000010000010101000001000001010000010101000001000001010000010100000101000 001010000010101000001000001010100000100000101000001010100000100000101010 0000 Danach folgt jeweils on (1010000010000010100000) oder off (1010000010100000100000) mit jeweils 22 bit und dann die Steckdose selbst und sowie ein Sync mit 36 bit. Vielen lieben Dank für jeden Hinweis! Viele Grüße, Marcus
Formulier evtl. deine Frage neu und vor allem könntest du Informationen / Links zu den verwendeten Geräten/Codes/... posten - vielleicht findet sich dann jemand der sich die Zeit nimmt, sich dein Problem mal näher anzusehen... Viel Erfolg!
GabbaGandalf schrieb: > Die bits sind jeweils 250 us lang ... Die Kodierung einer Bitinformation des Datenstromes dauert insgesamt 8 von deinen Zeitschritten (i.e. 2ms) und enthält neben dem Übertragungsrahmen das zu übertragende Bit einmal direkt und einmal invertiert. Die gesendeten Switch-Nummern sind 0, 1 und 2 (nicht 1, 2 und 3, ab deinen Bits 253 und 261).
p.s. Mit L:=10000010 und H:=10100000 sehe ich da 32 Bits, die übertrage werden. Bit 31 und 32 sind die Switch-Nr und Bit 28 ist der Schaltzustand (H=off, L=on)
1 | 00000000011111111112222222222333 |
2 | 12345678901234567890123456789012 |
3 | SwitcH1 Off 100000000000 LHLLLLHHLHLLHLLLLLHLHLLHLHHHLLLL 100000000000000000000000000000000000000000 |
4 | SwitcH1 On 100000000000 LHLLLLHHLHLLHLLLLLHLHLLHLHHLLLLL 100000000000000000000000000000000000000000 |
5 | SwitcH2 Off 100000000000 LHLLLLHHLHLLHLLLLLHLHLLHLHHHLLLH 100000000000000000000000000000000000000000 |
6 | SwitcH2 On 100000000000 LHLLLLHHLHLLHLLLLLHLHLLHLHHLLLLH 100000000000000000000000000000000000000000 |
7 | SwitcH3 Off 100000000000 LHLLLLHHLHLLHLLLLLHLHLLHLHHHLLHL 100000000000000000000000000000000000000000 |
8 | SwitcH3 On 100000000000 LHLLLLHHLHLLHLLLLLHLHLLHLHHLLLHL 100000000000000000000000000000000000000000 |
Ohhhha. Ich bin beeindruckt. Vielen Dank für die schnelle Rückmeldung. Ich sehe, ich habe noch viel zu lernen. Ist dieses Verfahren irgendwie Well-Known oder ist das etwas proprietäres des Herstellers? Und wie hast du das „mal eben“ erkannt? Scheint ja prinzipiell erstmal ein RZ-Code zu sein, der jeweils 4 Zeichen pro Bit hat und invertiert wiederholt zu werden, oder habe ich das falsch verstanden? Für mich hieße das, „LHLLLLHHLHLLHLLLLLHLHLLHLH“ ist die Fernbedienung (FB), „HH“ ist on, „HL“ off und „LLLL“ bis „LLHL“ sind die Steckdosen. Eigentlich könnte ich also 16 Steckdosen mit einer FB steuern (vom Adressraum her). Das hieße, wenn ich mit den 26 Bit Adressraum der FB herumexperimentiere, dann kann ich meine beachten, wann meine Steckdosen, welche ja auch meine FBs kodiert sind reagieren und finde dann die Adresse meiner FB heraus, oder? Vielen lieben Dank und viele Grüße, Marcus
Prinzipiell komme ich genau von der Anleitung aus dem FHEM-Forum. Allerdings funktioniert das natürlich nur, wenn man die FB des Erstellers nutzt. Deswegen habe ich mir diesen Sourcecode ja genau angeschaut und den oben aufgeführten bitcode raus gefummelt. Wenn also meine Schlussfolgerung aus Wolfgangs Posts stimmt muss ich mir nur noch was schreiben, was die möglichen FB-Adressen durchprobiert. Neben einer Lampe (an der jeweiligen Steckdose) soll es dann mit nem Helligkeitssensor warten, ob die angeht und mir dann den entsprechenden Code in den SerialMonitor schreiben. So hoffe ich, meine FB-Adressen ermitteln zu können. Viele Grüße, Marcus
Wolfgang schrieb: > Marcus S. schrieb: > Und wie hast du das „mal eben“ erkannt? > > Methode: scharfer Blick ;-) Jetzt muss ich mal googeln, wie man das lernen kann. ;)
Marcus S. schrieb: > Jetzt muss ich mal googeln, wie man das lernen kann. ;) Die Autokorrelation über deine Bitfolge liefert bspw. die Länge des Datenrahmes "H" bzw. "L", weil jeweils ein festes Grundmuster mit konstanter Länge benutzt wird.
Autocorrelation? Was benutzt du denn dafür? Ich habe längere Zeit auch nach Tools gesucht, die genau sowas tun. Nachdem ich diese Suche aufgegeben hatte habe ich dann jeweils 2 oder 4 Bit zusammengefasst und habe durchprobiert. Auch das war aber nicht erfolgreich. Bis 8 Bit und vor allem die ersten 12 Bit weglassen habe ich aber natürlich nicht gerechnet. Stimmen denn meine Folgerungen aus deiner ersten Antwort soweit?
Marcus S. schrieb: > Für mich hieße das, „LHLLLLHHLHLLHLLLLLHLHLLHLH“ ist die Fernbedienung > (FB), „HH“ ist on, „HL“ off und „LLLL“ bis „LLHL“ sind die Steckdosen. > Eigentlich könnte ich also 16 Steckdosen mit einer FB steuern (vom > Adressraum her). Ich kenne den Dekoder der OBI Steckdosen nicht. Insofern würde ich nicht darauf vertrauen, dass Bit27 ("H") auch mit zum On/Off gehört. Und ob alle 4 restlichen Bit (29..32) für die Steckdosenauswahl genutzt werden, ist auch nicht sicher. Insofern können durchaus alle ersten 27 Bit für den "Hauscode" zuständig sein, was mir aber recht viel erscheint. Ein Teil davon ist wahrscheinlich auch fix. Die alle auszuprobieren, wäre nicht mit ein paar Stunden getan. Kann man beim Sender irgendwie den "Hauscode/Systemcode" ändern, so wie bei vielen einfachen Baumarktsteckdosen mit ihren Dipschaltern? Dann könnte man darüber die Suche einschränken.
Ja, das hab ich befürchtet, dass das nicht so schnell geht. Aber ich würde es ja automatisieren und in die Garage legen. Da kann‘s rödeln übers Wochenende. Die Fernbedienungen sind dummer Weise verklebt und weder konfigurierbar, noch mit irgendwelchen Schaltern versehen: https://www.obi.de/hausfunksteuerung/cmi-funkschalter-set-4-teilig-weiss/p/4438420 Ansonsten hätte ich die bereits geöffnet und mit einem Oszillographen gemessen, was konkret bei dem Ding übertragen wird. Ich würde aber ebenfalls vermuten, das ein Teil des Hauscodes fix ist. Ich habe zwei unabhängig von einander gekaufte Sets daheim (Frau und Schwiegermutter waren einkaufen). Ich denke, ich werde das am Wochenende einfach mal ausprobieren. Ich halte euch auf dem Laufenden. Vielen Dank schon mal!
Hallo Marcus, es gibt immer unterschiedliche Möglichkeiten ein System zu knacken oder zu analysieren. Ich habe einmal MS-Word zur Analyse der Korrelation bemüht und dabei folgendes herausgefunden -> Bild. Die Markierung und in der Spalte die Bits darunter zeigen den Wechsel zw. on und off. Auch wenn Du 4 Spalten nach rechts gehst, wechseln diese und sind komplementär zu den ersten. Damit wird vielleicht versucht den "Gleichstromanteil" im Signal einzustellen. (Sieht für mich erst einmal nach Quatsch aus, könnte auch eine gerätespezifische Codierung sein.) Dann findest Du 24 Spalten weiter rechts in den letzten beiden Zeilen den Hinweis zu Gerät 3, Geräte 1 und 2 findest Du in den Spalten selbst. Versuche die Positionen zu finden, wo Nullen sind oder fehlen. Zähle die Bytes, usw. Andere machen Sudoku, ich übe mit so was. Happy coding! Bernd
Sooo - ich habe mir das am Wochenende mal angeschaut. Deine Analyse, Wolfgang, war offenbar genau richtig: ich habe mir das mal in ein Programm gegossen, welches die Sync-Geschichten immer vorn und hinten anhängt und wo ich die H- und L-Bits einfach setzen kann. Damit kann ich meine Dosen auf jeden beliebigen Code Programmieren und mit LL bis HH diese einzeln oder die ganze Guppe an- und ausschalten. Die FB-Codierung ist allerdings offenbar tatsächlich völlig flexibel. Ich habe am Wochenende die letzten 16 bit einmal durchprobiert mit meiner FB-Codierung - erfolglos. Die ganzen 26 bit durchzugehen dauern aber tatsächlich etwas seeeehr lang. Hat jemand noch eine Idee, als tatsächlich meine FB aufzubrechen und den tatsächlich gesendeten Code anzuschauen?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.