Table of Contents:

1. Introduction

1.1 What is LHT65N-PIR Temperature,Humidity & PIR Sensor

The Dragino LHT65N-PIR Temperature, Humidity & PIR sensor is a Long Range LoRaWAN Sensor.It includes a built-in Temperature & Humidity sensor and has an external PIR Probe. LHT65N-PIR can detect environment Temperature & Humdity, it also detects People Activity via PIR probe and them send these info to LoRaWAN IoT Server.

The LHT65N-PIR allows users to send data and reach extremely long ranges. It provides ultra-long range spread spectrum communication and high interference immunity whilst minimizing current consumption. It targets professional wireless sensor network applications such as irrigation systems, smart metering, smart cities, building automation, and so on.

LHT65N-PIR has a built-in 2400mAh non-chargeable battery which can be used for more than 5 years*.

LHT65N-PIR supports wireless configure & OTA update which make user easy to use.

LHT65N-PIR is fully compatible with LoRaWAN v1.0.3 Class A protocol, it can work with a standard LoRaWAN gateway.

**The actual battery life depends on how often to send data, please see battery analyzer chapter.

1.2 Features

  • LoRaWAN v1.0.3 Class A protocol
  • Frequency Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915
  • AT Commands to change parameters
  • Remote configure parameters via LoRaWAN Downlink
  • Support wireless OTA update firmware
  • Firmware upgradeable via program port
  • Built-in 2400mAh battery for up to 5 years of use.
  • Built-in Temperature & Humidity sensor
  • External PIR Sensor
  • Tri-color LED to indicate working status


1.3 Specification

Built-in Temperature Sensor:

  • Resolution: 0.01 °C
  • Accuracy Tolerance : Typ ±0.3 °C
  • Long Term Drift: < 0.02 °C/yr
  • Operating Range: -40 ~ 85 °C

Built-in Humidity Sensor:

  • Resolution: 0.04 %RH
  • Accuracy Tolerance : Typ ±3 %RH
  • Long Term Drift: < 0.25 RH/yr
  • Operating Range: 0 ~ 96 %RH

External PIR Sensor:

  • Base on RDB223 Sensor
  • Cable Length : 1 meter
  • Stable detect distance : 0~3 meter

2. Connect LHT65N-PIR to IoT Server

2.1 How does LHT65N-PIR work?

LHT65N-PIR is configured as LoRaWAN OTAA Class A sensor by default. Each LHT65N-PIR is shipped with a worldwide unique set of OTAA keys. To use LHT65N-PIR in a LoRaWAN network, first, we need to put the OTAA keys in LoRaWAN Network Server and then activate LHT65N-PIR.

If LHT65N-PIR is within the coverage of this LoRaWAN network. LHT65N-PIR can join the LoRaWAN network automatically. After successfully joining, LHT65N-PIR will start to measure environment temperature, humidity & people activity, and start to transmit sensor data to the LoRaWAN server. The default period for each uplink is 20 minutes.

2.2 How to Activate LHT65N-PIR?

The LHT65N-PIR has two working modes:

  • Deep Sleep Mode: LHT65N-PIR doesn't have any LoRaWAN activation. This mode is used for storage and shipping to save battery life.
  • Working Mode:     In this mode, LHT65N-PIR works as LoRaWAN Sensor mode to Join LoRaWAN network and send out the sensor data to the server. Between each sampling/tx/rx periodically, LHT65N-PIR will be in STOP mode (IDLE mode), in STOP mode, the PIR sensor is still working to detect people activity in low power consumption.

The LHT65N-PIR is set in deep sleep mode by default; The ACT button on the front is to switch to different modes:


Behavior on ACTFunctionAction
Pressing ACT between 1s < time < 3sTest uplink status


If LHT65N-PIR is already Joined to rhe LoRaWAN network, LHT65N-PIR will send an uplink packet, if LHT65N-PIR has external sensor connected,Blue led will blink once. If LHT65N-PIR has not external sensor, Red led will blink once.

