Control4 HTTP Web API Bridge

Send commands and trigger events in Control4 using this HTTP JSON API bridge driver. Enables Control4 integration with other control systems.

MSRP: $150
Login to view pricing

Have you ever wanted to send commands or check the status of a room, volume, or even security system in Control4 from some other IP enabled device? Using this HTTP bridge, you can now do that and more. Think of this as a JSON HTTP API (application programming interface) for Control4!

Perhaps you've written a custom UI in OnControls or want to use a sleek URC remote? You could even use a computer program like EventGhost to control the system or get feedback on the state of a room.

Here's a few examples of what this HTTP API Bridge gives you access to:

  • Creates a HTTP API at the controller's IP address on port 7070
  • All endpoint requests return JSON responses
  • Send any command to the room listed under the Room Name, Commands drop down
  • Execute custom programming attached to the TRIGGER events under the driver's Programming tab
  • Get room variables like the current volume, source ID, and media info
  • Return security system panel status such as the armed state, display text, and trouble text
  • Get the state from relays and contacts
  • Display thermostat info such as temperature and setpoints

 

Driver License:  Site (one required per project)

v1.2
 - Increased number of triggers to 600.

v1.1
 - Increased number of triggers to 300.

-------------------------------------------------------------------------------------------
OVERVIEW
-------------------------------------------------------------------------------------------
This driver exposes a web server endpoint for interacting with Control4 systems. This enables Control4 integration into other control systems.

API references RoomID, DeviceID, and ProxyID. These can be found in Composer by hovering over a room or device with your mouse until the tooltip appears.

-------------------------------------------------------------------------------------------
API - CURRENT VERSION 1
http://controllerIP:7070/
-------------------------------------------------------------------------------------------
All endpoint requests return JSON responses.

-------------------------------------------------------------------------------------------
ROOM CONTROL - HTTP GET
/v1/room/[roomID]/[cmd]
OR
/v1/room/[roomID]/[cmd]/[param1]/[value1]/.../...
-------------------------------------------------------------------------------------------
Direct room remote commands.
Key presses listed under Programming, Room Name, Commands, Commands drop-down.

Ex:
http://192.168.1.2:7070/v1/room/123/VOL_UP
http://192.168.1.2:7070/v1/room/123/SET_VOLUME_LEVEL/LEVEL/25

-------------------------------------------------------------------------------------------
EVENT TRIGGER - HTTP GET
/v1/event/[eventName]
-------------------------------------------------------------------------------------------
Fire driver events to execute Control4 based programming.

Ex: http://192.168.1.2:7070/v1/event/TRIGGER1

-------------------------------------------------------------------------------------------
ROOM VARIABLE - HTTP GET
/v1/roomvar/[roomID]
OR
/v1/roomvar/[roomID]/[varNumber]
-------------------------------------------------------------------------------------------
Return room variables. (source ID, volume, etc.)

Ex:
http://192.168.1.2:7070/v1/roomvar/123
http://192.168.1.2:7070/v1/roomvar/123/1001

Some variables of interest:

VARIABLE_1001: Source Device ID
VARIABLE_1005: Mediainfo
VARIABLE_1007: Active Device Binding
VARIABLE_1011: Volume Level
VARIABLE_1031: Mediainfo
VARIABLE_1033: Camera Info

-------------------------------------------------------------------------------------------
DEVICE VARIABLE - HTTP GET
/v1/devicevar/[deviceID]/[varNumber]
-------------------------------------------------------------------------------------------
Return device variable.

Ex: http://192.168.1.2:7070/v1/devicevar/123/1001

-------------------------------------------------------------------------------------------
SECURITY PANEL - HTTP GET
/v1/securitypanel/[proxyID]
-------------------------------------------------------------------------------------------
Return security panel status variables. (Armed state, display text, trouble text, etc.)

Ex: http://1921.686.1.2:7070/v1/securitypanel/123

-------------------------------------------------------------------------------------------
RELAY - HTTP GET
/v1/relay/[deviceID]
-------------------------------------------------------------------------------------------
Return relay state.

Ex: http://192.168.1.2:7070/v1/relay/123

-------------------------------------------------------------------------------------------
CONTACT - HTTP GET
/v1/contact/[deviceID]
-------------------------------------------------------------------------------------------
Return contact state.

Ex: http://192.168.1.2:7070/v1/contact/123

-------------------------------------------------------------------------------------------
THERMOSTAT V2 - HTTP GET
/v1/thermostatv2/[proxyID]
-------------------------------------------------------------------------------------------
Return thermostat status variables. (Temperature, setpoints, scale, etc.)
Needs to be a V2 thermostat driver.

Ex: http://192.168.1.2:7070/v1/thermostatv2/123

-------------------------------------------------------------------------------------------