Make ISY Amaze Balls! (#893)

* ISY doc updates

* How to set sensor class
This commit is contained in:
Teagan Glenn 2016-09-12 23:04:12 -06:00 committed by Fabian Affolter
parent 2f71eb64d6
commit 9e0512dc07
10 changed files with 202 additions and 32 deletions

View File

@ -0,0 +1,17 @@
---
layout: page
title: "ISY994 Binary Sensor"
description: "Instructions how to integrate ISY994 binary sensors into Home Assistant."
date: 2016-09-03 23:00
sidebar: true
comments: false
sharing: true
footer: true
logo: universal_devices.png
ha_category: Binary Sensor
ha_iot_class: "Local Push"
---
The `isy994` platform allows you to get data from your [ISY994](https://www.universal-devices.com/residential/isy994i-series/) binary sensors from within Home Assistant.
They will be automatically discovered if the isy994 component is loaded.

View File

@ -0,0 +1,17 @@
---
layout: page
title: "ISY994 Cover"
description: "Instructions how to integrate ISY994 covers into Home Assistant."
date: 2016-09-03 23:00
sidebar: true
comments: false
sharing: true
footer: true
logo: universal_devices.png
ha_category: Cover
ha_iot_class: "Local Push"
---
The `isy994` platform allows you to get data from your [ISY994](https://www.universal-devices.com/residential/isy994i-series/) cover from within Home Assistant.
They will be automatically discovered if the isy994 component is loaded.

View File

@ -0,0 +1,17 @@
---
layout: page
title: "ISY994 Fan"
description: "Instructions how to integrate ISY994 fans into Home Assistant."
date: 2016-09-03 23:00
sidebar: true
comments: false
sharing: true
footer: true
logo: universal_devices.png
ha_category: Fan
ha_iot_class: "Local Push"
---
The `isy994` platform allows you to get data from your [ISY994](https://www.universal-devices.com/residential/isy994i-series/) fan from within Home Assistant.
They will be automatically discovered if the isy994 component is loaded.

View File

@ -9,15 +9,15 @@ sharing: true
footer: true footer: true
logo: universal_devices.png logo: universal_devices.png
ha_category: Hub ha_category: Hub
ha_release: pre 0.7 ha_release: 0.28
--- ---
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 is a home automation controller that is capable of controlling Insteon and X10 devices. Some models of the ISY994 can even control Z-Wave devices.
The ISY994 controller is manufactured by [Universal Devices](https://www.universal-devices.com/residential/isy994i-series/). The ISY994 controller is manufactured by [Universal Devices](https://www.universal-devices.com/residential/isy994i-series/).
### {% linkable_title Basic Configuration %} ### {% 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. Home Assistant is capable of communicating with any binary sensor, cover, fan, light, lock, sensor and switch that is configured on the controller. Using the programs on the controller, custom binary sensors, cover, fan, lock, and switches can also be created.
To integrate your ISY994 controller with Home Assistant, add the following section to your `configuration.yaml` file: To integrate your ISY994 controller with Home Assistant, add the following section to your `configuration.yaml` file:
@ -37,52 +37,85 @@ Configuration variables:
- **username** (*Required*): The username that used to access the ISY interface. - **username** (*Required*): The username that used to access the ISY interface.
- **password** (*Required*): The password 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. - **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 or folder, Home Assistant will assume it is as a sensor or binary sensor (if the device has on/off or true/false states).
- **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}'. - **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. - **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. Once the ISY controller is configured, it will automatically import any binary sensors, covers, fans, lights, locks, sensors and switches it can locate.
### {% linkable_title Creating Custom Switches %} ### {% linkable_title Creating Custom Devices %}
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. Using the Programs tab in the controller's Administrative Console, custom devices can be created that will appear natively inside of Home Assistant. Home Assistant will scan the following folders and build the device to the associated domains:
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. ```
My Programs
├── HA.binary_sensor
| ├── Movement In House
| | └── status
| └── Garage Open
| | └── status
├── HA.cover
| ├── Left Garage Door
| | ├── actions
| | └── status
| ├── Living Room Blinds
| | ├── actions
| | └── status
├── HA.fan
| ├── Desk Fan
| | ├── actions
| | └── status
| ├── Living Room Fan
| | ├── actions
| | └── status
├── HA.lock
| ├── Front Door
| | ├── actions
| | └── status
| ├── Back Door
| | ├── actions
| | └── status
├── HA.switch
| ├── Dining Lights
| | ├── actions
| | └── status
| ├── Sleep Mode
| | ├── actions
| | └── status
```
A device is created by creating a directory, with the name for the device, under any of the following root directories:
* *HA.binary_sensor* will create a binary sensor (see [Customizing Devices](https://home-assistant.io/getting-started/customizing-devices/) to set the sensor class)
* *HA.cover* will create a cover
* *HA.fan* will create a fan
* *HA.lock* will create a lock
* *HA.switch* will create a switch
A program, named *status*, is required under the program device directory. A program, named *actions*, is required for all program devices except for binary_sensor. Any other programs in these device directories will be ignored.
<p class='img'> <p class='img'>
<img src='{{site_root}}/images/isy994/isy994_SwitchExample.png' /> <img src='{{site_root}}/images/isy994/isy994_CoverhExample.png' />
</p> </p>
The *status* program in this directory is what indicates if the switch is on or off. Only the IF clause is evaluated. If the clause returns True, the switch will be on. False will indicate the switch is off. The *status* program in this directory is what indicates the state of the device:
* *binary_sensor* on if the clause returns true, otherwise off
* *cover* closed if the clause returns true, otherwise open
* *fan* on if the clause returns true, otherwise off
* *lock* locked if the clause returns true, otherwise unlocked
* *switch* on if the clause returns true, otherwise off
<p class='img'> <p class='img'>
<img src='{{site_root}}/images/isy994/isy994_SwitchStatusExample.png' /> <img src='{{site_root}}/images/isy994/isy994_SwitchStatusExample.png' />
</p> </p>
The *actions* program indicates what should be performed to turn the switch on or off. The THEN clause gives instructions for turning the switch on while the ELSE clause gives instructions for turning the switch off. Below is an example. The *actions* program indicates what should be performed for the following device services:
* *cover* the THEN clause is evaluated for the open_cover service, the ELSE clause is evaluated for the close_cover service
* *fan* the THEN clause is evaluated for the turn_on service, the ELSE clause is evaluated for the turn_off service
* *lock* the THEN clause is evaluated for the lock service, the ELSE clause is evaluated for the unlock service
* *switch* the THEN clause is evaluated for the turn_on srevice, the ELSE clause is evaluated for the turn_off service
<p class='img'> <p class='img'>
<img src='{{site_root}}/images/isy994/isy994_SwitchActionsExample.png' /> <img src='{{site_root}}/images/isy994/isy994_SwitchActionsExample.png' />
</p> </p>
The example program above shows how to control a legacy X10 device from Home Assistant using an ISY controller. The example program above shows how to control a legacy X10 device from Home Assistant using an ISY controller.
### {% linkable_title Creating Custom Sensors %}
Custom sensors can also be created using the Programs tab in the ISY controller's Administrative Console. For programs, three different root level folders are evaluated that are all handled a little differently inside of Home Assistant.
* *HA.sensors* will have states of Open or Closed
* *HA.states* will have states of On or Off
* *HA.locations* will have states of Home or Away
To create a custom sensor, create a program under any of the three root directories. The name of the program will be the name of the sensor. An example below shows a location indicator setup.
<p class='img'>
<img src='{{site_root}}/images/isy994/isy994_SensorExample.png' />
</p>
The program created only needs an IF clause. It will be evaluated to either Open/On/Home when it returns True and Closed/Off/Away when it returns False. An example is below.
<p class='img'>
<img src='{{site_root}}/images/isy994/isy994_SensorStatusExample.png' />
</p>

View File

@ -0,0 +1,17 @@
---
layout: page
title: "ISY994 Light"
description: "Instructions how to integrate ISY994 lights into Home Assistant."
date: 2016-09-03 23:00
sidebar: true
comments: false
sharing: true
footer: true
logo: universal_devices.png
ha_category: Light
ha_iot_class: "Local Push"
---
The `isy994` platform allows you to get data from your [ISY994](https://www.universal-devices.com/residential/isy994i-series/) light from within Home Assistant.
They will be automatically discovered if the isy994 component is loaded.

View File

@ -0,0 +1,17 @@
---
layout: page
title: "ISY994 Lock"
description: "Instructions how to integrate ISY994 locks into Home Assistant."
date: 2016-09-03 23:00
sidebar: true
comments: false
sharing: true
footer: true
logo: universal_devices.png
ha_category: Lock
ha_iot_class: "Local Push"
---
The `isy994` platform allows you to get data from your [ISY994](https://www.universal-devices.com/residential/isy994i-series/) lock from within Home Assistant.
They will be automatically discovered if the isy994 component is loaded.

View File

@ -0,0 +1,17 @@
---
layout: page
title: "ISY994 Sensor"
description: "Instructions how to integrate ISY994 sensors into Home Assistant."
date: 2016-09-03 23:00
sidebar: true
comments: false
sharing: true
footer: true
logo: universal_devices.png
ha_category: Sensor
ha_iot_class: "Local Push"
---
The `isy994` platform allows you to get data from your [ISY994](https://www.universal-devices.com/residential/isy994i-series/) sensor from within Home Assistant.
They will be automatically discovered if the isy994 component is loaded.

View File

@ -0,0 +1,17 @@
---
layout: page
title: "ISY994 Switch"
description: "Instructions how to integrate ISY994 switch into Home Assistant."
date: 2016-09-03 23:00
sidebar: true
comments: false
sharing: true
footer: true
logo: universal_devices.png
ha_category: Switch
ha_iot_class: "Local Push"
---
The `isy994` platform allows you to get data from your [ISY994](https://www.universal-devices.com/residential/isy994i-series/) switch from within Home Assistant.
They will be automatically discovered if the isy994 component is loaded.

View File

@ -41,9 +41,27 @@ homeassistant:
| --------- | ----------- | | --------- | ----------- |
| friendly_name | Name of the entity | friendly_name | Name of the entity
| hidden | Set to `true` to hide the entity. | hidden | Set to `true` to hide the entity.
| entity_picture | url to use as picture for entity | entity_picture | Url to use as picture for entity
| icon | Any icon from [MaterialDesignIcons.com](http://MaterialDesignIcons.com). Prefix name with `mdi:`, ie `mdi:home`. | icon | Any icon from [MaterialDesignIcons.com](http://MaterialDesignIcons.com). Prefix name with `mdi:`, ie `mdi:home`.
| assumed_state | For switches with an assumed state two buttons are shown (turn off, turn on) instead of a switch. By setting `assumed_state` to `false` you will get the default switch icon. | assumed_state | For switches with an assumed state two buttons are shown (turn off, turn on) instead of a switch. By setting `assumed_state` to `false` you will get the default switch icon.
| sensor_class | Sets the class of the sensor, changing the device state and icon that is displayed on the UI (see below).
| sensor_class | Description |
| ------------ | ----------- |
| cold | On means cold (or too cold) |
| connectivity | On meanse connection present, Off means no connection
| gas | CO, CO2, etc. |
| heat | On means hot (or too hot) |
| light | Lightness threshold |
| moisture | Specifically a wetness sensor |
| motion | Motion sensor |
| moving | On means moving, Off means stopped |
| opening | Door, window, etc. |
| power | Power, over-current, etc. |
| safety | On meanse unsafe, Off means safe |
| smoke | Smoke detector |
| sound | On means sound detected, Off meanse no sound |
| vibration | On means vibration detected, Off meanse no vibration |
### {% linkable_title Reloading customize %} ### {% linkable_title Reloading customize %}

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB