Merge 'home-assistant/current' into issue-2142

This commit is contained in:
Beat Durrer 2017-03-17 20:35:50 +01:00
commit 2b0c3e892d
40 changed files with 425 additions and 121 deletions

View File

@ -128,9 +128,9 @@ social:
# Home Assistant release details # Home Assistant release details
current_major_version: 0 current_major_version: 0
current_minor_version: 40 current_minor_version: 40
current_patch_version: 0 current_patch_version: 1
date_released: 2017-03-11 date_released: 2017-03-16
# Either # or the anchor link to latest release notes in the blog post. # Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it. # Must be prefixed with a # and have double quotes around it.
patch_version_notes: "#" patch_version_notes: "#release-0401---march-16"

View File

@ -330,6 +330,21 @@ p.note {
-moz-transition-property: -moz-transform, opacity; -moz-transition-property: -moz-transform, opacity;
transition-property: transform, opacity; transition-property: transform, opacity;
} }
.component-search{
margin-bottom: 24px;
input{
width: 100%;
padding: 10px;
background-color: #fefefe;
border-radius: 2px;
border: 1px solid;
border-color: #7c7c7c #c3c3c3 #ddd;
}
}
} }
@media only screen and (max-width: $lap-end) { @media only screen and (max-width: $lap-end) {

View File

@ -8,7 +8,7 @@ comments: false
sharing: true sharing: true
footer: true footer: true
logo: apcupsd.png logo: apcupsd.png
ha_category: Binary Sensor ha_category: System Monitor
ha_release: 0.13 ha_release: 0.13
ha_iot_class: "Local Polling" ha_iot_class: "Local Polling"
--- ---

View File

@ -19,12 +19,12 @@ To use your BeagleBone Black's GPIO in your installation, add the following to y
```yaml ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
binary_sensor: binary_sensor:
- platform: bbb_gpio - platform: bbb_gpio
pins: pins:
P8_12: P8_12:
name: Door name: Door
GPIO0_26: GPIO0_26:
name: Window name: Window
``` ```
Configuration variables: Configuration variables:

View File

@ -32,5 +32,6 @@ Configuration variables:
- **username** (*Required*: The username of an user with administrative privileges, usually `admin`. - **username** (*Required*: The username of an user with administrative privileges, usually `admin`.
- **password** (*Required*): The password for your given admin account. - **password** (*Required*): The password for your given admin account.
- **site_id** (*Optional*): Allows you to specify a `site_id` for device tracking. Defaults to `default`. Found in the URL of the controller (i.e. https://CONTROLLER:PORT/manage/site/SITE_ID/dashboard) - **site_id** (*Optional*): Allows you to specify a `site_id` for device tracking. Defaults to `default`. Found in the URL of the controller (i.e. https://CONTROLLER:PORT/manage/site/SITE_ID/dashboard)
- **verify_ssl** (*Optional*): Controls if the SSL certificate running on your Unifi webserver must be trusted by a known Certificate Authority on the server running Home Assistant. Defaults to 'True'.
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -26,6 +26,10 @@ Home Assistant can discover and automatically configure zeroconf/mDNS and uPnP d
* Logitech media server (Squeezebox) * Logitech media server (Squeezebox)
* DirecTV * DirecTV
* Apple TV * Apple TV
* Yeelight Sunflower Bulb
* Flux Led/MagicLight
* Linn / Openhome
* Denon Network Receivers
It will be able to add Google Chromecasts and Belkin WeMo switches automatically, for Philips Hue it will require some configuration from the user. It will be able to add Google Chromecasts and Belkin WeMo switches automatically, for Philips Hue it will require some configuration from the user.
@ -43,6 +47,24 @@ Configuration variables:
- **ignore** (*Optional*): A list of platforms that never will be automatically configured by `discovery`. - **ignore** (*Optional*): A list of platforms that never will be automatically configured by `discovery`.
Valid values for ignore are:
* philips_hue: (Philips Hue)
* google_cast: (Google Chromecast)
* panasonic_viera: (Panasonic Viera)
* plex_mediaserver: (Plex media server)
* roku: (Roku media player)
* sonos: (Sonos Speakers)
* yamaha: (Yamaha media player)
* logitech_mediaserver: (Logitech media server - Squeezebox player)
* directv: (DirecTV)
* denonavr: (Denon Network Receivers)
* samsung_tv: (Samsung TV)
* yeelight: (Yeelight Sunflower Bulb)
* flux_led: (Flux Led/MagicLight)
* apple_tv: (Apple TV)
* openhome: (Linn / Openhome)
<p class='note'> <p class='note'>
Home Assistant must be on the same network as the devices for uPnP discovery to work. Home Assistant must be on the same network as the devices for uPnP discovery to work.
If running Home Assistant in a Docker container use switch `--net=host` to put it on the host's network. If running Home Assistant in a Docker container use switch `--net=host` to put it on the host's network.

View File

@ -2,7 +2,7 @@
layout: page layout: page
title: "InfluxDB" title: "InfluxDB"
description: "Record events in InfluxDB." description: "Record events in InfluxDB."
date: 2015-12-06 13:08 date: 2017-03-13 22:09
sidebar: true sidebar: true
comments: false comments: false
sharing: true sharing: true
@ -27,7 +27,7 @@ You will still need to create a database named `home_assistant` via InfluxDB's w
Configuration variables: Configuration variables:
- **host** (*Optional*): IP address of your database host, eg. 192.168.1.10. Defaults to `localhost`. - **host** (*Optional*): IP address of your database host, e.g. 192.168.1.10. Defaults to `localhost`.
- **port** (*Optional*): Port to use. Defaults to 8086. - **port** (*Optional*): Port to use. Defaults to 8086.
- **username** (*Optional*): The username of the database user. - **username** (*Optional*): The username of the database user.
- **password** (*Optional*): The password for the database user account. - **password** (*Optional*): The password for the database user account.
@ -35,8 +35,8 @@ Configuration variables:
- **ssl** (*Optional*): Use https instead of http to connect. Defaults to false. - **ssl** (*Optional*): Use https instead of http to connect. Defaults to false.
- **verify_ssl** (*Optional*): Verify SSL certificate for https request. Defaults to false. - **verify_ssl** (*Optional*): Verify SSL certificate for https request. Defaults to false.
- **default_measurement** (*Optional*): Measurement name to use when an entity doesn't have a unit. Defaults to entity id. - **default_measurement** (*Optional*): Measurement name to use when an entity doesn't have a unit. Defaults to entity id.
- **override_measurement** (*Optional*): Measurement name to use instead of unit or default measurement. This will store all data points in the singel same measurement. - **override_measurement** (*Optional*): Measurement name to use instead of unit or default measurement. This will store all data points in a single measurement.
- **blacklist** (*Optional*): List of entities not logged to InfluxDB. - **blacklist** (*Optional*): List of entities that should not be logged to InfluxDB.
- **whitelist** (*Optional*): List of the entities (only) that will be logged to InfluxDB. If not set, all entities will be logged. Values set by the **blacklist** option will prevail. - **whitelist** (*Optional*): List of the entities (only) that will be logged to InfluxDB. If not set, all entities will be logged. Values set by the **blacklist** option will prevail.
- **tags** (*Optional*): Tags to mark the data. - **tags** (*Optional*): Tags to mark the data.
@ -44,23 +44,23 @@ Configuration variables:
Starting with 0.36 the InfluxDB component has a new schema to store values in the InfluxDB databases. Starting with 0.36 the InfluxDB component has a new schema to store values in the InfluxDB databases.
- There will not be any tags/fields named time anymore. - There will no longer be any tags/fields named `time`.
- All numeric fields (int/float/bool) will be stored as float inside InfluxDB database. - All numeric fields (int/float/bool) will be stored as float inside InfluxDB database.
- All string fields corresponding to state attributes will be renamed as `FIELDNAME_str`, where `FIELDNAME` is the state attribute, to avoid type conflicts. - All string fields corresponding to state attributes will be renamed as `FIELDNAME_str`, where `FIELDNAME` is the state attribute, to avoid type conflicts.
- All string fields corresponding to a state will be renamed as state (former value). - All string fields corresponding to a state will be renamed as `state` (former value).
- Fields named value will always be stored as float. - Fields named `value` will always be stored as float.
- Fields named state will always be stored as string. - Fields named `state` will always be stored as string.
### {% linkable_title Migration script %} ### {% linkable_title Migration script %}
If you need to migrate your database, you may require to run the `influxdb_migrator` script. Run the script after upgrade to 0.36 but before first regular start of `hass` version 0.36. If you need to migrate your database, you may require to run the `influxdb_migrator` script. Run the script after upgrade to 0.36 but before the first regular start of `hass` version 0.36.
These are the steps the script will perform: These are the steps the script will perform:
1. Create a new database (called `DBNAME__old`) to store old data. 1. Create a new database (called `DBNAME__old`) to store old data.
2. Copy data from `DBNAME` database to `DBNAME__old` database. 2. Copy data from `DBNAME` database to `DBNAME__old` database.
3. Empty `DBNAME` database (using `drop` then `create`). `DBNAME` database is now considered as the new database. 3. Empty `DBNAME` database (using `drop` then `create`). `DBNAME` database is now considered as the new database.
4. For each measurement of `DBNAME__old` database: 4. For each measurement of `DBNAME__old` database:
1. Read all points from the current measuremnt (by group of `1000` points by default) and convert them. 1. Read all points from the current measurement (in groups of 1000 points by default) and convert them.
2. Send group of points to `DBNAME` database. 2. Send group of points to `DBNAME` database.
5. Delete the `DBNAME__old` database if needed. 5. Delete the `DBNAME__old` database if needed.
@ -94,7 +94,7 @@ optional arguments:
- If you run the script with only the `-h` option, you will get a help printout with a short explanation of the different options. - If you run the script with only the `-h` option, you will get a help printout with a short explanation of the different options.
- The host option defaults to `'127.0.0.1'`. - The host option defaults to `'127.0.0.1'`.
- The port option defaults to `8086`. - The port option defaults to `8086`.
- You should be able to omit username and password, if InfluxDB authentication is disabled, which it is by default. - You should be able to omit username and password if InfluxDB authentication is disabled, which it is by default.
- The step option defaults to `1000`. - The step option defaults to `1000`.

View File

@ -37,7 +37,7 @@ Configuration variables:
- **device_id** (*Required*): The Id of your device. - **device_id** (*Required*): The Id of your device.
- **api_key** (*Required*): The API key for Join. - **api_key** (*Required*): The API key for Join.
The notify service has a few optional parameters such as icon and small icon. You can use them like so: The notify service has two optional parameters: `icon` and `small icon`. You can use them like so:
```json ```json
{"message":"Hello!","title":"From Hass","data":{"icon":"https://goo.gl/KVqcYi","smallicon":"http://goo.gl/AU4Wf1"}} {"message":"Hello!","title":"From Hass","data":{"icon":"https://goo.gl/KVqcYi","smallicon":"http://goo.gl/AU4Wf1"}}

View File

@ -19,12 +19,8 @@ The `lifx` platform allows you to integrate your [LIFX](http://www.lifx.com) int
# Example configuration.yaml entry # Example configuration.yaml entry
light: light:
- platform: lifx - platform: lifx
broadcast: 192.168.1.255 server: 192.168.1.10
``` ```
Configuration variables: Configuration variables:
- **server** (*Optional*): Your server address. Only needed if using more than one network interface. Omit if you are unsure. - **server** (*Optional*): Your server address. Only needed if using more than one network interface. Omit if you are unsure.
- **broadcast** (*Optional*): The broadcast address, set to reach all LIFX bulbs.
If there is an issue with lights not showing up when Home Assistant is restarted, add broadcast to your configuration.

View File

@ -11,10 +11,11 @@ ha_category: Light
ha_release: 0.39 ha_release: 0.39
--- ---
The `yeelightsunflower` light platform allows you to control your Yeelight Sunflower light bulbs with Home Assistant. The `yeelightsunflower` light platform allows you to control your Yeelight Sunflower light bulbs with Home Assistant.
Note that the "Yeelight Sunflower" bulbs are not the same as the "Yeelight WiFi" bulbs.
### {% linkable_title Example configuration %} <p class='note warning'>
The "Yeelight Sunflower" bulbs are not the same as the "Yeelight WiFi" bulbs.
</p>
To enable your lights, add the following lines to your `configuration.yaml` file: To enable your lights, add the following lines to your `configuration.yaml` file:
@ -37,4 +38,3 @@ When the hub is loaded, your lights will appear as devices with their Zigbee IDs
The Yeelight Sunflower hub supports SSDP discovery, but that has not been built into the platform. Let the developer know if that would be helpful to you. The Yeelight Sunflower hub supports SSDP discovery, but that has not been built into the platform. Let the developer know if that would be helpful to you.
</p> </p>

View File

@ -28,7 +28,7 @@ Steps to configure your Amazon Fire TV stick with Home Assistant:
- From the main (Launcher) screen, select Settings. - From the main (Launcher) screen, select Settings.
- Select System > About > Network. - Select System > About > Network.
- The following commands must be run in a Python 2.x environment. They will allow the component to function in an Ubuntu 16.04/Hassbian environment. - The following commands must be run in a Python 2.x environment. They will allow the component to function in an Ubuntu 16.04/Hassbian environment.
- `apt-get install swig libssl-dev python-dev libusb-1.0-0` - `apt-get install swig libssl-dev python-dev libusb-1.0-0 python-yaml`
- `pip install flask` - `pip install flask`
- `pip install https://pypi.python.org/packages/source/M/M2Crypto/M2Crypto-0.24.0.tar.gz` - `pip install https://pypi.python.org/packages/source/M/M2Crypto/M2Crypto-0.24.0.tar.gz`
- `pip install firetv[firetv-server]` - `pip install firetv[firetv-server]`

View File

@ -37,7 +37,7 @@ And then install the following system dependencies:
Debian/Ubuntu/Rasbian: Debian/Ubuntu/Rasbian:
```bash ```bash
sudo apt-get install python-gst-1.0 \ sudo apt-get install python3-gst-1.0 \
gir1.2-gstreamer-1.0 gir1.2-gst-plugins-base-1.0 \ gir1.2-gstreamer-1.0 gir1.2-gst-plugins-base-1.0 \
gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly \ gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly \
gstreamer1.0-tools gstreamer1.0-tools

View File

@ -32,7 +32,7 @@ Configuration variables:
- **host** (*Required*): The IP of the Samsung Smart TV, eg. `192.168.0.10`. - **host** (*Required*): The IP of the Samsung Smart TV, eg. `192.168.0.10`.
- **port** (*Optional*): The port of the Samsung Smart TV. Defaults to 55000. If set to 8001, the new websocket connection will be used (required for 2016+ TVs). - **port** (*Optional*): The port of the Samsung Smart TV. Defaults to 55000. If set to 8001, the new websocket connection will be used (required for 2016+ TVs).
- **name** (*Optional*): The name you would like to give to the Samsung Smart TV. - **name** (*Optional*): The name you would like to give to the Samsung Smart TV.
- **timeout** (*Optional*): The time-out for the communication with the TV. Defaults to 0. - **timeout** (*Optional*): The time-out in seconds for the communication with the TV. Defaults to 0 (no timeout).
- **mac** (*Optional*): The MAC address of the Samsung Smart TV, eg. `00:11:22:33:44:55:66`. Required for power on support via wake on lan. - **mac** (*Optional*): The MAC address of the Samsung Smart TV, eg. `00:11:22:33:44:55:66`. Required for power on support via wake on lan.
Currently known supported models: Currently known supported models:
@ -44,6 +44,7 @@ Currently known supported models:
- ES6800 - ES6800
- F6300 - F6300
- F6500 - F6500
- EH5300
- EH5600 - EH5600
- F6400AF - F6400AF
- D6505 - D6505

View File

@ -9,18 +9,13 @@ sharing: true
footer: true footer: true
logo: twilio.png logo: twilio.png
ha_category: Notifications ha_category: Notifications
ha_release: "0.37" ha_release: 0.37
--- ---
The `twilio` notification platform enables sending notifications via Voice, powered by [Twilio](https://twilio.com). The `twilio_call` notification platform enables sending notifications via Voice, powered by [Twilio](https://twilio.com).
Passed message will be read by Text-To-Speech service. Passed message will be read by Text-To-Speech service.
This component is just an adaptation from the Twilio SMS notification platform and won't exist without it. The requirement is that you have setup [Twilio](/components/twilio/).
Free trial account is available at [Twilio](https://twilio.com) website providing free calls to verified phone numbers.
Calls are limited to 10 minutes and will play a short trial message before your message runs.
Upgraded accounts have no limitation.
To use this notification platform in your installation, add the following to your `configuration.yaml` file: To use this notification platform in your installation, add the following to your `configuration.yaml` file:
@ -29,15 +24,11 @@ To use this notification platform in your installation, add the following to you
notify: notify:
- name: NOTIFIER_NAME - name: NOTIFIER_NAME
platform: twilio_call platform: twilio_call
account_sid: ACCOUNT_SID_FROM_TWILIO
auth_token: AUTH_TOKEN_FROM_TWILIO
from_number: E164_PHONE_NUMBER from_number: E164_PHONE_NUMBER
``` ```
Configuration variables: Configuration variables:
- **account_sid** (*Required*): Your Twilio Account SID which can be found in your [console](https://www.twilio.com/console). It starts with the letters `AC`.
- **auth_token** (*Required*): Your Twilio Account SID which can be found in your [console](https://www.twilio.com/console). It should be directly under where you found the `account_sid`.
- **from_number** (*Required*): An [E.164](https://en.wikipedia.org/wiki/E.164) formatted phone number, like +14151234567. See [Twilio's guide to formatting phone numbers](https://www.twilio.com/help/faq/phone-numbers/how-do-i-format-phone-numbers-to-work-internationally) for more information. - **from_number** (*Required*): An [E.164](https://en.wikipedia.org/wiki/E.164) formatted phone number, like +14151234567. See [Twilio's guide to formatting phone numbers](https://www.twilio.com/help/faq/phone-numbers/how-do-i-format-phone-numbers-to-work-internationally) for more information.
- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`. - **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.

View File

@ -14,6 +14,8 @@ ha_release: "0.20"
The `twilio` notification platform enables sending notifications via SMS, powered by [Twilio](https://twilio.com). The `twilio` notification platform enables sending notifications via SMS, powered by [Twilio](https://twilio.com).
The requirement is that you have setup [Twilio](/components/twilio/).
To use this notification platform in your installation, add the following to your `configuration.yaml` file: To use this notification platform in your installation, add the following to your `configuration.yaml` file:
```yaml ```yaml
@ -21,15 +23,11 @@ To use this notification platform in your installation, add the following to you
notify: notify:
- name: NOTIFIER_NAME - name: NOTIFIER_NAME
platform: twilio_sms platform: twilio_sms
account_sid: ACCOUNT_SID_FROM_TWILIO
auth_token: AUTH_TOKEN_FROM_TWILIO
from_number: E164_PHONE_NUMBER from_number: E164_PHONE_NUMBER
``` ```
Configuration variables: Configuration variables:
- **account_sid** (*Required*): Your Twilio Account SID which can be found in your [console](https://www.twilio.com/console). It starts with the letters `AC`.
- **auth_token** (*Required*): Your Twilio Account SID which can be found in your [console](https://www.twilio.com/console). It should be directly under where you found the `account_sid`.
- **from_number** (*Required*): An [E.164](https://en.wikipedia.org/wiki/E.164) formatted phone number, like +14151234567. See [Twilio's guide to formatting phone numbers](https://www.twilio.com/help/faq/phone-numbers/how-do-i-format-phone-numbers-to-work-internationally) for more information. - **from_number** (*Required*): An [E.164](https://en.wikipedia.org/wiki/E.164) formatted phone number, like +14151234567. See [Twilio's guide to formatting phone numbers](https://www.twilio.com/help/faq/phone-numbers/how-do-i-format-phone-numbers-to-work-internationally) for more information.
- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`. - **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.

View File

@ -33,6 +33,7 @@ Configuration variables:
- **host** (*Required*): The IP of the LG WebOS Smart TV, e.g. 192.168.0.10 - **host** (*Required*): The IP of the LG WebOS Smart TV, e.g. 192.168.0.10
- **name** (*Required*): The name you would like to give to the LG WebOS Smart TV. - **name** (*Required*): The name you would like to give to the LG WebOS Smart TV.
- **filename** (*Optional*): The filename where the pairing key with the TV should be stored. This path is relative to Home Assistant's config directory. It defaults to `webostv.conf`. - **filename** (*Optional*): The filename where the pairing key with the TV should be stored. This path is relative to Home Assistant's config directory. It defaults to `webostv.conf`.
- **icon** (*Optional*): The path to an image file to use as the icon in notifications. If provided, this image will override the Home Assistant logo.
A possible automation could be: A possible automation could be:
@ -49,3 +50,20 @@ automation:
data: data:
message: "You should open a window! (Livingroom Co2: {{ states.sensor.netatmo_livingroom_co2.state }}ppm)" message: "You should open a window! (Livingroom Co2: {{ states.sensor.netatmo_livingroom_co2.state }}ppm)"
``` ```
The icon can be overridden for individual notifications by providing a path to an alternative icon image to use:
```yaml
automation:
- alias: Front door motion
trigger:
platform: state
entity_id: binary_sensor.front_door_motion
state: 'on'
action:
service: notify.livingroom_tv
data:
message: "Movement detected: Front Door"
data:
icon: "/home/homeassistant/images/doorbell.png"
```

View File

@ -94,6 +94,9 @@ Wildcards only work at the end of the ID, not in the middle of front!
Even though a lot of devices are supported by Rflink, not all have been tested/implemented. If you have a device supported by Rflink but not by this component please consider testing and adding support yourself or [create an issue](https://github.com/home-assistant/home-assistant/issues/new) and mention `@aequitas` in the description. Even though a lot of devices are supported by Rflink, not all have been tested/implemented. If you have a device supported by Rflink but not by this component please consider testing and adding support yourself or [create an issue](https://github.com/home-assistant/home-assistant/issues/new) and mention `@aequitas` in the description.
### {% linkable_title Device Incorrectly Identified %}
If you find a device is recognized differently, with different protocols or the ON OFF is swapped or detected as two ON commands, it can be overcome with the RFlink 'RF Signal Learning' mechanism from RFLink Rev 46 (11 March 2017). http://www.nemcon.nl/blog2/faq#RFFind.
### {% linkable_title Technical overview %} ### {% linkable_title Technical overview %}

View File

@ -8,7 +8,8 @@ comments: false
sharing: true sharing: true
footer: true footer: true
logo: apcupsd.png logo: apcupsd.png
ha_category: Sensor ha_release: 0.13
ha_category: System Monitor
--- ---
The `apcupsd` sensor platform allows you to monitor a UPS (battery backup) by using data from the [apcaccess](http://linux.die.net/man/8/apcaccess) command. The `apcupsd` sensor platform allows you to monitor a UPS (battery backup) by using data from the [apcaccess](http://linux.die.net/man/8/apcaccess) command.

View File

@ -13,10 +13,12 @@ ha_release: "0.40"
ha_iot_class: "Cloud Polling" ha_iot_class: "Cloud Polling"
--- ---
The ComEd Hourly Pricing program is an optional program available to ComEd electric subscribers which charges customers a variable rate for electricity supply based on current demand rather than a traditional fixed rate. Live prices are published [here](https://hourlypricing.comed.com/live-prices/) and also via an [API](https://hourlypricing.comed.com/hp-api/) which we can integrate as a sensor in Home Assistant. The ComEd Hourly Pricing program is an optional program available to ComEd electric subscribers which charges customers a variable rate for electricity supply based on current demand rather than a traditional fixed rate. Live prices are published [here](https://hourlypricing.comed.com/live-prices/) and also via an [API](https://hourlypricing.comed.com/hp-api/) which we can integrate as a sensor in Home Assistant.
There are two price feeds available: the 5-minute price and current hour average price. There are two price feeds available: the 5-minute price and current hour average price.
To use this sensor in your installation, add the following to your `configuration.yaml` file:
```yaml ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
sensor: sensor:
@ -33,5 +35,5 @@ Configuration variables:
- **five_minute**: The latest 5-minute price in cents. - **five_minute**: The latest 5-minute price in cents.
- **current_hour_average**: The latest current hour average price in cents. - **current_hour_average**: The latest current hour average price in cents.
- **name** (*Optional*): Custom name for the sensor. - **name** (*Optional*): Custom name for the sensor.
- **offset** (*Optional*): The pricing feeds provide only the *supply* cost of the electricity. The offset parameter allows you to provide a fixed constant that will be added to the pricing data to provide a more accurate representation of the total electricity cost per kWh. - **offset** (*Optional*): The pricing feeds provide only the *supply* cost of the electricity. The offset parameter allows you to provide a fixed constant that will be added to the pricing data to provide a more accurate representation of the total electricity cost per kWh.

View File

@ -22,24 +22,18 @@ sensor:
- platform: hydroquebec - platform: hydroquebec
username: MYUSERNAME username: MYUSERNAME
password: MYPASSWORD password: MYPASSWORD
contract: 'CONTRACT#' (NOTE:works with the ' ' ,insert your contract in between)
monitored_variables: monitored_variables:
- period_total_bill - period_total_bill
- period_length - period_length
- period_total_days - period_total_days
- period_mean_daily_bill
- period_mean_daily_consumption
- period_total_consumption
- period_lower_price_consumption
- period_higher_price_consumption
- yesterday_total_consumption
- yesterday_lower_price_consumption
- yesterday_higher_price_consumption
``` ```
Configuration variables: Configuration variables:
- **username** (*Required*): The App Token for your account. - **username** (*Required*): Username used to log into the Hydro-Québec site.
- **password** (*Required*): The App Token for your account. - **password** (*Required*): Password used to log into the Hydro-Québec site.
- **contract** (required since HA 4.0) Your contract number with Hydro-Québec
- **monitored_variables** array (*Required*): Variables to monitor. - **monitored_variables** array (*Required*): Variables to monitor.
- **period_total_bill** : Current period bill - **period_total_bill** : Current period bill
- **period_length**: Current period length - **period_length**: Current period length

View File

@ -0,0 +1,59 @@
---
layout: page
title: "KWB Easyfire Sensor"
description: "Instructions how to integrate the KWB Easyfire sensor into Home Assistant."
date: 2017-03-06 14:10
sidebar: true
comments: false
sharing: true
footer: true
logo: kwb.png
ha_category: Sensor
ha_iot_class: "Local Polling"
ha_release: 0.40
---
The `kwb` component integrates the sensors of KWB Easyfire pellet central heating units with the Comfort3 controller (http://www.kwbheizung.de/de/produkte/kwb-comfort-3.html) into Home Assistant.
Direct connection via serial (RS485) or via telnet terminal server is supported. The serial cable has to be attached to the control unit port 25 (which is normally used for detached control terminals).
Since this serial protocol is proprietary and closed, only most temperature sensors and a few control relays are supported, the rest is still WIP (see https://www.mikrocontroller.net/topic/274137).
Direct connection via serial port:
```yaml
# Example configuration.yaml entry
- platform: kwb
name: kwb
device: "/dev/ttyUSB0"
type: serial
raw: False
```
Telnet terminal server with a serial-ethernet converter:
```yaml
# Example configuration.yaml entry
- platform: kwb
name: kwb
host: <ip>
port: 23
type: tcp
raw: False
```
Configuration variables:
*Required if used with a serial-ethernet converter*
- **host**: The IP-address of the serial server
- **port**: The TCP-port of the serial server
- **type**: tcp
*Required if used directly with a serial port*
- **device**: The serial device of the machine
- **type**: serial
*Optional for both cases*
- **name**: The name of the device used in the frontend
- **raw**: Should the raw serial output be shown as a sensor

View File

@ -8,7 +8,7 @@ comments: false
sharing: true sharing: true
footer: true footer: true
logo: nut.png logo: nut.png
ha_category: Sensor ha_category: System Monitor
ha_version: 0.34 ha_version: 0.34
--- ---

View File

@ -8,7 +8,7 @@ comments: false
sharing: true sharing: true
footer: true footer: true
logo: onewire.png logo: onewire.png
ha_category: Sensor ha_category: DIY
ha_release: 0.12 ha_release: 0.12
--- ---

View File

@ -7,7 +7,7 @@ sidebar: true
comments: false comments: false
sharing: true sharing: true
footer: true footer: true
ha_category: ha_category: Energy
logo: sma.png logo: sma.png
ha_iot_class: "Local Polling" ha_iot_class: "Local Polling"
ha_release: 0.36 ha_release: 0.36

View File

@ -14,7 +14,7 @@ ha_iot_class: depends
--- ---
This `synologydms` sensor allows getting various statistics from your [Synology NAS](https://www.synology.com). This `synologydsm` sensor allows getting various statistics from your [Synology NAS](https://www.synology.com).
To use the `synologydsm` sensor in your installation, add the following to your `configuration.yaml` file: To use the `synologydsm` sensor in your installation, add the following to your `configuration.yaml` file:

View File

@ -11,7 +11,7 @@ logo: home-assistant.png
ha_category: Weather ha_category: Weather
--- ---
The sun component will use your current location to track if the sun is above or below the horizon.The sun can be used within automation as [a trigger with an optional offset to simulate dawn/dusk][automation-trigger]. The sun component will use your current location to track if the sun is above or below the horizon. The sun can be used within automation as [a trigger with an optional offset to simulate dawn/dusk][automation-trigger].
[automation-trigger]: /getting-started/automation-trigger/#sun-trigger [automation-trigger]: /getting-started/automation-trigger/#sun-trigger
@ -22,7 +22,7 @@ sun:
Configuration variables: Configuration variables:
- **elevation** (*Optional*): The (physical) elevation of your location, in metres above sea level. If omitted will be retrieved from Google Maps. - **elevation** (*Optional*): The (physical) elevation of your location, in metres above sea level. Defaults to the `elevation` in `configuration.yaml`, which is retrieved from Google Maps if not set.
<p class='img'> <p class='img'>
<img src='/images/screenshots/more-info-dialog-sun.png' /> <img src='/images/screenshots/more-info-dialog-sun.png' />

View File

@ -19,12 +19,12 @@ To use yourBeagleBone Black's GPIO in your installation, add the following to yo
```yaml ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
switch: switch:
- platform: bbb_gpio - platform: bbb_gpio
pins: pins:
GPIO0_7: GPIO0_7:
name: LED Red name: LED Red
P9_12: P9_12:
name: LED Green name: LED Green
``` ```
Configuration variables: Configuration variables:

View File

@ -15,7 +15,7 @@ ha_release: 0.37
The `amazon_polly` text-to-speech platform that works with [Amazon Polly](https://aws.amazon.com/polly/) to create the spoken output. The `amazon_polly` text-to-speech platform that works with [Amazon Polly](https://aws.amazon.com/polly/) to create the spoken output.
Polly is a paid service via Amazon Web Services. There is a [free tier](https://aws.amazon.com/polly/pricing/) for the first 12 months and then a charge per million characters afterwards. Polly is a paid service via Amazon Web Services. There is a [free tier](https://aws.amazon.com/polly/pricing/) for the first 12 months and then a charge per million characters afterwards.
To enable text-to-speech with Amazon Polly, add the following lines to your `configuration.yaml`: To get started, add the following lines to your `configuration.yaml` (example for Amazon Polly):
```yaml ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
@ -29,9 +29,54 @@ tts:
Configuration variables: Configuration variables:
- **aws_access_key_id** (*Required if aws_secret_access_key is provided*): Your AWS Access Key ID. For more information, please read the [AWS General Reference regarding Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html). If provided, you must also provide an `aws_secret_access_key` and must **not** provide a `profile_name`. | Parameter | Value | Description |
- **aws_secret_access_key** (*Required if aws_access_key_id is provided*): Your AWS Secret Access Key. For more information, please read the [AWS General Reference regarding Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html). If provided, you must also provide an `aws_access_key_id` and must **not** provide a `profile_name`. |---------------------|----------|-------------|
- **profile_name** (*Optional*): A credentials profile name. For more information, please see the [boto3 documentation section about credentials](http://boto3.readthedocs.io/en/latest/guide/configuration.html#shared-credentials-file). | `aws_access_key_id` | Required | Your AWS Access Key ID. For more information, please read the [AWS General Reference regarding Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html). If provided, you must also provide an `aws_secret_access_key` and must **not** provide a `profile_name` |
- **region_name** (*Required*): The region identifier to connect to. The default is `us-east-1`. | `aws_secret_access_key` | Required | Your AWS Secret Access Key. For more information, please read the [AWS General Reference regarding Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html). If provided, you must also provide an `aws_access_key_id` and must **not** provide a `profile_name`. |
- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`. | `profile_name` | Optional | A credentials profile name. For more information, please see the [boto3 |
| `region_name` | Optional | The region identifier to connect to. The default is `us-east-1`. |
| `name` | Optional | Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.
|
| `text_type` | text/ssml | text or ssml: Specify wherever to use text (default) or ssml markup |
## Usage
Say to all `media_player` device entities:
```yaml
- service: tts.amazon_polly_say
data_template:
message: '<speak>Hello from Amazon Polly</speak>'
```
or
```yaml
- service: tts.amazon_polly_say
data_template:
message: >
<speak>
Hello from Amazon Polly
</speak>
```
Say to the `media_player.living_room` device entity:
```yaml
- service: tts.amazon_polly_say
data_template:
entity_id: media_player.living_room
message: >
<speak>
Hello from Amazon Polly
</speak>
```
Say with break:
```yaml
- service: tts.amazon_polly_say
data_template:
message: >
<speak>
Hello from
<break time=".9s" />
Amazon Polly
</speak>
```

View File

@ -0,0 +1,35 @@
---
layout: page
title: "Twilio"
description: "Instructions how to add Twilio notifications to Home Assistant."
date: 2016-05-14 14:14
sidebar: true
comments: false
sharing: true
footer: true
logo: twilio.png
ha_category: Hub
ha_release: "0.40"
---
The `twilio` component enables the sending of notifications via SMS and the creation of calls with [Twilio](https://twilio.com).
Free trial account is available at [Twilio](https://twilio.com) website providing free calls to verified phone numbers.
Calls are limited to 10 minutes and will play a short trial message before your message runs. Upgraded accounts have no limitation.
To use this notification component in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
twilio:
account_sid: ACCOUNT_SID_FROM_TWILIO
auth_token: AUTH_TOKEN_FROM_TWILIO
```
Configuration variables:
- **account_sid** (*Required*): Your Twilio Account SID which can be found in your [console](https://www.twilio.com/console). It starts with the letters `AC`.
- **auth_token** (*Required*): Your Twilio Account SID which can be found in your [console](https://www.twilio.com/console). It should be directly under where you found the `account_sid`.
### {% linkable_title Usage %}
After configuring the base Twilio component, add and configure either or both of the [twilio SMS](https://home-assistant.io/components/notify.twilio_sms/) and [twilio Phone](https://home-assistant.io/components/notify.twilio_call) components to utilize the notification functionality.

View File

@ -35,7 +35,7 @@ automation 2:
service_template: >{% raw %} service_template: >{% raw %}
notify.{{ trigger.topic.split('/')[-1] }}{% endraw %} notify.{{ trigger.topic.split('/')[-1] }}{% endraw %}
data_template: data_template:
message: {% raw %}{{ trigger.payload }}{% endraw %} message: {% raw %}'{{ trigger.payload }}'{% endraw %}
``` ```
## {% linkable_title Important Template Rules %} ## {% linkable_title Important Template Rules %}

View File

@ -12,4 +12,4 @@ redirect_from: /ecosystem/ios/notifications/
The `ios` notify platform enables sending push notifications to the Home Assistant iOS app. The `ios` notify platform enables sending push notifications to the Home Assistant iOS app.
The 'ios' component will automatically load the notify serivce. No extra configuration is needed or supported. The 'ios' component will automatically load the notify service. No extra configuration is needed or supported.

View File

@ -53,9 +53,19 @@ The steps would be:
* Click on "Advanced Settings" * Click on "Advanced Settings"
* Set "Enable auto-restart" if you like * Set "Enable auto-restart" if you like
* Within "Volume" click on "Add Folder" and choose either an existing folder or add a new folder. The "mount point" has to be "/config", so that Home Assistant will use it for the configs and logs. * Within "Volume" click on "Add Folder" and choose either an existing folder or add a new folder. The "mount point" has to be "/config", so that Home Assistant will use it for the configs and logs.
* Within "Network" select "Use same network as Docker Host"
* Confirm the "Advanced Settings" * Confirm the "Advanced Settings"
* Click on "Next" and then "Apply" * Click on "Next" and then "Apply"
* Your Home Assistant within Docker should now run :) * Your Home Assistant within Docker should now run
Remark: to update your Home Assistant on your Docker within Synology NAS, you just have to do the following:
* Go to the Docker-app and move to "Image"-section
* Download the "homeassistant/home-assistant" image - don't care, that it is already there
* wait until the system-message/-notification comes up, that the download is finished (there is no progress bar)
* Move to "Container"-section
* Stop your container if it's running
* Right-click on it and select "Action"->"Clear". You won't loose any data, as all files are stored in your config-directory
* Start the container again - it will then boot up with the new Home Assistant image
### {% linkable_title Restart %} ### {% linkable_title Restart %}

View File

@ -82,7 +82,7 @@ Configuration variables:
- **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. - **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.
- **device_config** (*Optional*): This attribute contains node-specific override values. (For releases prior to 0.39 this variable is called **customize**) See [Customizing devices and services](https://home-assistant.io/getting-started/customizing-devices/) for format: - **device_config** (*Optional*): This attribute contains node-specific override values. (For releases prior to 0.39 this variable is called **customize**) See [Customizing devices and services](https://home-assistant.io/getting-started/customizing-devices/) for format:
- **polling_intensity** (*Optional*): Enables polling of a value and sets the frequency of polling (0=none, 1=every time through the list, 2=every other time, etc). If not specified then your device will not be polled. - **polling_intensity** (*Optional*): Enables polling of a value and sets the frequency of polling (0=none, 1=every time through the list, 2=every other time, etc). If not specified then your device will not be polled.
- **ignored** (*Optional*): Ignore this entitiy completely. It won't be shown in the Web Interface and no events are generated for it. - **ignored** (*Optional*): Ignore this entity completely. It won't be shown in the Web Interface and no events are generated for it.
- **refresh_value** (*Optional*): Enable refreshing of the node value. Only the light component uses this. Defaults to False. - **refresh_value** (*Optional*): Enable refreshing of the node value. Only the light component uses this. Defaults to False.
- **delay** (*Optional*): Specify the delay for refreshing of node value. Only the light component uses this. Defaults to 2 seconds. - **delay** (*Optional*): Specify the delay for refreshing of node value. Only the light component uses this. Defaults to 2 seconds.
- **debug** (*Optional*): Print verbose z-wave info to log. Defaults to False. - **debug** (*Optional*): Print verbose z-wave info to log. Defaults to False.

View File

@ -179,6 +179,9 @@
<li>{% active_link /docs/ecosystem/ios/integration/ Integration with other apps %}</li> <li>{% active_link /docs/ecosystem/ios/integration/ Integration with other apps %}</li>
</ul> </ul>
</li> </li>
<li>{% active_link /docs/ecosystem/nginx/ NGINX %}</li>
<li>{% active_link /docs/ecosystem/scenegen/ scenegen %}</li>
<li>{% active_link /docs/ecosystem/synology/ Synology %}</li>
</ul> </ul>
</ul> </ul>
</div> </div>

View File

@ -297,7 +297,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[aurora]: https://home-assistant.io/components/binary_sensor.aurora/ [aurora]: https://home-assistant.io/components/binary_sensor.aurora/
[netmonitor]: https://home-assistant.io/components/sensor.fritzbox_netmonitor/ [netmonitor]: https://home-assistant.io/components/sensor.fritzbox_netmonitor/
[itach]: https://home-assistant.io/components/remote.itach/ [itach]: https://home-assistant.io/components/remote.itach/
[sunflowers]: https://home-assistant.io/components/light.yeelight-sunflower [sunflowers]: https://home-assistant.io/components/light.yeelightsunflower/
[kodi]: https://home-assistant.io/components/media_player.kodi/ [kodi]: https://home-assistant.io/components/media_player.kodi/
[myq]: https://home-assistant.io/components/cover.myq/ [myq]: https://home-assistant.io/components/cover.myq/
[oemt]: https://home-assistant.io/components/climate.oem/ [oemt]: https://home-assistant.io/components/climate.oem/

View File

@ -17,7 +17,7 @@ It's time for version 0.40 already! For this version, the main focus was on perf
Some people have interpreted our recent added warnings as if 0.39 introduced the issues that caused the warning. This is not the case, the platforms and components have been misbehaving for a while but now we are adding warnings so we are able to track down the culprits. Some people have interpreted our recent added warnings as if 0.39 introduced the issues that caused the warning. This is not the case, the platforms and components have been misbehaving for a while but now we are adding warnings so we are able to track down the culprits.
Before we continue talking about all the improvements in this release I want to take a moment to thank a few people from the Home Assistant community that are fundamental to the success of Home Assistant. Big thanks to [@dale3h], [@CCOSTAN], [@skalavala] [@rrubin0] [@brahmafear] [@bassclarinetl2] and [@torn8o]! These are all people that hang out in our [main chat channel] and help new users get started and help existing users when running into trouble. Home Assistant would not be there without all the effort you put in! 🙇 Before we continue talking about all the improvements in this release I want to take a moment to thank a few people from the Home Assistant community that are fundamental to the success of Home Assistant. Big thanks to [@dale3h], [@CCOSTAN], [@skalavala], [@rrubin0], [@brahmafear], [@bassclarinetl2], and [@torn8o]! These are all people that hang out in our [main chat channel] and help new users get started and help existing users when running into trouble. Home Assistant would not be there without all the effort you put in! 🙇
And that our community kicks ass is also shown in the numbers. We have already raised together over $700 for the [EFF] via the sale of [our t-shirts][hass-shirt]! All of you rock! Another number worth mentioning is that this release brings us passed 600 integrations for Home Assistant. All of you rock, again! And that our community kicks ass is also shown in the numbers. We have already raised together over $700 for the [EFF] via the sale of [our t-shirts][hass-shirt]! All of you rock! Another number worth mentioning is that this release brings us passed 600 integrations for Home Assistant. All of you rock, again!
@ -69,6 +69,18 @@ twilio:
### Reporting Issues ### 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. 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.
### {% linkable_title Release 0.40.1 - March 16 %}
- Fix wake_on_lan ping with None as host ([@iamtpage] - [#6532])
- Don't start the push updater if the Apple TV is 'off' ([@jnewland] - [#6552])
- Fix for the case of zwave value used in several devices. ([@andrey-git] - [#6577])
- Fix hydroquebec ([@titilambert] - [#6574])
- Update pyecobee version to 0.0.7 ([@dale3h] - [#6593])
- Update SMA solar sensor to work with the new add_devices callback ([@kellerza] - [#6602])
- since knx_2_float can't handle 0, bypass converting 0 value from knx to float ([@goofz] - [#6626])
- Fix Osram Lightify colors ([@deisi] - [#6598])
- Bugfix RFLINK remove group ([@pvizeli] - [#6580])
<!--more--> <!--more-->
## All changes ## All changes
@ -295,3 +307,16 @@ Experiencing issues introduced by this release? Please report them in our [issue
[issue]: https://github.com/home-assistant/home-assistant/issues [issue]: https://github.com/home-assistant/home-assistant/issues
[EFF]: https://www.eff.org [EFF]: https://www.eff.org
[hass-shirt]: https://home-assistant.io/blog/2017/02/22/home-assistant-tshirts-have-arrived/ [hass-shirt]: https://home-assistant.io/blog/2017/02/22/home-assistant-tshirts-have-arrived/
[#6532]: https://github.com/home-assistant/home-assistant/pull/6532
[#6552]: https://github.com/home-assistant/home-assistant/pull/6552
[#6574]: https://github.com/home-assistant/home-assistant/pull/6574
[#6577]: https://github.com/home-assistant/home-assistant/pull/6577
[#6580]: https://github.com/home-assistant/home-assistant/pull/6580
[#6593]: https://github.com/home-assistant/home-assistant/pull/6593
[#6598]: https://github.com/home-assistant/home-assistant/pull/6598
[#6602]: https://github.com/home-assistant/home-assistant/pull/6602
[#6626]: https://github.com/home-assistant/home-assistant/pull/6626
[@deisi]: https://github.com/deisi
[@goofz]: https://github.com/goofz
[@iamtpage]: https://github.com/iamtpage
[@jnewland]: https://github.com/jnewland

View File

@ -52,24 +52,33 @@ Support for these components is provided by the Home Assistant community.
<a href='#other' class="btn">Other</a> <a href='#other' class="btn">Other</a>
</div> </div>
</div> </div>
<div class="grid__item five-sixths lap-one-whole palm-one-whole hass-option-cards" id="componentContainer"> <div class="grid__item five-sixths lap-one-whole palm-one-whole">
{% for component in components %} <div class="component-search">
{% if component.ha_category %} <form onsubmit="event.preventDefault(); return false">
{% assign sliced_version = component.ha_release | split: '.' %} <input type="text" name="search" id="search" class="search" placeholder="Search components...">
{% assign minor_version = sliced_version[1]|plus: 0 %} </form>
<a href='{{ component.url }}' </div>
class='option-card {{ component.ha_category | slugify }}{% if minor_version == site.current_minor_version %} added_in_current_version{% elsif minor_version == added_one_ago_minor_version %} added_one_version_ago{% elsif minor_version == added_two_ago_minor_version %} added_two_versions_ago{% endif %}{% if component.featured %} featured{% endif %}' <div class="hass-option-cards" id="componentContainer">
{% unless component.featured %}style='display: none'{% endunless %}> {% for component in components %}
<div class='img-container'> {% if component.ha_category %}
{% if component.logo %} {% assign sliced_version = component.ha_release | split: '.' %}
<img src='/images/supported_brands/{{ component.logo }}'> {% assign minor_version = sliced_version[1]|plus: 0 %}
{% endif %} <a href='{{ component.url }}'
</div> class='option-card {{ component.ha_category | slugify }}{% if minor_version == site.current_minor_version %} added_in_current_version{% elsif minor_version == added_one_ago_minor_version %} added_one_version_ago{% elsif minor_version == added_two_ago_minor_version %} added_two_versions_ago{% endif %}{% if component.featured %} featured{% endif %}'
<div class='title'>{{ component.title }}</div> data-title="{{component.title| downcase}}"
<div class='category'>{{ component.ha_category }}</div> data-ha_category="{{component.ha_category | downcase}}"
</a> {% unless component.featured %}style='display: none'{% endunless %}>
{% endif %} <div class='img-container'>
{% endfor %} {% if component.logo %}
<img src='/images/supported_brands/{{ component.logo }}'>
{% endif %}
</div>
<div class='title'>{{ component.title }}</div>
<div class='category'>{{ component.ha_category }}</div>
</a>
{% endif %}
{% endfor %}
</div>
</div> </div>
</div> </div>
@ -85,14 +94,22 @@ Support for these components is provided by the Home Assistant community.
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script> <script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script> <script>
// undo initial hiding of non-featured cards // undo initial hiding of non-featured cards
if (location.hash !== '') { (function(){
if (location.hash === '#all') { var hash = location.hash;
jQuery('#componentContainer a').show(); if (hash !== '') {
} else { if (hash === '#all' || hash.indexOf('#search/') === 0) {
jQuery('#componentContainer .featured').hide(); jQuery('#componentContainer a').show();
jQuery('#componentContainer .' + location.hash.substr(1)).show(); } else {
jQuery('#componentContainer .featured').hide();
jQuery('#componentContainer .' + hash.substr(1)).show();
}
if (hash.indexOf('#search/') === 0) {
// set default value in search from URL
jQuery('.component-search input').val(decodeURIComponent(hash).substring(8));
}
} }
} })();
</script> </script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.isotope/2.2.2/isotope.pkgd.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.isotope/2.2.2/isotope.pkgd.min.js"></script>
<script> <script>
@ -116,6 +133,9 @@ $(window).load(function(){
sortBy: 'title' sortBy: 'title'
}); });
/**
* update the browser location hash. This enables users to use the browser-history
*/
function updateHash(newHash) { function updateHash(newHash) {
if ('replaceState' in history) { if ('replaceState' in history) {
history.replaceState('', '', newHash); history.replaceState('', '', newHash);
@ -124,27 +144,54 @@ $(window).load(function(){
} }
} }
/**
* filter all components, based on the location's hash
*/
function applyFilter() { function applyFilter() {
var hash = location.hash; var hash = location.hash;
var filter; var filter;
if (hash == '') { if (hash == '') {
filter = '.featured' filter = '.featured';
hash = '#featured' hash = '#featured';
} else if (hash == '#all') {
} else if (hash === '#all') {
// show all elements
filter = '*'; filter = '*';
} else if (hash.indexOf('#search/') === 0) {
// search for the given string
var text = decodeURIComponent(hash).substring(8).toLowerCase();
text = text.replace(/[(\?|\&\{\}\(\))]/gi, '').toLowerCase();
if(text && text.length === 0){
filter = '*';
} else {
filter = function() {
var title = $(this).data('title');
var cat = $(this).data('ha_category');
return title.indexOf(text) != -1 || cat.indexOf(text) != -1;
};
}
} else { } else {
filter = '.' + hash.substr(1); filter = '.' + hash.substr(1);
} }
if (!hash.indexOf('#search/') === 0) {
// reset the search field when no longer searching
$('.component-search input').val(null);
}
$('.filter-button-group a.current').removeClass('current'); $('.filter-button-group a.current').removeClass('current');
$('.filter-button-group a[href='+hash+']').addClass('current'); $('.filter-button-group a[href="'+hash+'"]').addClass('current');
$isotope.isotope({ $isotope.isotope({
filter: filter filter: filter
}); });
} }
// update view by filter selection
jQuery('.filter-button-group a').click(function() { jQuery('.filter-button-group a').click(function() {
updateHash(this.getAttribute('href')); updateHash(this.getAttribute('href'));
applyFilter(); applyFilter();
@ -152,8 +199,40 @@ $(window).load(function(){
return false; return false;
}); });
/**
* Simple debounce implementation, based on http://davidwalsh.name/javascript-debounce-function
*/
function debounce(func, wait, immediate) {
var timeout;
return function() {
var context = this, args = arguments;
var later = function() {
timeout = null;
if (!immediate) {
func.apply(context, args);
}
};
var callNow = immediate && !timeout;
clearTimeout(timeout);
timeout = setTimeout(later, wait);
if (callNow) {
func.apply(context, args);
}
};
};
// update view by search text
$('.component-search input').keyup(debounce(function() {
var text = $(this).val();
// sanitize input
text = text.replace(/[(\?|\&\{\}\(\))]/gi, '');
updateHash('#search/' + text);
applyFilter();
}, 500));
window.addEventListener('hashchange', applyFilter); window.addEventListener('hashchange', applyFilter);
// initialize from URL
applyFilter(); applyFilter();
}); });
</script> </script>

View File

@ -27,13 +27,13 @@ Have you found an issue in your Home Assistant installation? Please report it. R
- [Issue tracker home-assistant.io](https://github.com/home-assistant/home-assistant.io/issues) (Website and documentation) - [Issue tracker home-assistant.io](https://github.com/home-assistant/home-assistant.io/issues) (Website and documentation)
- [Feature requests Home Assistant](https://community.home-assistant.io/c/feature-requests) - [Feature requests Home Assistant](https://community.home-assistant.io/c/feature-requests)
### {% linkable_title Videos, interviews, talks, and alike %} ### {% linkable_title Videos, talks, workshops and alike %}
- [Home Assistant with Paulus Schoutsen Episode 94](https://www.podcastinit.com/episode-94-home-assistant-with-paulus-schoutsen/) - January 2017 - [Home Assistant workshop](https://github.com/home-assistant/home-assistant-assets/tree/master/german/2017-clt-workshop) at [CLT 2017](https://chemnitzer.linux-tage.de/2017/de/) - March 2017
- [Home Assistant - Erweiterungen (Platforms/Components)](https://github.com/home-assistant/home-assistant-assets/tree/master/german/2016-puzzle) at [Puzzle ITC](https://www.puzzle.ch/de/) - December 2016 - [Home Assistant - Erweiterungen (Platforms/Components)](https://github.com/home-assistant/home-assistant-assets/tree/master/german/2016-puzzle) at [Puzzle ITC](https://www.puzzle.ch/de/) - December 2016
- [Automating Your Life - Home Automation](http://slides.com/teagan42/life_automation#/) at Develop Denver 2016 - August - [Automating Your Life - Home Automation](http://slides.com/teagan42/life_automation#/) at Develop Denver 2016 - August
- [Building Online Communities: Home Assistant](https://medium.com/@gitter/building-online-communities-home-assistant-8818dff671ad#.och4x4rhx) - July 2016 - [Building Online Communities: Home Assistant](https://medium.com/@gitter/building-online-communities-home-assistant-8818dff671ad#.och4x4rhx) - July 2016
- [Home Assistant Support 101 - Getting around in Home Assistant](https://www.youtube.com/watch?v=dRfk9JAlPJk) ([Slides](https://docs.google.com/presentation/d/1PUnOpeFZxNj4LEjaohGqH_1hOGQGuS5yRHD1ThHr6nk/edit?usp=sharing)) - June 2016 - [Home Assistant Support 101 - Getting around in Home Assistant](https://www.youtube.com/watch?v=dRfk9JAlPJk) ([Slides](https://docs.google.com/presentation/d/1PUnOpeFZxNj4LEjaohGqH_1hOGQGuS5yRHD1ThHr6nk/edit?usp=sharing)) - June 2016
- [Awaken your home: Python and the Internet of Things](https://www.youtube.com/watch?v=Cfasc9EgbMU&list=PLKsVm4cWHDQB9JBcD7_ZfNcvC6xx47QHT&index=1) at PyCon 2016 - June 2016 - [Awaken your home: Python and the Internet of Things](https://www.youtube.com/watch?v=Cfasc9EgbMU&list=PLKsVm4cWHDQB9JBcD7_ZfNcvC6xx47QHT&index=1) at PyCon 2016 - June 2016
- [Automating your Home with Home Assistant](https://www.youtube.com/watch?v=4-6rTwKl6ww&list=PLKsVm4cWHDQB9JBcD7_ZfNcvC6xx47QHT&index=2) at OpenIoT 2016 - March 2016 - [Automating your Home with Home Assistant](https://www.youtube.com/watch?v=4-6rTwKl6ww&list=PLKsVm4cWHDQB9JBcD7_ZfNcvC6xx47QHT&index=2) at OpenIoT 2016 - March 2016
@ -41,10 +41,16 @@ Looking for [talking points](/help/talking-points/) or [trivia](/help/trivia)?
### {% linkable_title Media coverage %} ### {% linkable_title Media coverage %}
- [10 open source software tools for developing IoT applications](http://www.cbronline.com/news/internet-of-things/10-open-source-software-tools-developing-iot-applications/) - March 2017
- [A Look at HASSbian: Raspberry Pi for Home Automation](http://www.piboards.com/2017/03/07/a-look-at-hassbian-raspberry-pi-for-home-automation/)- March 2017
- [Home Assistant with Paulus Schoutsen Episode 94](https://www.podcastinit.com/episode-94-home-assistant-with-paulus-schoutsen/) - January 2017
- [Episode #11](https://pythonbytes.fm/episodes/show/11/django-2.0-is-dropping-python-2-entirely-pipenv-for-profile-functionality-and-pythonic-home-automation) at minute 15:20 by [Python Bytes](https://pythonbytes.fm/) - January 2017 - [Episode #11](https://pythonbytes.fm/episodes/show/11/django-2.0-is-dropping-python-2-entirely-pipenv-for-profile-functionality-and-pythonic-home-automation) at minute 15:20 by [Python Bytes](https://pythonbytes.fm/) - January 2017
- [Home Assistant: The Python Approach to Home Automation](https://www.linux.com/news/home-assistant-python-approach-home-automation-video) - June 2016
- [Secure home automation, without clouds or dedicated hubs](http://linuxgizmos.com/secure-home-automation-without-clouds-or-dedicated-hubs/) - June 2016
- [Weekend Project: Setting up Home Assistant on your PC or Mac](http://www.automatedhome.co.uk/software/weekend-project-setting-up-home-assistant-on-your-pc-or-mac.html) by [automated home](http://www.automatedhome.co.uk/) - April 2016 - [Weekend Project: Setting up Home Assistant on your PC or Mac](http://www.automatedhome.co.uk/software/weekend-project-setting-up-home-assistant-on-your-pc-or-mac.html) by [automated home](http://www.automatedhome.co.uk/) - April 2016
- [Episode 105 - DIY Home Automation Roundup](https://www.hometech.fm/shows/105) by [HomeTech.fm](https://www.hometech.fm/) - April 2016 - [Episode 105 - DIY Home Automation Roundup](https://www.hometech.fm/shows/105) by [HomeTech.fm](https://www.hometech.fm/) - April 2016
- [5 open source home automation tools](https://opensource.com/life/16/3/5-open-source-home-automation-tools) by [opensource.com](https://opensource.com) - March 2016 - [5 open source home automation tools](https://opensource.com/life/16/3/5-open-source-home-automation-tools) by [opensource.com](https://opensource.com) - March 2016
- [Home Assistant Open Source Python Home Automation Platform](http://www.automatedhome.co.uk/new-products/home-assistant-open-source-python-home-automation-platform.html) - January 2015
### {% linkable_title Site Search %} ### {% linkable_title Site Search %}

View File

@ -12,7 +12,7 @@ footer: true
People are starting to present Home Assistant at meetings and get-togethers. Below you find a couple of bullet points for your presentation. People are starting to present Home Assistant at meetings and get-togethers. Below you find a couple of bullet points for your presentation.
- [Numbers, numbers, numbers](/help/trivia/) and other details - [Numbers, numbers, numbers](/help/trivia/) and other details
- Over 400 implementations - Over 600 implementations
- Not depending on cloud services. We like to keep your privacy private - Not depending on cloud services. We like to keep your privacy private
- Control all your devices from a single, mobile-friendly, interface - Control all your devices from a single, mobile-friendly, interface
- Written in Python3 with 94% test coverage - Written in Python3 with 94% test coverage

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB