Geeignete H/W für 433 MHz Zähler von Sontex / Radian Protkoll

Begonnen von Xcoder, 01 April 2019, 22:29:18

Vorheriges Thema - Nächstes Thema

Xcoder

Hallo,

Ich habe Wasser- und Wärmemengezähler von Sontex. Diese haben eine Bidirektionale Funkschnittstelle mit 433.82 Mhz und FSK Modulation, NRZ Kodierung. Das Protkoll wird mit "Radian 0" und MFD beschrieben.

Eine Beschreibung des Radian Protokolls habe ich gefunden (im Anhang). Da muss Zuerst ein Wecksignal 01010101... gesendet werden und danach Data Frame. Für das Data Frame habe ich noch keine gute Beschreibung gefunden. Hier wurde schon mal etwas beschrieben: http://www.lamaisonsimon.fr/wiki/doku.php?id=maison2:compteur_d_eau:compteur_d_eau. Ich denke damit werde ich Softwareseitig mit etwas Aufwand zurechtkommen.

Welche Hardware ist dafür geeignet? Am liebsten hätte ich ein kompaktes USB Teil, z.B. in dieser Art:

Beide haben offenbar den gleiche uController und Transceiver. Was ist da der Unterschied? Kann ich mit diesen Sticks was anfangen?

Gruss, Xcoder

RaspiLED

Hi,
Siehe fhem wiki selbstbau cul und github bei der a-culfw oder Signalduino firmware für die gleiche Hardware

Wenn Du Dir den Selbstbau nicht zutraust, dann sag bescheid.

Über die Signalduino Firmware solltest Du die besten Fortschritte machen können.

Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

Xcoder

Danke für die Empfehlung. Habe nun einen Signalduino von in-circuit am laufen. In FHEM ist er mit dem SIGNALduino Modul eingebunden.

Für meine Anwendung erfordert aber die Konfiguration des C1101 noch einige Eingriffe.

2-FSK Modulation in MDMCFG2.MOD_FORMAT=0
NRZ: vermutlich MDMCFG2.MANCHESTER_EN=0
Symbol Rate 2400 baud in MDMCFG3.DRATE_M=0x06 und MDMCFG4.DRATE_E=0x83
Frequenzhub 5.5 kHz in DEVIATN=0x1e

Noch nicht klar ist wie ich eine Wake-up Preamble >2 sec mit ~2400 baud 010101010... erzeuge
Danach sollte noch ein Sync bit mit 10-20 ms 0 und 10-20 ms 1 kommen, bevor dann die Daten-Oktets kommen.

Kann das der C1101 direkt?

Bin da aber noch nicht sicher ob das schon alles ist. Vorschläge sind gerne willkommen.

Wie kann ich die Konfigurationsregister des C1101 aus FHEM am einfachsten anpassen?

Gruss, Xcoder

KölnSolar

Die S'duino firmware kenne ich nicht. Aber bei 2-FSK scheint mir dann der S'duino weniger geeignet.  Die aculfw "transparenter" zumal man dort Beispiele für FSK findet(rf_native).
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Xcoder

Verstehe ich jetzt nicht. Der Signalduino hat einen CC1101 Transceiver. Da ist 2-FSK der nach einem Reset aktive Mode. Da glaube ich kaum dass ein Signalduino nicht für 2-FSK geeignet sein soll.

Aber Egal. Habe selber herausgefunden wie ich meine Settings einstelle, auch FHEM heraus. Zuerst  "get radinoCC1101 raw W1256", dann noch W1380, W1400, W1716, und dann noch WS36 und WS34.

Ich bin aber immer noch etwas am Rätseln, wie ich beliebige Signal rausschicke.

Zuerst 2 sec lang 01 mit 2380 baud
dann 15 msec 0 gefolgt von 15 msec 1
dann 13 10 00 00 00 E3 25 54 00 01 2e 67 18 CA 00 A0 40 0D F4 mit 1 start und 1 stop bit

Geht das nur in der Art:

set radinoCC1101 raw SR;;R=1;;P0=-420;;P1=420;;P2=-15000;;P3=15000;;D=01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101012300010011000100000000000000000000000000001110001100100101010101000000000000000001001011100110011100011000110010100000000010100000010000000000110111110100

Hat aber leider nicht funktioniert. Danach ist der SD nicht mehr mit FHEM verbunden...

KölnSolar

ZitatVerstehe ich jetzt nicht. Der Signalduino hat einen CC1101 Transceiver. Da ist 2-FSK der nach einem Reset aktive Mode.
Zitat...S'duino firmware...
Hat herzlich wenig mit der Hardware CC1101 zu tun. S'duino kennt verschiedene Hardwarevarianten.
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Xcoder

