# Dry Contact Sensor
# Product Description
The Dry Contact Sensors Sensor provides accurate contact status of dry contact signal. Dry Contact Sensors can convert dry contact signal into digital signal with LoRaWAN protocol.
# Product Features
Dry Contact Detection and Sampling Circuit
Instant Handling on Dry Contact State Change
Customizable Hold State Confirmation Period (Default 5s)
Configurable Heartbeat Cycle
Force Sampling by Magnet and On-board Force Test Button
Design and Assembly in Hong Kong, local engineering support
# Hardware interface
# Sensor Case
# PCB Main Features
# Software Interface
# LoRaWAN Specification
Specification 1.0.3, Region AS923
Class A or C (Default Class A)
ABP or OTAA (Default OTAA)
# Payload Inclusion
Battery Voltage (Unit: V, 3d.p.)
Dry Contact Logic Level (Active High)
Uplink Type (0: Heartbeat and Force Samplinng, 1: State Change)
# Downlink List
Description | Downlink Format (HEX) | Value Range (HEX) | Default Value Dec (HEX) |
---|---|---|---|
Restart | 1AFF | / | / |
ADR On/Off | AD0XAD | 0 or 1 | 0 |
Change Data Rate | ADA0XFF | 2 to 5 | 2 |
Change Heartbeat Cycle (unit: second) | CDXXXXFF | 0 to FFFF | 1Hour: 3600 (0E10) |
Change Heartbeat Cycle (unit: second) Extended Range to support 1/2 years | CDXXXXXXFF | 0 to FFFFFF | 1 Day: 86400 (015180) |
Change Dry Contact Hold-State Confirmation Period to XX Second(s) | DCXXDC | 0 to 255 | 5 (05) |
# Routine Behaviour
On dry contact channel state change, sensor hold n seconds (default 5) on tracking stable channel state. When the change is valid after the confirmation period, lorawan uplink will be sent.
When Magnet Sensor is triggered at the side of case or On-board TEST button is pressed (and released within 5 seconds), green LED turns on and interrupt triggers. The sensor will force send an uplink for current channel state.
If no valid state change appears within a cumulative heartbeat cycle (default 1 hour), the sensor will also force send an uplink.
When Magnet Sensor is triggered at the side of case and holded over 5 seconds, the sensor will resend join request (if current Network Join Mode is OTAA).
# LoRaWAN Payload Codec
# Chirpstack v4 codec
function decode_toHexString(bytes) {
return bytes.map(function(byte) {
return ("00" + (byte & 0xFF).toString(16)).slice(-2)
}).join('')
}
function decodeUplink(input) {
var tohex = decode_toHexString(input.bytes);
var fPort = input.fPort;
var return_json = {};
if(fPort == 0) {return {data:return_json};}
return_json["VCC"] = parseInt(tohex.slice(0,4), 16)/1000;
if(fPort ==3)
return_json["Uplink_Type"] = 1;
else
return_json["Uplink_Type"] = 0;
return_json["Dry_Contact_Logic"] = parseInt(tohex.slice(5,6),16);
return {data:return_json};
}
function encodeDownlink(input) {
return {
bytes: [225, 230, 255, 0]
};
}
# Specification
Reporting Data Type | |
---|---|
Battery Voltage | Unit: V |
Dry Contact Logic Level | 0 or 1, Active High |
Uplink Type | 0: Heartbeat or Force Sampling, 1: State Change |
Force Sampling Trigger | 1. Magnet Trigger at Case Side 2. Test Button On-Board |
LoRaWAN Specification | 1.0.3 |
LoRaWAN Class | A, C (Default A) |
LoRaWAN Network Join Mode | OTAA, ABP (Default OTAA) |
LoRaWAN Configuration | LoRaWAN Downlink |
Rated Voltage | 3.3 ~ 4.2V (Typ. 3.6V) |
Battery Type | 1* 8Ah 3.6V LifePo Battery |
Battery Lifespan | 2 years |
Working Mode | Typical: 70mA Max 120mA @Tx |
Sleep Mode | 10uA |
Routine Interval (Default) | 1. 1-hour Heartbeat 2. 5-Second Hold State Confirmation Period |
Operating Temperature | -20 ~ + 125°C |
Relative Humidity | <= 85%RH |
Dimension | 110 *80 *50 mm (Reference only. Please refer to the delivery.) |
Protection Level Rating | IP67 |
# Revision
Version | Date | Content |
---|---|---|
1.0 | 28 May 2024 | Initial Release |
1.1 | 29 May 2024 | Add Customeized Version for Housing Authority |