[gelöst] Erweiterung SD_Keeloq um RIO-Funkprotokoll

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

Vorheriges Thema - Nächstes Thema

plin

Zitat von: HomeAuto_User am 18 Januar 2020, 21:04:49
dann geht diese weiterhin?
set mySIGNALduino sendMsg P88#0x13EA5DA4808B48038#R1
Ja, habe das gerade noch mal verifiziert
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

Der Grund ist wie folgt,
deine Remote sendet teilweise im Verschlüsselten Teil was anderes.

2020.01.18 20:41:42 5: mySIGNALduino: dispatch P88#CB363E00808B48018
2020.01.18 20:41:42 2: mySIGNALduino: SD_Keeloq_Parse Unknown device unknown with Code 012D101 detected, please define (rawdate=CB363E00808B48018)
2020.01.18 20:41:42 2: autocreate: define SD_Keeloq_012D101 SD_Keeloq 012D101
2020.01.18 20:41:42 4: mySIGNALduino: Parse_MS, Decoded matched MS Protocol id 88 dmsg P88#CB363E00808B48018 length 68  RSSI = -29.5
2020.01.18 20:41:42 5: mySIGNALduino: Dispatch, P88#CB363E00808B48018, test gleich
2020.01.18 20:41:42 4: mySIGNALduino: Dispatch, P88#CB363E00808B48018, Dropped due to short time or equal msg

2020.01.18 20:42:18 4: mySIGNALduino: Read, msg READredu: MS;P0=-15608;P1=398;P2=-412;P3=-4014;P4=799;P5=-811;P6=-572;D=1342424215424242424215421542154215421542154215151542154215421542421542424242424242154242421542151542154242154242424242424242424215101212121212121212121646;CP=1;SP=3;R=89;O;m2;
2020.01.18 20:42:18 5: mySIGNALduino: Dispatch, P88#10555754808B48018, test ungleich: disabled
2020.01.18 20:42:18 5: mySIGNALduino: Dispatch, P88#10555754808B48018, -29.5 dB, dispatch
2020.01.18 20:42:18 5: mySIGNALduino: dispatch P88#10555754808B48018
2020.01.18 20:42:18 4: mySIGNALduino: SD_Keeloq_Parse device enjoy_motors_HS with rawData=10555754808B48018, hlen=17
2020.01.18 20:42:18 5: ######## DEBUG PARSE - START ########
2020.01.18 20:42:18 5: mySIGNALduino: SD_Keeloq_Parse - bitData = 00010000010101010101011101010100100000001000101101001000000000011000

2020.01.18 20:42:18 5: mySIGNALduino: SD_Keeloq_Parse - model = enjoy_motors_HS
2020.01.18 20:42:18 5: mySIGNALduino: SD_Keeloq_Parse - DMSG  = P88#10555754808B48018
2020.01.18 20:42:18 5: mySIGNALduino: SD_Keeloq_Parse                                encoded     <- | ->     decrypts
2020.01.18 20:42:18 5: mySIGNALduino: SD_Keeloq_Parse                sync counter |discriminat.| bt |           serial           | bt |V|R|padding
2020.01.18 20:42:18 5: mySIGNALduino: SD_Keeloq_Parse - bitData = 0001000001010101 010101110101 0100 1000000010001011010010000000 0001 1 0
2020.01.18 20:42:18 5: mySIGNALduino: SD_Keeloq_Parse - bitData = |->     must be calculated!    <-| 0000000100101101000100000001 1000 1 0

2020.01.18 20:42:18 5: ######## DEBUG without LSB & MSB Keys ########
2020.01.18 20:42:18 5: mySIGNALduino: SD_Keeloq_Parse - decrypts button                      = stop
2020.01.18 20:42:18 5: mySIGNALduino: SD_Keeloq_Parse - decrypts serial (hex)                = 012D101 (for each channel)


