Home Assistant integration for Vantage InFusion home automation controllers, using aiovantage.
The features of this integration include:
- Control Vantage devices (lights, shades, motion sensors, etc) as Home Assistant entities.
- Trigger automations based on Vantage keypad button presses, using events.
- Start Vantage tasks from Home Assistant, using services.
- Automatic Vantage controller discovery (via mDNS).
- UI-based configuration (config flow).
- Entity state updated using Local Push.
- Entities and devices are automatically synchronized when the Vantage system is programmed.
- Non-blocking I/O, via asyncio and aiovantage.
- Uses SSL connections by default, with automatic reconnection.
- Works with Vantage InFusion and IC-II controllers running firmware 2.3 and above.
If your Vantage controller requires authentication (most do by default) you'll need to know a username and password to continue.
If you don't know your username and password, you can reset the password for the administrator user if you have physical access to the controller. When resetting your password, it will revert to the serial number of your controller. Alternatively, if you are working with a Vantage dealer, they can provide these credentials.
If you aren't using the default administrator user, ensure that the following permissions are enabled for your user: Read State, Write State, Read Config.
The easiest way to install this integration is by using HACS.
If you have HACS installed, you can add the Vantage integration by using this My button:
If you aren't using HACS, you can download the latest release and extract the contents to your Home Assistant config/custom_components
directory.
Adding Vantage to your Home Assistant instance can be done via the user interface, by using this My button:
Vantage can be auto-discovered by Home Assistant. If an instance was found, it will be shown as Discovered. You can then set it up right away.
If it wasn’t discovered automatically, you can set up a manual integration entry:
- Go to Settings > Devices & Services.
- In the bottom right corner, select the Add Integration button.
- From the list, select Vantage InFusion.
- Follow the instructions on screen to complete the setup.
Vantage Load and Load Group objects will appear as lights in Home Assistant, except for loads labeled as Relay or Motor in Design Center.
Additionally, color loads connected to a Vantage DMX or DMX/DALI Gateway will appear as lights in Home Assistant.
Vantage Load objects labeled as Relay or Motor will appear as switches in Home Assistant. If you have a relay or motor load that you'd like to show up as a different type of entity, you can use the change device type of a switch integration.
Vantage Thermostat objects will appear as climate devices in Home Assistant.
Supported Vantage Blind and BlindGroup objects will appear as covers in Home Assistant. Currently the following blind types are supported QISBlind, QubeBlind, RelayBlind, Somfy.RS-485, and Somfy.URTSI_2.
Vantage DryContact objects (motion sensors, etc) will appear as binary sensors in Home Assistant.
Vantage AnemoSensor (wind speed), LightSensor, Temperature, and OmniSensor objects will appear as sensors in Home Assistant.
Certain Vantage dimmer modules have built-in power, current, and temperature sensors exposed as OmniSensor objects. These are created as sensors in Home Assistant, but are not enabled by default to reduce clutter. You can enable them from the Home Assistant settings.
Vantage GMem objects (variables) will be created as entities in Home Assistant, but are hidden by default.
Variables with numeric types will be created as number entities, variables with a type of Boolean will be created as binary sensor entities, and variables with a type of Text will be created as text entities.
This integration will fire events on the Home Assistant event bus which can be used to trigger automations. You can test events using the events developer tools page in the Home Assistant UI.
This event is fired when a button is pressed on a Vantage keypad. The following is an example of the payload:
{
"button_id": 250,
"button_name": "Lights",
"button_position": 1,
"button_text1": "lights",
"button_text2": "",
"station_id": 249,
"station_name": "Office Keypad"
}
Attribute | Description |
---|---|
button_id |
The Vantage ID of the button that was pressed. |
button_name |
The name of the button that was pressed. |
button_position |
The position on the keypad of the button that was pressed. |
button_text1 |
The first line of text on the button that was pressed. |
button_text2 |
The second line of text on the button that was pressed. |
station_id |
The Vantage ID of the keypad containing the button that was pressed. |
station_name |
The name of the keypad containing the button that was pressed. |
This event is fired when a button is released on a Vantage keypad. It has the same payload as the vantage_button_pressed
event.
This event is fired when a Vantage task is started. It's worth noting that this event can be fired multiple times for a single button press, since buttons have press, release, and hold actions, and tasks can be configured to start on any of these actions.
The following is an example of the payload:
{
"task_id": 683,
"task_name": "Toggle Office Lights"
}
Attribute | Description |
---|---|
task_id |
The Vantage ID of the task that was started. |
task_name |
The name of the task that was started. |
This event is fired when a Vantage task is stopped. It has the same payload as the vantage_task_started
event.
This event is fired when a Vantage task changes it's LED state. The following is an example of the payload:
{
"task_id": 683,
"task_name": "Toggle Office Lights",
"task_state": 1
}
Attribute | Description |
---|---|
task_id |
The Vantage ID of the task that changed state. |
task_name |
The name of the task that changed state. |
task_state |
The new LED state of the task. |
This integration exposes the following services which can be called from automations.
You can start a Vantage task by calling the vantage.start_task
service, with either the Vantage ID of the task, or the task's name.
You can stop a Vantage task by calling the vantage.stop_task
service, with either the Vantage ID of the task, or the task's name.