Das bringt mich jetzt irgendwie nicht weiter. OK ich war wohl etwas zu wenig präzis. Ich habe die Variante mit CC1101. C1101 war ein Typo.

Ralf9

Zitatset radinoCC1101 raw SR;;R=1;;P0=-420;;P1=420;;P2=-15000;;P3=15000;D=010101010101010101010101..

Dein Sendebefehl ist viel zu lang, er sollte nicht länger sein als ca 250 bis 350 Zeichen.

Es gibt auch einen kombinierten Sendebefehl, damit können mehrere Sendebefehle hintereinander gesendet werden:
SC;R=1;SR;R=2380;P0=-420;P1=420;D=01;SR;R=1;P0=-15000;P1=15000;D=01;SR;R=1;P0=-420;P1=420;D=...

Gruß Ralf

FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

Xcoder

Aha, sehr interessant, Danke. Das macht dann schon einiges einfacher.

Die Daten kann man offenbar auch in hex liefern mit der Bit-Periode in C=xxx, oder geht das nur für SM (Manchester)?

SC;R=1;SR;R=2380;P0=-420;P1=420;D=01;SR;R=1;P0=-15000;P1=15000;D=01;SR;R=1;C=420;D=1310000000E3255400012E6718CA00A0400DF4

Oder muss ich mit SR immer alle Daten mit P[0-6]= Perioden encodieren? Gibt es da für ein Tool?

Jetzt fehlen irgendwie noch die Start- und Stop-Bits. Wie geht das?

Gruss

Ralf9

Ja, das mit hex und  C=xxx geht nur bei SM (Manchester)?
Bei SR (Sendraw)  müssen immer alle Daten mit P[0-6]= Perioden gesendet werden.
Für Deinen Fall mit der Wake-up Preamble gibt es kein Tool das dies vereinfachen könnte.

Gruss Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

Xcoder

Noch mal danke.

Darf ich wenn ich wenn ich 2 oder mehr Nullen senden will auch einfach P0=-420;P1=420;P2=-420;P3=2000;D=2100000013 senden um z.B. 0x81? 2 wäre dann das start bit und 3 das stop bit?

Auch wenn das gehen sollte, wie kann man damit überhaupt mehr als nur wenige Bytes senden? Ich hätte zum Beispiel dieses Telegram mit nur gerade 15 Bytes:
13 10 00 00 00 E3 25 54 00 01 2e 67 18 ca 00 A0 40 0D F4

Das gibt dann schon 291 Zeichen. Also mehr als 250...

SC;R=1;SR;R=2380;P0=-420;P1=420;D=01;SR;R=1;P0=-15000;P1=15000;D=01;P0=-420;P1=420;P2=-420;P3=2000;D=2000100113200010000320000000032000000003200000000321110001132001001013201010100320000000032000000013200101110320110011132000110003211001010320000000032101000003201000000320000110132111101003

Gruss, Xcoder

Ralf9

Wenn Du mehr als ca 15-20 Byte senden willst wird es schwierig.

Ich sehe ein anderes Problem, in der Protokollbeschreibung steht was von bidirektionaler Komunikation mit acknowledge oder handshake, dies wird vom Signalduino nicht unterstützt.

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

Xcoder

Zitat von: Ralf9 am 14 April 2019, 20:18:18
Wenn Du mehr als ca 15-20 Byte senden willst wird es schwierig.

OK, dass ist schon etwas doof... Welche Limite gibt es beim Empfang?

ZitatIch sehe ein anderes Problem, in der Protokollbeschreibung steht was von bidirektionaler Komunikation mit acknowledge oder handshake, dies wird vom Signalduino nicht unterstützt.

Wieso nicht? Ich kann doch etwas senden und danach geht er wieder auf Empfang. Mir ist schon klar das das FHEM Modul das nicht kann. Aber der Stick und die Firmware sollten doch problemlos senden und empfangen können.

Ich habe die Sache nun etwas liegen gelassen da ich vermutete dass sowieso alles mit AES verschlüsselt ist. Zumindest bei den Wasserzählern wohl nun aber doch nicht. Da wird als Protokoll EN60870-5 (M-Bus) angegeben. Hat da jemand kompakte Informationen wie solche Telegramme aufgebaut sein könnten?

Gruss, Xcoder

Xcoder

Kann ich nicht einfach den buf in send.h/send_cmd() vergrössern?

Leider kriege ich es hier weder auf OS-X noch in Linux gebacken als radino CC1101 Version gebacken...

Kannst Du auch noch mal die ander Frage oben anschauen.

Danke, Xcoder

Ralf9

Kannst Du ungefähr abschätzen wieviel Bit Du senden musst, bist Du auf Emfang gehen mußt um auf das  acknowledge oder handshake zu warten?

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7