Changes for page LHT65N -- Manual do sensor de temperatura e umidade LoRaWAN
Last modified by Xiaoling on 2023/07/18 10:12
From version 205.1
edited by Edwin Chen
on 2022/10/11 18:16
on 2022/10/11 18:16
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Edwin1 +XWiki.Xiaoling - Content
-
... ... @@ -61,6 +61,8 @@ 61 61 * Tri-color LED to indicate working status 62 62 * Datalog feature (Max 3328 records) 63 63 64 + 65 + 64 64 == 1.3 Specification == 65 65 66 66 ... ... @@ -85,6 +85,8 @@ 85 85 * ±2°C accuracy from -55°C to +125°C 86 86 * Operating Range: -55 °C ~~ 125 °C 87 87 90 + 91 + 88 88 = 2. Connect LHT65N to IoT Server = 89 89 90 90 ... ... @@ -196,10 +196,9 @@ 196 196 197 197 198 198 203 +== 2.4 Uplink Payload ( Fport~=2) == 199 199 200 -== 2.4 Uplink Payload == 201 201 202 - 203 203 ((( 204 204 The uplink payload includes totally 11 bytes. Uplink packets use FPORT=2 and (% _mstvisible="3" style="color:#4f81bd" %)**every 20 minutes**(%%) send one uplink by default. 205 205 ))) ... ... @@ -276,22 +276,20 @@ 276 276 * The 7th byte (EXT #): defines the external sensor model. 277 277 * The 8(% _msthash="734578" _msttexthash="21372" _mstvisible="4" %)^^th^^(%%) ~~ 11(% _msthash="734579" _msttexthash="21372" _mstvisible="4" %)^^th^^(%%) byte: the value for external sensor value. The definition is based on external sensor type. (If EXT=0, there won't be these four bytes.) 278 278 282 + 283 + 279 279 === 2.4.1 Decoder in TTN V3 === 280 280 281 281 282 282 When the uplink payload arrives TTNv3, it shows HEX format and not friendly to read. We can add LHT65N decoder in TTNv3 for friendly reading. 283 283 284 -Below is the position to put the decoder and LHT65N decoder can be download from here: 289 +Below is the position to put the decoder and LHT65N decoder can be download from here: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>https://github.com/dragino/dragino-end-node-decoder]] 285 285 286 286 287 -[[https:~~/~~/www.dropbox.com/sh/r2i3zlhsyrpavla/AAB1sZw3mdT0K7XjpHCITt13a?dl=0 >>https://www.dropbox.com/sh/r2i3zlhsyrpavla/AAB1sZw3mdT0K7XjpHCITt13a?dl=0||_msthash="315253" _msttexthash="3509064" _mstvisible="2"]] 288 - 289 - 290 290 [[image:image-20220522234118-10.png||_mstalt="451464" _mstvisible="3" height="353" width="729"]] 291 291 292 292 293 293 294 - 295 295 === 2.4.2 BAT-Battery Info === 296 296 297 297 ... ... @@ -308,6 +308,8 @@ 308 308 * BAT status=(0Xcba4>>14)&0xFF=11(B),very good 309 309 * Battery Voltage =0xCBF6&0x3FFF=0x0BA4=2980mV 310 310 312 + 313 + 311 311 === 2.4.3 Built-in Temperature === 312 312 313 313 ... ... @@ -319,6 +319,8 @@ 319 319 320 320 * Temperature: (0xF5C6-65536)/100=-26.18℃ 321 321 325 + 326 + 322 322 === 2.4.4 Built-in Humidity === 323 323 324 324 ... ... @@ -326,6 +326,8 @@ 326 326 327 327 * Humidity: 0x025C/10=60.4% 328 328 334 + 335 + 329 329 === 2.4.5 Ext # === 330 330 331 331 ... ... @@ -483,6 +483,8 @@ 483 483 * (% style="color:blue" %)**Sync time OK**: (%%) 1: Set time ok,0: N/A. After time SYNC request is sent, LHT65N will set this bit to 0 until got the time stamp from the application server. 484 484 * (% style="color:blue" %)**Unix Time Request**:(%%) 1: Request server downlink Unix time, 0 : N/A. In this mode, LHT65N will set this bit to 1 every 10 days to request a time SYNC. (AT+SYNCMOD to set this) 485 485 493 + 494 + 486 486 ==== 2.4.6.3 Ext~=6, ADC Sensor (use with E2 Cable) ==== 487 487 488 488 ... ... @@ -490,11 +490,11 @@ 490 490 491 491 be used to power the external ADC sensor; user can control the power on time for this 492 492 493 -sensor by setting: 502 +(% style="color:blue" %)**sensor by setting:** 494 494 495 -AT+EXT=6,timeout (% _msthash="506085" _msttexthash="8782189" _mstvisible="3" style="color:red" %)**Time to power this sensor, from 0 ~~ 65535ms** 504 +**AT+EXT=6,timeout** (% _msthash="506085" _msttexthash="8782189" _mstvisible="3" style="color:red" %)**Time to power this sensor, from 0 ~~ 65535ms** 496 496 497 -For example: 506 +**For example:** 498 498 499 499 AT+EXT=6,1000 will power this sensor for 1000ms before sampling the ADC value. 500 500 ... ... @@ -538,7 +538,7 @@ 538 538 [[image:image-20220927095645-1.png||height="534" width="460"]] 539 539 540 540 541 -**Ext=2,Temperature Sensor(TMP117):** 550 +(% style="color:blue" %)**Ext=2,Temperature Sensor(TMP117):** 542 542 543 543 [[image:image-20220906102307-7.png]] 544 544 ... ... @@ -549,7 +549,6 @@ 549 549 550 550 551 551 552 - 553 553 ==== 2.4.6.5 Ext~=4 Interrupt Mode (Since Firmware v1.3) ==== 554 554 555 555 ... ... @@ -558,7 +558,7 @@ 558 558 559 559 (% style="color:blue" %)**Interrupt Mode can be used to connect to external interrupt sensors such as:** 560 560 561 -**Case 1: Door Sensor.** 3.3v Out for such sensor is just to detect Open/Close. 569 +(% style="color:#037691" %)**Case 1: Door Sensor.** (%%)3.3v Out for such sensor is just to detect Open/Close. 562 562 563 563 In Open State, the power consumption is the same as if there is no probe 564 564 ... ... @@ -569,7 +569,7 @@ 569 569 570 570 Ext=4,Interrupt Sensor: 571 571 572 -(% border=" 2" cellpadding="4" cellspacing="4" style="background-color:#ffffcc; color:green; height:6px; width:512px" %)580 +(% border="1.5" cellpadding="4" cellspacing="4" style="background-color:#ffffcc; color:green; height:6px; width:512px" %) 573 573 |(% style="width:117px" %)((( 574 574 AT+EXT=4,1 575 575 )))|(% style="width:371px" %)((( ... ... @@ -613,6 +613,7 @@ 613 613 614 614 [[image:image-20220906101320-5.png||height="353" width="696"]] 615 615 624 + 616 616 Ext=8, Counting Sensor ( 4 bytes): 617 617 618 618 (% border="2" cellpadding="4" cellspacing="4" style="background-color:#ffffcc; color:green; height:6px; width:381px" %) ... ... @@ -648,52 +648,7 @@ 648 648 A2 08 02 00 00 00 3C: Same as AT+ SETCNT=60 (AT+ SETCNT = 4th byte and 5th byte and 6th byte and 7th byte) 649 649 650 650 651 -(% style="color:blue" %)**Modified ATWOOD command for external sensor TMP117 or DS18B20 temperature alarm.** 652 652 653 - 654 -(% style="color:#037691" %)**AT+WMOD=parameter1,parameter2,parameter3,parameter4** 655 - 656 -(% style="color:#037691" %)**Parameter 1**(%%): Alarm mode: 657 - 658 -0): Cancel 659 - 660 -1): Threshold alarm 661 - 662 -2): Fluctuation alarm 663 - 664 - 665 -(% style="color:#037691" %)** Parameter 2**(%%): Sampling time. Unit: seconds, up to 255 seconds. 666 - 667 -(% style="color:red" %)**Note: When the collection time is less than 60 seconds and always exceeds the set alarm threshold, the sending interval will not be the collection time, but will be sent every 60 seconds.** 668 - 669 - 670 -(% style="color:#037691" %) **Parameter 3 and parameter 4:** 671 - 672 -1): If Alarm Mode is set to 1: Parameter 3 and parameter 4 are valid, as before, they represent low temperature and high temperature. 673 - 674 -Such as AT+WMOD=1,60,45,105, it means high and low temperature alarm. 675 - 676 - 677 -2): If Alarm Mode is set to 2: Parameter 3 is valid, which represents the difference between the currently collected temperature and the last uploaded temperature. 678 - 679 -Such as AT+WMOD=2,10,2,it means that it is a fluctuation alarm. 680 - 681 -If the difference between the current collected temperature and the last Uplin is ±2 degrees, the alarm will be issued. 682 - 683 - 684 -(% style="color:blue" %)** Downlink:** 685 - 686 -0xA5 00 ~-~- AT+WMOD=0. 687 - 688 -0xA5 01 0A 11 94 29 04 ~-~- AT+WMOD=1,10,45,105 (AT+WMOD = second byte, third byte, fourth and fifth bytes divided by 100, sixth and seventh bytes divided by 100 ) 689 - 690 -0xA5 02 0A 02 ~-~- AT+WMOD=2,10,2 (AT+WMOD = second byte, third byte, fourth byte) 691 - 692 -0xA5 FF ~-~- After the device receives it, upload the current alarm configuration (FPORT=8). Such as 01 0A 11 94 29 04 or 02 0A 02. 693 - 694 - 695 - 696 - 697 697 == 2.5 Show data on Datacake == 698 698 699 699 ... ... @@ -756,12 +756,12 @@ 756 756 757 757 There are two methods: 758 758 759 -**Method 1** :IoT Server sends a downlink LoRaWAN command to [[poll the value>>||anchor="H2.6.4Pollsensorvalue"]] for specified time range.723 +(% style="color:blue" %)**Method 1:** (%%)IoT Server sends a downlink LoRaWAN command to [[poll the value>>||anchor="H2.6.4Pollsensorvalue"]] for specified time range. 760 760 761 761 762 -**Method 2: **Set [[PNACKMD=1>>||anchor="H4.13AutoSendNone-ACKmessages"]], LHT65N will wait for ACK for every uplink, when there is no LoRaWAN network, LHT65N will mark these records with non-ack messages and store the sensor data, and it will send all messages (10s interval) after the network recovery. 726 +(% style="color:blue" %)**Method 2: **(%%)Set [[PNACKMD=1>>||anchor="H4.13AutoSendNone-ACKmessages"]], LHT65N will wait for ACK for every uplink, when there is no LoRaWAN network, LHT65N will mark these records with non-ack messages and store the sensor data, and it will send all messages (10s interval) after the network recovery. 763 763 764 -**Note for method 2:** 728 +(% style="color:red" %)**Note for method 2:** 765 765 766 766 * a) LHT65N will do an ACK check for data records sending to make sure every data arrive server. 767 767 * b) LHT65N will send data in **CONFIRMED Mode** when PNACKMD=1, but LHT65N won't re-transmit the packet if it doesn't get ACK, it will just mark it as a NONE-ACK message. In a future uplink if LHT65N gets a ACK, LHT65N will consider there is a network connection and resend all NONE-ACK Message. ... ... @@ -796,11 +796,11 @@ 796 796 797 797 798 798 ((( 799 -There are two ways to set device's time: 763 +(% style="color:blue" %)**There are two ways to set device's time:** 800 800 ))) 801 801 802 802 ((( 803 -** ~1. Through LoRaWAN MAC Command (Default settings)**767 +**1. Through LoRaWAN MAC Command (Default settings)** 804 804 ))) 805 805 806 806 ((( ... ... @@ -997,9 +997,9 @@ 997 997 ((( 998 998 [[image:image-20221006192726-1.png||height="112" width="754"]] 999 999 1000 -(% class="mark" %)No ACK Message(%%): 1: This message means this payload is fromn Uplink Message which doesn't get ACK from the server before ( for [[PNACKMD=1>>||anchor="H4.13AutoSendNone-ACKmessages"]] feature) 964 +(% class="mark" %)**No ACK Message**(%%): 1: This message means this payload is fromn Uplink Message which doesn't get ACK from the server before ( for [[PNACKMD=1>>||anchor="H4.13AutoSendNone-ACKmessages"]] feature) 1001 1001 1002 -(% class="mark" %)Poll Message Flag(%%): 1: This message is a poll message reply. 966 +(% class="mark" %)**Poll Message Flag**(%%): 1: This message is a poll message reply. 1003 1003 1004 1004 1005 1005 ))) ... ... @@ -1050,7 +1050,7 @@ 1050 1050 ((( 1051 1051 (% _msthash="736725" _msttexthash="1065532" _mstvisible="3" %) 1052 1052 ((( 1053 -a) DR0: max is 11 bytes so one entry of data 1017 +**a) DR0:** max is 11 bytes so one entry of data 1054 1054 ))) 1055 1055 ))) 1056 1056 ))) ... ... @@ -1061,7 +1061,7 @@ 1061 1061 ((( 1062 1062 (% _msthash="736726" _msttexthash="3265665" _mstvisible="3" %) 1063 1063 ((( 1064 -b) DR1: max is 53 bytes so devices will upload 4 entries of data (total 44 bytes) 1028 +**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes) 1065 1065 ))) 1066 1066 ))) 1067 1067 ))) ... ... @@ -1072,7 +1072,7 @@ 1072 1072 ((( 1073 1073 (% _msthash="736727" _msttexthash="1454115" _mstvisible="3" style="text-align: left;" %) 1074 1074 ((( 1075 -c) DR2: total payload includes 11 entries of data 1039 +**c) DR2:** total payload includes 11 entries of data 1076 1076 ))) 1077 1077 ))) 1078 1078 ))) ... ... @@ -1083,7 +1083,7 @@ 1083 1083 ((( 1084 1084 (% _msthash="736728" _msttexthash="1483924" _mstvisible="3" style="text-align: left;" %) 1085 1085 ((( 1086 -d) DR3: total payload includes 22 entries of data. 1050 +**d) DR3: **total payload includes 22 entries of data. 1087 1087 ))) 1088 1088 ))) 1089 1089 ))) ... ... @@ -1094,7 +1094,7 @@ 1094 1094 ((( 1095 1095 (% _msthash="736729" _msttexthash="5848349" _mstvisible="3" style="text-align: left;" %) 1096 1096 ((( 1097 -If devise doesn ’t have any data in the polling time. Device will uplink 11 bytes of 01061 +If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0 1098 1098 ))) 1099 1099 ))) 1100 1100 ))) ... ... @@ -1195,17 +1195,42 @@ 1195 1195 ((( 1196 1196 (% style="color:red" %)**Note: alarm mode adds a little power consumption, and we recommend extending the normal read time when this feature is enabled.** 1197 1197 1162 + 1163 + 1164 +=== 2.7.1 ALARM MODE ( Since v1.3.1 firmware) === 1165 + 1166 + 1167 +((( 1168 +(% class="box infomessage" %) 1169 +((( 1170 +**AT+WMOD=3,**: Enable/disable alarm mode. (0: Disabled, 1: Enabled Temperature Alarm for onboard temperature sensor) 1171 + 1172 +**AT+CITEMP=1**: The interval between checking the alarm temperature. (In minutes) 1173 + 1174 +**AT+ARTEMP**: Gets or sets the alarm range of the internal temperature sensor 1175 + 1176 +**AT+ARTEMP=? **: Gets the alarm range of the internal temperature sensor(% _mstvisible="3" style="display:none" %) 1177 + 1178 +**AT+ARTEMP=45,105**: Set the internal temperature sensor alarm range from 45 to 105. 1179 + 1180 +**AT+LEDALARM=1** : Enable LED visual Alarm. 1181 +))) 1182 +))) 1183 + 1184 + 1198 1198 1199 1199 ))) 1200 1200 1201 1201 ((( 1202 -**AT COMMAND FOR ALARM MODE:** 1189 +=== 2.7.2 ALARM MODE ( Before v1.3.1 firmware) === 1190 + 1191 + 1203 1203 ))) 1204 1204 1205 1205 (% _mstvisible="1" class="box infomessage" %) 1206 1206 ((( 1207 1207 ((( 1208 -**AT+WMOD=1**: Enable/disable alarm mode. (0: Disabled, 1: Enabled) 1197 +**AT+WMOD=1**: Enable/disable alarm mode. (0: Disabled, 1: Enabled Temperature Alarm for onboard temperature sensor) 1209 1209 ))) 1210 1210 1211 1211 ((( ... ... @@ -1255,6 +1255,8 @@ 1255 1255 * RED LED when external sensor is not connected 1256 1256 * For each success downlink, the PURPLE LED will blink once 1257 1257 1247 + 1248 + 1258 1258 == 2.9 installation == 1259 1259 1260 1260 ... ... @@ -1312,6 +1312,8 @@ 1312 1312 * Operating Range: -40 ~~ 125 °C 1313 1313 * Working voltage 2.35v ~~ 5v 1314 1314 1306 + 1307 + 1315 1315 = 4. Configure LHT65N via AT command or LoRaWAN downlink = 1316 1316 1317 1317 ... ... @@ -1375,12 +1375,14 @@ 1375 1375 1376 1376 Format: Command Code (0x01) followed by 3 bytes time value. 1377 1377 1378 -If the downlink payload=0100003C, it means set the END Node ’s Transmit Interval to 0x00003C=60(S), while type code is 01.1371 +If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01. 1379 1379 1380 -* **Example 1**: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds 1373 +* **Example 1**: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds 1381 1381 1382 -* **Example 2**: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 1375 +* **Example 2**: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 1383 1383 1377 + 1378 + 1384 1384 == 4.2 Set External Sensor Mode == 1385 1385 1386 1386 ... ... @@ -1404,6 +1404,8 @@ 1404 1404 1405 1405 * 0xA20702003c: Same as AT+SETCNT=60 1406 1406 1402 + 1403 + 1407 1407 == 4.3 Enable/Disable uplink Temperature probe ID == 1408 1408 1409 1409 ... ... @@ -1434,6 +1434,8 @@ 1434 1434 * **0xA800** **~-~->** AT+PID=0 1435 1435 * **0xA801** **~-~->** AT+PID=1 1436 1436 1434 + 1435 + 1437 1437 == 4.4 Set Password == 1438 1438 1439 1439 ... ... @@ -1485,6 +1485,8 @@ 1485 1485 1486 1486 * There is no downlink command to set to Sleep mode. 1487 1487 1487 + 1488 + 1488 1488 == 4.7 Set system time == 1489 1489 1490 1490 ... ... @@ -1498,7 +1498,7 @@ 1498 1498 1499 1499 (% _msthash="315254" _msttexthash="298038" style="color:#4f81bd" %)**Downlink Command:** 1500 1500 1501 -0x306007806000 ~/~/ Set timestamp to 0x(6007806000),Same as AT+TIMESTAMP=1611104352 1502 +0x306007806000 ~/~/ Set timestamp to 0x(6007806000),Same as AT+TIMESTAMP=1611104352 1502 1502 1503 1503 1504 1504 ... ... @@ -1540,7 +1540,7 @@ 1540 1540 1541 1541 (% _msthash="315257" _msttexthash="298038" style="color:#4f81bd" %)**Downlink Command:** 1542 1542 1543 -**0x29 0A** ~/~/ Same as AT+SYNCTDC=0x0A 1544 +**0x29 0A** ~/~/ Same as AT+SYNCTDC=0x0A 1544 1544 1545 1545 1546 1546 ... ... @@ -1591,8 +1591,10 @@ 1591 1591 1592 1592 (% style="color:#4f81bd" %)**Downlink Command: 0xA3** 1593 1593 1594 -* Example: 0xA301 ~/~/Same as AT+CLRDTA 1595 +* Example: 0xA301 ~/~/ Same as AT+CLRDTA 1595 1595 1597 + 1598 + 1596 1596 == 4.13 Auto Send None-ACK messages == 1597 1597 1598 1598 ... ... @@ -1611,8 +1611,61 @@ 1611 1611 1612 1612 (% style="color:#4f81bd" %)**Downlink Command: 0x34** 1613 1613 1614 -* Example: 0x3401 ~/~/Same as AT+PNACKMD=1 1617 +* Example: 0x3401 ~/~/ Same as AT+PNACKMD=1 1615 1615 1619 + 1620 + 1621 +== 4.14 Modified ATWOOD command for external sensor TMP117 or DS18B20 temperature alarm == 1622 + 1623 + 1624 +Feature: Set internal and external temperature sensor alarms. 1625 + 1626 +(% border="1" style="background-color:#ffffcc; color:green; width:450px" %) 1627 +|(%%)(% _msthash="1231737" _msttexthash="251862" _mstvisible="6" %)**Command Example**|(%%)(% _msthash="1231738" _msttexthash="116025" _mstvisible="6" %)**Function**|(%%)(% _msthash="1231739" _msttexthash="116831" _mstvisible="6" %)**Response** 1628 +|(%%)(% style="color:#037691" %)AT+WMOD=parameter1,parameter2,parameter3,parameter4|Set internal and external temperature sensor alarms|OK 1629 + 1630 +(% style="color:#037691" %)**AT+WMOD=parameter1,parameter2,parameter3,parameter4** 1631 + 1632 +(% style="color:#037691" %)**Parameter 1**(%%): Alarm mode: 1633 + 1634 +0): Cancel 1635 + 1636 +1): Threshold alarm 1637 + 1638 +2): Fluctuation alarm 1639 + 1640 + 1641 +(% style="color:#037691" %)** Parameter 2**(%%): Sampling time. Unit: seconds, up to 255 seconds. 1642 + 1643 +(% style="color:red" %)**Note: When the collection time is less than 60 seconds and always exceeds the set alarm threshold, the sending interval will not be the collection time, but will be sent every 60 seconds.** 1644 + 1645 + 1646 +(% style="color:#037691" %) **Parameter 3 and parameter 4:** 1647 + 1648 +1): If Alarm Mode is set to 1: Parameter 3 and parameter 4 are valid, as before, they represent low temperature and high temperature. 1649 + 1650 +Such as AT+WMOD=1,60,45,105, it means high and low temperature alarm. 1651 + 1652 + 1653 +2): If Alarm Mode is set to 2: Parameter 3 is valid, which represents the difference between the currently collected temperature and the last uploaded temperature. 1654 + 1655 +Such as AT+WMOD=2,10,2,it means that it is a fluctuation alarm. 1656 + 1657 +If the difference between the current collected temperature and the last Uplin is ±2 degrees, the alarm will be issued. 1658 + 1659 + 1660 +(% style="color:#4f81bd" %)**Downlink Command: 0xA5** 1661 + 1662 +0xA5 00 ~-~- AT+WMOD=0. 1663 + 1664 +0xA5 01 0A 11 94 29 04 ~-~- AT+WMOD=1,10,45,105 (AT+WMOD = second byte, third byte, fourth and fifth bytes divided by 100, sixth and seventh bytes divided by 100 ) 1665 + 1666 +0xA5 02 0A 02 ~-~- AT+WMOD=2,10,2 (AT+WMOD = second byte, third byte, fourth byte) 1667 + 1668 +0xA5 FF ~-~- After the device receives it, upload the current alarm configuration (FPORT=8). Such as 01 0A 11 94 29 04 or 02 0A 02. 1669 + 1670 + 1671 + 1616 1616 = 5. Battery & How to replace = 1617 1617 1618 1618 ... ... @@ -2081,6 +2081,8 @@ 2081 2081 2082 2082 * (% style="color:red" %)**E3**(%%): External Temperature Probe 2083 2083 2140 + 2141 + 2084 2084 = 8. Packing Info = 2085 2085 2086 2086 ... ... @@ -2094,11 +2094,15 @@ 2094 2094 * Device Size: 10 x 10 x 3.5 cm 2095 2095 * Device Weight: 120.5g 2096 2096 2155 + 2156 + 2097 2097 = 9. Reference material = 2098 2098 2099 2099 2100 2100 * [[Datasheet, photos, decoder, firmware>>https://www.dropbox.com/sh/una19zsni308dme/AACOKp6J2RF5TMlKWT5zU3RTa?dl=0||_msthash="504975" _msttexthash="51420512"]] 2101 2101 2162 + 2163 + 2102 2102 = 10. FCC Warning = 2103 2103 2104 2104