What is a custom driver
A custom driver is a small JavaScript program that runs inside the Domotz Collector. It talks to a single device on the local network — over HTTP, SSH, SNMP, Telnet, TCP, WinRM, TFTP, or SCP — collects the data you care about, and publishes it to Domotz as variables, metrics, or a table.
When to use a custom driver
Section titled “When to use a custom driver”Reach for a custom driver when:
- Built-in Domotz monitoring does not cover a specific metric, command, or configuration item on a device.
- You need to expose values the device only returns over a proprietary API or CLI.
- You want to track a value over time and see it alongside Domotz built-in variables.
If all you need is basic availability or standard SNMP OIDs, the built-in monitoring is usually enough.
What a custom driver does not do
Section titled “What a custom driver does not do”- It does not run in the cloud — it runs on the collector that sits on the customer site.
- It does not keep state across executions — each run starts fresh.
- It cannot make arbitrary outbound network calls to the internet. All calls go through the sandbox-provided libraries, which constrain them to the managed device.
See the driver lifecycle for how the pieces fit together, and Sandbox constraints for exactly what the runtime permits.