Merge pull request #843 from home-assistant/next

0.27
This commit is contained in:
Robbie Trencheny 2016-08-27 20:54:53 -07:00 committed by GitHub
commit 31f1027686
96 changed files with 2315 additions and 126 deletions

View File

@ -22,6 +22,7 @@ alarm_control_panel:
code: PASSCODE code: PASSCODE
pending_time: 60 pending_time: 60
trigger_time: 120 trigger_time: 120
disarm_after_trigger: true
``` ```
Configuration variables: Configuration variables:
@ -30,7 +31,7 @@ Configuration variables:
- **code** (*Optional*): If defined, specifies a code to enable or disable the alarm in the frontend. - **code** (*Optional*): If defined, specifies a code to enable or disable the alarm in the frontend.
- **pending_time** (*Optional*): The time in seconds of the pending time before arming the alarm. Default is 60 seconds. - **pending_time** (*Optional*): The time in seconds of the pending time before arming the alarm. Default is 60 seconds.
- **trigger_time** (*Optional*): The time in seconds of the trigger time in which the alarm is firing. Default is 120 seconds. - **trigger_time** (*Optional*): The time in seconds of the trigger time in which the alarm is firing. Default is 120 seconds.
- **disarm_after_trigger** (*Optional*): If true, the alarm will automatically disarm after it has been triggered instead of returning to the previous state.
## {% linkable_title Examples %} ## {% linkable_title Examples %}

View File

