Versuch der Einbindung einer 868 MHz Fernbedienung (Pergolux)

Begonnen von hgbaum, 20 August 2023, 17:17:11

Vorheriges Thema - Nächstes Thema

hgbaum

Hallo liebe Experten,

ich möchte gerne die Fernbedienung des Stellmotors unserer Pergolux Pergola einbinden.
Es handelt sich um eine schlichte Fernbedienung mit den 5 Knöpfen "auf", "stopp", "zu" sowie "Licht an" und "Licht aus". Diese funkt laut Aufdruck auf 868.35 MHz.
Ich habe einen nano CUL mit SIGNALduino angeschafft und diesen erfolgreich in FHEM angelegt.
Ich sage es direkt dazu: Ich kenne mich in FHEM gar nicht aus, habe dieses nur wegen der anscheinend sehr guten Möglichkeiten zur Einbindung eines solchen Funksenders installiert (aktuell in Windows). Am Ende möchte ich das ganze in mein bestehendes OpenHab (RasbPi) einbinden.

Ich habe nun Verbose auf 5 gesetzt, die Fernbedienung gedrückt und im Log beobachtet was passiert. Es kamen diverse Nachrichten rein, allerdings keine die einer anderen gleicht. Ich hatte naiv damit gerechnet, dass wenn ich eine Taste drücke, immer das gleiche Signal gesendet wird. Dem scheint allerdings nicht so zu sein.
Was mich auch irritiert: Die Zeitstempel im Log passen oftmals nicht zu dem Zeitpunkt des "Tastedrückens". Ich fange also vermutlich diverse Fremdsignale ein.
Habt ihr einen Tipp wie ich die relevanten Signal herausfiltern kann und wie ich dann weiter vorgehen sollte?

Gerne stelle ich Logs hier ein, wenn ihr mir sagt, welcher Teil euch interessiert.
Herzlichen Dank im Voraus!

Martin

JoWiemann

Hallo Martin,

ich glaube nicht dass das so Funktion. Bei 868 wird oft eine Frequenzmodulation mit Rolling Code benutzt. Oft sind zusätzlich die Signale verschlüsselt, damit nicht jeder Deine Rollos fahren kann.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

hgbaum

hmm... das wäre schade. Du meinst also, es gibt keine Chance die Fernbedienung zu klonen? Und wenn die bestehende FB kaputt geht hätte ich dann ja ein Problem, oder?

JoWiemann

Du solltest eine Neue vom Hersteller anlernen können. Die Frage ist, ob Du jemanden findest der Lust und Zeit das Protokoll zu analysieren, wofür er dann auch eine Fernbedienung und einen Rollo-Motor bräuchte. Solange es keine Doku vom Hersteller dazu gibt ist das echt ein großer Zeitaufwand, was ich aus eigener Erfahrung untermauern kann.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

elektron-bbs

Zitat von: hgbaum am 20 August 2023, 17:17:11ich möchte gerne die Fernbedienung des Stellmotors unserer Pergolux Pergola einbinden.
Es handelt sich um eine schlichte Fernbedienung mit den 5 Knöpfen "auf", "stopp", "zu" sowie "Licht an" und "Licht aus". Diese funkt laut Aufdruck auf 868.35 MHz.

Ich habe nun Verbose auf 5 gesetzt, die Fernbedienung gedrückt und im Log beobachtet was passiert. Es kamen diverse Nachrichten rein, allerdings keine die einer anderen gleicht. Ich hatte naiv damit gerechnet, dass wenn ich eine Taste drücke, immer das gleiche Signal gesendet wird. Dem scheint allerdings nicht so zu sein.
Was mich auch irritiert: Die Zeitstempel im Log passen oftmals nicht zu dem Zeitpunkt des "Tastedrückens". Ich fange also vermutlich diverse Fremdsignale ein.
Habt ihr einen Tipp wie ich die relevanten Signal herausfiltern kann und wie ich dann weiter vorgehen sollte?

Poste doch mal ein Log, Verbose 4 sollte reichen.
Du könntest beim SIGNALduino den Parameter "cc1101_rAmpl" auf 24 setzen, damit er unempfindlicher wird und somit weniger andere Signale empfängt.
Die Nachrichten der Fernbedienung zuordnen kannst du anhand der Zeitstempel.
Intel(R) Atom(TM) CPU N270 mit 2 SIGNALduino nanoCC1101 + ESPEasy 2x serial server SIGNALduino nanoCC1101, Raspberry Pi 2 mit 2 CUL Stackable CC1101, Raspberry Pi 3 mit SIGNALduino radino + nano328 + 2 x SIGNAL-ESP CC1101 + LaCrosseGateway

