--- layout: page title: "ISY994 Controller" description: "Instructions how to setup the ISY994 controller within Home Assistant." date: 2015-01-20 22:36 sidebar: true comments: false sharing: true footer: true logo: universal_devices.png ha_category: Hub --- The ISY994 is a home automation controller that is capable of controlling Insteon and X10 devices. The controller is also capable of controlling Z-Wave devices but that functionality has not yet been confirmed with Home Assistant. The ISY994 controller is manufactured by [Universal Devices](https://www.universal-devices.com/residential/isy994i-series/). ### {% linkable_title Basic Configuration %} Home Assistant is capable of communicating with any switch, sensor, and light that is configured on the controller. Using the programs on the controller, custom switches and sensors can also be created. To integrate your ISY994 controller with Home Assistant, add the following section to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry isy994: host: ISY_ADDRESS username: ISY_USERNAME password: ISY_PASSWORD sensor_string: SENSOR_STRING hidden_string: HIDDEN_STRING tls: TLS_VERSION ``` Configuration variables: - **host** (*Required*): The host entry should be in full URL format, eg. http://192.168.10.100:80 - **username** (*Required*): The username that used to access the ISY interface. - **password** (*Required*): The password that used to access the ISY interface. - **sensor_string** (*Optional*): This is the string that is used to identify which devices are to be assumed to be sensors instead of lights of switches. By default, this string is 'Sensor'. If this string is found in the device name, Home Assistant will assume it is as a sensor. - **hidden_string** (*Optional*): The HIDDEN_STRING is a string that is used to identify which devices are to be hidden on Home Assistant's front page. This string will be stripped from the device's name before being used. By default, this value is '{HIDE ME}'. - **tls** (*Optional*): This entry should refelct the version of TLS that the ISY controller is using for HTTPS encryption. This value can be either 1.1 or 1.2. If this value is not set, it is assumed to be version 1.1. This is the default for most users. ISY994 Pro users may likely be using 1.2. When using HTTPS in the host entry, it is best practice to set this value. Once the ISY controller is configured, it will automatically import any lights, switches, and sensors it can locate. ### {% linkable_title Creating Custom Switches %} Using the Programs tab in the controller's Administrative Console, custom switches can be created that will appear natively inside of Home Assistant. Home Assistant will scan two different directories for switch configurations on the controller. These directories must exist at the root level. The two directories used to make switches are *HA.doors* and *HA.switches*. Currently, the two receive identical treatment in Home Assistant. A switch is created by creating a directory under either of these root dirctories with the name you would like to call the switch. Two programs are then required in this directory: *status* and *actions*. The image below shows a sample configuration. This sample includes an extra program called *auto on*. This is ignored by Home Assistant.