Skip to content

Commit 4bf1816

Browse files
committed
Document nvme device status APIs
1 parent f319462 commit 4bf1816

File tree

2 files changed

+54
-1
lines changed

2 files changed

+54
-1
lines changed

docs/api/supervisor/endpoints.md

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1693,6 +1693,7 @@ Return information about the host.
16931693
| llmnr_hostname | string or null | The hostname currently exposed on the network via LLMNR for host |
16941694
| operating_system | string | The operating system on the host |
16951695
| startup_time | float | The time in seconds it took for last boot |
1696+
| nvme_devices | list | A list of [NVMe devices](api/supervisor/models.md#nvme-device) available on host |
16961697

16971698
**Example response:**
16981699

@@ -1714,7 +1715,13 @@ Return information about the host.
17141715
"boot_timestamp": 1234567788,
17151716
"startup_time": 12.345,
17161717
"broadcast_llmnr": true,
1717-
"broadcast_mdns": false
1718+
"broadcast_mdns": false,
1719+
"nvme_devices": [
1720+
{
1721+
"id": "00000000-0000-0000-0000-000000000000",
1722+
"path": "/dev/nvme0n1"
1723+
}
1724+
]
17181725
}
17191726
```
17201727

@@ -1906,6 +1913,45 @@ Shutdown the host
19061913

19071914
</ApiEndpoint>
19081915

1916+
<ApiEndpoint path="/host/nvme/<device>/status" method="get">
1917+
1918+
Returns the status and lifetime information of the specified NVMe device.
1919+
See `nvme_devices` field in `/host/info` for a list of devices. This API supports
1920+
providing either the `id` or `path` as the identifier for an NVMe device.
1921+
1922+
**Returned data:**
1923+
1924+
| key | type | description |
1925+
| ------------------------------- | ---- | ------------------------------------------------------------------------------------------- |
1926+
| critical_warning | int | Critical warnings raised over device lifetime |
1927+
| available_spare | int | Percentage of remaining spare capacity available |
1928+
| data_units_read | int | Thousands of 512 byte data units read by host over device lifetime |
1929+
| data_units_written | int | Thousands of 512 byte data units written by host over device lifetime |
1930+
| percent_used | int | Estimate of percent of device's life used based on manufacturer's prediction |
1931+
| temperature_kelvin | int | Current temperature in Kelvins calculated from sensors |
1932+
| host_read_commands | int | Read commands completed over device lifetime |
1933+
| host_write_commands | int | Write commands completed over device lifetime |
1934+
| controller_busy_minutes | int | Minutes the device was busy with I/O commands over device lifetime |
1935+
| power_cycles | int | Power cycles over device lifetime |
1936+
| power_on_hours | int | Power-on hours over device lifetime |
1937+
| unsafe_shutdowns | int | Unsafe shutdowns over device lifetime |
1938+
| media_errors | int | Data integrity errors detected over device lifetime |
1939+
| number_error_log_entries | int | Error entries in log over device lifetime |
1940+
| warning_temp_minutes | int | Minutes temperature has been greater then warning threshold over device lifetime |
1941+
| critical_composite_temp_minutes | int | Minutes temperature has been greater then critical composite threshold over device lifetime |
1942+
1943+
</ApiEndpoint>
1944+
1945+
<ApiEndpoint path="/host/nvme/status" method="get">
1946+
1947+
Returns the status and lifetime information of the datadisk if the datadisk is
1948+
an NVMe device and Home Assistant Operating System is in use.
1949+
1950+
**Returned data:**
1951+
See `/host/nvme/<device>/status` above, response is identical.
1952+
1953+
</ApiEndpoint>
1954+
19091955
### Ingress
19101956

19111957
<ApiEndpoint path="/ingress/panels" method="get">

docs/api/supervisor/models.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -355,3 +355,10 @@ Response only fields will be in responses but cannot be included in requests.
355355
| name | string | Name of the filesystem (if known) |
356356
| system | boolean | `true` if filesystem considered a system/internal device |
357357
| mount_points | list | List of paths where the filesystem is mounted. |
358+
359+
## NVMe Device
360+
361+
| key | type | description |
362+
| ---- | ------- | ------------------------------------------------ |
363+
| id | string | Unique UUID for the device |
364+
| path | string | Device path on host system (e.g. `/dev/nvme0n1`) |

0 commit comments

Comments
 (0)