@ -0,0 +1,96 @@
---
layout: page
title: "FFmpeg Binary Sensor"
description: "Instructions how to integrate a varius ffmpeg based binary sensor"
date: 2016-08-25 08:00
sidebar: true
comments: false
sharing: true
footer: true
logo: ffmpeg.png
ha_category: Binary Sensor
ha_release: 0.27
ha_iot_class: "Local Polling"
---
The `ffmpeg` platform allows you to use every video or audio feed with [FFmpeg](http://www.ffmpeg.org/) for various sensors in Home Assistant. Available are: **noise**, **motion**. If the `ffmpeg` process is brocken, the sensor going to unavailable. It exists a service to restart a instance with *binary_sensor.ffmpeg_restart*.
<p class='note'>
You need a `ffmpeg` binary in your system path. On Debain 8 you can install it from backports. If you want Hardware support on a Raspberry Pi you need to build it from sourceby ourself. Windows binary are avilable on [FFmpeg](http://www.ffmpeg.org/) homepage.
</p>
### {% linkable_title Noise %}
To enable your FFmpeg with noise detection in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
camera:
- platform: ffmpeg
tool: noise
input: FFMPEG_SUPPORTED_INPUT
name: FFmpeg Noise
ffmpeg_bin: /usr/bin/ffmpeg
peak: -30
duration: 1
reset: 20
```
Configuration variables:
- **input** (*Required*): A ffmpeg compatible input file, stream or feed.
- **tool** (*Required*): Is fix set to `noise`.
- **name** (*Optional*): This parameter allows you to override the name of your camera.
- **ffmpeg_bin** (*Optional*): Default `ffmpeg`.
- **peak** (*Optional*): Default -30. A peak of dB to detect it as noise. 0 is very loud and -100 is low.
- **duration** (*Optional*): Default 1 seconds. How long need the noise over the peak to trigger the state.
- **reset** (*Optional*): Defaults to 20 seconds. The time to reset the state after none new noise is over the peak.
- **extra_arguments** (*Optional*): Extra option they will pass to `ffmpeg`, like audio frequence filtering.
- **output** (*Optional*): Allow you to send the audio output of this sensor to a icecast server or other ffmpeg supported output, eg. to stream with sonos after state is trigger.
For playing with values:
```bash
$ ffmpeg -i YOUR_INPUT -vn -filter:a silencedetect=n=-30dB:d=1 -f null -
```
### {% linkable_title Motion %}
FFmpeg don't have a motion detection filter so it use a scene filter to detect a new scene/motion. In fact you can set how big a object or size of image they need change to detect a motion. The option 'changes' is the percent value of change between frames. You can add a denoise filter to video if you want a realy small value for 'changes'.
To enable your FFmpeg with motion detection in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
camera:
- platform: ffmpeg
tool: motion
input: FFMPEG_SUPPORTED_INPUT
name: FFmpeg Motion
ffmpeg_bin: /usr/bin/ffmpeg
changes: 10
reset: 20
# group feature / default not in use
repeat: 0
repeat_time: 0
```
Configuration variables:
- **input** (*Required*): A ffmpeg compatible input file, stream or feed.
- **tool** (*Required*): Is fix set to `motion`.
- **name** (*Optional*): This parameter allows you to override the name of your camera.
- **ffmpeg_bin** (*Optional*): Default `ffmpeg`.
- **changes** (*Optional*): Default 10 percent. A lower value is more sensitive. I use 4 / 3.5 on my cameras. It describe how much of two frames need to change to detect it as motion. See on descripton.
- **reset** (*Optional*): Default 20 seconds. The time to reset the state after none new motion is detect.
- **repeat** (*Optional*): Default 0 repeats (deactivate). How many motion need to detect in *repeat_time* to trigger a motion.
- **repeat_time** (*Optional*): Default 0 seconds (deactivate). The time to repeats before it trigger a motion.
- **extra_arguments** (*Optional*): Extra option they will pass to ffmpeg. i.e. video denoise filtering.
For playing with values (changes/100 is the scene value on ffmpeg):
```bash
$ ffmpeg -i YOUR_INPUT -an -filter:v select=gt(scene\,0.1) -f framemd5 -
```

View File

@ -10,12 +10,13 @@ footer: true
ha_category: Camera ha_category: Camera
logo: camcorder.png logo: camcorder.png
ha_release: pre 0.7 ha_release: pre 0.7
ha_iot_class: "depends"
--- ---
The `generic` camera platform allows you to integrate any IP camera into Home Assistant. It supports fetching images from a url with optional HTTP authentication. The `generic` camera platform allows you to integrate any IP camera or other url into Home Assistant. Templates can be used to generate the urls on the fly.
Home Assistant will serve the images via its server, making it possible to view your IP camera's while outside of your network. The endpoint is `/api/camera_proxy/camera.[name]?time=[timestamp]`. Home Assistant will serve the images via its server, making it possible to view your IP camera's while outside of your network. The endpoint is `/api/camera_proxy/camera.[name]`.
To enable this camera in your installation, add the following to your `configuration.yaml` file: To enable this camera in your installation, add the following to your `configuration.yaml` file:
@ -27,11 +28,24 @@ camera:
name: my sample camera name: my sample camera
username: USERNAME username: USERNAME
password: PASSWORD password: PASSWORD
authentication: basic
limit_refetch_to_url_change: true
``` ```
Configuration variables: Configuration variables:
- **still_image_url** (*Required*): The URL your camera serves the image on, eg. http://192.168.1.21:2112/ - **still_image_url** (*Required*): The URL your camera serves the image on, eg. http://192.168.1.21:2112/. Can be a [template].
- **name** (*Optional*): This parameter allows you to override the name of your camera. - **name** (*Optional*): This parameter allows you to override the name of your camera.
- **username** (*Optional*): The username for accessing your camera. - **username** (*Optional*): The username for accessing your camera.
- **password** (*Optional*): The password for accessing your camera. - **password** (*Optional*): The password for accessing your camera.
- **authentication** (*Optional*): `basic` (default) or `digest` auth for requests.
- **limit_refetch_to_url_change** (*Optional*): true/false value (default: false). Limits refetching of the remote image to when the url changes. Only relevant if using a template to fetch the remote image.
<p class='img'>
<a href='/cookbook/google_maps_card/'>
<img src='/images/components/camera/generic-google-maps.png' alt='Screenshot showing Google Maps integration in Home Assistant front end.'>
Example showing the Generic camera platform pointing at a dynamic Google Map image.
</a>
</p>
[template]: /topics/templating/

View File

@ -27,6 +27,7 @@ camera:
name: my sample camera name: my sample camera
username: USERNAME username: USERNAME
password: PASSWORD password: PASSWORD
authentication: basic
``` ```
Configuration variables: Configuration variables:
@ -35,7 +36,8 @@ Configuration variables:
- **name** (*Optional*): This parameter allows you to override the name of your camera. - **name** (*Optional*): This parameter allows you to override the name of your camera.
- **username** (*Optional*): The username for accessing your camera. - **username** (*Optional*): The username for accessing your camera.
- **password** (*Optional*): The password for accessing your camera. - **password** (*Optional*): The password for accessing your camera.
- **authentication** (*Optional*): `basic` (default) or `digest` auth for requests.
-
<p class='note'> <p class='note'>
There is a <a href="https://github.com/shazow/urllib3/issues/800" target="_blank">known issue in urllib3</a> that you will get error messages in your logs like <code>[StartBoundaryNotFoundDefect(), MultipartInvariantViolationDefect()], unparsed data: ''</code> but the component still works fine. You can ignore the messages. There is a <a href="https://github.com/shazow/urllib3/issues/800" target="_blank">known issue in urllib3</a> that you will get error messages in your logs like <code>[StartBoundaryNotFoundDefect(), MultipartInvariantViolationDefect()], unparsed data: ''</code> but the component still works fine. You can ignore the messages.
</p> </p>

View File

@ -0,0 +1,15 @@
---
layout: page
title: "Ecobee Thermostat"
description: "Instructions how to setup the Ecobee thermostats within Home Assistant."
date: 2016-08-26 18:00
sidebar: true
comments: false
sharing: true
footer: true
logo: ecobee.png
ha_category: Climate
ha_release: 0.9
---
To get your Ecobee thermostats working with Home Assistant, follow the instructions for the general [Ecobee component](/components/ecobee/).

View File

@ -0,0 +1,64 @@
---
layout: page
title: "EQ3 Bluetooth Smart Thermostats"
description: "Instructions how to integrate EQ3 Bluetooth Smart Thermostats into Home Assistant."
date: 2016-04-18 22:00
sidebar: true
comments: false
sharing: true
footer: true
logo: eq3.gif
ha_category: Climate
ha_iot_class: "Local Poll"
---
The `eq3btsmart` climate platform allows you to integrate EQ3 Bluetooth Smart Thermostats.
The only functionality is to set the temperature, there doesn't seem to be any way to query the temperature sensor or battery level ([read more](https://forum.fhem.de/index.php/topic,39308.15.html)).
Setup is a bit more cumbersome than for most other thermostats. It has to be paired first:
```bash
bluetoothctl
scan on
<Wait for the thermostat to be found, which looks like this: [NEW] Device 00:11:22:33:44:55 CC-RT-BLE>
scan off
<Set the thermostat to pairing mode.>
pair <MAC>
trust <MAC>
disconnect <MAC>
exit
```
Then check with gatttool if the connection works as expected:
```bash
gatttool -b 00:11:22:33:44:55 -I
[00:11:22:33:44:55][LE]> connect
Attempting to connect to 00:11:22:33:44:55
Connection successful
[00:11:22:33:44:55][LE]> char-write-req 0x0411 03
Characteristic value was written successfully
Notification handle = 0x0421 value: 02 01 09 14 04 2d
[00:11:22:33:44:55][LE]> disconnect
[00:11:22:33:44:55][LE]> exit
```
Important: For gatttool or homeassistant to work, the thermostat needs to be disconnected from bluetoothd, so I found it best to modify the hass-daemon startscript by adding:
```bash
/usr/bin/bt-device -d CC-RT-BLE
```
to the start function of /etc/init.d/hass-daemon.
```yaml
# Example configuration.yaml entry
climate:
platform: eq3btsmart
devices:
room1:
mac: '00:11:22:33:44:55'
```

View File

@ -0,0 +1,45 @@
---
layout: page
title: "Generic Thermostat"
description: "Turn Home Assistant into a thermostat"
date: 2015-03-23 19:59
sidebar: true
comments: false
sharing: true
footer: true
logo: heat-control.png
ha_category: Climate
---
The `generic_thermostat` climate platform is a thermostat implemented in Home Assistant. It uses a sensor and a switch connected to a heater under the hood. If the measured temperature is cooler then the target temperature, the heater will be turned on and turned off when required temperature is reached.
```yaml
# Example configuration.yaml entry
climate:
platform: heat_control
name: Study
heater: switch.study_heater
target_sensor: sensor.study_temperature
min_temp: 15
max_temp: 21
target_temp: 15
min_cycle_duration:
# At least one of these must be specified:
days: 2
hours: 1
minutes: 10
seconds: 5
milliseconds: 20
```
Configuration variables:
- **name** (*Required*): Name of thermostat
- **heater** (*Required*: `entity_id` for heater switch, must be a toggle device.
- **target_sensor** (*Required*): `entity_id` for a temperature sensor, target_sensor.state must be temperature.
- **min_temp** (*Optional*): Set minimum set point available (default: 7)
- **max_temp** (*Optional*): Set maximum set point available (default: 35)
- **target_temp** (*Required*): Set intital target temperature. Failure to set this variable will result in target temperature being set to null on startup.
- **ac_mode** (*Optional*): Set the switch specified in the *heater* option to be treated as a cooling device instead of a heating device.
- **min_cycle_duration** (*Optional*): Set a minimum amount of time that the switch specified in the *heater* option must be in it's current state prior to being switched either off or on.

View File

@ -0,0 +1,41 @@
---
layout: page
title: "Heatmiser Thermostat"
description: "Instructions how to integrate Heatmiser thermostats within Home Assistant."
date: 2015-12-11 12:35
sidebar: true
comments: false
sharing: true
footer: true
logo: heatmiser.png
ha_category: Climate
ha_release: "0.10"
---
The `heatmiser` climate platform let you control [Heatmiser DT/DT-E/PRT/PRT-E](http://www.heatmisershop.co.uk/heatmiser-slimline-programmable-room-thermostat/) thermostats from Heatmiser. The module itself is currently setup to work over a RS232 -> RS485 converter, therefore it connects over IP.
Further work would be required to get this setup to connect over Wifi, but the HeatmiserV3 python module being used is a full implementation of the V3 protocol. If you would like to contribute to making this work over wifi, please contact @andylockran on github.
To set it up, add the following information to your `configuration.yaml` file:
```yaml
climate:
platform: heatmiser
ipaddress: YOUR_IPADDRESS
port: YOUR_PORT
tstats:
1:
id: THERMOSTAT_ID
name: THERMOSTAT_NAME
```
A single interface can handle up to 32 connected devices.
Configuration variables:
- **ipaddress** (*Required*): The ip address of your interface.
- **port** (*Required*): The port that the interface is listening on.
- **tstats** (*Required*): A list of thermostats activated on the gateway.
- **id** (*Required*): The id of the thermostat as configured on the device itself
- **name** (*Required*): A friendly name for the themostat

View File

@ -0,0 +1,19 @@
---
layout: page
title: "Homematic Thermostats"
description: "Instructions how to integrate Homematic thermostats within Home Assistant."
date: 2016-06-28 08:30
sidebar: true
comments: false
sharing: true
footer: true
logo: homematic.png
ha_category: Climate
ha_release: 0.23
ha_iot_class: "Local Push"
---
The `homematic` cliamte platform lets you control [Homematic](http://www.homematic.com/) thermostats through Home Assistant.
Devices will be configured automatically. Please refer to the [component](/components/homematic/) configuration on how to setup Homematic.

View File

@ -0,0 +1,32 @@
---
layout: page
title: "Honeywell Thermostat"
description: "Instructions how to integrate Honeywell thermostats within Home Assistant."
date: 2016-02-07 22:01
sidebar: true
comments: false
sharing: true
footer: true
logo: honeywell.png
ha_category: Climate
---
The `honeywell` cliamte platform let you control [Honeywell Connected](http://getconnected.honeywell.com/en/) thermostats from Home Assistant.
To set it up, add the following information to your `configuration.yaml` file:
```yaml
cliamte:
platform: honeywell
username: YOUR_USERNAME
password: YOUR_PASSWORD
region: REGION
```
Configuration variables:
- **username** (*Required*: The username of an user with access.
- **password** (*Required*): The password for your given admin account.
- **away_temperature** (*optional*): Heating setpoint when away mode is on. If omitted it defaults to 16.0 deg C.
- **region** (*optional*): Region identifier (either 'eu' or 'us'). Defaults to 'eu' if not provided.

View File

@ -0,0 +1,35 @@
---
layout: page
title: "KNX Thermostat"
description: "Instructions on how to integrate KXN thermostats with Home Assistant."
date: 2016-06-24 12:00
sidebar: true
comments: false
sharing: true
footer: true
logo: knx.png
ha_category: DIY
ha_release: 0.25
---
The `knx` climate platform is used as in interface with KNX thermostats.
KNX thermostats use at least 2 group addresses: one for the current temperature and one for the target temperature (named set-point in KNX terms).
To use your KNX thermostats in your installation, add the following to your `configuration.yaml` file:
```yaml
climate:
- platform: knx
name: KNX Thermostat
temperature_address: 0/1/1
setpoint_address: 0/1/0
```
- **name** (*Optional*): A name for this devices used within Home assistant
- **address** (*Required*): The KNX group address that is used to turn on/off this actuator channel
- **temperature_address** (*Required*): The group address that is used to communicate the current temperature. Data format must be datapoint type 9.001 DPT_Value_Temp (2-Octet float value) (see http://www.knx.org/fileadmin/template/documents/downloads_support_menu/KNX_tutor_seminar_page/Advanced_documentation/05_Interworking_E1209.pdf)
- **setpoint_address** (*Required*): The group address that is used to set/read the target temperature. Data format must be datapoint type 9.001 DPT_Value_Temp (2-Octet float value). Make sure, you set the read-flag for the thermostat to allow Home Assistant to read the target temperature.
With the current version of the module, no advanced KNX thermostat functionalities (e.g. HVAC mode) are supported.

View File

@ -0,0 +1,22 @@
---
layout: page
title: "Climate"
description: "Instructions how to setup climate control devices within Home Assistant."
date: 2016-08-26 19:00
sidebar: true
comments: false
sharing: true
footer: true
---
The `climate` component is built for the controlling and monitoring of HVAC (heating, ventilating, and air conditioning) and thermostat devices.
To enable this component, pick one of the platforms, and add it to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
climate:
platform: demo
```

View File

@ -0,0 +1,30 @@
---
layout: page
title: "Nest Thermostat"
description: "Instructions how to integrate Nest thermostats within Home Assistant."
date: 2015-03-23 19:59
sidebar: true
comments: false
sharing: true
footer: true
logo: nest_thermostat.png
ha_category: Climate
---
The `nest` climate platform let you control a thermostat from [Nest](https://nest.com).
To set it up, add the following information to your `configuration.yaml` file:
```yaml
cliamte:
platform: nest
```
<p class='img'>
<img src='{{site_root}}/images/screenshots/nest-thermostat-card.png' />
</p>
<p class='note'>
You must have the [Nest component](https://home-assistant.io/components/nest/) configured to use this sensor.
</p>

View File

@ -0,0 +1,40 @@
---
layout: page
title: "Proliphix Thermostat"
description: "Instructions how to integrate Proliphix thermostats within Home Assistant."
date: 2016-01-15 08:00
sidebar: true
comments: false
sharing: true
footer: true
logo: proliphix.png
ha_category: Climate
ha_release: 0.11
---
The `proliphix` climate platform let you control [Proliphix](http://www.proliphix.com) thermostat from Home Assistant.
Currently supported and tested thermostats:
- NT10e
To set it up, add the following information to your `configuration.yaml` file:
```yaml
climate:
platform: proliphix
host: IP_ADDRESS
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
Configuration variables:
- **host** (*Required*): Adress of your thermostat, eg. 192.168.1.32
- **username** (*Required*): Username for the thermostat.
- **password** (*Required*): Password for the thermostat.
The Proliphix NT Thermostat series are ethernet connected thermostats. They have a local HTTP interface that is based on get/set
of OID values. A complete collection of the API is available in this [API documentation](https://github.com/sdague/thermostat.rb/blob/master/docs/PDP_API_R1_11.pdf).

View File

@ -0,0 +1,40 @@
---
layout: page
title: "Radiotherm Thermostat"
description: "Instructions how to integrate Radiotherm thermostats within Home Assistant."
date: 2015-10-18 17:15
sidebar: true
comments: false
sharing: true
footer: true
logo: radiotherm.png
ha_category: Climate
---
The `radiotherm` climate platform let you control a thermostat from [Radio Thermostat](http://www.radiothermostat.com/).
The underlaying library supports:
- CT50 V1.09
- CT50 V1.88
- CT50 V1.94 (also known as Filtrete 3M50)
- CT80 Rev B2 V1.03
To set it up, add the following information to your `configuration.yaml` file:
```yaml
climate:
platform: radiotherm
host:
- 192.168.99.137
- 192.168.99.202
hold_temp: True
```
Configuration variables:
- **host** (*Required*): List of your Radiotherm thermostats
- **hold_temp** (*Required*): Boolean to control if Home Assistant temperature adjustments hold (`True`) or are temporary (`False`).
Temperature settings from Home Assistant will be sent to thermostat and then hold at that temperature. Set to `False` if you set a thermostat schedule on the thermostat itself and just want Home Assistant to send temporary temperature changes.

View File

@ -0,0 +1,22 @@
---
layout: page
title: "Z-Wave Thermostat"
description: "Instructions how to setup the Z-Wave thermostat within Home Assistant."
date: 2016-04-03 9:52
sidebar: true
comments: false
sharing: true
footer: true
logo: z-wave.png
ha_category: Climate
ha_release: 0.17
---
To get your Z-Wave thermostat or HVAC unit working with Home Assistant, follow the instructions for the general [Z-Wave component](/components/zwave/).
<p class='note'>
Thermostats with support for fan modes or different operating modes, will be handled like a HVAC device and will also be detected as one.
If the thermostat support different operationg modes, you will get one thermostat entity for each mode. These can be hidden with settings using the customize setting in the `configuration.yaml` file.
</p>

View File

@ -0,0 +1,46 @@
---
layout: page
title: "Command Line Cover"
description: "How to control a cover with the command line."
date: 2016-06-28 17:30
sidebar: true
comments: false
sharing: true
footer: true
logo: command_line.png
ha_category: Cover
ha_release: 0.14
---
A `command_line`cover platform that issues specific commands when it is moved up, down and stopped. It allows anyone to integrate any type of cover into Home Assistant that can be controlled from the command line.
To enable a command line cover in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
cover:
- platform: command_line
covers:
Garage door:
open_cmd: move_command up kitchen
close_cmd: move_command down kitchen
stop_cmd: move_command stop kitchen
state_cmd: state_command kitchen
value_template: {% raw %}>
{% if value == 'open' %}
100
{% elif value == 'closed' %}
0
{% endif %}
{% endraw %}
```
Configuration variables:
- **covers** (*Required*): The array that contains all command line covers.
- **entry** (*Required*): Name of the command line cover. Multiple entries are possible.
- **open_cmd** (*Required*): The command to open the cover.
- **close_cmd** (*Required*): The action to close the cover.
- **stop_cmd** (*Required*): The action to stop the cover.
- **state_cmd** (*Optional*): If given, this will act as a sensor that runs in the background and updates the state of the cover. If the command returns a `0` the indicates the cover is fully closed, whereas a 100 indicates the cover is fully open.
- **value_template** (*optional - default: '{% raw %}{{ value }}{% endraw%}'*): if specified, `state_cmd` will ignore the result code of the command but the template evaluating will indicate the position of the cover. For example, if your `state_cmd` returns a string "open", using `value_template` as in the example config above will allow you to translate that into the valid state `100`.

View File

@ -0,0 +1,19 @@
---
layout: page
title: "Homematic Cover"
description: "Instructions how to integrate Homematic covers within Home Assistant."
date: 2016-08-24 14:25
sidebar: true
comments: false
sharing: true
footer: true
logo: homematic.png
ha_category: Cover
ha_release: 0.27
ha_iot_class: "Local Push"
---
The `homematic` cover platform lets you control [Homematic](http://www.homematic.com/) covers such as rollershutters through Home Assistant.
Devices will be configured automatically. Please refer to the [component](/components/homematic/) configuration on how to setup Homematic.

View File

@ -0,0 +1,13 @@
---
layout: page
title: "Covers"
description: "Instructions how to integrate covers into Home Assistant."
date: 2016-06-28 17:30
sidebar: true
comments: false
sharing: true
footer: true
---
Home Assistant can give you an interface to control covers such as
rollershutters and garage doors.

View File

@ -0,0 +1,61 @@
---
layout: page
title: "MQTT Cover"
description: "Instructions how to integrate MQTT covers into Home Assistant."
date: 2016-06-28 17:30
sidebar: true
comments: false
sharing: true
footer: true
logo: mqtt.png
ha_category: Cover
ha_release: 0.18
---
The `mqtt` cover platform enables the possibility to control an MQTT cover. The device state will be updated only after receiving the a new
state from `state_topic`. If these messages are published with `RETAIN` flag, the MQTT device will receive an instant state update after subscription and will start with correct state. Otherwise, the initial state will be `unknown`.
There is a state attribute that stores the relative position of the device, where 0 means the device is `closed` and all other intermediate positions means the device is `open`.
When a state topic is not available, the cover will work in optimistic mode. In this mode, the cover will immediately change state after every command. Otherwise, the cover will wait for state confirmation from device (message from `state_topic`).
Optimistic mode can be forced, even if `state_topic` is available. Try to enable it, if experiencing incorrect cover operation.
To use your MQTT cover in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
cover:
- platform: mqtt
state_topic: "home-assistant/cover"
command_topic: "home-assistant/cover/set"
name: "MQTT Sensor"
optimistic: false
qos: 0
retain: true
state_open: "STATE_OPEN"
state_closed: "STATE_CLOSED"
service_open: "SERVICE_OPEN"
service_close: "SERVICE_CLOSE"
value_template: '{% raw %}{{ value.x }}{% endraw %}'
```
Configuration variables:
- **state_topic** (*Required*): The MQTT topic subscribed to receive sensor values.
- **name** (*Optional*): The name of the sensor. Default is "MQTT Sensor".
- **state_open** (*Optional*): The payload that represents open state. Default is"STATE_OPEN"
- **state_closed** (*Optional*): The payload that represents closed state. Default is "STATE_CLOSED"
- **service_open** (*Optional*): The payload that represents open state in service mode. Default is"SERVICE_OPEN"
- **service_close** (*Optional*): The payload that represents closed state in service mode. Default is "SERVICE_CLOSE"
- **optimistic** (*Optional*): Flag that defines if switch works in optimistic mode. Default is `true` if no state topic defined, else `false`.
- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages.
- **retain** (*Optional*): If the published message should have the retain flag on or not.
- **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 your sensor manually:
```bash
$ mosquitto_pub -h 127.0.0.1 -t home-assistant/cover/set -m "OFF"
```

View File

@ -0,0 +1,68 @@
---
layout: page
title: "RFXtrx Cover"
description: "Instructions how to integrate RFXtrx covers into Home Assistant."
date: 2016-08-24 14:30
sidebar: true
comments: false
sharing: true
footer: true
logo: rfxtrx.png
ha_category: Cover
ha_release: 0.27
---
The `rfxtrx` platform supports Siemens/LightwaveRF and RFY roller shutters that communicate in the frequency range of 433.92 MHz.
First you have to set up your [rfxtrx hub](/components/rfxtrx/).
### {% linkable_title Configuration %}
##### Siemens/LightwaveRF
The easiest way to find your roller shutters is to add this to your `configuration.yaml`:
```yaml
cover:
platform: rfxtrx
automatic_add: True
```
Launch your homeassistant and go the website (e.g http://localhost:8123).
Push your remote and your device should be added.
Once added it will show an ID (e.g `0b11000102ef9f210010f70`) and you can verify that it works from the frontend.
Then you should update your configuration to:
```yaml
cover:
platform: rfxtrx
devices:
0b11000102ef9f210010f70:
name: device_name
```
##### RFY
The [RFXtrx433e](http://www.rfxcom.com/RFXtrx433E-USB-43392MHz-Transceiver/en) is required for RFY support, however it does not support receive for the RFY protocol - as such devices cannot be automatically added. Instead, configure the device in the [rfxmngr](http://www.rfxcom.com/downloads.htm) tool. Make a note of the assigned ID and Unit Code and then add a device to the configuration with the following id `071a0000[id][unit_code]`. Eg, if the id was `0a` `00` `01`, and the unit code was `01` then the fully qualified id would be `071a00000a000101`.
##### Common
Example configuration:
```yaml
# Example configuration.yaml entry
cover:
platform: rfxtrx
automatic_add: False
signal_repetitions: 2
devices:
0b1100ce3213c7f210010f70: # Siemens/LightwaveRF
name: Bedroom Shutter
070a00000a000101: # RFY
name: Bathroom Shutter
```
Configuration variables:
- **devices** (*Required*): A list of devices with their name to use in the frontend.
- **automatic_add** (*Optional*): To enable the automatic addition of new roller shutters (Siemens/LightwaveRF only).
- **signal_repetitions** (*Optional*): Because the rxftrx device sends its actions via radio and from most receivers it's impossible to know if the signal was received or not. Therefore you can configure the roller shutter to try to send each signal repeatedly.
- **fire_event** (*Optional*): Fires an event even if the state is the same as before. Can be used for automations.

View File

@ -0,0 +1,49 @@
---
layout: page
title: "Raspberry Pi Cover"
description: "Instructions how to setup the Raspberry Pi covers within Home Assistant."
date: 2016-08-24 14:28
sidebar: true
comments: false
sharing: true
footer: true
logo: raspberry-pi.png
ha_category: Cover
ha_release: 0.23
---
The `rpi_gpio` cover platform allows you to use a Raspberry Pi to control your cover such as Garage doors.
It uses two pins on the Raspberry Pi.
- The `state_pin` will detect if the cover is closed, and
- the `relay_pin` will trigger the cover to open or close.
Although you do not need Andrews Hilliday's software controller when you run Home Assistant, he has written clear instructions on how to hook your garage door & sensors up to your Raspberry Pi, which can be found [here](https://github.com/andrewshilliday/garage-door-controller#hardware-setup).
To enable Raspberry Pi Covers in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
cover:
platform: rpi_gpio
state_pull_mode: DOWN
relay_time: 1
covers:
- relay_pin: 10
state_pin: 11
name: 'Left door'
- relay_pin: 12
state_pin: 13
name: 'Right door'
```
Configuration variables:
- **covers** array (*Required*): List of your doors.
- **name** (*Optional*): Name to use in the Frontend.
- **relay_pin** (*Required*): The pin of your Raspberry Pi where the relay is connected.
- **state_pin** (*Required*): The pin of your Raspberry Pi to retrieve the state.
- **state_pull_mode** (*Optional*): The direction the State pin is pulling. It can be UP or DOWN. Default is UP.
- **relay_time** (*Optional*): The time that the relay will be on for in seconds. Default is .2 seconds.

View File

@ -0,0 +1,38 @@
---
layout: page
title: "SCSGate Cover"
description: "Instructions how to integrate SCSGate motorized devices into Home Assistant."
date: 2016-06-28 17:30
sidebar: true
comments: false
sharing: true
footer: true
logo: bus_scs.png
ha_category: Cover
---
The SCSGate devices can control motorized covers connected to the BTicino MyHome system.
To enable SCSGate covers in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
cover:
platform: scsgate
devices:
living_room:
name: Living Room
scs_id: XXXXX
```
Configuration variables:
- **devices** array (*Required*): A list of devices.
- **[slug]** (*Required*): Slug of the device.
- **name** (*Required*): Name to use in the frontend.
- **scs_id** (*Required*): The ID of your SCSGate device.
<p class='note'>
**Known limitation:** It is not possible to know the current state of the cover.
</p>

View File

@ -0,0 +1,21 @@
---
layout: page
title: "Wink Cover"
description: "Instructions how to setup the Wink garage doors within Home Assistant."
date: 2016-06-28 17:30
sidebar: true
comments: false
sharing: true
footer: true
logo: wink.png
ha_category: Cover
ha_release: 0.13
---
Wink cover/garage door functionality is currently limited to view only. Wink garage doors will still show the current state of the door, but control has been disabled for third parties. If you have a Chamberlain garage door, and would like to control it via Home Assistant, please contact Chamberlain and request that they re-enabled third-party control.
The following quote is from Wink.
> As part of our agreement with Chamberlain, third-party access to control Chamberlain garage doors has been restricted. Please contact Chamberlain directly to inquire about permissions.
The requirement is that you have setup your [Wink hub](/components/wink/).

View File

@ -0,0 +1,17 @@
---
layout: page
title: "Z-Wave Cover"
description: "Instructions how to setup the Z-Wave covers within Home Assistant."
date: 2016-08-24 14:15
sidebar: true
comments: false
sharing: true
footer: true
logo: z-wave.png
ha_category: Cover
ha_release: 0.23
---
Z-Wave garage doors, blinds, and roller shutters are supported as cover in Home Assistant.
To get your Z-Wave covers working with Home Assistant, follow the instructions for the general [Z-Wave component](/components/zwave/).

View File

@ -19,14 +19,14 @@ Available demo platforms:
- [Alarm control panel](/components/alarm_control_panel/) (`alarm_control_panel`) - [Alarm control panel](/components/alarm_control_panel/) (`alarm_control_panel`)
- [Binary sensor](/components/binary_sensor/) (`binary_sensor`) - [Binary sensor](/components/binary_sensor/) (`binary_sensor`)
- [Camera](/components/camera/) (`camera`) - [Camera](/components/camera/) (`camera`)
- [Garage door](/components/garage_door/) (`garage_door`)
- [Light](/components/light/) (`light`) - [Light](/components/light/) (`light`)
- [Lock](/components/lock/) (`lock`) - [Lock](/components/lock/) (`lock`)
- [Notification](/components/notify/) (`notify`) - [Notification](/components/notify/) (`notify`)
- [Roller shutter](/components/rollershutter/) (`rollershutter`) - [Cover](/components/cover/) (`cover`)
- [Sensor](/components/sensor/) (`sensor`) - [Sensor](/components/sensor/) (`sensor`)
- [Switch](/components/switch/) (`switch`) - [Switch](/components/switch/) (`switch`)
- [Thermostat](/components/thermostat/) (`thermostat`) - [Climate](/components/climate/) (`climate`)
- [Fan](/components/fan/) (`fan`)
To integrate a demo platform in Home Assistant, add the following section to your `configuration.yaml` file: To integrate a demo platform in Home Assistant, add the following section to your `configuration.yaml` file:

View File

@ -0,0 +1,35 @@
---
layout: page
title: "Bluetooth Tracker"
description: "Instructions for integrating bluetooth low-energy tracking within Home Assistant."
date: 2016-08-24 00:00
sidebar: true
comments: false
sharing: true
footer: true
logo: bluetooth.png
ha_category: Presence Detection
ha_iot_class: "Local Poll"
ha_release: 0.27
---
This tracker discovers new devices on boot and in regular intervals and tracks bluetooth low-energy devices periodically based on interval_seconds value. It is not required to pair the devices with each other!
Devices discovered are stored with 'BLE_' as the prefix for device mac addresses in `known_devices.yaml`.
<p class='note'>
Requires PyBluez. If you are on Raspbian, make sure you first install `bluetooth` and `libbluetooth-dev` by running `sudo apt install bluetooth libbluetooth-dev`
</p>
To use the Bluetooth tracker in your installation, add the following to your `configuration.yaml` file:
```yaml
device_tracker:
platform: bluetooth_le_tracker
```
As some BT LE devices change their MAC address regularly, a new device is only discovered when it has been seen 5 times.
Some BTLE devices (e.g. fitness trackers) are only visible to the devices that they are paired with. In this case, the BTLE tracker won't see this device.
BTLE tracking requires root privileges.
For additional configuration variables check the [Device tracker page](/components/device_tracker/).

View File

@ -9,9 +9,11 @@ sharing: true
footer: true footer: true
--- ---
Home Assistant can get information from your wireless router to track which devices are connected. Please check the sidebar for a list of brands of supported wireless routers. Home Assistant can get information from your wireless router or third party services like iCloud or OwnTracks to track which devices are connected and considered "in home". Please check the sidebar for a list of brands of supported wireless routers and services.
There are also trackers available which uses different technologies like [MQTT](/components/mqtt/) or [Nmap](/components/device_tracker.nmap_scanner/) to scan the network for devices. There are also trackers available which use different technologies like [MQTT](/components/mqtt/) or [Nmap](/components/device_tracker.nmap_scanner/) to scan the network for devices.
# {% linkable_title Configuring a `device_tracker` platform %}
To get started add the following lines to your `configuration.yaml` (example for Netgear): To get started add the following lines to your `configuration.yaml` (example for Netgear):
@ -22,31 +24,39 @@ device_tracker:
host: 192.168.1.1 host: 192.168.1.1
username: admin username: admin
password: YOUR_PASSWORD password: YOUR_PASSWORD
# Optional configuration
# If new discovered devices are tracked by default (default: yes)
track_new_devices: yes
# Seconds between each scan for new devices (default: 12)
interval_seconds: 12
# Seconds to wait till marking someone as not home after not being seen
# (default: 180)
consider_home: 180
``` ```
Once tracked, a file will be created in your config dir called `known_devices.yaml`. Edit this file to adjust which devices to be tracked. Here you can also setup a URL for each device to be used as the entity picture and set whether the device will be show in the UI when in the away state. The following optional parameters can be used with any platform. However device tracker will only look for global settings under the configuration of the first configured platform:
Multiple device trackers can be used in parallel, such as [Owntracks](/components/device_tracker.owntracks/) and [Nmap](/components/device_tracker.nmap_scanner/). The state of the device will be determined by the source that reported last. Device tracker will look for global settings (`track_new_devices`, `consider_home`, and `home_interval`) under the configuration of the first platform. | Parameter | Default | Description |
|---------------------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `track_new_devices` | True | If new discovered devices are tracked by default |
| `interval_seconds` | 12 | Seconds between each scan for new devices |
| `consider_home` | 180 | Seconds to wait till marking someone as not home after not being seen. This parameter is most useful for households with Apple iOS devices that go into sleep mode while still at home to conserve battery life. iPhones will occasionally drop off the network and then re-appear. `consider_home` helps prevent false alarms in presence detection when using IP scanners such as Nmap. |
The optional `consider_home` entry is useful for households with Apple iOS devices that go into sleep mode while still at home to conserve battery life. iPhones will occasionally drop off the network and then re-appear. `consider_home` helps prevent false alarms in presence detection when using IP scanners such as nmap. Multiple device trackers can be used in parallel, such as [Owntracks](/components/device_tracker.owntracks/) and [Nmap](/components/device_tracker.nmap_scanner/). The state of the device will be determined by the source that reported last.
To add Nmap tracking just add the MAC address to the OwnTracks or iCloud device `mac:` configuration. To use both OwnTracks and Nmap you could use the following example: # {% linkable_title `known_devices.yaml` %}
Once `device_tracker` is enabled, a file will be created in your config dir named `known_devices.yaml`. Edit this file to adjust which devices to be tracked.
Here's an example configuration for a single device:
```yaml ```yaml
owntracksdevicename: devicename:
name: Friendly Name! name: Friendly Name
mac: EA:AA:55:E7:C6:94 mac: EA:AA:55:E7:C6:94
picture: picture: https://home-assistant.io/images/favicon-192x192.png
gravatar: test@example.com
track: yes track: yes
hide_if_away: no hide_if_away: no
``` ```
| Parameter | Default | Description |
|----------------|-------------------------------|---------------------------------------------------------------------------------------------------------|
| `name` | Host name or "Unnamed Device" | The friendly name of the device |
| `mac` | None | The MAC address of the device. Add this if you are using a network device tracker like Nmap or SNMP |
| `picture` | None | A picture that you can use to easily identify the person or device |
| `gravatar` | None | An email address for the device's owner. If provided, it will override `picture` |
| `track` | False | If `yes`/`on`/`true` then the device will be tracked. Otherwise its location and state will not update |
| `hide_if_away` | False | If `yes`/`on`/`true` then the device will be hidden if it is not at home |

View File

@ -0,0 +1,78 @@
---
layout: page
title: "Emulated Hue Bridge"
description: "Instructions how to emulated Hue Bridge within Home Assistant."
date: 2016-08-26 08:00
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Hub
ha_release: 0.27
ha_iot_class: "Local Push"
---
The `emulated_hue` component provides a virtual Philips Hue bridge, written entirely in software, that allows services that work with the Hue API to interact with Home Assistant
entities. The driving use case behind this functionality is to allow Home Assistant to work with an Amazon Echo with no set up cost outside of configuration changes.
### {% linkable_title Configuration %}
To enable the emulated Hue bridge, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
emulated_hue:
host_ip: 192.168.1.186
listen_port: 8300
off_maps_to_on_domains:
- script
- scene
expose_by_default: true
exposed_domains:
- light
```
Configuration variables:
- **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.
- **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.
If not specified, this defaults to the following list:
- `script`
- `scene`
- **expose_by_default** (*Optional*): Whether or not entities should be exposed via the bridge by default instead of explicitly (see the 'echo' attribute later on). If not specified, this defaults to true.
- **exposed_domains** (*Optional*): The domains that are exposed by default if `expose_by_default` is set to true. If not specified, this defaults to the following list:
- `switch`
- `light`
- `group`
- `input_boolean`
- `media_player`
With additional customization you will be able to specify the behaviour of the existing entities.
```yaml
# Example customization
homeassistant:
customize:
light.bedroom_light:
# Don't allow light.bedroom_light to be controlled by the emulated Hue bridge
emulated_hue: false
light.office_light:
# Address light.office_light as "back office light"
emulated_hue_name: "back office light"
```
The following are attributes that can be applied in the `customize` section:
- **emulated_hue** (*Optional*): Whether or not the entity should be exposed by the emulated Hue bridge. The default value for this attribute is controlled by the `expose_by_default` option.
- **emulated_hue_name** (*Optional*): The name that the emulated Hue will use. The default for this is the entity's friendly name.
### {% linkable_title License %}
Much of this code is based on work done by Bruce Locke on his [ha-local-echo](https://github.com/blocke/ha-local-echo) project, originally released under the MIT License. The license is located [here](https://github.com/blocke/ha-local-echo/blob/b9bf5dcaae6d8e305e2283179ffba64bde9ed29e/LICENSE).

View File

@ -0,0 +1,17 @@
---
layout: page
title: "Insteon Hub Fan"
description: "Instructions how to setup the Insteon Hub Fans within Home Assistant."
date: 2016-08-26 08:00
sidebar: true
comments: false
sharing: true
footer: true
logo: insteon.png
ha_category: Fan
ha_release: 0.27
---
The `insteon_hub` fan component lets you control your fans connected to an [Insteon Hub](http://www.insteon.com/insteon-hub/) with Home Assistant.
To get your Insteon Hub fan working with Home Assistant, follow the instructions for the general [Insteon Hub component](/components/insteon_hub/).

View File

@ -0,0 +1,22 @@
---
layout: page
title: "Fan"
description: "Instructions how to setup Fan devices within Home Assistant."
date: 2016-08-26 19:00
sidebar: true
comments: false
sharing: true
footer: true
---
The `fan` component is built for the controlling of fan devices. It can be called the little brother of the [climate](/components/climate/) component.
To enable this component, pick one of the platforms, and add it to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
climate:
platform: fan
```

View File

@ -0,0 +1,55 @@
---
layout: page
title: "MQTT Fan"
description: "Instructions how to integrate MQTT fans into Home Assistant."
date: 2016-08-27 09:00
sidebar: true
comments: false
sharing: true
footer: true
logo: mqtt.png
ha_category: Fan
ha_release: 0.27
ha_iot_class: depends
---
The `mqtt` fan platform let you control your MQTT enabled fans.
In an ideal scenario, the MQTT device will have a `state_topic` to publish state changes. If these messages are published with `RETAIN` flag, the MQTT fan will receive an instant state update after subscription and will start with correct state. Otherwise, the initial state of the fan will be `false`.
When a `state_topic` is not available, the fan will work in optimistic mode. In this mode, the fan will immediately change state after every command. Otherwise, the fan will wait for state confirmation from device (message from `state_topic`).
Optimistic mode can be forced, even if state topic is available. Try to enable it, if experiencing incorrect fan operation.
To enable MQTT fans in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
fan:
platform: mqtt
name: Living room
state_topic: "home/living-room/fan"
command_topic: "home/living-room/fan/set"
payload_on: "ON"
payload_off: "OFF"
optimistic: false
qos: 0
retain: true
value_template: '{% raw %}{{ value.x }}{% endraw %}'
```
Configuration variables:
- **name** (*Optional*): The name of the lock. Default is 'MQTT Lock'.
- **state_topic** (*Optional*): The MQTT topic subscribed to receive state updates.
- **command_topic** (*Required*): The MQTT topic to publish commands to change the lock state.
- **payload_on** (*Optional*): The payload that represents the running state. Default is "ON".
- **payload_off** (*Optional*): The payload that represents the stop state. Default is "OFF".
- **optimistic** (*Optional*): Flag that defines if lock works in optimistic mode. Default is `true` if no state topic defined, else `false`.
- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages.
- **retain** (*Optional*): If the published message should have the retain flag on or not.
- **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract a value from the payload.
<p class='note warning'>
Make sure that your topic match exact. `some-topic/` and `some-topic` are different topics.
</p>

View File

@ -9,4 +9,8 @@ sharing: true
footer: true footer: true
--- ---
<p class='note warning'>
**This component has been deprecated in favor of the "[cover](/component/cover/)" component and will be removed in the future. Please use cover.**
</p>
Home Assistant can give you an interface to control any garage door. Home Assistant can give you an interface to control any garage door.

View File

@ -8,11 +8,14 @@ comments: false
sharing: true sharing: true
footer: true footer: true
logo: mqtt.png logo: mqtt.png
ha_category: Garage Door ha_category: Deprecated
ha_release: 0.18 ha_release: 0.18
ha_iot_class: depends ha_iot_class: depends
--- ---
<p class='note warning'>
**This platform has been deprecated in favor of a "[cover](/components/cover.mqtt/)" platform and will be removed in the future. Please use the cover platform.**
</p>
The `mqtt` garage door platform let you control your MQTT enabled garage door. The `mqtt` garage door platform let you control your MQTT enabled garage door.

View File

@ -8,13 +8,18 @@ comments: false
sharing: true sharing: true
footer: true footer: true
logo: raspberry-pi.png logo: raspberry-pi.png
ha_category: Garage Door ha_category: Deprecated
ha_release: 0.23 ha_release: 0.23
--- ---
<p class='note warning'>
**This platform has been deprecated in favor of a "[cover](/components/cover.rpi_gpio/)" platform and will be removed in the future. Please use the cover platform.**
</p>
The `rpi_gpio` garage door platform allows you to use a Raspberry Pi to control your Garage door. The `rpi_gpio` garage door platform allows you to use a Raspberry Pi to control your Garage door.
It uses two pins on the Raspberry Pi. It uses two pins on the Raspberry Pi.
- The `state_pin` will detect if the door is closed, and - The `state_pin` will detect if the door is closed, and
- the `relay_pin` will trigger the door to open or close. - the `relay_pin` will trigger the door to open or close.
@ -26,6 +31,8 @@ To enable Raspberry Pi Garage doors in your installation, add the following to y
# Example configuration.yaml entry # Example configuration.yaml entry
garage_door: garage_door:
platform: rpi_gpio platform: rpi_gpio
state_pull_mode: DOWN
relay_time: 1
doors: doors:
- relay_pin: 10 - relay_pin: 10
state_pin: 11 state_pin: 11
@ -41,4 +48,6 @@ Configuration variables:
- **name** (*Optional*): Name to use in the Frontend. - **name** (*Optional*): Name to use in the Frontend.
- **relay_pin** (*Required*): The pin of your Raspberry Pi where the relay is connected. - **relay_pin** (*Required*): The pin of your Raspberry Pi where the relay is connected.
- **state_pin** (*Required*): The pin of your Raspberry Pi to retrieve the state. - **state_pin** (*Required*): The pin of your Raspberry Pi to retrieve the state.
- **state_pull_mode** (*Optional*): The direction the State pin is pulling. It can be UP or DOWN. Default is UP.
- **relay_time** (*Optional*): The time that the relay will be on for in seconds. Default is .2 seconds.

View File

@ -8,10 +8,14 @@ comments: false
sharing: true sharing: true
footer: true footer: true
logo: wink.png logo: wink.png
ha_category: Garage Door ha_category: Deprecated
ha_release: 0.13 ha_release: 0.13
--- ---
<p class='note warning'>
**This platform has been deprecated in favor of a "[cover](/components/cover.wink/)" platform and will be removed in the future. Please use the cover platform.**
</p>
Wink garage door functionality is currently limited to view only. Wink garage doors will still show the current state of the door, but control has been disabled for third parties. If you have a Chamberlain garage door, and would like to control it via Home Assistant, please contact Chamberlain and request that they re-enabled third-party control. Wink garage door functionality is currently limited to view only. Wink garage doors will still show the current state of the door, but control has been disabled for third parties. If you have a Chamberlain garage door, and would like to control it via Home Assistant, please contact Chamberlain and request that they re-enabled third-party control.
The following quote is from Wink. The following quote is from Wink.

View File

@ -8,8 +8,12 @@ comments: false
sharing: true sharing: true
footer: true footer: true
logo: z-wave.png logo: z-wave.png
ha_category: Garage Door ha_category: Deprecated
ha_release: 0.23 ha_release: 0.23
--- ---
<p class='note warning'>
**This platform has been deprecated in favor of a "[cover](/components/cover.zwave/)" platform and will be removed in the future. Please use the cover platform.**
</p>
To get your Z-Wave garage doors working with Home Assistant, follow the instructions for the general [Z-Wave component](/components/zwave/). To get your Z-Wave garage doors working with Home Assistant, follow the instructions for the general [Z-Wave component](/components/zwave/).

View File

@ -86,12 +86,13 @@ The name depends on if you chose to resolve names or not. If not, it will be the
**Other events** **Other events**
*homematic.keypress* see above. *homematic.keypress*: See above.
*homematic.impulse* for impulse sensors with event_data 'name' and 'channel'.
*homematic.impulse*: For impulse sensors with event_data 'name' and 'channel'.
**Service** **Service**
*homematic/virtualkey* simulate a keypress on CCU/Homegear with device or virtual keys. *homematic/virtualkey*: Simulate a keypress on CCU/Homegear with device or virtual keys.
```yaml ```yaml
... ...
@ -103,3 +104,15 @@ action:
channel: 1 channel: 1
param: PRESS_LONG param: PRESS_LONG
``` ```
*homematic/set_value*: Set the value of a system variable.
```yaml
...
action:
service: homematic.set_value
data:
entity_id: homematic.varname_bool
value: true
```

View File

@ -10,6 +10,10 @@ footer: true
ha_release: 0.19 ha_release: 0.19
--- ---
<p class='note warning'>
**This component has been deprecated in favor of the "[climate](/components/climate/)" component and will be removed in the future. Please use climate.**
</p>
The `hvac` component is built for the controlling and monitoring of HVAC (heating, ventilating, and air conditioning) devices. The `hvac` component is built for the controlling and monitoring of HVAC (heating, ventilating, and air conditioning) devices.
To enable this component, pick one of the platforms and add it to your `configuration.yaml`: To enable this component, pick one of the platforms and add it to your `configuration.yaml`:

View File

@ -8,8 +8,12 @@ comments: false
sharing: true sharing: true
footer: true footer: true
logo: z-wave.png logo: z-wave.png
ha_category: HVAC ha_category: Deprecated
ha_release: 0.19 ha_release: 0.19
--- ---
<p class='note warning'>
**This platform has been deprecated in favor of a "[climate](/components/climate.zwave/)" platform and will be removed in the future. Please use the climate platform.**
</p>
To get your Z-Wave `hvac` devices working with Home Assistant, follow the instructions for the general [Z-Wave component](/components/zwave/) and the [HVAC component](/components/hvac/). To get your Z-Wave `hvac` devices working with Home Assistant, follow the instructions for the general [Z-Wave component](/components/zwave/) and the [HVAC component](/components/hvac/).

View File

@ -9,7 +9,6 @@ sharing: true
footer: true footer: true
logo: influxdb.png logo: influxdb.png
ha_category: "History" ha_category: "History"
featured: true
ha_release: 0.9 ha_release: 0.9
--- ---

View File

@ -15,7 +15,7 @@ ha_iot_class: depends
The `mqtt` lock platform let you control your MQTT enabled locks. The `mqtt` lock platform let you control your MQTT enabled locks.
In an ideal scenario, the MQTT device will have a `state_topic` to publish state changes. If these messages are published with RETAIN flag, the MQTT lock will receive an instant state update after subscription and will start with correct state. Otherwise, the initial state of the switch will be false/unlocked. In an ideal scenario, the MQTT device will have a `state_topic` to publish state changes. If these messages are published with `RETAIN` flag, the MQTT lock will receive an instant state update after subscription and will start with correct state. Otherwise, the initial state of the lock will be false/unlocked.
When a `state_topic` is not available, the lock will work in optimistic mode. In this mode, the lock will immediately change state after every command. Otherwise, the lock will wait for state confirmation from device (message from `state_topic`). When a `state_topic` is not available, the lock will work in optimistic mode. In this mode, the lock will immediately change state after every command. Otherwise, the lock will wait for state confirmation from device (message from `state_topic`).

View File

@ -22,14 +22,21 @@ To add a TV to your installation, add the following to your `configuration.yaml`
```yaml ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
media_player: media_player:
platform: webostv - platform: webostv
host: 192.168.0.10 host: 192.168.0.10
name: Living Room TV name: Living Room TV
customize:
sources:
- livetv
- youtube
- makotv
``` ```
Configuration variables: Configuration variables:
- **host** (*Optional*): The IP of the LG WebOS Smart TV, eg. 192.168.0.10 - **host** (*Optional*): The IP of the LG WebOS Smart TV, eg. 192.168.0.10
- **name** (*Optional*): The name you would like to give to the LG WebOS Smart TV. - **name** (*Optional*): The name you would like to give to the LG WebOS Smart TV.
- **customize** array (*Optional*): List of options to customize.
- ***sources** array (*Optional*): List of hardware inputs.
If you do not provide a host name, all LG WebOS Smart TV's within your network will be auto-discovered if your TV network name is set to `[LG] webOS TV` If you do not provide a host name, all LG WebOS Smart TV's within your network will be auto-discovered if your TV network name is set to `[LG] webOS TV`

View File

@ -2,7 +2,7 @@
layout: page layout: page
title: "MySensors" title: "MySensors"
description: "Instructions how to integrate MySensors sensors into Home Assistant." description: "Instructions how to integrate MySensors sensors into Home Assistant."
date: 2016-04-21 13:30 +0100 date: 2016-08-26 23:00 +0200
sidebar: true sidebar: true
comments: false comments: false
sharing: true sharing: true
@ -16,7 +16,7 @@ The [MySensors](https://www.mysensors.org) project combines Arduino boards with
### {% linkable_title Configuration %} ### {% linkable_title Configuration %}
Integrate your Serial or Ethernet MySensors Gateway by adding the following to your `configuration.yaml` file: Integrate your Serial, Ethernet or MQTT Client MySensors Gateway by adding the following to your `configuration.yaml` file:
```yaml ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
@ -31,22 +31,34 @@ mysensors:
- device: '192.168.1.18' - device: '192.168.1.18'
persistence_file: 'path/mysensors3.json' persistence_file: 'path/mysensors3.json'
tcp_port: 5003 tcp_port: 5003
- device: mqtt
persistence_file: 'path/mysensors4.json'
topic_in_prefix: 'mygateway1-out'
topic_out_prefix: 'mygateway1-in'
debug: true debug: true
persistence: true
version: '1.5'
optimistic: false optimistic: false
persistence: true
retain: true
version: 2.0
``` ```
Configuration variables: Configuration variables:
- **device** (*Required*): The path to the serial gateway where it is connected to your Home Assistant host, or the address of the tcp ethernet gateway. Resolving DNS addresses is theoretically supported but not tested. - **device** (*Required*): The path to the serial gateway where it is connected to your Home Assistant host, or the address of the tcp ethernet gateway, or `mqtt` to setup the MQTT gateway. Resolving DNS addresses is theoretically supported but not tested.
- **baud_rate** (*Optional*): Specifies the baud rate of the connected serial gateway. Default is 115200. - **baud_rate** (*Optional*): Specifies the baud rate of the connected serial gateway. Default is 115200.
- **tcp_port** (*Optional*): Specifies the port of the connected tcp ethernet gateway. Default is 5003. - **tcp_port** (*Optional*): Specifies the port of the connected tcp ethernet gateway. Default is 5003.
- **topic_in_prefix** (*Optional*): Set the prefix of the MQTT topic for messages coming from the MySensors gateway in to Home Assistant. Default is an empty string.
- **topic_out_prefix** (*Optional*): Set the prefix of the MQTT topic for messages going from Home Assistant out to the MySensors gateway. Default is an empty string.
- **debug** (*Optional*): Enable or disable verbose debug logging. Default is false. - **debug** (*Optional*): Enable or disable verbose debug logging. Default is false.
- **persistence** (*Optional*): Enable or disable local persistence of sensor information. If this is disabled, then each sensor will need to send presentation messages after Home Assistant starts. Default is true. - **persistence** (*Optional*): Enable or disable local persistence of sensor information. If this is disabled, then each sensor will need to send presentation messages after Home Assistant starts. Default is true.
- **persistence_file** (*Optional*): The path to a file to save sensor information. The file extension determines the file type. Currently supported file types are 'pickle' and 'json'. - **persistence_file** (*Optional*): The path to a file to save sensor information. The file extension determines the file type. Currently supported file types are 'pickle' and 'json'.
- **version** (*Optional*): Specifies the MySensors protocol version to use. Supports 1.4 and 1.5. Default is 1.4. - **version** (*Optional*): Specifies the MySensors protocol version to use. Supports 1.4, 1.5 and 2.0. Default is 1.4.
- **optimistic** (*Optional*): Enable or disable optimistic mode for actuators (switch/light). Default is false. Set this to true if no state feedback from actuators is possible. Home Assistant will assume that the command succeeded and change state. - **optimistic** (*Optional*): Enable or disable optimistic mode for actuators (switch/light). Default is false. Set this to true if no state feedback from actuators is possible. Home Assistant will assume that the command succeeded and change state.
- **retain** (*Optional*): Enable or disable retain flag for published messages from Home Assistant when using the MQTT gateway. Default is true.
<p class='note'>
Not all features of MySensors 2.0 are yet supported by Home Assistant. As more features are added, they will be described here in the documentation. Go to the MySensors platform pages under "related components" to see what message types are currently supported.
</p>
If you are using an original Arduino as a serial gateway, the port will be named `ttyACM*`. The exact number can be determined with the command shown below. If you are using an original Arduino as a serial gateway, the port will be named `ttyACM*`. The exact number can be determined with the command shown below.
@ -54,20 +66,109 @@ If you are using an original Arduino as a serial gateway, the port will be named
$ ls /dev/ttyACM* $ ls /dev/ttyACM*
``` ```
If using the MQTT gateway, you also need to have the [MQTT component](/components/mqtt/) configured in Home Assistant. See below for a minimum MQTT configuration:
```yaml
mqtt:
client_id: home-assistant-1
```
<p class='note'>
The MQTT gateway requires MySensors version 2.0 and only the MQTT client gateway is supported.
</p>
### {% linkable_title Presentation %} ### {% linkable_title Presentation %}
Present a MySensors sensor or actuator, by following these steps: Present a MySensors sensor or actuator, by following these steps:
1. Connect the serial gateway to your computer or the ethernet gateway to your network. 1. Connect the serial gateway to your computer or the ethernet or MQTT gateway to your network.
2. Configure the MySensors component in configuration.yaml. 2. Configure the MySensors component in `configuration.yaml`.
3. Start hass. 3. Start hass.
4. Wait for "Connected to [device]" in the log output. 4. Write and upload your MySensors sketch to the sensor. Make sure you:
5. Write and upload your MySensors sketch to the sensor. Make sure you:
- Either use a manual node id, or AUTO for requesting a node id from the controller, in the begin method for initialization of the MySensors library.
- Send sketch name. - Send sketch name.
- Present the sensor's S_TYPE. - Present the sensor's S_TYPE.
- Send at least one initial value per V_TYPE. - Send at least one initial value per V_TYPE. In version 2.0 of MySensors this has to be done in the loop function. See below for an example in 2.0 of how to make sure the initial value has been received by the controller.
6. Start the sensor. 5. Start the sensor.
```cpp
/*
* Documentation: http://www.mysensors.org
* Support Forum: http://forum.mysensors.org
*
* http://www.mysensors.org/build/relay
*/
#define MY_DEBUG
#define MY_RADIO_NRF24
#define MY_REPEATER_FEATURE
#define MY_NODE_ID 1
#include <SPI.h>
#include <MySensors.h>
#include <Bounce2.h>
#define RELAY_PIN 5
#define BUTTON_PIN 3
#define CHILD_ID 1
#define RELAY_ON 1
#define RELAY_OFF 0
Bounce debouncer = Bounce();
bool state = false;
bool initialValueSent = false;
MyMessage msg(CHILD_ID, V_STATUS);
void setup()
{
pinMode(BUTTON_PIN, INPUT_PULLUP);
debouncer.attach(BUTTON_PIN);
debouncer.interval(10);
// Make sure relays are off when starting up
digitalWrite(RELAY_PIN, RELAY_OFF);
pinMode(RELAY_PIN, OUTPUT);
}
void presentation() {
sendSketchInfo("Relay+button", "1.0");
present(CHILD_ID, S_BINARY);
}
void loop()
{
if (!initialValueSent) {
Serial.println("Sending initial value");
send(msg.set(state?RELAY_ON:RELAY_OFF));
Serial.println("Requesting initial value from controller");
request(CHILD_ID, V_STATUS);
wait(2000, C_SET, V_STATUS);
}
if (debouncer.update()) {
if (debouncer.read()==LOW) {
state = !state;
// Send new state and request ack back
send(msg.set(state?RELAY_ON:RELAY_OFF), true);
}
}
}
void receive(const MyMessage &message) {
if (message.isAck()) {
Serial.println("This is an ack from gateway");
}
if (message.type == V_STATUS) {
if (!initialValueSent) {
Serial.println("Receiving initial value from controller");
initialValueSent = true;
}
// Change relay state
state = (bool)message.getInt();
digitalWrite(RELAY_PIN, state?RELAY_ON:RELAY_OFF);
send(msg.set(state?RELAY_ON:RELAY_OFF));
}
}
```
Visit the [library api] of MySensors for more information. Visit the [library api] of MySensors for more information.

View File

@ -0,0 +1,36 @@
---
layout: page
title: "Notify Group"
description: "Instructions how to setup the notify group platform."
date: 2016-08-18 00:12
sidebar: true
comments: false
sharing: true
footer: true
logo: home-assistant.png
ha_category: Notifications
ha_release: 0.26
---
The `group` notification platform allows you to combine multiple `notify` platforms into a single service.
To use this notification platform in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
notify:
name: MyDevices
platform: group
services:
- service: html5
data:
target: "macbook"
- service: html5_nexus
```
Configuration variables:
- **name** (*Required*): Setting the parameter `name` sets the name of the group.
- **services** (*Required*): A list of all the services to be included in the group.
- **service** (*Required*): The service part of an entity ID, i.e. if you use `notify.html5` normally, just put `html5`.
- **data** (*Optional*): A dictonary containing parameters to add to all notify payloads. This can be anything that is valid to use in a payload, such as `data`, `message`, `target`, `title`.

View File

@ -0,0 +1,214 @@
---
layout: page
title: "Push Notifications"
description: "Instructions how to use the HTML5 push notifications platform from Home Assistant."
date: 2016-08-17 21:58
sidebar: true
comments: false
sharing: true
footer: true
logo: html5.png
ha_category: Notifications
ha_release: 0.27
featured: true
---
The `html5` notification platform enables you to receive push notifications to Chrome or Firefox, no matter where you are in the world. `html5` also supports Chrome and Firefox on Android, which enables native-app-like integrations without actually needing a native app.
To enable this platform, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
notify:
name: HTML5
platform: html5
gcm_api_key: 'gcm-sender-key'
gcm_sender_id: 'gcm-sender-id'
```
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`.
- **gcm_api_key** (*Required if pushing to Chrome*): The API key provided to you by Google for Google Cloud Messaging (GCM). Required to push to Chrome.
- **gcm_sender_id** (*Required if pushing to Chrome*): The sender ID provided to you by Google for Google Cloud Messaging (GCM). Required to push to Chrome.
### {% linkable_title Getting ready for Chrome %}
Google has [a handy guide](https://developers.google.com/web/fundamentals/getting-started/push-notifications/step-04) that goes into great detail about how to set up for pushing to Chrome. Once you have your GCM API Key and Sender ID in hand, plug them into your configuration as described above.
### {% linkable_title Requirements %}
The `html5` platform can only function if all of the following requirements are met:
* You are using Chrome and/or Firefox on any desktop platform, ChromeOS or Android.
* Your Home Assistant instance is exposed to the world.
* You have configured SSL for your Home Assistant. It doesn't need to be configured in Home Assistant though, i.e. you can be running nginx in front of Home Assistant and this will still work.
* You are willing to accept the notification permission in your browser.
### {% linkable_title Setting up %}
Assuming you have already added the platform to your configuration:
1. Open Home Assistant in Chrome or Firefox.
2. Assuming you have met all the [requirements](#requirements) above, you should see a new slider in the sidebar labeled Push Notifications.
3. Slide it to the on position.
4. Within a few seconds you should be prompted to allow notifications from Home Assistant.
5. Assuming you accept, that's all there is to it!
6. (Optional, but highly recommended!) Open the `html5_push_registrations.conf` file in your configuration directory. You will see a new entry for the browser you just added. Rename it from `unnamed device` to a name of your choice, which will make it easier to identify later. _Do not change anything else in this file!_ You need to restart Home Assistant after making any changes to the file.
### {% linkable_title Usage %}
The `html5` platform accepts a standard notify payload. However, there are also some special features built in which you can control in the payload.
#### {% linkable_title Actions %}
Chrome supports notification actions, which are configurable buttons that arrive with the notification and can cause actions on Home Assistant to happen when pressed. You can send [up to 2 actions](https://cs.chromium.org/chromium/src/third_party/WebKit/public/platform/modules/notifications/WebNotificationConstants.h?q=maxActions&sq=package:chromium&dr=CSs&l=14).
```json
{
"message": "Anne has arrived home",
"data": {
"actions": [
{
"action": "open",
"icon": "/static/icons/favicon-192x192.png"
"title": "Open Home Assistant"
},
{
"action": "open_door",
"title": "Open door"
}
]
}
}
```
#### {% linkable_title Data %}
Any parameters that you pass in the notify payload that aren't valid for use in the HTML5 notification (`actions`, `badge`, `body`, `dir`, `icon`, `lang`, `renotify`, `requireInteraction`, `tag`, `timestamp`, `vibrate`) will be sent back to you in the [callback events](http://localhost:4000/components/notify.html5/#automating-notification-events).
```json
{
"title": "Front door",
"message": "The front door is open",
"data": {
"my-custom-parameter": "front-door-open"
}
}
```
#### {% linkable_title Tag %}
By default, every notification sent has a randomly generated UUID (v4) set as its _tag_ or unique identifier. The tag is unique to the notification, _not_ to a specific target. If you pass your own tag in the notify payload you can replace the notification by sending another notification with the same tag. You can provide a `tag` like so:
```json
{
"title": "Front door",
"message": "The front door is open",
"data": {
"tag": "front-door-notification"
}
}
```
#### {% linkable_title Targets %}
If you do not provide a `target` parameter in the notify payload a notification will be sent to all registered targets as listed in `html5_push_registrations.conf`. You can provide a `target` parameter like so:
```json
{
"title": "Front door",
"message": "The front door is open",
"target": "unnamed device"
}
```
`target` can also be a string array of targets like so:
```json
{
"title": "Front door",
"message": "The front door is open",
"target": ["unnamed device", "unnamed device 2"]
}
```
#### {% linkable_title Overrides %}
You can pass any of the parameters listed [here](https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration/showNotification#Parameters) in the `data` dictionary. Please note, [Chrome specifies](https://cs.chromium.org/chromium/src/third_party/WebKit/public/platform/modules/notifications/WebNotificationConstants.h?q=maxActions&sq=package:chromium&dr=CSs&l=21) that the maximum size for an icon is 320px by 320px, the maximum `badge` size is 96px by 96px and the maximum icon size for an action button is 128px by 128px.
#### {% linkable_title URL %}
You can provide a URL to open when the notification is clicked by putting `url` in the data dictionary like so:
```json
{
"title": "Front door",
"message": "The front door is open",
"data": {
"url": "https://google.com"
}
}
```
If no URL or actions are provided, interacting with a notification will open your Home Assistant in the browser. You can use relative URLs to refer to Home Assistant, i.e. `/map` would turn into `https://192.168.1.2:8123/map`.
### {% linkable_title Automating notification events %}
During the lifespan of a single push notification, Home Assistant will emit a few different events to the event bus which you can use to write automations against.
Common event payload parameters are:
| Parameter | Description |
|-----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `action` | The `action` key that you set when sending the notification of the action clicked. Only appears in the `clicked` event. |
| `data` | The data dictionary you originally passed in the notify payload, minus any parameters that were added to the HTML5 notification (`actions`, `badge`, `body`, `dir`, `icon`, `lang`, `renotify`, `requireInteraction`, `tag`, `timestamp`, `vibrate`). |
| `tag` | The unique identifier of the notification. Can be overridden when sending a notification to allow for replacing existing notifications. |
| `target` | The target that this notification callback describes. |
| `type` | The type of event callback received. Can be `received`, `clicked` or `closed`. |
You can use the `target` parameter to write automations against a single `target`. For more granularity, use `action` and `target` together to write automations which will do specific things based on what target clicked an action.
#### {% linkable_title received event %}
You will receive an event named `html5_notification.received` when the notification is received on the device.
```yaml
- alias: HTML5 push notification received and displayed on device
trigger:
platform: event
event_type: html5_notification.received
```
#### {% linkable_title clicked event %}
You will receive an event named `html5_notification.clicked` when the notification or a notification action button is clicked. The action button clicked is available as `action` in the `event_data`.
```yaml
- alias: HTML5 push notification clicked
trigger:
platform: event
event_type: html5_notification.clicked
```
or
```yaml
- alias: HTML5 push notification action button clicked
trigger:
platform: event
event_type: html5_notification.clicked
event_data:
action: open_door
```
#### {% linkable_title closed event %}
You will receive an event named `html5_notification.closed` when the notification is closed.
```yaml
- alias: HTML5 push notification clicked
trigger:
platform: event
event_type: html5_notification.closed
```

View File

@ -0,0 +1,50 @@
---
layout: page
title: "LlamaLab Automate"
description: "Instructions how to add user notifications to Home Assistant."
date: 2016-08-21 13:00
sidebar: true
comments: false
sharing: true
footer: true
logo: llamalab_automate.png
ha_category: Notifications
ha_release: 0.27
---
The `llamalab_automate` platform uses Googles Cloud Messaging Services to push messages from Home Assistant to your Android device running the LlamaLab [Automate](https://llamalab.com/automate/) app. This can serve as an alternative to Tasker + AutoRemote.
Go to [https://llamalab.com/automate/cloud/](https://llamalab.com/automate/cloud/) and create a new API key/secret.
To add Automate to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
notify:
name: NOTIFIER_NAME
platform: llamalab_automate
api_key: ABCDEFGHJKLMNOPQRSTUVXYZ
to: example@gmail.com
```
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`.
- **api_key** (*Required*): Enter the API key for Automate.
- **to** (*Required*): E-Mail address the Automate-Fiber is configured for.
- **device** (*Optional*): Name of the target device to receive the messages.
Receiving cloud messages in Automate:
1. Add a new flow
2. Insert block "Messaging -> Cloud message receive"
3. Insert block "Interface -> Toast show"
4. Connect OK from Flow beginning to IN of Cloud receive
5. Connect OK from Cloud receive to Toast show
6. Connect OK form Toast show to IN of Cloud receive
7. Tap Cloud receive and select the E-Mail account as setup in your configuration
8. Assign a variable name for the Payload
9. Tap Toast show and set the message value to the variable you've specified
If you have multiple devices paired to one Google Mail account and want to control each instance of Automate individually, you can set the notifier to target a specific device. To determine your devices name, add a Cloud Message send block to your flow, tap it and scroll all the way to the bottom. Device names are case sensitive.

View File

@ -1,7 +1,7 @@
--- ---
layout: page layout: page
title: "PushOver" title: "Pushover"
description: "Instructions how to add user notifications to Home Assistant." description: "Instructions how to add Pushover notifications to Home Assistant."
date: 2015-01-20 22:36 date: 2015-01-20 22:36
sidebar: true sidebar: true
comments: false comments: false
@ -13,9 +13,9 @@ ha_release: pre 0.7
--- ---
The [PushOver service](https://pushover.net/) is a platform for the notify component. This allows components to send messages to the user using PushOver. The [Pushover service](https://pushover.net/) is a platform for the notify component. This allows components to send messages to the user using Pushover.
To use PushOver notifications, add the following to your `configuration.yaml` file: To use Pushover notifications, add the following to your `configuration.yaml` file:
```yaml ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
@ -32,7 +32,7 @@ Configuration variables:
- **api_key** (*Required*): This parameter is optional but should be configured, in order to get an API key you should go to https://pushover.net and register a new application. - **api_key** (*Required*): This parameter is optional but should be configured, in order to get an API key you should go to https://pushover.net and register a new application.
- **user_key** (*Required*): To retrieve this value log into your account at https://pushover.net - **user_key** (*Required*): To retrieve this value log into your account at https://pushover.net
This is a quote from the pushover website regarding free/open source apps: This is a quote from the Pushover website regarding free/open source apps:
<blockquote> <blockquote>
If you are creating a client-side library, application, or open source project that will be redistributed and installed by end-users, you may want to require each of your users to register their own application rather than including your own API token with the software. If you are creating a client-side library, application, or open source project that will be redistributed and installed by end-users, you may want to require each of your users to register their own application rather than including your own API token with the software.

View File

@ -15,7 +15,11 @@ ha_release: pre 0.7
The `slack` platform allows you to deliver notifications from Home Assistant to [Slack](https://slack.com/). The `slack` platform allows you to deliver notifications from Home Assistant to [Slack](https://slack.com/).
You need to obtain the [Slack API token](https://api.slack.com/web?sudo=1) to be able to send notifications. If you are planning to use Slack as yourself then you need to obtain a [Slack API token](https://api.slack.com/web?sudo=1) to be able to send notifications.
It is also possible to use Slack bots as users. Just create a new bot at https://[YOUR_TEAM].slack.com/apps/build/custom-integration and use the provided token for that. You can add an icon from the frontend for Home Assistant and give the bot a meaningful name.
Don't forget to invite the bot to the room where you want to get the notifications.
To enable the slack notification in your installation, add the following to your `configuration.yaml` file: To enable the slack notification in your installation, add the following to your `configuration.yaml` file:

View File

@ -8,10 +8,15 @@ comments: false
sharing: true sharing: true
footer: true footer: true
logo: command_line.png logo: command_line.png
ha_category: Rollershutter ha_category: Deprecated
ha_release: 0.14 ha_release: 0.14
--- ---
A rollershutter platform that issues specific commands when it is moved up, down and stopped. This might very well become our most powerful platform as it allows anyone to integrate any type of rollershutter into Home Assistant that can be controlled from the command line, including calling other scripts!
<p class='note warning'>
**This platform has been deprecated in favor of a "[cover](/components/cover.command_line/)" platform and will be removed in the future. Please use the cover platform.**
</p>
A `rollershutter` platform that issues specific commands when it is moved up, down and stopped. This might very well become our most powerful platform as it allows anyone to integrate any type of rollershutter into Home Assistant that can be controlled from the command line, including calling other scripts!
To enable command_rollershutter in your installation, add the following to your `configuration.yaml` file: To enable command_rollershutter in your installation, add the following to your `configuration.yaml` file:

View File

@ -8,12 +8,15 @@ comments: false
sharing: true sharing: true
footer: true footer: true
logo: homematic.png logo: homematic.png
ha_category: Rollershutter ha_category: Deprecated
ha_release: 0.23 ha_release: 0.23
ha_iot_class: "Local Push" ha_iot_class: "Local Push"
--- ---
<p class='note warning'>
**This platform has been deprecated in favor of a "[cover](/components/cover.homematic/)" platform and will be removed in the future. Please use the cover platform.**
</p>
The `homematic` rollershutter platform lets you control [Homematic](http://www.homematic.com/) rollershutters through Home Assistant. The `homematic` rollershutter platform lets you control [Homematic](http://www.homematic.com/) rollershutters through Home Assistant.
Devices will be configured automatically. Please refer to the [component](/components/homematic/) configuration on how to setup Homematic. Devices will be configured automatically. Please refer to the [component](/components/homematic/) configuration on how to setup Homematic.

View File

@ -9,4 +9,8 @@ sharing: true
footer: true footer: true
--- ---
<p class='note warning'>
**This component has been deprecated in favor of the "[cover](/components/cover/)" component and will be removed in the future. Please use cover.**
</p>
Home Assistant can give you an interface to control any rollershutters. Home Assistant can give you an interface to control any rollershutters.

View File

@ -8,11 +8,14 @@ comments: false
sharing: true sharing: true
footer: true footer: true
logo: mqtt.png logo: mqtt.png
ha_category: Rollershutter ha_category: Deprecated
ha_release: 0.9 ha_release: 0.9
ha_iot_class: depends ha_iot_class: depends
--- ---
<p class='note warning'>
**This platform has been deprecated in favor of a "[cover](/components/cover.mqtt/)" platform and will be removed in the future. Please use the cover platform.**
</p>
The `mqtt` rollershutter platform enables the possibility to control an MQTT rollershutter. The device state will be updated only after receiving the a new state from `state_topic`. If these messages are published with RETAIN flag, the MQTT device will receive an instant state update after subscription and will start with correct state. Otherwise, the initial state will be `unknown`. The `mqtt` rollershutter platform enables the possibility to control an MQTT rollershutter. The device state will be updated only after receiving the a new state from `state_topic`. If these messages are published with RETAIN flag, the MQTT device will receive an instant state update after subscription and will start with correct state. Otherwise, the initial state will be `unknown`.

View File

@ -8,10 +8,14 @@ comments: false
sharing: true sharing: true
footer: true footer: true
logo: rfxtrx.png logo: rfxtrx.png
ha_category: Rollershutter ha_category: Deprecated
ha_release: 0.21 ha_release: 0.21
--- ---
<p class='note warning'>
**This platform has been deprecated in favor of a "[cover](/components/cover.rfxtrx/)" platform and will be removed in the future. Please use the cover platform.**
</p>
The `rfxtrx` platform supports Siemens/LightwaveRF and RFY roller shutters that communicate in the frequency range of 433.92 MHz. The `rfxtrx` platform supports Siemens/LightwaveRF and RFY roller shutters that communicate in the frequency range of 433.92 MHz.
First you have to set up your [rfxtrx hub](/components/rfxtrx/). First you have to set up your [rfxtrx hub](/components/rfxtrx/).

View File

@ -8,8 +8,13 @@ comments: false
sharing: true sharing: true
footer: true footer: true
logo: bus_scs.png logo: bus_scs.png
ha_category: Rollershutter ha_category: Deprecated
--- ---
<p class='note warning'>
**This platform has been deprecated in favor of a "[cover](/components/cover.scsgate/)" platform and will be removed in the future. Please use the cover platform.**
</p>
The SCSGate device can control motirized roller shutters connected to the BTicino MyHome system. The SCSGate device can control motirized roller shutters connected to the BTicino MyHome system.
To enable SCSGate roller shutters in your installation, add the following to your `configuration.yaml` file: To enable SCSGate roller shutters in your installation, add the following to your `configuration.yaml` file:

View File

@ -8,10 +8,14 @@ comments: false
sharing: true sharing: true
footer: true footer: true
logo: wink.png logo: wink.png
ha_category: Rollershutter ha_category: Deprecated
ha_release: 0.22 ha_release: 0.22
--- ---
<p class='note warning'>
**This platform has been deprecated in favor of a "[cover](/components/cover.wink/)" platform and will be removed in the future. Please use the cover platform.**
</p>
The `wink` rollershutter platform allows you to control your [Wink](http://www.wink.com/) enabled rollershutters. It supports Wink shades/blinds/rollershutters such as the Bali Somfy or Lutron Serena blinds. The `wink` rollershutter platform allows you to control your [Wink](http://www.wink.com/) enabled rollershutters. It supports Wink shades/blinds/rollershutters such as the Bali Somfy or Lutron Serena blinds.
The Wink API currently doesn't provide status for shades. The Wink API currently doesn't provide status for shades.

View File

@ -8,8 +8,12 @@ comments: false
sharing: true sharing: true
footer: true footer: true
logo: z-wave.png logo: z-wave.png
ha_category: Rollershutter ha_category: Deprecated
ha_release: 0.23 ha_release: 0.23
--- ---
<p class='note warning'>
**This platform has been deprecated in favor of a "[cover](/components/cover.zwave/)" platform and will be removed in the future. Please use the cover platform.**
</p>
To get your Z-Wave rollershutters working with Home Assistant, follow the instructions for the general [Z-Wave component](/components/zwave/). To get your Z-Wave rollershutters working with Home Assistant, follow the instructions for the general [Z-Wave component](/components/zwave/).

View File

@ -8,7 +8,7 @@ comments: false
sharing: true sharing: true
footer: true footer: true
logo: hunter-douglas-powerview.png logo: hunter-douglas-powerview.png
ha_category: Rollershutter ha_category: Cover
ha_release: 0.15 ha_release: 0.15
--- ---

View File

@ -10,6 +10,7 @@ footer: true
ha_category: DIY ha_category: DIY
ha_release: 0.7 ha_release: 0.7
logo: dht.png logo: dht.png
ha_iot_class: "Local Polling"
--- ---
@ -42,7 +43,3 @@ Available conditions are only *temperature* and *humidity*.
The name of the pin to which the sensor is connected has different names on different platforms. 'P8_11' for Beaglebone, '23' for Raspberry Pi. The name of the pin to which the sensor is connected has different names on different platforms. 'P8_11' for Beaglebone, '23' for Raspberry Pi.
<p class='note warning'>
As this requires access to the GPIO, you will need to run Home Assistant as root.
</p>

View File

@ -13,7 +13,7 @@ featured: true
ha_release: pre 0.7 ha_release: pre 0.7
--- ---
The `forecast` platform uses the [Forecast.io](https://forecast.io/) web service as a source of meteorological data for your location. The location is based on the `longitude` and `latitude` coordinates configured in your `configuration.yaml` file. The coordinates are auto-detected but to take advantage of the hyper-local weather reported by forecast.io, you can refine them down to your exact home address. GPS coordinates can be found by using [Google Maps]() and clicking on your home or [Openstreetmap](http://www.openstreetmap.org/). The `forecast` platform uses the [Forecast.io](https://forecast.io/) web service as a source of meteorological data for your location. The location is based on the `longitude` and `latitude` coordinates configured in your `configuration.yaml` file. The coordinates are auto-detected but to take advantage of the hyper-local weather reported by forecast.io, you can refine them down to your exact home address. GPS coordinates can be found by using [Google Maps](https://www.google.com/maps) and clicking on your home or [Openstreetmap](http://www.openstreetmap.org/).
You need an API key which is free but requires [registration](https://developer.forecast.io/register). You can make up to 1000 calls per day for free which means that you could make one approximately every 86 seconds. You need an API key which is free but requires [registration](https://developer.forecast.io/register). You can make up to 1000 calls per day for free which means that you could make one approximately every 86 seconds.
@ -49,6 +49,11 @@ sensor:
- minutely_summary - minutely_summary
- hourly_summary - hourly_summary
- daily_summary - daily_summary
- temperature_max
- temperature_min
- apparent_temperature_max
- apparent_temperature_min
- precip_intensity_max
``` ```
Configuration variables: Configuration variables:
@ -72,6 +77,11 @@ Configuration variables:
- **minutely_summary**: A human-readable text summary for the next hour. - **minutely_summary**: A human-readable text summary for the next hour.
- **hourly_summary**: A human-readable text summary for the next 24 hours. - **hourly_summary**: A human-readable text summary for the next 24 hours.
- **daily_summary**: A human-readable text summary for the next 7 days. - **daily_summary**: A human-readable text summary for the next 7 days.
- **temperature_max**: Today's expected high temperature.
- **temperature_min**: Today's expected low temperature.
- **apparent_temperature_max**: Today's expected apparent high temperature.
- **apparent_temperature_min**: Today's expected apparent low temperature.
- **precip_intensity_max**: Today's expected maximum intensity of precipitation.
- **units** (*Optional*): Specify the unit system. Default to `si` or `us` based on the temperature preference in Home Assistant. Other options are `auto`, `us`, `si`, `ca`, and `uk2`. - **units** (*Optional*): Specify the unit system. Default to `si` or `us` based on the temperature preference in Home Assistant. Other options are `auto`, `us`, `si`, `ca`, and `uk2`.
`auto` will let forecast.io decide the unit system based on location. `auto` will let forecast.io decide the unit system based on location.

View File

@ -0,0 +1,31 @@
---
layout: page
title: "FRITZ!Box"
description: "Instructions how to integrate a phone call monitor for AVM FRITZ!Box routers into Home Assistant."
date: 2016-08-13 15:00
sidebar: true
comments: false
sharing: true
footer: true
logo: avm.png
ha_category: System Monitor
ha_release: "0.27"
---
The `fritzbox_callmonitor` sensor monitors the call monitor exposed by [AVM Fritz!Box](http://avm.de/produkte/fritzbox/) routers
on TCP port 1012. It will assume the values 'idle', 'ringing', 'dialing', or 'talking',
with the phone numbers involved contained in the state attributes.
To use the Fritz!Box call monitor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
platform: fritzbox_callmonitor
```
Configuration variables:
- **host** (*Optional*): The IP address of your router, eg. 192.168.1.1. It is optional since every fritzbox is also reachable by using the IP address 169.254.1.1.
- **port** (*Optional*): The TCP port of the call monitor. There is usually no reason to change this.

View File

@ -0,0 +1,70 @@
---
layout: page
title: "HP ILO"
description: "How to integrate HP ILO (Integrated Lights-Out) sensors within Home Assistant."
date: 2016-08-15 19:00
sidebar: true
comments: false
sharing: true
footer: true
logo: hewlett_packard_enterprise.png
ha_category: System Monitor
ha_release: 0.27
ha_iot_class: "Local Polling"
---
The `hp_ilo` platform allows you to do an API call to the HP ILO (Integrated Lights-Out) sensor of your server, and use this data in (template) sensors.
The component will output the ILO information in the sensor attributes so they can be accessed like that.
If the ILO only returns a single value (e.g. a temperature or state), it will be put in the state field.
Some more details about what can be retrieved from these sensors is available in the [python-hpilo documentation](http://pythonhosted.org/python-hpilo/).
<p class='img'>
<img src='{{site_root}}/images/screenshots/hp_ilo.png' />
</p>
To use this component in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
platform: hp_ilo
host: IP_ADDRESS or HOSTNAME
port: PORT
username: USERNAME
password: PASSWORD
monitored_variables:
- server_name
- server_fqdn
- server_host_data
- server_oa_info
- server_power_status
- server_power_readings
- server_power_on_time
- server_asset_tag
- server_uid_status
- server_health
- network_settings
```
Configuration variables:
- **host** (*Required*): The hostname or IP address on which the ILO can be reached
- **port** (*Optional*): The port on which the ILO can be reached, defaults to port 443
- **username** (*Required*): The username used to connect to the ILO
- **password** (*Required*): The password used to connect to the ILO
- **monitored_variables** array (*Optional*): Information to be collected from the ILO, defaults to `server_name`
- **server_name**: Get the name of the server this iLO is managing
- **server_fqdn**: Get the fqdn of the server this iLO is managing
- **server_host_data**: Get SMBIOS records that describe the host
- **server_oa_info**: Get information about the Onboard Administrator of the enclosing chassis
- **server_power_status**: Whether the server is powered on or not
- **server_power_readings**: Get current, min, max and average power readings
- **server_power_on_time**: How many minutes ago has the server been powered on
- **server_asset_tag**: Gets the server asset tag
- **server_uid_status**: Get the status of the UID light
- **server_health**: Get server health information
- **network_settings**: Get the iLO network settings

View File

@ -21,7 +21,7 @@ The library used to get the data isn't officially supported and the only way to
To do this log into [Loop Energy](https://www.your-loop.com/). Once you're logged in you should be able see see your live readings on the webpage. To do this log into [Loop Energy](https://www.your-loop.com/). Once you're logged in you should be able see see your live readings on the webpage.
You can then open your browser's console window, how you do this varies by browser but in Chrome you click on `More Tools / Developer Tools' and click on the console window. You then type:- You can then open your browser's console window, how you do this varies by browser but in Chrome you click on `More Tools / Developer Tools' and click on the console window. You then type:
`Drupal.settings.navetas_realtime.` `Drupal.settings.navetas_realtime.`
@ -37,21 +37,22 @@ secret: "ELECTRICAL_SECRET"
serial: "ELECTRICAL_SERIAL" serial: "ELECTRICAL_SERIAL"
``` ```
The serial and secret tokens are the ones you need. If you just have an electricity monitor - then you won't see the gas keys. The serial and secret tokens are the ones you need. If you just have an electricity monitor then you won't see the gas keys.
Now you have the keys, add the following lines to your `configuration.yaml`, replacing the `SERIAL` and `SECRET` keys with the ones you found in the console: Now you have the keys, add the following lines to your `configuration.yaml`, replacing the `*_SERIAL` and `*_SECRET` keys with the ones you found in the console:
```yaml ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
sensor: sensor:
platform: loopenergy - platform: loopenergy
electricity_serial: ELECTRICAL_SERIAL electricity:
electricity_secret: ELECTRICAL_SECRET electricity_serial: 'ELECTRICAL_SERIAL'
gas_serial: GAS_SERIAL electricity_secret: 'ELECTRICAL_SECRET'
gas_secret: GAS_SECRET gas:
gas_type: metric gas_serial: 'GAS_SERIAL'
gas_calorific: 39.11 gas_secret: 'GAS_SECRET'
``` gas_type: imperial
gas_calorific: 38.2
Configuration variables: Configuration variables:
@ -59,9 +60,9 @@ Configuration variables:
- **electricity_secret** (*Required*): Secret key for your electricity sensor - **electricity_secret** (*Required*): Secret key for your electricity sensor
- **gas_serial** (*Optional*): Serial number for your gas sensor. - **gas_serial** (*Optional*): Serial number for your gas sensor.
- **gas_secret** (*Optional*): Secret key for your gas sensor. - **gas_secret** (*Optional*): Secret key for your gas sensor.
- **gas_type** (*Optional*): Type of meter `imperial` or `metric`, defaults to metric. - **gas_type** (*Optional*): Type of meter `imperial` or `metric`. Defaults to `metric`.
- **gas_calorific** (*Optional*): Calorific value of your gas supply (usually on your gas bill) - defaults to 39.11. - **gas_calorific** (*Optional*): Calorific value of your gas supply (usually on your gas bill). Defaults to 39.11.
The electricity readings are updated every 10 seconds and the gas readings every 15 minutes. The electricity readings are updated every 10 seconds and the gas readings every 15 minutes.
The gas readings are experimental and not all gas meters are properly supported - so if the data you see doesn't agree with the readings you see via loop energy please report an issue. The gas readings are experimental and not all gas meters are properly supported. So if the data you see doesn't agree with the readings you see via loop energy please report an issue.

View File

@ -0,0 +1,29 @@
---
layout: page
title: "MH-Z19 CO2 Sensor"
description: "Instructions on how to integrate the MH-Z19 CO2 sensor with Home Assistant."
date: 2016-08-24 00:00
sidebar: true
comments: false
sharing: true
footer: true
ha_category: sensor
ha_release: 0.27
---
The MH-Z19 is a small nondispersive infrared sensor that can measure CO2 sensors. High CO2 levels can lead to drowsiness, poor concentration, loss of attention or increased heart rate. Outside CO2 levels are usually between 250 and 350ppm, but inside levels can reach between 1000 and 5000 ppm. High CO2 levels indicate that you should increase ventilation.
Check out the [Open Home Automation web site](https://www.open-homeautomation.com/2016/08/24/monitor-co2-levels-in-your-house/) for a quick guide how to connect the sensor to your PC or Raspberry Pi.
To use this sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
sensor:
- platform: mhz19
serial_device: /dev/tty.SLAB_USBtoUART
name: CO2
```
- **serial_device** (*Required*): The serial port to use. On *nix systems, it can often be identified by `$ ls /dev/tty*`
- **name** (*Optional*): The name displayed in the frontend.

View File

@ -0,0 +1,54 @@
---
layout: page
title: "MQTT Room Presence"
description: "Instructions on how to track room presence within Home Assistant."
date: 2016-08-21 03:58
sidebar: true
comments: false
sharing: true
footer: true
logo: mqtt.png
ha_category: Presence Detection
ha_release: 0.27
ha_iot_class: depends
---
The `mqtt_room` sensor platform allows you to detect the indoor location of devices using MQTT clients.
To use this device tracker in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
platform: mqtt_room
device_id: 123testid
name: 'Cool device'
state_topic: 'room_presence'
timeout: 5
```
Configuration variables:
- **device_id** (*Required*): The device id to track for this sensor.
- **name** (*Optional*): The name of the sensor.
- **state_topic** (*Optional*): The topic that contains all subtopics for the rooms.
- **timeout** (*Optional*): The time in seconds after which a room presence state is considered old. An example: device1 is reported at scanner1 with a distance of 1. No further updates are sent from scanner1. After 5 secoonds scanner2 reports device with a distance of 2. The old location info is discarded in favor of the new scanner2 information as the timeout has passed.
Example JSON that should be published to the room topics:
```json
{
"id": "123testid",
"name": "Test Device",
"distance": 5.678
}
```
### {% linkable_title Setting up clients %}
This component works with any software that is sending data in the given format.
Each client should post the discovered devices in its own subtopic of the configured topic.
Instead of developing your own application, you can also use any of these already existing clients:
- [**room-assistant**](https://github.com/mKeRix/room-assistant): looks for Bluetooth LE beacons, based on Node.js

View File

@ -21,21 +21,31 @@ To use NZBGet with your installation, add the following to your `configuration.y
# Example configuration.yaml entry # Example configuration.yaml entry
sensor: sensor:
platform: nzbget platform: nzbget
base_url: http://192.168.1.18:6789 host: YOUR_NZBGET_HOST
port: 6789
username: apiuser username: apiuser
password: apipass password: apipass
monitored_variables: monitored_variables:
- ArticleCacheMB - article_cache
- DownloadRate - download_rate
- DownloadPaused - download_paused
- FreeDiskSpaceMB
- PostPaused
- RemainingSizeMB
``` ```
Configuration variables: Configuration variables:
- **base_url** (*Required*): The URL to your NZBGet installation. - **host** (*Required*): IP address where your NZBGet installation is running.
- **port** (*Optional*): The port of your NZBGet installation. Defaults to 6789.
- **name** (*Optional*): The prefix to use for your sensor. Defaults to NZBGet.
- **username** (*Optional*): The username to access your NZBGet installation. - **username** (*Optional*): The username to access your NZBGet installation.
- **password** (*Optional*): The password to access your NZBGet installation. - **password** (*Optional*): The password to access your NZBGet installation.
- **monitored_variables** (*Required*): Array of monitored details. - **monitored_variables** arrary (*Required*): List of monitored details.
- **article_cache**: Number of cached articles.
- **average_download_rate**: Average download rate
- **download_paused**: Paused downloads
- **download_rate**: Current download rate
- **download_size**: The size to download
- **free_disk_space**: Free disk space at the storage location of NZBGet
- **post_paused**: Paused posts
- **remaining_size**: Remaining size to download
- **uptime**: Uptime of NZBGet

View File

@ -24,21 +24,27 @@ sensor:
platform: sabnzbd platform: sabnzbd
name: SAB name: SAB
api_key: YOUR_API_KEY api_key: YOUR_API_KEY
base_url: YOUR_SABNZBD_BASE_URL host: YOUR_SABNZBD_HOST
port: 8080
monitored_variables: monitored_variables:
- type: 'current_status' - 'current_status'
- type: 'speed' - 'speed'
- type: 'queue_size' - 'queue_size'
- type: 'queue_remaining' - 'queue_remaining'
- type: 'disk_size' - 'disk_size'
- type: 'disk_free' - 'disk_free'
``` ```
Configuration variables: Configuration variables:
- **base_url** (*Required*): This is the base URL of your SABnzbd instance including the port number if not running on 80, eg. http://192.168.1.32:8124/ - **host** (*Required*): This is the base URL of your SABnzbd instance including the port number if not running on 80, eg. http://192.168.1.32:8124/
- **port** (*Optional*): The port to use whith SABnzbd instance. Defaults to 8080.
- **api_key** (*Required*): Name that will be used in the frontend for the pin. - **api_key** (*Required*): Name that will be used in the frontend for the pin.
- **name** (*Optional*): The name to use when displaying this SABnzbd instance. - **name** (*Optional*): The name to use when displaying this SABnzbd instance.
- **monitored_variables** (*Required*): Array of the monitored variables. - **monitored_variables** array (*Required*): List of the monitored variables.
- **type** (*Required*): Valid entries are: *'current_status'*, *'speed'*, *'queue_size'*, *'queue_remaining'*, *'disk_size'*, and *'disk_free'* - **current_status**: current status of the SABnzbd instance
- **speed**: Current speed
- **queue_size**: Size of the queue
- **queue_remaining**: Remaining elements in the queue
- **disk_size**: Disk size of the storage location
- **disk_free**: Free disk space at the sotrage location

View File

@ -0,0 +1,95 @@
---
layout: page
title: "Weather Underground (WUnderground)"
description: "Instructions how to integrate Weather Underground (WUnderground) Weather within Home Assistant."
date: 2016-08-18
sidebar: true
comments: false
sharing: true
footer: true
logo: wunderground.png
ha_category: Weather
ha_release: 0.27
ha_iot_class: "Cloud Polling"
---
The `wunderground` platform uses [Weather Underground](http://www.wunderground.com) as an source for current weather information.
<p class='note warning'>
Obtain WUnderground API [here](https://www.wunderground.com/weather/api). Free account allows 500 requests per day or 10 per minute.
</p>
To add Wunderground to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
platform: wunderground
api_key: your_api_key
pws_id: enter_pws_id
monitored_conditions:
- weather
- temp_f
- temp_c
- station_id
- feelslike_c
- feelslike_f
- feelslike_string
- heat_index_c
- heat_index_f
- heat_index_string
- dewpoint_c
- dewpoint_f
- dewpoint_string
- wind_kph
- wind_mph
- UV
- pressure_in
- pressure_mb
- wind_dir
- wind_string
- relative_humidity
- visibility_mi
- visibility_km
- precip_today_in
- precip_today_metric
- precip_today_string
- solarradiation
```
Configuration variables:
- **api_key** (Required): See above
- **pws_id** (Optional): You can enter your PWS id. Current list of Wunderground PWS stations is available [here](https://www.wunderground.com/weatherstation/ListStations.asp). If you do not enter the PWS ID, the current location information (latitude and longitude) from your `configuration.yaml` will be used to display weather conditions.
- **monitored_conditions** array (*Required*): Conditions to display in the frontend. The following conditions can be monitored.
- **weather**: A human-readable text summary with picture from Wunderground.
- **temp_f**: Current temperature in Fahrenheit
- **temp_c**: Current temperature in Celsius
- **station_id**: Your personal weather station (PWS) ID
- **feelslike_c**: Feels like (or apparent) temperature in celsius
- **feelslike_f**: Feels like (or apparent) temperature in Fahrenheit
- **feelslike_string**: Text summary of how the current teperature feels like
- **heat_index_c**: Heat index (combined effects of the temperature and humidity of the air) in Celsius
- **heat_index_f**: Heat index (combined effects of the temperature and humidity of the air) in Fahrenheit
- **heat_index_string**: Text summary of current heat index
- **dewpoint_c**: Temperature in celsius below which water droplets begin to condense and dew can form
- **dewpoint_f**: Temperature in fahrenheit below which water droplets begin to condense and dew can form
- **dewpoint_string**: Text summary of dew point
- **wind_kph**: Current wind speed in kph
- **wind_mph**: Current wind speed in mph
- **UV**: Current levels of UV radiation. See [here](https://www.wunderground.com/resources/health/uvindex.asp) for explanation.
- **pressure_in**: Atmospheric air pressure in inches
- **pressure_mb**: Atmospheric air pressure in millibars
- **wind_dir**: Wind direction
- **wind_string**: Text summary of current wind conditions
- **relative_humidity**: Reltive humidity
- **visibility_mi**: Average visibility in miles
- **visibility_km**: Average visibility in km
- **precip_today_in**: Total precipitation in inches
- **precip_today_metric**: Total precipitation in metric units
- **precip_today_string**: Text summary of precipitation today
- **solarradiation**: Current levels of solar radiation
Additional details about the API are available [here](https://www.wunderground.com/weather/api/d/docs).

View File

@ -8,8 +8,12 @@ comments: false
sharing: true sharing: true
footer: true footer: true
logo: ecobee.png logo: ecobee.png
ha_category: Thermostat ha_category: Deprecated
ha_release: 0.9 ha_release: 0.9
--- ---
<p class='note warning'>
**This platform has been deprecated in favor of a "[climate](/components/climate.ecobee/)" platform and will be removed in the future. Please use the climate platform.**
</p>
To get your Ecobee thermostats working with Home Assistant, follow the instructions for the general [Ecobee component](/components/ecobee/). To get your Ecobee thermostats working with Home Assistant, follow the instructions for the general [Ecobee component](/components/ecobee/).

View File

@ -8,10 +8,14 @@ comments: false
sharing: true sharing: true
footer: true footer: true
logo: eq3.gif logo: eq3.gif
ha_category: Thermostat ha_category: Deprecated
ha_iot_class: "Local Poll" ha_iot_class: "Local Poll"
--- ---
<p class='note warning'>
**This platform has been deprecated in favor of a "[climate](/components/climate.eq3btsmart/)" platform and will be removed in the future. Please use the climate platform.**
</p>
This platform allows you to integrate EQ3 Bluetooth Smart Thermostats. This platform allows you to integrate EQ3 Bluetooth Smart Thermostats.
The only functionality is to set the temperature, there doesn't seem to be any way to query the temperature sensor or battery level ([read more](https://forum.fhem.de/index.php/topic,39308.15.html)). The only functionality is to set the temperature, there doesn't seem to be any way to query the temperature sensor or battery level ([read more](https://forum.fhem.de/index.php/topic,39308.15.html)).

View File

@ -8,9 +8,13 @@ comments: false
sharing: true sharing: true
footer: true footer: true
logo: heat-control.png logo: heat-control.png
ha_category: Thermostat ha_category: Deprecated
--- ---
<p class='note warning'>
**This platform has been deprecated in favor of a "[climate](/components/climate.generic_thermostat/)" platform and will be removed in the future. Please use the climate platform.**
</p>
Heat Control is a thermostat implemented in Home Assistant. It uses a sensor and a switch connected to a heater under the hood. If the measured temperature is cooler then the target temperature, the heater will be turned on and turned off when required temperature is reached. Heat Control is a thermostat implemented in Home Assistant. It uses a sensor and a switch connected to a heater under the hood. If the measured temperature is cooler then the target temperature, the heater will be turned on and turned off when required temperature is reached.
```yaml ```yaml

View File

@ -8,10 +8,13 @@ comments: false
sharing: true sharing: true
footer: true footer: true
logo: heatmiser.png logo: heatmiser.png
ha_category: Thermostat ha_category: Deprecated
ha_release: "0.10" ha_release: "0.10"
--- ---
<p class='note warning'>
**This platform has been deprecated in favor of a "[climate](/components/climate.heatmiser/)" platform and will be removed in the future. Please use the climate platform.**
</p>
The `heatmiser` thermostat platform let you control [Heatmiser DT/DT-E/PRT/PRT-E](http://www.heatmisershop.co.uk/heatmiser-slimline-programmable-room-thermostat/) thermostats from Heatmiser. The module itself is currently setup to work over a RS232 -> RS485 converter, therefore it connects over IP. The `heatmiser` thermostat platform let you control [Heatmiser DT/DT-E/PRT/PRT-E](http://www.heatmisershop.co.uk/heatmiser-slimline-programmable-room-thermostat/) thermostats from Heatmiser. The module itself is currently setup to work over a RS232 -> RS485 converter, therefore it connects over IP.

View File

@ -8,9 +8,12 @@ comments: false
sharing: true sharing: true
footer: true footer: true
logo: honeywell.png logo: honeywell.png
ha_category: Thermostat ha_category: Deprecated
--- ---
<p class='note warning'>
**This platform has been deprecated in favor of a "[climate](/components/climate.honeywell/)" platform and will be removed in the future. Please use the climate platform.**
</p>
The `honeywell` thermostat platform let you control [Honeywell Connected](http://getconnected.honeywell.com/en/) thermostats from Home Assistant. The `honeywell` thermostat platform let you control [Honeywell Connected](http://getconnected.honeywell.com/en/) thermostats from Home Assistant.

View File

@ -8,10 +8,13 @@ comments: false
sharing: true sharing: true
footer: true footer: true
logo: knx.png logo: knx.png
ha_category: DIY ha_category: Deprecated
ha_release: 0.25 ha_release: 0.25
--- ---
<p class='note warning'>
**This platform has been deprecated in favor of a "[climate](/components/climate.knx/)" platform and will be removed in the future. Please use the climate platform.**
</p>
The `knx` thermostat platform is used as in interface with KNX thermostats. The `knx` thermostat platform is used as in interface with KNX thermostats.

View File

@ -9,6 +9,10 @@ sharing: true
footer: true footer: true
--- ---
<p class='note warning'>
**This component has been deprecated in favor of the "[climate](/components/climate/)" component and will be removed in the future. Please use cover.**
</p>
Thermostats offer Home Assistant a peek into the current and target temperature in a house. Some thermostats will also offer an away mode that will lower use of heating/cooling. Thermostats offer Home Assistant a peek into the current and target temperature in a house. Some thermostats will also offer an away mode that will lower use of heating/cooling.
<p class='img'> <p class='img'>

View File

@ -8,9 +8,12 @@ comments: false
sharing: true sharing: true
footer: true footer: true
logo: nest_thermostat.png logo: nest_thermostat.png
ha_category: Thermostat ha_category: Deprecated
--- ---
<p class='note warning'>
**This platform has been deprecated in favor of a "[climate](/components/climate.nest/)" platform and will be removed in the future. Please use the climate platform.**
</p>
The `nest` thermostat platform let you control a thermostat from [Nest](https://nest.com). The `nest` thermostat platform let you control a thermostat from [Nest](https://nest.com).

View File

@ -8,10 +8,13 @@ comments: false
sharing: true sharing: true
footer: true footer: true
logo: proliphix.png logo: proliphix.png
ha_category: Thermostat ha_category: Deprecated
ha_release: 0.11 ha_release: 0.11
--- ---
<p class='note warning'>
**This platform has been deprecated in favor of a "[climate](/components/climate.proliphix/)" platform and will be removed in the future. Please use the climate platform.**
</p>
The `proliphix` thermostat platform let you control [Proliphix](http://www.proliphix.com) thermostat from Home Assistant. The `proliphix` thermostat platform let you control [Proliphix](http://www.proliphix.com) thermostat from Home Assistant.

View File

@ -8,9 +8,12 @@ comments: false
sharing: true sharing: true
footer: true footer: true
logo: radiotherm.png logo: radiotherm.png
ha_category: Thermostat ha_category: Deprecated
--- ---
<p class='note warning'>
**This platform has been deprecated in favor of a "[climate](/components/climate.radiotherm/)" platform and will be removed in the future. Please use the climate platform.**
</p>
The `radiotherm` thermostat platform let you control a thermostat from [Radio Thermostat](http://www.radiothermostat.com/). The `radiotherm` thermostat platform let you control a thermostat from [Radio Thermostat](http://www.radiothermostat.com/).

View File

@ -8,10 +8,14 @@ comments: false
sharing: true sharing: true
footer: true footer: true
logo: z-wave.png logo: z-wave.png
ha_category: Thermostat ha_category: Deprecated
ha_release: 0.17 ha_release: 0.17
--- ---
<p class='note warning'>
**This platform has been deprecated in favor of a "[climate](/components/climate.zwave/)" platform and will be removed in the future. Please use the climate platform.**
</p>
To get your Z-Wave thermostat working with Home Assistant, follow the instructions for the general [Z-Wave component](/components/zwave/). To get your Z-Wave thermostat working with Home Assistant, follow the instructions for the general [Z-Wave component](/components/zwave/).
<p class='note'> <p class='note'>

View File

@ -0,0 +1,12 @@
---
layout: page
title: "Configuration.yaml by Teagan42"
description: ""
date: 2016-08-24 23:00
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Example configuration.yaml
ha_external_link: https://github.com/Teagan42/HomeAssistantConfig
---

View File

@ -7,7 +7,7 @@ sidebar: true
comments: false comments: false
sharing: true sharing: true
footer: true footer: true
ha_category: Custom Panel Examples ha_category: User Interface
--- ---
This is a [React](https://facebook.github.io/react/) implementation of [TodoMVC](http://todomvc.com/) but instead of checking off to do items, you are turning lights and switches on/off. This is a [React](https://facebook.github.io/react/) implementation of [TodoMVC](http://todomvc.com/) but instead of checking off to do items, you are turning lights and switches on/off.

View File

@ -0,0 +1,31 @@
---
layout: page
title: "Show Google Maps as a card"
description: "Example how to show a Google Map as a Google card."
date: 2016-08-20 19:05
sidebar: true
comments: false
sharing: true
footer: true
ha_category: User Interface
---
Using the [generic camera platform] you can present any image on the internet as a camera. Starting release 0.27 these urls can also be based on a template. This example uses this functionality to point a generic camera at the Google Maps static image API and pass in the location of a device.
It also leverages the `limit_refetch_to_url_change` option to ensure that we do not make a lot of requests to the Google Maps API.
```yaml
# Example configuration.yaml entry.
# Shows device_tracker.demo_paulus on a map.
camera:
name: Paulus
platform: generic
still_image_url: {% raw %}https://maps.googleapis.com/maps/api/staticmap?center={{ states.device_tracker.demo_paulus.attributes.latitude }},{{ states.device_tracker.demo_paulus.attributes.longitude }}&zoom=13&size=500x500&maptype=roadmap&markers=color:blue%7Clabel:P%7C{{ states.device_tracker.demo_paulus.attributes.latitude }},{{ states.device_tracker.demo_paulus.attributes.longitude }}{% endraw %}
limit_refetch_to_url_change: true
```
<p class='img'>
<img src='/images/components/camera/generic-google-maps.png' alt='Screenshot showing Google Maps integration in Home Assistant front end.'>
</p>
[generic camera platform]: /components/camera.generic/

View File

@ -0,0 +1,223 @@
---
layout: post
title: "0.27 is here to break eggs and take names: notifications, Hue fakery, safety and unification come to Home Assistant"
description: "HTML5 push notifications and grouping support, Configuration validations and checking, cover, climate and fan."
date: 2016-08-27 20:30:25 -0700
date_formatted: "August 27, 2016"
author: Robbie Trencheny
author_twitter: Robbie
comments: true
categories: Release-Notes
---
This week's blog post could only be possibly described by exactly one hashtag:
# #Amazing
<sup>or <sup>maybe<sup>#supersized</sup></sup></sup>
Keep reading to see what **#Amazing** things we have in store for you this week 😄! And make sure you read all the way to the end, because I left a present down there for those committed few among you :)
But first...
## {% linkable_title Some general housekeeping %}
Paulus ([@balloob]) is on vacation in Europe this week, so you will all have to deal with me, Robbie ([@robbiet480]) for this release blog post. Don't worry, Paulus will be back to tearing apart your pull requests in no time 😈.
Special thanks to my awesome helpers for this week's release who are looking over my shoulder to make sure I'm crossing my t's and dotting my i's: [@Teagan42], [@infamy] and [@fabaff].
For my next trick, let's hand out some...
## {% linkable_title Trophies %}
I felt that I had to 1-up Paulus ([@balloob]) somehow with his 500,000 pageviews stat he shared in the [0.26 blog post](/blog/2016/08/13/foursquare-fast-com-ffmpeg-gpsd/), so I pushed myself and our development community as a whole super hard the last two weeks to put a lot of love into Home Assistant to bring you not just one, but six **#Amazing** stats for this release. As of 0.27, we have now surpassed the following milestones:
* [10,000](https://travis-ci.org/home-assistant/home-assistant/builds/154660811) builds on Travis (congrats to [@BluGeni])
* [3,000](https://github.com/home-assistant/home-assistant/pull/3000) issues and pull requests (thanks [@kellerza]!)
* [2,000](https://github.com/home-assistant/home-assistant/pull/2991) pull requests alone (awesome [@fabaff]!!)
* 900 forks on Github!
In addition,
* We are very close to 4,000 stars on Github!
* [I'm now #5 contributor by most commits!!!](https://github.com/home-assistant/home-assistant/graphs/contributors) Hey wait, how'd this get in here 😳...
Now that we have that great news out of the way, onto this week's release which is going to keep the **#Amazing** gravy train rolling right along and get to the stuff you all _really_ are here for.
## {% linkable_title 0.27 %}
While this release is **#Amazing**, we had to break a few eggs (now you understand the title reference!) to make a beautiful omelette (using home automation obviously) so some platforms and components have needed to introduce breaking changes. Please make sure to read the Breaking Changes section below.
### {% linkable_title Hue Bridge Emulation %}
Thanks to [@mgbowen] we now have the functionality previously provided by [@blocke]'s [ha-local-echo](https://github.com/blocke/ha-local-echo) [built right into Home Assistant](/components/emulated_hue/)! This means that for those of you with devices that either lack or have a subpar integration with Home Assistant (looking at you Amazon Echo) you can now have a better experience by having your Home Assistant pretend to be a Hue Bridge. Personally, I have used [@auchter]'s [Haaska](https://github.com/auchter/haaska) previously but found that it was slow to respond and sometimes failed entirely. With the new [`emulated_hue`](/components/emulated_hue/) component, you can have local control of entities through Amazon Echo.
### {% linkable_title Notification improvements %}
We have some excellent upgrades to the notification system coming to you in 0.27, courtesy of me, [@robbiet480].
#### {% linkable_title HTML5 Push Notifications %}
This release adds support for [HTML5] push notifications on Chrome/Firefox/Opera on both desktop and Android devices. This means that you can send a notification to your phone even your Home Assistant is not in your mobile browser. When using Chrome you can even include 2 action buttons so that you can control your Home Assistant from your phone's lock screen, allowing you to do things like sound alarms or unlock your front door, all without leaving the notification. Thanks again to me ([@robbiet480]) and Paulus ([@balloob]) for all the hard work on this!
<p class='img'>
<img src='{{site_root}}/images/screenshots/html5-notify.png' />
</p>
#### {% linkable_title Notification Groups %}
Using the new notify `group` platform allows you to cut down a lot of duplicate automation logic by combining multiple notification platforms and `target`s into a single notify service. Check out the [docs](/components/notify.group/) for more info.
#### {% linkable_title `target` is no longer needed! %}
For platforms that support it, starting with the new HTML5 platform, any `target`s that are available will be exposed as individual services, so no more having to remember which `target`s to use. Please note that the existing services also still exist so you can keep using `target` if you wish.
### {% linkable_title Validate configuration before restarting Home Assistant %}
Ever restarted Home Assistant to test a configuration change just to find out there is a validation error? Well, not anymore! [@kellerza] has added a command line script that will validate your configuration as if you started Home Assistant.
```bash
$ hass --script check_config
```
### {% linkable_title Configuration validation %}
This release includes a big push on making sure all platforms contain proper configuration validation. This should help in getting your configuration right. Thanks to [@fabaff], [@pavoni], [@pvizeli], [@nkgilley] for all the hard work on this, you all rock!
<p class='img'>
<img src='{{site_root}}/images/screenshots/config-validation.png' />
</p>
### {% linkable_title FFMpeg motion/noise sensing %}
It's now possible to use [FFMpeg] to monitor a video stream and detect motion thanks to a new binary sensor platform by [@pvizeli].
### {% linkable_title Component clean up - Thermostat & HVAC -> Climate. Rollershutter & Garage Door -> Cover. %}
Due to our wild growth we ended up with a few components that had a lot of overlapping functionality. [@turbokongen] took on the hard job on merging them. Thermostat and HVAC platforms are now combined under the new Climate component. Rollershutter and Garage Door platforms are now combined under the new Cover component. You can easily upgrade by just swapping out the name. For example replace `thermostat` with `climate`. The old components have been deprecated and will be removed in the near future.
### {% linkable_title A new `fan` component %}
Along with the new `climate` component, [@Teagan42] and I ([@robbiet480]) decided we needed something simpler to just control a fan. Currently it has support for controlling Insteon fans. MQTT support will appear in 0.28.0. I tried to get it implemented before 0.27.0 but spent too long writing this blog post 😢.
### {% linkable_title All changes %}
<img src='/images/supported_brands/html5.png' style='clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;' width='100' /><img src='/images/supported_brands/mqtt.png' style='clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;' width='100' /><img src='/images/supported_brands/hewlett_packard_enterprise.png' style='clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;' width='100' /><img src='/images/supported_brands/wunderground.png' style='clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;' width='100' />
- Merge thermostat and HVAC components into new [climate] component ([@turbokongen])
- Merge rollershutter and garage door components into new [cover] component ([@turbokongen])
- Alarm Control Panel - Manual: Allow returning to previous state after [trigger] ([@tobiebooth])
- Sensor - DHT: Allow range [checking] ([@open-homeautomation])
- Light entities will now [expose] their features ([@shmuelzon])
- Sensor: Monitor HP ILO sensors on [HP] servers ([@Juggels])
- Sensor: Monitor [Fritzbox] Calls ([@DavidMStraub])
- Notify: LlamaLab [Automate] is now supported ([@danielperna84])
- Sensor: Serial [CO2] sensors now supported ([@open-homeautomation])
- Sensor: MQTT room [presence] detection ([@mKerix])
- Notify: New group platform allows [grouping] notify targets across platforms ([@robbiet480])
- [HTML5] push notifications ([@robbiet480], [@balloob])
- Weather: [Wunderground] now supported ([@arsaboo], [@Teagan42])
- New check config script to test validity before restarting HA ([@kellerza])
- Binary Sensor: Allow [monitoring] a camera feed using FFMpeg ([@pvizeli])
- Cover: Z-Wave platform now supports [positions] ([@nunofgs])
- Device tracker: allow using [Gravatar] for entity picture ([@robbiet480])
- Notify: platforms with known targets will expose them as standalone services ([@robbiet480])
- Camera: [MJPEG] and [Generic] camera's can now authenticate using digest auth ([@meatz])
- Weather: Forecast.io now can show daily temp/precip [forecast] values ([@DavidMStraub])
- Media Player: WebOS TV now allows [customizing][webos] the sources ([@roidayan])
- Device tracker: Allow tracking devices using [Bluetooth] Low-Energy ([@open-homeautomation])
- Notify: Ensure [Slack] messages appear as correct user ([@technicalpickles])
- YAML: [Secrets] will look for values in all parents folders up to the config root folder ([@Teagan42])
- Camera: Generic camera now supports [template] support ([@balloob])
- Slack: Allow sending [attachments] ([@technicalpickles])
- Device Tracking: TP-Link Archer C7 5 GHz devices will now also be [found] ([@dpford])
- Z-Wave: New rename [node] service added ([@jnewland])
- Wink: [Bug] fixes ([@w1ll1am23])
- Homematic: new device and controller variable [support] ([@danielperna84], [@pvizeli], [@mcdeck])
- Allow emulating a [Hue] bridge to control entities ([@mgbowen])
- New [Fan][fan] component ([@Teagan42], [@robbiet480])
### {% linkable_title Breaking changes %}
- Ecobee3 occupancy sensors have moved from sensor platform to binary sensor platform.
- Forecast.io entity IDs are now like `sensor.forecastio_temperature`. Previously they were like `sensor.weather_temperature`. Apologies for this change, but we needed to make Forecast.io more generic now that we have many weather platforms.
- The [Loop Energy][Loop] sensor configuration format changed slightly, please reformat based on the revised documentation.
- The configuration for the [SABnzbd] sensor has slightly changed. The prefix `type:` is no longer required for monitored variables.
### {% linkable_title Deprecations %}
- Using the `thermostat` and `hvac` components has been deprecated. Please migrate to the new `climate` component. (just change the component name, the configurations are compatible)
- Using the `rollershutter` and `garage_door` components have also been deprecated. Please migrate to the new `cover` component. (just change the component name, the configurations are compatible)
## {% linkable_title Finishing up %}
Thanks all for sticking with me to the end. I'll be taking over a lot of Paulus's (@balloob) work while he is gone, but as I said, don't worry because he'll be back well before 0.28.0 comes out. Hopefully you didn't find this jovial blog post too jarring from our standard style, I just wrote a lot of this at 2am after being awake for almost 20 hours, so I'm a little loopy hahaha 😴.
Also, thanks as always to our developer contributors, documentation contributors, but most of all our users! This would've just been a script that Paulus (@balloob) used to control his lights at home if we didn't have your enthusiasm.
Feel free to let me know what you thought of this blog post and release on Gitter or my [Twitter](https://twitter.com/robbie), or even the [Home Assistant Twitter](https://twitter.com/home_assistant). Did I mention we have a brand new [Facebook page](https://www.facebook.com/homeassistantio) that you should absolutely Like? There's a convenient Facebook Like and Twitter follow button right on the sidebar.
I almost forgot about your 🎁 for reading all the way to here: a 🍪! Hope you enjoy it in good health 😄.
Talk to you soon on Gitter and in your pull request comments!
-- Robbie
(p.s. To those of you that scrolled directly to the bottom to get your present, just know that you didn't earn it like the others did. 😄)
[@arsaboo]: https://github.com/arsaboo
[@auchter]: https://github.com/auchter
[@balloob]: https://github.com/balloob
[@blocke]: https://github.com/blocke
[@BluGeni]: https://github.com/BluGeni
[@danielperna84]: https://github.com/danielperna84
[@DavidMStraub]: https://github.com/DavidMStraub
[@dpford]: https://github.com/dpford
[@fabaff]: https://github.com/fabaff
[@infamy]: https://github.com/infamy
[@jnewland]: https://github.com/jnewland
[@Juggels]: https://github.com/Juggels
[@kellerza]: https://github.com/kellerza
[@mcdeck]: https://github.com/mcdeck
[@meatz]: https://github.com/meatz
[@mgbowen]: https://github.com/mgbowen
[@mKerix]: https://github.com/mKerix
[@nkgilley]: https://github.com/nkgilley
[@nunofgs]: https://github.com/nunofgs
[@open-homeautomation]: https://github.com/open-homeautomation
[@pavoni]: https://github.com/pavoni
[@pvizeli]: https://github.com/pvizeli
[@robbiet480]: https://github.com/robbiet480
[@roidayan]: https://github.com/roidayan
[@roidayan]: ttps://github.com/roidayan
[@shmuelzon]: https://github.com/shmuelzon
[@Teagan42]: https://github.com/Teagan42
[@technicalpickles]: https://github.com/technicalpickles
[@tobiebooth]: https://github.com/tobiebooth
[@turbokongen]: https://github.com/turbokongen
[@w1ll1am23]: https://github.com/w1ll1am23
[checking]: /components/sensor.dht/
[FFMpeg]: /components/binary_sensor.ffmpeg/
[Climate]: /components/climate/
[NZBGet]: /components/sensor.nzbget/
[SABnzbd]: /components/sensor.sabnzbd/
[HP]: /components/sensor.hp_ilo/
[Fritzbox]: /components/sensor.fritzbox_callmonitor/
[webos]: /components/media_player.webostv/
[HTML5]: /components/notify.html5/
[Gravatar]: /components/device_tracker/
[Loop]: /components/sensor.loop_energy/
[cover]: /components/cover/
[climate]: /components/climate/
[expose]: /components/light/
[Automate]: /components/notify.llamalab_automate/
[Secrets]: /topics/secrets/
[trigger]: /components/alarm_control_panel.manual/
[CO2]: /components/sensor.mhz19/
[presence]: /components/sensor.mqtt_room
[grouping]: /components/notify.group/
[Wunderground]: /components/sensor.wunderground/
[monitoring]: /components/binary_sensor.ffmpeg/
[MJPEG]: /components/camera.mjpeg/
[Generic]: /components/camera.generic/
[positions]: /components/cover.zwave/
[forecast]: /components/sensor.forecast/
[Bluetooth]: /components/device_tracker.bluetooth_le_tracker/
[Slack]: /components/notify.slack/
[template]: /components/camera.generic/
[Bug]: /components/wink/
[support]: /components/homematic/
[node]: /components/zwave/
[found]: /components/device_tracker.tplink/
[attachments]: /components/notify.slack/
[Hue]: /components/emulated_hue/
[fan]: /components/fan/

View File

@ -11,16 +11,33 @@ footer: true
Home Assistant allows components and platforms to specify their dependencies and requirements using the variables `DEPENDENCIES` and `REQUIREMENTS`. Both are lists that contain strings. Home Assistant allows components and platforms to specify their dependencies and requirements using the variables `DEPENDENCIES` and `REQUIREMENTS`. Both are lists that contain strings.
## Dependencies
Dependencies are other Home Assistant components that should be setup before the platform is loaded. An example is the MQTT sensor component, which requires an active connection to an MQTT broker. If Home Assistant is unable to load and setup the MQTT component, it will not setup the MQTT sensor component. Dependencies are other Home Assistant components that should be setup before the platform is loaded. An example is the MQTT sensor component, which requires an active connection to an MQTT broker. If Home Assistant is unable to load and setup the MQTT component, it will not setup the MQTT sensor component.
```python ```python
DEPENDENCIES = ['mqtt'] DEPENDENCIES = ['mqtt']
``` ```
Requirements are Python libraries that you would normally install using `pip`. If Home Assistant is unable to install the requirements or verify it is installed, the component will fail to load. ## Requirements
Requirements are Python libraries that you would normally install using `pip` for your component. Home Assistant will try to install the requirements into the `deps` subdirectory of the Home Assistant configuration directory (`.home-assistant` by default) or verify it is already installed at startup. If that fails, the component will fail to load.
Requirements is a list of strings. Each entry is a pip compatible string. For example, the media player Cast platform depends on the Python package PyChromecast v0.6.12: Requirements is a list of strings. Each entry is a pip compatible string. For example, the media player Cast platform depends on the Python package PyChromecast v0.6.12:
```python ```python
REQUIREMENTS = ['pychromecast==0.6.12'] REQUIREMENTS = ['pychromecast==0.6.12']
``` ```
During development of a component, it can be useful to test against different versions of a requirement. This can be done in two steps, using pychromecast as an example:
* `pip install pychromecast==0.6.13 --target ~/.homeassistant/deps`
* `hass --skip-pip`
This will use the specified version, and prevent Home Assistant from trying to override it with what is currently in `REQUIREMENTS`.
If you need to make changes to a requirement to support your component, it's also possible to pip install from a checkout of the requirement.
* `git clone https://github.com/balloob/pychromecast.git`
* `pip install ./pychromecast`
* `hass --skip-pip`

View File

@ -53,6 +53,7 @@ This page contains a list of people who have contributed in one way or another t
- [coteyr](https://github.com/coteyr/) - [coteyr](https://github.com/coteyr/)
- [Dale Higgs](https://github.com/dale3h) - [Dale Higgs](https://github.com/dale3h)
- [Dan Cinnamon](https://github.com/Cinntax) - [Dan Cinnamon](https://github.com/Cinntax)
- [Dan Ford](https://github.com/dpford)
- [Daniel Høyer Iversen](https://github.com/danielhiversen) - [Daniel Høyer Iversen](https://github.com/danielhiversen)
- [Daniel J. Kemp](https://github.com/danieljkemp/) - [Daniel J. Kemp](https://github.com/danieljkemp/)
- [Daniel Matuschek](https://github.com/usul27) - [Daniel Matuschek](https://github.com/usul27)
@ -62,6 +63,7 @@ This page contains a list of people who have contributed in one way or another t
- [Dan Sullivan](https://github.com/dansullivan86/) - [Dan Sullivan](https://github.com/dansullivan86/)
- [Daren Lord](https://github.com/Xorso) - [Daren Lord](https://github.com/Xorso)
- [David-Leon Pohl](https://github.com/DavidLP) - [David-Leon Pohl](https://github.com/DavidLP)
- [David Straub](https://github.com/DavidMStraub)
- [Dean Camera](https://github.com/abcminiuser) - [Dean Camera](https://github.com/abcminiuser)
- [Dean Galvin](https://github.com/FreekingDean) - [Dean Galvin](https://github.com/FreekingDean)
- [Dennis Karpienski](https://github.com/TheRealLink) - [Dennis Karpienski](https://github.com/TheRealLink)
@ -82,7 +84,6 @@ This page contains a list of people who have contributed in one way or another t
- [GadgetReactor](https://github.com/GadgetReactor) - [GadgetReactor](https://github.com/GadgetReactor)
- [Geoff Norton](https://github.com/kangaroo) - [Geoff Norton](https://github.com/kangaroo)
- [goir](https://github.com/goir) - [goir](https://github.com/goir)
- [Kevin Gottsman](https://github.com/gottsman)
- [Greg Dowling](https://github.com/pavoni) - [Greg Dowling](https://github.com/pavoni)
- [Guillem Barba](https://github.com/gbarba) - [Guillem Barba](https://github.com/gbarba)
- [Gustav Ahlberg](https://github.com/Gyran) - [Gustav Ahlberg](https://github.com/Gyran)
@ -118,13 +119,16 @@ This page contains a list of people who have contributed in one way or another t
- [joopert](https://github.com/joopert) - [joopert](https://github.com/joopert)
- [Joseph Hughes](https://github.com/joshughes) - [Joseph Hughes](https://github.com/joshughes)
- [Joseph Piron](https://github.com/eagleamon) - [Joseph Piron](https://github.com/eagleamon)
- [Josh Nichols](https://github.com/technicalpickles)
- [Josh Wright](https://github.com/JshWright/) - [Josh Wright](https://github.com/JshWright/)
- [Juggels](https://github.com/Juggels)
- [Julien Danjou](https://github.com/jd) - [Julien Danjou](https://github.com/jd)
- [Justin Moy](https://github.com/justincmoy) - [Justin Moy](https://github.com/justincmoy)
- [Justyn Shull](https://github.com/justyns/) - [Justyn Shull](https://github.com/justyns/)
- [Karen Goode](https://github.com/kfgoode) - [Karen Goode](https://github.com/kfgoode)
- [Keaton Taylor](https://github.com/keatontaylor) - [Keaton Taylor](https://github.com/keatontaylor)
- [kennedyshead](https://github.com/kennedyshead) - [kennedyshead](https://github.com/kennedyshead)
- [Kevin Gottsman](https://github.com/gottsman)
- [kireyeu](https://github.com/kireyeu) - [kireyeu](https://github.com/kireyeu)
- [kixam](https://github.com/kixam) - [kixam](https://github.com/kixam)
- [Kyle Hendricks](https://github.com/kylehendricks) - [Kyle Hendricks](https://github.com/kylehendricks)
@ -139,7 +143,9 @@ This page contains a list of people who have contributed in one way or another t
- [Markus Stenberg](https://github.com/fingon) - [Markus Stenberg](https://github.com/fingon)
- [Martin Hjelmare](https://github.com/MartinHjelmare) - [Martin Hjelmare](https://github.com/MartinHjelmare)
- [Matteo Lampugnani](https://github.com/t30) - [Matteo Lampugnani](https://github.com/t30)
- [Matthew Bowen](https://github.com/mgbowen)
- [Matthew Treinish](https://github.com/mtreinish) - [Matthew Treinish](https://github.com/mtreinish)
- [Matthias Grawinkel](https://github.com/meatz)
- [Michaël Arnauts](https://github.com/michaelarnauts) - [Michaël Arnauts](https://github.com/michaelarnauts)
- [Michael Gilbert](https://github.com/Zyell) - [Michael Gilbert](https://github.com/Zyell)
- [Michael Kutý](https://github.com/michaelkuty) - [Michael Kutý](https://github.com/michaelkuty)
@ -153,6 +159,7 @@ This page contains a list of people who have contributed in one way or another t
- [Nicolas Graziano](https://github.com/ngraziano) - [Nicolas Graziano](https://github.com/ngraziano)
- [Nils Uliczka](https://github.com/darookee) - [Nils Uliczka](https://github.com/darookee)
- [Nolan Gilley](https://github.com/nkgilley) - [Nolan Gilley](https://github.com/nkgilley)
- [Nuno Sousa](https://github.com/nunofgs)
- [Oliver van Porten](https://github.com/mcdeck) - [Oliver van Porten](https://github.com/mcdeck)
- [open-homeautomation](https://github.com/open-homeautomation) - [open-homeautomation](https://github.com/open-homeautomation)
- [Øystein Hansen](https://github.com/oeysteinhansen) - [Øystein Hansen](https://github.com/oeysteinhansen)
@ -168,6 +175,7 @@ This page contains a list of people who have contributed in one way or another t
- [rkabadi](https://github.com/rkabadi) - [rkabadi](https://github.com/rkabadi)
- [Robbie Trencheny](https://github.com/robbiet480) - [Robbie Trencheny](https://github.com/robbiet480)
- [Rob Olimpiu](https://github.com/olimpiurob) - [Rob Olimpiu](https://github.com/olimpiurob)
- [Roi Dayan](https://github.com/roidayan)
- [Rowan Hine](https://github.com/GreenTurtwig) - [Rowan Hine](https://github.com/GreenTurtwig)
- [rubund](https://github.com/rubund) - [rubund](https://github.com/rubund)
- [Ryan Kraus](https://github.com/rmkraus) - [Ryan Kraus](https://github.com/rmkraus)
@ -186,6 +194,7 @@ This page contains a list of people who have contributed in one way or another t
- [Theodor Lindquist](https://github.com/theolind) - [Theodor Lindquist](https://github.com/theolind)
- [tilutza](https://github.com/tilutza) - [tilutza](https://github.com/tilutza)
- [Tim Harton](https://github.com/timharton) - [Tim Harton](https://github.com/timharton)
- [Tobie Booth](https://github.com/tobiebooth)
- [toddeye](https://github.com/toddeye) - [toddeye](https://github.com/toddeye)
- [Tom Duijf](https://github.com/tomduijf) - [Tom Duijf](https://github.com/tomduijf)
- [trollkarlen](https://github.com/trollkarlen) - [trollkarlen](https://github.com/trollkarlen)

View File

@ -197,6 +197,7 @@ The Z-Wave component exposes seven services to help maintain the network.
| remove_node | Put the zwave controller in exclusion mode. Allows one to remove a device from the zwave network.| | remove_node | Put the zwave controller in exclusion mode. Allows one to remove a device from the zwave network.|
| soft_reset | Tells the controller to do a "soft reset". This is not supposed to lose any data, but different controllers can behave differently to a "soft reset" command.| | soft_reset | Tells the controller to do a "soft reset". This is not supposed to lose any data, but different controllers can behave differently to a "soft reset" command.|
| test_network | Tells the controller to send no-op commands to each node and measure the time for a response. In theory, this can also bring back nodes which have been marked "presumed dead".| | test_network | Tells the controller to send no-op commands to each node and measure the time for a response. In theory, this can also bring back nodes which have been marked "presumed dead".|
| rename_node | Sets a node's name. Requires an `entity_id` and `name` field. |
The soft_reset and heal_network commands can be used as part of an automation script The soft_reset and heal_network commands can be used as part of an automation script
to help keep a zwave network running relliably. For example: to help keep a zwave network running relliably. For example:

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

View File

@ -15,11 +15,11 @@ hide_github_edit: true
<div class="grid"> <div class="grid">
<div class="grid__item one-third lap-one-third palm-one-whole"> <div class="grid__item one-third lap-one-third palm-one-whole">
<div class='current-version material-card text'> <div class='current-version material-card text'>
<h1>Current Version: 0.26.3</h1> <h1>Current Version: 0.27.0</h1>
Released: <span class='release-date'>August 19, 2016</span> Released: <span class='release-date'>August 27, 2016</span>
<div class='links'> <div class='links'>
<a href='/blog/2016/08/13/foursquare-fast-com-ffmpeg-gpsd/'>Release notes</a> <a href='/blog/2016/08/28/notifications-hue-fake-unification/'>Release notes</a>
</div> </div>
</div> </div>
<div class='join-community material-card text'> <div class='join-community material-card text'>