System IDs
Every value a device stores or exchanges with the server is addressed
by a numeric system ID (a HiGPS parameter ID). The registry lives
in databaseParams in the user-editable last.py and is passed
into the database constructor: db = database(databaseParams).
Which IDs a device actually registers is up to its last.py: the
findyIoT module uses the Identity & system, Network status, OTA
update and Commands groups; the measurement, calibration and channel
groups belong to Logger Pro’s sensor front-end.
Entry format
Each registry entry is a list:
"421": ["W", 0, 0, 0, "900", "R"]
Index |
Meaning |
|---|---|
0 |
Allowed operations: |
1 |
Type: |
2 |
Storage: |
3 |
Path: |
4 |
Default value (written on factory reset / first boot) |
5 |
Legacy field, kept for wire compatibility |
Identity & system
ID |
Ops |
Meaning |
|---|---|---|
200 |
R |
Device IMEI |
421 |
W |
Measurement/wakeup period in seconds (main cycle) |
422 |
W |
Report period in seconds; must be >= 421 (a report is sent every 422/421 wakeups) |
440 |
R |
Current alarm code (0 = no alarm; otherwise the ID of the parameter that triggered it) |
443 |
R |
Timestamp of the last successful report |
522 |
R |
Wakeups since the last sent report |
587 |
W |
Sensor warm-up time in seconds before measuring (Logger Pro) |
Measurements
ID |
Ops |
Meaning |
|---|---|---|
290 |
R |
External power (mV) |
437 / 439 |
R |
Cumulative pulse count, digital input 1 / 2 |
520 / 570 |
R |
Last raw reading, analog input 1 / 2 (4-20 mA) |
582 |
R |
0-5 V analog input, last value |
594 / 595 |
R |
Packed float history buffers, analog input 1 / 2 |
540 / 541 |
W (buffer) |
Pulse ring-buffers for input 1 / 2 |
538 / 539 |
W |
Current slot index of ring-buffer 540 / 541 |
532 / 533 |
R |
Previous ULP edge-counter value (overflow tracking) |
Calibration & alarms
ID |
Ops |
Meaning |
|---|---|---|
523 / 524 / 525 |
W |
AIN1 alarm: minimum (mA) / maximum (mA) / enable |
553 / 554 |
W |
AIN1 scaling: sensor current at range low / high (mA) |
555 / 556 |
W |
AIN1 scaling: engineering value at range low / high |
575 / 576 / 577 |
W |
AIN2 alarm: minimum (mA) / maximum (mA) / enable |
578 / 579 |
W |
AIN2 scaling: sensor current at range low / high (mA) |
580 / 581 |
W |
AIN2 scaling: engineering value at range low / high |
Channel enables & outputs
ID |
Ops |
Meaning |
|---|---|---|
636 |
W |
Enable digital input 1 sampling (report adds 437/540) |
637 |
W |
Enable digital input 2 sampling (report adds 439/541) |
638 |
W |
Enable analog input 1 sampling (report adds 594/520) |
639 |
W |
Enable analog input 2 sampling (report adds 570/595) |
640 |
W |
Relay On - energize the 5 V / 12 V rails during |
Network status
ID |
Ops |
Meaning |
|---|---|---|
230 |
R |
Network bearer (GSM / NB-IoT / Cat-M / LTE) |
231 |
R |
RSSI |
232 |
R |
Link quality / RSRQ |
234 |
R |
Cell ID |
235 / 236 |
R |
MNC / MCC |
237 |
R |
SINR |
238 |
R |
LAC |
OTA update
ID |
Ops |
Meaning |
|---|---|---|
51 |
W |
OTA package name on the server - a stored (uncompressed) ZIP archive (set by the server) |
52 |
E |
Apply the downloaded update ( |
53 |
R |
Update state: 0 idle, 1 downloading, 2 downloaded / ready, 3 updating |
54 |
R |
Update result: 0 none, 1 ok, 4 connection lost (resumable), 5 integrity check failed, 6 unsupported package, 7 invalid size / URI, 8 apply failed / new firmware does not boot |
55 |
E |
Download the package ( |
Commands
ID |
Ops |
Meaning |
|---|---|---|
221 |
E |
Restart the device ( |
222 |
E |
Factory reset - wipe the database, rewrite defaults
( |
312 |
E |
Upload the current settings ( |
429 |
E |
|
Adding your own IDs
Pick a free numeric ID, add the row to databaseParams in
last.py and it becomes readable/writable over the protocol
immediately - no framework change needed. See
Getting started.