Es gibt inzwischen massenweise günstige Produkte, die per RF Controller steuerbar sind.
Ich stelle die These auf, dass die meisten davon ihre Funkprotokolle nach dem gleichen Prinzip implementiert haben und zeige euch, wie dieses Prinzip ausschaut.
Somit könnt ihr den „RF Controller“ mit einem CUL, SIGNALduino, FHEMduino oder einem anderen Funktransmitter, der auf 433 MHz sendet, emulieren und das Gerät Smart-Home-fähig machen.
Ich habe einen super schönen (und wirklich einfach 🙄 einzubauenden) Sternenhimmel im Bad installiert, weil meine Frau gerne beim Baden in die Sterne schauen wollte…
(… und ich die „Challenge accepted“ habe …)
On topic
Steuern lässt der sich mit einem 433 MHz RF Controller, in meinem Fall einem 28-key RF Controller:
Natürlich musste die Steuerung des Sternenhimmels in meine Heimautomatisierung, sprich FHEM, eingebunden werden um Alexa informieren zu können, dass der Sternenhimmel nun eingeschalten werden möge.
Daher wagte ich mich in bis dahin unbekannte Telemetrie-Gefilde vor…
Benötigte Hardware
Um die Daten mit FHEM und dem CUL zu sniffen, benötigst du eine funktionierende FHEM Installation und einen CUL, der Funktransmitter und Receiver für entweder 868 MHz oder 433 MHz ist. Wenn du die China-RF-(Controller)-Geräte steuern willst, brauchst du den 433 MHz CUL.
Entweder du besorgst ihn fertig hier oder lötest ihn selbst. Ich hab mir einen gebaut, und zwar mit dem Arduino Pro Mini.
Ich will es einfach steuern ohne jede Menge Theorie!
Genau so wollte ich es eigentlich haben:
- CUL im FHEM einrichten
- Knopf auf der Fernbedienung drücken
- Gerät wird automatisch per Autocreate angelegt
- Fertig ( = ich kann das Gerät steuern)
Leider war es nicht so einfach, für dich könnte es aber eventuell (fast) so einfach werden!
Mein CUL rawmsg Generator für RF Controller
Füge hier einfach eine Zeile des mittels „set CUL raw X67“ ermittelten Logs ein und klicke auf CUL-RAWMSG generieren!
Es funktioniert? Perfekt! >>
Bitte um ein kurzes Kommentar mit Link zum Gerät. 😎
Nein? Dann geht es hier weiter mit Erklärungen zu den Bedeutungen der einzelnen Komponenten einer Log-Zeile, damit du dir dein eigenes CUL raw GssNnprHHLLhhllDDDD – Kommando basteln kannst:
Sniffen
Damit FHEM die vom RF Controller gesendeten Datenpakete protokolliert, musst du den CUL in den Debug-Modus versetzen, indem du folgenden Befehl via FHEM an den CUL absetzt:
1 |
set CUL raw X67 |
Sollten die protokollierten Werte im Event-Monitor dabei ca. so aussehen, stehen die Chancen gut, dass du den RF Controller zukünftig in einer Lade verstauen kannst, weil FHEM die Steuerung übernimmt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
UNKNOWNCODE p 7 400 1216 1168 448 384 1216 24 1 3 0 400 12288 0 2D 580016 UNKNOWNCODE p 7 416 1200 1168 448 400 1216 24 1 3 0 400 12288 0 2D 580016 UNKNOWNCODE p 7 400 1200 1152 464 400 1200 24 1 3 0 416 12288 0 2D 580016 UNKNOWNCODE p11 32 1712 48 112 272 560 32 1 4 0 416 5488 0 E6 C4900810 UNKNOWNCODE p 7 384 1232 1152 448 400 1216 24 1 3 0 416 12288 0 2E 580017 UNKNOWNCODE p 7 400 1200 1168 464 400 1216 24 1 3 0 416 12288 0 2F 580017 UNKNOWNCODE p 7 416 1200 1152 464 400 1216 24 1 3 0 384 12304 0 2F 580017 UNKNOWNCODE p11 80 1808 1776 32 32 1056 27 1 3 3 416 7712 0 E6 4A000000 UNKNOWNCODE p 7 416 1216 1136 480 384 1216 24 1 3 0 400 12288 0 2D 580016 UNKNOWNCODE p 7 416 1216 1168 448 400 1200 24 1 3 0 400 12288 0 2D 580016 UNKNOWNCODE p 7 400 1216 1152 464 400 1200 24 1 3 0 416 12288 0 2D 580016 UNKNOWNCODE p 7 400 1200 1168 448 384 1232 24 1 3 0 416 12304 0 2D 580016 UNKNOWNCODE p 7 416 1216 1152 480 384 1216 24 1 3 0 400 12288 0 2D 580016 UNKNOWNCODE p 7 400 1232 1168 432 400 1216 24 1 3 0 400 12288 0 2D 580016 UNKNOWNCODE p 7 416 1200 1136 464 400 1232 24 1 3 0 432 12272 0 2D 580016 UNKNOWNCODE p 7 400 1232 1168 448 384 1232 24 1 3 0 400 12288 0 2D 580016 UNKNOWNCODE p11 32 1152 1680 112 48 320 30 1 3 6 384 6560 0 E5 8CA82000 UNKNOWNCODE p 7 384 1232 1168 448 400 1200 24 1 3 0 400 12304 0 2D 580017 UNKNOWNCODE p 7 416 1216 1136 464 416 1200 24 1 3 0 400 12288 0 2D 580017 UNKNOWNCODE p 7 400 1216 1136 480 384 1232 24 1 3 0 400 12320 0 2D 580017 UNKNOWNCODE p 7 400 1216 1136 464 384 1216 24 1 3 0 400 12288 0 2D 580017 UNKNOWNCODE p 7 416 1216 1168 448 400 1216 24 1 3 0 400 12304 0 2D 580017 UNKNOWNCODE p11 48 1952 128 48 16 224 30 1 3 6 416 4752 0 E7 A0608200 UNKNOWNCODE p 7 384 1232 1152 448 400 1216 24 1 3 0 400 12288 0 2E 580009 UNKNOWNCODE p 7 400 1216 1152 464 400 1216 24 1 3 0 400 12304 0 2D 580009 UNKNOWNCODE p 7 416 1216 1168 448 416 1200 24 1 3 0 400 12272 0 2D 580009 UNKNOWNCODE p 7 400 1232 1152 480 400 1216 24 1 3 0 416 12272 0 2D 580009 UNKNOWNCODE p 7 400 1232 1168 448 400 1200 24 1 3 0 400 12272 0 2D 580009 UNKNOWNCODE p 7 400 1216 1152 464 400 1216 24 1 3 0 416 12288 0 2D 580009 UNKNOWNCODE p 7 416 1200 1152 464 400 1216 24 1 3 0 400 12272 0 2D 580009 UNKNOWNCODE p 7 400 1216 1152 448 400 1216 24 1 3 0 384 12304 0 2E 580009 UNKNOWNCODE p11 32 2144 2080 48 96 400 34 1 4 2 416 5952 0 E3 0410468000 UNKNOWNCODE p 7 416 1216 1152 464 400 1216 24 1 3 0 400 12288 0 26 580015 UNKNOWNCODE p 7 416 1216 1152 464 400 1216 24 1 3 0 400 12288 0 27 580015 UNKNOWNCODE p 7 400 1216 1152 448 416 1216 24 1 3 0 400 12288 0 27 580015 UNKNOWNCODE p 7 400 1216 1152 448 400 1232 24 1 3 0 400 12288 0 27 580015 UNKNOWNCODE p 7 400 1232 1152 448 416 1216 24 1 3 0 416 12272 0 26 580015 UNKNOWNCODE p10 16 832 1808 128 208 416 28 1 3 4 416 13440 0 E5 84961000 UNKNOWNCODE p 7 416 1216 1152 464 400 1216 24 1 3 0 400 12272 0 2F 580009 UNKNOWNCODE p 7 416 1200 1136 464 384 1232 24 1 3 0 400 12272 0 2F 580009 UNKNOWNCODE p 7 384 1232 1152 464 400 1216 24 1 3 0 400 12304 0 2F 580009 UNKNOWNCODE p 7 416 1216 1136 464 368 1248 24 1 3 0 400 12272 0 2F 580009 UNKNOWNCODE p 7 400 1216 1168 448 384 1216 24 1 3 0 400 12288 0 2F 580009 UNKNOWNCODE p11 48 1904 96 192 48 512 25 1 3 1 400 8592 0 E6 26000000 UNKNOWNCODE p 7 416 1216 1136 480 384 1232 24 1 3 0 368 12320 0 2A 580015 UNKNOWNCODE p 7 416 1216 1136 464 384 1232 24 1 3 0 400 12288 0 2C 580015 UNKNOWNCODE p 7 384 1232 1136 464 400 1232 24 1 3 0 400 12304 0 2C 580015 UNKNOWNCODE p10 32 672 80 32 160 464 28 1 3 4 400 6928 0 E7 F0010000 UNKNOWNCODE p 7 400 1232 1136 480 384 1216 24 1 3 0 400 12288 0 28 580004 UNKNOWNCODE p 7 368 1216 1136 464 368 1248 24 1 3 0 400 12320 0 27 580004 UNKNOWNCODE p 7 384 1232 1136 480 368 1248 24 1 3 0 400 12288 0 28 580004 UNKNOWNCODE p 7 384 1232 1152 448 400 1216 24 1 3 0 400 12288 0 2D 580004 UNKNOWNCODE p11 32 2528 208 80 48 416 26 1 3 2 400 13536 0 E6 A4400000 UNKNOWNCODE p 7 416 1216 1136 496 368 1248 24 1 3 0 384 12304 0 29 580004 UNKNOWNCODE p 7 416 1200 1136 464 400 1232 24 1 3 0 400 12304 0 29 580004 UNKNOWNCODE p 7 384 1216 1136 464 368 1248 24 1 3 0 400 12288 0 2B 580004 UNKNOWNCODE p 7 400 1216 1152 464 400 1216 24 1 3 0 400 12288 0 2E 580004 UNKNOWNCODE p 7 384 1248 1136 496 368 1248 24 1 3 0 320 12336 0 2A 580004 UNKNOWNCODE p 7 416 1216 1136 464 384 1232 24 1 3 0 400 12288 0 2A 580004 UNKNOWNCODE p 7 416 1200 1152 464 368 1232 24 1 3 0 384 12304 0 31 580004 UNKNOWNCODE p 7 400 1216 1136 480 400 1232 24 1 3 0 384 12304 0 2A 58000D UNKNOWNCODE p 7 384 1248 1136 496 384 1216 24 1 3 0 384 12304 0 2B 58000D UNKNOWNCODE p 7 416 1200 1136 480 384 1232 24 1 3 0 384 12288 0 2B 58000D UNKNOWNCODE p 7 416 1216 1136 464 384 1248 24 1 3 0 400 12288 0 2B 58000D UNKNOWNCODE p 7 400 1216 1168 464 384 1216 24 1 3 0 384 12320 0 29 58000D UNKNOWNCODE p 7 416 1200 1152 464 400 1216 24 1 3 0 400 12288 0 2B 58000D UNKNOWNCODE p 7 400 1216 1136 480 384 1232 24 1 3 0 400 12304 0 2B 58000D |
Zwischendurch empfängt der CUL unvollständige Werte und dadurch entstehen Log-Einträge, die nicht ins Schema passen. Diese bitte ignorieren.
UNKNOWNCODE Log-Eintrag Analyse
Ein Dankeschön an Andreas fürs Posten des relevanten Codes für die Ausgabe des Debug-Logs im FHEM – Event Monitor. Dadurch konnte ich einige meiner Vermutungen bestätigen als auch widerlegen. Nachfolgend der letzte Stand für die Analyse der Log-Entries:
Lt. Doku bedeuten die jeweils fett markierten Werte folgendes:
p 7 416 1200 1152 464 400 1216 24 1 3 0 400 12288 0 2B 58000D:
Interne Nummer der „state machine“. Das ist eine Konstante im Code, die für die erkannte Geräte-Art steht. Hier ein Auszug einiger möglichen Werte: (kein Anspruch auf Vollständigkeit! 😉 )
1 2 3 4 5 6 7 8 9 10 |
#define STATE_HMS 4 #define STATE_ESA 5 #define STATE_REVOLT 6 #define STATE_IT 7 #define STATE_TCM97001 8 #define STATE_ITV3 9 #define STATE_HE 10 #define STATE_SYNC_PACKAGE 11 //#define STATE_BRESSER 12 #define STATE_MC 13 |
p 7 416 1200 1152 464 400 1216 24 1 3 0 400 12288 0 2B 58000D:
416 Mikrosekunden (µs) für den High-Teil des Zero-Bits
1200 Mikrosekunden (µs) für den Low-Teil des Zero-Bits
1152 Mikrosekunden (µs) für den High-Teil des One-Bits
464 Mikrosekunden (µs) für den Low-Teil des One-Bits
p 7 416 1200 1152 464 400 1216 24 1 3 0 400 12288 0 2B 58000D:
400 Mikrosekunden (µs) für den High-Teil des Two-Bits
1216 Mikrosekunden (µs) für den Low-Teil des Two-Bits
Wofür genau dieses Two-Bit ist? Sag du’s mir!
p 7 416 1200 1152 464 400 1216 24 1 3 0 400 12288 0 2B 58000D:
Im Code steht hier „valCount“. Weiß jemand was das ist?
p 7 416 1200 1152 464 400 1216 24 1 3 0 400 12288 0 2B 58000D:
Anzahl der erkannten Zero-Sync-Bits. Wird vom CUL anscheinend falsch erkannt, in der Analyse mit dem Logic Analyzer habe ich keine Sync-Bits am Anfang der Übertragung feststellen können. Also nehme ich beim Senden mittels G-Kommando 0 als Sync-Bits-Wert.
p 7 416 1200 1152 464 400 1216 24 1 3 0 400 12288 0 2B 58000D:
Anzahl der übertragenen Bytes inkl. letztes vollständiges Byte, falls vorhanden.
p 7 416 1200 1152 464 400 1216 24 1 3 0 400 12288 0 2B 58000D:
Unvollständiges letztes übertragenes Byte: LSB-Position (7=erstes Bit) nach der kein Bit mehr übertragen wird. (7-n = Anzahl der Bits im letzten Byte)
Wird von der culfw im RF Controller Fall anscheinend falsch erkannt. Es wird lt. Logic Analyzer ein letztes High von 400 ms und dann bis zum nächsten Paket Low gesendet. (400 + 1200 = Zero-Bit)
Hier sieht man auch, dass der byteidx um das unvollständige Byte erhöht wird, wenn der bitidx nicht 7 ist:
1 2 |
if(b->bitidx != 7) b->byteidx++; |
p 7 416 1200 1152 464 400 1216 24 1 3 0 400 12288 0 2B 58000D:
400 Mikrosekunden (µs) für den High-Teil des Syncbits
12288 Mikrosekunden (µs) für den Low-Teil des Syncbits
Scheinbar wird das letzte 400µs – High und die 12 Millisekunden Pause zwischen den Kommandos als synbit gewertet.
p 7 416 1200 1152 464 400 1216 24 1 3 0 400 12288 0 2B 58000D:
Lt. Code „clockTime“. Ist bei mir immer 0 gewesen.
p 7 416 1200 1152 464 400 1216 24 1 3 0 400 12288 0 2B 58000D:
Der RSSI-Wert, welcher die Signalstärke beschreibt.
p 7 416 1200 1152 464 400 1216 24 1 3 0 400 12288 0 2B 58000D:
Das sind die übertragenen Bytes in Hex-Notation.
In meinem Fall also „58000D“.
Diese 3 Bytes werden mittels Manchester-Code kodiert übertragen. Deshalb ist das Timing für die erfolgreiche Fernbedienung eures Geräts sehr wichtig.
Wenn eure Timings also stark von den 400µs + 1200µs = 1600µs für die Übertragung eines Bits abweichen, wird der von meinem RF Controller CUL rawmsg Generator ermittelte Wert auch nicht funktionieren.
Die Timings werden von meinem RF Controller CUL rawmsg Generator automatisch berechnet.
Du kannst hier nachlesen, wie ich zu meinen Erkenntnissen gelangt bin.
Schreib mir doch ein Kommentar welches Gerät du mit welcher Transmitter-Hardware zum Laufen gebracht hast und welches nicht… 🙂
Changelog:
- 06.12.2017
- Neue Erkenntnisse (beigebracht durchs Comment vom Andreas) in die Log-Analyse einfließen lassen.
Dieser generierte rx-Dump („p.. hi lo etc.“) scheint aus z.B. a-culfw/culfw/clib/rf_receive.c RfAnalyze_Task() zu stammen.
(Achtung: aculfw NICHT culfw! Evt. anderes Format?)
Somit also Decoding dort wie folgt implementiert:
#ifndef NO_RF_DEBUG
if(TX_REPORT & REP_BITS) {
MULTICC_PREFIX();
DC(‚p‘);
DU(b->state, 2);
DU(b->zero.hightime*16, 5);
DU(b->zero.lowtime *16, 5);
DU(b->one.hightime *16, 5);
DU(b->one.lowtime *16, 5);
DU(b->two.hightime *16, 5);
DU(b->two.lowtime *16, 5);
DU(b->valCount, 4);
DU(b->sync, 3);
DU(b->byteidx, 3);
DU(7-b->bitidx, 2);
#if defined(HAS_IT) || defined(HAS_TCM97001)
DC(‚ ‚);
DU(b->syncbit.hightime *16, 5);
DC(‚ ‚);
DU(b->syncbit.lowtime *16, 5);
DC(‚ ‚);
#endif
DU(b->clockTime *16, 5);
DC(‚ ‚);
if(TX_REPORT & REP_RSSI) {
DH2(cc1100_readReg(CC1100_RSSI));
DC(‚ ‚);
}
if(b->bitidx != 7)
b->byteidx++;
for(uint8_t i=0; i byteidx; i++)
DH2(b->data[i]);
DNL();
}
#endif
Somit wäre das oben „Last-Byte“ genannte wohl in Wirklichkeit two high/low, und „24“ wäre valCount.
Talk about reverse engineering open source software 😉
Mit diesen Infos sollte man dann eigentlich anhand der Beschreibung des üblichen CUL rawsend Command-Patterns (also GssNnprHHLLhhllDDDD : http://culfw.de/commandref.html , https://forum.fhem.de/index.php/topic,35064.msg607587.html#msg607587 ) dieses benötigte rawsend-G erstellen können.
Und das alles müsste mit FHEM eigentlich stattdessen automatisch erstellbar sein 🙁
(talk about usability…)
Aber zugegebenermaßen ist die Usability von FHEM generell schon erstaunlich hoch…
Hey Andreas,
vielen Dank für die Infos und sorry, dass der Kommentar erst jetzt erscheint… war irgendwie in den SPAM gerutscht.
Ich werde jedenfalls den Artikel (natürlich mit Credits an dich) aktualisieren.
lg, David
Hallo 🙂
vielen Dank für den Beitrag! Leider funktioniert es nicht so wie beschrieben 🙁
Könntest du mir sagen wo mein Fehler liegt?
Vielen Dank!
In meinem Log erscheinen Folgende Sachen:
2017-11-23 19:57:54 CUL traxCUL UNKNOWNCODE p 8 560 4112 576 4096 592 2160 37 1 4 5 592 9024 0 0A 98520CE350
2017-11-23 19:57:54 CUL traxCUL UNKNOWNCODE p 8 576 4080 576 4112 576 2160 37 1 4 5 576 9008 0 0C 98520CE350
2017-11-23 19:57:54 CUL traxCUL UNKNOWNCODE p 8 592 4080 576 4080 592 2160 37 1 4 5 560 9024 0 0C 98520CE350
2017-11-23 19:57:54 CUL traxCUL UNKNOWNCODE p 8 608 4080 576 4096 592 2160 37 1 4 5 576 9056 0 0A 98520CE350
2017-11-23 19:57:55 CUL traxCUL UNKNOWNCODE p 8 576 4096 576 4096 592 2160 37 1 4 5 560 9040 0 0C 98520CE350
2017-11-23 19:57:55 CUL traxCUL UNKNOWNCODE p 8 592 4080 576 4096 576 2048 37 1 4 5 592 9008 0 0B 98520CE350
2017-11-23 19:57:58 CUL traxCUL UNKNOWNCODE p 8 560 4112 528 4096 560 2160 37 1 4 5 576 8992 0 00 9DE00C23B0
2017-11-23 19:57:58 CUL traxCUL UNKNOWNCODE p 8 560 4096 544 4112 544 2160 37 1 4 5 560 8992 0 FE 9DE00C23B0
2017-11-23 19:57:58 CUL traxCUL UNKNOWNCODE p 8 576 4080 560 4080 560 2160 37 1 4 5 560 8992 0 FF 9DE00C23B0
2017-11-23 19:57:58 CUL traxCUL UNKNOWNCODE p 8 576 4080 544 4112 560 2144 37 1 4 5 560 9072 0 FE 9DE00C23B0
2017-11-23 19:57:58 CUL traxCUL UNKNOWNCODE p 8 560 4064 560 4112 544 2160 37 1 4 5 560 9008 0 FE 9DE00C23B0
2017-11-23 19:57:59 CUL traxCUL UNKNOWNCODE p 8 576 4096 528 4128 544 2064 37 1 4 5 560 8976 0 01 9DE00C23B0
2017-11-23 19:58:02 CUL traxCUL UNKNOWNCODE p11 544 2096 576 4176 576 2176 33 1 4 1 512 9408 0 01 6F20443800
2017-11-23 19:58:02 CUL traxCUL UNKNOWNCODE p 8 576 4096 576 4112 576 2160 37 1 4 5 576 8992 0 01 96F2044380
2017-11-23 19:58:03 CUL traxCUL UNKNOWNCODE p 8 576 4096 560 4112 560 2192 37 1 4 5 576 9024 0 00 96F2044380
2017-11-23 19:58:03 CUL traxCUL UNKNOWNCODE p 8 576 4112 560 4128 592 2144 37 1 4 5 576 9024 0 02 96F2044380
2017-11-23 19:58:03 CUL traxCUL UNKNOWNCODE p 8 576 4112 576 4096 592 2160 37 1 4 5 592 9008 0 01 96F2044380
2017-11-23 19:58:03 CUL traxCUL UNKNOWNCODE p 8 576 4096 576 4112 560 2176 37 1 4 5 576 9088 0 01 96F2044380
2017-11-23 19:58:03 CUL traxCUL UNKNOWNCODE p 8 592 4080 576 4112 592 2032 37 1 4 5 576 8992 0 02 96F2044380
2017-11-23 19:58:03 CUL traxCUL UNKNOWNCODE p11 128 32 208 32 192 2256 73 1 9 1 208 13952 0 D5 084040000048A0009000
Hmmm… dein Log sieht ganz anders aus als meines… aber mal schauen…
Hast du einen Link zum Gerät?
Vielen Dank für die schnelle Antwort 🙂
Ich habe von diesen Geräten 3 stück gekauft. Funktionieren perfekt! Also lösen immer nur dann aus wenn man auch vorbei geht und der Preis war einfach zu verlockend. Leider wird es in FHEM mit autocreate nicht automatisch gefunden.
Daher suche ich jetzt eine Möglichkeit diese einzubinden:
https://www.ebay.de/itm/433-MHZ-PIR-Funk-Infrarot-Detektor-Bewegungssensor-Bewegungsmelder-Alarmanlage/263218535780?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2060353.m1438.l2649
Achso, du willst, dass FHEM den Status anzeigt?
Das funktioniert mit dieser Methode nicht, hier könnte FHEM nur einen der Bewegungsmelder emulieren (= das gleiche Funksignal absetzen, das der BM absetzt.)
Vielleicht versuchst du den CUL in einen signalduino umzuflashen, dann soll es leichter sein unbekannte Funkprotokolle in FHEM einzubinden. Ich habe das bisher mangels Zeit noch nicht machen können, werde aber dann hier berichten. Ich würde mich über eine kurze Rückmeldung freuen, wenn du den signalduino Weg gehst…
Okay, ich habe es schon befürchtet… dann werde ich einen Arduino Nano bestellen und einen RFSniffer installieren. Dann sollte ich ja das Signal rausbekommen sodass ich ein Gerät in FHEM hinzufügen kann welches mit dem Bewegungsmelder verknüpft wird?
Wie kann ich denn „set CUL raw X67“ wieder rückgängig machen?
set CUL raw X21
Spannende Anleitung. Danke. Leider funktioniert bei mir der Generator nicht. Ich habe folgende logs:
2017-12-03 21:56:03 CUL myCUL433 UNKNOWNCODE p13 336 320 528 432 0 0 30 1 3 6 336 320 336 05 C9495524
2017-12-03 21:56:03 CUL myCUL433 UNKNOWNCODE p13 368 304 528 416 0 0 30 1 3 6 368 304 368 03 C9495524
2017-12-03 21:56:03 CUL myCUL433 UNKNOWNCODE p13 352 320 544 416 0 0 30 1 3 6 352 320 352 03 C9495524
2017-12-03 21:56:03 CUL myCUL433 UNKNOWNCODE p13 336 352 528 432 0 0 30 1 3 6 336 352 336 07 C9495524
2017-12-03 21:56:03 CUL myCUL433 UNKNOWNCODE p13 352 320 544 416 0 0 30 1 3 6 352 320 352 03 C9495524
Ich versuche diesen nun in einen Befehl umzuwandeln. Mein CUL ist a-culfw V1.26.01. Hast Du einen Tipp, wie ich einen funktionsfähigen Code gemäss: CUL raw GssNnprHHLLhhllDDDD hinbekommen? Habe etwas gespielt – hat aber bis jetzt nicht funktioniert…
Es handelt sich beim Gerät um einen Lichtschalter.
Danke, Richard
Scheinbar hat dieser Lichtschalter eine ganz andere Implementierung des Funkprotokolls. Deswegen wird auch mein Generator nicht funktionieren.
Sieh dir mal den Thread an, den ich ganz unten verlinkt habe. Dort findest du einige Infos über die Analyse des Protokolls. Du kannst dann ja einen eigenen Thread aufmachen für deinen Lichtschalter.
Vielen vielen Dank für diesen mega geilen Generator =)
Ich habe damit meine Elektrische Beamerleinwand zum laufen bekommen.
Einen Link habe ich leider nicht, da diese Leinwand nicht mehr vertrieben wird.
Freut mich, dass es geklappt hat. 😎
HI,
ich habe einen ganz anderen code bekommen. Was auch immer ich versucht hab, ich komm nicht dahinter. Leider bin ich zu viel „newbee“ in dieser Geschichte und konnte grade so meine Fenster-Sensoren und Steckdosen steuern 🙂
Zum Setup: ich möchte ein Restaurant-Pager (Vibrator-Call) Signal via CUx ausgeben und den Pager damit rufen.
Mein LOG bei X67 sieht so aus:
06:05:16 [ttyUSB1] –> p 6 96 384 656 672 1 3 3 EC FFF7FFC0
06:05:17 [ttyUSB1] –> p 6 80 224 992 496 1 2 2 DB BFFFC0
06:05:22 [ttyUSB1] –> p 7 128 880 880 320 1 2 6 62 000000
06:05:22 [ttyUSB0] –> p 7 192 832 848 160 1 2 3 D8 000000
06:05:22 [ttyUSB1] –> p 7 176 832 624 368 0 3 0 64 0C8072
06:05:22 [ttyUSB1] –> p 7 160 832 656 352 1 3 0 64 0C8072
06:05:22 [ttyUSB1] –> p 7 144 864 656 368 1 3 0 65 0C8072
06:05:22 [ttyUSB1] –> p 7 160 816 736 304 1 3 0 66 0C8072
06:05:22 [ttyUSB1] –> p 7 144 816 736 304 1 3 0 66 0C8072
06:05:22 [ttyUSB1] –> p 7 112 912 960 64 1 2 7 67 0C8070
06:05:22 [ttyUSB1] –> p 7 144 864 640 368 1 3 0 68 0C8072
06:05:22 [ttyUSB1] –> p 7 144 848 656 368 1 3 0 68 0C8072
06:05:22 [ttyUSB1] –> p 7 144 864 704 320 1 3 0 68 0C8072
06:05:22 [ttyUSB1] –> p 7 160 848 656 336 1 3 0 68 0C8072
06:05:22 [ttyUSB1] –> p 7 144 848 608 400 1 3 0 6A 0C8072
06:05:22 [ttyUSB1] –> p 7 144 848 800 240 1 2 6 69 0201C8
06:05:23 [ttyUSB1] –> p 7 176 832 688 320 1 3 0 69 0C8072
06:05:23 [ttyUSB0] –> p 7 160 800 672 400 1 2 4 D9 080720
06:05:23 [ttyUSB1] –> p 7 176 816 672 336 1 3 0 6A 0C8072
06:05:23 [ttyUSB1] –> p 3 144 864 592 416 4 2 3 6B 900E40
06:05:23 [ttyUSB1] –> p 7 144 880 640 400 1 3 0 6B 0C8072
06:05:23 [ttyUSB1] –> p 7 144 864 640 384 1 3 0 6C 0C8072
06:05:23 [ttyUSB1] –> p 7 144 880 704 320 1 3 0 6C 0C8072
06:05:23 [ttyUSB1] –> p 7 176 848 704 304 0 3 0 6C 0C8072
06:05:23 [ttyUSB1] –> p 7 176 800 656 320 1 3 0 6C 0C8072
06:05:23 [ttyUSB1] –> p 7 176 864 720 320 1 3 0 6C 0C8072
06:05:23 [ttyUSB1] –> p 7 176 832 656 352 0 3 0 6C 0C8072
06:05:23 [ttyUSB1] –> p 7 144 880 704 304 1 3 0 6C 0C8072
06:05:23 [ttyUSB1] –> p 7 160 816 656 336 1 3 0 6C 0C8072
06:05:23 [ttyUSB1] –> p 7 144 864 704 304 1 2 7 6C 0900E4
06:05:23 [ttyUSB1] –> p 7 160 832 656 368 1 3 0 6C 0C8072
06:05:23 [ttyUSB1] –> p 7 144 864 656 352 1 2 7 6C 0900E4
06:05:23 [ttyUSB1] –> p 7 160 848 704 304 1 3 0 6C 0C8072
06:05:23 [ttyUSB1] –> p 7 160 864 720 320 1 3 0 6C 0C8072
06:05:23 [ttyUSB1] –> p 7 160 848 640 400 1 3 0 6C 0C8072
06:05:23 [ttyUSB1] –> p 7 144 864 816 208 1 3 0 6B 0C8072
06:05:23 [ttyUSB1] –> p 7 96 912 640 400 1 2 6 69 0201C8
06:05:23 [ttyUSB1] –> p 7 112 896 992 64 1 2 1 68 000000
06:05:23 [ttyUSB1] –> p 3 112 880 560 464 4 2 3 62 900E40
06:05:23 [ttyUSB1] –> p 7 144 848 720 320 1 3 0 63 0C8072
06:05:23 [ttyUSB1] –> p 7 160 800 672 368 1 3 0 63 0C8072
Zur Info:
USB 1-1 – {CUX} NANO CUL [FF] – /dev/ttyUSB0 {:1737s} – V 1.67 nanoCUL868 (? (�VH is unknown) Use one of A B C E e F f G h i K k l M m R T t U V W X x Y Z z) – Tue Nov 6 19:22:14 2018
USB 1-2 – {CUX} NANO CUL [FF] – /dev/ttyUSB1 {:48s} – V 1.67 nanoCUL433 – Tue Nov 6 19:22:14 2018
Erfolgreich mit HomeMatic-CCU 127.0.0.1:8181 verbunden!
als RPC-Server(INIT) von HomeMatic-CCU (2976) angefordert!
Hat jemand evtl. ne Idee wie ich das entschlüsseln könnte?
Hat keiner eine Idee?
Hallo, interessante Seite, könnte meim Problem lösen helfen….
folgendes Log:
2019-08-04 19:58:02 CUL traxCUL UNKNOWNCODE p 9 208 2608 176 352 176 1360 65 1 8 1 176 10928 0 33 CAB7F6BAAFFFFF2B00
2019-08-04 19:58:03 CUL traxCUL UNKNOWNCODE p 9 208 2624 176 352 176 1360 65 1 8 1 176 10928 0 33 CAB4B2B2AABAAB2B00
2019-08-04 19:58:03 CUL traxCUL UNKNOWNCODE p 9 208 2624 176 352 208 1344 65 1 8 1 176 10928 0 33 CAB5F2B2AAAAAB2B00
2019-08-04 19:58:03 CUL traxCUL UNKNOWNCODE p 9 208 2608 208 336 192 1344 65 1 8 1 192 10928 0 33 CAB5B2B2BBAEAB2B00
2019-08-04 19:58:03 CUL traxCUL UNKNOWNCODE p 9 192 2656 208 352 192 1344 65 1 8 1 208 10880 0 33 EAB5B2B2EAAABB2B00
2019-08-04 19:58:03 CUL traxCUL UNKNOWNCODE p 9 208 2624 192 352 208 1328 65 1 8 1 176 10896 0 33 DBB4B2B6EAAABB6B00
es ist ein Bewegungsmelder Smartwares SH5-TSO-A SmartHome
bekomme ihn aber nicht zum laufen.
Das ist mein CUL:
V 1.26.05 a-culfw Build: 311 (2018-12-09_19-12-53) nanoCUL433 (F-Band: 433MHz)
Dein Generator sagt das Datenbyte soll 6 Zeichen lang sein. Meins ist nur fünf und wohl dezimal
Fhem legt manchmal ein IT_V3 Device an… aber nicht immer…
hier mal die „Internals“
00
0
CFGFN
DEF
10000110010001000000000000 0 0001
FUUID
5d46f710-f33f-f770-d84f-2f8e67c0bb16792f
IODev
traxCUL
LASTInputDev
traxCUL
MSGCNT
6
NAME
IT_V3_43220001
NR
175286
STATE
off
TYPE
IT
XMIT
1000011001000100000000000000001
XMITdimdown
00
XMITdimup
00
XMITon
1
traxCUL_MSGCNT
6
traxCUL_RAWMSG
i9569656555555656
traxCUL_RSSI
-48.5
traxCUL_TIME
2019-08-04 19:37:22
Hi Michael,
am besten wendest du dich mit diesen Infos ans FHEM-Forum: https://forum.fhem.de/index.php/board,6.0.html
lg, David