Forum: HF, Funk und Felder 433,92 MHz Funksignale dekodieren


von GabbaGandalf (Gast)


Lesenswert?

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

von Info (Gast)


Lesenswert?

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!

von Wolfgang (Gast)


Lesenswert?

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).

von Wolfgang (Gast)


Lesenswert?

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

von Marcus S. (gabbagandalf)


Lesenswert?

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

von MaWin (Gast)


Lesenswert?

GabbaGandalf schrieb:
> Vielen lieben Dank für jeden Hinweis

FHEM kennt sie alle.

von Wolfgang (Gast)


Lesenswert?

Marcus S. schrieb:
> Und wie hast du das „mal eben“ erkannt?

Methode: scharfer Blick ;-)

von Marcus S. (gabbagandalf)


Lesenswert?

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

von Marcus S. (gabbagandalf)


Lesenswert?

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. ;)

von Wolfgang (Gast)


Lesenswert?

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.

von Marcus S. (gabbagandalf)


Lesenswert?

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?

von Wolfgang (Gast)


Lesenswert?

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.

von Marcus S. (gabbagandalf)


Lesenswert?

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!

von Bernd B. (microwave-designer)


Angehängte Dateien:

Lesenswert?

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

von Marcus S. (gabbagandalf)


Lesenswert?

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
Noch kein Account? Hier anmelden.