Pressing ACT for more than 3sActive Device


Green led will fast blink 5 times, LHT65N-PIR will enter working mode and start to JOIN LoRaWAN network.
Green led will solidly turn on for 5 seconds after join in network.

Fast press ACT 5 times.Deactivate DeviceRed led will solid on for 5 seconds. Means LHT65N-PIR is in Deep Sleep Mode.

2.3 Example to join LoRaWAN network

This section shows an example of how to join the TTN V3 LoRaWAN IoT server. Use with other LoRaWAN IoT servers is of a similar procedure.


Assume the LPS8v2 is already set to connect to TTN V3 network, So it provides network coverage for LHT65N-PIR. Next we need to add the LHT65N-PIR device in TTN V3:

2.3.1 Step 1: Create Device n TTN

Create a device in TTN V3 with the OTAA keys from LHT65N-PIR.

Each LHT65N-PIR is shipped with a sticker with its device EUI, APP Key and APP EUI as below:


User can enter these keys in the LoRaWAN Server portal. Below is TTN V3 screenshot:

Add APP EUI in the application.




Note: LHT65N-PIR use same payload decoder as LHT65.




2.3.2 Step 2: Activate LHT65N-PIR by pressing the ACT button for more than 5 seconds.

Use ACT button to activate LHT65N-PIR and it will auto-join to the TTN V3 network. After join success, it will start to upload sensor data to TTN V3 and user can see in the panel.


2.4 Uplink Payload--Device Status, (Fport=5) 

Users can use the downlink command(0x26 01) to ask LHT65N-PIR to send device configure detail, include device configure status. LHT65N-PIR will uplink a payload via FPort=5 to server.

The Payload format is as below.

Device Status (FPORT=5)
Size (bytes)12112
ValueSensor ModelFirmware VersionFrequency BandSub-bandBAT

Example parse in TTNv3


Sensor Model: For LHT65N-PIR, this value is 0x1A

Firmware Version: 0x0100, Means: v1.0.0 version

Frequency Band:

0x01: EU868

0x02: US915

0x03: IN865

0x04: AU915

0x05: KZ865

0x06: RU864

0x07: AS923

0x08: AS923-1

0x09: AS923-2

0x0a: AS923-3

0x0b: CN470

0x0c: EU433

0x0d: KR920

0x0e: MA869


AU915 and US915: value 0x00 ~ 0x08

CN470: value 0x0B ~ 0x0C

Other Bands: Always 0x00

Battery Info:

Check the battery voltage.

Ex1: 0x0B45 = 2885mV

Ex2: 0x0B49 = 2889mV

2.5 Uplink Payload, Sensor Data  ( Fport=2)

The uplink payload includes totally 11 bytes. Uplink packets use FPORT=2 and every 20 minutes send one uplink by default. 

After each uplink, the BLUE LED will blink once.