hgbaum

Hallo und schon mal Danke für die weiteren Empfehlungen!
Hier zunächst meine Konfiguration:

define traxCUL SIGNALduino COM7@57600
attr traxCUL verbose 4
#   Clients    :CUL_EM:CUL_FHTTK:CUL_TCM97001:CUL_TX:CUL_WS:Dooya:FHT:FLAMINGO:FS10:FS20: :Fernotron:Hideki:IT:KOPP_FC:LaCrosse:OREGON:PCA301:RFXX10REC:Revolt:SD_AS:SD_Rojaflex: :SD_BELL:SD_GT:SD_Keeloq:SD_RSL:SD_UT:SD_WS07:SD_WS09:SD_WS:SD_WS_Maverick:SOMFY: :Siro:SIGNALduino_un:
#   DEF        COM7@57600
#   DMSG       nothing
#   DevState   initialized
#   DeviceName COM7@57600
#   FUUID      64e21ee0-f33f-f16f-3eeb-5f8b94c586967b17
#   IDsNoDispatch 2,72.1,82
#   LASTDMSG   nothing
#   LASTDMSGID nothing
#   NAME       traxCUL
#   NR         32
#   PARTIAL   
#   STATE      opened
#   TIME       1692811371.52588
#   TYPE       SIGNALduino
#   cc1101_available 1
#   eventCount 15
#   sendworking 0
#   version    V 3.5.0 SIGNALduino cc1101 (chip CC1101) - compiled at Jul  8 2022 18:09:56
#   versionProtocols 1.48
#   versionmodul 3.5.4
#   MatchList:
#     10:SD_WS07 ^P7#[A-Fa-f0-9]{6}[AFaf][A-Fa-f0-9]{2,3}
#     11:SD_WS09 ^P9#F[A-Fa-f0-9]+
#     12:SD_WS   ^W\d+x{0,1}#.*
#     13:RFXX10REC ^(20|29)[A-Fa-f0-9]+
#     14:Dooya   ^P16#[A-Fa-f0-9]+
#     15:SOMFY   ^Ys[0-9A-F]+
#     16:SD_WS_Maverick ^P47#[A-Fa-f0-9]+
#     17:SD_UT   ^P(?:14|20|24|26|29|30|34|46|56|68|69|76|78|81|83|86|90|91|91.1|92|93|95|97|99|104|105|114|118|121)#.*
#     18:FLAMINGO ^P13\.?1?#[A-Fa-f0-9]+
#     19:CUL_WS  ^K[A-Fa-f0-9]{5,}
#     1:IT       ^i......
#     20:Revolt  ^r[A-Fa-f0-9]{22}
#     21:FS10    ^P61#[A-F0-9]+
#     22:Siro    ^P72#[A-Fa-f0-9]+
#     23:FHT     ^81..(04|09|0d)..(0909a001|83098301|c409c401)..
#     24:FS20    ^81..(04|0c)..0101a001
#     25:CUL_EM  ^E0.................
#     26:Fernotron ^P82#.*
#     27:SD_BELL ^P(?:15|32|41|42|57|79|96|98|112)#.*
#     28:SD_Keeloq ^P(?:87|88)#.*
#     29:SD_GT   ^P49#[A-Fa-f0-9]+
#     2:CUL_TCM97001 ^s[A-Fa-f0-9]+
#     30:LaCrosse ^(\S+\s+9 |OK\sWS\s)
#     31:KOPP_FC ^kr\w{18,}
#     32:PCA301  ^\S+\s+24
#     33:SD_Rojaflex ^P109#[A-Fa-f0-9]+
#     3:SD_RSL   ^P1#[A-Fa-f0-9]{8}
#     4:OREGON   ^(3[8-9A-F]|[4-6][0-9A-F]|7[0-8]).*
#     5:CUL_TX   ^TX..........
#     6:SD_AS    ^P2#[A-Fa-f0-9]{7,8}
#     7:Hideki   ^P12#75[A-F0-9]+
#     9:CUL_FHTTK ^T[A-F0-9]{8}
#     X:SIGNALduino_un ^[u]\d+#.*
#   QUEUE:
#   READINGS:
#     2023-08-23 19:30:15   cc1101_config   Freq: 868.350 MHz, Bandwidth: 325 kHz, rAmpl: 24 dB, sens: 8 dB, DataRate: 5.60 kBaud
#     2023-08-23 19:30:15   cc1101_config_ext Modulation: ASK/OOK
#     2023-08-23 19:22:55   cc1101_patable  C3E = 00 84 00 00 00 00 00 00 => 5_dBm
#     2023-08-23 19:37:53   ping            OK
#     2023-08-20 15:02:07   raw             No answer
#     2023-08-23 19:22:53   state           opened
#     2023-08-20 15:02:22   uptime          No answer
#     2023-08-20 15:02:13   version         No answer
#   additionalSets:
#   keepalive:
#     ok         1
#     retry      0
#   mcIdList:
#     10
#     11
#     12
#     18
#     43
#     47
#     52
#     57
#     58
#     96
#     119
#   mnIdList:
#     100
#     101
#     102
#     103
#     107
#     107.1
#     108
#     109
#     112
#     115
#     116
#     116.1
#     117
#   msIdList:
#     0
#     0.1
#     0.2
#     0.3
#     0.4
#     0.5
#     1
#     3
#     3.1
#     4
#     6
#     7
#     7.1
#     13
#     13.2
#     14
#     15
#     17
#     20
#     23
#     25
#     33
#     33.1
#     33.2
#     35
#     41
#     49
#     51
#     53
#     54.1
#     55
#     65
#     68
#     74.1
#     87
#     88
#     90
#     91.1
#     93
#     106
#     113
#     118.1
#   muIdList:
#     8
#     9
#     13.1
#     16
#     17.1
#     19
#     20.1
#     21
#     22
#     24
#     26
#     27
#     28
#     29
#     30
#     31
#     32
#     34
#     36
#     37
#     38
#     39
#     40
#     42
#     44
#     44.1
#     45
#     46
#     48
#     49.1
#     49.2
#     50
#     54
#     56
#     59
#     60
#     61
#     62
#     64
#     66
#     67
#     69
#     70
#     71
#     72
#     73
#     74
#     76
#     78
#     79
#     80
#     81
#     83
#     84
#     85
#     86
#     89
#     91
#     92
#     94
#     95
#     97
#     98
#     99
#     104
#     105
#     110
#     111
#     114
#     118
#     120
#     121
#     122
#
setstate traxCUL opened
setstate traxCUL 2023-08-23 19:30:15 cc1101_config Freq: 868.350 MHz, Bandwidth: 325 kHz, rAmpl: 24 dB, sens: 8 dB, DataRate: 5.60 kBaud
setstate traxCUL 2023-08-23 19:30:15 cc1101_config_ext Modulation: ASK/OOK
setstate traxCUL 2023-08-23 19:22:55 cc1101_patable C3E = 00 84 00 00 00 00 00 00 => 5_dBm
setstate traxCUL 2023-08-23 19:37:53 ping OK
setstate traxCUL 2023-08-20 15:02:07 raw No answer
setstate traxCUL 2023-08-23 19:22:53 state opened
setstate traxCUL 2023-08-20 15:02:22 uptime No answer
setstate traxCUL 2023-08-20 15:02:13 version No answer


