Hardware Diagnostics Tool — Usage Guide¶
This guide describes how to use the ResIOT Hardware Diagnostics Tool. It explains available options, expected output, and practical use cases.
The resiotinfo
utility requires Merlin v259 or higher to report modem metrics!
What It Does¶
resiotinfo
collects and prints hardware and system status in JSON format from ResIOT-based gateways. It reports:
- Temperature and humidity
- Solar MPPT metrics (VBat, IBat, VIn, IIn, battery %) for Solar gateways
- Supercapacitor voltage levels for X7 gateways
- Modem status (ICCID, operator, RSSI, band, connection status)
- System information (CPU, RAM, storage, uptime)
- Running ResIOT services
- Basic Gateway information
How to Use¶
/opt/resiot/resiotinfo [options]
Available Options¶
Option | Type | Description |
---|---|---|
-basic |
bool | Include temperature and humidity readings |
-mppt |
bool | Include mppt solar battery charging stats |
-caps |
bool | Include supercapacitor readings |
-modem |
bool | Include modem and SIM information |
-services |
bool | Include ResIOT service status |
-system |
bool | Include system info (CPU, RAM, disk, uptime) |
-print |
bool | Print JSON output to stdout (default: true) |
-enablelogging |
bool | Save output to a file |
-logpath |
string | File path for log (default: /var/log/readings ) |
Example¶
/opt/resiot/resiotinfo -basic -mppt -modem -system -print
Output Format¶
The tool returns a single JSON object with fields based on selected flags.
Root-Level Fields¶
Field | Type | Description |
---|---|---|
version |
string | Software version |
model |
string | Gateway model identifier |
macAddress |
string | ETH MAC address |
hasModem |
bool | Whether device supports modem |
hasSupercaps |
bool | Whether device uses supercapacitors |
hasMppt |
bool | Whether device uses solar MPPT |
basic |
object | See Basic Readings |
mppt |
object | See MPPT Readings |
caps |
object | See Capacitor Readings |
modem |
object | See Modem Readings |
services |
object | See Service Readings |
system |
object | See System Readings |
Each sub-object follows this structure:
{
"result": "success", // or "error"
"details": "error message if any",
"missing": true, // if requested hardware is missing
"readings": { ... } // object described below
}
Subtype Response Structures¶
Basic Readings¶
Collected from temperature/humidity sensor.
/opt/resiot/resiotinfo -basic
{
"temperature": 24.5, // °C
"humidity": 41.2 // %
}
MPPT Readings¶
Data from the solar charge controller.
/opt/resiot/resiotinfo -mppt
Due to ultra low power configuration, enabling telemetry might take up to a minute to retrieve mppt readings
{
"vbat": 10.2, // Battery voltage in V
"ibat": 0.34, // Battery charging current in A, negative possible
"vin": 18.7, // Input voltage from solar panel in V
"iin": 1.2, // Input current from solar panel in A, negative possible
"batteryPerc": 75.8, // Estimated battery charge %
"chstate": 2, // Charger state, see more below
"chrstatus": 1 // Charge status, see more below
}
-mppt can only be called on Solar gateway models
{
"missing": true // If not MPPT onboard
}
Charger State Value List¶
Bit Flag Name | Value |
---|---|
bat_detect_failed_fault | 4096 |
battery_detection | 2048 |
absorb_charge | 512 |
charger_suspended | 256 |
cc_cv_charge | 64 |
ntc_pause | 32 |
timer_term | 16 |
c_over_x_term | 8 |
max_charge_time_fault | 4 |
bat_missing_fault | 2 |
bat_short_fault | 1 |
Charge Status Value List¶
Bit Flag Name | Value |
---|---|
ilim_reg_active | 32 |
thermal_reg_active | 16 |
vin_uvcl_active | 8 |
iin_limit_active | 4 |
constant_current | 2 |
constant_voltage | 1 |
charger_off | 0 |
Capacitor Readings¶
Supercapacitor voltage data.
/opt/resiot/resiotinfo -caps
{
"vbat": 7, // Input voltage in V
"vcap": 990, // Main capacitor voltage in mV
"v1cap": 1023, // Cell 1 voltage in mV
"v2cap": 1010, // Cell 2 voltage in mV
"v3cap": 995, // Cell 3 voltage in mV
"v4cap": 998, // Cell 4 voltage in mV
"shunting": false // Shunting active or not
}
-caps can only be called on X7 gateway models
{
"missing": true // If no supercaps onboard
}
Modem Readings¶
Modem and SIM readings.
/opt/resiot/resiotinfo -modem
{
"connected": true,
"simFound": true,
"simICCID": "8931001234567890123",
"simResIOT": true,
"connectionRssi": -87, // Signal strength in dBm
"connectionOperator": "Vodafone",
"connectionBand": "4G",
"modemImei": "352580110123456"
}
-modem can only be called on LTE gateway models
{
"missing": true // If no modem onboard
}
Service Readings¶
Presence of background ResIOT processes.
{
"ResIOTMerlin": true,
"ResIOTPacketForwarder": true,
"ResIOTPacketForwarder2": false,
"Basicstation": true,
"ResIOTbsserver": true,
"ResIOTplatform": true,
"ResIOTwd": true
}
System Readings¶
CPU, RAM, disk, uptime and other system metrics.
{
"uptime": 1234567, // seconds
"memoryTotal": 512, // MB
"memoryUsed": 233, // MB
"memoryUsedPerc": 45.5, // %
"cpuCores": 2,
"cpuUsagePerc": [4.5, 5.6], // %
"systemTime": 1720692123, // System Unix timestamp
"storage": [
{
"name": "/dev/root", // Partition name
"mounted": "/", // System path
"size": 3500, // MB
"used": 668, // MB
"usedPercent": 20.5 // %
}
]
}
If a section is not applicable (e.g., caps
on a non-supercap model), the missing
field is set to true
and other fields are omitted.
Common Use Cases¶
Goal | Command |
---|---|
View temperature + humidity | /opt/resiot/resiotinfo -basic |
Check solar charging status | /opt/resiot/resiotinfo -mppt |
Show modem + SIM info | /opt/resiot/resiotinfo -modem |
Full diagnostics on Solar | /opt/resiot/resiotinfo -basic -mppt -modem -services -system |
Full diagnostics on X7LTE | /opt/resiot/resiotinfo -basic -caps -modem -services -system |
Save output to file | /opt/resiot/resiotinfo -basic -system -enablelogging -logpath /tmp/output.json |
Notes¶
- The output is suitable for integration with monitoring systems or remote diagnostics tools.
- Sections with
"missing": true
indicate hardware is absent. Disabled features return an error instead.