[gelöst] Erweiterung SD_Keeloq um RIO-Funkprotokoll

Begonnen von plin, 11 Januar 2020, 14:49:02

Vorheriges Thema - Nächstes Thema

HomeAuto_User

#45
Wenn du auf Anhieb mal die Zusamenstellung der Bits schon parat hast, könnt mir dies helfen.

Edit:

schon gefunden

2020.01.14 19:21:35 5: sduino_dummy: SD_Keeloq_Parse - typ = enjoy_motors_HS
2020.01.14 19:21:35 5: sduino_dummy: SD_Keeloq_Parse                                encoded     <- | ->     decrypts
2020.01.14 19:21:35 5: sduino_dummy: SD_Keeloq_Parse                sync counter |discriminat.| bt |           serial           | bt |V|R|padding
2020.01.14 19:21:35 5: sduino_dummy: SD_Keeloq_Parse - bitData = 1100101111011010 100001001101 0010 0000000010001011010010000000 0001 1 0
2020.01.14 19:21:35 5: sduino_dummy: SD_Keeloq_Parse - bitData = |->     must be calculated!    <-| 0000000100101101000100000000 1000 1 0
"Developer" heißt nicht, das man alles wissen kann!
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: purer Dschungel querbeet

plin

Zitat von: HomeAuto_User am 14 Januar 2020, 19:08:48
Wenn du auf Anhieb mal die Zusamenstellung der Bits schon parat hast, könnt mir dies helfen.
Da muss ich noch mal rangehen. Meine Messungen aus 2018 mitt OOK passen nicht zu den aktuell mitgeschnittenen ...
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

HomeAuto_User

Miss du mal und ich setze das mal so um wie ich bisher alle Modelle eingebunden habe und auch die Erfahrungen der Decrypt erhielt aus dem Netz ;-)
"Developer" heißt nicht, das man alles wissen kann!
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: purer Dschungel querbeet

plin

Damals war's der Stand aus der Anlage. Die Struktur wird passen, die Inhalte aber nicht mehr ganz.
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

plin

#49
Als Anlage die frischen 2020 Bits & Bytes

Der Motor sieht interessant aus:

Wenn man die Bits negiert und spiegelt sieht das so aus:
1111 .... .... .... -> 0000 -> 0 = Motor1
0111 .... .... .... -> 0001 -> 1 = Motor2
1011 .... .... .... -> 0010 -> 2 = Motor3
0011 .... .... .... -> 0011 -> 3 = Motor4
...

Bei der Richtung sind es die beiden bits in der Mitte:
.... .... .... 1100  = down
.... .... .... 1110 = stop
.... .... .... 1010  = up


FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

HomeAuto_User

Könntest du mir bitte mal noch die Sendekommandos für das Device

012D100
bereitstellen für die Kommandos
  • up
  • down
  • stop

Morgen werde ich es fortsetzen. Ich habe schon einen sehr guten Stand.  ;)
"Developer" heißt nicht, das man alles wissen kann!
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: purer Dschungel querbeet

plin

Zitat von: HomeAuto_User am 14 Januar 2020, 20:17:54
Könntest du mir bitte mal noch die Sendekommandos für das Device 012D100 bereitstellen für die Kommandos
  • up
  • down
  • stop

down
set mySIGNALduino raw SR;;R=4;;P0=-15562;;P1=400;;P2=-413;;P3=-4010;;P4=799;;P5=-811;;D=0121212121212121212121213421542151515151542154242154242421515421542421542151515151515154242424242424242421542424215421515421542421542424242424242424215151;;

stop
set mySIGNALduino raw SR;;R=4;;P0=-15618;;P1=398;;P2=-411;;P3=-4016;;P4=-813;;P5=798;;D=01212121212121212121212131414521452145214141452145252521414141414525214145214145252145214525252525252525214525252145214145214525214525252525252525252521412;;

up
set mySIGNALduino raw SR;;R=4;;P0=-15618;;P1=401;;P2=-410;;P3=-4014;;P4=-810;;P5=801;;D=0121212121212121212121213141414525214525214141452141414145214525214521414145214521452525252525252525252521452525214521414521452521452525252525252521452141;;
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

HomeAuto_User

@plin,

ich bitte dich mal zu testen nach einem

update all https://raw.githubusercontent.com/fhem/SD_Keeloq/pre-release_RIO_send/controls_SD_Keeloq.txt

