HealthV3DataStructMsg
Health V3 Data Struct Msg
AM Type: 79
Source Code
| Field | Bits | Type | Unit | Condition | Mutator | Validator | Description |
|---|---|---|---|---|---|---|---|
| ls_header | — | Struct | Always | ||||
| ├── uplink_version | 4 | UInt | Always | ||||
| ├── node_id_high | 4 | Fragment | Always | ||||
| ├── product_code | 8 | UInt | Always | ||||
| ├── node_id | 16 | UInt | Always | ||||
| ├── sequence_number | 8 | UInt | Always | ||||
| └── am_type | 8 | UInt | Always | ||||
| readTimestamp | 32 | TimestampField | Always | TimestampMutator | |||
| version | 2 | UInt | Always | RangeValidator[0, 1] | |||
| uptime | 30 | UInt | s | Always | |||
| inputPower | 12 | UInt | V | Always | ScalingMutator(×100) | ||
| temperature | 8 | Int | Cel | Always | |||
| percentage | 10 | UInt | %RH | version == 1 | ScalingMutator(×10) | ||
| std | 9 | UInt | %RH | version == 1 | ScalingMutator(×10) | ||
| delta | 10 | UInt | %RH | version == 1 | ScalingMutator(×10) | ||
| reserved | 3 | Reserved | version == 1 | ||||
| serialNumber | 20 | UInt | Always | ||||
| firmwareVersion | — | Struct | Always | ||||
| ├── msb | 8 | UInt | Always | ||||
| └── lsb | 8 | UInt | Always | ||||
| time | — | Struct | Always | ||||
| ├── drift | 1 | Bool | Always | ||||
| └── inSeconds | 15 | UInt | s | Always | TimeDeltaToSecondsMutator(÷60) |
| Field | Bits | Type | Unit | Condition | Mutator | Validator | Description | WF Address | WF Name | WF Unit | Cloud DP Name |
|---|---|---|---|---|---|---|---|---|---|---|---|
| ls_header | — | Struct | Always | ||||||||
| ├── uplink_version | 4 | UInt | Always | ||||||||
| ├── node_id_high | 4 | Fragment | Always | ||||||||
| ├── product_code | 8 | UInt | Always | ||||||||
| ├── node_id | 16 | UInt | Always | ||||||||
| ├── sequence_number | 8 | UInt | Always | ||||||||
| └── am_type | 8 | UInt | Always | ||||||||
| readTimestamp | 32 | TimestampField | Always | TimestampMutator | |||||||
| version | 2 | UInt | Always | RangeValidator[0, 1] | |||||||
| uptime | 30 | UInt | s | Always | a:00:00:00 | uptime | s | ||||
| inputPower | 12 | UInt | V | Always | ScalingMutator(×100) | a:00:02:00 | inputPower | V | main_power | ||
| temperature | 8 | Int | Cel | Always | a:00:01:00 | temperature | Cel | ||||
| percentage | 10 | UInt | %RH | version == 1 | ScalingMutator(×10) | a:00:03:00 | relative | %RH | humidity | ||
| std | 9 | UInt | %RH | version == 1 | ScalingMutator(×10) | a:00:03:00 | std | %RH | humidity_std | ||
| delta | 10 | UInt | %RH | version == 1 | ScalingMutator(×10) | a:00:03:00 | delta | %RH | humidity_delta | ||
| reserved | 3 | Reserved | version == 1 | ||||||||
| serialNumber | 20 | UInt | Always | ||||||||
| firmwareVersion | — | Struct | Always | ||||||||
| ├── msb | 8 | UInt | Always | ||||||||
| └── lsb | 8 | UInt | Always | ||||||||
| time | — | Struct | Always | ||||||||
| ├── drift | 1 | Bool | Always | ||||||||
| └── inSeconds | 15 | UInt | s | Always | TimeDeltaToSecondsMutator(÷60) | a:00:00:00 | delta | s | time_delta |
Worldsensing Format Sources
| Address | Manufacturer | Type | Model | Status |
|---|---|---|---|---|
| a:00:00:00 | Worldsensing | Time | 0 | |
| a:00:01:00 | Worldsensing | Thermometer | 0 | |
| a:00:02:00 | Worldsensing | Voltmeter | 0 | |
| a:00:03:00 | Worldsensing | Humidity | 0 |
Example
decode_ok_subversion_0
Source: HealthV3DataStructMessages.py
JSON Message
{
"ls_header": {
"am_type": {
"raw": 79,
"value": "79"
},
"node_id": {
"raw": 5,
"value": "5"
},
"product_code": {
"raw": 2,
"value": "2"
},
"sequence_number": {
"raw": 1,
"value": "1"
},
"uplink_version": {
"raw": 4,
"value": "4"
}
},
"readTimestamp": {
"raw": 540475440,
"value": "1987-02-16T12:04:00Z"
},
"version": {
"raw": 0,
"value": "0"
},
"uptime": {
"raw": 5000,
"unit": "s",
"value": "5000"
},
"inputPower": {
"raw": 450,
"unit": "V",
"value": "4.5"
},
"temperature": {
"raw": 25,
"unit": "Cel",
"value": "25"
},
"serialNumber": {
"raw": 2,
"value": "2"
},
"firmwareVersion": {
"lsb": {
"raw": 2,
"value": "2"
},
"msb": {
"raw": 1,
"value": "1"
}
},
"time": {
"inSeconds": {
"raw": 1,
"unit": "s",
"value": "60"
},
"drift": {
"raw": true,
"value": true
}
}
}
Encoded Bytes
40 02 00 05 01 4F 20 37 00 30 00 00 13 88 1C 21 90 00 02 01 02 80 01