Sobald du da eine im Device hast, welche dir was "anderes sagt" so geht es nicht mehr.
Ich vermute der RollingCode hat eine Lücke oder sowas.

Das Problem besteht darin, ich müsste dir 8 Optionen zur Verfügung stellen um die Codes einzutragen.

Kannst du sicherstellen, das die von dir funktionierenden RollCodes IMMER funktionieren wenn du diese hinterinander senden würdest über Tage ...
"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 18 Januar 2020, 21:19:19
Das Problem besteht darin, ich müsste dir 8 Optionen zur Verfügung stellen um die Codes einzutragen.
Kannst du sicherstellen, das die von dir funktionierenden RollCodes IMMER funktionieren wenn du diese hinterinander senden würdest über Tage ...
Aktuell arbeite ich ja mit meinen Mitschnitten, also habe ich bei 6 Motoren und 3 Buttons in Summe 18 verschiedene Rolling-Codes im Einsatz. Seit 30.12. sende ich diese stabil mit GFSK. Deshalb wäre mein Ansatz meine langen RAW-Commands zumindest durch die kürzeren P88er Codes zu ersetzen und mittels sendMsg zu senden. Sieht eleganter aus  ;).
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

#108
Das stellt ein Workaround dar und ich würde nen Ziel haben wollen wo du das mit dem normalen Kommando senden kannst  >:(

Edit:
Können wir 18 DMSG mit Motornummer und Kommando mal niederschreiben?
Ich habe im Kopf diese in einem Attribut zu speichern und davon zu nehmen aber dazu bräuchte ich die Zuarbeit und das ich auch sehe ob ich nur die RollingCodes als Hex benötige oder das komplette Kommando.

In etwa so
{
"CH1_down" => "1234",
"CH1_up" => "45678"
}
"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 18 Januar 2020, 21:28:16
Dss stellt ein Workaround dar und ich würde nen Ziel haben wollen wo du das mit dem normalen Kommando senden kannst  >:(
Auch mein Motto ist "Aufgeben gilt nicht". Seit einem nervigen Projekt im Jahr 2015 aber mit dem Zusatz "es ist aber nicht immer einfach"  ::).
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

Zitat von: HomeAuto_User am 18 Januar 2020, 21:28:16
Das stellt ein Workaround dar und ich würde nen Ziel haben wollen wo du das mit dem normalen Kommando senden kannst  >:(

Edit:
Können wir 18 DMSG mit Motornummer und Kommando mal niederschreiben?
Ich habe im Kopf diese in einem Attribut zu speichern und davon zu nehmen aber dazu bräuchte ich die Zuarbeit und das ich auch sehe ob ich nur die RollingCodes als Hex benötige oder das komplette Kommando.
Die Frage ist: Sind die Fernbedienungen noch irgendwie individuell kodiert oder nutzen alle die gleichen Rolling Codes (also im Chip fest verdrahtet)?

Für mich wäre dann die Variante mit dem Anlernen und ablegen in drei Attributen für up/stop/down noch akzeptabel/halbwegs komfortabel.
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 18 Januar 2020, 21:37:18
Die Frage ist: Sind die Fernbedienungen noch irgendwie individuell kodiert oder nutzen alle die gleichen Rolling Codes (also im Chip fest verdrahtet)?

Die Erfahrungen mit JaroLift wo es unschlüsselt wurde, zeigte mir, jede Fernbedienung hat eine eigene ID und der Rolling Code wird maximal doppelt auftreten in zich tausend Fällen.
Das können wir nur herausbekommen wenn wir die RollingCodes alle aufzeichnen würden *smile*

Zitat von: plin am 18 Januar 2020, 21:37:18
Für mich wäre dann die Variante mit dem Anlernen und ablegen in drei Attributen für up/stop/down noch akzeptabel/halbwegs komfortabel.

Dann aufgabe für dich, mal die DMSG zusammen zu fassen mit Motornummer und Kommando.
Dann via 3 oder einem Attribut kann man diese definieren.

Haben wir schon den Test mal vollzogen einen RollingCode einfach nur zu ersetzen ob er dann erkannt wird oder ob dieser den Zusammenhang mit den folgenden Bits veknüpft.
"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 18 Januar 2020, 21:28:16
Edit:
Können wir 18 DMSG mit Motornummer und Kommando mal niederschreiben?
Ich habe im Kopf diese in einem Attribut zu speichern und davon zu nehmen aber dazu bräuchte ich die Zuarbeit und das ich auch sehe ob ich nur die RollingCodes als Hex benötige oder das komplette Kommando.

In etwa so
{
"CH1_down" => "1234",
"CH1_up" => "45678"
}


Ich habe dir eine PN geschickt ...
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

Zitat von: HomeAuto_User am 18 Januar 2020, 21:42:34
Haben wir schon den Test mal vollzogen einen RollingCode einfach nur zu ersetzen ob er dann erkannt wird oder ob dieser den Zusammenhang mit den folgenden Bits veknüpft.
Das war mein allererster Versuch eigene Codes zusammenzubauen und der war erfolglos.
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

Sehr auffällig ist, das deine Mitgeschnitten Codes auch doppelte Anfänge besitzen.
Das heißt, die Fernbedienung wird vielleicht erst beim loslassen den Rollingcode ändern oder nach x mal drücken.

PS: Liste habe, danke
"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

@plin,

ich habe begonnen etwas einzubauen und vielleicht wird es heute fertig.

Du kannst dann via einem Attribut die funktionierenden Codes für up/down/stop definieren. Bei jedem senden aus FHEM soll geschaut werden ob für das Kommando ,,Bsp up" ein Code vorliegt. Wenn ja, nutze diesen.

Da ich die Daten nicht sortiert durchlaufen möchte, so kannst du ggf. mehrere Codes eingeben weil bei jedem Klick startet ein anderer Durchlauf.

Wenn einer nicht geht, so kannst du die DMSG wieder nehmen und entfernen.

Ist das plausibel und vorstellbar?


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 19 Januar 2020, 10:12:33
Ist das plausibel und vorstellbar?
ja, das geht. Das ROLLO-Modul bietet auch mehrere Möglichkeiten, z.B. rl_commandUp, rl_commandUp2, rl_commandUp3.
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

Ich werde ein Attribut anstatt mehreren nutzen und weil es nur bei einem Model zutrifft verankerte ich es im userattr. Also wir weiten das nur auf dein Model aus um nicht andere User zu verunsichern. Eine Erweiterung auf andere Modell kann immer noch erfolgen wenn der Bedarf besteht.


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

HomeAuto_User

@plin

Du kannst gern mal einen Versuch wagen von dem Ansatz.
Soeben wurde ein update hochgeladen.

Nachdem du das Modell ausgewählt hast, so siehst du sofort, das das userattr erweitert wurde.
Da kannst du absofort das Attribut RollingCodes definieren mit den Codes, welche bei dir funktionieren.

Die Eingabe wurde hoffentlich selbsterklärend gestaltet wenn ein Fehler kommt.

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 19 Januar 2020, 17:43:44
Die Eingabe wurde hoffentlich selbsterklärend gestaltet wenn ein Fehler kommt.
Ich habe da ein kleines Problem mit dem "selbsterklärenden" Teil, in der Modul-Hilfe ist der ja noch nicht erläutert.

Ich habe im Coding nachgeschaut und es dann mit
RollingCodes:{ "down" => "P88#0x1D5EAAD9808B48038#R3", "stop" => "P88#0x79F77758808B48018#R3", "up" => "P88#0x0AE6FB82808B48058#R3" }
versucht. Im Log taucht aber immer nur die Meldung
SD_Keeloq_Set - sendMsg found no RollingCode for button stop, rebuild msg from receive
auf.

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