Als Grundlage habe ich nun die Daten genommen welöche ich empfangen habe.
Das heißt, sobald eine Device angelegt wurde und somit bitMSG Daten zur Verfügung sind, so nehme ich mir dort den Rollingcode.
Somit vermeide ich vorerst einen festen Code zu nutzen.

  • Als erstes wäre es interesant, ob du ein Empfanges Kommando senden kannst.
    Sozusagen 1:1.

  • Sollte dies noch nicht funktionieren, so stelle bitte via Attribut Repeates den Wert höher.
    Lokal hier vor Ort konnte ich hin und her senden und empfangen das gleiche Ergebnis.

Wenn das geht, so kannst du mal testen wieweit es klappt, wenn ich ein up Kommando empfange, darauf ein down zu senden.

Sollte es nicht funktionieren, so müssten wir den Zusammenhang mit dem RollingCode mal herausfinden.
Hast du diese Codes beim senden vorab getestet immer oder einfach einige gesammelnt und beim senden frei verwendet?

MfG
"Developer" heißt nicht, das man alles wissen kann!
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: purer Dschungel querbeet

plin

Zitat von: HomeAuto_User am 15 Januar 2020, 12:55:45
ich bitte dich mal zu testen nach einem
update all https://raw.githubusercontent.com/fhem/SD_Keeloq/pre-release_RIO_send/controls_SD_Keeloq.txt
Frische Version eingespielt, FHEM durchgestartet, erstes Keeloq-Device gelöscht. Taste betätigt, bei neuem Device das modul enjoy_motors_HS eingestellt

Zitat von: HomeAuto_User am 15 Januar 2020, 12:55:45
Als Grundlage habe ich nun die Daten genommen welöche ich empfangen habe.
Das heißt, sobald eine Device angelegt wurde und somit bitMSG Daten zur Verfügung sind, so nehme ich mir dort den Rollingcode.
Somit vermeide ich vorerst einen festen Code zu nutzen.

  • Als erstes wäre es interesant, ob du ein Empfanges Kommando senden kannst.
    Sozusagen 1:1.
Laut Keeloq-Device habe ich
[/list]mySIGNALduino_RAWMSG: MS;P1=403;P2=-451;P3=-4034;P4=-808;P5=759;P7=-15540;D=1314521414525252141414525252521452525252141452141414525214141414145252525252525252145252521452141452145252145252525252525252145214171212121212121212121212;CP=1;SP=3;R=97;O;m2;
empfangen und dann mittel SDUINO raw command
SR;P1=403;P2=-451;P3=-4034;P4=-808;P5=759;P7=-15540;D=1314521414525252141414525252521452525252141452141414525214141414145252525252525252145252521452141452145252145252525252525252145214171212121212121212121212;CP=1;SP=3;R=97;O;m2;
gesendet -> keine Wirkung

Dann verkürzt auf (Präambel hatte sich wiederholt):
SR;P1=403;P2=-451;P3=-4034;P4=-808;P5=759;P7=-15540;D=13145214145252521414145252525214525252521414521414145252141414141452525252525252521452525214521414521452521452525252525252521452141;
-> keine Wirkung

Repeat eingebaut
SR;R=4;P1=403;P2=-451;P3=-4034;P4=-808;P5=759;P7=-15540;D=13145214145252521414145252525214525252521414521414145252141414141452525252525252521452525214521414521452521452525252525252521452141;
-> keine Wirkung

Die empfangene
bitMSG 10011010000111010010101010110100000000001000101101001000000000011000
umfasst 68 bits, es sollten aber 64 sein.

Zitat von: HomeAuto_User am 15 Januar 2020, 12:55:45
Sollte es nicht funktionieren, so müssten wir den Zusammenhang mit dem RollingCode mal herausfinden.
Hast du diese Codes beim senden vorab getestet immer oder einfach einige gesammelnt und beim senden frei verwendet?

Ich habe alle FB-Testen mehrfach durchgespielt, Codesequenzen aus dem fhem-log extrahiert, syntaktisch geprüft (Präambel sieht brauchbar aus, Message ist lang genug etc.), dann dekodiert bis zum Hex-Code und so  brauchbare Sequenzen ermittelt. Damals mit OOK musste ich die dann per Script durchtesten. Heute mit FSK sind die qualitativ deutlich besser und ich kann mir quasi irgendeinen nehmen und der funktioniert mit großer Wahrscheinlichkeit.
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

HomeAuto_User

Hallo,
ich habe nun mal deine Sendekommandos genutzt.

Eine
# set nano_433Mhz raw SR;;R=4;;P0=-15618;;P1=401;;P2=-410;;P3=-4014;;P4=-810;;P5=801;;D=0121212121212121212121213141414525214525214141452141414145214525214521414145214521452525252525252525252521452525214521414521452521452525252525252521452141;;
bringt als Ergebnis
11100100111011110100101110101000000000001000101101001000000001011000
mit einer Länge von 68.

