Closed chrwh closed 1 year ago
Hello
the encoding used by your device cannot be decoded by RF433any, because it uses a scheme it cannot recognize. Fortunately RF433recv can decode it (at least I could test it successfully in a simulated environment).
1) Reason for RF433any NOT to recognize it
RF433any can recognize tribit or tribit-inverted where "short" is always followed by "long" and vice-versa. In your signal, the low signal has one duration, only the high signal has a short or long duration. RF433any cannot infer such a coding scheme (I might update it in the future... different story).
2) RF433recv usage
Because RF433recv uses predefined timings (as opposed to RF433any), it has more flexibility to decode "unusual" signals that are variations of tribit/tribit-inverted. Using the below code, the timings you posted could be decoded:
// CODE START rf.register_Receiver( RFMOD_TRIBIT_INVERTED, // mod 10000, // initseq 268, // lo_prefix 2500, // hi_prefix 268, // first_lo_ign 268, // lo_short 268, // lo_long 320, // hi_short 1250, // hi_long 0, // lo_last 10000, // sep 64, // nb_bits callback, 1000); // CODE END
And if using the below callback...
// CODE START void callback(const BitVector recorded) { Serial.print(F("code received: ")); char printed_code = recorded->to_str(); if (printed_code) { Serial.print(recorded->get_nb_bits()); Serial.print(F(" bits: [")); Serial.print(printed_code); Serial.print(F("]\n")); } if (printed_code) free(printed_code); } // CODE END
... then the output was: code received: 64 bits: [65 55 6a 96 59 5a a5 55]
3) Comment
You noticed that the decoder uses, among other timing options, these two below: 268, // lo_prefix 2500, // hi_prefix These options are necessary because in your signal snif timings, the "000" line is: 000 280, 2544 and while the low signal is fine (it is close enough to the low signal typical duration of 268), the high signal is TWICE AS LONG as the high long duration (1250). It therefore cannot fit to a long signal duration and must be ignored.
Best Regards, Sébastien Millet
Hi, Thank you so much for the answer. I have managed to get it receiving On/Off, but still nothing on the rest (will investigate further) Do you have any recommendation for sending this ? Best regards, Christian
I found your `RF433send' nad I got it working for the On and Off button on the remote. But I can't make the last 10 buttons work. I can't receive data from the with the same scheme as the On/Off buttons. I can sniff them, but that is all. Can you guide me on how to use the testplan from the FR433recv ?? Best regards, Christian
Here is another couple of sniffs: Up , 10220 000 264, 2564 001 256, 320 002 256, 1268 003 256, 1268 004 260, 324 005 256, 324 006 256, 1264 007 256, 320 008 256, 1276 009 256, 320 010 256, 1272 011 256, 332 012 264, 1268 013 264, 324 014 264, 1276 015 252, 328 016 264, 1264 017 264, 332 018 256, 1272 019 256, 1276 020 256, 336 021 260, 1272 022 256, 332 023 264, 1268 024 256, 332 025 256, 1272 026 256, 328 027 256, 328 028 256, 1280 029 256, 332 030 256, 1276 031 264, 1264 032 256, 336 033 256, 332 034 256, 1272 035 256, 332 036 256, 1280 037 256, 1272 038 256, 332 039 256, 340 040 256, 1276 041 256, 328 042 256, 1272 043 260, 336 044 256, 1276 045 256, 1272 046 256, 332 047 252, 1272 048 256, 336 049 256, 1276 050 256, 328 051 256, 1272 052 256, 336 053 256, 332 054 256, 340 055 248, 340 056 256, 340 057 248, 336 058 256, 1272 059 256, 340 060 248, 1280 061 248, 340 062 256, 1272 063 260, 328 064 256, 1280 065 256, 340 066 248, 1280 067 256, 1272 068 252, 328 069 256, 328 070 248, 1284 071 248, 340 072 256, 1272 073 256, 336 074 252, 1280 075 256, 332 076 256, 1284 077 256, 1272 078 252, 336 079 248, 1276 080 256, 340 081 248, 10216 082 260, 2564 083 256, 332 084 256, 1284 085 256, 1268 086 260, 328 087 256, 328 088 256, 1276 089 256, 332 090 256, 1276 091 256, 336 092 256, 1272 093 256, 332 094 256, 1276 095 264, 328 096 256, 1272 097 248, 328 098 260, 1280 099 256, 332 100 256, 1272 101 256, 1272 102 252, 340 103 256, 1276 104 256, 332 105 256, 1276 106 252, 336 107 260, 1272 108 256, 332 109 256, 340 110 256, 1276 111 252, 328 112 260, 1280 113 256, 1276 114 256, 328 115 256, 336 116 256, 1272 117 256, 332 118 256, 1284 119 248, 1284 120 252, 328 121 256, 336 122 256, 1276 123 256, 332 124 256, 1280 125 248, 336 126 260, 1272 127 256, 1284 128 248, 340 129 256, 1272 130 252, 344 131 248, 1280 132 248, 340 133 256, 1276 134 256, 336 135 252, 336 136 252, 328 137 256, 336 138 248, 340 139 256, 340 140 248, 1284 141 256, 328 142 256, 1280 143 248, 336 144 248, 1280 145 256, 332 146 256, 1280 147 248, 336 148 252, 1280 149 248, 1280 150 248, 340 151 248, 344 152 248, 1280 153 252, 336 154 248, 1280 155 248, 336 156 256, 1284 157 248, 336 158 252, 1280 159 256, 1284 160 248, 336 161 248, 1280 162 248, 344 163 248, 10208 164 256, 2572 165 256, 332 166 256, 1272 167 256, 1280 168 256, 332 169 256, 332 170 248, 1280 171 248, 336 172 256, 1272 173 256, 332 174 256, 1284 175 256, 328 176 256, 1272 177 256, 340 178 248, 1280 179 248, 332 180 256, 1272 181 256, 336 182 252, 1280 183 256, 1276 184 256, 336 185 248, 1272 186 260, 332 187 256, 1272 188 248, 340 189 248, 1280 190 248, 336 191 256, 328 192 256, 1280 193 248, 340 194 248, 1284 195 256, 1272 196 256, 336 197 256, 332 198 256, 1272 199 256, 340 200 248, 1280 201 260, 1272 202 256, 340 203 248, 340 204 256, 1276 205 256, 332 206 256, 1280 207 252, 336 208 248, 1280 209 256, 1276 210 256, 340 211 248, 1280 212 252, 336 213 256, 1276 214 256, 336 215 248, 1280 216 248, 336 217 256, 336 218 248, 340 219 248, 336 220 256, 340 221 248, 336 222 256, 1280 223 248, 336 224 248, 1280 225 256, 340 226 248, 1280 227 252, 336 228 248, 1288 229 248, 340 230 248, 1284 231 248, 1280 232 252, 336 233 252, 336 234 240, 1284 235 256, 336 236 248, 1280 237 248, 336 238 252, 1280 239 256, 340 240 248, 1284 241 256, 1272 242 256, 328 243 256, 1276 244 248, 344 245 248, 10216 246 256, 2564 247 264, 332 248 256, 1276 249 256, 1276
Down: , 10212 000 296, 2536 001 272, 308 002 272, 1256 003 272, 1252 004 272, 308 005 276, 308 006 272, 1252 007 264, 332 008 248, 1272 009 256, 324 010 256, 1276 011 264, 316 012 268, 1256 013 276, 308 014 276, 1260 015 272, 308 016 272, 1272 017 248, 344 018 244, 1288 019 248, 1272 020 264, 324 021 264, 1264 022 268, 316 023 268, 1276 024 240, 352 025 240, 1284 026 256, 336 027 252, 336 028 248, 1272 029 256, 332 030 256, 1284 031 248, 1276 032 256, 336 033 252, 344 034 228, 1304 035 248, 340 036 248, 1288 037 240, 1288 038 244, 344 039 240, 352 040 232, 1304 041 216, 368 042 216, 1308 043 220, 368 044 228, 1312 045 220, 1312 046 216, 364 047 220, 1312 048 220, 368 049 228, 1304 050 224, 368 051 224, 1300 052 228, 352 053 240, 352 054 244, 344 055 248, 340 056 248, 344 057 240, 348 058 248, 1280 059 244, 352 060 240, 1288 061 240, 352 062 232, 1296 063 232, 352 064 224, 1312 065 220, 376 066 220, 1296 067 248, 1288 068 240, 348 069 240, 344 070 240, 1288 071 252, 324 072 264, 1264 073 272, 324 074 264, 1272 075 260, 324 076 260, 1276 077 264, 1276 078 248, 340 079 264, 316 080 264, 1256 081 268, 10208 082 256, 2568 083 256, 336 084 256, 1260 085 300, 128 086 100, 12 087 24, 56 088 452, 40 089 64, 84 090 484, 36 091 544, 116 092 56, 88 093 292, 704 094 84, 428 095 292, 292 096 296, 1240 097 276, 312 098 272, 1272 099 248, 344 100 248, 1284 101 240, 348 102 240, 2076 103 56, 1304 104 256, 328 105 264, 1260 106 280, 636 107 12, 72 108 112, 8 109 676, 32 110 1312, 20 111 68, 28 112 160, 48 113 32, 16 114 308, 68 115 508, 156 116 24, 308 117 24, 40 118 132, 48 119 724, 168 120 20, 40 121 340, 172 122 92, 48 123 184, 64 124 4, 32 125 116, 72 126 108, 76 127 56, 52 128 308, 136 129 56, 64 130 300, 148 131 16, 100 132 292, 368 133 4, 92 134 4, 436 135 4, 248 136 296, 300 137 288, 1244 138 288, 1244 139 284, 308 140 276, 308 141 288, 1244 142 280, 316 143 272, 1260 144 280, 1244 145 280, 308 146 284, 308 147 280, 1252 148 280, 308 149 280, 1256 150 268, 312 151 268, 1264 152 264, 1268 153 264, 332 154 256, 1272 155 252, 336 156 252, 1280 157 248, 348 158 240, 1284 159 248, 340 160 248, 336 161 260, 336 162 248, 336 163 256, 328 164 264, 324 165 264, 1268 166 272, 316 167 268, 1256 168 268, 320 169 260, 1268 170 272, 316 171 272, 1268 172 264, 320 173 268, 1256 174 268, 1256 175 272, 324 176 264, 324 177 264, 1268 178 268, 316 179 272, 1264 180 264, 324 181 272, 1260 182 272, 316 183 272, 1264 184 268, 1256 185 264, 332 186 264, 324 187 256, 1268 188 264, 10208 189 264, 2560 190 272, 316 191 272, 1268 192 264, 1264 193 264, 320 194 268, 324 195 264, 1276 196 264, 316 197 264, 1272 198 264, 332 199 256, 1272 200 256, 332 201 256, 1280 202 260, 328 203 252, 1276 204 256, 332 205 256, 1284 206 256, 328 207 260, 1272 208 256, 1272 209 256, 340 210 256, 1272 211 256, 328 212 252, 1280 213 248, 336 214 240, 1284 215 248, 344 216 252, 336 217 248, 1280 218 248, 336 219 248, 1292 220 248, 1280 221 248, 336 222 252, 336 223 256, 1272 224 256, 340 225 248, 1284 226 256, 1272 227 256, 328 228 252, 336 229 248, 1280 230 256, 340 231 248, 1280 232 252, 336 233 248, 1288 234 240, 1288 235 232, 348 236 240, 1296 237 236, 352 238 236, 1296 239 240, 348 240 240, 1288 241 240, 352 242 240, 344 243 244, 344 244 248, 344 245 240, 344 246 248, 348 247 240, 1288 248 252, 336 249 244, 1280
Hello
the timings look the same, but the separator shows up on line 81 (your last post) instead of line 65 (your initial post). The line 65 corresponded to 64 bits, so obviously here line 81 should correspond to 80 bits. -> I suggest in the receiver you replace 64 with 80 and it should work.
Of course you can register multiple receivers so that one will work for 64 bits and the other one for 80.
Regards, Sébastien Millet
Hi,
Thank you so much for all of your help :-D. I have now all 12 button decoded and working, there are 4 different bit sizes 64, 80, 84 and 92 bits.
Best regards, Christian
Please document the arguments, so I can decode following signal. Following Arduino library works perfectly (but is not universal) unfortunately.
https://github.com/1technophile/NewRemoteSwitch/blob/master/docs/new%20kaku%20protocol.txt
f.register_Receiver(
RFMOD_TRIBIT_INVERTED, // mod
10000, // initseq
268, // lo_prefix
2500, // hi_prefix
268, // first_lo_ign
268, // lo_short
268, // lo_long
320, // hi_short
1250, // hi_long
0, // lo_last
10000, // sep
64, // nb_bits
callback,
1000);
-----BEGIN RF433 LOW HIGH SEQUENCE-----
, 10516
000 272, 2492
001 272, 232
002 272, 1212
003 268, 1216
004 272, 232
005 272, 232
006 272, 1216
007 272, 232
008 272, 1212
009 272, 1212
010 272, 244
011 272, 232
012 272, 1232
013 272, 1212
014 280, 236
015 276, 228
016 272, 1220
017 268, 1216
018 272, 240
019 272, 1216
020 272, 240
021 280, 232
022 272, 1224
023 276, 1212
024 272, 244
025 276, 236
026 272, 1220
027 268, 244
028 264, 1228
029 272, 236
030 272, 1228
031 272, 1220
032 268, 240
033 272, 240
034 264, 1220
035 280, 232
036 272, 1224
037 268, 240
038 264, 1232
039 268, 236
040 272, 1228
041 268, 236
042 272, 1220
043 276, 236
044 272, 1220
045 272, 240
046 264, 1228
047 272, 240
048 264, 1228
049 272, 232
050 272, 1232
051 268, 240
052 264, 1224
053 276, 236
054 272, 1220
055 268, 1224
056 272, 240
057 272, 240
058 268, 1220
059 272, 1220
060 268, 240
061 272, 240
062 264, 1232
063 268, 232
064 272, 1224
065 268, 10504
066 272, 2500
067 272, 244
068 264, 1228
069 272, 1224
070 268, 240
071 272, 232
072 268, 1228
073 268, 232
074 272, 1220
075 268, 1220
076 272, 240
077 272, 244
078 272, 1220
079 272, 1224
080 272, 240
081 272, 240
082 264, 1228
083 272, 1220
084 268, 240
085 272, 1220
086 264, 244
087 268, 232
088 272, 1220
089 264, 1220
090 272, 240
091 268, 240
092 272, 1220
093 272, 236
094 268, 1228
095 272, 236
096 268, 1224
097 272, 1224
098 272, 240
099 272, 240
100 268, 1224
101 272, 240
102 264, 1228
103 268, 232
104 272, 1228
105 272, 236
106 272, 1220
107 272, 244
108 268, 1220
109 272, 244
110 268, 1224
111 272, 236
112 268, 1232
113 264, 240
114 268, 1224
115 272, 240
116 272, 1224
117 272, 232
118 272, 1228
119 264, 240
120 272, 1220
121 268, 1220
122 272, 240
123 272, 244
124 264, 1228
125 272, 1224
126 264, 248
127 272, 244
128 260, 1220
129 272, 244
130 268, 1224
131 272, 10500
132 272, 2508
133 272, 232
134 272, 1224
135 272, 1220
136 272, 240
137 268, 240
138 272, 1220
139 272, 240
140 264, 1228
141 272, 1220
142 260, 248
143 264, 240
144 272, 1224
145 272, 1220
146 272, 244
147 272, 240
148 272, 1220
149 268, 1220
150 272, 240
151 272, 1224
152 272, 240
153 272, 240
154 264, 1228
155 272, 1220
156 272, 244
157 272, 240
158 264, 1228
159 264, 240
160 272, 1220
161 268, 240
162 272, 1220
163 272, 1224
164 272, 240
165 272, 240
166 272, 1224
167 272, 240
168 264, 1232
169 264, 240
170 272, 1224
171 272, 240
172 272, 1224
173 272, 240
174 264, 1232
175 264, 240
176 272, 1220
177 268, 236
178 272, 1220
179 268, 236
180 264, 1228
181 264, 232
182 268, 1220
183 264, 240
184 272, 1224
185 272, 240
186 264, 1232
187 268, 1220
188 264, 252
189 268, 236
190 272, 1224
191 268, 1224
192 272, 240
193 268, 244
194 264, 1228
195 264, 244
196 272, 1220
197 272, 10500
198 272, 2504
199 264, 240
200 272, 1224
201 268, 1220
202 272, 240
203 268, 240
204 264, 1228
205 272, 236
206 272, 1228
207 272, 1216
208 272, 248
209 264, 244
210 272, 1220
211 272, 1224
212 272, 240
213 272, 240
214 260, 1228
215 272, 1220
216 272, 244
217 272, 1220
218 272, 240
219 268, 240
220 264, 1228
221 272, 1224
222 264, 248
223 264, 244
224 272, 1220
225 272, 244
226 264, 1228
227 272, 236
228 272, 1228
229 272, 1216
230 272, 248
231 272, 232
232 268, 1220
233 272, 240
234 264, 1228
235 272, 240
236 264, 1228
237 268, 232
238 272, 1228
239 264, 240
240 272, 1220
241 272, 244
242 264, 1228
243 272, 244
244 264, 1228
245 272, 236
246 272, 1220
247 272, 244
248 272, 1220
249 272, 240
-----END RF433 LOW HIGH SEQUENCE-----
Hello
not sure what you need, but will explain what the arguments are: 10000, // initseq = initialization sequense, very long in general, meant to prepare receiver to receive signal.
268, // lo_prefix = first low signal that is not part of encoding (= to ignore in the decoding). Rarely used, but your posted signal makes use of it!
2500, // hi_prefix = first high signal that is not part of encoding (= to ignore in the decoding). Same as lo_prefix, is rarely used, but your posted signal makes use of it!
Both lo_prefix and hi_prefix are 0 most often.
268, // first_lo_ign In the particular case of tribit-inverted, because coding is made of "high signal then low signal" tied together, the first low signal is not used.
268, // lo_short 268, // lo_long Your signal is using different timings only in the "high" signal. The low signal has only one duration therefore here, lo_short = lo_long.
320, // hi_short 1250, // hi_long Self-explanatory.
0, // lo_last Used only with tribit (not tribit inverted). In tribit, the last low signal (just before separator) is not used. lo_last with "tribit" is the analogous of first_lo_ign with "tribit inverted".
10000, // sep The separator. As opposed to initseq, this one is (most often) shorter than initseq and aims to separate two consecutive signals. Indeed in most systems signals are emitted more than once, to increase chances of being successfully received. These signals sent in a row are separated by "sep".
64, // nb_bits Self-explanatory.
callback, Function called when signal received, see example codes.
1000 Duration (in ms) between two consecutive calls to callback. Because signals are (most often) sent multiple times, your callback could be called multiple times for the same "button push". This parameter will ensure that number of milliseconds between two consecutive calls to callback. See it as a "de-duplicate" parameter (set it to 0 if you want your callback to be called no matter how recent the last call is).
);
Hope this helps,
Regards, S. Millet
Hello
did it help you understand the timings involved?
Regards
Hi, I'm, trying to decode an remote (EGLO By DIO), but I can't decode it. I have tried to sniff if, and get the following. Can anybody help out on how to proceed with this?
Thanks and best regards, Christian
Here is the output with 01_Main
----CODE START-----
// [EGLO By DIO LED lamp Remote]
rf.register_Receiver(
<unmanaged encoding>, // mod
10244, // initseq
0, // lo_prefix
0, // hi_prefix
0, // first_lo_ign
268, // lo_short
268, // lo_long
340, // hi_short (0 => take lo_short)
1292, // hi_long (0 => take lo_long)
0, // lo_last
0, // sep
0 // nb_bits
);
-----CODE END-----Here is the Sniffer output
Signal duration: 307676 us N LOW, HIGH -----BEGIN RF433 LOW HIGH SEQUENCE----- , 10228 000 280, 2544 001 272, 312 002 264, 1256 003 272, 1260 004 264, 324 005 268, 308 006 264, 1268 007 268, 312 008 268, 1252 009 272, 316 010 264, 1264 011 272, 316 012 276, 1260 013 272, 316 014 272, 1264 015 268, 312 016 268, 1268 017 272, 324 018 272, 1256 019 268, 1264 020 272, 324 021 264, 1264 022 268, 320 023 268, 1260 024 272, 324 025 256, 1268 026 272, 320 027 264, 328 028 264, 1260 029 264, 324 030 272, 1264 031 264, 1264 032 268, 324 033 264, 332 034 264, 1268 035 272, 320 036 264, 1272 037 264, 1268 038 264, 324 039 268, 320 040 260, 1264 041 272, 324 042 264, 1272 043 260, 320 044 264, 1272 045 264, 1268 046 264, 328 047 264, 1272 048 256, 332 049 264, 1272 050 256, 332 051 264, 1272 052 256, 328 053 264, 324 054 256, 1284 055 256, 328 056 264, 1272 057 264, 324 058 264, 1272 059 256, 332 060 264, 1272 061 256, 332 062 264, 1276 063 256, 332 064 260, 1272 065 264, 10220 066 276, 2560 067 268, 316 068 272, 1268 069 264, 1272 070 260, 320 071 276, 316 072 264, 1268 073 272, 324 074 272, 1264 075 272, 316 076 272, 1268 077 264, 324 078 268, 1264 079 272, 316 080 268, 1268 081 264, 324 082 264, 1272 083 264, 320 084 264, 1276 085 256, 1272 086 260, 328 087 260, 1276 088 256, 324 089 272, 1264 090 264, 328 091 256, 1280 092 256, 332 093 256, 332 094 264, 1272 095 256, 328 096 260, 1276 097 264, 1276 098 260, 320 099 264, 328 100 256, 1280 101 256, 332 102 264, 1272 103 252, 1272 104 264, 332 105 256, 332 106 264, 1272 107 260, 328 108 264, 1280 109 248, 332 110 256, 1276 111 256, 1272 112 260, 332 113 264, 1276 114 256, 332 115 256, 1272 116 260, 328 117 260, 1272 118 256, 332 119 264, 332 120 256, 1280 121 252, 332 122 256, 1280 123 264, 324 124 256, 1280 125 256, 328 126 264, 1268 127 264, 324 128 264, 1272 129 260, 336 130 256, 1284 131 248, 10224 132 268, 2568 133 272, 316 134 272, 1260 135 276, 1256 136 272, 324 137 272, 316 138 272, 1268 139 268, 316 140 272, 1272 141 264, 316 142 272, 1268 143 272, 324 144 268, 1268 145 264, 316 146 280, 1260 147 272, 320 148 260, 1272 149 256, 328 150 272, 1260 151 272, 1264 152 264, 328 153 264, 1268 154 264, 324 155 272, 1268 156 264, 320 157 272, 1268 158 264, 332 159 264, 324 160 264, 1272 161 260, 328 162 260, 1276 163 264, 1268 164 264, 328 165 264, 328 166 256, 1272 167 264, 324 168 264, 1276 169 260, 1264 170 272, 324 171 264, 324 172 264, 1272 173 264, 324 174 264, 1272 175 264, 324 176 272, 1268 177 264, 1264 178 260, 332 179 264, 1276 180 256, 332 181 264, 1272 182 256, 328 183 264, 1272 184 256, 332 185 264, 324 186 264, 1280 187 256, 332 188 264, 1280 189 248, 332 190 256, 1280 191 256, 328 192 264, 1276 193 264, 324 194 264, 1272 195 260, 328 196 260, 1284 197 256, 10216 198 268, 2560 199 272, 316 200 272, 1268 201 272, 1256 202 280, 316 203 272, 324 204 272, 1260 205 276, 316 206 268, 1264 207 264, 324 208 272, 1264 209 268, 316 210 268, 1268 211 264, 324 212 272, 1268 213 272, 312 214 268, 1264 215 264, 320 216 272, 1268 217 264, 1272 218 264, 320 219 268, 1260 220 272, 324 221 272, 1268 222 264, 320 223 268, 1256 224 260, 328 225 272, 316 226 272, 1268 227 272, 316 228 268, 1272 229 256, 1276 230 264, 316 231 272, 328 232 264, 1264 233 264, 328 234 264, 1268 235 272, 1264 236 264, 324 237 268, 324 238 264, 1272 239 264, 324 240 264, 1272 241 260, 328 242 260, 1276 243 264, 1268 244 264, 324 245 272, 1264 246 260, 324 247 272, 1272 248 256, 324 249 264, 1272 -----END RF433 LOW HIGH SEQUENCE-----