1 #pragma once
2 
3 #ifndef _RXFCOMLIB_F11DD459_E67E_4B26_8E44_B964E99304BF
4 #define _RXFCOMLIB_F11DD459_E67E_4B26_8E44_B964E99304BF
5 
6 //#define IS_BIG_ENDIAN
7 // users with a big_endian system have to remove the comment slashes before the #define.
8 //
9 
10 /*
11 
12 Copyright 2011-2020, RFXCOM
13 
14 ALL RIGHTS RESERVED. This code is owned by RFXCOM, and is protected under
15 Netherlands Copyright Laws and Treaties and shall be subject to the
16 exclusive jurisdiction of the Netherlands Courts. The information from this
17 file may freely be used to create programs to exclusively interface with
18 RFXCOM products only. Any other use or unauthorized reprint of this material
19 is prohibited. No part of this code may be reproduced or transmitted in
20 any form or by any means, electronic or mechanical, including photocopying,
21 recording, or by any information storage and retrieval system without
22 express written permission from RFXCOM.
23 
24 The above copyright notice shall be included in all copies or substantial
25 portions of this file.
26 '----------------------------------------------------------------------------
27 */
28 
29 /*
30 SDK version 9.29	February 27, 2020
31 	LucciAirDC Speed 1 to 6 added
32 	Cherubini blinds added
33 
34 SDK version 9.28	January 11, 2020
35 	Rain9 TFA 30.3233.01 added
36 	Gaposa blinds added
37 
38 SDK version 9.27	August 12, 2019
39 	Hunter fan added
40 	Novy fan added
41 	BlindsT6 Light added
42 
43 SDK version 9.26	March 28, 2019
44 	sTypeBlindsT15 = Motostar
45 
46 SDK version 9.25	March 18, 2019
47 	no change in .h
48 
49 SDK version 9.24	March 16, 2019
50 	Chime Alfawise, dBell added
51 	SelectPlus3 changed to ByronBY
52 	Async Get Settings added
53 	868 protocol selection bits updated and changed
54 	WEATHER & SOLAR structures added
55 	ACH2010 moved to WEATHER
56 	WS5500 added
57 
58 SDK version 9.23	Oct 10, 2018
59 	Async data subtypes changed
60 
61 SDK version 9.22	Aug 18, 2018
62 	Falmec added
63 	Fan LucciAir DCII added
64 	Zemismart blinds added
65 	Async port added
66 	Firmware types added
67 	Livolo 1-10 device changed
68 
69 SDK version 9.21	June 18, 2018
70 	Fan LucciAir DC added
71 	Casafan added
72 	FT1211R fan controller added
73 	Hualite blind added
74 	Lighting1 Oase added
75 
76 SDK version 9.20	May 29, 2018
77 	Lighting6 Cuveo added
78 
79 SDK version 9.19a	May 27, 2018
80 	FS20 commands added
81 
82 SDK version 9.19	May 26, 2018
83 	IRESPONSE868 added
84 	IRESPONSE updated
85 	433 & 868 config bits updated
86 
87 SDK version 9.18	May 11, 2018
88 	RAW transmit/receive added
89 	BlindsT6 intermediate position added
90 
91 SDK version 9.17	April 30, 2018
92 	868 config bits added (changed)
93 	Interface Control Freq commands removed (use freqsel instead)
94 	FunkBus (Gira, Jung, Berker, Insta) added
95 
96 SDK version 9.16	July 30, 2017
97 	RAIN8 and RAIN9 added
98 	WIND8 added
99 	Cartelectronic - Linky added
100 
101 SDK version 9.15	March 29, 2017
102 	BlindsT13 - Screenline angle change added
103 
104 SDK version 9.14	Jan 12, 2017
105 	Lighting5 - Kangtai added
106 
107 SDK version 9.13
108 	BlindsT13 - Screenline added
109 
110 SDK version 9.12
111 	Thermostat4 updated
112 
113 SDK version 9.11
114 	FAN - Westinghouse fan added
115 	Security1 - RM174RF added
116 	Thermostat4 added
117 
118 SDK version 9.10
119 	FAN - SEAV remote added
120 
121 SDK version 9.09
122 	Lighting5 - MDremote108 added
123 
124 SDK version 9.08
125 	CARTELECTRONIC TIC and Encoder added
126 	Lighting5 - Livolo dim/scene added
127 
128 SDK version 9.07
129 	Lighting5 IT added
130 	BlindsT12 Confexx added
131 
132 SDK version 9.06
133 	Lighting1 HQ COCO-20 added
134 	Lighting5 Avantek added
135 	BlindsT11 ASP added
136 
137 SDK version 9.05
138 	Itho CVE RFT fan added
139 	LucciAir fan added
140 	HUM3 Inovalley S80 plant humidity sensor added
141 
142 SDK version 9.04A
143 	Lighting5 Legrand CAD added
144 	msg6-HC HomeConfort protocol enable added
145 
146 SDK version 9.03
147 	MDremote version 107 added
148 
149 SDK version 9.02
150 	Home Confort added
151 
152 SDK version 9.01
153 	RFY - ASA blinds added
154 
155 SDK version 9.00
156 	Lighting5 - sTypeRGB432W added
157 	ICMND - msg1 changed to freqsel
158 	ICMND - msg2 changed to xmitpwr
159 
160 SDK version 8.03A
161 	Thermostat3 - Mertik G6R-H4S added
162 
163 SDK version 8.03
164 	Subtype for Dolat blinds corrected, was 0x10 changed to 0xA
165 
166 SDK version 8.02
167 	Blinds Dolat added
168 	Thermostat3 - Mertik G6R_H4TD added
169 
170 SDK version 8.01
171 	Blinds Sunpery changed
172 
173 SDK version 8.00
174 	Security2 - KeeLoq added
175 	Envivo Chime added
176 	msg6 - mode bits added
177 	sTypeUselectplus added
178 	Blinds Sunpery added
179 	TH14,RAIN7,WIND7 - Alecto WS4500 added
180 
181 SDK version 7.02/7.03
182 	msg3_RFU changed to msg3_IMAGINTRONIX
183 	IRESPONSE.RFU6enabled changed to IRESPONSE.IMAGINTRONIXenabled
184 
185 SDK version 7.01
186 	SelectPlus200689103 Black Chime added
187 
188 SDK version 7.00
189 	TEMP7 - TSS330 added and TH9 � TSS320 added
190 	BlindsT8 = Chamberlain CS4330CN added
191 	SelectPlus200689101 White Chime added
192 	Interface command - start receiver added
193 	IRESPONSE size increased to 0x14
194 
195 SDK version 6.27
196 	Livolo Appliance 1-10 added
197 	Somfy RFY commands: Enable sun+wind & Disable sun added
198 	Smartwares radiator valve added
199 
200 SDK version 6.26
201 	TH13 - Alecto WS1700 and compatibles added
202 
203 SDK version 6.25
204 	sTypeByronMP001 added
205 	sTypeTEMP11 added
206 	sTypeTRC02_2 added
207 	THB1 also used for BTHGN129
208 
209 SDK version 6.24
210 	Lighting5 - Aoke realy added
211 
212 SDK version 6.23
213 	RFY List remotes added
214 
215 SDK version 6.22
216 	RFY venetian commands added < 0.5 and > 2 sec up/down)
217 
218 SDK version 6.21
219 	Temp/Humidity - TH12 soil sensor added
220 
221 SDK version 6.20
222 	Lighting2 - Kambrook added
223 
224 SDK version 6.19
225 	msg3_RFY reversed back to msg3_RFU
226 
227 SDK version 6.18
228 	RFY structure added
229 	BlindsT8 moved to RFY
230 	msg3_RFY added (not used)
231 	undecoded sTypeUrfy added
232 	Interface response "sTypeUnknownRFYremote" and "sTypeExtError" added
233 
234 SDK version 6.17
235 	Blinds1 unitcode and id4 corrected
236 
237 SDK version 6.16
238 	BlindsT8 RFY added with commands 0 to 9
239 
240 SDK version 6.15
241 	BLINDS1 id4 added
242 
243 SDK version 6.14
244 	BlindsT7 - Forest added
245 
246 SDK version 6.13
247 	(skipped, to make version equal to SDK.pdf)
248 
249 SDK version 6.12
250 	Lighting1 - Energenie5 added
251 	Lighting1 - COCO GDR2-2000R added
252 	sTypeBlindsT6 - DC106, YOOHA, Rohrmotor24 RMF added
253 	RAW transmit added
254 
255 SDK version 6.11
256 	Lighting5 - RGB driver TRC02 added
257 	Lighting6 - Blyss rfu replaced by seqnbr2
258 	Endian check added
259 
260 SDK version 6.10
261 	Security1 - SA30 added
262 	TEMP_HUM - TH11 EW109 added
263 	POWER - Revolt added
264 
265 SDK version 6.09
266 	BBQ structure added
267 
268 SDK version 6.08
269 	FAN structure and pTypeFan and sTypeSiemensSF01 added
270 	Lighting5 - Livolo added
271 
272 SDK version 6.07b
273 	in the IRESPONSE struct: RFU5enabled changed to SXenabled
274 SDK version 6.07a
275 	#define msg3_RFU5 0x20   changed to   #define msg3_SX 0x20
276 
277 SDK version 6.07
278 	Lighting5 colour modes added for LWRF
279 	TEMP_RAIN structure and pTypeTEMP_RAIN added for WS1200 - Temperature and rain sensor
280 	CHIME structure and pTypeChime added for Byron SX Chime
281 
282 SDK version 6.06a
283     RFU4 changed to RSLenabled in IRESPONSE
284 
285 SDK version 6.06
286 	Lighting1 Energenie added
287 	Lighting5 MDREMOTE LED dimmer added
288 	Lighting5 RSL2 added
289 	msg3_RSL - Enable RSL protocol added
290 	#define sTypeUrsl 0x0E = un-decoded Conrad RSL added
291 
292 SDK version 6.02b
293 	msg3-5 replaced by MODEbits in IRESPONSE structure
294 	LIGHTING4 enabled added in struct MODEbits
295 
296 SDK version 6.02a
297 	#define sTypeBlindsT5 0x5  added
298 
299 SDK version 6.02
300 	sTypeTH10 0xA   //Rubicson added
301 
302 SDK version 6.01
303   Copyright message updated
304 
305 SDK version 5.03
306 	RAIN6 added
307 	Raex BlindsT4 added
308 	protocol enable/disable msg3_LIGHTING4 added
309 	Interface Message - Wrong Command added
310 
311 SDK version 5.01
312 	baroForecast values added
313 
314 SDK version 5.00
315 	Commands removed from Interface control:
316 		cmdENABLEALL 0x04, cmdUNDEC 0x05
317 		cmdDISX10 0x10   to    cmdDISFS20 0x1C
318 	CM180i CURRENT_ENERGY - ELEC4 added
319 	code for pTypeGAS and pTypeWATER changed (not yet used)
320 
321 SDK version 4.36
322 	security - #define sStatusIRbeam 0x8 added
323 
324 SDK version 4.35
325 	defines added for commands
326 	union tRBUF is now typedef
327 	filler in REMOTE changed to cmndtype
328 	sTypeDigimax1 changed to sTypeDigimaxShort
329 
330 SDK version 4.34
331 	BlindsT2 BlindsT3 added
332 
333 SDK version 4.32
334 	BBSB new type added
335 
336 SDK version 4.31
337 	Modebits updated
338 
339 SDK version 4.30
340 	Energy sensor ELEC3 - CM180 added
341 
342 SDK version 4.29
343   sTypeTEMP10 for TFA 30.3133 added
344 	#define sTypeATI2 0x1   changed to    #define sTypeATIplus 0x1
345 	#define sTypeATIrw2 0x4  added
346 
347 SDK version 4.28
348   undecoded types 0x0F-0x12 added
349 
350 SDK version 4.27
351   Lighting1 - Philips SBC added
352 	Lighting6 - Blyss added
353 	BLINDS1 Rollertrol renamed to BlindsT0 and BlindsT1 added
354 	msg4_ROLLERTROL renamed to msg4_BLINDST0
355 	msg4_BLINDST1 added
356 	MODEbits.rollertrolenabled renamed to MODEbits.BLINDST0enabled
357 	MODEbits.BLINDST1enabled added
358   undecoded types:
359 		sTypeUrollertrol renamed to sTypeUblinds
360 		sTypeUrubicson,sTypeUfineoffset and sTypeUae added
361 
362 SDK version 4.26
363 	TEMP-HUM TH9 Viking 02035,02038 added
364 	TEMP TEMP9 RUBiCSON added
365 	Security tamper status changed
366 	Security1 Meiantech, msg5_MEI and cmdDISMEI added
367 	Disable Koppla removed
368 
369 SDK version 4.23
370 	4 sensors WS2300 added
371 
372 SDK version 4.22
373 	Viking temperature sensor TEMP7 added
374 	Blinds1 - RollerTrol added
375 
376 SDK version 4.21
377   Lighting1 - RisingSun added
378 
379 SDK version 4.19
380 	TS15C added
381 
382 SDK version 4.18
383 	UPM wind and rain added
384 
385 SDK version 4.17
386 	FS20 added
387 
388 SDK version 4.15
389 	Lighting5 - EMW100 added
390 
391 SDK version 4.14
392 	Lighting5 - level added
393 
394 SDK version 4.13
395 	added sTypeTH8 Esic Temp-Hum sensor
396 	Lighting6 - Novatis removed
397 
398 SDK version 4.9
399 	added: #define recType43392 0x52
400 	changed; #define recType43392 0x53  to   #define trxType43392 0x53
401 */
402 
403 //types for Interface Control
404 #define pTypeInterfaceControl 0x00
405 #define sTypeInterfaceCommand 0x00
406 #define cmdRESET	0x00 // reset the receiver/transceiver
407 #define cmdSTATUS	0x02 // return firmware versions and configuration of the interface
408 #define cmdSETMODE	0x03 // set configuration of the interface
409 
410 #define cmdSAVE		0x06 // save receiving modes of the receiver/transceiver in non-volatile memory
411 #define cmdStartRec	0x07 // start RFXtrx receiver
412 
413 #define pTypeInterfaceMessage 0x01
414 #define sTypeInterfaceResponse 0x00
415 #define sTypeUnknownRFYremote 0x01
416 #define sTypeExtError 0x02
417 #define sTypeRFYremoteList 0x03
418 #define sTypeASAremoteList 0x04
419 #define sTypeCherubiniRemoteList 0x05
420 #define sTypeRecStarted 0x07
421 #define sTypeInterfaceWrongCommand 0xFF
422 #define trxType310 0x50
423 #define trxType315 0x51
424 #define recType43392 0x52
425 #define trxType43392 0x53
426 #define trxType868 0x55
427 
428 #define FWtyperec 0x0
429 #define FWtype1 0x1
430 #define FWtype2 0x2
431 #define FWtypeExt 0x3
432 #define FWtypeExt2 0x4
433 #define FWtypePro1 0x5
434 #define FWtypePro2 0x6
435 #define FWtypeProXL1 0x10
436 
437 //433 config bits
438 #define msg3_AE 0x01			//AE Blyss
439 #define msg3_RUBICSON 0x02		//Rubicson,Lacrosse, Banggood
440 #define msg3_FINEOFFSET 0x04	//Fineoffset,Viking
441 #define msg3_LIGHTING4 0x08		//PT2262 and compatible
442 #define msg3_RSL 0x10			//RSL,Revolt
443 #define msg3_SX 0x20			//ByronSX,Selectplus
444 #define msg3_IMAGINTRONIX 0x40	//Imagintronix,Opus
445 #define msg3_undec 0x80			//display undecoded messages
446 
447 #define msg4_MERTIK 0x01		//Mertik maxitrol
448 #define msg4_AD 0x02			//AD LightwaveRF
449 #define msg4_HID 0x04			//Hideki
450 #define msg4_LCROS 0x08			//LaCrosse
451 #define msg4_LEGRAND 0x10		//Legrand CAD
452 #define msg4_RFU 0x20			//RFU
453 #define msg4_BLINDST0 0x40		//Rollertrol,Hasta new
454 #define msg4_BLINDST1 0x80		//BlindsT1-4
455 
456 #define msg5_X10 0x01			//X10
457 #define msg5_ARC 0x02			//ARC
458 #define msg5_AC 0x04			//AC
459 #define msg5_HEU 0x08			//HomeEasy EU
460 #define msg5_MEI 0x10			//Meiantech,Atlantic
461 #define msg5_OREGON 0x20		//Oregon Scientific
462 #define msg5_ATI 0x40			//ATI remotes
463 #define msg5_VISONIC 0x80		//Visonic PowerCode
464 
465 #define msg6_KeeLoq 0x01		//Keeloq
466 #define msg6_HC	0x02			//HomeConfort
467 #define msg6_RFU2 0x04			//RFU
468 #define msg6_RFU3 0x08			//RFU
469 #define msg6_RFU4 0x10			//RFU
470 #define msg6_RFU5 0x20			//RFU
471 #define msg6_MCZ 0x40			//MCZ
472 #define msg6_Funkbus 0x80		//Funkbus
473 
474 //868 config bits
475 #define msg3_868_RFU0 0x01		//RFU
476 #define msg3_868_DAVISAU 0x02	//Davis AU
477 #define msg3_868_DAVISUS 0x04	//Davis US
478 #define msg3_868_DAVISEU 0x08	//Davis EU
479 #define msg3_868_LACROSSE 0x10  //LACROSSE
480 #define msg3_868_ALECTO5500 0x20	//Alecto WS5500
481 #define msg3_868_ALECTO 0x40	//Alecto ACH2010
482 #define msg3_868_UNDEC 0x80		//Enable undecoded
483 
484 #define msg4_868_EDISIO 0x01	//EDISIO
485 #define msg4_868_LWRF 0x02		//LightwaveRF
486 #define msg4_868_FS20 0x04		//FS20
487 #define msg4_868_RFU3 0x08		//RFU
488 #define msg4_868_RFU4 0x10		//RFU
489 #define msg4_868_RFU5 0x20		//RFU
490 #define msg4_868_RFU6 0x40		//RFU
491 #define msg4_868_RFU7 0x80		//RFU
492 
493 #define msg5_868_RFU0 0x01		//RFU
494 #define msg5_868_RFU1 0x02		//RFU
495 #define msg5_868_RFU2 0x04		//RFU
496 #define msg5_868_RFU3 0x08		//RFU
497 #define msg5_868_PROGUARD  0x10 //Proguard
498 #define msg5_868_KEELOQ 0x20    //KEELOQ
499 #define msg5_868_MEIANTECH 0x40	//Meiantech,Atlantic
500 #define msg5_868_VISONIC 0x80	//Visonic
501 
502 #define msg6_868_RFU0 0x01		//RFU
503 #define msg6_868_RFU1 0x02		//RFU
504 #define msg6_868_RFU2 0x04		//RFU
505 #define msg6_868_RFU3 0x08		//RFU
506 #define msg6_868_RFU4 0x10		//RFU
507 #define msg6_868_HONCHIME 0x20	//Honeywell Chime
508 #define msg6_868_ITHOECO 0x40	//Itho CVE ECO RFT
509 #define msg6_868_ITHO 0x80		//Itho CVE RFT
510 
511 #define pTypeRecXmitMessage 0x02
512 #define sTypeReceiverLockError 0x00
513 #define sTypeTransmitterResponse 0x01
514 
515 //undecoded types
516 #define pTypeUndecoded 0x03
517 #define sTypeUac 0x00
518 #define sTypeUarc 0x01
519 #define sTypeUati 0x02
520 #define sTypeUhideki 0x03
521 #define sTypeUlacrosse 0x04
522 #define sTypeUad 0x05
523 #define sTypeUmertik 0x06
524 #define sTypeUoregon1 0x07
525 #define sTypeUoregon2 0x08
526 #define sTypeUoregon3 0x09
527 #define sTypeUproguard 0x0A
528 #define sTypeUvisonic 0x0B
529 #define sTypeUnec 0x0C
530 #define sTypeUfs20 0x0D
531 #define sTypeUrsl 0x0E
532 #define sTypeUblinds 0x0F
533 #define sTypeUrubicson 0x10
534 #define sTypeUae 0x11
535 #define sTypeUfineoffset 0x12
536 #define sTypeUrgb 0x13
537 #define sTypeUrfy 0x14
538 #define sTypeUselectplus 0x15
539 #define sTypeUhomeconfort 0x16
540 #define sTypeURFXtrx868 0x17
541 #define sTypeUfunkbus 0x19
542 
543 //types for Lighting
544 #define pTypeLighting1 0x10
545 #define sTypeX10 0x0
546 #define sTypeARC 0x1
547 #define sTypeAB400D 0x2
548 #define sTypeWaveman 0x3
549 #define sTypeEMW200 0x4
550 #define sTypeIMPULS 0x5
551 #define sTypeRisingSun 0x6
552 #define sTypePhilips 0x7
553 #define sTypeEnergenie 0x8
554 #define sTypeEnergenie5 0x9
555 #define sTypeGDR2 0x0A
556 #define sTypeHQ 0x0B
557 #define sTypeOase 0x0C
558 
559 #define light1_sOff 0x0
560 #define light1_sOn 0x1
561 #define light1_sDim 0x2
562 #define light1_sBright 0x3
563 #define light1_sProgram 0x4
564 #define light1_sAllOff 0x5
565 #define light1_sAllOn 0x6
566 #define light1_sChime 0x7
567 
568 #define pTypeLighting2 0x11
569 #define sTypeAC 0x0
570 #define sTypeHEU 0x1
571 #define sTypeANSLUT 0x2
572 #define sTypeKambrook 0x03
573 
574 #define light2_sOff 0x0
575 #define light2_sOn 0x1
576 #define light2_sSetLevel 0x2
577 #define light2_sGroupOff 0x3
578 #define light2_sGroupOn 0x4
579 #define light2_sSetGroupLevel 0x5
580 
581 #define pTypeLighting3 0x12
582 #define sTypeKoppla 0x0
583 #define light3_sBright 0x0
584 #define light3_sDim 0x8
585 #define light3_sOn 0x10
586 #define light3_sLevel1 0x11
587 #define light3_sLevel2 0x12
588 #define light3_sLevel3 0x13
589 #define light3_sLevel4 0x14
590 #define light3_sLevel5 0x15
591 #define light3_sLevel6 0x16
592 #define light3_sLevel7 0x17
593 #define light3_sLevel8 0x18
594 #define light3_sLevel9 0x19
595 #define light3_sOff 0x1A
596 #define light3_sProgram 0x1B
597 
598 #define pTypeLighting4 0x13
599 #define sTypePT2262 0x0
600 
601 #define pTypeLighting5 0x14
602 #define sTypeLightwaveRF 0x0
603 #define sTypeEMW100 0x1
604 #define sTypeBBSB 0x2
605 #define sTypeMDREMOTE 0x03
606 #define sTypeRSL 0x04
607 #define sTypeLivolo 0x05
608 #define sTypeTRC02 0x06
609 #define sTypeAoke 0x07
610 #define sTypeTRC02_2 0x08
611 #define sTypeEurodomest 0x09
612 #define sTypeLivolo1to10 0x0A
613 #define sTypeRGB432W 0x0B
614 #define sTypeMDREMOTE107 0x0C
615 #define sTypeLegrandCAD 0x0D
616 #define sTypeAvantek 0x0E
617 #define sTypeIT 0x0F
618 #define sTypeMDREMOTE108 0x10
619 #define sTypeKangtai 0x11
620 
621 #define light5_sOff 0x0
622 #define light5_sOn 0x1
623 #define light5_sGroupOff 0x2
624 #define light5_sLearn 0x2
625 #define light5_sGroupOn 0x3
626 #define light5_sMood1 0x3
627 #define light5_sMood2 0x4
628 #define light5_sMood3 0x5
629 #define light5_sMood4 0x6
630 #define light5_sMood5 0x7
631 #define light5_sUnlock 0xA
632 #define light5_sLock 0xB
633 #define light5_sAllLock 0xC
634 #define light5_sClose 0xD
635 #define light5_sStop 0xE
636 #define light5_sOpen 0xF
637 #define light5_sSetLevel 0x10
638 #define light5_sColourPalette 0x11
639 #define light5_sColourTone 0x12
640 #define light5_sColourCycle 0x13
641 #define light5_sPower 0x0
642 #define light5_sLight 0x1
643 #define light5_sBright 0x2
644 #define light5_sDim 0x3
645 #define light5_s100 0x4
646 #define light5_s50 0x5
647 #define light5_s25 0x6
648 #define light5_sModePlus 0x7
649 #define light5_sSpeedMin 0x8
650 #define light5_sSpeedPlus 0x9
651 #define light5_sModeMin 0xA
652 
653 //Livolo All off, used for all types
654 #define light5_sLivoloAllOff 0x00
655 
656 //Livolo 1-3 appliance modules
657 #define light5_sLivoloGang1Toggle 0x01
658 #define light5_sLivoloGang2Toggle 0x02
659 #define light5_sLivoloGang3Toggle 0x03
660 
661 //Livolo dimmer
662 //#define light5_sLivoloToggle1 0x01
663 #define light5_sLivoloBright1 0x02
664 #define light5_sLivoloDim1 0x03
665 
666 //Livolo 1-10 appliance modules, 7 and 9 is a dimmer
667 #define light5_sLivoloToggle1 0x01
668 #define light5_sLivoloToggle2 0x02
669 #define light5_sLivoloToggle3 0x03
670 #define light5_sLivoloToggle4 0x04
671 #define light5_sLivoloToggle5 0x05
672 #define light5_sLivoloToggle6 0x06
673 #define light5_sLivoloToggle7 0x07
674 #define light5_sLivoloBright7 0x08
675 #define light5_sLivoloDim7 0x09
676 #define light5_sLivoloToggle8 0x0A
677 #define light5_sLivoloToggle9 0x0B
678 #define light5_sLivoloBright9 0x0C
679 #define light5_sLivoloDim9 0x0D
680 #define light5_sLivoloToggle10 0x0E
681 #define light5_sLivoloScene1 0x0F
682 #define light5_sLivoloScene2 0x10
683 #define light5_sLivoloScene3 0x11
684 #define light5_sLivoloScene4 0x12
685 #define light5_sLivoloOkSet 0x13
686 
687 #define light5_sRGBoff 0x00
688 #define light5_sRGBon 0x01
689 #define light5_sRGBbright 0x02
690 #define light5_sRGBdim 0x03
691 #define light5_sRGBcolorplus 0x04
692 #define light5_sRGBcolormin 0x05
693 #define light5_sMD107_Power 0x0
694 #define light5_sMD107_Bright 0x1
695 #define light5_sMD107_Dim 0x2
696 #define light5_sMD107_100 0x3
697 #define light5_sMD107_80 0x4
698 #define light5_sMD107_60 0x5
699 #define light5_sMD107_40 0x6
700 #define light5_sMD107_20 0x7
701 #define light5_sMD107_10 0x8
702 #define light5_sLegrandToggle 0x00
703 
704 #define pTypeLighting6 0x15
705 #define sTypeBlyss 0x0
706 #define sTypeCuveo 0x1
707 #define light6_sOn 0x0
708 #define light6_sOff 0x1
709 #define light6_sGroupOn 0x2
710 #define light6_sGroupOff 0x3
711 
712 #define pTypeChime 0x16
713 #define sTypeByronSX 0x0
714 #define sTypeByronMP001 0x1
715 #define sTypeSelectPlus 0x2
716 #define sTypeByronBY 0x3
717 #define sTypeEnvivo 0x4
718 #define sTypeAlfawise 0x5
719 #define chime_sound0 0x1
720 #define chime_sound1 0x3
721 #define chime_sound2 0x5
722 #define chime_sound3 0x9
723 #define chime_sound4 0xD
724 #define chime_sound5 0xE
725 #define chime_sound6 0x6
726 #define chime_sound7 0x2
727 
728 #define pTypeFan 0x17
729 #define sTypeSiemensSF01 0x0
730 #define sTypeItho 0x1
731 #define sTypeLucciAir 0x2
732 #define sTypeSeavTXS4 0x3
733 #define sTypeWestinghouse 0x4
734 #define sTypeLucciAirDC 0x5
735 #define sTypeCasafan 0x6
736 #define sTypeFT1211R 0x7
737 #define sTypeFalmec 0x8
738 #define sTypeLucciAirDCII 0x9
739 #define sTypeIthoECO 0xA
740 #define sTypeNovy 0xB
741 
742 #define fan_sTimer 0x1
743 #define fan_sMin 0x2
744 #define fan_sLearn 0x3
745 #define fan_sPlus 0x4
746 #define fan_sConfirm 0x5
747 #define fan_sLight 0x6
748 #define fan_Itho1 0x1
749 #define fan_Itho2 0x2
750 #define fan_Itho3 0x3
751 #define fan_IthoTimer 0x4
752 #define fan_IthoNotAtHome 0x5
753 #define fan_IthoLearn 0x6
754 #define fan_IthoEraseAll 0x7
755 #define fan_LucciHi 0x1
756 #define fan_LucciMed 0x2
757 #define fan_LucciLow 0x3
758 #define fan_LucciOff 0x4
759 #define fan_LucciLight 0x5
760 #define fan_T1 0x1
761 #define fan_T2 0x2
762 #define fan_T3 0x3
763 #define fan_T4 0x4
764 #define fan_WestinghouseHi 0x1
765 #define fan_WestinghouseMed 0x2
766 #define fan_WestinghouseLow 0x3
767 #define fan_WestinghouseOff 0x4
768 #define fan_WestinghouseLight 0x5
769 #define fan_LucciDCPower 0x1
770 #define fan_LucciDCPlus 0x2
771 #define fan_LucciDCMin 0x3
772 #define fan_LucciDCLight 0x4
773 #define fan_LucciDCReverse 0x5
774 #define fan_LucciDCNaturalflow 0x6
775 #define fan_LucciDCPair 0x7
776 #define LucciDCSpeed1 0x8
777 #define LucciDCSpeed2 0x9
778 #define LucciDCSpeed3 0xA
779 #define LucciDCSpeed4 0xB
780 #define LucciDCSpeed5 0xC
781 #define LucciDCSpeed6 0xD
782 
783 #define fan_CasafanHi 0x1
784 #define fan_CasafanMed 0x2
785 #define fan_CasafanLow 0x3
786 #define fan_CasafanOff 0x4
787 #define fan_CasafanLight 0x5
788 #define fan_FT1211Rpower 0x1
789 #define fan_FT1211Rlight 0x2
790 #define fan_FT1211R1 0x3
791 #define fan_FT1211R2 0x4
792 #define fan_FT1211R3 0x5
793 #define fan_FT1211R4 0x6
794 #define fan_FT1211R5 0x7
795 #define fan_FT1211Rfr 0x8
796 #define fan_FT1211R1H 0x9
797 #define fan_FT1211R4H 0xA
798 #define fan_FT1211R8H 0xB
799 #define fan_FalmecPower 0x1
800 #define fan_FalmecSpeed1 0x2
801 #define fan_FalmecSpeed2 0x3
802 #define fan_FalmecSpeed3 0x4
803 #define fan_FalmecSpeed4 0x5
804 #define fan_FalmecTimer1 0x6
805 #define fan_FalmecTimer2 0x7
806 #define fan_FalmecTimer3 0x8
807 #define fan_FalmecTimer4 0x9
808 #define fan_FalmecLightOn 0xA
809 #define fan_FalmecLightOff 0xB
810 #define fan_LucciDCIIOff 0x1
811 #define fan_LucciDCII1 0x2
812 #define fan_LucciDCII2 0x3
813 #define fan_LucciDCII3 0x4
814 #define fan_LucciDCII4 0x5
815 #define fan_LucciDCII5 0x6
816 #define fan_LucciDCII6 0x7
817 #define fan_LucciDCIILight 0x8
818 #define fan_LucciDCIIReverse 0x9
819 #define fan_NovyPower 0x1
820 #define fan_NovyPlus 0x2
821 #define fan_NovyMin 0x3
822 #define fan_NovyLight 0x4
823 #define fan_NovyLearn 0x5
824 
825 //types for Curtain
826 #define pTypeCurtain 0x18
827 #define sTypeHarrison 0x0
828 #define curtain_sOpen 0x0
829 #define curtain_sClose 0x1
830 #define curtain_sStop 0x2
831 #define curtain_sProgram 0x3
832 
833 //types for Blinds
834 #define pTypeBlinds 0x19
835 #define sTypeBlindsT0 0x0	//RollerTrol, Hasta new
836 #define sTypeBlindsT1 0x1	//Hasta old
837 #define sTypeBlindsT2 0x2	//A-OK RF01
838 #define sTypeBlindsT3 0x3	//A-OK AC114
839 #define sTypeBlindsT4 0x4	//RAEX YR1326
840 #define sTypeBlindsT5 0x5	//Media Mount
841 #define sTypeBlindsT6 0x6	//DC106, YOOHA, Rohrmotor24 RMF
842 #define sTypeBlindsT7 0x7	//Forest
843 #define sTypeBlindsT8 0x8	//Chamberlain CS4330CN
844 #define sTypeBlindsT9 0x9	//Sunpery
845 #define sTypeBlindsT10 0xA	//Dolat DLM-1
846 #define sTypeBlindsT11 0xB	//ASP
847 #define sTypeBlindsT12 0xC	//Confexx
848 #define sTypeBlindsT13 0xD	//Screenline
849 #define sTypeBlindsT14 0xE	//Hualite
850 #define sTypeBlindsT15 0xF	//Motostar
851 #define sTypeBlindsT16 0x10	//Zemismart
852 #define sTypeBlindsT17 0x11	//Gaposa
853 #define sTypeBlindsT18 0x12	//Cherubini
854 
855 #define blinds_sOpen 0x0
856 #define blinds_sClose 0x1
857 #define blinds_sStop 0x2
858 #define blinds_sConfirm 0x3
859 #define blinds_sLimit 0x4
860 #define blinds_slowerLimit 0x5
861 #define blinds_sDeleteLimits 0x6
862 #define blinds_sChangeDirection 0x7
863 #define blinds_sLeft 0x8
864 #define blinds_sRight 0x9
865 #define blinds_s6Im 0x4
866 #define blinds_s6Light 0x5
867 #define blinds_s9ChangeDirection 0x6
868 #define blinds_s9ImA 0x7
869 #define blinds_s9ImCenter 0x8
870 #define blinds_s9ImB 0x9
871 #define blinds_s9EraseCurrentCh 0xA
872 #define blinds_s9EraseAllCh 0xB
873 #define blinds_s10LearnMaster 0x4
874 #define blinds_s10EraseCurrentCh 0x5
875 #define blinds_s10ChangeDirection 0x6
876 #define blinds_s13anglePlus 0x4
877 #define blinds_s13angleMinus 0x5
878 #define blinds_s16EraseCurrentCh 0x4
879 #define blinds_s16ChangeDirection 0x5
880 #define blinds_s17Intermediate 0x5
881 #define blinds_s17EraseAllCh 0x6
882 #define blinds_s18Intermediate 0x4
883 #define blinds_s18ListRemotes 0x5
884 #define blinds_s18EraseThis 0x6
885 #define blinds_s18EraseAll 0x7
886 
887 //types for RFY
888 #define pTypeRFY 0x1A
889 #define sTypeRFY 0x0	//RFY
890 #define sTypeRFYext 0x1	//RFY extended
891 #define sTypeASA 0x3	//ASA
892 #define rfy_sStop 0x0
893 #define rfy_sUp 0x1
894 #define rfy_sUpStop 0x2
895 #define rfy_sDown 0x3
896 #define rfy_sDownStop 0x4
897 #define rfy_sUpDown 0x5
898 #define rfy_sListRemotes 0x6
899 #define rfy_sProgram 0x7
900 #define rfy_s2SecProgram 0x8
901 #define rfy_s7SecProgram 0x9
902 #define rfy_s2SecStop 0xA
903 #define rfy_s5SecStop 0xB
904 #define rfy_s5SecUpDown 0xC
905 #define rfy_sEraseThis 0xD
906 #define rfy_sEraseAll 0xE
907 #define rfy_s05SecUp 0xF
908 #define rfy_s05SecDown 0x10
909 #define rfy_s2SecUp 0x11
910 #define rfy_s2SecDown 0x12
911 #define rfy_sEnableSunWind 0x13
912 #define rfy_sDisableSun 0x14
913 
914 //types for Home Confort
915 #define pTypeHomeConfort 0x1B
916 #define sTypeHomeConfortTEL010 0x0
917 #define HomeConfort_sOff 0x0
918 #define HomeConfort_sOn 0x1
919 #define HomeConfort_sGroupOff 0x2
920 #define HomeConfort_sGroupOn 0x3
921 
922 //types for Funkbus
923 #define pTypeFunkbus 0x1E
924 #define sTypeFunkbusRemoteGira 0x00
925 #define sTypeFunkbusRemoteInsta 0x01
926 #define Funkbus_sChannelMin 0x00
927 #define Funkbus_sChannelPlus 0x01
928 #define Funkbus_sAllOff 0x02
929 #define Funkbus_sAllOn 0x03
930 #define Funkbus_sScene 0x04
931 #define Funkbus_sMasterMin 0x05
932 #define Funkbus_sMasterPlus 0x06
933 
934 //types for Hunter Fan
935 #define pTypeHunter 0x1F
936 #define sTypeHunterfan 0x00
937 #define HunterOff 0x1
938 #define HunterLight 0x2
939 #define HunterSpeed1 0x3
940 #define HunterSpeed2 0x4
941 #define HunterSpeed3 0x5
942 #define HunterProgram 0x6
943 
944 //types for Security1
945 #define pTypeSecurity1 0x20
946 #define sTypeSecX10 0x0				//X10 security
947 #define sTypeSecX10M 0x1			//X10 security motion
948 #define sTypeSecX10R 0x2			//X10 security remote
949 #define sTypeKD101 0x3				//KD101 smoke detector
950 #define sTypePowercodeSensor 0x04	//Visonic PowerCode sensor - primary contact
951 #define sTypePowercodeMotion 0x05	//Visonic PowerCode motion
952 #define sTypeCodesecure 0x06		//Visonic CodeSecure
953 #define sTypePowercodeAux 0x07		//Visonic PowerCode sensor - auxiliary contact
954 #define sTypeMeiantech 0x8			//Meiantech
955 #define sTypeSA30 0x9				//SA30 smoke detector
956 #define sTypeRM174RF 0xA			//RM174RF smoke detector
957 
958 //status security
959 #define sStatusNormal 0x0
960 #define sStatusNormalDelayed 0x1
961 #define sStatusAlarm 0x2
962 #define sStatusAlarmDelayed 0x3
963 #define sStatusMotion 0x4
964 #define sStatusNoMotion 0x5
965 #define sStatusPanic 0x6
966 #define sStatusPanicOff 0x7
967 #define sStatusIRbeam 0x8
968 #define sStatusArmAway 0x9
969 #define sStatusArmAwayDelayed 0xA
970 #define sStatusArmHome 0xB
971 #define sStatusArmHomeDelayed 0xC
972 #define sStatusDisarm 0xD
973 #define sStatusLightOff 0x10
974 #define sStatusLightOn 0x11
975 #define sStatusLight2Off 0x12
976 #define sStatusLight2On 0x13
977 #define sStatusDark 0x14
978 #define sStatusLight 0x15
979 #define sStatusBatLow 0x16
980 #define sStatusPairKD101 0x17
981 #define sStatusNormalTamper 0x80
982 #define sStatusNormalDelayedTamper 0x81
983 #define sStatusAlarmTamper 0x82
984 #define sStatusAlarmDelayedTamper 0x83
985 #define sStatusMotionTamper 0x84
986 #define sStatusNoMotionTamper 0x85
987 
988 //types for Security2
989 #define pTypeSecurity2 0x21
990 #define sTypeSec2Classic 0x0
991 
992 //types for Camera
993 #define pTypeCamera 0x28
994 #define sTypeNinja 0x0		//X10 Ninja/Robocam
995 #define camera_sLeft 0x0
996 #define camera_sRight 0x1
997 #define camera_sUp 0x2
998 #define camera_sDown 0x3
999 #define camera_sPosition1 0x4
1000 #define camera_sProgramPosition1 0x5
1001 #define camera_sPosition2 0x6
1002 #define camera_sProgramPosition2 0x7
1003 #define camera_sPosition3 8
1004 #define camera_sProgramPosition3 0x9
1005 #define camera_sPosition4 0xA
1006 #define camera_sProgramPosition4 0xB
1007 #define camera_sCenter 0xC
1008 #define camera_sProgramCenterPosition 0xD
1009 #define camera_sSweep 0xE
1010 #define camera_sProgramSweep 0xF
1011 
1012 //types for Remotes
1013 #define pTypeRemote 0x30
1014 #define sTypeATI 0x0		//ATI Remote Wonder
1015 #define sTypeATIplus 0x1	//ATI Remote Wonder Plus
1016 #define sTypeMedion 0x2		//Medion Remote
1017 #define sTypePCremote 0x3	//PC Remote
1018 #define sTypeATIrw2 0x4		//ATI Remote Wonder II
1019 
1020 //types for Thermostat
1021 #define pTypeThermostat1 0x40
1022 #define sTypeDigimax 0x0		//Digimax
1023 #define sTypeDigimaxShort 0x1	//Digimax with short format
1024 #define thermostat1_sNoStatus 0x0
1025 #define thermostat1_sDemand 0x1
1026 #define thermostat1_sNoDemand 0x2
1027 #define thermostat1_sInitializing 0x3
1028 
1029 #define pTypeThermostat2 0x41
1030 #define sTypeHE105 0x0
1031 #define sTypeRTS10 0x1
1032 #define thermostat2_sOff 0x0
1033 #define thermostat2_sOn 0x1
1034 #define thermostat2_sProgram 0x2
1035 
1036 #define pTypeThermostat3 0x42
1037 #define sTypeMertikG6RH4T1 0x0	//Mertik G6R-H4T1
1038 #define sTypeMertikG6RH4TB 0x1	//Mertik G6R-H4TB
1039 #define sTypeMertikG6RH4TD 0x2	//Mertik G6R-H4TD
1040 #define sTypeMertikG6RH4S 0x3	//Mertik G6R-H4S
1041 #define thermostat3_sOff 0x0
1042 #define thermostat3_sOn 0x1
1043 #define thermostat3_sUp 0x2
1044 #define thermostat3_sDown 0x3
1045 #define thermostat3_sRunUp 0x4
1046 #define thermostat3_Off2nd 0x4
1047 #define thermostat3_sRunDown 0x5
1048 #define thermostat3_On2nd 0x5
1049 #define thermostat3_sStop 0x6
1050 
1051 #define pTypeThermostat4 0x43
1052 #define sTypeMCZ1 0x0	//MCZ 1 fan model
1053 #define sTypeMCZ2 0x1	//MCZ 2 fan model
1054 #define sTypeMCZ3 0x2	//MCZ 3 fan model
1055 #define thermostat4_sOff 0x0
1056 #define thermostat4_sManual 0x1
1057 #define thermostat4_sAuto 0x2
1058 #define thermostat4_sEco 0x3
1059 
1060 //types for Radiator valve
1061 #define pTypeRadiator1 0x48
1062 #define sTypeSmartwares 0x0	//Homewizard smartwares
1063 
1064 #define Radiator1_sNight 0x0
1065 #define Radiator1_sDay 0x1
1066 #define Radiator1_sSetTemp 0x2
1067 
1068 //types for BBQ temperature
1069 #define pTypeBBQ 0x4E
1070 #define sTypeBBQ1 0x1  //Maverick ET-732
1071 
1072 //types for temperature+rain
1073 #define pTypeTEMP_RAIN 0x4F
1074 #define sTypeTR1 0x1  //WS1200
1075 
1076 //types for temperature
1077 #define pTypeTEMP 0x50
1078 #define sTypeTEMP1 0x1  //THR128/138,THC138, Davis
1079 #define sTypeTEMP2 0x2  //THC238/268,THN132,THWR288,THRN122,THN122,AW129/131
1080 #define sTypeTEMP3 0x3  //THWR800
1081 #define sTypeTEMP4 0x4	//RTHN318
1082 #define sTypeTEMP5 0x5  //LaCrosse TX3
1083 #define sTypeTEMP6 0x6  //TS15C
1084 #define sTypeTEMP7 0x7  //Viking 02811,TSS330
1085 #define sTypeTEMP8 0x8  //LaCrosse WS2300
1086 #define sTypeTEMP9 0x9  //RUBiCSON
1087 #define sTypeTEMP10 0xA  //TFA 30.3133
1088 #define sTypeTEMP11 0xB  //WT0122
1089 
1090 //types for humidity
1091 #define pTypeHUM 0x51
1092 #define sTypeHUM1 0x1  //LaCrosse TX3, Davis
1093 #define sTypeHUM2 0x2  //LaCrosse WS2300
1094 #define sTypeHUM3 0x03  //Inovalley S80 plant humidity sensor
1095 
1096 //status types for humidity
1097 #define humstat_normal 0x0
1098 #define humstat_comfort 0x1
1099 #define humstat_dry 0x2
1100 #define humstat_wet 0x3
1101 
1102 //types for temperature+humidity
1103 #define pTypeTEMP_HUM 0x52
1104 #define sTypeTH1 0x1  //THGN122/123,THGN132,THGR122/228/238/268
1105 #define sTypeTH2 0x2  //THGR810,THGN800
1106 #define sTypeTH3 0x3  //RTGR328
1107 #define sTypeTH4 0x4  //THGR328
1108 #define sTypeTH5 0x5  //WTGR800
1109 #define sTypeTH6 0x6  //THGR918,THGRN228,THGN500
1110 #define sTypeTH7 0x7  //TFA TS34C, Cresta
1111 #define sTypeTH8 0x8  //WT450H
1112 #define sTypeTH9 0x9  //Viking 02035,02038 (02035 has no humidity), TSS320
1113 #define sTypeTH10 0xA   //Rubicson
1114 #define sTypeTH11 0xB   //EW109
1115 #define sTypeTH12 0xC   //Imagintronix
1116 #define sTypeTH13 0xD   //Alecto WS1700 and compatibles
1117 #define sTypeTH14 0xE   //Alecto
1118 
1119 //types for barometric
1120 #define pTypeBARO 0x53
1121 
1122 //types for temperature+humidity+baro
1123 #define pTypeTEMP_HUM_BARO 0x54
1124 #define sTypeTHB1 0x1   //BTHR918,BTHGN129
1125 #define sTypeTHB2 0x2   //BTHR918N,BTHR968
1126 #define baroForecastNoInfo 0x00
1127 #define baroForecastSunny 0x01
1128 #define baroForecastPartlyCloudy 0x02
1129 #define baroForecastCloudy 0x03
1130 #define baroForecastRain 0x04
1131 
1132 //types for rain
1133 #define pTypeRAIN 0x55
1134 #define sTypeRAIN1 0x1   //RGR126/682/918
1135 #define sTypeRAIN2 0x2   //PCR800
1136 #define sTypeRAIN3 0x3   //TFA
1137 #define sTypeRAIN4 0x4   //UPM
1138 #define sTypeRAIN5 0x5   //WS2300
1139 #define sTypeRAIN6 0x6   //TX5
1140 #define sTypeRAIN7 0x7   //Alecto
1141 #define sTypeRAIN8 0x8   //Davis
1142 #define sTypeRAIN9 0x9   //TFA 30.3233.01
1143 
1144 //types for wind
1145 #define pTypeWIND 0x56
1146 #define sTypeWIND1 0x1   //WTGR800
1147 #define sTypeWIND2 0x2   //WGR800
1148 #define sTypeWIND3 0x3   //STR918,WGR918
1149 #define sTypeWIND4 0x4   //TFA
1150 #define sTypeWIND5 0x5   //UPM, Davis
1151 #define sTypeWIND6 0x6   //WS2300
1152 #define sTypeWIND7 0x7   //Alecto WS4500
1153 
1154 //types for uv
1155 #define pTypeUV 0x57
1156 #define sTypeUV1 0x1   //UVN128,UV138, Davis
1157 #define sTypeUV2 0x2   //UVN800
1158 #define sTypeUV3 0x3   //TFA
1159 
1160 //types for date & time
1161 #define pTypeDT 0x58
1162 #define sTypeDT1 0x1   //RTGR328N
1163 
1164 //types for current
1165 #define pTypeCURRENT 0x59
1166 #define sTypeELEC1 0x1   //CM113,Electrisave
1167 
1168 //types for energy
1169 #define pTypeENERGY 0x5A
1170 #define sTypeELEC2 0x1   //CM119/160
1171 #define sTypeELEC3 0x2   //CM180
1172 
1173 //types for current-energy
1174 #define pTypeCURRENTENERGY 0x5B
1175 #define sTypeELEC4 0x1   //CM180i
1176 
1177 //types for power
1178 #define pTypePOWER 0x5C
1179 #define sTypeELEC5 0x1   //revolt
1180 
1181 //types for weight scales
1182 #define pTypeWEIGHT 0x5D
1183 #define sTypeWEIGHT1 0x1   //BWR102
1184 #define sTypeWEIGHT2 0x2   //GR101
1185 
1186 //types for gas
1187 #define pTypeGAS 0x5E
1188 
1189 //types for water
1190 #define pTypeWATER 0x5F
1191 
1192 //types for CARTELECTRONIC
1193 #define pTypeCARTELECTRONIC 0x60
1194 #define sTypeTIC 0x1
1195 #define sTypeCEencoder 0x2
1196 #define sTypeLinky 0x3
1197 
1198 //types for Async port configuration
1199 #define pTypeASYNCPORT 0x61
1200 #define sTypeASYNCconfig 0x01
1201 #define asyncdisable 0x0
1202 #define asyncreceiveP1 0x1
1203 #define asyncreceiveTeleinfo 0x2
1204 #define asyncreceiveRAW 0xFE //not yet implemented
1205 #define asyncreceiveGetSettings 0xFF
1206 #define asyncbaud110 0x0
1207 #define asyncbaud300 0x1
1208 #define asyncbaud600 0x2
1209 #define asyncbaud1200 0x3
1210 #define asyncbaud2400 0x4
1211 #define asyncbaud4800 0x5
1212 #define asyncbaud9600 0x6
1213 #define asyncbaud14400 0x7
1214 #define asyncbaud19200 0x8
1215 #define asyncbaud38400 0x9
1216 #define asyncbaud57600 0xA
1217 #define asyncbaud115200 0xB
1218 #define asyncParityNo 0x0
1219 #define asyncParityOdd 0x1
1220 #define asyncParityEven 0x2
1221 #define asyncDatabits7 0x7
1222 #define asyncDatabits8 0x8
1223 #define asyncStopbits1 0x1
1224 #define asyncStopbits2 0x2
1225 #define asyncPolarityNormal 0x0
1226 #define asyncPolarityInvers 0x1
1227 
1228 //types for Async data
1229 #define pTypeASYNCDATA 0x62
1230 #define sTypeASYNCoverrun 0xFF
1231 #define sTypeASYNCp1 0x01
1232 #define sTypeASYNCteleinfo 0x02
1233 #define sTypeASYNCraw 0x03
1234 
1235 //RFXSensor
1236 #define pTypeRFXSensor 0x70
1237 #define sTypeRFXSensorTemp 0x0
1238 #define sTypeRFXSensorAD 0x1
1239 #define sTypeRFXSensorVolt 0x2
1240 #define sTypeRFXSensorMessage 0x3
1241 
1242 //RFXMeter
1243 #define pTypeRFXMeter 0x71
1244 #define sTypeRFXMeterCount 0x0
1245 #define sTypeRFXMeterInterval 0x1
1246 #define sTypeRFXMeterCalib 0x2
1247 #define sTypeRFXMeterAddr 0x3
1248 #define sTypeRFXMeterCounterReset 0x4
1249 #define sTypeRFXMeterCounterSet 0xB
1250 #define sTypeRFXMeterSetInterval 0xC
1251 #define sTypeRFXMeterSetCalib 0xD
1252 #define sTypeRFXMeterSetAddr 0xE
1253 #define sTypeRFXMeterIdent 0xF
1254 
1255 //FS20
1256 #define pTypeFS20 0x72
1257 #define sTypeFS20 0x0
1258 #define sTypeFHT8V 0x1
1259 #define sTypeFHT80 0x2
1260 #define fs20_sOff 0x0
1261 #define fs20_sDimlevel_1 0x1
1262 #define fs20_sDimlevel_2 0x2
1263 #define fs20_sDimlevel_3 0x3
1264 #define fs20_sDimlevel_4 0x4
1265 #define fs20_sDimlevel_5 0x5
1266 #define fs20_sDimlevel_6 0x6
1267 #define fs20_sDimlevel_7 0x7
1268 #define fs20_sDimlevel_8 0x8
1269 #define fs20_sDimlevel_9 0x9
1270 #define fs20_sDimlevel_10 0xA
1271 #define fs20_sDimlevel_11 0xB
1272 #define fs20_sDimlevel_12 0xC
1273 #define fs20_sDimlevel_13 0xD
1274 #define fs20_sDimlevel_14 0xE
1275 #define fs20_sDimlevel_15 0xF
1276 #define fs20_sOn_100 0x10
1277 #define fs20_sOn_last_dim 0x11
1278 #define fs20_sToggle_On_Off 0x12
1279 #define fs20_sBright 0x13
1280 #define fs20_sDim 0x14
1281 #define fs20_sStart_dim_cycle 0x15
1282 #define fs20_sProgram_timer 0x16
1283 #define fs20_sRequest_status 0x17
1284 #define fs20_sOff_for_time_period 0x18
1285 #define fs20_sOn_100_for_time_period 0x19
1286 #define fs20_sOn_last_dim_level_period 0x1A
1287 #define fs20_sReset 0x1B
1288 
1289 //WEATHER STATIONS
1290 #define pTypeWEATHER 0x76
1291 #define sTypeWEATHER1 0x1   //Alecto ACH2010
1292 #define sTypeWEATHER2 0x2   //Alecto WS5500
1293 
1294 //types for Solar
1295 #define pTypeSOLAR 0x77
1296 #define sTypeSOLAR1 0x1   //Davis
1297 
1298 //RAW transit/receive
1299 #define pTypeRAW 0x7F
1300 #define sTypeRAW1 0x0
1301 #define sTypeRAW2 0x1
1302 #define sTypeRAW3 0x2
1303 #define sTypeRAW4 0x3
1304 
1305 typedef union tRBUF {
1306 	struct {
1307 		BYTE	packetlength;
1308 		BYTE	packettype;
1309 		BYTE	subtype;
1310 		BYTE	seqnbr;
1311 		BYTE	cmnd;
1312 		BYTE	freqsel;
1313 		BYTE	xmitpwr;
1314 		BYTE	msg3;
1315 		BYTE	msg4;
1316 		BYTE	msg5;
1317 		BYTE	msg6;
1318 		BYTE	msg7;
1319 		BYTE	msg8;
1320 		BYTE	msg9;
1321 	} ICMND;
1322 
1323 	struct {	//response on a mode command from the application
1324 		BYTE	packetlength;
1325 		BYTE	packettype;
1326 		BYTE	subtype;
1327 		BYTE	seqnbr;
1328 		BYTE	cmnd;
1329 		BYTE	msg1;	//receiver/transceiver type
1330 		BYTE	msg2;	//firmware version
1331 
1332 #ifdef IS_BIG_ENDIAN
1333 		//BYTE	msg3;
1334 		BYTE	UNDECODEDenabled : 1;
1335 		BYTE	IMAGINTRONIXenabled : 1;
1336 		BYTE	SXenabled : 1;
1337 		BYTE	RSLenabled : 1;
1338 		BYTE	LIGHTING4enabled : 1;
1339 		BYTE	FINEOFFSETenabled : 1;
1340 		BYTE	RUBICSONenabled : 1;
1341 		BYTE	AEenabled : 1;
1342 
1343 		//BYTE	msg4;
1344 		BYTE	BLINDST1enabled : 1;
1345 		BYTE	BLINDST0enabled : 1;
1346 		BYTE	MSG4Reserved5 : 1;
1347 		BYTE	LEGRANDenabled : 1;
1348 		BYTE	LACROSSEenabled : 1;
1349 		BYTE	HIDEKIenabled : 1;
1350 		BYTE	LWRFenabled : 1;
1351 		BYTE	MERTIKenabled : 1;
1352 
1353 		//BYTE	msg5;
1354 		BYTE	VISONICenabled : 1;
1355 		BYTE	ATIenabled : 1;
1356 		BYTE	OREGONenabled : 1;
1357 		BYTE	MEIANTECHenabled : 1;
1358 		BYTE	HEEUenabled : 1;
1359 		BYTE	ACenabled : 1;
1360 		BYTE	ARCenabled : 1;
1361 		BYTE	X10enabled : 1; //note: keep this order
1362 
1363 		//BYTE    msg6;
1364         BYTE    MSG6Reserved7 : 1;
1365         BYTE    MSG6Reserved6 : 1;
1366         BYTE    MSG6Reserved5 : 1;
1367         BYTE    MSG6Reserved4 : 1;
1368         BYTE    MSG6Reserved3 : 1;
1369         BYTE    MSG6Reserved2 : 1;
1370 		BYTE    HCEnabled : 1;
1371         BYTE    KEELOQenabled : 1;
1372 #else
1373 		//BYTE	msg3;
1374 		BYTE	AEenabled : 1;
1375 		BYTE	RUBICSONenabled : 1;
1376 		BYTE	FINEOFFSETenabled : 1;
1377 		BYTE	LIGHTING4enabled : 1;
1378 		BYTE	RSLenabled : 1;
1379 		BYTE	SXenabled : 1;
1380 		BYTE	IMAGINTRONIXenabled : 1;
1381 		BYTE	UNDECODEDenabled : 1;
1382 
1383 		//BYTE	msg4;
1384 		BYTE	MERTIKenabled : 1;
1385 		BYTE	LWRFenabled : 1;
1386 		BYTE	HIDEKIenabled : 1;
1387 		BYTE	LACROSSEenabled : 1;
1388 		BYTE	LEGRANDenabled : 1;
1389 		BYTE	MSG4Reserved5 : 1;
1390 		BYTE	BLINDST0enabled : 1;
1391 		BYTE	BLINDST1enabled : 1;
1392 
1393 		//BYTE	msg5;
1394 		BYTE	X10enabled : 1; //note: keep this order
1395 		BYTE	ARCenabled : 1;
1396 		BYTE	ACenabled : 1;
1397 		BYTE	HEEUenabled : 1;
1398 		BYTE	MEIANTECHenabled : 1;
1399 		BYTE	OREGONenabled : 1;
1400 		BYTE	ATIenabled : 1;
1401 		BYTE	VISONICenabled : 1;
1402 
1403         //BYTE	msg6;
1404         BYTE    KEELOQenabled : 1;
1405 		BYTE    HCEnabled : 1;
1406         BYTE    MSG6Reserved2 : 1;
1407         BYTE    MSG6Reserved3 : 1;
1408         BYTE    MSG6Reserved4 : 1;
1409         BYTE    MSG6Reserved5 : 1;
1410         BYTE    MSG6Reserved6 : 1;
1411         BYTE    MSG6Reserved7 : 1;
1412 #endif
1413 
1414 		BYTE	msg7;
1415 		BYTE	msg8;
1416 		BYTE	msg9;
1417 		BYTE	msg10;
1418         BYTE	msg11;
1419         BYTE	msg12;
1420         BYTE	msg13;
1421         BYTE	msg14;
1422         BYTE	msg15;
1423         BYTE	msg16;
1424 	} IRESPONSE;
1425 
1426 	struct {	//response on a mode command from the application
1427 		BYTE	packetlength;
1428 		BYTE	packettype;
1429 		BYTE	subtype;
1430 		BYTE	seqnbr;
1431 		BYTE	cmnd;
1432 		BYTE	msg1;	//receiver/transceiver type
1433 		BYTE	msg2;	//firmware version
1434 
1435 #ifdef IS_BIG_ENDIAN
1436 		//BYTE	msg3;
1437 		BYTE	UNDECODEDenabled : 1;
1438 		BYTE	ALECTOenabled : 1;
1439 		BYTE	ALECTO5500enabled : 1;
1440 		BYTE	LACROSSEenabled : 1;
1441 		BYTE	DAVISEUenabled : 1;
1442 		BYTE	DAVISUSenabled : 1;
1443 		BYTE	DAVISAUenabled : 1;
1444 		BYTE	MSG3Reserved0 : 1;
1445 
1446 		//BYTE	msg4;
1447 		BYTE	MSG4Reserved7 : 1;
1448 		BYTE	MSG4Reserved6 : 1;
1449 		BYTE	MSG4Reserved5 : 1;
1450 		BYTE	MSG4Reserved4 : 1;
1451 		BYTE	MSG4Reserved3 : 1;
1452 		BYTE	FS20enabled : 1;
1453 		BYTE	LWRFenabled : 1;
1454 		BYTE	EDISIOenabled : 1;
1455 
1456 		//BYTE	msg5;
1457 		BYTE	VISONICenabled : 1;
1458 		BYTE	MEIANTECHenabled : 1;
1459 		BYTE	KEELOQenabled : 1;
1460 		BYTE	PROGUARDenabled : 1;
1461 		BYTE	MSG5Reserved3 : 1;
1462 		BYTE	MSG5Reserved2 : 1;
1463 		BYTE	MSG5Reserved1 : 1;
1464 		BYTE	MSG5Reserved0 : 1; //note: keep this order
1465 
1466 		//BYTE    msg6;
1467 		BYTE    ITHOenabled : 1;
1468 		BYTE    ITHOecoenabled : 1;
1469 		BYTE    HONEYWELLenabled : 1;
1470 		BYTE    MSG6Reserved4 : 1;
1471 		BYTE    MSG6Reserved3 : 1;
1472 		BYTE    MSG6Reserved2 : 1;
1473 		BYTE    MSG6Reserved1 : 1;
1474 		BYTE    MSG6Reserved0 : 1;
1475 #else
1476 		//BYTE	msg3;
1477 		BYTE	MSG3Reserved0 : 1;
1478 		BYTE	DAVISAUenabled : 1;
1479 		BYTE	DAVISUSenabled : 1;
1480 		BYTE	DAVISEUenabled : 1;
1481 		BYTE	LACROSSEenabled : 1;
1482 		BYTE	ALECTO5500enabled : 1;
1483 		BYTE	ALECTOenabled : 1;
1484 		BYTE	UNDECODEDenabled : 1;
1485 
1486 		//BYTE	msg4;
1487 		BYTE	EDISIOenabled : 1;
1488 		BYTE	LWRFenabled : 1;
1489 		BYTE	FS20enabled : 1;
1490 		BYTE	MSG4Reserved3 : 1;
1491 		BYTE	MSG4Reserved4 : 1;
1492 		BYTE	MSG4Reserved5 : 1;
1493 		BYTE	MSG4Reserved6 : 1;
1494 		BYTE	MSG4Reserved7 : 1;
1495 
1496 		//BYTE	msg5;
1497 		BYTE	MSG5Reserved0 : 1; //note: keep this order
1498 		BYTE	MSG5Reserved1 : 1;
1499 		BYTE	MSG5Reserved2 : 1;
1500 		BYTE	MSG5Reserved3 : 1;
1501 		BYTE	PROGUARDenabled : 1;
1502 		BYTE    KEELOQenabled : 1;
1503 		BYTE	MEIANTECHenabled : 1;
1504 		BYTE	VISONICenabled : 1;
1505 
1506 		//BYTE	msg6;
1507 		BYTE    MSG6Reserved0 : 1;
1508 		BYTE    MSG6Reserved1 : 1;
1509 		BYTE    MSG6Reserved2 : 1;
1510 		BYTE    MSG6Reserved3 : 1;
1511 		BYTE    MSG6Reserved4 : 1;
1512 		BYTE    HONEYWELLenabled : 1;
1513 		BYTE    ITHOecoenabled : 1;
1514 		BYTE    ITHOenabled : 1;
1515 #endif
1516 
1517 		BYTE	msg7;
1518 		BYTE	msg8;
1519 		BYTE	msg9;
1520 		BYTE	msg10;
1521 		BYTE	msg11;
1522 		BYTE	msg12;
1523 		BYTE	msg13;
1524 		BYTE	msg14;
1525 		BYTE	msg15;
1526 		BYTE	msg16;
1527 	} IRESPONSE868;
1528 
1529 	struct {
1530 		BYTE	packetlength;
1531 		BYTE	packettype;
1532 		BYTE	subtype;
1533 		BYTE	seqnbr;
1534 		BYTE	msg1;
1535 		BYTE	msg2;
1536 		BYTE	msg3;
1537 		BYTE	msg4;
1538 		BYTE	msg5;
1539 		BYTE	msg6;
1540 		BYTE	msg7;
1541 		BYTE	msg8;
1542 		BYTE	msg9;
1543 		BYTE	msg10;
1544 		BYTE	msg11;
1545 		BYTE	msg12;
1546 		BYTE	msg13;
1547 		BYTE	msg14;
1548 		BYTE	msg15;
1549 		BYTE	msg16;
1550 		BYTE	msg17;
1551 		BYTE	msg18;
1552 		BYTE	msg19;
1553 		BYTE	msg20;
1554 		BYTE	msg21;
1555 		BYTE	msg22;
1556 		BYTE	msg23;
1557 		BYTE	msg24;
1558 		BYTE	msg25;
1559 		BYTE	msg26;
1560 		BYTE	msg27;
1561 		BYTE	msg28;
1562 		BYTE	msg29;
1563 		BYTE	msg30;
1564 		BYTE	msg31;
1565 		BYTE	msg32;
1566 		BYTE	msg33;
1567 	} UNDECODED;
1568 
1569 	struct {	//receiver/transmitter messages
1570 		BYTE	packetlength;
1571 		BYTE	packettype;
1572 		BYTE	subtype;
1573 		BYTE	seqnbr;
1574 		BYTE	msg;
1575 	} RXRESPONSE;
1576 
1577 	struct {
1578 		BYTE	packetlength;
1579 		BYTE	packettype;
1580 		BYTE	subtype;
1581 		BYTE	seqnbr;
1582 		BYTE	housecode;
1583 		BYTE	unitcode;
1584 		BYTE	cmnd;
1585 #ifdef IS_BIG_ENDIAN
1586 		BYTE	rssi : 4;
1587 		BYTE	filler : 4;
1588 #else
1589 		BYTE	filler : 4;
1590 		BYTE	rssi : 4;
1591 #endif
1592 	} LIGHTING1;
1593 
1594 	struct {
1595 		BYTE	packetlength;
1596 		BYTE	packettype;
1597 		BYTE	subtype;
1598 		BYTE	seqnbr;
1599 		BYTE	id1;
1600 		BYTE	id2;
1601 		BYTE	id3;
1602 		BYTE	id4;
1603 		BYTE	unitcode;
1604 		BYTE	cmnd;
1605 		BYTE	level;
1606 #ifdef IS_BIG_ENDIAN
1607 		BYTE	rssi : 4;
1608 		BYTE	filler : 4;
1609 #else
1610 		BYTE	filler : 4;
1611 		BYTE	rssi : 4;
1612 #endif
1613 	} LIGHTING2;
1614 
1615 	struct {
1616 		BYTE	packetlength;
1617 		BYTE	packettype;
1618 		BYTE	subtype;
1619 		BYTE	seqnbr;
1620 		BYTE	system;
1621 		BYTE	channel8_1;
1622 		BYTE	channel10_9;
1623 		BYTE	cmnd;
1624 #ifdef IS_BIG_ENDIAN
1625 		BYTE	rssi : 4;
1626 		BYTE	filler : 4;
1627 #else
1628 		BYTE	filler : 4;
1629 		BYTE	rssi : 4;
1630 #endif
1631 	} LIGHTING3;
1632 
1633 	struct {
1634 		BYTE	packetlength;
1635 		BYTE	packettype;
1636 		BYTE	subtype;
1637 		BYTE	seqnbr;
1638 		BYTE	cmd1;
1639 		BYTE	cmd2;
1640 		BYTE	cmd3;
1641 		BYTE	pulseHigh;
1642 		BYTE	pulseLow;
1643 #ifdef IS_BIG_ENDIAN
1644 		BYTE	rssi : 4;
1645 		BYTE	filler : 4;
1646 #else
1647 		BYTE	filler : 4;
1648 		BYTE	rssi : 4;
1649 #endif
1650 	} LIGHTING4;
1651 
1652 	struct {
1653 		BYTE	packetlength;
1654 		BYTE	packettype;
1655 		BYTE	subtype;
1656 		BYTE	seqnbr;
1657 		BYTE	id1;
1658 		BYTE	id2;
1659 		BYTE	id3;
1660 		BYTE	unitcode;
1661 		BYTE	cmnd;
1662 		BYTE	level;
1663 #ifdef IS_BIG_ENDIAN
1664 		BYTE	rssi : 4;
1665 		BYTE	filler : 4;
1666 #else
1667 		BYTE	filler : 4;
1668 		BYTE	rssi : 4;
1669 #endif
1670 	} LIGHTING5;
1671 
1672 	struct {
1673 		BYTE	packetlength;
1674 		BYTE	packettype;
1675 		BYTE	subtype;
1676 		BYTE	seqnbr;
1677 		BYTE	id1;
1678 		BYTE	id2;
1679 		BYTE	groupcode;
1680 		BYTE	unitcode;
1681 		BYTE	cmnd;
1682 		BYTE	cmndseqnbr;
1683 		BYTE	seqnbr2;
1684 #ifdef IS_BIG_ENDIAN
1685 		BYTE	rssi : 4;
1686 		BYTE	filler : 4;
1687 #else
1688 		BYTE	filler : 4;
1689 		BYTE	rssi : 4;
1690 #endif
1691 	} LIGHTING6;
1692 
1693 	struct {
1694 		BYTE	packetlength;
1695 		BYTE	packettype;
1696 		BYTE	subtype;
1697 		BYTE	seqnbr;
1698 		BYTE	id1;
1699 		BYTE	id2;
1700 		BYTE	sound;
1701 #ifdef IS_BIG_ENDIAN
1702 		BYTE	rssi : 4;
1703 		BYTE	filler : 4;
1704 #else
1705 		BYTE	filler  : 4;
1706 		BYTE	rssi : 4;
1707 #endif
1708 	} CHIME;
1709 
1710 	struct {
1711 		BYTE	packetlength;
1712 		BYTE	packettype;
1713 		BYTE	subtype;
1714 		BYTE	seqnbr;
1715 		BYTE	id1;
1716 		BYTE	id2;
1717 		BYTE	id3;
1718 		BYTE	cmnd;
1719 #ifdef IS_BIG_ENDIAN
1720 		BYTE	rssi : 4;
1721 		BYTE	filler : 4;
1722 #else
1723 		BYTE	filler  : 4;
1724 		BYTE	rssi : 4;
1725 #endif
1726 	} FAN;
1727 
1728 	struct {
1729 		BYTE	packetlength;
1730 		BYTE	packettype;
1731 		BYTE	subtype;
1732 		BYTE	seqnbr;
1733 		BYTE	housecode;
1734 		BYTE	unitcode;
1735 		BYTE	cmnd;
1736 		BYTE	filler;
1737 	} CURTAIN1;
1738 
1739 	struct {
1740 		BYTE	packetlength;
1741 		BYTE	packettype;
1742 		BYTE	subtype;
1743 		BYTE	seqnbr;
1744 		BYTE	id1;
1745 		BYTE	id2;
1746 		BYTE	id3;
1747 #ifdef IS_BIG_ENDIAN
1748 		BYTE	id4 : 4;
1749 		BYTE	unitcode : 4;
1750 		BYTE	cmnd;
1751 		BYTE	rssi : 4;
1752 		BYTE	filler : 4;
1753 #else
1754 		BYTE	unitcode : 4;
1755 		BYTE	id4 : 4;
1756 		BYTE	cmnd;
1757 		BYTE	filler : 4;
1758 		BYTE	rssi : 4;
1759 #endif
1760 	} BLINDS1;
1761 
1762 	struct {
1763 		BYTE	packetlength;
1764 		BYTE	packettype;
1765 		BYTE	subtype;
1766 		BYTE	seqnbr;
1767 		BYTE	id1;
1768 		BYTE	id2;
1769 		BYTE	id3;
1770 		BYTE	unitcode;
1771 		BYTE	cmnd;
1772 		BYTE	rfu1;
1773 		BYTE	rfu2;
1774 		BYTE	rfu3;
1775 #ifdef IS_BIG_ENDIAN
1776 		BYTE	rssi : 4;
1777 		BYTE	filler : 4;
1778 #else
1779 		BYTE	filler : 4;
1780 		BYTE	rssi : 4;
1781 #endif
1782 	} RFY;
1783 
1784 	struct {
1785 		BYTE packetlength;
1786 		BYTE packettype;
1787 		BYTE subtype;
1788 		BYTE seqnbr;
1789 		BYTE id1;
1790 		BYTE id2;
1791 		BYTE id3;
1792 		BYTE housecode;
1793 		BYTE unitcode;
1794 		BYTE cmnd;
1795 		BYTE rfu1;
1796 		BYTE rfu2;
1797 #ifdef IS_BIG_ENDIAN
1798 		BYTE    rssi : 4;
1799 		BYTE    filler : 4;
1800 #else
1801 		BYTE    filler : 4;
1802 		BYTE    rssi : 4;
1803 #endif
1804 	} HOMECONFORT;
1805 
1806 	struct {
1807 		BYTE	packetlength;
1808 		BYTE	packettype;
1809 		BYTE	subtype;
1810 		BYTE	seqnbr;
1811 		BYTE	id1;
1812 		BYTE	id2;
1813 		BYTE	groupcode;
1814 		BYTE	unitcode;
1815 		BYTE	cmnd;
1816 		BYTE	cmndtime;
1817 #ifdef IS_BIG_ENDIAN
1818 		BYTE	filler1 : 4;
1819 		BYTE	devtype : 4;
1820 #else
1821 		BYTE	devtype : 4;
1822 		BYTE	filler1 : 4;
1823 #endif
1824 #ifdef IS_BIG_ENDIAN
1825 		BYTE	rssi : 4;
1826 		BYTE	battery_level : 4;
1827 #else
1828 		BYTE	battery_level : 4;
1829 		BYTE	rssi : 4;
1830 #endif
1831 	} FUNKBUS;
1832 
1833 	struct {
1834 		BYTE	packetlength;
1835 		BYTE	packettype;
1836 		BYTE	subtype;
1837 		BYTE	seqnbr;
1838 		BYTE	id1;
1839 		BYTE	id2;
1840 		BYTE	id3;
1841 		BYTE	id4;
1842 		BYTE	id5;
1843 		BYTE	id6;
1844 		BYTE	cmnd;
1845 #ifdef IS_BIG_ENDIAN
1846 		BYTE	rssi : 4;
1847 		BYTE	filler : 4;
1848 #else
1849 		BYTE	filler : 4;
1850 		BYTE	rssi : 4;
1851 #endif
1852 	} HUNTER;
1853 
1854 	struct {
1855 		BYTE	packetlength;
1856 		BYTE	packettype;
1857 		BYTE	subtype;
1858 		BYTE	seqnbr;
1859 		BYTE	id1;
1860 		BYTE	id2;
1861 		BYTE	id3;
1862 		BYTE	status;
1863 #ifdef IS_BIG_ENDIAN
1864 		BYTE	rssi : 4;
1865 		BYTE	battery_level : 4;
1866 #else
1867 		BYTE	battery_level : 4;
1868 		BYTE	rssi : 4;
1869 #endif
1870 	} SECURITY1;
1871 
1872 	struct {
1873 		BYTE	packetlength;
1874 		BYTE	packettype;
1875 		BYTE	subtype;
1876 		BYTE	seqnbr;
1877 		BYTE	id1;
1878 		BYTE	id2;
1879 		BYTE	id3;
1880 		BYTE	id4;
1881 		BYTE	id5;
1882 		BYTE	id6;
1883 		BYTE	id7;
1884 		BYTE	id8;
1885 		BYTE	id9;
1886 		BYTE	id10;
1887 		BYTE	id11;
1888 		BYTE	id12;
1889 		BYTE	id13;
1890 		BYTE	id14;
1891 		BYTE	id15;
1892 		BYTE	id16;
1893 		BYTE	id17;
1894 		BYTE	id18;
1895 		BYTE	id19;
1896 		BYTE	id20;
1897 		BYTE	id21;
1898 		BYTE	id22;
1899 		BYTE	id23;
1900 		BYTE	id24;
1901 #ifdef IS_BIG_ENDIAN
1902 		BYTE	rssi : 4;
1903 		BYTE	battery_level : 4;
1904 #else
1905 		BYTE	battery_level : 4;
1906 		BYTE	rssi : 4;
1907 #endif
1908 	} SECURITY2;
1909 
1910 	struct {
1911 		BYTE	packetlength;
1912 		BYTE	packettype;
1913 		BYTE	subtype;
1914 		BYTE	seqnbr;
1915 		BYTE	housecode;
1916 		BYTE	cmnd;
1917 #ifdef IS_BIG_ENDIAN
1918 		BYTE	rssi : 4;
1919 		BYTE	filler : 4;
1920 #else
1921 		BYTE	filler : 4;
1922 		BYTE	rssi : 4;
1923 #endif
1924 	} CAMERA1;
1925 
1926 	struct {
1927 		BYTE	packetlength;
1928 		BYTE	packettype;
1929 		BYTE	subtype;
1930 		BYTE	seqnbr;
1931 		BYTE	id;
1932 		BYTE	cmnd;
1933 #ifdef IS_BIG_ENDIAN
1934 		BYTE	rssi : 4;
1935 		BYTE	cmndtype : 3;
1936 		BYTE	toggle : 1;
1937 #else
1938 		BYTE	toggle : 1;
1939 		BYTE	cmndtype : 3;
1940 		BYTE	rssi : 4;
1941 #endif
1942 	} REMOTE;
1943 
1944 	struct {
1945 		BYTE	packetlength;
1946 		BYTE	packettype;
1947 		BYTE	subtype;
1948 		BYTE	seqnbr;
1949 		BYTE	id1;
1950 		BYTE	id2;
1951 		BYTE	temperature;
1952 		BYTE	set_point;
1953 #ifdef IS_BIG_ENDIAN
1954 		BYTE	mode : 1;
1955 		BYTE	filler : 5;
1956 		BYTE	status : 2;
1957 
1958 		BYTE	rssi : 4;
1959 		BYTE	filler1 : 4;
1960 #else
1961 		BYTE	status : 2;
1962 		BYTE	filler : 5;
1963 		BYTE	mode : 1;
1964 
1965 		BYTE	filler1 : 4;
1966 		BYTE	rssi : 4;
1967 #endif
1968 	} THERMOSTAT1;
1969 
1970 	struct {
1971 		BYTE	packetlength;
1972 		BYTE	packettype;
1973 		BYTE	subtype;
1974 		BYTE	seqnbr;
1975 		BYTE	unitcode;
1976 		BYTE	cmnd;
1977 #ifdef IS_BIG_ENDIAN
1978 		BYTE	rssi : 4;
1979 		BYTE	filler : 4;
1980 #else
1981 		BYTE	filler : 4;
1982 		BYTE	rssi : 4;
1983 #endif
1984 	} THERMOSTAT2;
1985 
1986 	struct {
1987 		BYTE	packetlength;
1988 		BYTE	packettype;
1989 		BYTE	subtype;
1990 		BYTE	seqnbr;
1991 		BYTE	unitcode1;
1992 		BYTE	unitcode2;
1993 		BYTE	unitcode3;
1994 		BYTE	cmnd;
1995 #ifdef IS_BIG_ENDIAN
1996 		BYTE	rssi : 4;
1997 		BYTE	filler : 4;
1998 #else
1999 		BYTE	filler : 4;
2000 		BYTE	rssi : 4;
2001 #endif
2002 	} THERMOSTAT3;
2003 
2004 	struct {
2005 		BYTE	packetlength;
2006 		BYTE	packettype;
2007 		BYTE	subtype;
2008 		BYTE	seqnbr;
2009 		BYTE	unitcode1;
2010 		BYTE	unitcode2;
2011 		BYTE	unitcode3;
2012 		BYTE	beep;
2013 		BYTE	fan1_speed;
2014 #ifdef IS_BIG_ENDIAN
2015 		BYTE	fan3_speed : 4;
2016 		BYTE	fan2_speed : 4;
2017 #else
2018 		BYTE	fan2_speed : 4;
2019 		BYTE	fan3_speed : 4;
2020 #endif
2021 		BYTE	flame_power;
2022 		BYTE	mode;
2023 #ifdef IS_BIG_ENDIAN
2024 		BYTE	rssi : 4;
2025 		BYTE	filler : 4;
2026 #else
2027 		BYTE	filler : 4;
2028 		BYTE	rssi : 4;
2029 #endif
2030 	} THERMOSTAT4;
2031 
2032 	struct {
2033 		BYTE	packetlength;
2034 		BYTE	packettype;
2035 		BYTE	subtype;
2036 		BYTE	seqnbr;
2037 		BYTE	id1;
2038 		BYTE	id2;
2039 		BYTE	id3;
2040 		BYTE	id4;
2041 		BYTE	unitcode;
2042 		BYTE	cmnd;
2043 		BYTE	temperature;
2044 		BYTE	tempPoint5;
2045 #ifdef IS_BIG_ENDIAN
2046 		BYTE	rssi : 4;
2047 		BYTE	filler : 4;
2048 #else
2049 		BYTE	filler : 4;
2050 		BYTE	rssi : 4;
2051 #endif
2052 	} RADIATOR1;
2053 
2054 	struct {
2055 		BYTE	packetlength;
2056 		BYTE	packettype;
2057 		BYTE	subtype;
2058 		BYTE	seqnbr;
2059 		BYTE	id1;
2060 		BYTE	id2;
2061 		BYTE	sensor1h;
2062 		BYTE	sensor1l;
2063 		BYTE	sensor2h;
2064 		BYTE	sensor2l;
2065 #ifdef IS_BIG_ENDIAN
2066 		BYTE	rssi : 4;
2067 		BYTE	battery_level : 4;
2068 #else
2069 		BYTE	battery_level : 4;
2070 		BYTE	rssi : 4;
2071 #endif
2072 	} BBQ;
2073 
2074 	struct {
2075 		BYTE	packetlength;
2076 		BYTE	packettype;
2077 		BYTE	subtype;
2078 		BYTE	seqnbr;
2079 		BYTE	id1;
2080 		BYTE	id2;
2081 #ifdef IS_BIG_ENDIAN
2082 		BYTE	tempsign : 1;
2083 		BYTE	temperatureh : 7;
2084 
2085 		BYTE	temperaturel;
2086 		BYTE	raintotal1;
2087 		BYTE	raintotal2;
2088 
2089 		BYTE	rssi : 4;
2090 		BYTE	battery_level : 4;
2091 #else
2092 		BYTE	temperatureh : 7;
2093 		BYTE	tempsign : 1;
2094 
2095 		BYTE	temperaturel;
2096 		BYTE	raintotal1;
2097 		BYTE	raintotal2;
2098 
2099 		BYTE	battery_level : 4;
2100 		BYTE	rssi : 4;
2101 #endif
2102 	} TEMP_RAIN;
2103 
2104 	struct {
2105 		BYTE	packetlength;
2106 		BYTE	packettype;
2107 		BYTE	subtype;
2108 		BYTE	seqnbr;
2109 		BYTE	id1;
2110 		BYTE	id2;
2111 #ifdef IS_BIG_ENDIAN
2112 		BYTE	tempsign : 1;
2113 		BYTE	temperatureh : 7;
2114 
2115 		BYTE	temperaturel;
2116 
2117 		BYTE	rssi : 4;
2118 		BYTE	battery_level : 4;
2119 #else
2120 		BYTE	temperatureh : 7;
2121 		BYTE	tempsign : 1;
2122 
2123 		BYTE	temperaturel;
2124 
2125 		BYTE	battery_level : 4;
2126 		BYTE	rssi : 4;
2127 #endif
2128 	} TEMP;
2129 
2130 	struct {
2131 		BYTE	packetlength;
2132 		BYTE	packettype;
2133 		BYTE	subtype;
2134 		BYTE	seqnbr;
2135 		BYTE	id1;
2136 		BYTE	id2;
2137 		BYTE	humidity;
2138 		BYTE	humidity_status;
2139 #ifdef IS_BIG_ENDIAN
2140 		BYTE	rssi : 4;
2141 		BYTE	battery_level : 4;
2142 #else
2143 		BYTE	battery_level : 4;
2144 		BYTE	rssi : 4;
2145 #endif
2146 	} HUM;
2147 
2148 	struct {
2149 		BYTE	packetlength;
2150 		BYTE	packettype;
2151 		BYTE	subtype;
2152 		BYTE	seqnbr;
2153 		BYTE	id1;
2154 		BYTE	id2;
2155 #ifdef IS_BIG_ENDIAN
2156 		BYTE	tempsign : 1;
2157 		BYTE	temperatureh : 7;
2158 
2159 		BYTE	temperaturel;
2160 		BYTE	humidity;
2161 		BYTE	humidity_status;
2162 
2163 		BYTE	rssi : 4;
2164 		BYTE	battery_level : 4;
2165 #else
2166 		BYTE	temperatureh : 7;
2167 		BYTE	tempsign : 1;
2168 
2169 		BYTE	temperaturel;
2170 		BYTE	humidity;
2171 		BYTE	humidity_status;
2172 
2173 		BYTE	battery_level : 4;
2174 		BYTE	rssi : 4;
2175 #endif
2176 	} TEMP_HUM;
2177 
2178 	struct {
2179 		BYTE	packetlength;
2180 		BYTE	packettype;
2181 		BYTE	subtype;
2182 		BYTE	seqnbr;
2183 		BYTE	id1;
2184 		BYTE	id2;
2185 		BYTE	baro1;
2186 		BYTE	baro2;
2187 		BYTE	forecast;
2188 #ifdef IS_BIG_ENDIAN
2189 		BYTE	rssi : 4;
2190 		BYTE	battery_level : 4;
2191 #else
2192 		BYTE	battery_level : 4;
2193 		BYTE	rssi : 4;
2194 #endif
2195 	} BARO;
2196 
2197 	struct {
2198 		BYTE	packetlength;
2199 		BYTE	packettype;
2200 		BYTE	subtype;
2201 		BYTE	seqnbr;
2202 		BYTE	id1;
2203 		BYTE	id2;
2204 #ifdef IS_BIG_ENDIAN
2205 		BYTE	tempsign : 1;
2206 		BYTE	temperatureh : 7;
2207 #else
2208 		BYTE	temperatureh : 7;
2209 		BYTE	tempsign : 1;
2210 #endif
2211 		BYTE	temperaturel;
2212 		BYTE	humidity;
2213 		BYTE	humidity_status;
2214 		BYTE	baroh;
2215 		BYTE	barol;
2216 		BYTE	forecast;
2217 #ifdef IS_BIG_ENDIAN
2218 		BYTE	rssi : 4;
2219 		BYTE	battery_level : 4;
2220 #else
2221 		BYTE	battery_level : 4;
2222 		BYTE	rssi : 4;
2223 #endif
2224 	} TEMP_HUM_BARO;
2225 
2226 	struct {
2227 		BYTE	packetlength;
2228 		BYTE	packettype;
2229 		BYTE	subtype;
2230 		BYTE	seqnbr;
2231 		BYTE	id1;
2232 		BYTE	id2;
2233 		BYTE	rainrateh;
2234 		BYTE	rainratel;
2235 		BYTE	raintotal1;
2236 		BYTE	raintotal2;
2237 		BYTE	raintotal3;
2238 #ifdef IS_BIG_ENDIAN
2239 		BYTE	rssi : 4;
2240 		BYTE	battery_level : 4;
2241 #else
2242 		BYTE	battery_level : 4;
2243 		BYTE	rssi : 4;
2244 #endif
2245 	} RAIN;
2246 
2247 	struct {
2248 		BYTE	packetlength;
2249 		BYTE	packettype;
2250 		BYTE	subtype;
2251 		BYTE	seqnbr;
2252 		BYTE	id1;
2253 		BYTE	id2;
2254 		BYTE	directionh;
2255 		BYTE	directionl;
2256 		BYTE	av_speedh;
2257 		BYTE	av_speedl;
2258 		BYTE	gusth;
2259 		BYTE	gustl;
2260 #ifdef IS_BIG_ENDIAN
2261 		BYTE	tempsign : 1;
2262 		BYTE	temperatureh : 7;
2263 
2264 		BYTE	temperaturel;
2265 
2266 		BYTE	chillsign : 1;
2267 		BYTE	chillh : 7;
2268 
2269 		BYTE	chilll;
2270 
2271 		BYTE	rssi : 4;
2272 		BYTE	battery_level : 4;
2273 #else
2274 		BYTE	temperatureh : 7;
2275 		BYTE	tempsign : 1;
2276 
2277 		BYTE	temperaturel;
2278 
2279 		BYTE	chillh : 7;
2280 		BYTE	chillsign : 1;
2281 
2282 		BYTE	chilll;
2283 
2284 		BYTE	battery_level : 4;
2285 		BYTE	rssi : 4;
2286 #endif
2287 	} WIND;
2288 
2289 	struct {
2290 		BYTE	packetlength;
2291 		BYTE	packettype;
2292 		BYTE	subtype;
2293 		BYTE	seqnbr;
2294 		BYTE	id1;
2295 		BYTE	id2;
2296 		BYTE	uv;
2297 #ifdef IS_BIG_ENDIAN
2298 		BYTE	tempsign : 1;
2299 		BYTE	temperatureh : 7;
2300 
2301 		BYTE	temperaturel;
2302 
2303 		BYTE	rssi : 4;
2304 		BYTE	battery_level : 4;
2305 #else
2306 		BYTE	temperatureh : 7;
2307 		BYTE	tempsign : 1;
2308 
2309 		BYTE	temperaturel;
2310 
2311 		BYTE	battery_level : 4;
2312 		BYTE	rssi : 4;
2313 #endif
2314 	} UV;
2315 
2316 	struct {
2317 		BYTE	packetlength;
2318 		BYTE	packettype;
2319 		BYTE	subtype;
2320 		BYTE	seqnbr;
2321 		BYTE	id1;
2322 		BYTE	id2;
2323 		BYTE	yy;
2324 		BYTE	mm;
2325 		BYTE	dd;
2326 		BYTE	dow;
2327 		BYTE	hr;
2328 		BYTE	min;
2329 		BYTE	sec;
2330 #ifdef IS_BIG_ENDIAN
2331 		BYTE	rssi : 4;
2332 		BYTE	battery_level : 4;
2333 #else
2334 		BYTE	battery_level : 4;
2335 		BYTE	rssi : 4;
2336 #endif
2337 	} DT;
2338 
2339 	struct {
2340 		BYTE	packetlength;
2341 		BYTE	packettype;
2342 		BYTE	subtype;
2343 		BYTE	seqnbr;
2344 		BYTE	id1;
2345 		BYTE	id2;
2346 		BYTE	count;
2347 		BYTE	ch1h;
2348 		BYTE	ch1l;
2349 		BYTE	ch2h;
2350 		BYTE	ch2l;
2351 		BYTE	ch3h;
2352 		BYTE	ch3l;
2353 #ifdef IS_BIG_ENDIAN
2354 		BYTE	rssi : 4;
2355 		BYTE	battery_level : 4;
2356 #else
2357 		BYTE	battery_level : 4;
2358 		BYTE	rssi : 4;
2359 #endif
2360 	} CURRENT;
2361 
2362 	struct {
2363 		BYTE	packetlength;
2364 		BYTE	packettype;
2365 		BYTE	subtype;
2366 		BYTE	seqnbr;
2367 		BYTE	id1;
2368 		BYTE	id2;
2369 		BYTE	count;
2370 		BYTE	instant1;
2371 		BYTE	instant2;
2372 		BYTE	instant3;
2373 		BYTE	instant4;
2374 		BYTE	total1;
2375 		BYTE	total2;
2376 		BYTE	total3;
2377 		BYTE	total4;
2378 		BYTE	total5;
2379 		BYTE	total6;
2380 #ifdef IS_BIG_ENDIAN
2381 		BYTE	rssi : 4;
2382 		BYTE	battery_level : 4;
2383 #else
2384 		BYTE	battery_level : 4;
2385 		BYTE	rssi : 4;
2386 #endif
2387 	} ENERGY;
2388 
2389 	struct {
2390 		BYTE	packetlength;
2391 		BYTE	packettype;
2392 		BYTE	subtype;
2393 		BYTE	seqnbr;
2394 		BYTE	id1;
2395 		BYTE	id2;
2396 		BYTE	count;
2397 		BYTE	ch1h;
2398 		BYTE	ch1l;
2399 		BYTE	ch2h;
2400 		BYTE	ch2l;
2401 		BYTE	ch3h;
2402 		BYTE	ch3l;
2403 		BYTE	total1;
2404 		BYTE	total2;
2405 		BYTE	total3;
2406 		BYTE	total4;
2407 		BYTE	total5;
2408 		BYTE	total6;
2409 #ifdef IS_BIG_ENDIAN
2410 		BYTE	rssi : 4;
2411 		BYTE	battery_level : 4;
2412 #else
2413 		BYTE	battery_level : 4;
2414 		BYTE	rssi : 4;
2415 #endif
2416 	} CURRENT_ENERGY;
2417 
2418 	struct {
2419         BYTE	packetlength;
2420         BYTE	packettype;
2421         BYTE	subtype;
2422         BYTE	seqnbr;
2423         BYTE	id1;
2424         BYTE	id2;
2425         BYTE	voltage;
2426         BYTE	currentH;
2427         BYTE	currentL;
2428         BYTE	powerH;
2429         BYTE	powerL;
2430         BYTE	energyH;
2431         BYTE	energyL;
2432         BYTE	pf;
2433         BYTE	freq;
2434 #ifdef IS_BIG_ENDIAN
2435         BYTE	rssi : 4;
2436         BYTE	filler : 4;
2437 #else
2438         BYTE	filler : 4;
2439         BYTE	rssi : 4;
2440 #endif
2441     } POWER;
2442 
2443 	struct {
2444 		BYTE	packetlength;
2445 		BYTE	packettype;
2446 		BYTE	subtype;
2447 		BYTE	seqnbr;
2448 		BYTE	id1;
2449 		BYTE	id2;
2450 		BYTE	weighthigh;
2451 		BYTE	weightlow;
2452 #ifdef IS_BIG_ENDIAN
2453 		BYTE	rssi : 4;
2454 		BYTE	filler : 4;
2455 #else
2456 		BYTE	filler : 4;
2457 		BYTE	rssi : 4;
2458 #endif
2459 	} WEIGHT;
2460 
2461 	struct {
2462 		BYTE	packetlength;
2463 		BYTE	packettype;
2464 		BYTE	subtype;
2465 		BYTE	seqnbr;
2466 		BYTE	id1;
2467 		BYTE	id2;
2468 		BYTE	id3;
2469 		BYTE	id4;
2470 		BYTE	id5;
2471 		BYTE	contract_type;
2472 		BYTE	counter1_0;
2473 		BYTE	counter1_1;
2474 		BYTE	counter1_2;
2475 		BYTE	counter1_3;
2476 		BYTE	counter2_0;
2477 		BYTE	counter2_1;
2478 		BYTE	counter2_2;
2479 		BYTE	counter2_3;
2480 		BYTE	power_H;
2481 		BYTE	power_L;
2482 		BYTE	state;
2483 #ifdef IS_BIG_ENDIAN
2484 		BYTE	rssi : 4;
2485 		BYTE	battery_level : 4;
2486 #else
2487 		BYTE	battery_level : 4;
2488 		BYTE	rssi : 4;
2489 #endif
2490 	} TIC;
2491 
2492 	struct {
2493 		BYTE	packetlength;
2494 		BYTE	packettype;
2495 		BYTE	subtype;
2496 		BYTE	seqnbr;
2497 		BYTE	id1;
2498 		BYTE	id2;
2499 		BYTE	id3;
2500 		BYTE	id4;
2501 		BYTE	counter1_0;
2502 		BYTE	counter1_1;
2503 		BYTE	counter1_2;
2504 		BYTE	counter1_3;
2505 		BYTE	counter2_0;
2506 		BYTE	counter2_1;
2507 		BYTE	counter2_2;
2508 		BYTE	counter2_3;
2509 		BYTE	state;
2510 #ifdef IS_BIG_ENDIAN
2511 		BYTE	rssi : 4;
2512 		BYTE	battery_level : 4;
2513 #else
2514 		BYTE	battery_level : 4;
2515 		BYTE	rssi : 4;
2516 #endif
2517 	} CEENCODER;
2518 
2519 	struct {
2520 		BYTE packetlength;
2521 		BYTE packettype;
2522 		BYTE subtype;
2523 		BYTE seqnbr;
2524 		BYTE id1;
2525 		BYTE id2;
2526 		BYTE id3;
2527 		BYTE id4;
2528 		BYTE runidx_0;
2529 		BYTE runidx_1;
2530 		BYTE runidx_2;
2531 		BYTE runidx_3;
2532 		BYTE prodidx1_0;
2533 		BYTE prodidx1_1;
2534 		BYTE prodidx1_2;
2535 		BYTE prodidx1_3;
2536 #ifdef IS_BIG_ENDIAN
2537 		BYTE rfu : 4;
2538 		BYTE currentidx : 4;
2539 #else
2540 		BYTE currentidx : 4;
2541 		BYTE rfu : 4;
2542 #endif
2543 		BYTE av_voltage;
2544 		BYTE power_H;
2545 		BYTE power_L;
2546 		BYTE state;
2547 #ifdef IS_BIG_ENDIAN
2548 		BYTE	rssi : 4;
2549 		BYTE	battery_level : 4;
2550 #else
2551 		BYTE	battery_level : 4;
2552 		BYTE	rssi : 4;
2553 #endif
2554 	} LINKY;
2555 
2556 	struct {
2557 		BYTE packetlength;
2558 		BYTE packettype;
2559 		BYTE subtype;
2560 		BYTE seqnbr;
2561 		BYTE cmnd;
2562 		BYTE baudrate;
2563 		BYTE parity;
2564 		BYTE databits;
2565 		BYTE stopbits;
2566 		BYTE polarity;
2567 		BYTE filler1;
2568 		BYTE filler2;
2569 	} ASYNCPORT;
2570 
2571 	struct {
2572 		BYTE packetlength;
2573 		BYTE packettype;
2574 		BYTE subtype;
2575 		BYTE seqnbr;
2576 		BYTE datachar[252];
2577 	} ASYNCDATA;
2578 
2579 	struct {
2580 		BYTE	packetlength;
2581 		BYTE	packettype;
2582 		BYTE	subtype;
2583 		BYTE	seqnbr;
2584 		BYTE	id;
2585 		BYTE	msg1;
2586 		BYTE	msg2;
2587 #ifdef IS_BIG_ENDIAN
2588 		BYTE	rssi : 4;
2589 		BYTE	filler : 4;
2590 #else
2591 		BYTE	filler : 4;
2592 		BYTE	rssi : 4;
2593 #endif
2594 	} RFXSENSOR;
2595 
2596 	struct {
2597 		BYTE	packetlength;
2598 		BYTE	packettype;
2599 		BYTE	subtype;
2600 		BYTE	seqnbr;
2601 		BYTE	id1;
2602 		BYTE	id2;
2603 		BYTE	count1;
2604 		BYTE	count2;
2605 		BYTE	count3;
2606 		BYTE	count4;
2607 #ifdef IS_BIG_ENDIAN
2608 		BYTE	rssi : 4;
2609 		BYTE	filler : 4;
2610 #else
2611 		BYTE	filler : 4;
2612 		BYTE	rssi : 4;
2613 #endif
2614 	} RFXMETER;
2615 
2616 	struct {
2617 	BYTE	packetlength;
2618 	BYTE	packettype;
2619 	BYTE	subtype;
2620 	BYTE	seqnbr;
2621 	BYTE	hc1;
2622 	BYTE	hc2;
2623 	BYTE	addr;
2624 	BYTE	cmd1;
2625 	BYTE	cmd2;
2626 #ifdef IS_BIG_ENDIAN
2627 	BYTE	rssi : 4;
2628 	BYTE	filler : 4;
2629 #else
2630 	BYTE	filler : 4;
2631 	BYTE	rssi : 4;
2632 #endif
2633     } FS20;
2634 
2635 	struct {
2636 		BYTE packetlength;
2637 		BYTE packettype;
2638 		BYTE subtype;
2639 		BYTE seqnbr;
2640 		BYTE id1;
2641 		BYTE id2;
2642 		BYTE directionhigh;
2643 		BYTE directionlow;
2644 		BYTE av_speedhigh;
2645 		BYTE av_speedlow;
2646 		BYTE gusthigh;
2647 		BYTE gustlow;
2648 #ifdef IS_BIG_ENDIAN
2649 		BYTE	temperaturesign : 1;
2650 		BYTE	temperaturehigh : 7;
2651 #else
2652 		BYTE	temperaturehigh : 7;
2653 		BYTE	temperaturesign : 1;
2654 #endif
2655 		BYTE temperaturelow;
2656 #ifdef IS_BIG_ENDIAN
2657 		BYTE	chillsign : 1;
2658 		BYTE	chillhigh : 7;
2659 #else
2660 		BYTE	chillhigh : 7;
2661 		BYTE	chillsign : 1;
2662 #endif
2663 		BYTE chilllow;
2664 		BYTE humidity;
2665 		BYTE humidity_status;
2666 		BYTE rainratehigh;
2667 		BYTE rainratelow;
2668 		BYTE raintotal1; //high byte
2669 		BYTE raintotal2;
2670 		BYTE raintotal3; //low byte
2671 		BYTE uv;
2672 		BYTE solarhigh;
2673 		BYTE solarlow;
2674 		BYTE barohigh;
2675 		BYTE barolow;
2676 		BYTE forecast;
2677 		BYTE rfu1;
2678 		BYTE rfu2;
2679 #ifdef IS_BIG_ENDIAN
2680 		BYTE	rssi : 4;
2681 		BYTE	battery_level : 4;
2682 #else
2683 		BYTE battery_level : 4;
2684 		BYTE rssi : 4;
2685 #endif
2686 	} WEATHER;
2687 
2688 	struct {
2689 		BYTE	packetlength;
2690 		BYTE	packettype;
2691 		BYTE	subtype;
2692 		BYTE	seqnbr;
2693 		BYTE	id1;
2694 		BYTE	id2;
2695 		BYTE	solarhigh;
2696 		BYTE	solarlow;
2697 		BYTE	rfu1;
2698 		BYTE	rfu2;
2699 #ifdef IS_BIG_ENDIAN
2700 		BYTE	rssi : 4;
2701 		BYTE	battery_level : 4;
2702 #else
2703 		BYTE battery_level : 4;
2704 		BYTE rssi : 4;
2705 #endif
2706 	} SOLAR;
2707 
2708 	struct {
2709 	BYTE	packetlength;
2710 	BYTE	packettype;
2711 	BYTE	subtype;
2712 	BYTE	seqnbr;
2713 	BYTE	repeat;
2714 	struct{
2715 		BYTE	uint_msb;
2716 		BYTE	uint_lsb;
2717 	} pulse[124];
2718     } RAW;
2719 } RBUF;
2720 
2721 #endif //_RXFCOMLIB_F11DD459_E67E_4B26_8E44_B964E99304BF
2722