Mit diesem Settings taucht aktuell nichts im Log auf, wenn ich eine Taste der Fernbedienung drücke.
Vielleicht liegt da ja schon ein Fehler?

hgbaum

Hier noch ein Auszug aus dem Log. Zu den Zeiten an denen ich eine Taste gedrückt habe taucht weiterhin leider kein Eintrag auf. :-(

2023.08.23 20:00:54 1: starting in console mode
2023.08.23 20:00:54 1: Including fhem.cfg
2023.08.23 20:00:55 3: WEB: port 8083 opened
2023.08.23 20:00:55 3: Opening traxCUL device COM7
2023.08.23 20:00:55 3: Setting traxCUL serial parameters to 57600,8,N,1
2023.08.23 20:00:55 1: PERL WARNING: SetCommState failed at FHEM/DevIo.pm line 666.
Ein an das System angeschlossenes Ger�t funktioniert nicht.

2023.08.23 20:00:55 1: traxCUL: DoInit, COM7@57600
2023.08.23 20:00:55 3: traxCUL device opened
2023.08.23 20:00:55 3: traxCUL: Attr, setting Verbose to: 4
2023.08.23 20:00:55 2: eventTypes: loaded 10 lines from ./log/eventTypes.txt
2023.08.23 20:00:55 1: Including ./log/fhem.save
2023.08.23 20:00:55 1: Messages collected while initializing FHEM:SecurityCheck:
  WEB is not password protected

Protect this FHEM installation by defining an allowed device with define allowed allowed
You can disable this message with attr global motd none

2023.08.23 20:00:55 3: initialUsbCheck return value: This command is not yet supported on windows
2023.08.23 20:00:55 0: Featurelevel: 6.2
2023.08.23 20:00:55 0: Server started with 10 defined entities (fhem.pl:27055/2023-01-14 perl:5.032001 os:MSWin32 user:er pid:8928)
2023.08.23 20:00:55 3: traxCUL: getAttrDevelopment, IdList ### Attribute development is in this version ignored ###
2023.08.23 20:00:55 3: traxCUL: IdList, attr whitelist disabled or not defined (all IDs are enabled, except blacklisted and instable IDs):
2023.08.23 20:00:55 3: traxCUL: IdList, MS 0 0.1 0.2 0.3 0.4 0.5 1 3 3.1 4 6 7 7.1 13 13.2 14 15 17 20 23 25 33 33.1 33.2 35 41 49 51 53 54.1 55 65 68 74.1 87 88 90 91.1 93 106 113 118.1
2023.08.23 20:00:55 3: traxCUL: IdList, MU 8 9 13.1 16 17.1 19 20.1 21 22 24 26 27 28 29 30 31 32 34 36 37 38 39 40 42 44 44.1 45 46 48 49.1 49.2 50 54 56 59 60 61 62 64 66 67 69 70 71 72 73 74 76 78 79 80 81 83 84 85 86 89 91 92 94 95 97 98 99 104 105 110 111 114 118 120 121 122
2023.08.23 20:00:55 3: traxCUL: IdList, MC 10 11 12 18 43 47 52 57 58 96 119
2023.08.23 20:00:55 3: traxCUL: IdList, MN 100 101 102 103 107 107.1 108 109 112 115 116 116.1 117
2023.08.23 20:00:55 4: traxCUL: IdList, development skipped = 2 5 63 72.1 75 77 82
2023.08.23 20:00:55 3: traxCUL: IdList, development protocol is active (to activate dispatch to not finshed logical module, enable desired protocol via whitelistIDs) = 2 72.1 82
2023.08.23 20:00:56 3: traxCUL: SimpleWrite_XQ, disable receiver (XQ)
2023.08.23 20:00:57 3: traxCUL: StartInit, get version, retry = 0
2023.08.23 20:00:57 4: traxCUL: Read, msg: V 3.5.0 SIGNALduino cc1101 (chip CC1101) - compiled at Jul  8 2022 18:09:56
2023.08.23 20:00:57 2: traxCUL: CheckVersionResp, initialized 3.5.4
2023.08.23 20:00:57 3: traxCUL: CheckVersionResp, enable receiver (XE)
2023.08.23 20:00:58 4: traxCUL: HandleWriteQueue, called
2023.08.23 20:00:58 4: traxCUL: SendFromQueue, called
2023.08.23 20:00:58 4: traxCUL: Read, msg: C0Dn11=2165E857C43023B900070018146C070091
2023.08.23 20:00:58 4: traxCUL: HandleWriteQueue, called
2023.08.23 20:00:58 4: traxCUL: HandleWriteQueue, nothing to send, stopping timer
2023.08.23 20:00:58 1: PERL WARNING: Use of uninitialized value $lfn in concatenation (.) or string at ./FHEM/00_SIGNALduino.pm line 3254.
2023.08.23 20:00:58 4: traxCUL: HandleWriteQueue, called
2023.08.23 20:00:58 4: traxCUL: SendFromQueue, called
2023.08.23 20:00:58 4: traxCUL: Read, msg: C3E = 00 84 00 00 00 00 00 00
2023.08.23 20:00:58 3: traxCUL: CheckCcpatableResponse, patable: 84
2023.08.23 20:00:59 4: traxCUL: HandleWriteQueue, called
2023.08.23 20:00:59 4: traxCUL: HandleWriteQueue, nothing to send, stopping timer
2023.08.23 20:01:57 4: traxCUL: KeepAlive, ok, retry = 0
2023.08.23 20:02:57 4: traxCUL: KeepAlive, not ok, retry = 1 -> get ping
2023.08.23 20:02:57 4: traxCUL: HandleWriteQueue, called
2023.08.23 20:02:57 4: traxCUL: SendFromQueue, called
2023.08.23 20:02:57 4: traxCUL: Read, msg: OK
2023.08.23 20:02:57 4: traxCUL: HandleWriteQueue, called
2023.08.23 20:02:57 4: traxCUL: HandleWriteQueue, nothing to send, stopping timer


elektron-bbs

Tja, empfängt der SIGNALduino denn überhaupt irgend etwas? Evtl. zur Kontrolle mal auf 433,92 MHz umstellen, da ist erfahrungsgemäß mehr los.
Intel(R) Atom(TM) CPU N270 mit 2 SIGNALduino nanoCC1101 + ESPEasy 2x serial server SIGNALduino nanoCC1101, Raspberry Pi 2 mit 2 CUL Stackable CC1101, Raspberry Pi 3 mit SIGNALduino radino + nano328 + 2 x SIGNAL-ESP CC1101 + LaCrosseGateway