mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-21 16:27:19 +00:00
Merge remote-tracking branch 'origin/current' into next
This commit is contained in:
commit
02d527dbf2
@ -142,12 +142,12 @@ social:
|
||||
|
||||
# Home Assistant release details
|
||||
current_major_version: 0
|
||||
current_minor_version: 50
|
||||
current_patch_version: 2
|
||||
date_released: 2017-07-31
|
||||
current_minor_version: 51
|
||||
current_patch_version: 0
|
||||
date_released: 2017-08-12
|
||||
|
||||
# Either # or the anchor link to latest release notes in the blog post.
|
||||
# Must be prefixed with a # and have double quotes around it.
|
||||
# Major release:
|
||||
patch_version_notes: "#release-0502---july-31"
|
||||
patch_version_notes: "#"
|
||||
# Minor release (Example #release-0431---april-25):
|
||||
|
@ -10,10 +10,10 @@ footer: true
|
||||
featured: true
|
||||
---
|
||||
|
||||
Setup and manage a [Let's Encrypt](https://letsencrypt.org/) certificate. This will create a certificate on the first run and renew it if the certificate is expiring in the next 30 days.
|
||||
Setup and manage a [Let's Encrypt](https://letsencrypt.org/) certificate. This will create a certificate on the first run and will auto-renew if the certificate is within 30 days of expiration.
|
||||
|
||||
<p class='note warning'>
|
||||
This add-on need port 80/443 to verify the certificate request, please stop all add-ons they use also this ports, otherwise you can not start this add-on.
|
||||
This add-on need port 80/443 to verify the certificate request, please stop all add-ons that also use these ports, or you may not be able to start this add-on.
|
||||
</p>
|
||||
|
||||
```json
|
||||
|
@ -1,15 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Woonveilig Alarm Control Panel"
|
||||
description: "Instructions how to integrate Woonveilig into Home Assistant."
|
||||
date: 2016-07-02 22:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: woonveilig.png
|
||||
ha_release: 0.51
|
||||
ha_category: Alarm
|
||||
---
|
||||
|
||||
For support for the Woonveilig alarm panel, see the [`egardia` platform](/components/alarm_control_panel.egardia/). Woonveilig is a brand name of Egardia, used in the Netherlands. The product is the same.
|
@ -110,7 +110,7 @@ then device authentication is required. Press the icon in the upper left corner
|
||||
|
||||
<img src='/images/screenshots/developer-tools.png' />
|
||||
|
||||
Select `apple_tv` as domain, `apple_tv_authenticate` as service and enter `{'entity_id': 'XXX'}` into "Service Data", but replace XXX with the entity id of your device (e.g. `media_player.apple_tv`). Press the button and hopefully you are presented with an input dialog asking for a pin code:
|
||||
Select `apple_tv` as domain, `apple_tv_authenticate` as service and enter `{"entity_id": "XXX"}` into "Service Data", but replace XXX with the entity id of your device (e.g. `media_player.apple_tv`). Press the button and hopefully you are presented with an input dialog asking for a pin code:
|
||||
|
||||
<img src='/images/components/apple_tv/auth_start.jpg' />
|
||||
|
||||
|
@ -32,3 +32,17 @@ Configuration variables:
|
||||
It is recommended to create a dedicated user on Arlo website to be used within Home Assistant and then share your Arlo cameras.
|
||||
|
||||
Finish its configuration by visiting the [Arlo sensor page](/components/sensor.arlo/) or [Arlo camera page](/components/camera.arlo/).
|
||||
|
||||
The Arlo component also provides a service to enable/disable the motion detection sensor. The example below enables the motion detection every time the Home Assistant service starts.
|
||||
|
||||
```yaml
|
||||
#automation.yaml
|
||||
- alias: Enable Arlo upton HA start'
|
||||
initial_state: 'on'
|
||||
trigger:
|
||||
platform: homeassitant
|
||||
event: start
|
||||
action:
|
||||
service: camera.enable_motion_detection
|
||||
entity_id: camera.arlo_frontdoor
|
||||
```
|
||||
|
@ -8,7 +8,7 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: home-assistant.png
|
||||
ha_category: Other
|
||||
ha_category: Utility
|
||||
---
|
||||
|
||||
|
||||
|
@ -222,3 +222,12 @@ automation:
|
||||
entity_id: climate.kitchen
|
||||
swing_mode: 1
|
||||
```
|
||||
#### {% linkable_title Customization %}
|
||||
|
||||
The step for the setpoint can be adjusted (default to 0,5 increments) by adding the following line into configuration
|
||||
|
||||
'''yaml
|
||||
customize:
|
||||
- entity_id
|
||||
target_temp_step: 1
|
||||
'''
|
||||
|
@ -68,11 +68,11 @@ devicename:
|
||||
|
||||
| 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 |
|
||||
| `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. You can also save the image file in a folder "www" in the same location (can be obtained from developer tools) where you have your configuration.yaml file and just use `picture: /local/favicon-192x192.png`. |
|
||||
| `icon` | mdi:account | An icon for this device (use as an alternative to `picture`). |
|
||||
| `gravatar` | None | An email address for the device's owner. If provided, it will override `picture` |
|
||||
| `track` | [uses platform setting] | 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 |
|
||||
| `consider_home` | [uses platform setting] | Allows you to override the global `consider_home` setting from the platform configuration on a per device level |
|
||||
| `gravatar` | None | An email address for the device's owner. If provided, it will override `picture`. |
|
||||
| `track` | [uses platform setting] | 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. |
|
||||
| `consider_home` | [uses platform setting] | Seconds to wait till marking someone as not home after not being seen. Allows you to override the global `consider_home` setting from the platform configuration on a per device level. |
|
||||
|
@ -17,6 +17,10 @@ As an alternative to the router-based device tracking, it is possible to directl
|
||||
|
||||
If you're on Debian or Ubuntu, you might have to install the packages for `arp` and `nmap`. Do so by running `$ sudo apt-get install net-tools nmap`. On a Fedora host run `$ sudo dnf -y install nmap`.
|
||||
|
||||
<p class='note'>
|
||||
If you are using [Hass.io](/hassio/) then just move forward to the configuration as all requirements are already fullfilled.
|
||||
</p>
|
||||
|
||||
Host detection is done via Nmap's "fast scan" (`-F`) of the most frequently used 100 ports, with a host timeout of 5 seconds.
|
||||
|
||||
To use this device tracker in your installation, add the following to your `configuration.yaml` file:
|
||||
|
@ -11,12 +11,16 @@ logo: ffmpeg.png
|
||||
ha_category: Hub
|
||||
---
|
||||
|
||||
The FFmpeg component allows other Home Assistant components to process video and audio streams. This component supports all FFmpeg versions since 3.0.0; if you have a older version, please update.
|
||||
The `ffmpeg` component allows other Home Assistant components to process video and audio streams. This component supports all FFmpeg versions since 3.0.0; if you have a older version, please update.
|
||||
|
||||
<p class='note'>
|
||||
You need the `ffmpeg` binary in your system path. On Debian 8 or Raspbian (Jessie) you can install it from [debian-backports](https://backports.debian.org/Instructions/). If you want [hardware acceleration](https://trac.ffmpeg.org/wiki/HWAccelIntro) support on a Raspberry Pi, you will need to build from source by yourself. Windows binaries are available on the [FFmpeg](http://www.ffmpeg.org/) website.
|
||||
</p>
|
||||
|
||||
<p class='note'>
|
||||
If you are using [Hass.io](/hassio/) then just move forward to the configuration as all requirements are already fullfilled.
|
||||
</p>
|
||||
|
||||
To set it up, add the following information to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
|
@ -18,11 +18,14 @@ This offers the official frontend to control Home Assistant.
|
||||
frontend:
|
||||
```
|
||||
|
||||
#### Themes
|
||||
### {% linkable_title Themes %}
|
||||
|
||||
Starting with version 0.49 you can define themes:
|
||||
|
||||
Example:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
frontend:
|
||||
themes:
|
||||
happy:
|
||||
@ -31,13 +34,15 @@ frontend:
|
||||
primary-color: blue
|
||||
```
|
||||
|
||||
The example above defined two themes named `happy` and `sad`. For each theme you can set values for CSS variables. For a partial list of variables used by the main frontend see [ha-style.html](https://github.com/home-assistant/home-assistant-polymer/blob/master/src/resources/ha-style.html)
|
||||
The example above defined two themes named `happy` and `sad`. For each theme you can set values for CSS variables. For a partial list of variables used by the main frontend see [ha-style.html](https://github.com/home-assistant/home-assistant-polymer/blob/master/src/resources/ha-style.html).
|
||||
|
||||
There are 2 themes-related services:
|
||||
- `frontend.reload_themes` - reloads theme configuration from yaml.
|
||||
- `frontend.set_theme(name)` - sets backend-preferred theme name.
|
||||
|
||||
- `frontend.reload_themes`: reloads theme configuration from your `configuration.yaml` file.
|
||||
- `frontend.set_theme(name)`: sets backend-preferred theme name.
|
||||
|
||||
Example in automation:
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
- alias: 'Set theme at startup'
|
||||
@ -48,5 +53,5 @@ automation:
|
||||
action:
|
||||
service: frontend.set_theme
|
||||
data:
|
||||
name: pink
|
||||
name: happy
|
||||
```
|
||||
|
@ -13,7 +13,7 @@ ha_release: 0.23
|
||||
ha_iot_class: "Local Push"
|
||||
---
|
||||
|
||||
The HDMI CEC component provides services that allow selecting the active device, powering on all devices, setting all devices to standby and creates switch entites for HDMI devices. Devices are defined in the configuration file by associating HDMI port number and a device name. Connected devices that provide further HDMI ports, such as Soundbars and AVRs are also supported. Devices are listed from the perspective of the CEC-enabled Home Assistant device. Any connected device can be listed, regardless of whether it supports CEC. Ideally the HDMI port number on your device will map correctly the CEC physical address. If it does not, use `cec-client` (part of the `libcec` package) to listen to traffic on the CEC bus and discover the correct numbers.
|
||||
The `hdmi_cec` component provides services that allow selecting the active device, powering on all devices, setting all devices to standby and creates switch entites for HDMI devices. Devices are defined in the configuration file by associating HDMI port number and a device name. Connected devices that provide further HDMI ports, such as Soundbars and AVRs are also supported. Devices are listed from the perspective of the CEC-enabled Home Assistant device. Any connected device can be listed, regardless of whether it supports CEC. Ideally the HDMI port number on your device will map correctly the CEC physical address. If it does not, use `cec-client` (part of the `libcec` package) to listen to traffic on the CEC bus and discover the correct numbers.
|
||||
|
||||
## {% linkable_title CEC Setup %}
|
||||
|
||||
@ -25,6 +25,10 @@ The computer running Home Assistant must support CEC, and of course be connected
|
||||
|
||||
[libcec](https://github.com/Pulse-Eight/libcec) must be installed for this component to work. Follow the installation instructions for your environment, provided at the link. `libcec` installs Python 3 bindings by default as a system Python module. If you are running Home Assistant in a [Python virtual environment](/getting-started/installation-virtualenv/), make sure it can access the system module, by either symlinking it or using the `--system-site-packages` flag.
|
||||
|
||||
<p class='note'>
|
||||
If you are using [Hass.io](/hassio/) then just move forward to the configuration as all requirements are already fullfilled.
|
||||
</p>
|
||||
|
||||
#### {% linkable_title Symlinking into virtual environment %}
|
||||
|
||||
Create a symlink to the `cec` installation. Keep in mind different installation methods will result in different locations of cec.
|
||||
|
@ -28,6 +28,7 @@ image_processing:
|
||||
source:
|
||||
- entity_id: camera.garage
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **region** (*Required*): Country or region. List of supported [values](https://github.com/openalpr/openalpr/tree/master/runtime_data/config).
|
||||
|
@ -17,8 +17,6 @@ ha_release: 0.47
|
||||
|
||||
Some pre-defined classifiers can be found here: https://github.com/opencv/opencv/tree/master/data
|
||||
|
||||
### {% linkable_title Configuration %}
|
||||
|
||||
To setup OpenCV with Home Assistant, add the following section to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
|
@ -17,6 +17,10 @@ ha_iot_class: "Local Polling"
|
||||
|
||||
The `seven_segments` image processing platform allows you to read physical seven segments displays through Home Assistant. [`ssocr`](https://www.unix-ag.uni-kl.de/~auerswal/ssocr/) is used to extract the value shown on the display which is observed by a [camera](/components/camera/). `ssocr` need to be available on your system. Check the installation instruction for Fedora below or use `$ sudo apt-get install ssocr` on a Debian-based system:
|
||||
|
||||
<p class='note'>
|
||||
If you are using [Hass.io](/hassio/) then just move forward to the configuration as all requirements are already fullfilled.
|
||||
</p>
|
||||
|
||||
```bash
|
||||
$ sudo dnf -y install imlib2-devel
|
||||
$ git clone https://github.com/auerswal/ssocr.git
|
||||
|
@ -18,26 +18,44 @@ Philips Hue support is integrated into Home Assistant as a light platform. The p
|
||||
|
||||
Once discovered, if you have a custom default view, locate `configurator.philips_hue` in the entities list ( < > ) and add it to a group in `configuration.yaml`. Restart Home Assistant so that the configurator is visible in the Home Assistant dashboard. Once Home Assistant is restarted, locate and click on `configurator.philips_hue` to bring up the initiation dialog. This will prompt you to press the Hue button to register the Hue hub in home assistant. Once complete, the configurator entity isn't needed anymore and can be removed from any visible group in `configuration.yaml`.
|
||||
|
||||
When you configure the Hue bridge from Home Assistant, it writes a token to a file in your Home Assistant [configuration directory](/docs/configuration/). That token authenticates the communication with the Hue bridge. This token uses the IP Address of the Hue Bridge. If the IP address for the Hue Bridge changes, you will need to register the Hue Bridge with Home Assistant again. To avoid this you may set up DHCP registration for your Hue Bridge, so that it always has the same IP address.
|
||||
|
||||
Restarting Home Assistant once more should result in the Hue lights listed as "light" entities. Add these light entities to configuration.yaml and restart home assistant once more to complete the installation.
|
||||
|
||||
If you want to enable the component without relying on the [discovery component](/components/discovery/), add the following lines to your `configuration.yaml`:
|
||||
If you want to enable the component without relying on the [discovery component](/components/discovery/), add the following lines to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
light:
|
||||
platform: hue
|
||||
- platform: hue
|
||||
host: DEVICE_IP_ADDRESS
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **host** (*Optional*): IP address of the device, eg. 192.168.1.10. Required if not using the `discovery` component to discover Hue bridges.
|
||||
|
||||
- **allow_unreachable** (*Optional*): (true/false) This will allow unreachable bulbs to report their state correctly.
|
||||
- **filename** (*Optional*): Make this unique if specifying multiple Hue hubs.
|
||||
- **allow_in_emulated_hue** (*Optional*): )true/false) Enable this to block all Hue entities from being added to the `emulated_hue` component.
|
||||
- **allow_hue_groups** (*Optional*): (true/false) Enable this to stop Home Assistant from importing the groups defined on the Hue bridge.
|
||||
|
||||
### {% linkable_title Multiple Hue bridges %}
|
||||
|
||||
If you use multiple Hue bridges then it's needed that you provide a configuration file for every bridge. The bridges can't share a single configuration file.
|
||||
|
||||
Add `filename` to your Hue configuration entry in your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
light:
|
||||
- platform: hue
|
||||
host: BRIDGE1_IP_ADDRESS
|
||||
filename: phue.conf
|
||||
- platform: hue
|
||||
host: BRIDGE2_IP_ADDRESS
|
||||
filename: phue2.conf
|
||||
```
|
||||
|
||||
### {% linkable_title Using Hue Groups in Home Assistant %}
|
||||
|
||||
The Hue API allows you to group lights. Home Assistant also supports grouping of entities natively, but sometimes it can be usefull to use Hue Groups to group light bulbs. By doing so, Home Assistant only needs to send one API call to change the state of all the bulbs in those groups instead of one call for every light in the group. This causes all the bulbs to change state simultaniously.
|
||||
@ -73,10 +91,11 @@ More information can be found on the [Philips Hue API documentation](https://www
|
||||
|
||||
### {% linkable_title Using Hue Scenes in Home Assistant %}
|
||||
|
||||
The Hue platform has it's own concept of Scenes for setting the colors of a group of lights at once. Hue Scenes are very cheap, get created by all kinds of apps (as it is the only way to have 2 or more lights change at the same time), and are rarely deleted. A typical Hue hub might have hundreds of scenes stored in them, many that you've never used, almost all very poorly named.
|
||||
The Hue platform has it's own concept of scenes for setting the colors of a group of lights at once. Hue Scenes are very cheap, get created by all kinds of apps (as it is the only way to have 2 or more lights change at the same time), and are rarely deleted. A typical Hue hub might have hundreds of scenes stored in them, many that you've never used, almost all very poorly named.
|
||||
|
||||
To avoid user interface overload we don't expose Scenes directly. Instead there is a [light.hue_activate_scene](/components/light/#service-lighthue_activate_scene) service which can be used by `automation` or `script` components.
|
||||
To avoid user interface overload we don't expose scenes directly. Instead there is a [light.hue_activate_scene](/components/light/#service-lighthue_activate_scene) service which can be used by `automation` or `script` components.
|
||||
This will have all the bulbs transitioned at once, instead of one at a time using standard scenes in Home Assistant.
|
||||
|
||||
For instance:
|
||||
|
||||
```yaml
|
||||
@ -92,7 +111,7 @@ script:
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `group_name` | no | The group/room name of the lights. Find this in the Hue official app.
|
||||
| `scene_name` | no | The name of the Scene. Find this in the Hue official app.
|
||||
| `scene_name` | no | The name of the scene. Find this in the Hue official app.
|
||||
|
||||
*Note*: `group_name` is not linked to Home Assistant group name.
|
||||
|
||||
@ -100,15 +119,14 @@ script:
|
||||
|
||||
How do you find these names?
|
||||
|
||||
The easiest way to do this is only use the scenes from the 2nd generation Hue app. That is organized by Room (Group) and Scene
|
||||
Name. Use the values of Room name and Scene name that you see in the app. You can test these work on the `dev-service` console of your Home Assistant instance.
|
||||
The easiest way to do this is only use the scenes from the 2nd generation Hue app. That is organized by room (group) and scene Name. Use the values of room name and scene name that you see in the app. You can test these work on the `dev-service` console of your Home Assistant instance.
|
||||
|
||||
Alternatively, you can dump all rooms and scene names using this [gist](https://gist.github.com/sdague/5479b632e0fce931951c0636c39a9578). This does **not** tell you which groups and scenes work together but it's sufficient to get values that you can test in the `dev-service` console.
|
||||
|
||||
*** Caveats ***
|
||||
|
||||
The Hue API doesn't activate Scenes directly, only on a Hue Group (typically Rooms, especially if using the 2nd gen app). But Hue Scenes don't actually reference their group. So heuristic matching is used.
|
||||
The Hue API doesn't activate scenes directly, only on a Hue Group (typically rooms, especially if using the 2nd gen app). But Hue Scenes don't actually reference their group. So heuristic matching is used.
|
||||
|
||||
Neither Group names or Scene names are guaranteed unique in Hue. If you are getting non deterministic behavior, adjust your Hue scenes via the App to be more identifying.
|
||||
Neither group names or scene names are guaranteed unique in Hue. If you are getting non deterministic behavior, adjust your Hue scenes via the App to be more identifying.
|
||||
|
||||
The Hue hub has limitted spaces for Scenes, and will delete Scenes if new ones get created that would overflow that space. The API docs say this is based on Least Recently Used.
|
||||
The Hue hub has limitted spaces for scenes, and will delete scenes if new ones get created that would overflow that space. The API docs say this is based on "Least Recently Used".
|
||||
|
@ -52,14 +52,15 @@ Determine your bulb ip (using router, software, ping ...)
|
||||
</p>
|
||||
|
||||
<p class='note warning'>
|
||||
This component is tested to work with the following models:
|
||||
This component is tested to work with the following models. If you have a different model and it is working please let us know.
|
||||
</p>
|
||||
|
||||
- **YLDP01YL**: LED Bulb (White)
|
||||
- **YLDP02YL**: LED Bulb (Color)
|
||||
- **YLDP03YL**: LED Bulb (Color) - E26
|
||||
- **YLDD02YL**: Lightstrip (Color)
|
||||
|
||||
If you have a different model and it is working please let us know.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -8,7 +8,7 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: home-assistant.png
|
||||
ha_category: "Other"
|
||||
ha_category: "Utility"
|
||||
---
|
||||
|
||||
The logger component lets you define the level of logging activities in Home Assistant.
|
||||
|
@ -10,7 +10,7 @@ footer: true
|
||||
logo: bluesound.png
|
||||
ha_category: Media Player
|
||||
featured: true
|
||||
ha_release: 0.46
|
||||
ha_release: 0.51
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
|
@ -31,7 +31,7 @@ Supported devices:
|
||||
- Other Denon AVR receivers (untested)
|
||||
- Marantz receivers (experimental)
|
||||
|
||||
<pre class='note'>
|
||||
<pre class='note warning'>
|
||||
If you have something else using the IP controller for your Denon AVR 3808CI, such as your URC controller, it will not work! There is either a bug or security issue with some models where only one device could be controlling the IP functionality.
|
||||
</pre>
|
||||
|
||||
|
@ -18,23 +18,24 @@ The `vizio` component will allow you to control [SmartCast](https://www.vizio.co
|
||||
|
||||
## Pairing
|
||||
|
||||
Before adding TV to Home Assistant you'll need to pair it manually, to do so follow these steps:
|
||||
Before adding your TV to Home Assistant you'll need to pair it manually. To do so follow these steps:
|
||||
|
||||
Install the command-line tool using pip (you can choose to download it manually):
|
||||
Install the command-line tool using pip (or you can choose to download it manually):
|
||||
|
||||
```bash
|
||||
$ pip3 install git+https://github.com/vkorn/pyvizio.git@master
|
||||
$ pip3 install -I .
|
||||
```
|
||||
|
||||
Make sure that your TV is on, as sometimes it won't show PIN code if it wasn't on during pairing initialization.
|
||||
Make sure that your TV is on before continuing.
|
||||
|
||||
If you don't know IP address of your TV run following command:
|
||||
|
||||
```bash
|
||||
$ pyvizio --ip=0 --auth=0 discover
|
||||
```
|
||||
|
||||
Initiate pairing:
|
||||
Enter the following command to initiate pairing:
|
||||
|
||||
```bash
|
||||
$ pyvizio --ip={ip} pair
|
||||
@ -44,20 +45,20 @@ Initiation will show you two different values:
|
||||
|
||||
| Value | Description |
|
||||
|:----------------|:---------------------|
|
||||
| Challenge type | Usually it's should be `"1"`, if it's not the case for you, use additional parameter `--ch_type=your_type` in the next step |
|
||||
| Challenge type | Usually it should be `"1"`. If not, use the additional parameter `--ch_type=your_type` in the next step |
|
||||
| Challenge token | Token required to finalize pairing in the next step |
|
||||
|
||||
Finally, at this point PIN code should be displayed at the top of your TV. With all these values, you can now finish pairing:
|
||||
Finally, at this point a PIN code should be displayed at the top of your TV. With all these values, you can now finish pairing:
|
||||
|
||||
```bash
|
||||
$ pyvizio --ip={ip} pair_finish --token={challenge_token} --pin={tv_pin}
|
||||
```
|
||||
|
||||
You will need authentication token returned by this command to configure Home Assistant.
|
||||
You will need the authentication token returned by this command to configure Home Assistant.
|
||||
|
||||
## Configuration
|
||||
|
||||
To add your Vizio TV to your installation, add following to your `configuration.yaml` file:
|
||||
To add your Vizio TV to your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -70,13 +71,13 @@ media_player:
|
||||
Configuration variables:
|
||||
|
||||
- **host** (*Required*): IP address of your TV.
|
||||
- **access_token** (*Required*): Authentication token you've received in last step of the pairing process.
|
||||
- **access_token** (*Required*): Authentication token you received in the last step of the pairing process.
|
||||
|
||||
## Notes and limitations
|
||||
|
||||
### Turning TV on
|
||||
|
||||
If you do have `Power Mode` of your TV configured to be `Eco Mode`, turning device ON won't work.
|
||||
If the `Power Mode` of your TV is set to `Eco Mode`, turning the device ON won't work.
|
||||
|
||||
### Changing tracks
|
||||
|
||||
@ -87,7 +88,8 @@ Changing tracks works like channels switching. If you have source other than reg
|
||||
Source list shows all external devices connected to the TV through HDMI plus list of internal devices (TV mode, Chrome Cast, etc.).
|
||||
|
||||
<p class='note'>
|
||||
Vizio SmartCast service is accessible through HTTPS with self-signed certificate. It means that if you have low LOGLEVEL in your Home Assistant configuration, you'll see a lot of warnings like this `InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised.`
|
||||
Vizio SmartCast service is accessible through HTTPS with self-signed certificate. If you have low LOGLEVEL in your Home Assistant configuration, you'll see a lot of warnings like this:
|
||||
`InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised.`
|
||||
|
||||
As an option, you could proxy all calls for example through NGINX.
|
||||
You can adjust the log level for `media_player` components with the [logger](https://home-assistant.io/components/logger/) component, or if you need to keep a low log level for `media_player` you could proxy calls to your TV through an NGINX reverse proxy.
|
||||
</p>
|
||||
|
@ -63,6 +63,7 @@ Thanks to the [`proc`](https://en.wikipedia.org/wiki/Procfs) file system, variou
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: command_line
|
||||
name: CPU Temperature
|
||||
command: "cat /sys/class/thermal/thermal_zone0/temp"
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
layout: page
|
||||
title: "FRITZ!Box"
|
||||
title: "FRITZ!Box Call Monitor"
|
||||
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
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
layout: page
|
||||
title: "FRITZ!Box"
|
||||
title: "FRITZ!Box Net Monitor"
|
||||
description: "Instructions how to integrate an AVM FRITZ!Box monitor into Home Assistant."
|
||||
date: 2017-01-17 22:00
|
||||
sidebar: true
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
layout: page
|
||||
title: "London Undergound"
|
||||
title: "London Underground"
|
||||
description: "Display the current status of London underground & overground lines within Home Assistant."
|
||||
date: 2017-07-15 18:45
|
||||
sidebar: true
|
||||
|
@ -13,6 +13,8 @@ ha_release: 0.39
|
||||
ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
The `pocketcasts` sensor platform let one monitor the podcasts at [Pocket Casts](https://play.pocketcasts.com/).
|
||||
|
||||
To enable this sensor, add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
@ -23,7 +25,7 @@ sensor:
|
||||
password: YOUR_PASSWORD
|
||||
```
|
||||
|
||||
Configuration options for the PocketCasts Sensor:
|
||||
Configuration variables:
|
||||
|
||||
- **username** (*Required*): The username to access the PocketCasts service.
|
||||
- **password** (*Required*): The password for the given username.
|
||||
|
@ -94,7 +94,7 @@ sensor:
|
||||
unit_of_measurement: MB
|
||||
```
|
||||
|
||||
### {% linkable_title Value for other Home Assistant instance %}
|
||||
### {% linkable_title Value from another Home Assistant instance %}
|
||||
|
||||
The Home Assistant [API](/developers/rest_api/) exposes the data from your attached sensors. If you are running multiple Home Assistant instances which are not [connected](/developers/architecture/#multiple-connected-instances) you can still get information from them.
|
||||
|
||||
|
@ -14,7 +14,7 @@ ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
|
||||
The `scrape` sensor platform is scraping information from websites. The sensor loads a HTML page and gives you the option to search and split out a value. As this is not a full-blown web scraper like [scrapy](https://scrapy.org/). It will most likely only work with simple webpages and it can be time-consuming to get the right section.
|
||||
The `scrape` sensor platform is scraping information from websites. The sensor loads a HTML page and gives you the option to search and split out a value. As this is not a full-blown web scraper like [scrapy](https://scrapy.org/), it will most likely only work with simple webpages and it can be time-consuming to get the right section.
|
||||
|
||||
To enable this sensor, add the following lines to your `configuration.yaml` file:
|
||||
|
||||
|
@ -15,6 +15,20 @@ ha_iot_class: "Local Polling"
|
||||
|
||||
The `supervisord` platform allows you to track the states of [Supervisord](http://supervisord.org/).
|
||||
|
||||
It required that you enable the HTTP feature in the `/etc/supervisord.conf` configuration file.
|
||||
|
||||
```text
|
||||
[inet_http_server]
|
||||
port=127.0.0.1:9001
|
||||
```
|
||||
|
||||
After a restart of `supervisord` you should be able to access the web interface. If needed then this could be added as a [iFrame panel](/components/panel_iframe/).
|
||||
|
||||
<p class='img'>
|
||||
<img src='{{site_root}}/images/screenshots/supervisor.png' />
|
||||
</p>
|
||||
|
||||
|
||||
To use this sensor in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
|
@ -8,9 +8,9 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: synology.png
|
||||
ha_category: Sensor
|
||||
ha_category: System Monitor
|
||||
ha_release: 0.32
|
||||
ha_iot_class: depends
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
|
||||
@ -31,14 +31,6 @@ sensor:
|
||||
- network_up
|
||||
```
|
||||
|
||||
<p class='note'>
|
||||
After booting Home Assistant it can take up to 15 minutes for the sensors to show up. This is due to the fact that sensors are created after Home Assistant has fully been initialized.
|
||||
</p>
|
||||
|
||||
<p class='note warning'>
|
||||
This sensor will wake up your Synology NAS if it's in hibernation mode.
|
||||
</p>
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **host** (*Required*): The IP address of the Synology NAS to monitor
|
||||
@ -79,7 +71,15 @@ Configuration variables:
|
||||
- **volume_disk_temp_avg**: Displays the average temperature of all disks in the volume (creates a new entry for each volume).
|
||||
- **volume_disk_temp_max**: Displays the maximum temperature of all disks in the volume (creates a new entry for each volume).
|
||||
|
||||
Separate User Configuration:
|
||||
<p class='note'>
|
||||
After booting Home Assistant it can take up to 15 minutes for the sensors to show up. This is due to the fact that sensors are created after Home Assistant has fully been initialized.
|
||||
</p>
|
||||
|
||||
<p class='note warning'>
|
||||
This sensor will wake up your Synology NAS if it's in hibernation mode.
|
||||
</p>
|
||||
|
||||
## {% linkable_title Separate User Configuration %}
|
||||
|
||||
Due to the nature of the Synology DSM API it is required to grant the user admin rights. This is related to the fact that utilization information is stored in the core module.
|
||||
|
||||
|
@ -55,7 +55,7 @@ You will notice that the output from the service is not just a single value (it
|
||||
```yaml
|
||||
sensor:
|
||||
# Example configuration.yaml entry
|
||||
platform: tcp
|
||||
- platform: tcp
|
||||
name: Central Heating Pressure
|
||||
host: 10.0.0.127
|
||||
port: 8888
|
||||
@ -89,7 +89,7 @@ The entry for the `configuration.yaml` file for a `hddtemp` sensor could look li
|
||||
```yaml
|
||||
sensor:
|
||||
# Example configuration.yaml entry
|
||||
platform: tcp
|
||||
- platform: tcp
|
||||
name: HDD temperature
|
||||
host: 127.0.0.1
|
||||
port: 7634
|
||||
|
@ -81,7 +81,7 @@ stop you're interested in
|
||||
3. Tick the 'map data' layer, and wait for clickable objects to load
|
||||
4. Click the bus stop node to reveal its tags on the left
|
||||
|
||||
The `destination` must be a valid location returned by the transportAPI query. Valid destinations can be checked by performing a GET query to `/uk/bus/stop/{atcocode}/live.json` in the [API reference webpage](https://developer.transportapi.com/docs?raml=https://transportapi.com/v3/raml/transportapi.raml##bus_information). A bus sensor is added in the following `configuration.yaml` file entry:
|
||||
The `destination` must be a valid location in the "direction" field returned by a GET query to `/uk/bus/stop/{atcocode}/live.json` as described in the [API reference webpage](https://developer.transportapi.com/docs?raml=https://transportapi.com/v3/raml/transportapi.raml##bus_information). A bus sensor is added in the following `configuration.yaml` file entry:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry for multiple sensors
|
||||
|
@ -27,10 +27,7 @@ sensor:
|
||||
key: XXXXXXXXXXXXXXXXXXX
|
||||
secret: YYYYYYYYYYYYYYYYY
|
||||
departures:
|
||||
- name: Mot järntorget
|
||||
from: Musikvägen
|
||||
heading: Järntorget
|
||||
delay: 10
|
||||
- from: Musikvägen
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
@ -41,6 +38,21 @@ Configuration variables:
|
||||
- **name** (*Optional*): Name of the route.
|
||||
- **from** (*Required*): The start station.
|
||||
- **heading** (*Optional*): Direction of the travelling.
|
||||
- **delay** (*Optional*): Delay in minutes.
|
||||
- **delay** (*Optional*): Delay in minutes. Defaults to 0.
|
||||
|
||||
The data are coming from [Västtrafik](https://vasttrafik.se/).
|
||||
|
||||
A full configuration example could look like this:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: vasttrafik
|
||||
key: XXXXXXXXXXXXXXXXXXX
|
||||
secret: YYYYYYYYYYYYYYYYY
|
||||
departures:
|
||||
- name: Mot järntorget
|
||||
from: Musikvägen
|
||||
heading: Järntorget
|
||||
delay: 10
|
||||
```
|
||||
|
@ -125,7 +125,7 @@ in the `_1h_` part of the sensor name with `1` to `36`. E.g. `weather_24h` will
|
||||
```yaml
|
||||
sensor:
|
||||
- platform: wunderground
|
||||
- api_key: your_api_key
|
||||
api_key: your_api_key
|
||||
monitored_conditions:
|
||||
- weather_1d_metric
|
||||
- weather_1n_metric
|
||||
|
@ -104,7 +104,8 @@ In Home Assistant, we trigger actions based on intents produced by Snips using t
|
||||
|
||||
```yaml
|
||||
snips:
|
||||
intents:
|
||||
|
||||
intent_script:
|
||||
ActivateLightColor:
|
||||
action:
|
||||
- service: light.turn_on
|
||||
|
@ -18,6 +18,10 @@ The `tradfri` component supports for the IKEA Trådfri (Tradfri) gateway. The ga
|
||||
|
||||
For this to work, you need to install a modified lib-coap library.
|
||||
|
||||
<p class='note'>
|
||||
If you are using [Hass.io](/hassio/) then just move forward to the configuration as all requirements are already fullfilled.
|
||||
</p>
|
||||
|
||||
Linux:
|
||||
|
||||
```bash
|
||||
|
@ -8,7 +8,7 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: ethernet.png
|
||||
ha_category: Hub
|
||||
ha_category: Utility
|
||||
ha_release: "0.49"
|
||||
ha_iot_class: "Local Push"
|
||||
---
|
||||
|
@ -61,7 +61,7 @@ xiaomi:
|
||||
```
|
||||
|
||||
|
||||
Multiple Gateway
|
||||
Multiple Gateways
|
||||
|
||||
```yaml
|
||||
# 12 characters mac can be obtained from the gateway.
|
||||
@ -73,12 +73,26 @@ xiaomi:
|
||||
key: xxxxxxxxxxxxxxxx
|
||||
```
|
||||
|
||||
|
||||
|
||||
Search for gateways on specific interface
|
||||
|
||||
```yaml
|
||||
# 12 characters mac can be obtained from the gateway.
|
||||
xiaomi:
|
||||
interface: '192.168.0.1'
|
||||
gateways:
|
||||
- mac: xxxxxxxxxxxx
|
||||
key: xxxxxxxxxxxxxxxx
|
||||
```
|
||||
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **mac** (*Optional*): The MAC of your gateway. Required if you have more than one.
|
||||
- **key** (*Optional*): The key of your gateway. Required if you also want to control lights and switches; sensors and binary sensors will still work.
|
||||
- **discovery_retry** (*Optional*): Amount of times Home Assitant should try to reconnect to the Xiaomi Gateway. Default is 3.
|
||||
- **interface** (*Optional*): Which network interface to use. Default to any.
|
||||
- **interface** (*Optional*): Which network interface to use. Defaults to any.
|
||||
|
||||
## {% linkable_title Services %}
|
||||
|
||||
|
@ -92,7 +92,7 @@ Please enter password for encrypted keyring:
|
||||
If you are using the Python Keyring, [autostarting](/getting-started/autostart/) of Home Assistant will no longer work.
|
||||
</p>
|
||||
|
||||
### {% linkable_title Storing passwords in a keyring managed by your OS %}
|
||||
### {% linkable_title Storing passwords securely in AWS %}
|
||||
|
||||
Using [Credstash](https://github.com/fugue/credstash) is an alternative way to `secrets.yaml`. They can be managed from the command line via the credstash script.
|
||||
|
||||
|
@ -16,15 +16,15 @@ AppDaemon is a loosely coupled, multithreaded, sandboxed python execution enviro
|
||||
|
||||
AppDaemon is not meant to replace Home Assistant Automations and Scripts, rather complement them. For a lot of things, automations work well and can be very succinct. However, there is a class of more complex automations for which they become harder to use, and appdeamon then comes into its own. It brings quite a few things to the table:
|
||||
|
||||
- New paradigm - Some problems require a procedural and/or iterative approach, and `AppDaemon` Apps are a much more natural fit for this. Recent enhancements to Home Assistant scripts and templates have made huge strides, but for the most complex scenarios, apps can do things that automations can't.
|
||||
- Ease of use - AppDaemon's API is full of helper functions that make programming as easy and natural as possible. The functions and their operation are as "Pythonic" as possible, experienced Python programmers should feel right at home.
|
||||
- Reuse - write a piece of code once and instantiate it as an app as many times as you need with different parameters e.g. a motion light program that you can use in 5 different places around your home. The code stays the same, you just dynamically add new instances of it in the config file.
|
||||
- Dynamic - AppDaemon has been designed from the start to enable the user to make changes without requiring a restart of Home Assistant, thanks to it's loose coupling. However, it is better than that - the user can make changes to code and AppDaemon will automatically reload the code, figure out which Apps were using it and restart them to use the new code with out the need to restart `AppDaemon` itself. It is also possible to change parameters for an individual or multiple apps and have them picked up dynamically, and for a final trick, removing or adding apps is also picked up dynamically. Testing cycles become a lot more efficient as a result.
|
||||
- Complex logic - Python's If/Else constructs are clearer and easier to code for arbitrarily complex nested logic
|
||||
- New paradigm - Some problems require a procedural and/or iterative approach, and `AppDaemon` Apps are a much more natural fit for this. Recent enhancements to Home Assistant scripts and templates have made huge strides, but for the most complex scenarios, Apps can do things that automations can't.
|
||||
- Ease of use - AppDaemon's API is full of helper functions that make programming as easy and natural as possible. The functions and their operation are as "Pythonic" as possible; experienced Python programmers should feel right at home.
|
||||
- Reuse - write a piece of code once and instantiate it as an App as many times as you need with different parameters; e.g., a motion light program that you can use in five different places around your home. The code stays the same, you just dynamically add new instances of it in the config file.
|
||||
- Dynamic - AppDaemon has been designed from the start to enable the user to make changes without requiring a restart of Home Assistant, thanks to its loose coupling. However, it is better than that - the user can make changes to code and AppDaemon will automatically reload the code, figure out which Apps were using it, and restart them to use the new code without the need to restart `AppDaemon` itself. It is also possible to change parameters for an individual or multiple Apps and have them picked up dynamically. For a final trick, removing or adding Apps is also picked up dynamically. Testing cycles become a lot more efficient as a result.
|
||||
- Complex logic - Python's If/Else constructs are clearer and easier to code for arbitrarily complex nested logic.
|
||||
- Durable variables and state - Variables can be kept between events to keep track of things like the number of times a motion sensor has been activated, or how long it has been since a door opened.
|
||||
- All the power of Python - use any of Python's libraries, create your own modules, share variables, refactor and re-use code, create a single app to do everything, or multiple apps for individual tasks - nothing is off limits!
|
||||
- All the power of Python - use any of Python's libraries, create your own modules, share variables, refactor and re-use code, create a single App to do everything, or multiple Apps for individual tasks - nothing is off limits!
|
||||
|
||||
It is in fact a testament to Home Assistant's open nature that a component like `AppDaemon` can be integrated so neatly and closely that it acts in all ways like an extension of the system, not a second class citizen. Part of the strength of Home Assistant's underlying design is that it makes no assumptions whatever about what it is controlling or reacting to, or reporting state on. This is made achievable in part by the great flexibility of Python as a programming environment for Home Assistant, and carrying that forward has enabled me to use the same philosophy for `AppDaemon` - it took surprisingly little code to be able to respond to basic events and call services in a completely open ended manner - the bulk of the work after that was adding additonal functions to make things that were already possible easier.
|
||||
It is in fact a testament to Home Assistant's open nature that a component like `AppDaemon` can be integrated so neatly and closely that it acts in all ways like an extension of the system, not a second class citizen. Part of the strength of Home Assistant's underlying design is that it makes no assumptions whatsoever about what it is controlling, reacting to, or reporting state on. This is made achievable in part by the great flexibility of Python as a programming environment for Home Assistant, and carrying that forward has enabled me to use the same philosophy for `AppDaemon` - it took surprisingly little code to be able to respond to basic events and call services in a completely open ended manner. The bulk of the work after that was adding additonal functions to make things that were already possible easier.
|
||||
|
||||
# How it Works
|
||||
|
||||
@ -32,7 +32,7 @@ The best way to show what AppDaemon does is through a few simple examples.
|
||||
|
||||
## Sunrise/Sunset Lighting
|
||||
|
||||
Lets start with a simple App to turn a light on every night at sunset and off every morning at sunrise. Every App when first started will have its `initialize()` function called which gives it a chance to register a callback for AppDaemons's scheduler for a specific time. In this case we are using `run_at_sunrise()` and `run_at_sunset()` to register 2 separate callbacks. The argument `0` is the number of seconds offset from sunrise or sunset and can be negative or positive. For complex intervals it can be convenient to use Python's `datetime.timedelta` class for calculations. When sunrise or sunset occurs, the appropriate callback function, `sunrise_cb()` or `sunset_cb()` is called which then makes a call to Home Assistant to turn the porch light on or off by activating a scene. The variables `args["on_scene"]` and `args["off_scene"]` are passed through from the configuration of this particular App, and the same code could be reused to activate completely different scenes in a different version of the App.
|
||||
Let's start with a simple App to turn a light on every night at sunset and off every morning at sunrise. Every App when first started will have its `initialize()` function called, which gives it a chance to register a callback for AppDaemons's scheduler for a specific time. In this case, we are using `run_at_sunrise()` and `run_at_sunset()` to register two separate callbacks. The argument `0` is the number of seconds offset from sunrise or sunset and can be negative or positive. For complex intervals, it can be convenient to use Python's `datetime.timedelta` class for calculations. When sunrise or sunset occurs, the appropriate callback function, `sunrise_cb()` or `sunset_cb()`, is called, which then makes a call to Home Assistant to turn the porch light on or off by activating a scene. The variables `args["on_scene"]` and `args["off_scene"]` are passed through from the configuration of this particular App, and the same code could be reused to activate completely different scenes in a different version of the App.
|
||||
|
||||
```python
|
||||
import homeassistant.appapi as appapi
|
||||
@ -74,9 +74,9 @@ class FlashyMotionLights(appapi.AppDaemon):
|
||||
self.turn_off("light.drive")
|
||||
```
|
||||
|
||||
This is starting to get a little more complex in Home Assistant automations requiring an automation rule and two separate scripts.
|
||||
This is starting to get a little more complex in Home Assistant automations, requiring an automation rule and two separate scripts.
|
||||
|
||||
Now lets extend this with a somewhat artificial example to show something that is simple in AppDaemon but very difficult if not impossible using automations. Lets warn someone inside the house that there has been motion outside by flashing a lamp on and off 10 times. We are reacting to the motion as before by turning on the light and setting a timer to turn it off again, but in addition, we set a 1 second timer to run `flash_warning()` which when called, toggles the inside light and sets another timer to call itself a second later. To avoid re-triggering forever, it keeps a count of how many times it has been activated and bales out after 10 iterations.
|
||||
Now let's extend this with a somewhat artificial example to show something that is simple in AppDaemon but very difficult if not impossible using automations. Let's warn someone inside the house that there has been motion outside by flashing a lamp on and off ten times. We are reacting to the motion as before by turning on the light and setting a timer to turn it off again, but in addition, we set a 1-second timer to run `flash_warning()`, which, when called, toggles the inside light and sets another timer to call itself a second later. To avoid re-triggering forever, it keeps a count of how many times it has been activated and bales out after ten iterations.
|
||||
|
||||
```python
|
||||
import homeassistant.appapi as appapi
|
||||
@ -103,11 +103,8 @@ class MotionLights(appapi.AppDaemon):
|
||||
self.run_in(self.flash_warning, 1)
|
||||
```
|
||||
|
||||
Of course if I wanted to make this App or its predecessor reusable I would have provide parameters for the sensor, the light to activate on motion, the warning light and even the number of flashes and delay between flashes.
|
||||
Of course, if I wanted to make this App or its predecessor reusable, I would have provide parameters for the sensor, the light to activate on motion, the warning light, and even the number of flashes and delay between flashes.
|
||||
|
||||
In addition, Apps can write to `AppDaemon`'s logfiles, and there is a system of constraints that allows yout to control when and under what circumstances Apps and callbacks are active to keep the logic clean and simple.
|
||||
|
||||
For full installation instructions, see [README.md](https://github.com/home-assistant/appdaemon/blob/dev/README.rst) in the `AppDaemon` repository.
|
||||
|
||||
There is also full documentation for the API and associated configuration in [API.md](https://github.com/home-assistant/appdaemon/blob/dev/API.md).
|
||||
In addition, Apps can write to `AppDaemon`'s log files, and there is a system of constraints that allows you to control when and under what circumstances Apps and callbacks are active to keep the logic clean and simple.
|
||||
|
||||
For full installation instructions, see the [AppDaemon Project Documentation pages](http://appdaemon.readthedocs.io/en/latest/).
|
||||
|
@ -39,4 +39,4 @@ HADashboard is a modular, skinnable dashboard for [Home Assistant](https://home-
|
||||
|
||||
|
||||
|
||||
For full installation instructions see [DASHBOARD.md](https://github.com/home-assistant/appdaemon/blob/dev/DASHBOARD.md) in the AppDaemon Repository.
|
||||
For full installation instructions see the HADashboard section in the [AppDaemon Project Documentation](http://appdaemon.readthedocs.io/en/latest/DASHBOARD/)
|
||||
|
@ -29,7 +29,7 @@ We would appreciate if you help to keep this page up-to-date and add feedback.
|
||||
|
||||
| Browser | Release | State | Comments |
|
||||
| :-------------------- |:---------------|:-----------|:-------------------------|
|
||||
| [Safari] | | works | |
|
||||
| [Safari] | | works | Some problems with the Map. |
|
||||
|
||||
## {% linkable_title Linux %}
|
||||
|
||||
@ -60,7 +60,7 @@ We would appreciate if you help to keep this page up-to-date and add feedback.
|
||||
|
||||
| Browser | Release | State | Comments |
|
||||
| :-------------------- |:---------------|:-----------|:-------------------------|
|
||||
| [Safari] | | works | Can also be added to desktop |
|
||||
| [Safari] | | works | Can also be added to desktop. Some problems with the Map. |
|
||||
| [Chrome] | | works | |
|
||||
|
||||
|
||||
|
@ -65,7 +65,7 @@ $ source /srv/homeassistant/bin/activate
|
||||
$ hass
|
||||
```
|
||||
|
||||
This will start Home Assistant in your shell and output anything that ends up in the log and more into the console. This will fail if the Home Assistant service is already running so don't forget to [stop][stop-homeassistant] it first.
|
||||
This will start Home Assistant in your shell and output anything that ends up in the log and more into the console. This will fail if the Home Assistant service is already running so don't forget to [stop][stop-homeassistant] it first. If you want the log output to be colored, execute `hass --script check_config` first. This will install the `colorlog` module.
|
||||
|
||||
### {% linkable_title Check your configuration %}
|
||||
Log in as the `pi` account and execute the following commands:
|
||||
|
@ -81,7 +81,7 @@ Wait until some things are complete. We support at the moment `wait_template` fo
|
||||
|
||||
```yaml
|
||||
# wait until media player have stop the playing
|
||||
wait_template: {% raw %}"{{ states.media_player.floor.states == 'stop' }}"{% endraw %}
|
||||
wait_template: {% raw %}"{{ states.media_player.floor.state == 'stop' }}"{% endraw %}
|
||||
```
|
||||
|
||||
```yaml
|
||||
|
@ -47,7 +47,7 @@ You can use [templating] support to dynamically choose which service to call. Fo
|
||||
|
||||
```yaml
|
||||
service_template: >
|
||||
{% raw %}{% if states.sensor.temperature | float > 15 %}
|
||||
{% raw %}{% if states.sensor.temperature.state | float > 15 %}
|
||||
switch.turn_on
|
||||
{% else %}
|
||||
switch.turn_off
|
||||
|
@ -12,7 +12,7 @@ redirect_from: /getting-started/z-wave/
|
||||
|
||||
[Z-Wave](http://www.z-wave.com/) integration for Home Assistant allows you to observe and control connected Z-Wave devices. Z-Wave support requires a [supported Z-Wave USB stick or module](https://github.com/OpenZWave/open-zwave/wiki/Controller-Compatibility-List) to be plugged into the host.
|
||||
|
||||
There is currently support for climate, covers, lights, locks, sensors, switches and thermostats. All will be picked up automatically after configuring this platform.
|
||||
There is currently support for climate, covers, lights, locks, sensors, switches, and thermostats. All will be picked up automatically after configuring this platform.
|
||||
|
||||
### {% linkable_title Installation %}
|
||||
|
||||
@ -35,7 +35,7 @@ zwave:
|
||||
Configuration variables:
|
||||
|
||||
- **usb_path** (*Optional*): The port where your device is connected to your Home Assistant host.
|
||||
- **network_key** (*Optional*): The 16 byte network key in the form `"0x01,0x02..."` used in order to connect securely to compatible devices.
|
||||
- **network_key** (*Optional*): The 16-byte network key in the form `"0x01,0x02..."` used in order to connect securely to compatible devices.
|
||||
- **config_path** (*Optional*): The path to the Python OpenZWave configuration files. Defaults to the 'config' that is installed by python-openzwave
|
||||
- **autoheal** (*Optional*): Allows disabling auto Z-Wave heal at midnight. Defaults to True.
|
||||
- **polling_interval** (*Optional*): The time period in milliseconds between polls of a nodes value. Be careful about using polling values below 30000 (30 seconds) as polling can flood the zwave network and cause problems.
|
||||
@ -54,7 +54,7 @@ To find the path of your Z-Wave USB stick or module, run:
|
||||
$ ls /dev/ttyUSB*
|
||||
```
|
||||
|
||||
Or, if there is no result try to find detailed USB connection info with:
|
||||
Or, if there is no result, try to find detailed USB connection info with:
|
||||
```bash
|
||||
$ dmesg | grep USB
|
||||
```
|
||||
@ -89,7 +89,7 @@ Depending on what's plugged into your USB ports, the name found above may change
|
||||
To add a Z-Wave device to your system, go to the Z-Wave panel in the Home Assistant frontend and click the Add Node button in the Z-Wave Network Management card. This will place the controller in inclusion mode, after which you should activate your device to be included by following the instructions provided with the device.
|
||||
|
||||
<p class='note'>
|
||||
Some Z-Wave controllers like Aeotec ZW090 Z-Stick Gen5 have ability to add devices to the network using their own contol buttons. This method should be avoided as it is prone to errors. Devices added to the Z-Wave network using this method may not function well.
|
||||
Some Z-Wave controllers, like Aeotec ZW090 Z-Stick Gen5, have ability to add devices to the network using their own contol buttons. This method should be avoided as it is prone to errors. Devices added to the Z-Wave network using this method may not function well.
|
||||
</p>
|
||||
|
||||
### {% linkable_title Adding Security Devices %}
|
||||
@ -105,7 +105,7 @@ cat /dev/urandom | tr -dc '0-9A-F' | fold -w 32 | head -n 1 | sed -e 's/\(..\)/0
|
||||
|
||||
#### {% linkable_title zwave.network_complete %}
|
||||
|
||||
Home Assistant will trigger a event when the Z-Wave network is complete. Meaning all of the nodes on the network have been queried. This can take quite some time, depending on wakeup intervals on the battery powered devices on the network.
|
||||
Home Assistant will trigger an event when the Z-Wave network is complete, meaning all of the nodes on the network have been queried. This can take quite some time, depending on wakeup intervals on the battery-powered devices on the network.
|
||||
|
||||
```yaml
|
||||
- alias: Z-Wave network is complete
|
||||
@ -116,7 +116,7 @@ Home Assistant will trigger a event when the Z-Wave network is complete. Meaning
|
||||
|
||||
#### {% linkable_title zwave.network_ready %}
|
||||
|
||||
Home Assistant will trigger a event when the Z-Wave network is ready for use. Between `zwave.network_start` and `zwave.network_ready` Home Assistant will feel sluggish when trying to send commands to Z-Wave nodes. This is because the controller is requesting information from all of the nodes on the network. When this is triggered all awake nodes have been queried and sleeping nodes will be queried when they awake.
|
||||
Home Assistant will trigger an event when the Z-Wave network is ready for use. Between `zwave.network_start` and `zwave.network_ready` Home Assistant will feel sluggish when trying to send commands to Z-Wave nodes. This is because the controller is requesting information from all of the nodes on the network. When this is triggered, all awake nodes have been queried and sleeping nodes will be queried when they awake.
|
||||
|
||||
```yaml
|
||||
- alias: Z-Wave network is ready
|
||||
@ -127,7 +127,7 @@ Home Assistant will trigger a event when the Z-Wave network is ready for use. Be
|
||||
|
||||
#### {% linkable_title zwave.network_start %}
|
||||
|
||||
Home Assistant will trigger a event when the Z-Wave network is set up to be started.
|
||||
Home Assistant will trigger an event when the Z-Wave network is set up to be started.
|
||||
|
||||
```yaml
|
||||
- alias: Z-Wave network is starting
|
||||
@ -138,7 +138,7 @@ Home Assistant will trigger a event when the Z-Wave network is set up to be star
|
||||
|
||||
#### {% linkable_title zwave.network_stop %}
|
||||
|
||||
Home Assistant will trigger a event when the Z-Wave network stopping.
|
||||
Home Assistant will trigger an event when the Z-Wave network is stopping.
|
||||
|
||||
```yaml
|
||||
- alias: Z-Wave network is stopping
|
||||
@ -148,7 +148,7 @@ Home Assistant will trigger a event when the Z-Wave network stopping.
|
||||
```
|
||||
|
||||
#### {% linkable_title zwave.node_event %}
|
||||
Home Assistant will trigger a event when command_class_basic changes value on a node. This can be virtually anything, so tests have to be made to determine what value equals what. You can use this for automations.
|
||||
Home Assistant will trigger an event when command_class_basic changes value on a node. This can be virtually anything, so tests have to be made to determine what value equals what. You can use this for automations.
|
||||
|
||||
Example:
|
||||
|
||||
@ -166,7 +166,7 @@ The *object_id* and *basic_level* of all triggered events can be seen in the con
|
||||
|
||||
#### {% linkable_title zwave.scene_activated %}
|
||||
|
||||
Some devices can also trigger scene activation events, which can be used in automation scripts (for example the press of a button on a wall switch):
|
||||
Some devices can also trigger scene activation events, which can be used in automation scripts (for example, the press of a button on a wall switch):
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml automation entry
|
||||
@ -190,7 +190,7 @@ The `zwave` component exposes multiple services to help maintain the network.
|
||||
| ------- | ----------- |
|
||||
| add_node | Put the Z-Wave controller in inclusion mode. Allows one to add a new device to the Z-Wave network.|
|
||||
| add_node_secure | Put the Z-Wave controller in secure inclusion mode. Allows one to add a new device with secure communications to the Z-Wave network. |
|
||||
| cancel_command | Cancels a running Z-Wave command. If you have started a add_node or remove_node command, and decides you are not going to do it, then this must be used to stop the inclusion/exclusion command. |
|
||||
| cancel_command | Cancels a running Z-Wave command. If you have started a add_node or remove_node command, and decide you are not going to do it, then this must be used to stop the inclusion/exclusion command. |
|
||||
| change_association | Add or remove an association in the Z-Wave network |
|
||||
| heal_network | Tells the controller to "heal" the Z-Wave network. Basically asks the nodes to tell the controller all of their neighbors so the controller can refigure out optimal routing. |
|
||||
| print_config_parameter | Prints Z-Wave node's config parameter value to the log. |
|
||||
@ -200,16 +200,16 @@ The `zwave` component exposes multiple services to help maintain the network.
|
||||
| remove_node | Put the Z-Wave controller in exclusion mode. Allows one to remove a device from the Z-Wave network.|
|
||||
| rename_node | Sets a node's name. Requires a `node_id` and `name` field. |
|
||||
| rename_value | Sets a value's name. Requires a `node_id`, `value_id`, and `name` field. |
|
||||
| remove_failed_node | Remove a failed node from the network. The Node should be on the Controllers Failed Node List, otherwise this command will fail.|
|
||||
| replace_failed_node | Replace a failed device with another. If the node is not in the controller's failed nodes list, or the node responds, this command will fail.|
|
||||
| remove_failed_node | Remove a failed node from the network. The Node should be on the controller's Failed Node List, otherwise this command will fail.|
|
||||
| replace_failed_node | Replace a failed device with another. If the node is not in the controller's Failed Node List, or the node responds, this command will fail.|
|
||||
| reset_node_meters | Reset a node's meter values. Only works if the node supports this. |
|
||||
| set_config_parameter | Let's the user set a config parameter to a node. NOTE: Use string for list values. For all others use integer. |
|
||||
| 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.|
|
||||
| set_config_parameter | Lets the user set a config parameter to a node. NOTE: Use string for list values. For all others use integer. |
|
||||
| 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.|
|
||||
| start_network | Starts the Z-Wave network.|
|
||||
| stop_network | Stops the Z-Wave network.|
|
||||
| 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."|
|
||||
|
||||
The `soft_reset` and `heal_network` commands can be used as part of an automation script to help keep a Z-Wave network running reliably as shown in the example below. By default, Home Assistant will run a `heal_network` at midnight. This is a configuration option for the `zwave` component, the option defaults to `true` but can be disabled by setting `autoheal` to false. Using the `soft_reset` function with some Z-Wave controllers can cause the Z-Wave network to hang. If you're having issues with your Z-Wave network try disabling this automation.
|
||||
The `soft_reset` and `heal_network` commands can be used as part of an automation script to help keep a Z-Wave network running reliably as shown in the example below. By default, Home Assistant will run a `heal_network` at midnight. This is a configuration option for the `zwave` component. The option defaults to `true` but can be disabled by setting `autoheal` to false. Using the `soft_reset` function with some Z-Wave controllers can cause the Z-Wave network to hang. If you're having issues with your Z-Wave network, try disabling this automation.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml automation entry
|
||||
|
@ -56,7 +56,7 @@ Here's a handy configuration for the Aeon Labs Minimote that defines all possibl
|
||||
platform: event
|
||||
event_type: zwave.scene_activated
|
||||
event_data:
|
||||
object_id: aeon_labs_minimote_1
|
||||
entity_id: zwave.aeon_labs_minimote_1
|
||||
scene_id: 1
|
||||
|
||||
- alias: Minimote Button 1 Held
|
||||
@ -64,7 +64,7 @@ Here's a handy configuration for the Aeon Labs Minimote that defines all possibl
|
||||
platform: event
|
||||
event_type: zwave.scene_activated
|
||||
event_data:
|
||||
object_id: aeon_labs_minimote_1
|
||||
entity_id: zwave.aeon_labs_minimote_1
|
||||
scene_id: 2
|
||||
|
||||
- alias: Minimote Button 2 Pressed
|
||||
@ -72,7 +72,7 @@ Here's a handy configuration for the Aeon Labs Minimote that defines all possibl
|
||||
platform: event
|
||||
event_type: zwave.scene_activated
|
||||
event_data:
|
||||
object_id: aeon_labs_minimote_1
|
||||
entity_id: zwave.aeon_labs_minimote_1
|
||||
scene_id: 3
|
||||
|
||||
- alias: Minimote Button 2 Held
|
||||
@ -80,7 +80,7 @@ Here's a handy configuration for the Aeon Labs Minimote that defines all possibl
|
||||
platform: event
|
||||
event_type: zwave.scene_activated
|
||||
event_data:
|
||||
object_id: aeon_labs_minimote_1
|
||||
entity_id: zwave.aeon_labs_minimote_1
|
||||
scene_id: 4
|
||||
|
||||
- alias: Minimote Button 3 Pressed
|
||||
@ -88,7 +88,7 @@ Here's a handy configuration for the Aeon Labs Minimote that defines all possibl
|
||||
platform: event
|
||||
event_type: zwave.scene_activated
|
||||
event_data:
|
||||
object_id: aeon_labs_minimote_1
|
||||
entity_id: zwave.aeon_labs_minimote_1
|
||||
scene_id: 5
|
||||
|
||||
- alias: Minimote Button 3 Held
|
||||
@ -96,15 +96,15 @@ Here's a handy configuration for the Aeon Labs Minimote that defines all possibl
|
||||
platform: event
|
||||
event_type: zwave.scene_activated
|
||||
event_data:
|
||||
object_id: aeon_labs_minimote_1
|
||||
entity_id: zwave.aeon_labs_minimote_1
|
||||
scene_id: 6
|
||||
|
||||
- alias: Minimote Button 4 Pressed
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: zwave.scene_activated
|
||||
event_data:
|
||||
object_id: aeon_labs_minimote_1
|
||||
entity_data:
|
||||
entity_id: zwave.aeon_labs_minimote_1
|
||||
scene_id: 7
|
||||
|
||||
- alias: Minimote Button 4 Held
|
||||
@ -112,6 +112,6 @@ Here's a handy configuration for the Aeon Labs Minimote that defines all possibl
|
||||
platform: event
|
||||
event_type: zwave.scene_activated
|
||||
event_data:
|
||||
object_id: aeon_labs_minimote_1
|
||||
entity_id: zwave.aeon_labs_minimote_1
|
||||
scene_id: 8
|
||||
```
|
||||
|
20
source/_posts/2017-08-01-hasspodcast-ep-5.markdown
Normal file
20
source/_posts/2017-08-01-hasspodcast-ep-5.markdown
Normal file
@ -0,0 +1,20 @@
|
||||
---
|
||||
layout: post
|
||||
title: "Home Assistant Podcast #5"
|
||||
description: "We cover off AppDaemon/HADashboard and all the fun stuff introduced in 0.49 and 0.50"
|
||||
date: 2017-08-01 00:01:00 +0000
|
||||
date_formatted: "August 1, 2017"
|
||||
author: Phil Hawthorne
|
||||
author_twitter: philhawthorne
|
||||
comments: true
|
||||
categories: Media
|
||||
og_image: /images/hasspodcast.jpg
|
||||
---
|
||||
|
||||
We cover off AppDaemon/HADashboard and all the fun stuff introduced in 0.49 and 0.50.
|
||||
|
||||
Show notes available on the [Home Assistant Podcast Website](https://hasspodcast.io/ha005/)
|
||||
|
||||
[Listen online][episode]
|
||||
|
||||
[episode]: https://hasspodcast.io/ha005/
|
443
source/_posts/2017-08-12-release-51.markdown
Normal file
443
source/_posts/2017-08-12-release-51.markdown
Normal file
@ -0,0 +1,443 @@
|
||||
---
|
||||
layout: post
|
||||
title: "0.51: Massive history speed up, finished automation editor and official vacuum cleaner support"
|
||||
description: "Lots of frontend bugs have been squashed, the automation editor now supports all triggers and actions and vacuum cleaners are now an official component."
|
||||
date: 2017-08-12 00:11:05
|
||||
date_formatted: "August 12, 2017"
|
||||
author: Paulus Schoutsen
|
||||
author_twitter: balloob
|
||||
comments: true
|
||||
categories: Release-Notes
|
||||
og_image: /images/blog/2017-08-0.51/components.png
|
||||
---
|
||||
|
||||
<a href='/components/#version/0.51'><img src='/images/blog/2017-08-0.51/components.png' style='border: 0;box-shadow: none;'></a>
|
||||
|
||||
<p class='note warning'>This release has to do a one time database migration which can take a long time on big databases (20 minutes). During this time the frontend will not work. Do not stop Home Assistant while it is in progress.</p>
|
||||
|
||||
Release 0.51 is around the corner and it contains some really great updates.
|
||||
|
||||
## {% linkable_title Database speed up %}
|
||||
|
||||
The first one is more amazing database updates [#8748] by [@OverloadUT]. Every query that has been tested executes in well under 1 second, even on a RPi using MySQL with 6 million rows and around 300 entities. This is true even when you're getting an unrealistically huge date range!
|
||||
|
||||
Updating the database will take some time when you start Home Assistant. During that time, the Home Assistant frontend is not accessible. Please let it complete and do not turn Home Assistant off.
|
||||
|
||||
## {% linkable_title Frontend update %}
|
||||
|
||||
We have finished the migration of our frontend to be powered by Polymer 2. This has given us a big speed boost on Safari/iOS devices and has fixed a wide range of bugs.
|
||||
|
||||
We have also finished the automation editor. All triggers and actions are now implemented and so are most conditions (missing are `and`, `or`). The automation editor is also no longer Chrome only, it can now also be used in Safari.
|
||||
|
||||
Another change to the frontend is that we have reorganized the panels. The Z-Wave and automation configuration panels have been merged into the configuration panel.
|
||||
|
||||
<div class='videoWrapper'>
|
||||
<iframe src="https://www.youtube.com/embed/f3isVVpmiq4" frameborder="0" allowfullscreen></iframe>
|
||||
</div>
|
||||
|
||||
## {% linkable_title Vacuum cleaners %}
|
||||
|
||||
As we have seen more vacuum cleaners land in Home Assistant, it was time to create an official component for them. That's why [@azogue] introduced the new vacuum cleaner component in [#8623]. This allows first class integration of vacuum cleaners in Home Assistant. Out of the box we will have Dyson, Xiamo and Roomba as supported platforms.
|
||||
|
||||
## {% linkable_title New Platforms %}
|
||||
|
||||
- Added Lutron Caseta Scene Support ([@809694+kfcook] - [#8690]) ([lutron_caseta docs]) ([scene.lutron_caseta docs]) (new-platform)
|
||||
- New media_player platform for Russound devices using the RIO protocol ([@wickerwaka] - [#8448]) ([media_player.russound_rio docs]) (new-platform)
|
||||
- New component: bluesound ([@thrawnarn] - [#7192]) ([media_player.bluesound docs]) (new-platform)
|
||||
- Add mochad light component ([@mtreinish] - [#8476]) ([light.mochad docs]) (new-platform)
|
||||
- geizhals sensor component ([@JulianKahnert] - [#8458]) ([sensor.geizhals docs]) (new-platform)
|
||||
- Xiaomi vacuum as platform of new `vacuum` component derived from ToggleEntity, and services ([@azogue] - [#8623]) (breaking change) (new-platform)
|
||||
- Wi-Fi enabled Roomba support ([@pschmitt] - [#8825]) ([vacuum.roomba docs]) (new-platform)
|
||||
- Add support to Dyson 360 Eye robot vacuum using new vacuum platform ([@CharlesBlonde] - [#8852]) ([dyson docs]) ([vacuum docs]) ([fan.dyson docs]) ([sensor.dyson docs]) ([vacuum.dyson docs]) (new-platform)
|
||||
- Add Initial Mailbox panel and sensor ([@PhracturedBlue] - [#8233]) ([asterisk_mbox docs]) (new-platform)
|
||||
- Add Leviton Decora Smart WiFi Device Platform ([@tlyakhov] - [#8529]) ([light.decora_wifi docs]) (new-platform)
|
||||
- Add RainMachine switch platform ([@bachya] - [#8827]) ([switch.rainmachine docs]) (new-platform)
|
||||
- Add new device tracker for Huawei Routers. ([@abmantis] - [#8488]) ([device_tracker.huawei_router docs]) (new-platform)
|
||||
- Add Shodan sensor ([@fabaff] - [#8902]) ([sensor.shodan docs]) (new-platform)
|
||||
|
||||
## {% linkable_title If you need help... %}
|
||||
...don't hesitate to use our very active [forums][forum] or join us for a little [chat][discord]. The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks.
|
||||
|
||||
## {% linkable_title Reporting Issues %}
|
||||
Experiencing issues introduced by this release? Please report them in our [issue tracker][issue]. Make sure to fill in all fields of the issue template.
|
||||
|
||||
<!--more-->
|
||||
## {% linkable_title Breaking Changes %}
|
||||
|
||||
- Efergy sensors: change units from KW to W ([@emlt] - [#8761]) ([sensor.efergy docs]) (breaking change)
|
||||
- Xiaomi vacuum is now a platform of new `vacuum` component derived from ToggleEntity, and services ([@azogue] - [#8623]) (breaking change) (new-platform)
|
||||
|
||||
```yaml
|
||||
vacuum:
|
||||
- platform: xiaomi
|
||||
name: Vacuum cleaner
|
||||
host: !secret xiaomi_vacuum_robot_ip
|
||||
token: !secret xiaomi_vacuum_robot_token
|
||||
```
|
||||
|
||||
## {% linkable_title All changes %}
|
||||
|
||||
- Upgrade pushbullet.py to 0.11.0 ([@fabaff] - [#8691]) ([notify.pushbullet docs])
|
||||
- Upgrade mypy to 0.521 ([@fabaff] - [#8692])
|
||||
- Added Lutron Caseta Scene Support ([@809694+kfcook] - [#8690]) ([lutron_caseta docs]) ([scene.lutron_caseta docs]) (new-platform)
|
||||
- Remove deprecated host and ssl logic from Kodi ([@armills] - [#8700]) ([media_player.kodi docs])
|
||||
- Remove deprecated substitute interfaces ([@armills] - [#8701]) ([binary_sensor docs]) ([media_player docs])
|
||||
- Remove deprecated sensor_class config options ([@armills] - [#8702])
|
||||
- directv: add configuration glue for Genie slaves ([@sielicki] - [#8713]) ([media_player.directv docs])
|
||||
- bump python-telegram-bot to 7.0.1 for fully support Bot API 3.2 ([@azogue] - [#8715]) ([telegram_bot docs])
|
||||
- Add proxy support for telegram_bot ([@azogue] - [#8717]) ([telegram_bot docs])
|
||||
- python-insteonplm module version bump ([@nugget] - [#8736]) ([insteon_plm docs])
|
||||
- New media_player platform for Russound devices using the RIO protocol ([@wickerwaka] - [#8448]) ([media_player.russound_rio docs]) (new-platform)
|
||||
- Add toggle to remotes ([@alanfischer] - [#8483]) ([remote docs]) ([remote.apple_tv docs]) ([remote.harmony docs]) ([remote.itach docs])
|
||||
- added invert_state optional parameter ([@gwhiteCL] - [#8695]) ([cover.rpi_gpio docs])
|
||||
- buienradar dates tz-aware ([@mjj4791] - [#8767]) ([sensor.buienradar docs]) ([weather.buienradar docs])
|
||||
- Change units from KW to W ([@emlt] - [#8761]) ([sensor.efergy docs]) (breaking change)
|
||||
- Clean up remote component ([@MartinHjelmare] - [#8728]) ([remote docs]) ([remote.apple_tv docs]) ([remote.harmony docs]) ([remote.itach docs]) ([remote.kira docs])
|
||||
- Wink discovery ([@w1ll1am23] - [#8739]) ([wink docs])
|
||||
- Enable/Disable Motion detection for Foscam Cameras ([@viswa-swami] - [#8582]) ([camera.foscam docs])
|
||||
- Allow sonos to select playlists as a source ([@mcolyer] - [#8258]) ([media_player.sonos docs])
|
||||
- mpd improvements ([@StevenLooman] - [#8655]) ([media_player.mpd docs])
|
||||
- Add support for file attachments in pushbullet ([@tsvi] - [#8763]) ([notify.pushbullet docs])
|
||||
- Honeywell fixes and improvements ([@dansarginson] - [#8756]) ([climate.honeywell docs])
|
||||
- Catch exception (fixes #8724) ([@fabaff] - [#8731]) ([sensor.google_wifi docs])
|
||||
- use updated osram lightify 1.0.6 component, including bugfix allowing more than 27 devices ([@tfriedel] - [#8774]) ([light.osramlightify docs])
|
||||
- flux_led: support for property "available" ([@pezinek] - [#8764]) ([light.flux_led docs])
|
||||
- New component: bluesound ([@thrawnarn] - [#7192]) ([media_player.bluesound docs]) (new-platform)
|
||||
- Add 'forecast' ability to yr weather sensor ([@tinloaf] - [#8650]) ([sensor.yr docs])
|
||||
- Feature alexa launch request ([@steverhoades] - [#8730]) ([alexa docs])
|
||||
- Fixes UnboundLocalError: local variable 'setting' referenced before assignment ([@syssi] - [#8782]) ([climate.tado docs])
|
||||
- Upgrade pyasn1 to 0.3.1 and pyasn1-modules to 0.0.10 ([@fabaff] - [#8787]) ([notify.xmpp docs])
|
||||
- Upgrade sphinx-autodoc-typehints to 1.2.1 ([@fabaff] - [#8783])
|
||||
- Improvements (configuration and validation) ([@fabaff] - [#8785]) ([sensor.yr docs])
|
||||
- Fix referencing unset variable in tado climate component (causes update to fail when tado zone is in manual mode) ([@luukd] - [#8723]) ([climate.tado docs])
|
||||
- mqtt switch: add voluptuous for availability topic ([@abmantis] - [#8797]) ([switch.mqtt docs])
|
||||
- Add mochad light component ([@mtreinish] - [#8476]) ([light.mochad docs]) (new-platform)
|
||||
- Update numpy 1.13.1 ([@pvizeli] - [#8806]) ([image_processing.opencv docs])
|
||||
- Upgrade aiohttp to 2.2.4 ([@fabaff] - [#8805])
|
||||
- Catch divide by zero errors when a sleep type is 0 ([@mezz64] - [#8809]) ([sensor.eight_sleep docs])
|
||||
- InfluxDB component improvements ([@hageltech] - [#8633]) ([influxdb docs])
|
||||
- When Sonos gets a tts source - dont't show an image ([@andrey-git] - [#8777]) ([media_player.sonos docs])
|
||||
- Polymer 2 ([@balloob] - [#8815]) ([group docs])
|
||||
- geizhals sensor component ([@JulianKahnert] - [#8458]) ([sensor.geizhals docs]) (new-platform)
|
||||
- Xiaomi vacuum as platform of new `vacuum` component derived from ToggleEntity, and services ([@azogue] - [#8623]) (breaking change) (new-platform)
|
||||
- Update yweather.py ([@fanthos] - [#8820]) ([weather.yweather docs])
|
||||
- Make HA discover sabnzbd and add it to the Configurator ([@Hellowlol] - [#8634]) ([sensor.sabnzbd docs])
|
||||
- Fix Dyson sensors if devices are configured without standby monitoring. Fixes #8569 ([@CharlesBlonde] - [#8826]) ([dyson docs]) ([fan.dyson docs]) ([sensor.dyson docs])
|
||||
- Block dependencies that depend on enum34 ([@balloob] - [#8698])
|
||||
- Upgrade aiohttp to 2.2.5 ([@fabaff] - [#8828])
|
||||
- History query and schema optimizations for huge performance boost ([@OverloadUT] - [#8748]) ([history docs]) (breaking change)
|
||||
- Update xiaomi vacuum tests and include in coverage ([@azogue] - [#8845]) ([vacuum docs]) ([vacuum.xiaomi docs])
|
||||
- Egardia ([@jeroenterheerdt] - [#8389])
|
||||
- Do not call update() in constructor. ([@fabaff] - [#8837]) ([sensor.systemmonitor docs])
|
||||
- Upgrade sendgrid to 4.2.1 ([@fabaff] - [#8839])
|
||||
- Do not call update() in constructor ([@fabaff] - [#8840]) ([sensor.vasttrafik docs])
|
||||
- Make 'monitored_conditions' optional ([@fabaff] - [#8843]) ([sensor.radarr docs])
|
||||
- Do not call update() in constructor ([@fabaff] - [#8849]) ([sensor.synologydsm docs])
|
||||
- Make 'monitored_conditions' optional ([@fabaff] - [#8848]) ([sensor.sonarr docs])
|
||||
- Do not call update() in constructor ([@fabaff] - [#8847]) ([sensor.pocketcasts docs])
|
||||
- Catch ConnectionRefusedError ([@fabaff] - [#8844]) ([sensor.supervisord docs])
|
||||
- Upgrade sqlalchemy to 1.1.13 ([@fabaff] - [#8850]) ([recorder docs])
|
||||
- Upgrade pylast to 1.9.0 ([@fabaff] - [#8854]) ([sensor.lastfm docs])
|
||||
- Wi-Fi enabled Roomba support ([@pschmitt] - [#8825]) ([vacuum.roomba docs]) (new-platform)
|
||||
- Add support to Dyson 360 Eye robot vacuum using new vacuum platform ([@CharlesBlonde] - [#8852]) ([dyson docs]) ([vacuum docs]) ([fan.dyson docs]) ([sensor.dyson docs]) ([vacuum.dyson docs]) (new-platform)
|
||||
- Upgrade pyasn1 to 0.3.2 and pyasn1-modules to 0.0.11 ([@fabaff] - [#8856]) ([notify.xmpp docs])
|
||||
- Allow to set coordinates ([@fabaff] - [#8858]) ([sensor.zamg docs]) ([weather.zamg docs])
|
||||
- Added rounding to Google Wifi ([@fronzbot] - [#8866]) ([sensor.google_wifi docs])
|
||||
- Fix off_delay for zwave trigger sensors ([@turbokongen] - [#8864]) ([zwave docs]) ([binary_sensor.zwave docs])
|
||||
- Do not use pychromecast.Chromecast for Cast Groups ([@foxel] - [#8786]) ([media_player.cast docs])
|
||||
- Allow get local ip to work without internet ([@balloob] - [#8855])
|
||||
- Do not call update() in constructor ([@fabaff] - [#8859])
|
||||
- Add new service `clean_spot` to vacuums ([@azogue] - [#8862]) ([vacuum docs]) ([vacuum.xiaomi docs])
|
||||
- Warn instead of raise on duplicate YAML key ([@balloob] - [#8834])
|
||||
- Add Initial Mailbox panel and sensor ([@PhracturedBlue] - [#8233]) ([asterisk_mbox docs]) (new-platform)
|
||||
- Add Leviton Decora Smart WiFi Device Platform ([@tlyakhov] - [#8529]) ([light.decora_wifi docs]) (new-platform)
|
||||
- Consolidate config panels ([@balloob] - [#8857]) ([automation docs]) ([zwave docs])
|
||||
- Fix spelling error and update link ([@Klikini] - [#8869])
|
||||
- Implement Roomba fan speed ([@pschmitt] - [#8863]) ([vacuum.roomba docs])
|
||||
- Add nuki lock'n'go and unlatch services and add attributes ([@pschmitt] - [#8687]) ([lock.nuki docs])
|
||||
- RFLink: Add send_command service ([@leppa] - [#8876]) ([rflink docs])
|
||||
- Do not call update() in constructor ([@fabaff] - [#8881]) ([binary_sensor.rest docs]) ([sensor.rest docs])
|
||||
- Add RainMachine switch platform ([@bachya] - [#8827]) ([switch.rainmachine docs]) (new-platform)
|
||||
- Allow usage of colorlog 3.0.1 ([@fabaff] - [#8885])
|
||||
- Change level ([@fabaff] - [#8883]) ([sensor.statistics docs])
|
||||
- Upgrade youtube_dl to 2017.8.6 ([@fabaff] - [#8880]) ([media_extractor docs])
|
||||
- Fix media_extractor for some sites ([@Spirit-X] - [#8887]) ([media_extractor docs])
|
||||
- Do not call update() in constructor ([@fabaff] - [#8878])
|
||||
- Do not call update() in constructor ([@fabaff] - [#8892]) ([binary_sensor.command_line docs]) ([sensor.command_line docs]) ([switch.command_line docs])
|
||||
- Changed Pi-hole graphs from stacked bar to line ([@bachya] - [#8896]) ([sensor.pi_hole docs])
|
||||
- Add longer text strings to mailbox demo to test string truncation ([@PhracturedBlue] - [#8893]) ([mailbox.demo docs]) ([mailbox.demo.txt docs])
|
||||
- added support for setting/getting position of lutron caseta covers ([@809694+kfcook] - [#8898]) ([cover.lutron_caseta docs])
|
||||
- Fix for Neato D3 Connected state obtaining ([@karlkar] - [#8817]) ([sensor.neato docs]) ([switch.neato docs])
|
||||
- Update simplisafe-python version ([@w1ll1am23] - [#8908]) ([alarm_control_panel.simplisafe docs])
|
||||
- LIFX: improve performance of multi-light transitions ([@amelchio] - [#8873]) ([light.lifx docs])
|
||||
- Support media position and media duration (will display progressbar in ui) ([@molobrakos] - [#8904]) ([media_player.squeezebox docs])
|
||||
- Add new device tracker for Huawei Routers. ([@abmantis] - [#8488]) ([device_tracker.huawei_router docs]) (new-platform)
|
||||
- Add Shodan sensor ([@fabaff] - [#8902]) ([sensor.shodan docs]) (new-platform)
|
||||
- Added possibilities to use template in the command_line sensor ([@mar-schmidt] - [#8505]) ([sensor.command_line docs])
|
||||
- Honor PEP8 naming convention ([@fabaff] - [#8909]) ([updater docs])
|
||||
- Remove not needed call to update ([@MartinHjelmare] - [#8930]) ([switch.rachio docs])
|
||||
- fixing emulated hue issue and testing it ([@cribbstechnologies] - [#8928]) ([emulated_hue docs])
|
||||
- Update roombapy to 1.3.1 to avoid installing all the mapping dependencies ([@pschmitt] - [#8925]) ([vacuum.roomba docs])
|
||||
- Update python-wink version to fix Dome water valve bug. ([@w1ll1am23] - [#8923]) ([wink docs]) ([switch.wink docs])
|
||||
- Fix SET_TEMPERATURE_SCHEMA in climate component ([@MartinHjelmare] - [#8879]) ([climate docs])
|
||||
|
||||
[#7192]: https://github.com/home-assistant/home-assistant/pull/7192
|
||||
[#8233]: https://github.com/home-assistant/home-assistant/pull/8233
|
||||
[#8258]: https://github.com/home-assistant/home-assistant/pull/8258
|
||||
[#8389]: https://github.com/home-assistant/home-assistant/pull/8389
|
||||
[#8448]: https://github.com/home-assistant/home-assistant/pull/8448
|
||||
[#8458]: https://github.com/home-assistant/home-assistant/pull/8458
|
||||
[#8476]: https://github.com/home-assistant/home-assistant/pull/8476
|
||||
[#8483]: https://github.com/home-assistant/home-assistant/pull/8483
|
||||
[#8488]: https://github.com/home-assistant/home-assistant/pull/8488
|
||||
[#8505]: https://github.com/home-assistant/home-assistant/pull/8505
|
||||
[#8529]: https://github.com/home-assistant/home-assistant/pull/8529
|
||||
[#8582]: https://github.com/home-assistant/home-assistant/pull/8582
|
||||
[#8623]: https://github.com/home-assistant/home-assistant/pull/8623
|
||||
[#8633]: https://github.com/home-assistant/home-assistant/pull/8633
|
||||
[#8634]: https://github.com/home-assistant/home-assistant/pull/8634
|
||||
[#8650]: https://github.com/home-assistant/home-assistant/pull/8650
|
||||
[#8655]: https://github.com/home-assistant/home-assistant/pull/8655
|
||||
[#8687]: https://github.com/home-assistant/home-assistant/pull/8687
|
||||
[#8690]: https://github.com/home-assistant/home-assistant/pull/8690
|
||||
[#8691]: https://github.com/home-assistant/home-assistant/pull/8691
|
||||
[#8692]: https://github.com/home-assistant/home-assistant/pull/8692
|
||||
[#8695]: https://github.com/home-assistant/home-assistant/pull/8695
|
||||
[#8698]: https://github.com/home-assistant/home-assistant/pull/8698
|
||||
[#8700]: https://github.com/home-assistant/home-assistant/pull/8700
|
||||
[#8701]: https://github.com/home-assistant/home-assistant/pull/8701
|
||||
[#8702]: https://github.com/home-assistant/home-assistant/pull/8702
|
||||
[#8713]: https://github.com/home-assistant/home-assistant/pull/8713
|
||||
[#8715]: https://github.com/home-assistant/home-assistant/pull/8715
|
||||
[#8717]: https://github.com/home-assistant/home-assistant/pull/8717
|
||||
[#8723]: https://github.com/home-assistant/home-assistant/pull/8723
|
||||
[#8728]: https://github.com/home-assistant/home-assistant/pull/8728
|
||||
[#8730]: https://github.com/home-assistant/home-assistant/pull/8730
|
||||
[#8731]: https://github.com/home-assistant/home-assistant/pull/8731
|
||||
[#8736]: https://github.com/home-assistant/home-assistant/pull/8736
|
||||
[#8739]: https://github.com/home-assistant/home-assistant/pull/8739
|
||||
[#8748]: https://github.com/home-assistant/home-assistant/pull/8748
|
||||
[#8756]: https://github.com/home-assistant/home-assistant/pull/8756
|
||||
[#8761]: https://github.com/home-assistant/home-assistant/pull/8761
|
||||
[#8763]: https://github.com/home-assistant/home-assistant/pull/8763
|
||||
[#8764]: https://github.com/home-assistant/home-assistant/pull/8764
|
||||
[#8767]: https://github.com/home-assistant/home-assistant/pull/8767
|
||||
[#8774]: https://github.com/home-assistant/home-assistant/pull/8774
|
||||
[#8777]: https://github.com/home-assistant/home-assistant/pull/8777
|
||||
[#8782]: https://github.com/home-assistant/home-assistant/pull/8782
|
||||
[#8783]: https://github.com/home-assistant/home-assistant/pull/8783
|
||||
[#8785]: https://github.com/home-assistant/home-assistant/pull/8785
|
||||
[#8786]: https://github.com/home-assistant/home-assistant/pull/8786
|
||||
[#8787]: https://github.com/home-assistant/home-assistant/pull/8787
|
||||
[#8797]: https://github.com/home-assistant/home-assistant/pull/8797
|
||||
[#8805]: https://github.com/home-assistant/home-assistant/pull/8805
|
||||
[#8806]: https://github.com/home-assistant/home-assistant/pull/8806
|
||||
[#8809]: https://github.com/home-assistant/home-assistant/pull/8809
|
||||
[#8815]: https://github.com/home-assistant/home-assistant/pull/8815
|
||||
[#8817]: https://github.com/home-assistant/home-assistant/pull/8817
|
||||
[#8820]: https://github.com/home-assistant/home-assistant/pull/8820
|
||||
[#8825]: https://github.com/home-assistant/home-assistant/pull/8825
|
||||
[#8826]: https://github.com/home-assistant/home-assistant/pull/8826
|
||||
[#8827]: https://github.com/home-assistant/home-assistant/pull/8827
|
||||
[#8828]: https://github.com/home-assistant/home-assistant/pull/8828
|
||||
[#8834]: https://github.com/home-assistant/home-assistant/pull/8834
|
||||
[#8837]: https://github.com/home-assistant/home-assistant/pull/8837
|
||||
[#8839]: https://github.com/home-assistant/home-assistant/pull/8839
|
||||
[#8840]: https://github.com/home-assistant/home-assistant/pull/8840
|
||||
[#8843]: https://github.com/home-assistant/home-assistant/pull/8843
|
||||
[#8844]: https://github.com/home-assistant/home-assistant/pull/8844
|
||||
[#8845]: https://github.com/home-assistant/home-assistant/pull/8845
|
||||
[#8847]: https://github.com/home-assistant/home-assistant/pull/8847
|
||||
[#8848]: https://github.com/home-assistant/home-assistant/pull/8848
|
||||
[#8849]: https://github.com/home-assistant/home-assistant/pull/8849
|
||||
[#8850]: https://github.com/home-assistant/home-assistant/pull/8850
|
||||
[#8852]: https://github.com/home-assistant/home-assistant/pull/8852
|
||||
[#8854]: https://github.com/home-assistant/home-assistant/pull/8854
|
||||
[#8855]: https://github.com/home-assistant/home-assistant/pull/8855
|
||||
[#8856]: https://github.com/home-assistant/home-assistant/pull/8856
|
||||
[#8857]: https://github.com/home-assistant/home-assistant/pull/8857
|
||||
[#8858]: https://github.com/home-assistant/home-assistant/pull/8858
|
||||
[#8859]: https://github.com/home-assistant/home-assistant/pull/8859
|
||||
[#8862]: https://github.com/home-assistant/home-assistant/pull/8862
|
||||
[#8863]: https://github.com/home-assistant/home-assistant/pull/8863
|
||||
[#8864]: https://github.com/home-assistant/home-assistant/pull/8864
|
||||
[#8866]: https://github.com/home-assistant/home-assistant/pull/8866
|
||||
[#8869]: https://github.com/home-assistant/home-assistant/pull/8869
|
||||
[#8873]: https://github.com/home-assistant/home-assistant/pull/8873
|
||||
[#8876]: https://github.com/home-assistant/home-assistant/pull/8876
|
||||
[#8878]: https://github.com/home-assistant/home-assistant/pull/8878
|
||||
[#8879]: https://github.com/home-assistant/home-assistant/pull/8879
|
||||
[#8880]: https://github.com/home-assistant/home-assistant/pull/8880
|
||||
[#8881]: https://github.com/home-assistant/home-assistant/pull/8881
|
||||
[#8883]: https://github.com/home-assistant/home-assistant/pull/8883
|
||||
[#8885]: https://github.com/home-assistant/home-assistant/pull/8885
|
||||
[#8887]: https://github.com/home-assistant/home-assistant/pull/8887
|
||||
[#8892]: https://github.com/home-assistant/home-assistant/pull/8892
|
||||
[#8893]: https://github.com/home-assistant/home-assistant/pull/8893
|
||||
[#8896]: https://github.com/home-assistant/home-assistant/pull/8896
|
||||
[#8898]: https://github.com/home-assistant/home-assistant/pull/8898
|
||||
[#8902]: https://github.com/home-assistant/home-assistant/pull/8902
|
||||
[#8904]: https://github.com/home-assistant/home-assistant/pull/8904
|
||||
[#8908]: https://github.com/home-assistant/home-assistant/pull/8908
|
||||
[#8909]: https://github.com/home-assistant/home-assistant/pull/8909
|
||||
[#8923]: https://github.com/home-assistant/home-assistant/pull/8923
|
||||
[#8925]: https://github.com/home-assistant/home-assistant/pull/8925
|
||||
[#8928]: https://github.com/home-assistant/home-assistant/pull/8928
|
||||
[#8930]: https://github.com/home-assistant/home-assistant/pull/8930
|
||||
[@809694+kfcook]: https://github.com/809694+kfcook
|
||||
[@CharlesBlonde]: https://github.com/CharlesBlonde
|
||||
[@Hellowlol]: https://github.com/Hellowlol
|
||||
[@JulianKahnert]: https://github.com/JulianKahnert
|
||||
[@Klikini]: https://github.com/Klikini
|
||||
[@MartinHjelmare]: https://github.com/MartinHjelmare
|
||||
[@OverloadUT]: https://github.com/OverloadUT
|
||||
[@PhracturedBlue]: https://github.com/PhracturedBlue
|
||||
[@Spirit-X]: https://github.com/Spirit-X
|
||||
[@StevenLooman]: https://github.com/StevenLooman
|
||||
[@abmantis]: https://github.com/abmantis
|
||||
[@alanfischer]: https://github.com/alanfischer
|
||||
[@amelchio]: https://github.com/amelchio
|
||||
[@andrey-git]: https://github.com/andrey-git
|
||||
[@armills]: https://github.com/armills
|
||||
[@azogue]: https://github.com/azogue
|
||||
[@bachya]: https://github.com/bachya
|
||||
[@balloob]: https://github.com/balloob
|
||||
[@cribbstechnologies]: https://github.com/cribbstechnologies
|
||||
[@dansarginson]: https://github.com/dansarginson
|
||||
[@emlt]: https://github.com/emlt
|
||||
[@fabaff]: https://github.com/fabaff
|
||||
[@fanthos]: https://github.com/fanthos
|
||||
[@foxel]: https://github.com/foxel
|
||||
[@fronzbot]: https://github.com/fronzbot
|
||||
[@gwhiteCL]: https://github.com/gwhiteCL
|
||||
[@hageltech]: https://github.com/hageltech
|
||||
[@jeroenterheerdt]: https://github.com/jeroenterheerdt
|
||||
[@karlkar]: https://github.com/karlkar
|
||||
[@leppa]: https://github.com/leppa
|
||||
[@luukd]: https://github.com/luukd
|
||||
[@mar-schmidt]: https://github.com/mar-schmidt
|
||||
[@mcolyer]: https://github.com/mcolyer
|
||||
[@mezz64]: https://github.com/mezz64
|
||||
[@mjj4791]: https://github.com/mjj4791
|
||||
[@molobrakos]: https://github.com/molobrakos
|
||||
[@mtreinish]: https://github.com/mtreinish
|
||||
[@nugget]: https://github.com/nugget
|
||||
[@pezinek]: https://github.com/pezinek
|
||||
[@pschmitt]: https://github.com/pschmitt
|
||||
[@pvizeli]: https://github.com/pvizeli
|
||||
[@sielicki]: https://github.com/sielicki
|
||||
[@steverhoades]: https://github.com/steverhoades
|
||||
[@syssi]: https://github.com/syssi
|
||||
[@tfriedel]: https://github.com/tfriedel
|
||||
[@thrawnarn]: https://github.com/thrawnarn
|
||||
[@tinloaf]: https://github.com/tinloaf
|
||||
[@tlyakhov]: https://github.com/tlyakhov
|
||||
[@tsvi]: https://github.com/tsvi
|
||||
[@turbokongen]: https://github.com/turbokongen
|
||||
[@viswa-swami]: https://github.com/viswa-swami
|
||||
[@w1ll1am23]: https://github.com/w1ll1am23
|
||||
[@wickerwaka]: https://github.com/wickerwaka
|
||||
[alarm_control_panel.simplisafe docs]: https://home-assistant.io/components/alarm_control_panel.simplisafe/
|
||||
[alexa docs]: https://home-assistant.io/components/alexa/
|
||||
[asterisk_mbox docs]: https://home-assistant.io/components/asterisk_mbox/
|
||||
[automation docs]: https://home-assistant.io/components/automation/
|
||||
[binary_sensor docs]: https://home-assistant.io/components/binary_sensor/
|
||||
[binary_sensor.command_line docs]: https://home-assistant.io/components/binary_sensor.command_line/
|
||||
[binary_sensor.rest docs]: https://home-assistant.io/components/binary_sensor.rest/
|
||||
[binary_sensor.zwave docs]: https://home-assistant.io/components/binary_sensor.zwave/
|
||||
[camera.foscam docs]: https://home-assistant.io/components/camera.foscam/
|
||||
[climate docs]: https://home-assistant.io/components/climate/
|
||||
[climate.honeywell docs]: https://home-assistant.io/components/climate.honeywell/
|
||||
[climate.tado docs]: https://home-assistant.io/components/climate.tado/
|
||||
[config.zwave docs]: https://home-assistant.io/components/config.zwave/
|
||||
[cover.lutron_caseta docs]: https://home-assistant.io/components/cover.lutron_caseta/
|
||||
[cover.rpi_gpio docs]: https://home-assistant.io/components/cover.rpi_gpio/
|
||||
[device_tracker.huawei_router docs]: https://home-assistant.io/components/device_tracker.huawei_router/
|
||||
[dyson docs]: https://home-assistant.io/components/dyson/
|
||||
[emulated_hue docs]: https://home-assistant.io/components/emulated_hue/
|
||||
[fan.dyson docs]: https://home-assistant.io/components/fan.dyson/
|
||||
[group docs]: https://home-assistant.io/components/group/
|
||||
[history docs]: https://home-assistant.io/components/history/
|
||||
[image_processing.opencv docs]: https://home-assistant.io/components/image_processing.opencv/
|
||||
[influxdb docs]: https://home-assistant.io/components/influxdb/
|
||||
[insteon_plm docs]: https://home-assistant.io/components/insteon_plm/
|
||||
[light.decora_wifi docs]: https://home-assistant.io/components/light.decora_wifi/
|
||||
[light.flux_led docs]: https://home-assistant.io/components/light.flux_led/
|
||||
[light.lifx docs]: https://home-assistant.io/components/light.lifx/
|
||||
[light.mochad docs]: https://home-assistant.io/components/light.mochad/
|
||||
[light.osramlightify docs]: https://home-assistant.io/components/light.osramlightify/
|
||||
[lock.nuki docs]: https://home-assistant.io/components/lock.nuki/
|
||||
[lutron_caseta docs]: https://home-assistant.io/components/lutron_caseta/
|
||||
[mailbox.demo docs]: https://home-assistant.io/components/mailbox.demo/
|
||||
[mailbox.demo.txt docs]: https://home-assistant.io/components/mailbox.demo.txt/
|
||||
[media_extractor docs]: https://home-assistant.io/components/media_extractor/
|
||||
[media_player docs]: https://home-assistant.io/components/media_player/
|
||||
[media_player.bluesound docs]: https://home-assistant.io/components/media_player.bluesound/
|
||||
[media_player.cast docs]: https://home-assistant.io/components/media_player.cast/
|
||||
[media_player.directv docs]: https://home-assistant.io/components/media_player.directv/
|
||||
[media_player.kodi docs]: https://home-assistant.io/components/media_player.kodi/
|
||||
[media_player.mpd docs]: https://home-assistant.io/components/media_player.mpd/
|
||||
[media_player.russound_rio docs]: https://home-assistant.io/components/media_player.russound_rio/
|
||||
[media_player.sonos docs]: https://home-assistant.io/components/media_player.sonos/
|
||||
[media_player.squeezebox docs]: https://home-assistant.io/components/media_player.squeezebox/
|
||||
[notify.pushbullet docs]: https://home-assistant.io/components/notify.pushbullet/
|
||||
[notify.xmpp docs]: https://home-assistant.io/components/notify.xmpp/
|
||||
[recorder docs]: https://home-assistant.io/components/recorder/
|
||||
[recorder.migration docs]: https://home-assistant.io/components/recorder.migration/
|
||||
[recorder.models docs]: https://home-assistant.io/components/recorder.models/
|
||||
[recorder.purge docs]: https://home-assistant.io/components/recorder.purge/
|
||||
[recorder.util docs]: https://home-assistant.io/components/recorder.util/
|
||||
[remote docs]: https://home-assistant.io/components/remote/
|
||||
[remote.apple_tv docs]: https://home-assistant.io/components/remote.apple_tv/
|
||||
[remote.demo docs]: https://home-assistant.io/components/remote.demo/
|
||||
[remote.harmony docs]: https://home-assistant.io/components/remote.harmony/
|
||||
[remote.itach docs]: https://home-assistant.io/components/remote.itach/
|
||||
[remote.kira docs]: https://home-assistant.io/components/remote.kira/
|
||||
[rflink docs]: https://home-assistant.io/components/rflink/
|
||||
[scene.lutron_caseta docs]: https://home-assistant.io/components/scene.lutron_caseta/
|
||||
[sensor.asterisk_mbox docs]: https://home-assistant.io/components/sensor.asterisk_mbox/
|
||||
[sensor.buienradar docs]: https://home-assistant.io/components/sensor.buienradar/
|
||||
[sensor.command_line docs]: https://home-assistant.io/components/sensor.command_line/
|
||||
[sensor.dyson docs]: https://home-assistant.io/components/sensor.dyson/
|
||||
[sensor.efergy docs]: https://home-assistant.io/components/sensor.efergy/
|
||||
[sensor.eight_sleep docs]: https://home-assistant.io/components/sensor.eight_sleep/
|
||||
[sensor.geizhals docs]: https://home-assistant.io/components/sensor.geizhals/
|
||||
[sensor.google_wifi docs]: https://home-assistant.io/components/sensor.google_wifi/
|
||||
[sensor.lastfm docs]: https://home-assistant.io/components/sensor.lastfm/
|
||||
[sensor.neato docs]: https://home-assistant.io/components/sensor.neato/
|
||||
[sensor.pi_hole docs]: https://home-assistant.io/components/sensor.pi_hole/
|
||||
[sensor.pocketcasts docs]: https://home-assistant.io/components/sensor.pocketcasts/
|
||||
[sensor.radarr docs]: https://home-assistant.io/components/sensor.radarr/
|
||||
[sensor.rest docs]: https://home-assistant.io/components/sensor.rest/
|
||||
[sensor.sabnzbd docs]: https://home-assistant.io/components/sensor.sabnzbd/
|
||||
[sensor.shodan docs]: https://home-assistant.io/components/sensor.shodan/
|
||||
[sensor.sonarr docs]: https://home-assistant.io/components/sensor.sonarr/
|
||||
[sensor.statistics docs]: https://home-assistant.io/components/sensor.statistics/
|
||||
[sensor.supervisord docs]: https://home-assistant.io/components/sensor.supervisord/
|
||||
[sensor.synologydsm docs]: https://home-assistant.io/components/sensor.synologydsm/
|
||||
[sensor.systemmonitor docs]: https://home-assistant.io/components/sensor.systemmonitor/
|
||||
[sensor.vasttrafik docs]: https://home-assistant.io/components/sensor.vasttrafik/
|
||||
[sensor.yr docs]: https://home-assistant.io/components/sensor.yr/
|
||||
[sensor.zamg docs]: https://home-assistant.io/components/sensor.zamg/
|
||||
[switch.command_line docs]: https://home-assistant.io/components/switch.command_line/
|
||||
[switch.mqtt docs]: https://home-assistant.io/components/switch.mqtt/
|
||||
[switch.neato docs]: https://home-assistant.io/components/switch.neato/
|
||||
[switch.rachio docs]: https://home-assistant.io/components/switch.rachio/
|
||||
[switch.rainmachine docs]: https://home-assistant.io/components/switch.rainmachine/
|
||||
[switch.wink docs]: https://home-assistant.io/components/switch.wink/
|
||||
[switch.xiaomi_vacuum docs]: https://home-assistant.io/components/switch.xiaomi_vacuum/
|
||||
[telegram_bot docs]: https://home-assistant.io/components/telegram_bot/
|
||||
[updater docs]: https://home-assistant.io/components/updater/
|
||||
[vacuum docs]: https://home-assistant.io/components/vacuum/
|
||||
[vacuum.demo docs]: https://home-assistant.io/components/vacuum.demo/
|
||||
[vacuum.dyson docs]: https://home-assistant.io/components/vacuum.dyson/
|
||||
[vacuum.roomba docs]: https://home-assistant.io/components/vacuum.roomba/
|
||||
[vacuum.xiaomi docs]: https://home-assistant.io/components/vacuum.xiaomi/
|
||||
[weather.buienradar docs]: https://home-assistant.io/components/weather.buienradar/
|
||||
[weather.yweather docs]: https://home-assistant.io/components/weather.yweather/
|
||||
[weather.zamg docs]: https://home-assistant.io/components/weather.zamg/
|
||||
[wink docs]: https://home-assistant.io/components/wink/
|
||||
[zwave docs]: https://home-assistant.io/components/zwave/
|
||||
[forum]: https://community.home-assistant.io/
|
||||
[issue]: https://github.com/home-assistant/home-assistant/issues
|
||||
[discord]: https://discord.gg/c5DvZ4e
|
@ -21,9 +21,9 @@ DEPENDENCIES = ['mqtt']
|
||||
|
||||
## {% linkable_title 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 are Python libraries or modules 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](/docs/configuration/) if you are not using a `venv` or in something like `path/to/venv/lib/python3.6/site-packages` if you running in a virtual environment. This will make sure that all requirements are present at startup. If steps fails like missing packages for the compilation of a module or other install errors, 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
|
||||
REQUIREMENTS = ['pychromecast==0.6.12']
|
||||
@ -36,7 +36,7 @@ During development of a component, it can be useful to test against different ve
|
||||
|
||||
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.
|
||||
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`
|
||||
|
@ -104,9 +104,11 @@ The config for an add-on is stored in `config.json`.
|
||||
| ports | no | Network ports to expose from the container. Format is `"container-port/type": host-port`.
|
||||
| host_network | no | If that is True, the add-on run on host network.
|
||||
| devices | no | Device list to map into add-on. Format is: `<path_on_host>:<path_in_container>:<cgroup_permissions>`. i.e. `/dev/ttyAMA0:/dev/ttyAMA0:rwm`
|
||||
| hassio_api | no | This add-on can access to hass.io REST API. It set the host alias `hassio`.
|
||||
| privileged | no | Privilege for access to hardware/system. Available access: `NET_ADMIN`, `SYS_ADMIN`, `SYS_RAWIO`
|
||||
| map | no | List of maps for additional hass.io folders. Possible values: `config`, `ssl`, `addons`, `backup`, `share`. Default it map it `ro`, you can change that if you add a ":rw" at the end of name.
|
||||
| environment | no | A dict of environment variable to run add-on.
|
||||
| audio | no | Mark this add-on to use internal audio system. Environment is `ALSA_INPUT` and `ALSA_OUTPUT` to access the internal information for alsa.
|
||||
| options | yes | Default options value of the add-on
|
||||
| schema | yes | Schema for options value of the add-on. It can be `False` to disable schema validation and use custom options.
|
||||
| image | no | For use dockerhub.
|
||||
|
@ -25,7 +25,7 @@ For very special device, the `/dev/ttyAMA0` will not detect by udev and not mapp
|
||||
```bash
|
||||
$ curl -d '{"devices": ["ttyAMA0"]}' http://172.17.0.2/homeassistant/options
|
||||
```
|
||||
After that you need change `usb_path` to `/dev/ttyACM0`.
|
||||
After that you need change `usb_path` to `/dev/ttyAMA0`.
|
||||
|
||||
### HUSBZB-1:
|
||||
```yaml
|
||||
|
@ -48,6 +48,7 @@ Don't miss the regular [Home Assistant podcasts](https://hasspodcast.io/).
|
||||
|
||||
- [Episode #122: Home Assistant: Pythonic Home Automation](https://talkpython.fm/episodes/show/122/home-assistant-pythonic-home-automation) - July 2017
|
||||
- [Why can't we have the Internet of Nice Things?](https://opensource.com/article/17/7/home-automation-primer) - July 2017
|
||||
- [Integrating Snips with Home Assistant](https://medium.com/snips-ai/integrating-snips-with-home-assistant-314723645c77) - June 2017
|
||||
- [Jupiter Broadcasting - No Privacy Compromise Home Automation](http://www.jupiterbroadcasting.com/115566/no-privacy-compromise-home-automation/) - June 2017
|
||||
- [Castálio Podcast - Episódio 102: Marcelo Mello - Red Hat e Automação Residencial com Home Assistant](https://youtu.be/hZq8ucpzjCs) - May 2017
|
||||
- [Paulus Schoutsen and Home Assistant - Episode 8](http://codepop.com/open-sourcecraft/episodes/paulus-schoutsen/) - March 2017
|
||||
|
BIN
source/images/blog/2017-08-0.51/components.png
Normal file
BIN
source/images/blog/2017-08-0.51/components.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 38 KiB |
BIN
source/images/screenshots/supervisor.png
Normal file
BIN
source/images/screenshots/supervisor.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 37 KiB |
@ -9,7 +9,6 @@ is_homepage: true
|
||||
regenerate: true
|
||||
hide_github_edit: true
|
||||
description: Open-source home automation platform running on Python 3. Track and control all devices at home and automate control. Installation in less than a minute.
|
||||
hide_github_edit: true
|
||||
---
|
||||
|
||||
{% assign recent_release_post = site.categories['Release-Notes'].first %}
|
||||
|
Loading…
x
Reference in New Issue
Block a user