@ -127,10 +127,10 @@ social:
|
||||
|
||||
# Home Assistant release details
|
||||
current_major_version: 0
|
||||
current_minor_version: 38
|
||||
current_patch_version: 4
|
||||
date_released: 2017-02-21
|
||||
current_minor_version: 39
|
||||
current_patch_version: 0
|
||||
date_released: 2017-02-25
|
||||
|
||||
# Either # or the anchor link to latest release notes in the blog post.
|
||||
# Must be prefixed with a # and have double quotes around it.
|
||||
patch_version_notes: "#release-0384---february-21"
|
||||
patch_version_notes: "#"
|
||||
|
@ -90,7 +90,7 @@ Inside an intent we can define this variables:
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
|
||||
Download [this zip](http://filebin.ca/3AZSHoXPnbEv/HomeAssistant_APIAI.zip) and load it in your api.ai agent (Settings -> Export and Import) for examples intents to use with this configuration:
|
||||
Download [this zip](https://github.com/home-assistant/home-assistant.github.io/blob/next/source/assets/HomeAssistant_APIAI.zip) and load it in your Api.ai agent (Settings -> Export and Import) for examples intents to use with this configuration:
|
||||
|
||||
```yaml
|
||||
{% raw %}# Example configuration.yaml entry
|
||||
|
35
source/_components/binary_sensor.aurora.markdown
Normal file
@ -0,0 +1,35 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Aurora sensor"
|
||||
description: "Know when auroras might be visible at your location"
|
||||
date: 2017-02-14 10:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
ha_category: Binary Sensor
|
||||
ha_release: 0.39
|
||||
---
|
||||
The `aurora` platform uses the [NOAA aurora forecast](http://www.swpc.noaa.gov/products/aurora-30-minute-forecast) service to let you know if an aurora might be visible at your home location in the next 30 minutes, based off of current solar flare activity.
|
||||
|
||||
This service gives a number 0-100 representing the current likelihood of visible auroras at your latitude/longitude. By default this sensor is set up to trigger when the reported likelihood for your location is > 75. It updates every 5 minutes.
|
||||
|
||||
You can check the attributes of the sensor to see your exact forecast.
|
||||
|
||||
To add the aurora binary sensor to your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
binary_sensor:
|
||||
- platform: aurora
|
||||
```
|
||||
|
||||
#### Configuration variables:
|
||||
|
||||
- **forecast_threshold** (*Optional*): Provide your own threshold number above which the sensor will trigger. Defaults to 75.
|
||||
|
||||
```yaml
|
||||
binary_sensor:
|
||||
- platform: aurora
|
||||
forecast_threshold: 50
|
||||
```
|
@ -29,7 +29,7 @@ Configuration variables:
|
||||
|
||||
- **command** (*Required*): The action to take to get the value.
|
||||
- **name** (*Optional*): Let you overwrite the the name of the device. By default *name* from the device is used.
|
||||
- **sensor_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
|
||||
- **device_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
|
||||
- **payload_on** (*Optional*): The payload that represents enabled state. Default is "ON".
|
||||
- **payload_off** (*Optional*): The payload that represents disabled state. Default is "OFF".
|
||||
- **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract a value from the payload.
|
||||
@ -48,7 +48,7 @@ binary_sensor:
|
||||
- platform: command_line
|
||||
command: netstat -na | find "33322" | find /c "LISTENING" > nul && (echo "Running") || (echo "Not running")
|
||||
name: 'sickragerunning'
|
||||
sensor_class: moving
|
||||
device_class: moving
|
||||
payload_on: "Running"
|
||||
payload_off: "Not running"
|
||||
```
|
||||
@ -62,7 +62,7 @@ binary_sensor:
|
||||
- platform: command_line
|
||||
command: 'ping -c 1 rasplex.local | grep "1 received" | wc -l'
|
||||
name: 'is_rasplex_online'
|
||||
sensor_class: connectivity
|
||||
device_class: connectivity
|
||||
payload_on: 1
|
||||
payload_off: 0
|
||||
```
|
||||
@ -74,7 +74,7 @@ binary_sensor:
|
||||
platform: command_line
|
||||
name: Printer
|
||||
command: ping -W 1 -c 1 192.168.1.10 > /dev/null 2>&1 && echo success || echo fail
|
||||
sensor_class: connectivity
|
||||
device_class: connectivity
|
||||
payload_on: "success"
|
||||
payload_off: "fail"
|
||||
```
|
||||
|
@ -28,4 +28,4 @@ Configuration variables:
|
||||
|
||||
- **id** (*Required*): The ID of the device. This is the 4 bytes long number written on the dimmer.
|
||||
- **name** (*Optional*): An identifier for the switch in the frontend.
|
||||
- **sensor_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
|
||||
- **device_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
|
||||
|
@ -9,11 +9,11 @@ sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
Binary sensors are gathering information about state of switches, contacts, pins, and alike. The return value of those sensors is usually digital (1/0). This means that those sensors knows only two states: **0/off/low/open/false** and **1/on/high/closed/true**.
|
||||
Binary sensors are gathering information about state of switches, contacts, pins, and alike. The return value of those sensors is usually digital (1/0). This means that those sensors knows only two states: **0/off/low/closed/false** and **1/on/high/open/true**.
|
||||
|
||||
Knowing that there are only two states allows Home Assistant to represent the sensor better in the frontend.
|
||||
|
||||
Most binary sensors support the `sensor_class:` which let you specify the type of your sensor. The following types are supported:
|
||||
The display style of each entity can be modified in the [customize section](/getting-started/customizing-devices/). The following device classes are supported for binary sensors:
|
||||
|
||||
- **None**: Generic on/off
|
||||
- **cold**: On means cold (or too cold)
|
||||
@ -25,7 +25,7 @@ Most binary sensors support the `sensor_class:` which let you specify the type
|
||||
- **motion**: Motion sensor
|
||||
- **moving**: On means moving, Off means stopped
|
||||
- **occupancy**: On means occupied, Off means not occupied
|
||||
- **opening**: Door, window, etc
|
||||
- **opening**: Door, window, etc. On means open, Off means closed
|
||||
- **power**: Power, over-current, etc
|
||||
- **safety**: On means unsafe, Off means safe
|
||||
- **smoke**: Smoke detector
|
||||
|
@ -32,7 +32,7 @@ Configuration variables:
|
||||
- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0.
|
||||
- **payload_on** (*Optional*): The payload that represents on state. Default is "ON".
|
||||
- **payload_off** (*Optional*): The payload that represents state. Default is "OFF".
|
||||
- **sensor_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
|
||||
- **device_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
|
||||
- **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract a value from the payload.
|
||||
|
||||
For a quick check you can use the commandline tools shipped with `mosquitto` to send MQTT messages. Set the state of a sensor manually:
|
||||
@ -52,7 +52,7 @@ binary_sensor:
|
||||
qos: 0
|
||||
payload_on: "1"
|
||||
payload_off: "0"
|
||||
sensor_class: opening
|
||||
device_class: opening
|
||||
value_template: '{% raw %}{{ value.x }}{% endraw %}'
|
||||
```
|
||||
|
||||
|
@ -52,7 +52,7 @@ Configuration variables:
|
||||
- **resource** (*Required*): The resource or endpoint that contains the value.
|
||||
- **method** (*Optional*): The method of the request. Default is GET.
|
||||
- **name** (*Optional*): Name of the REST binary sensor.
|
||||
- **sensor_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
|
||||
- **device_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
|
||||
- **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract the value.
|
||||
- **payload** (*Optional*): The payload to send with a POST request. Usually formed as a dictionary.
|
||||
- **verify_ssl** (*Optional*): Verify the certification of the endpoint. Default to True.
|
||||
@ -80,7 +80,7 @@ binary_sensor:
|
||||
resource: http://192.168.0.5/digital/9
|
||||
method: GET
|
||||
name: Light
|
||||
sensor_class: light
|
||||
device_class: light
|
||||
value_template: {% raw %}'{{ value_json.return_value }}'{% endraw %}
|
||||
```
|
||||
|
||||
|
@ -29,7 +29,7 @@ Configuration variables:
|
||||
|
||||
- **sensors** array (*Required*): List of your sensors.
|
||||
- **friendly_name** (*Optional*): Name to use in the Frontend.
|
||||
- **sensor_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
|
||||
- **device_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
|
||||
- **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract a value from the payload.
|
||||
- **entity_id** (*Optional*): Add a list of entity IDs so the sensor only reacts to state changes of these entities. This will reduce the number of times the sensor will try to update it's state.
|
||||
|
||||
@ -48,7 +48,7 @@ sensor:
|
||||
furnace_on:
|
||||
value_template: {% raw %}{{ states.sensor.furnace.state > 2.5 }}{% endraw %}
|
||||
friendly_name: 'Furnace Running
|
||||
sensor_class: heat
|
||||
device_class: heat
|
||||
```
|
||||
|
||||
### {% linkable_title Switch as sensor %}
|
||||
@ -61,10 +61,10 @@ binary_sensor:
|
||||
sensors:
|
||||
movement:
|
||||
value_template: {% raw %}"{{ states.switch.movement.state == 'on' }}"{% endraw %}
|
||||
sensor_class: motion
|
||||
device_class: motion
|
||||
door:
|
||||
value_template: {% raw %}"{{ states.switch.door.state == 'on' }}"{% endraw %}
|
||||
sensor_class: opening
|
||||
device_class: opening
|
||||
```
|
||||
|
||||
|
||||
@ -78,7 +78,7 @@ binary_sensor:
|
||||
sensors:
|
||||
co:
|
||||
friendly_name: 'CO'
|
||||
sensor_class: 'gas'
|
||||
device_class: 'gas'
|
||||
value_template: {% raw %}>-
|
||||
{%- if is_state("sensor.bedroom_co_status", "Ok")
|
||||
and is_state("sensor.kitchen_co_status", "Ok")
|
||||
|
@ -30,7 +30,7 @@ Configuration variables:
|
||||
|
||||
- **sensors** array (*Required*): List of your sensors.
|
||||
- **friendly_name** (*Optional*): Name to use in the Frontend.
|
||||
- **sensor_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
|
||||
- **device_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
|
||||
- **entity_id** (*Required*): The entity that this sensor tracks.
|
||||
- **attribute** (*Optional*): The attribute of the entity that this sensor tracks. If no attribute is specified then the sensor will track the state.
|
||||
- **invert** (*Optional*): Invert the result (so `true` means descending rather than ascending)
|
||||
@ -50,7 +50,7 @@ binary_sensor:
|
||||
temperature_up:
|
||||
friendly_name: 'Temp increasing'
|
||||
entity_id: sensor.skylight_temperature
|
||||
sensor_class: heat
|
||||
device_class: heat
|
||||
```
|
||||
|
||||
And this one indicates `true` if the temperature is falling:
|
||||
@ -62,6 +62,6 @@ binary_sensor:
|
||||
temperature_down:
|
||||
friendly_name: 'Temp decreasing'
|
||||
entity_id: sensor.skylight_temperature
|
||||
sensor_class: cold
|
||||
device_class: cold
|
||||
invert: Yes
|
||||
```
|
||||
|
28
source/_components/camera.zoneminder.markdown
Normal file
@ -0,0 +1,28 @@
|
||||
---
|
||||
layout: page
|
||||
title: "ZoneMinder Camera"
|
||||
description: "View ZoneMinder camera streams within Home Assistant."
|
||||
date: 2017-02-19 18:11
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: zoneminder.png
|
||||
ha_category: Camera
|
||||
ha_release: 0.39
|
||||
---
|
||||
|
||||
|
||||
The `zoneminder` camera platform lets you monitor the current stream of your [ZoneMinder](https://www.zoneminder.com) cameras.
|
||||
|
||||
<p class='note'>
|
||||
You must have the [ZoneMinder component](/components/zoneminder/) configured to view the camera stream.
|
||||
</p>
|
||||
|
||||
To set it up, add the following information to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
camera:
|
||||
- platform: zoneminder
|
||||
```
|
36
source/_components/climate.oem.markdown
Normal file
@ -0,0 +1,36 @@
|
||||
---
|
||||
layout: page
|
||||
title: "OpenEnergyMonitor WiFi Thermostat"
|
||||
description: "Instructions how to integrate an OpenEnergyMonitor thermostat with Home Assistant."
|
||||
date: 2017-01-27 11:15
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: oem.png
|
||||
ha_category: Climate
|
||||
ha_release: 0.39
|
||||
---
|
||||
|
||||
This platform supports the ESP82666 based "WiFi MQTT Relay / Thermostat" sold by [OpenEnergyMonitor](https://shop.openenergymonitor.com/wifi-mqtt-relay-thermostat/). The underlying [library](http://oemthermostat.readthedocs.io/) only supports this single relay variant of the [original device](https://harizanov.com/2014/12/wifi-iot-3-channel-relay-board-with-mqtt-and-http-api-using-esp8266/).
|
||||
|
||||
This platform controls the setpoint of the thermostat in it's "manual" mode, therefore there is a configuration option the away setpoint.
|
||||
|
||||
To set it up, add the following information to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
climate oem:
|
||||
- platform: oem
|
||||
host: 192.168.0.100
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **host** (*Required*): The IP address or hostname of the thermostat.
|
||||
- **port** (*Optional*): The port for the web interface. Defaults to 80.
|
||||
- **name** (*Optional*): The name to use for the frontend.
|
||||
- **username** (*Optional*): Username for the web interface if set.
|
||||
- **password** (*Optional*): Password for the web interface if set.
|
||||
- **away_temp** (*Optional*): Setpoint for the thermostat in away mode. Defaults to 14 C.
|
||||
|
@ -11,6 +11,12 @@ footer: true
|
||||
|
||||
Home Assistant can give you an interface to control covers such as rollershutters, blinds, and garage doors.
|
||||
|
||||
The display style of each entity can be modified in the [customize section](/getting-started/customizing-devices/). The following device classes are supported for covers:
|
||||
|
||||
- **None**: Generic cover device
|
||||
- **window**: Window controller
|
||||
- **garage**: Garage door controller
|
||||
|
||||
## {% linkable_title Services %}
|
||||
|
||||
### {% linkable_title Cover control services %}
|
||||
|
32
source/_components/cover.myq.markdown
Normal file
@ -0,0 +1,32 @@
|
||||
---
|
||||
layout: page
|
||||
title: "MyQ Cover"
|
||||
description: "Instructions how to integrate MyQ-Enabled garage door covers into Home Assistant."
|
||||
date: 2017-02-14 14:21
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: myq.png
|
||||
ha_category: Cover
|
||||
ha_release: 0.39
|
||||
---
|
||||
|
||||
The `myq` cover platform lets you control MyQ-Enabled garage doors through Home Assistant. Device names in Home Assistant are generated based on the names defined in your MyQ Device mobile app.
|
||||
|
||||
To use your MyQ cover in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yml entry
|
||||
cover:
|
||||
- platform: myq
|
||||
username: email@email.com
|
||||
password: password
|
||||
type: chamberlain
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **username** (*Required*): Your MyQ account username.
|
||||
- **password** (*Required*): Your MyQ account password.
|
||||
- **type** (*Required*): Your device type/brand. Supported types are `chamberlain`, `liftmaster`, `craftsman` and `merlin`.
|
@ -15,6 +15,7 @@ ha_release: 0.37
|
||||
The `tado` device tracker is using the [Tado Smart Thermostat](https://www.tado.com/) and it's support for person presence detection based on smartphone location by geofencing.
|
||||
|
||||
This tracker uses the Tado API to determine if a mobile device is at home.
|
||||
It tracks all devices in your home that Tado knows about.
|
||||
|
||||
To use the Tado platform in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
@ -24,14 +25,27 @@ device_tracker:
|
||||
- platform: tado
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
home_id: YOUR_HOME_ID
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **username** (*Required*): The username for your Tado account.
|
||||
- **password** (*Required*): The password for your Tado account.
|
||||
- **home_id** (*Optional*): The id of your home of which you want to track devices. If provided, the Tado device tracker will tack *all* devices known to Tado associated with this home. See below how to find it.
|
||||
|
||||
After configuration, your device has to be at home at least once before showing up as 'home' or 'away'.
|
||||
Polling Tado API for presence information will occure at most once every 30 seconds.
|
||||
After configuration, your device has to be at home at least once before showing up as *home* or *away*.
|
||||
Polling Tado API for presence information will happen at most once every 30 seconds.
|
||||
|
||||
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.
|
||||
|
||||
### {% linkable_title Finding your `home_id` %}
|
||||
Find your `home_id` by browsing to `https://my.tado.com/api/v2/me?username=YOUR_USERNAME&password=YOUR_PASSWORD`. There you'll see something like the following:
|
||||
|
||||
```json
|
||||
{"name":"Mark","email":"your@email.tld","username":"your@email.tld",
|
||||
"homes":[{"id":12345,"name":"Home Sweet Home"}],"locale":"en_US",
|
||||
"mobileDevices":[]}
|
||||
```
|
||||
|
||||
In this example `12345` is the `home_id` you'll need to configure.
|
||||
|
@ -25,6 +25,7 @@ Home Assistant can discover and automatically configure zeroconf/mDNS and uPnP d
|
||||
* Yamaha media player
|
||||
* Logitech media server (Squeezebox)
|
||||
* DirecTV
|
||||
* Apple TV
|
||||
|
||||
It will be able to add Google Chromecasts and Belkin WeMo switches automatically, for Philips Hue it will require some configuration from the user.
|
||||
|
||||
@ -33,8 +34,15 @@ To load this component, add the following lines to your `configuration.yaml`:
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
discovery:
|
||||
ignore:
|
||||
- sonos
|
||||
- samsung_tv
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **ignore** (*Optional*): A list of platforms that never will be automatically configured by `discovery`.
|
||||
|
||||
<p class='note'>
|
||||
Home Assistant must be on the same network as the devices for uPnP discovery to work.
|
||||
If running Home Assistant in a Docker container use switch `--net=host` to put it on the host's network.
|
||||
|
@ -42,7 +42,12 @@ Configuration variables:
|
||||
- **type** (*Optional*): The type of assistant who we are emulated for. Either `alexa` or `google_home`, defaults to `alexa`.
|
||||
- **host_ip** (*Optional*): The IP address that your Home Assistant installation is running on. If you do not specify this option, the component will attempt to determine the IP address on its own.
|
||||
- **listen_port** (*Optional*): The port the Hue bridge API web server will run on. If not specified, this defaults to 8300. This can be any free port on your system.
|
||||
|
||||
- **advertise_ip** (*Optional*): If you need to override the IP address used for UPNP discovery. (For example, using network isolation in Docker)
|
||||
- **advertise_port** (*Optional*): If you need to specifically override the advertised UPNP port.
|
||||
|
||||
- **upnp_bind_multicast** (*Optional*): Whether or not to bind the UPNP (SSDP) listener to the multicast address (239.255.255.250) or instead to the (unicast) host_ip address specified above (or automatically determined). The default is true, which will work for most situations. In special circumstances, like running in a FreeBSD or FreeNAS jail, you may need to disable this.
|
||||
|
||||
- **off_maps_to_on_domains** (*Optional*): The domains that maps an "off" command to an "on" command.
|
||||
|
||||
For example, if `script` is included in the list, and you ask Alexa to "turn off the *water plants* script," the command will be handled as if you asked her to turn on the script.
|
||||
@ -69,6 +74,8 @@ A full configuration sample looks like the one below.
|
||||
emulated_hue:
|
||||
host_ip: 192.168.1.186
|
||||
listen_port: 8300
|
||||
advertise_ip: 10.0.0.10
|
||||
advertise_port: 8080
|
||||
off_maps_to_on_domains:
|
||||
- script
|
||||
- scene
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Home Assistant 0.38"
|
||||
title: "Home Assistant 0.39"
|
||||
description: ""
|
||||
date: 2016-12-16 17:00
|
||||
sidebar: true
|
||||
@ -9,7 +9,7 @@ sharing: true
|
||||
footer: true
|
||||
logo: home-assistant.png
|
||||
ha_category: Other
|
||||
ha_release: 0.38
|
||||
ha_release: 0.39
|
||||
---
|
||||
|
||||
Details about the latest release can always be found at:
|
||||
|
@ -42,7 +42,9 @@ Configuration variables (global):
|
||||
Configuration variables (host):
|
||||
|
||||
- **ip** (*Required*): IP of CCU/Homegear
|
||||
- **port** (*Optional*): Port of Homegear/CCU XML-RPC Server (default is 2001, use 2000 for wired and 2010 for IP)
|
||||
- **port** (*Optional*): Port of CCU/Homegear XML-RPC Server (default is 2001, use 2000 for wired and 2010 for IP)
|
||||
- **callback_ip** (*Optional*): Set this, if HASS is reachable under a different IP from the CCU (NAT, Docker etc.)
|
||||
- **callback_port** (*Optional*): Set this, if HASS is reachable under a different port from the CCU (NAT, Docker etc.)
|
||||
- **resolvenames** (*Optional*): [`metadata`, `json`, `xml`] Try to fetch device names. Defaults to `false` if not specified.
|
||||
- **username** (*Optional*): When fetching names via JSON-RPC, you need to specify a user with guest-access to the CCU.
|
||||
- **password** (*Optional*): When fetching names via JSON-RPC, you need to specify the password of the user you have configured above.
|
||||
|
@ -29,6 +29,9 @@ Examples of controllers:
|
||||
- [SUPERNIGHT WiFi Wireless LED Smart Controller](https://www.amazon.com/dp/B01JZ2SI6Q)
|
||||
|
||||
|
||||
### {% linkable_title Configuration Details %}
|
||||
|
||||
|
||||
To enable those lights, add the following lines to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
@ -116,3 +119,19 @@ light:
|
||||
name: NAME
|
||||
protocol: 'ledenet'
|
||||
```
|
||||
|
||||
### {% linkable_title Effects %}
|
||||
|
||||
The FLUX_LED light offers a number of effects which are not included in other lighting packages. These can be selected from the front-end, or sent in the effect field of the light TURN_ON command.
|
||||
|
||||
| Effect Name | Description |
|
||||
|------------------------------------------------------------------------------------------------|--------------------------------------------------------------------|
|
||||
| colorloop | Smoothly transitions through the rainbow |
|
||||
| colorjump | Jumps through seven different rainbow colors. |
|
||||
| colorstrobe | Strobes each rainbow color in a loop. |
|
||||
| random | Chooses a random color by selecting random values for R, G, and B |
|
||||
| red_fade, green_fade, blue_fade, yellow_fade, cyan_fade, purple_fade, white_fade | Fades between the color as indicated in the effect name and black. |
|
||||
| rg_cross_fade | Fades between red and green. |
|
||||
| rb_cross_fade | Fades between red and blue. |
|
||||
| gb_cross_fade | Fades between green and blue |
|
||||
| red_strobe, green_strobe, blue_strobe, yellow_strobe, cyan_strobe, purple_strobe, white_strobe | Strobes the color indicated by the effect name. |
|
||||
|
@ -18,7 +18,7 @@ ha_release: pre 0.7
|
||||
|
||||
### {% linkable_title Setup %}
|
||||
|
||||
Before configuring Home Assistant, make sure you can control your bulbs or LEDs with the MiLight mobile application. Discover your bridge(s) IP address. You can do this via your router or a mobile application like Fing ([android](https://play.google.com/store/apps/details?id=com.overlook.android.fing&hl=en) or [itunes](https://itunes.apple.com/us/app/fing-network-scanner/id430921107?mt=8)). Keep in mind that LimitlessLED bulbs are controlled via groups. You can not control an individual bulb via the bridge, unless it is in a group by itself. Note that you can assign an `rgbw` and `white` group to the same group number, effectively allowing 8 groups (4 `rgbw` and 4 `white`) per bridge.
|
||||
Before configuring Home Assistant, make sure you can control your bulbs or LEDs with the MiLight mobile application. Discover your bridge(s) IP address. You can do this via your router or a mobile application like Fing ([android](https://play.google.com/store/apps/details?id=com.overlook.android.fing&hl=en) or [itunes](https://itunes.apple.com/us/app/fing-network-scanner/id430921107?mt=8)). Keep in mind that LimitlessLED bulbs are controlled via groups. You can not control an individual bulb via the bridge, unless it is in a group by itself. Note that you can assign an `rgbw`, `rgbww` and `white` group to the same group number, effectively allowing 12 groups (4 `rgbww`, 4 `rgbw` and 4 `white`) per bridge.
|
||||
|
||||
To add `limitlessled` to your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
@ -35,6 +35,7 @@ light:
|
||||
type: rgbw
|
||||
name: Bathroom
|
||||
- host: 192.168.1.11
|
||||
bridge_led: True
|
||||
groups:
|
||||
- number: 1
|
||||
name: Living Room & Hall
|
||||
@ -42,26 +43,31 @@ light:
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **bridges** array (*Required*):
|
||||
- **bridges** array (*Required*):
|
||||
- **host** (*Required*): IP address of the device, eg. `192.168.1.32`
|
||||
- **version** (*Optional*): Bridge version (default is `5`). Don't use if you aren't sure.
|
||||
- **port** (*Optional*): Bridge port. Defaults to 8899.
|
||||
- **version** (*Optional*): Bridge version (default is `6`). Don't use if you aren't sure.
|
||||
- **port** (*Optional*): Bridge port. Defaults to 5987.
|
||||
- **bridge_led** (*Optional*): If True, the bridge led can be controlled. (Only supported for newer bridges with integrated led)
|
||||
- **groups** array (*Required*): The list of available groups.
|
||||
- **number** (*Required*): Group number (`1`-`4`). Corresponds to the group number on the remote.
|
||||
- **name** (*Required*): Any name you'd like. Must be unique among all configured groups.
|
||||
- **type** (*Optional*): Type of group. Choose either `rgbw` or `white`. `rgbw` is the default if you don't specify this entry.
|
||||
- **type** (*Optional*): Type of group. Choose either `rgbww`, `rgbw` or `white`. `rgbw` is the default if you don't specify this entry.
|
||||
|
||||
### {% linkable_title Properties %}
|
||||
|
||||
Refer to the [light]({{site_root}}/components/light/) documentation for general property usage, but keep in mind the following notes specific to LimitlessLED.
|
||||
|
||||
- **RGBWW**
|
||||
- *Color*: There are 25,856 color possibilities along the LimitlessLED color spectrum. For colors, hue and saturation can be used, but not lightness. If you select a color with lightness, Home Assistant will calculate the nearest valid LimitlessLED color. In white mode the temperature can be set.
|
||||
- *Temperature*: There are 101 temperature steps.
|
||||
- *Brightness*: There are 101 brightness steps.
|
||||
- **RGBW**
|
||||
- *Color*: There are 256 color possibilities along the LimitlessLED color spectrum. Color properties like saturation and lightness can not be used - only Hue can. The only exception is white (which may be warm or cold depending on the type of RGBW bulb). If you select a color with saturation or lightness, Home Assistant will calculate the nearest valid LimitlessLED color.
|
||||
- *Brightness*: There are 25 brightness steps.
|
||||
- *Brightness*: Wifi bridge v6 supports 101 brightness steps; older versions only 25.
|
||||
- **White**
|
||||
- As you can observe on the MiLight mobile application, you can not select a specific brightness or temperature - you can only step each property up or down. There is no indication of which step you are on. This restriction, combined with the unreliable nature of LimitlessLED transmissions, means that setting white bulb properties is done on a best-effort basis. The only very reliable settings are the minimum and maximum of each property.
|
||||
- *Temperature*: There are 10 temperature steps.
|
||||
- *Brightness*: There are 10 brightness steps.
|
||||
- When using a legacy wifi bridge (before v6), you can observe on the MiLight mobile application, you can not select a specific brightness or temperature - you can only step each property up or down. There is no indication of which step you are on. This restriction, combined with the unreliable nature of LimitlessLED transmissions, means that setting white bulb properties is done on a best-effort basis. The only very reliable settings are the minimum and maximum of each property.
|
||||
- *Temperature*: Wifi bridge v6 supports 101 temperature steps; older versions only 10.
|
||||
- *Brightness*: Wifi bridge v6 supports 101 brightness steps; older versions only 10.
|
||||
- **Transitions**
|
||||
- If a transition time is set, the group will transition between the current settings and the target settings for the duration specified. Transitions from or to white are not possible - the color will change immediately.
|
||||
|
||||
|
42
source/_components/media_player.clementine.markdown
Normal file
@ -0,0 +1,42 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Clementine Music Player"
|
||||
description: "Instructions how to integrate Clementine Music Player within Home Assistant."
|
||||
date: 2017-02-11 17:15
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: clementine.png
|
||||
ha_category: Media Player
|
||||
ha_iot_class: "Local Poll"
|
||||
ha_release: "0.39"
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
The `clementine` platform allows you to control a [Clementine Music Player](https://www.clementine-player.org).
|
||||
|
||||
To add a Clementine Player to your Home Assistant installation, add the following to
|
||||
your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
media_player:
|
||||
- platform: clementine
|
||||
host: 192.168.0.20
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **host** (*Required*): The IP address of the Clementine Player (eg. 192.168.0.20).
|
||||
- **port** (*Optional*): The remote control port (default is: 5500).
|
||||
- **access_token** (*Optional*): The authorization code needed to connect.
|
||||
- **name** (*Optional*): The name you would like to give to the Clementine player. The default is "Clementine Remote".
|
||||
|
||||
Remember that Clementine must be configured to accept connections through its
|
||||
network remote control protocol.
|
||||
|
||||
You can configure this through Clementine `Tools > Preferences > Network remote control`
|
||||
configuration menu. Enable `Use network remote control` and configure the other options
|
||||
for your use case.
|
||||
|
94
source/_components/media_player.gstreamer.markdown
Normal file
@ -0,0 +1,94 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Gstreamer"
|
||||
description: "Instructions on how to integrate Gstreamer into Home Assistant."
|
||||
date: 2017-02-16 10:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
ha_category: Media Player
|
||||
logo: gstreamer.png
|
||||
ha_release: 0.39
|
||||
ha_iot_class: "Local Push"
|
||||
---
|
||||
|
||||
The `gstreamer` platform allows you to play audio via a [gstreamer](https://gstreamer.freedesktop.org/) pipeline. Practically, this means you can play audio directly on the computer running Home Assistant. It is particularly suited for playing TTS. Advanced users can specify a pipeline to transform the audio stream and/or redirect it elsewhere.
|
||||
|
||||
To add a `gstreamer` media player to your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
media_player:
|
||||
- platform: gstreamer
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **name** (*Optional*): Name the player.
|
||||
- **pipeline** (*Optional*): `gst` pipeline description.
|
||||
|
||||
Only the `music` media type is supported.
|
||||
|
||||
## {% linkable_title Setup %}
|
||||
|
||||
And then install the following system dependencies:
|
||||
|
||||
Debian/Ubuntu/Rasbian:
|
||||
|
||||
```bash
|
||||
sudo apt-get install python-gst-1.0 \
|
||||
gir1.2-gstreamer-1.0 gir1.2-gst-plugins-base-1.0 \
|
||||
gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly \
|
||||
gstreamer1.0-tools
|
||||
```
|
||||
|
||||
Red Hat/Centos/Fedora:
|
||||
|
||||
```bash
|
||||
sudo yum install -y python-gstreamer1 gstreamer1-plugins-good \
|
||||
gstreamer1-plugins-ugly
|
||||
```
|
||||
|
||||
For Fedora replace `yum` with `dnf`.
|
||||
|
||||
If you're running Home Assistant in a virtual environment, you'll need to symlink the system Python's `gst` module into your virtual environment:
|
||||
|
||||
```bash
|
||||
ln -s /path/to/your/installation/of/gst /path/to/your/venv/lib/python3.4/site-packages
|
||||
```
|
||||
|
||||
On a Raspberry PI, you may need to add the Home Assistant user to the `audio` group:
|
||||
|
||||
```bash
|
||||
sudo usermod -a -G audio <ha_user>
|
||||
```
|
||||
|
||||
## {% linkable_title Example Usage %}
|
||||
|
||||
### {% linkable_title Using with TTS %}
|
||||
|
||||
To play TTS on your local computer (for example, if you have speakers attached to your Raspberry PI:
|
||||
|
||||
```yaml
|
||||
media_player:
|
||||
- platform: gstreamer
|
||||
|
||||
script:
|
||||
tts:
|
||||
sequence:
|
||||
- service: tts.google_say # or amazon_polly, voicerss, etc
|
||||
data:
|
||||
entity_id: media_player.gstreamer
|
||||
message: "example text-to-speech message"
|
||||
```
|
||||
|
||||
### {% linkable_title Using with Snapcast %}
|
||||
|
||||
To play to a named pipe for consumption by Snapcast:
|
||||
|
||||
```yaml
|
||||
media_player:
|
||||
- platform: gstreamer
|
||||
pipeline: "audioresample ! audioconvert ! audio/x-raw,rate=48000,channels=2,format=S16LE ! wavenc ! filesink location=/tmp/snapcast_gstreamer"
|
||||
```
|
@ -11,7 +11,7 @@ logo: kodi.png
|
||||
ha_category: Media Player
|
||||
featured: true
|
||||
ha_release: pre 0.7
|
||||
ha_iot_class: "Local Polling"
|
||||
ha_iot_class: "Local Push"
|
||||
---
|
||||
|
||||
|
||||
@ -29,9 +29,11 @@ media_player:
|
||||
Configuration variables:
|
||||
|
||||
- **host** (*Required*): The host name or address of the device that is running XBMC/Kodi
|
||||
- **port** (*Optional*): The http port number. Defaults to 8080.
|
||||
- **port** (*Optional*): The HTTP port number. Defaults to 8080.
|
||||
- **tcp_port** (*Optional*): The TCP port number. Defaults to 9090. Used for websocket connections to Kodi.
|
||||
- **name** (*Optional*): The name of the device used in the frontend.
|
||||
- **ssl** (*Optional*): Connect to kodi with HTTPS. Defaults to false
|
||||
- **ssl** (*Optional*): Connect to kodi with HTTPS and WSS. Defaults to `false`.
|
||||
- **username** (*Optional*): The XBMC/Kodi HTTP username.
|
||||
- **password** (*Optional*): The XBMC/Kodi HTTP password.
|
||||
- **turn_off_action** (*Optional*): The desired turn off action. Options are `none`, `quit`, `hibernate`, `suspend`, `reboot`, or `shutdown`. Default `none`.
|
||||
- **enable_websocket** (*Optional*): Enable websocket connections to Kodi via the TCP port. Defaults to `true`. The websocket connection allows Kodi to push updates to Home Assistant and removes the need for Home Assistant to poll. If websockets don't work on your installation this can be set to `false`.
|
||||
|
25
source/_components/media_player.openhome.markdown
Normal file
@ -0,0 +1,25 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Linn / Openhome"
|
||||
description: "Instructions how to integrate Linn Ds and Openhome renderers into Home Assistant."
|
||||
date: 2017-02-21 22:40
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: linn.png
|
||||
ha_category: Media Player
|
||||
featured: false
|
||||
ha_release: 0.39
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
|
||||
The `openhome` platform allows you to connect an [Openhome Compliant Renderer](https://www.openhome.org) to Home Assistant such as a [Linn Products Ltd](https://www.linn.co.uk) HiFi streamer. It will allow you to control media playback, volume, source and see the current playing item. Openhome devices should be discovered by using the [the discovery component](/components/discovery/), their device names are taken from the name of the room configured on the device.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
discovery:
|
||||
media_player:
|
||||
- platform: openhome
|
||||
```
|
37
source/_components/notify.pushsafer.markdown
Normal file
@ -0,0 +1,37 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Pushsafer"
|
||||
description: "Instructions how to add Pushsafer notifications to Home Assistant."
|
||||
date: 2017-02-17 20:46
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: pushsafer.png
|
||||
ha_category: Notifications
|
||||
ha_release: 0.39
|
||||
---
|
||||
|
||||
|
||||
The [Pushsafer service](https://www.pushsafer.com/) is a platform for the notify component. This allows you to send messages to the user using Pushsafer.
|
||||
|
||||
In order to get an private or alias key you need to go to the [Pushsafer website](https://www.pushsafer.com) and register.
|
||||
|
||||
To use Pushsafer notifications, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
notify:
|
||||
- name: NOTIFIER_NAME
|
||||
platform: pushsafer
|
||||
private_key: ABCDEFGHJKLMNOPQRSTUVXYZ
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.
|
||||
- **private_key** (*Required*): Your private or alias key. Private key = send the notification to all devices with standard params, alias key send the notification to the devices stored in the alias with predefined params.
|
||||
|
||||
When setting up the application you can use this [icon](https://home-assistant.io/images/favicon-192x192.png).
|
||||
|
||||
To use notifications, please see the [getting started with automation page](/getting-started/automation/).
|
47
source/_components/remote.itach.markdown
Executable file
@ -0,0 +1,47 @@
|
||||
---
|
||||
layout: page
|
||||
title: "iTach Remote"
|
||||
description: "Instructions on how to integrate a Global Caché iTach IP2IR gateway into Home Assistant."
|
||||
date: 2017-2-12 17:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: globalcache.png
|
||||
ha_category: Remote
|
||||
ha_iot_class: "Assumed State"
|
||||
ha_release: 0.39
|
||||
---
|
||||
|
||||
|
||||
The `itach` remote platform allows you to control IR devices with a [Global Caché iTach Device](https://www.globalcache.com/products/itach/ip2irspecs)
|
||||
|
||||
To use your iTach remote in your installation, you will need to know the IR commands for your devices in Pronto hex format and add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
remote:
|
||||
- platform: itach
|
||||
name: Living Room
|
||||
host: itach023fdc
|
||||
devices:
|
||||
- name: TV
|
||||
connaddr: 2
|
||||
commands:
|
||||
- name: ON
|
||||
data: 0000 006D 0000 0022 00AC 00AC 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0015 0015 0040 0015 0040 0015 0015 0015 0015 0015 0040 0015 0015 0015 0040 0015 0040 0015 0015 0015 0015 0015 0040 0015 0040 0015 0015 0015 0689
|
||||
- name: OFF
|
||||
data: 0000 006D 0000 0022 00AC 00AC 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0040 0015 0040 0015 0015 0015 0689
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
- **name** (*Required*): The iTach's name to display in the front end.
|
||||
- **host** (*Required*): The iTach's IP address.
|
||||
- **port** (*Optional*): The iTach's port. 4998 is default.
|
||||
- **devices** array (*Required*): Devices controlled by the iTach.
|
||||
- **name** (*Required*): Name of the device.
|
||||
- **modaddr** (*Optional*): iTach module address for the IR emitter. 1 is default.
|
||||
- **connaddr** (*Required*): iTach connection address for the IR emitter.
|
||||
- **commands** array (*Required*): Commands available to send to the device.
|
||||
- **name** (*Required*): Command name.
|
||||
- **data** (*Required*): Hex command data.
|
48
source/_components/sensor.ebox.markdown
Normal file
@ -0,0 +1,48 @@
|
||||
---
|
||||
layout: page
|
||||
title: "EBox"
|
||||
description: "Instructions how to integrate EBox data usage within Home Assistant."
|
||||
date: 2017-02-15 17:17
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: ebox.jpg
|
||||
ha_category: Sensor
|
||||
ha_release: 0.39
|
||||
ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
Integrate your [EBox](https://client.ebox.ca/) account information into Home Assistant.
|
||||
|
||||
To use your EBox sensor in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: ebox
|
||||
username: MYUSERNAME
|
||||
password: MYPASSWORD
|
||||
monitored_variables:
|
||||
- before_offpeak_download
|
||||
- before_offpeak_upload
|
||||
- before_offpeak_total
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **username** (*Required*): Your EBox username.
|
||||
- **password** (*Required*): Your EBox password.
|
||||
- **monitored_variables** array (*Required*): Variables to monitor.
|
||||
- **before_offpeak_download**: Download before offpeak usage
|
||||
- **before_offpeak_upload**: Upload before offpeak usage
|
||||
- **before_offpeak_total**: Total before offpeak usage
|
||||
- **offpeak_download**: Download offpeak usage
|
||||
- **offpeak_upload**: Upload offpeak usage
|
||||
- **offpeak_total**: Total offpeak usage
|
||||
- **download**: Download usage
|
||||
- **upload**: Upload usage
|
||||
- **total**: Total usage
|
||||
- **balance**: Account balance
|
||||
- **limit**: Limit usage
|
||||
- **usage**: Percent usage
|
47
source/_components/sensor.fedex.markdown
Normal file
@ -0,0 +1,47 @@
|
||||
---
|
||||
layout: page
|
||||
title: Fedex Sensor
|
||||
description: "Instructions on how to set up FedEx sensors within Home Assistant."
|
||||
date: 2017-02-14 08:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: fedex.png
|
||||
ha_category: Sensor
|
||||
ha_release: 0.39
|
||||
---
|
||||
|
||||
The `fedex` platform allows one to track deliveries by [FedEx](http://www.fedex.com/). To use this sensor, you need a [FedEx Delivery Manager](https://www.fedex.com/us/delivery/) account.
|
||||
|
||||
To enable this sensor, add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: fedex
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
```
|
||||
|
||||
Configuration options for the FedEx Sensor:
|
||||
|
||||
- **username** (*Required*): The username to access the FedEx Delivery Manager service.
|
||||
- **password** (*Required*): The password for the given username.
|
||||
- **name** (*Optional*): Name the sensor.
|
||||
- **update_inverval** (*Optional*): Minimum time interval between updates. Default is 1 hour. Supported formats:
|
||||
- `update_interval: 'HH:MM:SS'`
|
||||
- `update_interval: 'HH:MM'`
|
||||
- Time period dictionary, e.g.:
|
||||
<pre>update_interval:
|
||||
# At least one of these must be specified:
|
||||
days: 0
|
||||
hours: 0
|
||||
minutes: 3
|
||||
seconds: 30
|
||||
milliseconds: 0
|
||||
</pre>
|
||||
|
||||
<p class='note warning'>
|
||||
The FedEx sensor logs into the FedEx Delivery Manager website to scrape package data. It does not use an API. Use at your own risk.
|
||||
</p>
|
137
source/_components/sensor.history_stats.markdown
Normal file
@ -0,0 +1,137 @@
|
||||
---
|
||||
layout: page
|
||||
title: "History Statistics Sensor"
|
||||
description: "Instructions about how to integrate historical statistics into Home Assistant."
|
||||
date: 2017-02-10 12:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: home-assistant.png
|
||||
ha_category: Sensor
|
||||
ha_iot_class: "Local Polling"
|
||||
ha_release: 0.39
|
||||
---
|
||||
|
||||
The `history_stats` sensor platform provides quick statistics about another component or platforms, using data from the [history](/components/history/).
|
||||
|
||||
It can track how long the component has been in a specific state, in a custom time period.
|
||||
|
||||
Examples of what you can track:
|
||||
|
||||
- How long you were at home this week
|
||||
- How long the lights were ON yesterday
|
||||
- How long you watched TV today
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To enable the history statistics sensor, add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: history_stats
|
||||
name: Lamp ON today
|
||||
entity_id: light.my_lamp
|
||||
state: 'on'
|
||||
start: '{% raw %}{{ now().replace(hour=0).replace(minute=0).replace(second=0) }}{% endraw %}'
|
||||
end: '{% raw %}{{ now() }}{% endraw %}'
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **entity_id** (*Required*): The entity you want to track
|
||||
- **state** (*Required*): The state you want to track
|
||||
- **name** (*Optional*): Name displayed on the frontend
|
||||
- **start**: When to start the measure (timestamp or datetime).
|
||||
- **end**: When to stop the measure (timestamp or datetime)
|
||||
- **duration**: Duration of the measure
|
||||
|
||||
|
||||
|
||||
<p class='note'>
|
||||
You have to provide **exactly 2** of `start`, `end` and `duration`.
|
||||
<br/>
|
||||
You can use [template extensions](/topics/templating/#home-assistant-template-extensions) such as `now()` or `as_timestamp()` to handle dynamic dates, as shown in the examples below.
|
||||
</p>
|
||||
|
||||
## {% linkable_title Time periods %}
|
||||
|
||||
The `history_stats` component will execute a measure within a precise time period. You should always provide 2 of the following :
|
||||
- When the period starts (`start` variable)
|
||||
- When the period ends (`end` variable)
|
||||
- How long is the period (`duration` variable)
|
||||
|
||||
As `start` and `end` variables can be either datetimes or timestamps, you can configure almost any period you want.
|
||||
|
||||
|
||||
### {% linkable_title Duration %}
|
||||
|
||||
The duration variable is used when the time period is fixed. Different syntaxes for the duration are supported, as shown below.
|
||||
|
||||
```yaml
|
||||
# 6 hours
|
||||
duration: 06:00
|
||||
```
|
||||
|
||||
```yaml
|
||||
# 1 minute, 30 seconds
|
||||
duration: 00:01:30
|
||||
```
|
||||
|
||||
```yaml
|
||||
# 2 hours and 30 minutes
|
||||
duration:
|
||||
# supports seconds, minutes, hours, days
|
||||
hours: 2
|
||||
minutes: 30
|
||||
```
|
||||
|
||||
### {% linkable_title Examples %}
|
||||
|
||||
Here are some examples of periods you could work with, and what to write in your `configuration.yaml`:
|
||||
|
||||
**Today**: starts at 00:00 of the current day and ends right now.
|
||||
```yaml
|
||||
start: '{% raw %}{{ now().replace(hour=0).replace(minute=0).replace(second=0) }}{% endraw %}'
|
||||
end: '{% raw %}{{ now() }}{% endraw %}'
|
||||
```
|
||||
|
||||
**Yesterday**: ends today at 00:00, lasts 24 hours.
|
||||
```yaml
|
||||
end: '{% raw %}{{ now().replace(hour=0).replace(minute=0).replace(second=0) }}{% endraw %}'
|
||||
duration:
|
||||
hours: 24
|
||||
```
|
||||
|
||||
**This morning (6AM - 11AM)**: starts today at 6, lasts 5 hours.
|
||||
```yaml
|
||||
start: '{% raw %}{{ now().replace(hour=6).replace(minute=0).replace(second=0) }}{% endraw %}'
|
||||
duration:
|
||||
hours: 5
|
||||
```
|
||||
|
||||
**Current week**: starts last Monday at 00:00, ends right now.
|
||||
|
||||
Here, last Monday is _today_ as a timestamp, minus 86400 times the current weekday (86400 is the number of seconds in one day, the weekday is 0 on Monday, 6 on Sunday).
|
||||
```yaml
|
||||
start: '{% raw %}{{ as_timestamp( now().replace(hour=0).replace(minute=0).replace(second=0) ) - now().weekday() * 86400 }}{% endraw %}'
|
||||
end: '{% raw %}{{ now() }}{% endraw %}'
|
||||
```
|
||||
|
||||
**Last 30 days**: ends today at 00:00, lasts 30 days. Easy one.
|
||||
```yaml
|
||||
end: '{% raw %}{{ now().replace(hour=0).replace(minute=0).replace(second=0) }}{% endraw %}'
|
||||
duration:
|
||||
days: 30
|
||||
```
|
||||
|
||||
**All your history** starts at timestamp = 0, and ends right now.
|
||||
```yaml
|
||||
start: '{% raw %}{{ 0 }}{% endraw %}'
|
||||
end: '{% raw %}{{ now() }}{% endraw %}'
|
||||
```
|
||||
|
||||
<p class='note'>
|
||||
If you want to check if your period is right, just click on your component, the `from` and `to` attributes will show the start and end of the period, nicely formatted.
|
||||
</p>
|
@ -38,6 +38,8 @@ Configuration variables:
|
||||
- **host** (*Required*): The IP address of the QNAP NAS to monitor
|
||||
- **port** (*Optional*): The port number on which the QNAP NAS web interface is reachable. Defaults to `8080`.
|
||||
- **ssl** (*Optional*): Whether to connect via `https`. Defaults to `false`.
|
||||
- **verify_ssl** (*Optional*): Whether SSL certificates should be validated. Defaults to `true`.
|
||||
- **timeout** (*Optional*): How long (in seconds) to wait for a response from the QNAP device before giving up. Defaults to `10`.
|
||||
- **username** (*Required*): An user to connect to the QNAP NAS.
|
||||
- **password** (*Required*): The password of the user to connect to the QNAP NAS.
|
||||
- **drives** (*Optional*): Array of drives to monitor (ex: `0:1`). Defaults to all drives.
|
||||
@ -45,6 +47,7 @@ Configuration variables:
|
||||
- **nics** (*Optional*): Array of network interfaces to monitor (ex: `eth0`). Defaults to all NICs.
|
||||
- **monitored_conditions** (*Required*): Defines the stats to monitor as sensors.
|
||||
- **status**: Displays overall system health.
|
||||
- **system_temp**: Displays the overall system temperature.
|
||||
- **cpu_temp**: Displays the CPU's temperature.
|
||||
- **cpu_usage**: Displays the CPU's utilization as a percentage.
|
||||
- **memory_free**: Displays the size of available RAM in GB.
|
||||
@ -59,7 +62,16 @@ Configuration variables:
|
||||
- **volume_size_used**: Displays the used space of the volume in GB (creates a new entry for each volume).
|
||||
- **volume_percentage_used**: Displays the used space of the volume as a percentage (creates a new entry for each volume).
|
||||
|
||||
QNAP device support:
|
||||
### Self-signed certificates
|
||||
|
||||
This component has been tested on a TS-451 running QTS 4.2.2. Other QNAP NAS devices using similar firmware should work fine.
|
||||
For more information about supported devices, or to report issues with your device, please visit the [qnapstats project](https://github.com/colinodell/python-qnapstats#device-support).
|
||||
If your QNAP device uses self-signed certificates, set the `verify_ssl` option to `false`.
|
||||
|
||||
### QNAP device support:
|
||||
|
||||
This component has been tested on the following devices:
|
||||
|
||||
- TS-410 (QTS 4.2.3)
|
||||
- TS-451 (QTS 4.2.2)
|
||||
- TS-639 (QTS 4.2.3)
|
||||
|
||||
Other QNAP NAS devices using similar firmware should work fine. For more information about supported devices, or to report issues with your device, please visit the [qnapstats project](https://github.com/colinodell/python-qnapstats#device-support).
|
||||
|
47
source/_components/sensor.ups.markdown
Normal file
@ -0,0 +1,47 @@
|
||||
---
|
||||
layout: page
|
||||
title: UPS Sensor
|
||||
description: "Instructions on how to set up UPS sensors within Home Assistant."
|
||||
date: 2017-02-14 08:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: ups.png
|
||||
ha_category: Sensor
|
||||
ha_release: 0.39
|
||||
---
|
||||
|
||||
The `ups` platform allows one to track deliveries by the [UPS](https://www.ups.com/). To use this sensor, you need a [My UPS Account](https://www.ups.com/mychoice).
|
||||
|
||||
To enable this sensor, add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: ups
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
```
|
||||
|
||||
Configuration options for the UPS Sensor:
|
||||
|
||||
- **username** (*Required*): The username to access the UPS My Choice service.
|
||||
- **password** (*Required*): The password for the given username.
|
||||
- **name** (*Optional*): Name the sensor.
|
||||
- **update_inverval** (*Optional*): Minimum time interval between updates. Default is 1 hour. Supported formats:
|
||||
- `update_interval: 'HH:MM:SS'`
|
||||
- `update_interval: 'HH:MM'`
|
||||
- Time period dictionary, e.g.:
|
||||
<pre>update_interval:
|
||||
# At least one of these must be specified:
|
||||
days: 0
|
||||
hours: 0
|
||||
minutes: 3
|
||||
seconds: 30
|
||||
milliseconds: 0
|
||||
</pre>
|
||||
|
||||
<p class='note warning'>
|
||||
The UPS sensor logs into the UPS My Choice website to scrape package data. It does not use an API. Use at your own risk.
|
||||
</p>
|
@ -21,6 +21,7 @@ To enable this sensor, add the following lines to your `configuration.yaml` file
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: waqi
|
||||
token: AQICN_API_TOKEN
|
||||
locations:
|
||||
- beijing
|
||||
stations:
|
||||
@ -31,6 +32,8 @@ Configuration variables:
|
||||
|
||||
- **locations** (*Required*): a list of location names to look for air quality data. In case a specific location has multiple registered stations all of them will be added to Home Assistant
|
||||
|
||||
- **token** (*Required*): a token for the AQICN public API. Please obtain one at (AQICN API token)[http://aqicn.org/data-platform/token/#/]
|
||||
|
||||
- **stations** (*Optional*): a list of station names to look for air quality data. Station should be within locations specified above.
|
||||
|
||||
The value reported is an overall AQ index for the location. The values of the index can be interpreted as following:
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
layout: page
|
||||
title: "ZoneMinder Sensor"
|
||||
description: "Instructions how to integrate ZoneMinder sensors within Home Assistant."
|
||||
description: "How to view ZoneMinder monitor functions and events within Home Assistant."
|
||||
date: 2016-10-13 22:57
|
||||
sidebar: true
|
||||
comments: false
|
||||
@ -13,10 +13,10 @@ ha_release: 0.31
|
||||
---
|
||||
|
||||
|
||||
The `zoneminder` sensor platform let you monitor the current state of your ZoneMinder install including the number of events and the current state of the cameras.
|
||||
The `zoneminder` sensor platform lets you monitor the current state of your [ZoneMinder](https://www.zoneminder.com) install including the number of events and the current state of the cameras.
|
||||
|
||||
<p class='note'>
|
||||
You must have the [ZoneMinder component](/components/zoneminder/) configured to use those sensors.
|
||||
You must have the [ZoneMinder component](/components/zoneminder/) configured to use this sensor.
|
||||
</p>
|
||||
|
||||
To set it up, add the following information to your `configuration.yaml` file:
|
||||
|
@ -45,7 +45,7 @@ Configuration variables:
|
||||
- **on_code_receive** (*Optional*): If given, this command will turn the switch on if it is received by Pilight.
|
||||
- **off_code_receive** (*Optional*): If given, this command will turn the switch off if it is received by Pilight.
|
||||
|
||||
Variables for the different codes:
|
||||
Variables for the different codes (`on_code` and `off_code`):
|
||||
|
||||
- **protocol** (*Required*): Protocol to use, eg. `intertechno_old` or `daycom`.
|
||||
- **systemcode** (*Optional*): The systemcode of the device.
|
||||
@ -55,8 +55,13 @@ Variables for the different codes:
|
||||
- **'off'** (*Optional*): `1` or `0`
|
||||
- **'on'** (*Optional*): `1` or `0`
|
||||
|
||||
For possible code entries look at the [pilight API](https://www.pilight.org/development/api/). All commands allowed by [pilight-send](https://wiki.pilight.org/doku.php/psend) can be used. Which means that if for a certain protocol there are different parameters used, you should be able to replace the variables above by the proper ones required by the specific protocol. When using the `elro_800_switch` or `mumbi` protocol for example, you will have to replace the variable `unit` with `unitcode` or there will be errors occurring.
|
||||
For possible code entries look at the [pilight API](https://www.pilight.org/development/api/). All commands allowed by [pilight-send](https://wiki.pilight.org/doku.php/psend) can be used. Which means that if for a certain protocol there are different parameters used, you should be able to replace the variables above by the proper ones required by the specific protocol. When using the `elro_800_switch` or `mumbi` protocol for example, you will have to replace the variable `unit` with `unitcode` or there will be errors occuring.
|
||||
|
||||
Variables for the different receive codes (`on_code_receive` and `off_code_receive`):
|
||||
|
||||
- **echo** (*Optional*) Set to `true` if the on-/off-code should be sent if the given code was received.
|
||||
|
||||
This is useful if you have paired your sender directly with the receiver to prevent sending the signal twice.
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
|
||||
|
@ -34,10 +34,8 @@ switch:
|
||||
devices:
|
||||
newkaku_0000c6c2_1:
|
||||
name: Ceiling fan
|
||||
icon: mdi:fan
|
||||
conrad_00785c_0a:
|
||||
name: Motion sensor kitchen
|
||||
icon: mdi:run
|
||||
|
||||
```
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
layout: page
|
||||
title: "ZoneMinder Switch"
|
||||
description: "Instructions how to integrate ZoneMinder switches into Home Assistant."
|
||||
description: "How to toggle the function of ZoneMinder monitors in Home Assistant."
|
||||
date: 2016-10-13 22:57
|
||||
sidebar: true
|
||||
comments: false
|
||||
@ -13,7 +13,7 @@ ha_release: 0.31
|
||||
---
|
||||
|
||||
|
||||
The `zoneminder` switch platform allows you to toggle the current function of cameras attached to your ZoneMinder instance.
|
||||
The `zoneminder` switch platform allows you to toggle the current function of all cameras attached to your [ZoneMinder](https://www.zoneminder.com) instance.
|
||||
|
||||
<p class='note'>
|
||||
You must have the [ZoneMinder component](/components/zoneminder/) configured to use this.
|
||||
@ -38,4 +38,3 @@ Configuration variables:
|
||||
<p class='note'>
|
||||
The default functions installed by ZoneMinder are: None, Monitor, Modect, Record, Mocord, Nodect.
|
||||
</p>
|
||||
|
||||
|
123
source/_components/telegram_webhooks.markdown
Normal file
@ -0,0 +1,123 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Telegram webhooks"
|
||||
description: "Telegram webhooks support"
|
||||
date: 2017-02-13 18:50
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: telegram.png
|
||||
ha_category: Notifications
|
||||
ha_release: 0.39
|
||||
---
|
||||
|
||||
Telegram webhooks support as described in [docs](https://core.telegram.org/bots/webhooks).
|
||||
|
||||
With new component `telegram_webhooks` it is possible to send commands to Home Assistant via a Telegram bot. It works well with Telegram notification: webhooks receive commands from user and notify send messages to user.
|
||||
|
||||
Webhook responds only to:
|
||||
|
||||
- users listed in configuration, in telegram user_id format.
|
||||
- telegram servers (listed in webhooks [docs](https://core.telegram.org/bots/webhooks)) specified in trusted_networks
|
||||
|
||||
|
||||
To integrate this into Home Assistant, add the following section to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
http:
|
||||
base_url: <public_url>
|
||||
|
||||
telegram_webhooks:
|
||||
user_id:
|
||||
user1: USER_ID
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **user_id** (*Required*): A list of user in the `user_id` Telegram format enabled to interact to webhook
|
||||
- **api_key** (*Optional*): The API token of your bot. If present, the webhook of bot is automatically registered to `public_url/api/telegram_webhooks`. If not present, manual registration is required.
|
||||
- **trusted_networks** (*Optional*): Telegram server access ACL as list. Defaults to `149.154.167.197-233`.
|
||||
|
||||
Full configuration sample:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
http:
|
||||
base_url: <public_url>
|
||||
|
||||
telegram_webhooks:
|
||||
api_key: ABCDEFGHJKLMNOPQRSTUVXYZ
|
||||
trusted_networks:
|
||||
- 149.154.167.197/32
|
||||
- 149.154.167.198/31
|
||||
- 149.154.167.200/29
|
||||
- 149.154.167.208/28
|
||||
- 149.154.167.224/29
|
||||
- 149.154.167.232/31
|
||||
user_id:
|
||||
user1: USER_ID
|
||||
user2: USER_ID
|
||||
```
|
||||
|
||||
### {% linkable_title Configuration samples %}
|
||||
|
||||
Telegram webhooks raise an event `telegram.command` with a payload.
|
||||
|
||||
```json{
|
||||
'command': '/thecommand'
|
||||
'args': 'strings after command'
|
||||
'user_id': 12345
|
||||
}
|
||||
|
||||
Automation example that realize simple test to command/notify interaction.
|
||||
|
||||
```yaml
|
||||
alias: 'telegram bot that reply pong to ping'
|
||||
hide_entity: true
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: telegram.command
|
||||
event_data:
|
||||
command: '/ping'
|
||||
action:
|
||||
- service: notify.telegram
|
||||
data:
|
||||
message: 'pong'
|
||||
```
|
||||
|
||||
Example that show keyboard interaction with `notify.telegram`
|
||||
|
||||
```yaml
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: telegram.command
|
||||
event_data:
|
||||
command: '/start'
|
||||
action:
|
||||
- service: notify.telegram
|
||||
data:
|
||||
message: 'commands'
|
||||
data:
|
||||
keyboard:
|
||||
- '/ping, /alarm'
|
||||
- '/siren'
|
||||
```
|
||||
|
||||
and an automation to trigger a related command "/siren".
|
||||
|
||||
```yaml
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: telegram.command
|
||||
event_data:
|
||||
command: '/siren'
|
||||
action:
|
||||
- service: homeassistant.turn_on
|
||||
entity_id: switch.vision_zm1601eu5_battery_operated_siren_switch_9_0
|
||||
- delay:
|
||||
seconds: 10
|
||||
- service: homeassistant.turn_off
|
||||
entity_id: switch.vision_zm1601eu5_battery_operated_siren_switch_9_0
|
||||
```
|
@ -13,10 +13,9 @@ ha_release: 0.32
|
||||
---
|
||||
|
||||
The `thingspeak` components makes Home Assistant communicate with the [ThingSpeak API](https://thingspeak.com/).
|
||||
For now, it records exactly one entity at once, which is great for testing purposes. For long-time storage you should rely
|
||||
on the [InfluxDB component](https://home-assistant.io/components/influxdb/).
|
||||
For now, it records exactly one entity at once, which is great for testing purposes. For long-time storage you should rely on the [InfluxDB component](https://home-assistant.io/components/influxdb/).
|
||||
|
||||
You will have to create a [new channel](https://thingspeak.com/channels/new) on ThingSpeak and grab your API key from your [account page](https://thingspeak.com/account).
|
||||
You will have to create a [new channel](https://thingspeak.com/channels/new) on ThingSpeak and grab your Write API Key from the "API Keys" tab of the channel you want to use.
|
||||
|
||||
To setup the ThinkSpeak component in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
@ -30,7 +29,7 @@ thingspeak:
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **api_key** (*Required*): Yout ThingSpeak API key.
|
||||
- **api_key** (*Required*): Your ThingSpeak Channel Write API key.
|
||||
- **id** (*Required*): The ID of your desired ThingSpeak channel.
|
||||
- **whitelist** (*Required*): The name of the entity whose states should be sent to the channel.
|
||||
|
||||
|
@ -1,19 +1,19 @@
|
||||
---
|
||||
layout: page
|
||||
title: "ZoneMinder"
|
||||
description: "Instructions how to integrate ZoneMinder into Home Assistant."
|
||||
description: "How to integrate ZoneMinder into Home Assistant."
|
||||
date: 2016-10-13 22:57
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: zoneminder.png
|
||||
ha_category: Camera
|
||||
ha_category: Hub
|
||||
featured: false
|
||||
ha_release: 0.31
|
||||
---
|
||||
|
||||
The ZoneMinder component is the main component to integrate all the sensors and switches for controlling your ZoneMinder instance.
|
||||
The ZoneMinder component sets up the integration with your [ZoneMinder](https://www.zoneminder.com) instance so that [cameras](/components/camera.zoneminder/), [sensors](/components/sensor.zoneminder/), and [switches](/components/switch.zoneminder) can use it.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -22,11 +22,12 @@ zoneminder:
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
- **host** (*Required*): Your ZoneMinder server.
|
||||
- **host** (*Required*): Your ZoneMinder server's host (and optional port), not including the scheme.
|
||||
- **path** (*Optional*): Path to your ZoneMinder install. Defaults to `/zm/`.
|
||||
- **path_zms** (*Optional*): Path to the CGI script for streaming. This should match `PATH_ZMS` in ZM's "Paths" settings. Defaults to `/zm/cgi-bin/nph-zms`.
|
||||
- **ssl** (*Optional*): Set to `True` if your ZoneMinder installation is using SSL. Default to `False`.
|
||||
- **username** (*Optional*): Your ZoneMinder username.
|
||||
- **password** (*Optional*): Your ZoneMinder password.
|
||||
- **password** (*Optional*): Your ZoneMinder password. Required if `OPT_USE_AUTH` is enabled in ZM.
|
||||
|
||||
### {% linkable_title Full configuration %}
|
||||
|
||||
@ -35,6 +36,7 @@ Configuration variables:
|
||||
zoneminder:
|
||||
host: ZM_HOST
|
||||
path: ZM_PATH
|
||||
path_zms: ZM_PATH_ZMS
|
||||
ssl: False
|
||||
username: USERNAME
|
||||
password: PASSWORD
|
||||
|
12
source/_cookbook/configuration_yaml_by_jjmontesl.markdown
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Configuration.yaml by jjmontesl"
|
||||
description: ""
|
||||
date: 2017-02-22 23:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
ha_category: Example configuration.yaml
|
||||
ha_external_link: https://github.com/jjmontesl/home-assistant-config
|
||||
---
|
@ -33,6 +33,13 @@ homeassistant:
|
||||
icon: mdi:kettle
|
||||
switch.rfxtrx_switch:
|
||||
assumed_state: false
|
||||
customize_domain:
|
||||
light:
|
||||
icon: mdi:home
|
||||
customize_glob:
|
||||
"light.kitchen_*":
|
||||
icon: mid:description
|
||||
|
||||
```
|
||||
|
||||
### {% linkable_title Possible values %}
|
||||
@ -44,7 +51,14 @@ homeassistant:
|
||||
| `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`.
|
||||
| `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](/components/binary_sensor/), changing the device state and icon that is displayed on the UI (see below).
|
||||
| `device_class` | Sets the class of the device, changing the device state and icon that is displayed on the UI (see below).
|
||||
|
||||
### {% linkable_title Device Class %}
|
||||
|
||||
Device class is currently supported by the following platforms:
|
||||
|
||||
* [Binary Sensor](/components/binary_sensor/)
|
||||
* [Cover](/components/cover/)
|
||||
|
||||
### {% linkable_title Device Class %}
|
||||
|
||||
|
@ -75,6 +75,20 @@ delay:
|
||||
# Valid formats include HH:MM and HH:MM:SS
|
||||
delay: {% raw %}'00:{{ states.input_slider.minute_delay.state | int }}:00'{% endraw %}
|
||||
```
|
||||
### {% linkable_title Wait %}
|
||||
|
||||
Wait until some things are complete. We support at the moment `wait_template` for waiting until a condition is `true`, see also on [Template-Trigger](/getting-started/automation-trigger/#template-trigger). It is possible to set a timeout after that will the script abort his execution. Timeout have same syntax as `delay`.
|
||||
|
||||
```yaml
|
||||
# wait until media player have stop the playing
|
||||
wait_template: {% raw %}"{{ states.media_player.floor.states == 'stop' }}"{% endraw %}
|
||||
```
|
||||
|
||||
```yaml
|
||||
# wait until a valve is < 10 or abort after 1 minutes.
|
||||
wait_template: {% raw %}"{{ states.climate.kitchen.attributes.valve < 10 }}"{% endraw %}
|
||||
timeout: 00:01:00
|
||||
```
|
||||
|
||||
### {% linkable_title Fire an Event %}
|
||||
|
||||
|
@ -0,0 +1,297 @@
|
||||
---
|
||||
layout: post
|
||||
title: "0.39: Configuration panel, state restoration and improved docs"
|
||||
description: "0.39 is by far our best release yet."
|
||||
date: 2017-02-25 08:04:05 +0000
|
||||
date_formatted: "February 25, 2017"
|
||||
author: Paulus Schoutsen
|
||||
author_twitter: balloob
|
||||
comments: true
|
||||
categories: Release-Notes
|
||||
og_image: /images/blog/2017-02-0.39/social.png
|
||||
---
|
||||
|
||||
It's time for 0.39 and this release has some amazing new features!
|
||||
|
||||
<a href='/components/#added_in_current_version'><img src='/images/blog/2017-02-0.39/social.png' style='border: 0;box-shadow: none;'></a>
|
||||
|
||||
## T-Shirts
|
||||
|
||||
First off, in case you haven't seen it yet: [we have t-shirts][t-shirt] now and they are beautiful. All proceeds from the shirts will be donated to the Electronic Frontier Foundation. The first three days all of you have already raised $400! Still waiting for Teespring to get back to me so stay tuned for the EU store.
|
||||
|
||||
## Configuration panel
|
||||
|
||||
Yep, you read that right. We have a configuration panel. It's just the first of many small steps. Putting in a foundation is important and gives us something to iterate on.
|
||||
|
||||
To start, we have three simple configuration panels:
|
||||
|
||||
- Core: allows you to validate config, reload core/group/automation config and restart/stop Home Assistant
|
||||
- Group: allows you to rename groups, change type between group/view and reorder entities.
|
||||
- Z-Wave: allows you to set device specific configuration settings
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/blog/2017-02-0.39/config.png'>
|
||||
Screenshot of our new configuration panel.
|
||||
</p>
|
||||
|
||||
As a security measure, the configuration panel will need to be activated in the config file to be activated. This can be done by adding the following to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
config:
|
||||
```
|
||||
|
||||
Using our configuration panels will require you to structure your groups and Z-Wave device config according to how the configuration panel expects it. This is on purpose as it we will not be aiming to build a system that supports both our extended set of configuration extend hooks and our configuration panels. It's one or the other.
|
||||
|
||||
To activate them in your config, create empty files `groups.yaml` and `zwave_device_config.yaml` in your config dir and add the following entries to your config:
|
||||
|
||||
```yaml
|
||||
groups: !include groups.yaml
|
||||
|
||||
zwave:
|
||||
device_config: !include zwave_device_config.yaml
|
||||
```
|
||||
|
||||
_Note that this is the first release. Things will be missing, things might be broken._
|
||||
|
||||
## Reorganized documentation
|
||||
|
||||
Thanks to [Fabian][@fabaff] we have a great re-organized documentation. Is it perfect yet? No. But we are getting close. We put a lot of focus on making sure the Raspberry Pi is the main focus of our getting started. The other instructions are still available, just not as part of the main getting started.
|
||||
|
||||
## State restoration
|
||||
|
||||
Ever have some input components or integrations and get annoyed with the fact that their state is lost after a restart? Don't worry any longer. [Johann][@kellerza] has added the foundation for state restoration to Home Assistant. For the initial release support has been added to to `input_select` and `input_boolean` components. We will be adding this to more integrations in the future.
|
||||
|
||||
## Breaking changes to customize and Z-Wave "customize"
|
||||
|
||||
A couple of releases ago we introduced a new way of doing `customize`. It became a list that allowed different ways of matching the config to the entity.
|
||||
|
||||
We realized that this was leading into a rabbit hole that we had to get out off. Besides making it unnecessarily complicated it also blocked the road to config panels. And who doesn't like config panels?
|
||||
|
||||
So starting this release, we had to make some breaking changes to right the wrong. We will be releasing an online tool to help you convert your config to the new format later today.
|
||||
|
||||
#### Customize has been reverted to it's original config
|
||||
|
||||
The old customize is back. The options to match by domain or using glob have been moved to it's own options. It will now look like this:
|
||||
|
||||
```yaml
|
||||
homeassistant:
|
||||
customize:
|
||||
light.kitchen:
|
||||
hidden: true
|
||||
customize_domain:
|
||||
light:
|
||||
icon: mdi:home
|
||||
customize_glob:
|
||||
"light.kitchen_*":
|
||||
icon: mid:description
|
||||
```
|
||||
|
||||
#### Z-Wave customize is now device config
|
||||
|
||||
Ever wondered why the Z-Wave customize was called customize? Yeah, so did we. So when migrating this to the new config format, we decided to upgrade the name too:
|
||||
|
||||
```yaml
|
||||
zwave:
|
||||
device_config:
|
||||
light.kitchen:
|
||||
ignored: true
|
||||
device_config_domain:
|
||||
light:
|
||||
polling_intensity: 2
|
||||
device_config_glob:
|
||||
"light.kitchen_*":
|
||||
polling_intensity: 0
|
||||
```
|
||||
|
||||
## Speed improvements
|
||||
|
||||
And a final shout out to [Pascal][@pvizeli]. He keeps improving the performance of components and platforms all over Home Assistant.
|
||||
|
||||
<!--more-->
|
||||
|
||||
## All changes
|
||||
|
||||
#### New platforms/components
|
||||
|
||||
- [Telegram] webhooks ([@scipioni])
|
||||
- Added [Openhome][openhome] support ([@bazwilliams])
|
||||
- [UPS][ups] sensor ([@happyleavesaoc])
|
||||
- [FEDex][fedex] sensor ([@happyleavesaoc])
|
||||
- [Gstreamer][gstreamer] media player ([@happyleavesaoc])
|
||||
- [iTach Remote][itach] Platform ([@alanfischer])
|
||||
- [myq] cover component ([@arraylabs])
|
||||
- Support for the [Open Energy Monitor Thermostat][oemt] ([@Cadair])
|
||||
- Added Fritzbox [Netmonitor][netmonitor] ([@PetePriority])
|
||||
- Add platform for [Yeelight Sunflower lights][sunflowers] ([@lindsaymarkward])
|
||||
- Support for [Pocket Casts][pocket] ([@molobrakos])
|
||||
- [VolvoOnCall][volvo] component with support for sensors, heater and lock ([@molobrakos])
|
||||
- Add [pushsafer.com][pushsafer] notification service ([@appzer])
|
||||
- [Websocket push][kodi] notifications for Kodi ([@armills])
|
||||
- New component 'insteon_plm' and related platforms ([@nugget])
|
||||
- Add [aurora][aurora] sensor ([@walkerdb])
|
||||
- Add [Ebox][ebox] sensor platform ([@titilambert])
|
||||
- Mediaplayer [clementine][clementine] remote ([@jjmontesl])
|
||||
- Add [Fido][fido] sensor ([@titilambert])
|
||||
|
||||
#### Improvements
|
||||
|
||||
- Tellduslive: Don't thow exception if connection to server is lost ([@molobrakos])
|
||||
- Core: Convert config.components to a set ([@balloob])
|
||||
- Media Player - Apple TV: Handle connection errors when connecting to Apple TVs, re-use aiohttp session , add fake support for turn on/off ([@postlund])
|
||||
- Zoneminder: Refactoring and JSON decode error handling ([@pschmitt])
|
||||
- Recorder: Add tests for full schema migration, limit to session scope ([@armills])
|
||||
- Tests: Add history_stats sensor ([@bokub])
|
||||
- Device tracker - Tado: Add support for multiple devices to Tado device tracker ([@markoudev])
|
||||
- Z-Wave: Fix zwave helper getter not to fail on some None results. ([@andrey-git])
|
||||
- Core: `sensor_class` migrate to `device_class` ([@armills])
|
||||
- Sensor - Amcrest: Avoid traceback for Amcrest cameras/firmware that does not have the software_information API call ([@tchellomello])
|
||||
- Media Player - MPD: Adds play URL support to mpd ([@jjmontesl])
|
||||
- Logbook: Component set add using OR ([@kellerza])
|
||||
- Config: Add config component and hassbian example panel ([@balloob])
|
||||
- Proximity: Fixed proximity zone incorrectly using name instead of zone setting ([@jjmontesl])
|
||||
- Z-Wave: Add device_class support to cover component ([@armills])
|
||||
- Config: Add check_config API ([@balloob])
|
||||
- Media player: Add media_image to media_player component ([@postlund])
|
||||
- Sensor- Vasttrafik.py: vasttrafik: update token on read error ([@persandstrom])
|
||||
- Z-Wave.py: force_update zwave sensors ([@andrey-git])
|
||||
- Core: Two stage shutdown ([@pvizeli])
|
||||
- Z-Wave: Rename customize to device_config ([@balloob])
|
||||
- Thingspeak: Use the correct API key ([@fabaff])
|
||||
- Lock - Nuki: Reduce battery drain on Nuki Lock ([@pschmitt])
|
||||
- Notify - Webostv: Only try to pair notify.webostv when not paired ([@andersonshatch])
|
||||
- KNX: Fix slow status updates from the knx bus ([@keerts])
|
||||
- HDMI CEC: HDMI_CEC customization [Breaking change] ([@balloob], [@andrey-git])
|
||||
- Sensor - Moon: Remove unit of measurement ([@fabaff])
|
||||
- Z-Wave: Add initial Z-Wave config panel ([@balloob])
|
||||
- History: Allow printing the number of states returned by history and time it took to extract and add day ([@andrey-git])
|
||||
- MQTT: Enable sensor for discovery ([@fabaff])
|
||||
- Light - Limitlessled: Added limitlessled support for bridge v6 and RGBWW bulbs. ([@soldag])
|
||||
- Config - Hassbian: Update hassbian component with real output ([@balloob])
|
||||
- Media Player -Sonos: Bugfix sonos favorite_source after lost connection ([@pvizeli])
|
||||
- Sensor - SenseHAT: Add flag to declare if SenseHAT is attached ([@nodinosaur])
|
||||
- RFLink: Reconnect robustness, expose connection state. ([@aequitas])
|
||||
- Media player - CMUS: Remove IO from properties ([@armills])
|
||||
- Light - Litejet: Lights should have the option to dim in the UI. ([@joncar])
|
||||
- Light - Hue: Add effect_list to hue light ([@armills])
|
||||
- Meida player - Liveboxplaytv: Update liveboxplaytv and catch connection errors ([@pschmitt])
|
||||
- Llight - Lifx: Fix colortemp conversion for lifx lights ([@kitcorey])
|
||||
- Light - Flux_LED: Update FLUX_LED by adding Effects ([@dramamoose])
|
||||
- Alarm control panel - Simplisafe: SimpliSafe updates ([@w1ll1am23])
|
||||
- Cover Add supported_features to cover component ([@armills])
|
||||
- Wink: Added tamper detection to Wink devices. ([@w1ll1am23])
|
||||
- Sensor - onewire: Add support for aliased owfs sensors ([@normakm])
|
||||
- Weather: Forecast ([@Tommatheussen])
|
||||
- Device tracker - ASUSwrt: Added support for alternate SSH ports in AsusWRT ([@swbradshaw])
|
||||
- Zoneminder: Add camera mjpeg stream support ([@mnoorenberghe])
|
||||
- Restore: Restore_state helper to restore entity states from the DB on startup ([@kellerza])
|
||||
- Sensor - Darksky: Add 'entity_picture' to Darksky component ([@aronsky])
|
||||
- Media Player - Samsungtv: Add support for waking up Samsung TVs over the network ([@justin8])
|
||||
- MQTT: Convert MQTT platforms to async ([@pvizeli])
|
||||
- tests/components/device_tracker/test_init.py: Restore for device_tracker ([@kellerza])
|
||||
- Discovery: Make it possible to ignore platforms in discovery ([@postlund])
|
||||
- Image processing: Add `device_class` ([@pvizeli])
|
||||
|
||||
#### Breaking changes
|
||||
- VolvoOnCall has been extended with more features and had to be converted to a component
|
||||
- Limitlessled support for Bridge v6 and RGBWW bulbs require users to specify `version` and `port
|
||||
- hdmi_cec config now requires users to set the types in the hdmi_cec config instead of using `customize`:
|
||||
|
||||
```yaml
|
||||
hdmi_cec:
|
||||
types:
|
||||
hdmi_cec.hdmi_5: media_player
|
||||
```
|
||||
|
||||
#### Bugfixes:
|
||||
[@pvizeli], [@LinuxChristian], [@molobrakos], [@balloob], [@rytilahti], [@fabaff], [@andrey-git], [@aequitas], [@konikvranik], [@Danielhiversen], [@colinodell], [@pschmitt], [@bachp], [@bachp],[@w1ll1am23], [@valentinalexeev], [@robbiet480], [@MartinHjelmare], [@happyleavesaoc], [@tdickman], [@arraylabs], [@lwis], [@titilambert]
|
||||
|
||||
### If you need help...
|
||||
...don't hesitate to use our very active [forums][forum] or join us for a little [chat][gitter]. The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks.
|
||||
|
||||
### Reporting Issues
|
||||
Experiencing issues introduced by this release? Please report them in our [issue tracker][issue]. Make sure to fill in all fields of the issue template.
|
||||
|
||||
[@turbokongen]: https://github.com/turbokongen
|
||||
[@w1ll1am23]: https://github.com/w1ll1am23
|
||||
[@nugget]: https://github.com/nugget
|
||||
[@PetePriority]: https://github.com/PetePriority
|
||||
[@dramamoose]: https://github.com/dramamoose
|
||||
[@fabaff]: https://github.com/fabaff
|
||||
[@joncar]: https://github.com/joncar
|
||||
[@alanfischer]: https://github.com/alanfischer
|
||||
[@LinuxChristian]: https://github.com/LinuxChristian
|
||||
[@justin8]: https://github.com/justin8
|
||||
[@jjmontesl]: https://github.com/jjmontesl
|
||||
[@tdickman]: https://github.com/tdickman
|
||||
[@Danielhiversen]: https://github.com/Danielhiversen
|
||||
[@pavoni]: https://github.com/pavoni
|
||||
[@Tommatheussen]: https://github.com/Tommatheussen
|
||||
[@pvizeli]: https://github.com/pvizeli
|
||||
[@keerts]: https://github.com/keerts
|
||||
[@arraylabs]: https://github.com/arraylabs
|
||||
[@soldag]: https://github.com/soldag
|
||||
[@walkerdb]: https://github.com/walkerdb
|
||||
[@kellerza]: https://github.com/kellerza
|
||||
[@MartinHjelmare]: https://github.com/MartinHjelmare
|
||||
[@bazwilliams]: https://github.com/bazwilliams
|
||||
[@appzer]: https://github.com/appzer
|
||||
[@tchellomello]: https://github.com/tchellomello
|
||||
[@aronsky]: https://github.com/aronsky
|
||||
[@swbradshaw]: https://github.com/swbradshaw
|
||||
[@colinodell]: https://github.com/colinodell
|
||||
[@nodinosaur]: https://github.com/nodinosaur
|
||||
[@happyleavesaoc]: https://github.com/happyleavesaoc
|
||||
[@bokub]: https://github.com/bokub
|
||||
[@markoudev]: https://github.com/markoudev
|
||||
[@titilambert]: https://github.com/titilambert
|
||||
[@aequitas]: https://github.com/aequitas
|
||||
[@mnoorenberghe]: https://github.com/mnoorenberghe
|
||||
[@Cadair]: https://github.com/Cadair
|
||||
[@postlund]: https://github.com/postlund
|
||||
[@konikvranik]: https://github.com/konikvranik
|
||||
[@scipioni]: https://github.com/scipioni
|
||||
[@andrey-git]: https://github.com/andrey-git
|
||||
[@persandstrom]: https://github.com/persandstrom
|
||||
[@lwis]: https://github.com/lwis
|
||||
[@balloob]: https://github.com/balloob
|
||||
[@bachp]: https://github.com/bachp
|
||||
[@robbiet480]: https://github.com/robbiet480
|
||||
[@lindsaymarkward]: https://github.com/lindsaymarkward
|
||||
[@valentinalexeev]: https://github.com/valentinalexeev
|
||||
[@armills]: https://github.com/armills
|
||||
[@molobrakos]: https://github.com/molobrakos
|
||||
[@normakm]: https://github.com/normakm
|
||||
[@rytilahti]: https://github.com/rytilahti
|
||||
[@pschmitt]: https://github.com/pschmitt
|
||||
[@kitcorey]: https://github.com/kitcorey
|
||||
[@andersonshatch]: https://github.com/andersonshatch
|
||||
|
||||
[telegram]: https://home-assistant.io/componet/telegram_webhook/
|
||||
[pushsafer]: https://home-assistant.io/components/notify.pushsafer/
|
||||
[openhome]: https://home-assistant.io/components/media_player.openhome/
|
||||
[ups]: https://home-assistant.io/components/sensor.ups/
|
||||
[fedex]: https://home-assistant.io/components/sensor.fedex/
|
||||
[fido]: https://home-assistant.io/components/sensor.fido/
|
||||
[gstreamer]: https://home-assistant.io/components/media_player.gstreamer/
|
||||
[clementine]: https://home-assistant.io/components/media_player.clementine/
|
||||
[ebox]: https://home-assistant.io/components/sensor.ebox/
|
||||
[aurora]: https://home-assistant.io/components/binary_sensor.aurora/
|
||||
[netmonitor]: https://home-assistant.io/components/sensor.fritzbox_netmonitor/
|
||||
[itach]: https://home-assistant.io/components/remote.itach/
|
||||
[sunflowers]: https://home-assistant.io/components/light.yeelight-sunflower
|
||||
[kodi]: https://home-assistant.io/components/media_player.kodi/
|
||||
[myq]: https://home-assistant.io/components/cover.myq/
|
||||
[oemt]: https://home-assistant.io/components/climate.oem/
|
||||
[volvo]: https://home-assistant.io/components/volvooncall/
|
||||
[pocket]: https://home-assistant.io/components/sensor.pocketcasts/
|
||||
[config]: https://home-assistant.io/components/config/
|
||||
|
||||
|
||||
[docs]: https://home-assistant.io/docs/
|
||||
[getting-started]: https://home-assistant.io/getting-started/
|
||||
[docs-issue]: https://github.com/home-assistant/home-assistant.github.io/issues/1603
|
||||
|
||||
[forum]: https://community.home-assistant.io/
|
||||
[gitter]: https://gitter.im/home-assistant/home-assistant
|
||||
[issue]: https://github.com/home-assistant/home-assistant/issues
|
||||
[t-shirt]: https://home-assistant.io/blog/2017/02/22/home-assistant-tshirts-have-arrived/
|
BIN
source/assets/HomeAssistant_APIAI.zip
Normal file
@ -11,16 +11,10 @@ footer: true
|
||||
|
||||
If you are using Hassbian, browse to [http://hassbian.local:8123](http://hassbian.local:8123) to open the Home Assistant frontend.
|
||||
|
||||
To reload your configuration, [login](/docs/hassbian/common-tasks/#login-to-the-raspberry-pi) your Raspberry Pi
|
||||
To reload your configuration, go to **Configuration** in your side panel, and choose:
|
||||
|
||||
```bash
|
||||
$ ssh pi@ip-address-of-pi
|
||||
```
|
||||
<p class='img'>
|
||||
<img src='/images/screenshots/configuration-validation.png' />
|
||||
</p>
|
||||
|
||||
and [restart](/docs/hassbian/common-tasks/#startstoprestart-home-assistant) Home Assistant
|
||||
|
||||
```bash
|
||||
$ sudo systemctl restart home-assistant@homeassistant.service
|
||||
```
|
||||
|
||||
For tweaking your Home Assistant setup, take a look at the [documentation](/docs/), ask your questions in our [forum](https://community.home-assistant.io/), join us for a [chat](https://gitter.im/home-assistant/home-assistant), or report your [issues](https://github.com/home-assistant/home-assistant/issues).
|
||||
Now that you saw a glimpse of what is possible, take a look at the [documentation](/docs/), ask your questions in our [forum](https://community.home-assistant.io/), join us for a [chat](https://gitter.im/home-assistant/home-assistant), or report your [issues](https://github.com/home-assistant/home-assistant/issues).
|
||||
|
BIN
source/images/blog/2017-02-0.39/config.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
source/images/blog/2017-02-0.39/social.png
Normal file
After Width: | Height: | Size: 69 KiB |
BIN
source/images/supported_brands/clementine.png
Normal file
After Width: | Height: | Size: 62 KiB |
BIN
source/images/supported_brands/ebox.jpg
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
source/images/supported_brands/fedex.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
source/images/supported_brands/globalcache.png
Normal file
After Width: | Height: | Size: 95 KiB |
BIN
source/images/supported_brands/gstreamer.png
Normal file
After Width: | Height: | Size: 8.2 KiB |
BIN
source/images/supported_brands/linn.png
Normal file
After Width: | Height: | Size: 9.5 KiB |
BIN
source/images/supported_brands/myq.png
Normal file
After Width: | Height: | Size: 8.8 KiB |
BIN
source/images/supported_brands/oem.png
Normal file
After Width: | Height: | Size: 7.1 KiB |
BIN
source/images/supported_brands/pushsafer.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
source/images/supported_brands/ups.png
Normal file
After Width: | Height: | Size: 1.1 MiB |