2.1 KiB
2.1 KiB
LoRaWAN Payload Description - Raumsensor Device
Uplink Payload (Device → Network Server)
Port: 2 Length: 7 bytes Format: Binary
| Byte | Field | Type | Unit | Description |
|---|---|---|---|---|
| 0-1 | Room Temperature | int16_t | 0.01°C | SHT4x sensor reading (big-endian) |
| 2-3 | Floor Temperature | int16_t | 0.01°C | MLX90614 IR sensor reading (big-endian) * |
| 4-5 | Humidity | int16_t | 0.01% | SHT4x sensor reading (big-endian) |
| 6 | Relay State | uint8_t | - | Current relay status (0=OFF, 1=ON) |
Example Uplink:
08 34 0A 28 15 E0 01= 21.00°C room, 26.00°C floor, 56.00% humidity, relay ON
Downlink Payload (Network Server → Device)
Port: Any Format: Binary
Combined Configuration Packet
Length: 3 bytes
Format: [heating_enable][room_temp_threshold][floor_temp_threshold]
| Byte | Field | Type | Range | Description |
|---|---|---|---|---|
| 0 | Heating Enable | uint8_t | 0-1 | Heating control logic (0=DISABLED, 1=ENABLED) |
| 1 | Room Temperature Threshold | uint8_t | 0-255 | Target room temperature in °C |
| 2 | Floor Temperature Threshold | uint8_t | 0-255 | Target floor temperature in °C |
Examples:
01 16 19= Enable heating, room 22°C, floor 25°C00 14 18= Disable heating, room 20°C, floor 24°C
Send Interval Command
Length: 2 bytes
Format: 'i'[interval_minutes]
| Byte | Field | Type | Range | Description |
|---|---|---|---|---|
| 0 | Command | ASCII | 'i' (0x69) | Send interval command identifier |
| 1 | Interval | uint8_t | 1-255 | Send interval in minutes |
Examples:
69 05= Set send interval to 5 minutes69 3C= Set send interval to 60 minutes
Data Conversion
- Temperature:
value = (int16_t)(temperature * 100) - Humidity:
value = (int16_t)(humidity * 100) - Decoding:
actual_value = received_value / 100.0
Special Cases
* Floor Temperature Sensor: If the MLX90614 sensor is not available or not responding, the floor temperature will be transmitted as -273.15°C (hex: 95 5D).