Solltest du eine Länge von 64 haben, so müsstest du in einem anderen Protokoll herauskommen weil die HexLengh dann 17 ist und nicht 18.

Mach doch gern das Spielchen und setze dein Device auf verbose 5. So siehst du was beim Empfang reinkommt.
Wenn du nun sendest, so siehst du, das du das selbe eigendlcih heraus gibst.

Es kann nun einspielen, welche Firmware du nutzt oder der SIGNALduino interprätiert es nicht richtig.

Hast du mal in die Remote geschaut nach dem Chip?
"Developer" heißt nicht, das man alles wissen kann!
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: purer Dschungel querbeet

HomeAuto_User

#55
@plin.

Bitte fahre mal den Test

# Log3 $name, 4, "$ioname: SD_Keeloq_Set - Padding_bits              = $padding\n";
# $bits.= $padding;


Die beiden Zeilen auszukommentieren. Hier lag ein Fehler von mir vor, das ich diese vom SIGNALduino aufgefüllten bits mit nutze.

DEINE
SR;R=4;P0=-15618;P1=401;P2=-410;P3=-4014;P4=-810;P5=801;D=0121212121212121212121213141414525214525214141452141414145214525214521414145214521452525252525252525252521452525214521414521452521452525252525252521452141;

alte FALSCHE
SR;R=3;P0=400;P1=-400;P2=-4000;P3=-800;P4=800;P5=-15600;D=01010101010101010101010203030341410341410303034103030303410341410341030303410341034141414141414141414141034141410341030341034141034141414141414141034103034141415;

neues Ergebnis
SR;R=3;P0=400;P1=-400;P2=-4000;P3=-800;P4=800;P5=-15600;D=0101010101010101010101020303034141034141030303410303030341034141034103030341034103414141414141414141414103414141034103034103414103414141414141414103410303415;


Der Unterschied besteht noch, das der Sync zum Schluss gesendet wird, deswegen mehrere Wiederholungen testen.

PS: Sollte das alles nichts helfen, so kann ich die zu sendenden Teile noch umbauen auf raw.
"Developer" heißt nicht, das man alles wissen kann!
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: purer Dschungel querbeet

plin

Zitat von: HomeAuto_User am 15 Januar 2020, 19:06:01
@plin.
Bitte fahre mal den Test
# Log3 $name, 4, "$ioname: SD_Keeloq_Set - Padding_bits              = $padding\n";
# $bits.= $padding;


Das sieht besser aus. Auf die Sequenz
SR;P1=379;P2=-15672;P4=-448;P5=-4036;P6=776;P7=-813;D=1564646464646417171717171717176464176464641717171764641717641764646464646464646464176464641764171764176464176464646464646464176417121414141414141414141414;
hat der Motor direkt reagiert.
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

plin

#57
Zitat von: HomeAuto_User am 15 Januar 2020, 18:56:14
Hast du mal in die Remote geschaut nach dem Chip?
siehe https://forum.fhem.de/index.php/topic,106594.msg1005277.html#msg1005277

Da finde ich keinen HCS301. Muss wohl der PIC16F636 sein. Der ist auch von Microchip und kann Keeloq (http://ww1.microchip.com/downloads/en/devicedoc/41232d.pdf).
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

HomeAuto_User

Zitat von: plin am 15 Januar 2020, 21:33:52
Das sieht besser aus. Auf die Sequenz
SR;P1=379;P2=-15672;P4=-448;P5=-4036;P6=776;P7=-813;D=1564646464646417171717171717176464176464641717171764641717641764646464646464646464176464641764171764176464176464646464646464176417121414141414141414141414;
hat der Motor direkt reagiert.

Geht dann jeder Rillingcode den du auch empfängst, direkt zu senden?

Ich lade die Änderung direkt noch hoch,


Gesendet von iPhone mit Tapatalk Pro
"Developer" heißt nicht, das man alles wissen kann!
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: purer Dschungel querbeet

plin

Zitat von: HomeAuto_User am 15 Januar 2020, 21:55:03
Geht dann jeder Rollingcode den du auch empfängst, direkt zu senden?
nee, der hier
SR;P0=-761;P3=-15710;P4=453;P5=-368;P6=-4034;P7=844;D=4675754040757540407575757575754040754040757540754040754040407575407575757575757575407575754075404075407575407575757575757575757540434545454545454545454545;
geht z.B. nicht
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB