Skip to main content

OvrC Cloud (WattBox)

The ovrc driver controls a SnapAV / Snap One WattBox through the OvrC cloud instead of over the LAN. One GEM device is one WattBox, identified by its OvrC device id. Each outlet becomes a power zone with on, off, toggle, reboot and reset, and the device carries whole-unit metering, UPS telemetry, outlet names, modes and power-on delays.

The reason to use it alongside (or instead of) the LAN wattbox driver is schedules. A WattBox's outlet schedules live in OvrC, not on the unit: the unit's own integration protocol can add a schedule but never list, edit or delete one. Through OvrC, GEM can do all of it: list, add, edit, enable, disable and delete.

Private API

Snap One publishes no OvrC API. This driver speaks the REST API the OvrC web app itself uses, verified against live units on 2026-09-21. Snap One can change it without notice; if the driver stops working after an OvrC release, that is the first thing to suspect.

Prerequisites​

  • The WattBox is claimed in OvrC and online. OvrC answers "Device found, but is not connected" for a unit it cannot reach, and the driver marks the GEM device disconnected until it can.
  • An OvrC login that can see the location. A dedicated user for GEM is better than an integrator's personal login: OvrC ends a session after about 30 minutes without traffic and the driver signs in again, so a shared login is signed in and out all day.
  • Outbound HTTPS from the GEM host to api.ovrc.com.

Setup​

  1. Admin → Devices → Add Device, driver ovrc. Enter the OvrC username (email) and password and save.
  2. Run the list_devices command on the device. It lists every WattBox the login can see, with its OvrC device id, name, model, location and connection state. On a large dealer account set location_id first so only that location is searched (the search otherwise stops after 50 locations).
  3. Paste the WattBox's device id into ovrc_device_id and reload the device.
  4. Zones for each outlet are created on the first successful poll, labelled with the outlet names from OvrC, under the Power subsystem.
  5. Run get_schedules to see the unit's schedules.

Device attributes​

AttributeTypeNotes
usernamestringOvrC login (email). Required.
passwordstring, secureOvrC password. Required.
ovrc_device_idstringThe WattBox's id in OvrC (24 hex characters). Required; list_devices finds it.
location_idstringOptional. Limits list_devices to one OvrC location.
poll_rateint (ms)Status poll interval. Default 15000, minimum 5000.
config_poll_rateint (ms)How often names, modes, delays and the schedule list are re-read. Default 300000, minimum 60000.
api_basestringDefault https://api.ovrc.com. Only for a staging account.

Zones​

One zone per outlet, address = outlet number (1-based, as printed on the unit). Control power_default; state on / off.

If OvrC renames an outlet and the zone's label still matches the old name, the label follows. A label changed in GEM is left alone.

Attributes written​

AttributeNotes
connectedSet from every poll: false when OvrC cannot reach the unit or the cloud cannot be reached.
connection_stateconnected, cloud_connected, cloud_disconnected or disconnected (OvrC's STATE1..STATE4).
model, firmware, mac_address, lan_address, ovrc_name, ovrc_location_idFrom the OvrC device record.
outlet_countOutlets on the unit.
outlet_N_stateon / off.
outlet_N_name, outlet_N_mode, outlet_N_power_on_delay, outlet_N_mode_optionsFrom the OvrC outlet configuration. Mode is normal/enabled, disabled or reset_only; mode_options lists what this unit accepts.
voltage_value, current_value, power_valueWhole-unit V, A, W. Same names as the LAN driver, so dashboards work with either.
voltage_high_value, voltage_low_valueThe unit's safe-voltage window.
auto_reboot1 when the unit's own ping-and-reboot is on.
hasUPS, power_lost, battery_charge, battery_load, battery_health, est_run_timeUPS telemetry on UPS-equipped units.
uptimeSeconds.
led_statusThe unit's LEDs, comma separated.
schedulesjson: the schedule list as get_schedules reports it.
schedule_countNumber of schedules.
cloud_reported_atTimestamp OvrC put on the last status.

Legacy-firmware units (WB-300 series) report voltage and current in tenths through the cloud, exactly as their local XML API does. The driver normalizes to real units (1210 → 121 V) on the rule that no WattBox runs above 400 V.

Commands​

CommandArgsNotes
on / off / power_on / power_offaddressSwitch the outlet. The acknowledged state is reflected immediately.
toggleaddressDecided from the last polled state. Refused for an outlet OvrC does not report a state for, rather than guessing.
rebootaddress, delay (ms, default 5000)Off, wait, on, timed by GEM. Blank or 0 uses the default; a negative delay is refused before the outlet is touched.
resetaddressThe unit's own power cycle, using the outlet's power-on delay.
set_outlet_nameaddress, nameRename in OvrC. Spaces are fine here, unlike the LAN protocol.
set_power_on_delayaddress, delay (s)
set_outlet_modeaddress, modenormal/enabled, disabled, reset_only. Rejected when the unit does not offer the mode (see outlet_N_mode_options).
auto_reboot_on / auto_reboot_offThe unit's ping-and-reboot feature.
get_statusPoll now.
list_devicesEvery WattBox the login can see.
get_schedulesRead the schedule list and refresh the schedules attribute.
add_schedulename, action, outlets, time, days, date, enabledSee below.
update_schedulename, plus any of new_name, action, outlets, time, days, date, enabledOnly the fields given change. A new_name that matches another schedule is refused.
delete_schedulename
enable_schedule / disable_schedulenameKeep the schedule, switch it off or on.

Outlet writes (set_outlet_name, set_power_on_delay, set_outlet_mode) read the unit's full outlet configuration, patch one row and write the whole list back, which is how OvrC's own page does it.

Schedules​

A schedule switches one or more outlets on, off or reset at a time of day, either recurring on chosen days of the week or once on a date. OvrC allows 16 per unit.

FieldValues
nameAny text. Names are matched case-insensitively by the other commands, so keep them unique.
actionon, off or reset
outletsOutlet numbers, e.g. 1,3. Invoked on a zone, the zone's outlet is the default.
timeHH:MM, 24-hour, in the unit's local time (OvrC's device time settings), not the GEM host's.
daysRecurring: mon,wed,fri, full names, OvrC numbers 1–7 (1 = Sunday), or daily / weekdays / weekends.
dateOne-time: YYYY-MM-DD. Giving days makes a schedule recurring; giving date makes it one-time.
enabledDefaults to true.

Examples:

add_schedule name=Sonos nightly action=reset outlets=2,5 time=03:30 days=daily
add_schedule name=Holiday off action=off outlets=1 time=22:00 date=2026-12-24
update_schedule name=Sonos nightly time=04:00 days=weekdays
disable_schedule name=Sonos nightly
delete_schedule name=Holiday off

Every write replaces the unit's whole schedule list, as the OvrC app does. The driver re-reads the list immediately before each change so an edit made in OvrC a minute earlier is carried along, but two clients editing the same unit at the same moment can still overwrite each other.

get_schedules reports each entry as {index, name, action, outlets, time, recurring, days, date, enabled}; the same list is kept in the device's schedules attribute, so a trigger or the AI assistant can read it without a command.

Alarms​

KeyRaised when
ups_on_batteryA UPS-equipped unit reports input power lost. Cleared when mains returns. Same key as the LAN driver.

Troubleshooting​

SymptomCheck
ovrc login failed on every pollUsername or password rejected. Sign in at app.ovrc.com with the same login; if it demands two-factor or a terms-of-service click, the driver cannot get past it.
ovrc device not connected and the device shows disconnectedOvrC itself cannot reach the WattBox. Check it in the OvrC app; the driver keeps polling and recovers when OvrC does.
Commands answer unknown device id or a 404ovrc_device_id is not a device this login can see. Run list_devices and paste the id exactly.
schedule write rejected by ovrcOvrC validates every entry: outlets must exist on the unit, time is HH:MM, a recurring entry needs days, a one-time one needs a date. The message carries what OvrC complained about.
State lags a switch made elsewhereExpected: state is polled every poll_rate. For sub-second state use the LAN wattbox driver.

Compared with the LAN wattbox driver​

wattbox (LAN)ovrc (cloud)
Transporttcp/23 integration protocol or local HTTPHTTPS to api.ovrc.com
State latency~3 s poll, local~15 s poll, cloud
Works without internetYesNo
SchedulesDetect fires from the debug log; add onlyList, add, edit, enable, disable, delete
Per-outlet meteringOn metered modelsWhole unit only (as the OvrC status reports it)

Both write the same attribute names, so a site can run both against one unit: the LAN driver for fast state and metering, the cloud driver for schedules.

  • WattBox PDU — the LAN driver for the same unit: faster state, per-outlet metering, schedule fire detection.
  • Devices — adding the device and running list_devices on it.
  • Zones — the auto-created outlet zones and their labels.
  • Alarms — giving the ups_on_battery built-in recipients.
  • Macros — calling the schedule commands from automation.