Domotz Devices
Overview
Domotz automatically discovers and monitors devices on networks where agents are deployed. Devices include servers, workstations, network equipment, IoT devices, printers, and any IP-connected hardware. Each device is associated with a specific agent (site).
Anti-triggers
- A managed endpoint with software installed on it — a Domotz
device is anything that answered a LAN scan, including unmanaged
phones, printers, and IoT gear. Managed-endpoint inventory is
atera or ncentral.
- Infrastructure across every client at once — Domotz queries are
scoped to a single agent, so fleet-wide network inventory means
fanning out site by site;
auvik-devices answers it directly.
- Meraki hardware you intend to act on — reading it here is fine,
but reboot, removal, and config key off the Dashboard serial; use
meraki-devices.
- Attack-surface or rogue-asset discovery — use
runzero.
Key Concepts
Device Discovery
Domotz agents continuously scan local networks and automatically discover new devices. Discovered devices are classified by type and can be:
- Monitored - Actively tracked with status checks
- Unmonitored - Discovered but not actively tracked
Device Identification
Devices are identified by multiple attributes:
- IP Address - Current network address
- MAC Address - Hardware identifier (persistent)
- Hostname - DNS or NetBIOS name
- Display Name - User-assigned friendly name
- Vendor - Manufacturer identified from MAC OUI
Device Status
| Status |
Meaning |
ONLINE |
Device is reachable on the network |
OFFLINE |
Device is not responding |
UNKNOWN |
Status cannot be determined |
Tools
| Tool |
Description |
Arguments |
domotz_devices_list |
Every device on the agent's network, with status, IPs, MAC, and type |
agent_id |
domotz_devices_get |
Full detail for one device — vendor, model, OS, services |
agent_id, device_id |
domotz_devices_uptime |
Uptime history and current uptime |
agent_id, device_id |
domotz_devices_history |
Online/offline event history |
agent_id, device_id |
domotz_devices_inventory |
Inventory metadata — owner, location, notes, custom fields |
agent_id, device_id |
All IDs are numbers. There is no device search tool and no pagination
arguments — domotz_devices_list returns the full census for the agent
in one response, and matching by name, IP, or MAC is done client-side over
that array.
domotz_devices_inventory is the operator-maintained metadata layer
(owner, location, notes), not the discovery data. It is where the human
context lives, and it is empty unless somebody filled it in.
List Devices
domotz_devices_list
Parameters:
agent_id -- The agent monitoring this network (required)
Example response:
[
{
"id": 789,
"display_name": "Core Switch",
"ip_addresses": ["192.168.1.1"],
"hw_address": "AA:BB:CC:DD:EE:FF",
"vendor": "Cisco Systems",
"type": {
"detected_id": 3,
"label": "Network Device"
},
"status": "ONLINE",
"last_status_change": "2026-03-27T10:00:00Z",
"first_seen": "2025-06-15T08:30:00Z"
}
]
Get Device Details
domotz_devices_get
Parameters:
agent_id -- The agent ID (required)
device_id -- The specific device ID (required)
Common Workflows
Device Lookup by IP or MAC
There is no server-side search, so a lookup is a list-and-filter:
- Determine scope. One site means one
agent_id; "anywhere in the
estate" means domotz_agents_list then a call per agent.
- Call
domotz_devices_list for each agent in scope.
- Match client-side on
ip_addresses, hw_address, display_name, or
hostname. Prefer MAC when devices move on DHCP.
- Call
domotz_devices_get on the match for full detail.
Say that the match was done locally when you report it — a device absent
from the list is absent from the agent's last scan, which is not the same
as "not on the network".
Full Site Inventory
- Call
domotz_devices_list with the agent_id for the site
- Group devices by type (servers, workstations, network devices, etc.)
- Note online vs offline status for each
- Pull
domotz_devices_inventory for the devices that matter to pick up
owner, location, and notes
Device Change Detection
- List all devices for an agent
- Compare against a previous inventory snapshot, or sort by
first_seen
- Identify new devices (potential rogue devices)
- Identify missing devices (potentially decommissioned)
New devices appear only as the agent's own scan cycle finds them. There is
no tool to force a rescan, so a device connected moments ago may not be
listed yet.
Outage Investigation for One Device
- Call
domotz_devices_get for current status
- Call
domotz_devices_history for the online/offline event sequence —
this is what distinguishes a flapping device from a clean outage
- Call
domotz_devices_uptime for how long it has been up since the
last transition
- Check
domotz_agents_get before trusting any of it; a dead collector
reports last-known state as if it were current
Network Topology Mapping
For the actual connectivity graph, use domotz_network_topology — see the
network skill. domotz_devices_list grouped by subnet is a weaker
substitute and should not be presented as topology.
Error Handling
Device Not Found
Cause: Invalid device ID, device has been removed, or the ID belongs
to a different agent
Solution: Verify the agent_id/device_id pair against
domotz_devices_list. Device IDs are not globally unique across agents.
Empty Device List
Cause: Agent has not completed its initial scan, agent is offline, or
no devices on the network
Solution: Check domotz_agents_get status. There is no scan trigger —
if discovery has not run yet, the only option is to wait for the agent's
own cycle.
Stale Device Data
Cause: Agent is offline, so records persist and read as last-known
rather than current
Solution: Check the agent's status and last_seen first. A report of
"all devices online" from a site whose collector died is worse than no
report.
Best Practices
- Use MAC address for persistent device identification (IPs change with DHCP)
- Expect one large response per site rather than paged results; scope by
agent_id and filter locally
- Monitor
last_status_change to detect recent outages
- Use
domotz_devices_history rather than a single status read when the
question is "has this been stable"
- Use
vendor field to categorize devices by manufacturer
- Cross-reference device inventory with IT documentation (IT Glue configurations)
- Track
first_seen dates to detect new/rogue devices on the network
- Treat the full list as premises data about people — at a small business
it includes staff phones and personal laptops, not just managed assets
Related Skills
- api-patterns - Authentication, tool catalog, error codes
- agents - Agents that monitor devices
- alerts - Alert profile coverage for devices
- network - Topology, IP conflicts, and SNMP metrics
- power - PDU outlet control
1---2name: domotz-devices3description: Domotz device inventory: how agents discover and classify devices, the identification attributes (IP, MAC, hostname, display name, vendor), the ONLINE/OFFLINE/UNKNOWN status model, the five device tools — list, get, uptime, history, inventory metadata — and why device lookup is a client-side match rather than a server-side search.4---56# Domotz Devices78## Overview910Domotz automatically discovers and monitors devices on networks where agents are deployed. Devices include servers, workstations, network equipment, IoT devices, printers, and any IP-connected hardware. Each device is associated with a specific agent (site).1112## Anti-triggers1314- **A managed endpoint with software installed on it** — a Domotz15 device is anything that answered a LAN scan, including unmanaged16 phones, printers, and IoT gear. Managed-endpoint inventory is17 `atera` or `ncentral`.18- **Infrastructure across every client at once** — Domotz queries are19 scoped to a single agent, so fleet-wide network inventory means20 fanning out site by site; `auvik-devices` answers it directly.21- **Meraki hardware you intend to act on** — reading it here is fine,22 but reboot, removal, and config key off the Dashboard serial; use23 `meraki-devices`.24- **Attack-surface or rogue-asset discovery** — use `runzero`.2526## Key Concepts2728### Device Discovery2930Domotz agents continuously scan local networks and automatically discover new devices. Discovered devices are classified by type and can be:31- **Monitored** - Actively tracked with status checks32- **Unmonitored** - Discovered but not actively tracked3334### Device Identification3536Devices are identified by multiple attributes:37- **IP Address** - Current network address38- **MAC Address** - Hardware identifier (persistent)39- **Hostname** - DNS or NetBIOS name40- **Display Name** - User-assigned friendly name41- **Vendor** - Manufacturer identified from MAC OUI4243### Device Status4445| Status | Meaning |46|--------|---------|47| `ONLINE` | Device is reachable on the network |48| `OFFLINE` | Device is not responding |49| `UNKNOWN` | Status cannot be determined |5051## Tools5253| Tool | Description | Arguments |54|------|-------------|-----------|55| `domotz_devices_list` | Every device on the agent's network, with status, IPs, MAC, and type | `agent_id` |56| `domotz_devices_get` | Full detail for one device — vendor, model, OS, services | `agent_id`, `device_id` |57| `domotz_devices_uptime` | Uptime history and current uptime | `agent_id`, `device_id` |58| `domotz_devices_history` | Online/offline event history | `agent_id`, `device_id` |59| `domotz_devices_inventory` | Inventory metadata — owner, location, notes, custom fields | `agent_id`, `device_id` |6061All IDs are numbers. **There is no device search tool and no pagination62arguments** — `domotz_devices_list` returns the full census for the agent63in one response, and matching by name, IP, or MAC is done client-side over64that array.6566`domotz_devices_inventory` is the operator-maintained metadata layer67(owner, location, notes), not the discovery data. It is where the human68context lives, and it is empty unless somebody filled it in.6970### List Devices7172```73domotz_devices_list74```7576Parameters:77- `agent_id` -- The agent monitoring this network (required)7879**Example response:**8081```json82[83 {84 "id": 789,85 "display_name": "Core Switch",86 "ip_addresses": ["192.168.1.1"],87 "hw_address": "AA:BB:CC:DD:EE:FF",88 "vendor": "Cisco Systems",89 "type": {90 "detected_id": 3,91 "label": "Network Device"92 },93 "status": "ONLINE",94 "last_status_change": "2026-03-27T10:00:00Z",95 "first_seen": "2025-06-15T08:30:00Z"96 }97]98```99100### Get Device Details101102```103domotz_devices_get104```105106Parameters:107- `agent_id` -- The agent ID (required)108- `device_id` -- The specific device ID (required)109110## Common Workflows111112### Device Lookup by IP or MAC113114There is no server-side search, so a lookup is a list-and-filter:1151161. Determine scope. One site means one `agent_id`; "anywhere in the117 estate" means `domotz_agents_list` then a call per agent.1182. Call `domotz_devices_list` for each agent in scope.1193. Match client-side on `ip_addresses`, `hw_address`, `display_name`, or120 hostname. Prefer MAC when devices move on DHCP.1214. Call `domotz_devices_get` on the match for full detail.122123Say that the match was done locally when you report it — a device absent124from the list is absent from the agent's last scan, which is not the same125as "not on the network".126127### Full Site Inventory1281291. Call `domotz_devices_list` with the `agent_id` for the site1302. Group devices by type (servers, workstations, network devices, etc.)1313. Note online vs offline status for each1324. Pull `domotz_devices_inventory` for the devices that matter to pick up133 owner, location, and notes134135### Device Change Detection1361371. List all devices for an agent1382. Compare against a previous inventory snapshot, or sort by `first_seen`1393. Identify new devices (potential rogue devices)1404. Identify missing devices (potentially decommissioned)141142New devices appear only as the agent's own scan cycle finds them. There is143no tool to force a rescan, so a device connected moments ago may not be144listed yet.145146### Outage Investigation for One Device1471481. Call `domotz_devices_get` for current status1492. Call `domotz_devices_history` for the online/offline event sequence —150 this is what distinguishes a flapping device from a clean outage1513. Call `domotz_devices_uptime` for how long it has been up since the152 last transition1534. Check `domotz_agents_get` before trusting any of it; a dead collector154 reports last-known state as if it were current155156### Network Topology Mapping157158For the actual connectivity graph, use `domotz_network_topology` — see the159`network` skill. `domotz_devices_list` grouped by subnet is a weaker160substitute and should not be presented as topology.161162## Error Handling163164### Device Not Found165166**Cause:** Invalid device ID, device has been removed, or the ID belongs167to a different agent168**Solution:** Verify the `agent_id`/`device_id` pair against169`domotz_devices_list`. Device IDs are not globally unique across agents.170171### Empty Device List172173**Cause:** Agent has not completed its initial scan, agent is offline, or174no devices on the network175**Solution:** Check `domotz_agents_get` status. There is no scan trigger —176if discovery has not run yet, the only option is to wait for the agent's177own cycle.178179### Stale Device Data180181**Cause:** Agent is offline, so records persist and read as last-known182rather than current183**Solution:** Check the agent's status and `last_seen` first. A report of184"all devices online" from a site whose collector died is worse than no185report.186187## Best Practices188189- Use MAC address for persistent device identification (IPs change with DHCP)190- Expect one large response per site rather than paged results; scope by191 `agent_id` and filter locally192- Monitor `last_status_change` to detect recent outages193- Use `domotz_devices_history` rather than a single status read when the194 question is "has this been stable"195- Use `vendor` field to categorize devices by manufacturer196- Cross-reference device inventory with IT documentation (IT Glue configurations)197- Track `first_seen` dates to detect new/rogue devices on the network198- Treat the full list as premises data about people — at a small business199 it includes staff phones and personal laptops, not just managed assets200201## Related Skills202203- [api-patterns](../api-patterns/SKILL.md) - Authentication, tool catalog, error codes204- [agents](../agents/SKILL.md) - Agents that monitor devices205- [alerts](../alerts/SKILL.md) - Alert profile coverage for devices206- [network](../network/SKILL.md) - Topology, IP conflicts, and SNMP metrics207- [power](../power/SKILL.md) - PDU outlet control