Ext #

  • The First 6 bytes: has fix meanings for every LHT65N-PIR.
  • The 7th byte (EXT #): defines the external sensor model. It can be 0x0A for LHT65N-PIR
  • The 8th byte: Alarm Bit (if this uplink is from periodically or movement)
  • The 9th ~ 11st  byte: Movement Detect Count.

2.5.1 Decoder in TTN V3

When the uplink payload arrives TTNv3, it shows HEX format and not friendly to read. We can add LHT65N-PIR decoder in TTNv3 for friendly reading.

Below is the position to put the decoder and LHT65N-PIR decoder can be download from here:


2.5.2 BAT-Battery Info

These two bytes of BAT include the battery state and the actually voltage




BAT Status
00(b): Ultra Low ( BAT <= 2.50v)
01(b): Low (2.50v <=BAT <= 2.55v)
10(b): OK (2.55v <= BAT <=2.65v)
11(b): Good (BAT >= 2.65v)

Actually BAT voltage


Check the battery voltage for LHT65N-PIR.

  • BAT status=(0xcba4>>14)&0xFF=11(B),very good
  • Battery Voltage =0xCBF6&0x3FFF=0x0BA4=2980mV

2.5.3 Built-in Temperature


  • Temperature:  0x0ABB/100=27.47℃


  • Temperature:  (0xF5C6-65536)/100=-26.18℃

2.5.4 Built-in Humidity


  • Humidity:    0x025C/10=60.4%

2.5.5 Ext value Ext=0x0E, PIR Sensor

image-20221224161634-2.png Ext Value

There are 4 bytes in Ext Value field.

Bit0 of byte 8th shows if this uplink is generate by PIR activity.

The 8th byte

Bit 1~7

Bit 0



0: Normal Uplink
1: Uplink by activity detected

Note: Uplink by activity is disable by default.

The 9th ~ 11st  byte: Movement Detect Count.

0x00 E5 09 : Total detect 58633 activity since end node start.

2.6 Show data on Datacake

Datacake IoT platform provides a human-friendly interface to show the sensor data, once we have sensor data in TTN V3, we can use Datacake to connect to TTN V3 and see the data in Datacake. Below are the steps:

Step 1: Be sure that your device is programmed and properly connected to the LoRaWAN network.

Step 2: Configure your Application to forward data to Datacake you will need to add integration. Go to TTN V3 Console --> Applications --> Integrations --> Add Integrations.

Add Datacake:


Select default key as Access Key:


In Datacake console ( , add LHT65 device.



2.7 Alarm Mode & Feature "Multi sampling, one uplink"

when the device is in alarm mode, it checks the built-in sensor temperature for a short time. if the temperature exceeds the preconfigured range, it sends an uplink immediately.

Note: alarm mode adds a little power consumption, and we recommend extending the normal read time when this feature is enabled.

2.7.1 ALARM MODE ( Since v1.3.1 firmware)

Internal GXHT30 temperature alarm(Acquisition time: fixed at one minute)

AT+WMOD=3:              Enable/disable alarm mode. (0: Disabled, 1: Enabled Temperature Alarm for onboard temperature sensor)

AT+CITEMP=1:             The interval between checking the alarm temperature. (In minutes)

AT+ARTEMP:                 Gets or sets the alarm range of the internal temperature sensor

AT+ARTEMP=? :          Gets the alarm range of the internal temperature sensor 

AT+ARTEMP=45,105:   Set the internal temperature sensor alarm range from 45 to 105.

AT+LEDALARM=1 :       Enable LED visual Alarm.

Downlink Command:

AT+WMOD=1:  A501    ,     AT+WMOD=0 :   A600

AT+CITEMP=1 : A60001

AT+ARTEMP=1,60  :  A70001003C

AT+ARTEMP=-16,60 :  A7FFF0003C

AT+LEDALARM=1  :  3601


Total bytes: 8 bytes

Example: AA0100010001003C





DS18B20 and TMP117 Threshold Alarm


Downlink Command:

Example: A5013CFC180014





Fluctuation alarm for DS18B20 and TMP117(Acquisition time: minimum 1s)


Downlink Command:

Example: A5023C05



temperature fluctuation=05

Sampling multiple times and uplink together



  • parameter1: Set Working Mode to Mode 3
  • parameter2: Set the temperature sampling mode to 1(1:DS18B20;2:TMP117;3: Internal GXHT30).
  • parameter3: Sampling Interval is 60s.
  • parameter4: When there is 20 sampling dats, Device will send these data via one uplink. (max value is 60, means max 60 sampling in one uplink)
  • parameter5 & parameter6: Temperature alarm range is -16 to 32°C,
  • parameter7: 1 to enable temperature alarm, 0 to disable the temperature alarm. If alarm is enabled, a data will be sent immediately  if temperate exceeds the Alarm range.

Downlink Command:

Example: A50301003C14FFF0002001




Total number of acquisitions=14




Uplink payload( Fport=3)

Example: CBEA0109920A4109C4



Temp1=0992   // 24.50℃

Temp2=0A41   // 26.25℃

Temp3=09C4   // 25.00℃

Note: This uplink will automatically select the appropriate DR according to the data length

           In this mode, the temperature resolution of ds18b20 is 0.25℃ to save power consumption

2.7.2 ALARM MODE ( Before v1.3.1 firmware)

AT+WMOD=1:              Enable/disable alarm mode. (0: Disabled, 1: Enabled Temperature Alarm for onboard temperature sensor)

AT+CITEMP=1:             The interval between checking the alarm temperature. (In minutes)

AT+ARTEMP:                 Gets or sets the alarm range of the internal temperature sensor

AT+ARTEMP=? :          Gets the alarm range of the internal temperature sensor 

AT+ARTEMP=45,105:   Set the internal temperature sensor alarm range from 45 to 105.


Total bytes: 8 bytes






2.8 LED Indicator

The LHT65N-PIR has a triple color LED which for easy showing different stage .

While user press ACT button, the LED will work as per LED status with ACT button.

In a normal working state:

  • For each uplink, the RED LED will blink once.
  • For each success downlink, the PURPLE LED will blink once.

2.9 installation

1. Don't install LHT65N-PIR outdoor or place where will get wet.

2. Towards the PIR probe to the place where need to monitor activity. Below is the detect beam.

Stable distance is 0~3m. Some motion might not detected between 3~5 m.


Notice: PIR can only detect motion activity, not to use to detect static people case.

  • 1. PIR Motion Detector should not be installed near the Air conditioner places where with cold wind or hot wind flow, because PIR motion detector is sensitive with the temperature changes of the environment. Environment changes quickly will cause a false alarm.
  • 2. PIR should not be installed facing the glass window, facing glass window will be interfered by the outside sunlight and moving objects (people or vehicle). The infrared energy can penetrate the glass window.
  • 3. PIR should not be installed facing the moving objects or background changing objects, movement object will cause airflow change, it may cause false alarm.
  • 4. Between the detection range of PIR Motion detector, there is should be less objects.  Many objects may reduce the sensitive of detection range.
  • 5. Do not install more than one (2 or above) Wireless PIR in the same detection space (like at the same room).

3. Sensors and Accessories

3.1 E2 Extension Cable


1m long breakout cable for LHT65N-PIR. Features:

  • Use for AT Command

  • Update firmware for LHT65N-PIR


4. Configure LHT65N-PIR

4.1 Configure Methods:

LHT65N-PIR supports below configure method:

  • AT Command via UART Connection : See FAQ.

4.2 General Commands

These commands are to configure:

  • General system settings like: uplink interval.
  • LoRaWAN protocol & radio related command.

They are same for all Dragino Devices which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki:

4.3 Commands special design for LHT65N-PIR

These commands only valid for LHT65N-PIR, as below:

4.3.1 Set Transmit Interval Time

Feature: Change LoRaWAN End Node Transmit Interval.

AT Command: 

Command ExampleFunctionResponse
AT+TDC=?Show current transmit Interval30000 OK the interval is 30000ms = 30s
AT+TDC=60000Set Transmit IntervalOK Set transmit interval to 60000ms = 60 seconds

Downlink Payload: 0x01

Format: Command Code (0x01) followed by 3 bytes time value.

If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.

  • Example 1: Downlink Payload: 0100001E         // Set Transmit Interval (TDC) = 30 seconds
  • Example 2: Downlink Payload: 0100003C         // Set Transmit Interval (TDC) = 60 seconds

4.3.2 Get Device Status

Send a LoRaWAN downlink to ask device send Alarm settings.

  • Downlink Payload:  0x26 01

Sensor will upload Device Status via FPORT=5. See payload section for detail.

4.3.3 Set Password

Feature: Set device password, max 9 digits

AT Command: 

Command ExampleFunctionResponse
AT+PWORD=?Show password



AT+PWORD=999999Set passwordOK

Downlink Command:

No downlink command for this feature.

4.3.4 Set to sleep mode

Feature: Set device to sleep mode

  • AT+Sleep=0  : Normal working mode, device will sleep and use lower power when there is no LoRa message
  • AT+Sleep=1 :  Device is in deep sleep mode, no LoRa activation happen, used for storage or shipping.

AT Command: 

Command ExampleFunctionResponse
AT+SLEEPSet to sleep mode

Clear all stored sensor data…


Downlink Command:

  • There is no downlink command to set to Sleep mode.

4.3.5 Set UOA (Uplink on Activity)

Feature: Enable / Disable Uplink on Activity

AT Command: 

  • AT+UOA=0  : Disable UoA
  • AT+UOA=1,2 :  Enable UoA , Calm Down Time: 2 minutes. If device already send a uplink on activity, it will not send another uplink on activiy in 2 minutes, even detect activity.

Notice: Calm Down time range is 1 ~ 65535 minutes. If user set Calm Down time to low value, such as 1 minute, the sensor might send uplink very frequenctly and battery drain fast.

Downlink Command:

Format: Command Code (0xA1) followed by 1 byte or 3 bytes. 

When followed by 3 bytes, the first byte is 01, and the second and third bytes are Calm Down Time.

  • A1 00             ==>    AT+UOA=0     
  • A1 01 00 02   ==>    AT+UOA=1,2

4.3.6 Get data

Feature: Get the current sensor data

AT Command:

  • AT+GETSENSORVALUE=0      // The serial port gets the reading of the current sensor
  • AT+GETSENSORVALUE=1      //  The serial port gets the current sensor reading and uploads it.

4.3.7 Set count number

Feature: Manually set the count number


Command ExampleFunctionResponse
AT+SETCNT=0Set the count number to 0.OK
AT+SETCNT=100Set the count number to 100.OK

5. Battery & Power Consumption

LHT65N-PIR use CR17450 battery pack. See below link for detail information about the battery info and how to replace.

Battery Info & Power Consumption Analyze .

6. OTA firmware update

User can change firmware LHT65N-PIR to:

  • Change Frequency band/ region.
  • Update with new features.
  • Fix bugs. 

Firmware and changelog can be downloaded from : Firmware download link

Methods to Update Firmware:

7. FAQ

7.1 How to use AT Command?

Refer this link for UART Hardware Connection.

In PC, User needs to set serial tool(such as putty, SecureCRT) baud rate to 9600 to access to access serial console for LHT65N-PIR. The AT commands are disable by default and need to enter password (default:123456) to active it. Timeout to input AT Command is 5 min, after 5-minute, user need to input password again. User can use AT+DISAT command to disable AT command before timeout.


7.2 Where to use AT commands and Downlink commands

AT commands:


Downlink commands:





Chirpstack: The downlink window will not be displayed until the network is accessed





7.3 How to change the uplink interval?

Please see this link: 


7.4 How to upgrade firmware?

Please check update instruction.

8. Order Info

Part Number:  LHT65N-PIR-XX

XX : The default frequency band

  •  AS923: LoRaWAN AS923 band
  •  AU915: LoRaWAN AU915 band
  •  EU433: LoRaWAN EU433 band
  •  EU868: LoRaWAN EU868 band
  •  KR920: LoRaWAN KR920 band
  •  US915: LoRaWAN US915 band
  •  IN865: LoRaWAN IN865 band
  •  CN470: LoRaWAN CN470 band

9. Packing Info

Package Includes:

  • LHT65N-PIR Temperature/Humidity/PIR Sensor x 1

10. Reference material

11. FCC Warning

This device complies with part 15 of the FCC Rules.Operation is subject to the following two conditions:

(1) This device may not cause harmful interference;

(2) this device must accept any interference received, including interference that may cause undesired operation.

Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0