Compare commits

...
Sign in to create a new pull request.

74 commits

Author SHA1 Message Date
a17ecf7a2f Add link to a video of a talk at foss-north 2018
I gave a talk at foss-north, which is a free / open source conference
covering both software and hardware from the technical perspective.
They recorded it and put it on YouTube.

This patch adds a link to that talk on the help page under "Videos,
talks, workshops and alike".
2018-05-09 01:16:37 +02:00
Mario Di Raimondo
e06c9adce7 Waze Travel Time: optional inclusive/exclusive filters (#5208)
* Waze Travel Time: optional inclusive/exclusive filters

documentation update about the new optional filtering params

* Update
2018-05-09 00:35:12 +02:00
Evgeniy
9dce793b65 Improving icloud device tracker (#5240)
* Improving icloud device tracker

Updating documentation for new pull request to main HA codebase: "Improving icloud device tracker"

* Update device_tracker.icloud.markdown
2018-05-08 23:45:03 +02:00
Fabian Affolter
01a57548f9
Merge branch 'current' into next 2018-05-08 09:36:29 +02:00
Fabian Affolter
243d1587e8
Fix typos in file name (#5330) 2018-05-08 09:34:28 +02:00
DubhAd
e1ccd79776 Added note about instant updates (#5308)
Added note about instant updates and the Controlled command classes that are required for it to work.
2018-05-08 09:28:16 +02:00
DubhAd
49ea67b97e Added note about tabs (#5325) 2018-05-08 09:22:50 +02:00
wbradmoore
fc56ec7921 Update sqlite query for new device names (#5328)
The new Xiaomi vacuums show up with different names, e.g "Roborock Vacuum"
2018-05-08 09:21:57 +02:00
Dale Higgs
17e65feefa Fix Templates URL and other minor format issues (#5327)
* Fix Templates URL and other minor format issues

* Update template example
2018-05-08 08:54:01 +02:00
Fabian Affolter
ee59dbd062
Add HackSpace article 2018-05-08 08:49:44 +02:00
Paulus Schoutsen
eaa2430d01 Merge remote-tracking branch 'origin/rc' into next 2018-05-07 13:00:40 -04:00
Paulus Schoutsen
b749b17ed2 Update blog post 2018-05-07 10:05:23 -04:00
stephanerosi
c46f152d8d Add help on converation/process service (#5320) 2018-05-06 23:58:57 +02:00
MithrasPan
68aa5a339f Update remember_the_milk.markdown (#5317)
small typo (Rember->Remember)
2018-05-06 23:16:23 +02:00
Otto Winter
536ed8557f Change to advertise esphomeyaml (#5318) 2018-05-06 23:15:58 +02:00
Paulus Schoutsen
3ca0be1d3f Another yaml mistake 2018-05-06 10:15:03 -04:00
Paulus Schoutsen
e9aad88641 Fix broken templating 2018-05-06 08:54:51 -04:00
Tom Harris
669b736ac1 Describe the new services added (#5239)
* Describe the new services added

* Edits per review

* UTF-8 error

* UTF-8 Error

* Convert to utf-8
2018-05-05 15:09:24 -04:00
Tom Harris
e46a4d4f3f Describe the new services added (#5239)
* Describe the new services added

* Edits per review

* UTF-8 error

* UTF-8 Error

* Convert to utf-8
2018-05-05 15:08:41 -04:00
Paulus Schoutsen
50775dc3b1 Add blog post 0.69 draft 2018-05-05 13:34:58 -04:00
Jason Kingsbury
78f19d989a Add max_volume option to Onkyo media player (#5153)
* Update media_player.onkyo.markdown

* onkyo: removed optional value from sample config, update max_volume documentation to include required volume range
2018-05-05 13:12:10 -04:00
Jens Østergaard Nielsen
5a9d5c5427 Added update_interval to maxcube (#5265)
* Added update_interval to maxcube

* Renamed update_interval to scan_interval

* Update maxcube.markdown
2018-05-05 13:11:47 -04:00
Paulus Schoutsen
31c4114e32 Merge remote-tracking branch 'origin/current' into next 2018-05-05 13:10:27 -04:00
Mohamad Tarbin
65ab88cd5d Add Socialblade Markdown (#5237)
* Adding markdown and imagie for USCIS sensor

* Update the markdown

* Update sensor.uscis.markdown

* Update sensor.uscis.markdown

* Update sensor.uscis.markdown

* Minor changes

* Add :markdown for social blade

* Update links

* Update links

* Update sensor.uscis.markdown

* Remove USCIS docmenetation from this branch

* Update sensor.socialblade.markdown

* Update sensor.socialblade.markdown
2018-05-05 13:07:24 -04:00
Mathieu Velten
496150eeae Netgear: doc for tracking devices on APs, URL support and autodetection (#4958) 2018-05-05 13:06:35 -04:00
Mick Vleeshouwer
8187c4aebe Add sensor.postnl documentation (#5231)
* Add sensor.postnl documentation

* Update ha_release
2018-05-05 13:06:14 -04:00
cdce8p
ba630fb068 Updated Sensor device_class requirement - HomeKit (#5304)
* HomeKit - sensor device_class requirement

* Limit breaking change to Humidity Sensor
2018-05-05 13:05:49 -04:00
Lukas Barth
69405f1edc Add matrix documentation (#5019)
* Add matrix documentation

* Try to use new config tags

* Use new config tag

* ⬆️ Added ha_version tag

* ⬆️ ha_release -> 0.68

* update version number
2018-05-05 13:05:15 -04:00
cdce8p
99b142470d Updated sensor device_classes (#5306)
* Updated sensor device_classes

* Removed lux

* Changed device_class name

* Updated homekit doc
2018-05-05 09:38:37 -04:00
lbouriez
0591667068 fix yaml example (#5275)
* fix yaml example

* Fix configuration sample
2018-05-04 10:20:20 +02:00
Fabian Affolter
c66bde1843
Fix formatting and some sentences 2018-05-04 09:52:24 +02:00
Tod Schmidt
cb8cdf3452 Update snips.markdown (#5292)
* Update snips.markdown

Updated to reference latest add on.

* Update snips.markdown

* Fix escaping
2018-05-04 09:43:51 +02:00
DubhAd
49c697004a Added explicit call out about Z-Wave (#5294)
* Added explicit call out about Z-Wave

Called out the need to disable the auto-start when you're using Z-Wave

* Included details about `discovery:`
2018-05-04 09:20:00 +02:00
DubhAd
f02495713b Re-ordered the automation blocks (#5305)
The automations were as the editor produces them, so not logically ordered or clear to read. I've re-written them to match the rest of the documentation.
2018-05-04 09:19:02 +02:00
Aaron Bach
d7fcb153de Adds docs for RainMachine component/hub (#5251)
* Adds docs for RainMachine component/hub

* Removing references to remote API

* Collaborator-requested changes

* Adding new info (per home-assistant/home-assistant#14225)

* Collaborator-requested changes

* Collaborator-requested changes

* Revert "Collaborator-requested changes"

This reverts commit 34f75ffab911dcd9a9ae3163645c7c6e9dbf54ee.

* I think I got it this time...

* Collaborator-requested changes

* Collaborator-requested changes

* Small tweak
2018-05-03 16:56:01 -04:00
Fabian Affolter
334a06b4d6
Various fixes (#5302) 2018-05-03 22:01:32 +02:00
Robin
bc01c98712 Adds info on whitelist_external_dirs (#5213)
whitelist_external_dirs needs to be mentioned
2018-05-03 15:05:52 -04:00
escoand
fe352e7dd6 Add description of discovery (#5286)
* Add description of discovery

* Fix copy&paste

* Update link
2018-05-03 21:00:17 +02:00
Louis Orleans
b3288f13cd Add specific instructions for Meraki device tracker (#5297)
* 📝 add specific instructions for Meraki device tracker

The current instructions aren't really complete, and require you to have both an understanding of how the Home Assistant API works, as well as be able to read through the code for the Meraki component to find the API endpoint you're supposed to use.

* Update formatting
2018-05-03 21:00:02 +02:00
Tod Schmidt
04a3b83a53 Update snips.markdown (#5293)
* Update snips.markdown

Added new examples and link to discord and new documentation

* Update snips.markdown

* Fix formatting
2018-05-03 20:21:34 +02:00
Greg Stevenson
8f8e2e9a3d Update URL to Lets Encrypt blog (#5295)
The current link takes you to a page which tells you it is outdated.
2018-05-03 14:29:43 +02:00
Ian
39720a4de2 Create configuration_yaml_by_apocrathia.markdown (#5291)
Adding my own Home Assistant configuration repository to the cookbook.
2018-05-03 14:23:52 +02:00
giangvo
fd5f1fc725 add document for fan template (#5296) 2018-05-02 22:39:04 -04:00
DubhAd
9cb4d6c82f
Merge pull request #5287 from GoSpursGoNL/patch-1
Update deconz.markdown
2018-05-02 20:20:05 +01:00
GoSpursGoNL
851f0f29dd
Update deconz.markdown
I found that the credentials are no longer stored in deconz.conf but instead in .config_entries.json
2018-05-01 22:42:15 +02:00
Otto Winter
01c267fc5e MQTT Sensor Device Class Docs (#5252)
* MQTT Sensor Device Class

* Remove formatting

* Other small fix
2018-05-01 22:26:02 +02:00
Otto Winter
76b908b033 Sensor device class docs (#5219)
* Sensor device class docs

* Fix binary_sensor copy

* Fix headings

* Add icons screenshot

* Add Empty device_class

* Grammar

* Update customizing-devices.markdown

* Add periods
2018-05-01 22:25:45 +02:00
Otto Winter
dcda30e25b Add Template Sensor device_class support (#5220)
* Add Template Sensor device_class support

* Update battery templates

* Update track battery level example
2018-05-01 14:33:26 -04:00
Paulus Schoutsen
5e7c31b16c
Fix styling 2018-05-01 14:21:34 -04:00
Jan Willhaus
222d9483d9 Fix faulty link to AVM homepage (#5283) 2018-05-01 20:14:42 +02:00
DubhAd
4133cc0196 Calling out that devices are still added (#5284)
It's a common source of confusion that with `track_new_devices: False` devices are still added to `known_devices.yaml`. This adds a note to say that this is to be expected.
2018-05-01 20:13:28 +02:00
cdce8p
4c405c8e97 Added CONF_IP_ADDRESS to HomeKit (#5281) 2018-04-30 22:14:21 -04:00
DubhAd
7aee40a482 Adding note about mDNS (#5280)
For when mDNS doesn't work, people are stuck. Adding a note about how to work around that.
2018-04-30 23:12:56 +02:00
Diogo Gomes
3ffe30f777 fix broken link (#5273)
* fix broken link

* Fix links
2018-04-30 23:09:37 +02:00
PhyberApex
692fd52678 Fixing recursive call in cookbook (#5279)
Recursive calling is not allowed in home assistant. Splitting the script up was necessary.
2018-04-30 22:53:46 +02:00
Paulus Schoutsen
77a14ad9d9 Add room to google assistant config (#5274) 2018-04-30 22:52:16 +02:00
Paulus Schoutsen
8ec44c00dd Release 0.68.1 2018-04-30 14:07:31 -04:00
Gerard
19722e8ede Add device_tracker component (#5272)
The `device_tracker` is added in Home Assistant 0.68 but missing in the list of components.
CC @cdce8p
2018-04-29 18:02:33 -04:00
Fabian Affolter
ec6f2fca64
Update for 0.68 2018-04-29 18:36:06 +02:00
Niklas Wagner
09aa7ac3e9 Tested on 7590 and use english (instead of german links) (#5270) 2018-04-29 16:12:14 +02:00
DK
b50c2fbbb0 Add some more documentation around hassio CLI (#5215)
* Add some more documentation around hassio CLI

This is rather basic, I think it needs it's own page

* Minor changes
2018-04-29 11:20:35 +02:00
Robin
fa028db9d8 Adds update file_path service to the local_file camera (#5228)
* Update camera.local_file.markdown

* Add entity_id info to service

* Update camera.local_file.markdown

* Update camera.local_file.markdown

* Fix table
2018-04-29 11:11:51 +02:00
yeah
5f97e6e4f2 Add hint on auto-renewing certs using automations (#5261)
* Add hint on auto-renewing certs using automations

* Minor changes
2018-04-29 10:22:37 +02:00
arg0nik
02ab1b4eb1 Update console log instructions (#5267)
* Update console log instructions

Some firmware versions have changed the id in the DOM from login-password to pcPassword.

* Fix syntax
2018-04-29 10:15:09 +02:00
DubhAd
53a50b60cf Added minimum version note to the docs (#5262)
Since many will miss it in the blog post
2018-04-29 10:01:23 +02:00
bonterra
490b5069a2 Update docker.markdown (#5266)
A more detailed installation description for Docker on Raspberry Pi 3 with Raspbian.
2018-04-29 09:59:54 +02:00
Åskar Andersson
0809034667 Linkerror fixed (#5263) 2018-04-29 09:56:19 +02:00
Otto Winter
292ef8e815 Light mqtt_json HS color support (#5214)
* Light mqtt_json HS color support

* Update other MQTT light docs

* Updates
2018-04-29 00:33:55 +02:00
ratcash
254b6bbf66 Xiaomi Mijia Bluetooth Wireless Temperature and Humidity Sensor documentation (#5229) 2018-04-28 16:34:24 +02:00
Matthew Garrett
c6729a2fdd Update HomeKit docs (#5255)
* Update HomeKit docs

* Fix links
2018-04-28 13:03:14 +02:00
Kerwin Bryant
ca71ad7249 update doc for support aqara door lock (#5258) 2018-04-28 11:39:40 +02:00
Paulus Schoutsen
fb7e32d260 Merge branch 'current' into next 2018-04-26 11:18:11 -04:00
Mitko Masarliev
d771d839f3 domain expiry (#5242)
* domain expiry

* config

* config
2018-04-25 20:03:51 +02:00
Sebastian Muszynski
0b2a94385d
Air Conditioning Companion V3 (acpartner.v3) support added (#5083) 2018-04-25 07:05:12 +02:00
116 changed files with 1974 additions and 536 deletions

View file

@ -139,14 +139,14 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 68
current_minor_version: 69
current_patch_version: 0
date_released: 2018-04-27
date_released: 2018-05-11
# 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-0671---april-17"
patch_version_notes: "#"
# Minor release (Example #release-0431---april-25):
# Date we moved to Discourse for comments

View file

@ -2,7 +2,7 @@ module Jekyll
class ConfigurationBlock < Liquid::Block
TYPE_LINKS = {
'action' => '/docs/scripts/',
'device_class' => '/components/%{component}/#device_class',
'device_class' => '/components/%{component}/#device-class',
'template' => '/docs/configuration/templating/',
}

View file

@ -2,7 +2,7 @@
layout: page
title: "Let's Encrypt"
description: "Automatically manage your SSL certificate using Let's Encrypt."
date: 2017-04-30 13:28
date: 2018-04-18 10:55
sidebar: true
comments: false
sharing: true
@ -41,4 +41,24 @@ http:
If you use another port such as `8123` or an SSL proxy, change the port number.
## {% linkable_title Enabling auto-renewals %}
Out of the box, the add-on will not automatically renew your certificate. In fact, it only starts, tries to get/renew your certificte, and then stops. It's up to you to manually start it again whenever your certificate comes close to expiry.
However, you can automate this process using Home Assistant.
Use this in your `automations.yaml` to attempt certificate renewal each day at midnight:
```yaml
- id: letsencrypt-renewal
alias: "Let's Encrypt Renewal"
trigger:
- platform: time
at: '00:00:00'
action:
- service: hassio.addon_restart
data:
addon: core_letsencrypt
```
[DuckDNS add-on]: /addons/duckdns/

View file

@ -2,14 +2,14 @@
layout: page
title: "Snips.ai"
description: "Enhance your Hass.io installation with a local voice assistant."
date: 2018-03-22 13:28
date: 2018-05-02 13:28
sidebar: true
comments: false
sharing: true
footer: true
---
[Snips.ai] is an AI-powered voice assistant that runs on the Raspberry Pi 3 and x86 platforms. It runs on-device and is Private by Design.
[Snips.ai](https://snips.ai/) is an AI-powered voice assistant that runs on the Raspberry Pi 3 and x86 platforms. It runs on-device and is Private by Design.
The Snips add-on depends on the Mosquitto add on to bridge to Home Assistant, so make sure that is installed.
@ -17,7 +17,7 @@ HomeAssistant comes with certain Intents builtin to handle common tasks. A compl
The Snips addon by default comes with an assistant that allows you to turn on lights or switches, open covers, or add and list items to a shopping list if that component is enabled.
If using a USB microphone and speakers plugged into the raspberry pi output, Snips will work without any change to the configuration. Trying saying things like:
If using a USB microphone and speakers plugged into the Raspberry Pi output, Snips will work without any change to the configuration. Trying saying things like:
```
Turn on kitchen light
@ -25,42 +25,16 @@ Open garage door
What is on my shopping list
```
To get started creating your own configuration, follow [their tutorial](https://github.com/snipsco/snips-platform-documentation/wiki/2.-Create-an-assistant-using-an-existing-bundle) to create an assistant and download the training data. You can add the HomeAssistant bundle to your assistant to enable the built-in intents, and add or create your own intents to do more complex tasks.
To get started creating your own configuration, follow [their tutorial](https://snips.gitbook.io/documentation/console) to create an assistant and download the training data. You can also add the HomeAssistant Skill to your assistant to enable the built-in intents, and add or create your own intents to do more complex tasks.
Now install and activate the [Samba] add-on so you can upload your training data. Connect to the "share" Samba share and copy your training data over. Name the file `assistant.zip`.
Now install and activate the [Samba](/addons/samba/) add-on so you can upload your training data. Connect to the "share" Samba share and copy your assistant over. Name the file `assistant.zip` or whatever you have configured in the configuration options.
Now it's time to start Snips for the first time. When the Snips add-on starts, it will output your audio devices. If you are using a USB mic and the raspberry pi output, you won't need to change anything:
Now it's time to start Snips for the first time. You can configure the microphone and sound card using the Add-on interface. Now start the add-on.
```text
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0
```
You need to use this information to point the add-on at the right speakers and microphone. The information describes different cards and devices. On a Raspberry Pi 3, card 0 - device 0 is the built-in headset port, card 0 - device 1 is the HDMI port. In the example above, the USB microphone showed up as card 1 - device 0.
Find the microphone and speakers that you want to use and note down their device and card number. We will need that to configure the add-on options `mic` (microphone to use) and `speaker` (speaker to use). The format for these options is `<card #>,<device #>`. Change the configuration options and click save.
Now start the add-on.
### Add-On configuration
### {% linkable_title Add-On configuration %}
```json
{
"mic": "1,0",
"speaker": "1,0",
"assistant": "assistant.zip",
"mqtt_bridge": {
"active": true,
"host": "172.17.0.1",
@ -68,23 +42,76 @@ Now start the add-on.
"user": "",
"password": ""
},
"assistant": "assistant.zip",
"language": "en",
"custom_tts": false,
"tts_platform": "amazon_polly"
}
```
Configuration variables:
- **mqtt_bridge** : Snips uses MQTT to communicate and defaults to their own broker. Use this config option to bridge their broker to your the Mosquitto add-on.
- **mic**: This is the hardware address of your microphone. Look at the Snips output if you are using different hardware.
- **mqtt_bridge**: Snips uses MQTT to communicate and defaults to their own broker. Use this config option to bridge their broker to your the Mosquitto add-on.
- **assistant**: The name of your custom assistant in `/share`. If no assistant is found then a default assistant will be used.
- **language**: Language. This is used to select the default custom assistant, Currently `en`, `de` and `fr` are supported.
- **custom_tts**: Whether to use a TTS provider from Home Assistant for a variety of voices.
- **tts_platform**: Which TTS platform to use.
### {% linkable_title Home Assistant configuration %}
Use the Home Assistant [Snips.ai component][comp] to integrate the add-on into Home Assistant.
A simple configuration just requires this. Consult [Snips.ai component](/components/snips/) for more options.
```yaml
snips:
```
[Snips.ai]: https://snips.ai/
### {% linkable_title Home Assistant configuration %}
There is an active [discord](https://discordapp.com/invite/3939Kqx) channel for further support.
### {% linkable_title Examples %}
So now you can turn lights on and off, let's check the weather. Log on to the [console](https://console.snips.ai/). If this is your first time, create a new assistant and add the Home Assistant skill, along with the Weather skill by snips. Download your assistant manually and copy it to the `/share` folder on your HassIO installation using the Samba addon.
Next create a weather sensor, e.g., one for (Dark Sky)[/components/sensor.darksky/] and put the `api_key` in your `secrets.yaml` file.
```yaml
- platform: darksky
name: "Dark Sky Weather"
api_key: !secret dark_sky_key
update_interval:
minutes: 10
monitored_conditions:
- summary
- hourly_summary
- temperature
- temperature_max
- temperature_min
```
Next add this to your `configuration.yaml` file to reference a new `intent_script` component. This is a good practice to [split your configuration files](/docs/configuration/splitting_configuration/) up.
```yaml
intent_script: !include intent_script.yaml
```
Finally, create this `intent_script.yaml` file in your configuration directory.
{% raw %}
```yaml
searchWeatherForecast:
speech:
type: plain
text: >
The weather is currently
{{ states('sensor.dark_sky_weather_temperature') | round(0) }}
degrees outside and {{ states('sensor.dark_sky_weather_summary') }}.
The high today will be
{{ states('sensor.dark_sky_weather_daily_high_temperature') | round(0)}}
and {{ states('sensor.dark_sky_weather_hourly_summary') }}
```
{% endraw %}
Now just restart HassIO and ask it what the weather is like.
[their tutorial]: https://github.com/snipsco/snips-platform-documentation/wiki/2.-Create-an-assistant-using-an-existing-bundle
[Samba]: /addons/samba/
[comp]: /components/snips/

View file

@ -27,7 +27,9 @@ The Alarm Decoder component gives you access to several services for you to cont
- `alarm_disarm`: Disarms the alarm from any state. Also clears a `check_zone` flag after an alarm was triggered.
- `alarmdecoder_alarm_toggle_chime`: Toggles the alarm's chime state.
**Note**: `alarm_arm_custom_bypass` and `alarm_trigger`, while available in the services list in Home Assistant, are not currently implemented in the Alarm Decoder component.
<p class='note'>
`alarm_arm_custom_bypass` and `alarm_trigger`, while available in the services list in Home Assistant, are not currently implemented in the Alarm Decoder platform.
</p>
### {% linkable_title Attributes %}

View file

@ -14,11 +14,12 @@ ha_iot_class: "Cloud Polling"
---
The 'hive' binary sensor component integrates your Hive sensors into Home Assistant.
The `hive` binary sensor component integrates your Hive sensors into Home Assistant.
The Hive binary sensor component supports the following Hive products:
- **Hive Window or Door Sensor**
- **Hive Motion Sensor**
The platform supports the following Hive products:
- Hive Window or Door Sensor
- Hive Motion Sensor
<p class='note'>

View file

@ -11,6 +11,8 @@ footer: true
Binary sensors gather information about the state of devices which have a "digital" return value (either 1 or 0). These can be switches, contacts, pins, etc. These sensors only have two states: **0/off/low/closed/false** and **1/on/high/open/true**. Knowing that there are only two states allows Home Assistant to represent these sensors in a better way in the frontend according to their functionality.
### {% linkable_title Device Class %}
The way these sensors are displayed in the frontend can be modified in the [customize section](/getting-started/customizing-devices/). The following device classes are supported for binary sensors:
- **None**: Generic on/off. This is the default and doesn't need to be set.

View file

@ -15,10 +15,12 @@ ha_iot_class: "Local Push"
The `modbus` binary sensor allows you to gather data from [Modbus](http://www.modbus.org/) coils.
## {% linkable_title Configuration %}
To use your Modbus binary sensors in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
binary_sensor:
- platform: modbus
coils:
@ -39,7 +41,7 @@ Configuration variables:
It's possible to change the default 30 seconds scan interval for the sensor updates as shown in the [Platform options](/docs/configuration/platform_options/#scan-interval) documentation.
### {% linkable_title Full example %}
## {% linkable_title Full example %}
Example a sensor with a 10 seconds scan interval:

View file

@ -133,7 +133,7 @@ The configuration will look like the example below:
{% raw %}
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
binary_sensor:
- platform: mqtt
name: Bathroom

View file

@ -15,10 +15,12 @@ ha_iot_class: "Local Polling"
The `pilight` binary sensor platform implement the [pilight hub](/components/pilight/) binary sensor functionality. Two type of Pilight binary sensor configuration available. A normal sensor which send the on and off state cyclical and a trigger sensor which send only a trigger when an event happened (for example lots of cheap PIR motion detector).
To enable a Pilight binary sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
binary_sensor:
- platform: pilight
variable: 'state'

View file

@ -16,6 +16,8 @@ ha_release: 0.57
The `random` binary sensor platform is creating random states (`True`, 1, `on` or `False`, 0, `off`). This can be useful if you want to test automation rules. It generates a new state every time it is polled.
## {% linkable_title Configuration %}
To enable the random binary sensor, add the following lines to your `configuration.yaml`:
```yaml

View file

@ -26,7 +26,7 @@ To enable the `workday` sensor in your installation, add the following to your `
binary_sensor:
- platform: workday
country: DE
workdays: [ mon, wed, fri ]
workdays: [mon, wed, fri]
```
Configuration variables:

View file

@ -16,7 +16,7 @@ ha_release: 0.33
The `google` calendar platform allows you to connect to your [Google Calendars](https://calendar.google.com) and generate binary sensors. The sensors created can trigger based on any event on the calendar or only for matching events. When you first setup this component it will generate a new configuration file `google_calendars.yaml` that will contain information about all of the calendars you can see.
### {% linkable_title Prerequisites %}
## {% linkable_title Prerequisites %}
Generate a Client ID and Client Secret on [Google Developers Console](https://console.developers.google.com/start/api?id=calendar).
@ -30,7 +30,7 @@ Generate a Client ID and Client Secret on [Google Developers Console](https://co
1. Save the client ID and secret as you will need to put these in your `configuration.yaml` file.
1. Click on "Library", search for "Google Calendar API" and enable it.
### {% linkable_title Basic Setup %}
## {% linkable_title Configuration %}
To integrate Google Calendar in Home Assistant, add the following section to your `configuration.yaml` file:
@ -61,7 +61,7 @@ The next steps will require you to have Home Assistant running.
After you have it running complete the Google authentication that pops up. It will give you a URL and a code to enter. This will grant your Home Assistant service access to all the Google Calendars that the account you authenticate with can read. This is a Read-Only view of these calendars.
### {% linkable_title Calendar Configuration %}
## {% linkable_title Calendar Configuration %}
Editing the `google_calendars.yaml` file.

View file

@ -1,7 +1,7 @@
---
layout: page
title: "Local File"
description: "Instructions on how to use Local File as a Camera within Home Assistant."
description: "Instructions how to use Local File as a Camera within Home Assistant."
date: 2016-06-12 17:00
sidebar: true
comments: false
@ -13,9 +13,9 @@ ha_iot_class: "Local Polling"
ha_release: 0.22
---
The `local_file` camera platform allows you to integrate any readable image file from disk into Home Assistant as a camera. If the image is updated on the file system the image displayed in Home Assistant will also be updated.
The `local_file` camera platform allows you to integrate an image file from disk into Home Assistant as a camera. If the image is updated on the file system the image displayed in Home Assistant will also be updated. The service `local_file_update_file_path` can be used to update the image using an automation.
This can for example be used with various camera platforms that save a temporary images locally. It can also be used to display a graph that you render periodically and will then be displayed in Home Assistant.
The `local_file` camera can for example be used with various camera platforms that save a temporary images locally. It can also be used to display a graph that you render periodically and will then be displayed in Home Assistant.
To enable this camera in your installation, add the following to your `configuration.yaml` file:
@ -31,7 +31,11 @@ Configuration variables:
- **file_path** (*Required*): File to serve as the camera.
- **name** (*Optional*): Name of the camera
<p class='note'>
The given `file_path` must be an existing file because the camera platform setup make a readable check on it.
</p>
### {% linkable_title Service `camera.local_file_update_file_path` %}
Use this service to change the file displayed by the camera.
| Service data attribute | Description |
| -----------------------| ----------- |
| `entity_id` | String of the `entity_id` of the camera to update. |
| `file_path` | The full path to the new image file to be displayed. |

View file

@ -14,13 +14,15 @@ ha_iot_class: "Cloud Polling"
---
The 'hive' climate component integrates your Hive thermostat and hot water into Home Assistant, enabling control of setting the **mode** and setting the **target temperature**.
The `hive` climate platform integrates your Hive thermostat and hot water into Home Assistant, enabling control of setting the **mode** and setting the **target temperature**.
A short boost for Hive Heating or Hive Hot water can be set by using the **Aux Heat** function, this will turn on the boost feature for Hive Heating or Hive Hot water for 30 minutes at 0.5 degrees higher than the current temperature.
The Hive climate component supports the following Hive products:
- **Hive Active Heating**
- **Hive Multizone**
- **Hot water control**
The platform supports the following Hive products:
- Hive Active Heating
- Hive Multizone
- Hot water control
<p class='note'>

View file

@ -14,20 +14,20 @@ ha_iot_class: "Local Polling"
---
The `modbus` thermostat allows you to use a sensor value (current temperature)
and target value (target temperature) from [Modbus](http://www.modbus.org/)
registers.
The `modbus` thermostat allows you to use a sensor value (current temperature) and target value (target temperature) from [Modbus](http://www.modbus.org/) registers.
## {% linkable_title Configuration %}
To use your Modbus thermostat in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
climate:
- platform: modbus
name: Watlow F4T
slave: 1
target_temp_register: 2782
current_temp_register: 27586
```
{% configuration %}
@ -49,17 +49,18 @@ current_temp_register:
type: int
data_type:
description: Response representation (int, uint, float, custom). If float selected, value will converted to IEEE 754 floating point format.
Default float.
required: false
type: string
default: float
count:
description: Number of registers to read.
required: false
type: int
precision:
description: Number of valid decimals, default 0.
description: Number of valid decimals.
required: false
type: int
default: 0
{% endconfiguration %}

View file

@ -87,3 +87,9 @@ intent_script:
- "{% if color == 'blue' %}255{% else %}0{% endif %}"
{% endraw %}
```
#### {% linkable_title Service `conversation.process` %}
| Service data attribute | Optional | Description |
|------------------------|----------|--------------------------------------------------|
| `text` | yes | Transcribed text |

View file

@ -20,7 +20,7 @@ The `gogogate2` cover platform lets you control Gogogate2-Enabled garage doors t
To use your Gogogate2 cover in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
cover:
- platform: gogogate2
username: email@email.com

View file

@ -15,6 +15,8 @@ ha_release: 0.18
The `mqtt` cover platform allows you to control an MQTT cover (such as blinds, a rollershutter, or a garage door).
## {% linkable_title Configuration %}
The device state (`open` or `closed`) will be updated only after a new message is published on `state_topic` matching `state_open` or `state_closed`. If these messages are published with the `retain` flag set, the cover will receive an instant state update after subscription and Home Assistant will display the correct state on startup. Otherwise, the initial state displayed in Home Assistant will be `unknown`.
There is an attribute that stores the relative position of the device, where 0 means the device is `closed` and all other intermediate positions means the device is `open`.
@ -164,7 +166,7 @@ In this section you will find some real life examples of how to use this platfor
The example below shows a full configuration for a cover without tilt.
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
cover:
- platform: mqtt
name: "MQTT Cover"
@ -188,8 +190,9 @@ cover:
The example below shows a full configuration for a cover.
{% raw %}
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
cover:
- platform: mqtt
name: "MQTT Cover"
@ -206,7 +209,7 @@ cover:
payload_available: "online"
payload_not_available: "offline"
optimistic: false
value_template: '{% raw %}{{ value.x }}{% endraw %}'
value_template: '{{ value.x }}'
tilt_command_topic: 'home-assistant/cover/tilt'
tilt_status_topic: 'home-assistant/cover/tilt-state'
tilt_min: 0
@ -214,6 +217,7 @@ cover:
tilt_closed_value: 70
tilt_opened_value: 180
```
{% endraw %}
To test, you can use the command line tool `mosquitto_pub` shipped with `mosquitto` or the `mosquitto-clients` package to send MQTT messages. This allows you to operate your cover manually:

View file

@ -15,10 +15,12 @@ ha_iot_class: Cloud Polling
The `myq` cover platform lets you control MyQ-Enabled garage doors through Home Assistant. Device names in Home Assistant are generated based on the names defined in your MyQ Device mobile app.
## {% linkable_title Configuration %}
To use your MyQ cover in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
cover:
- platform: myq
username: YOUR_USERNAME

View file

@ -34,7 +34,7 @@ ha_iot_class: "Local Push"
Home Assistant will automatically discover deCONZ presence on your network, if `discovery:` is present in your `configuration.yaml` file.
If you don't have the API key, you can generate an API key for deCONZ by using the one-click functionality similar to Philips Hue. Go to **Menu** -> **Settings** -> **Unlock Gateway** in deCONZ and then use the deCONZ configurator in Home Assistant frontend to create an API key. When you've generated the API key from Home Assistant, the API key will be stored in `deconz.conf` inside the `.homeassistant` folder.
If you don't have the API key, you can generate an API key for deCONZ by using the one-click functionality similar to Philips Hue. Go to **Menu** -> **Settings** -> **Unlock Gateway** in deCONZ and then use the deCONZ configurator in Home Assistant frontend to create an API key. When you've generated the API key from Home Assistant, the API key will be stored in `.config_entries.json` inside the `.homeassistant` folder.
You can add the following to your configuration.yaml file if you are not using the `discovery:` component:

View file

@ -15,6 +15,8 @@ ha_release: "0.10"
The `fritz` platform offers presence detection by looking at connected devices to a [AVM Fritz!Box](http://avm.de/produkte/fritzbox/) based router.
## {% linkable_title Configuration %}
<p class='note warning'>
It might be necessary to install additional packages: <code>$ sudo apt-get install libxslt-dev libxml2-dev python3-lxml</code>
If you are working with the All-in-One installation, you may also need to execute also within your virtual environment the command <code> pip install lxml</code>; be patient this will take a while.</p>

View file

@ -29,9 +29,9 @@ To integrate Google Maps Location Sharing in Home Assistant, add the following s
```yaml
# Example configuration.yaml entry
device_tracker:
platform: google_maps
username: example@gmail.com
password: password
- platform: google_maps
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
{% configuration %}

View file

@ -33,9 +33,11 @@ Configuration variables:
- **username** (*Required*): The username for the iCloud account.
- **password** (*Required*): The password for your given username.
- **account_name** (*Optional*): The friendly name for the account_name. If this isn't given, it will use the account_name of the username (so the part before the `@` in the email address).
- **max_interval** (*Optional*): Maximum interval in minutes between subsequent location upates. This tracker uses dynamic intervals for requesting location updates. When iphone is stationary, interval will eventually be set to `max_interval` to save battery. When iphone starts moving again interval will be dynamically updated to 1 min. Note that updating interval to 1 min might be delayed by maximum `max_interval` minutes. Default is 30 min. Minimum value is 1 min.
- **gps_accuracy_threshold** (*Optional*): iCloud location updates come with some gps_accuracy varying from 10 to 5000 meters. This setting defines the accuracy threshold in meters for a location update. Less accurate updates will be discarded by this tracker. This allows more precise location monitoring and fewer false positive zone changes. Default is 1000 meters.
<p class='note warning'>
This may cause battery drainage as it wakes up your device to get the current location.
Low `max_interval` may cause battery drainage as it wakes up your device to get the current location.
</p>
<p class='note warning'>
@ -48,7 +50,7 @@ To disable the drainage of the battery, a dynamic interval is being used for eac
2 Factor Authentication is the improved version of 2 Steps Authentication, this is still not supported by the pyicloud library. Therefore it's not possible to use it with the device_tracker yet.
4 services are available for this component:
- **icloud_update**: This service can be used to ask for an update of a certain iDevice. The `account_name` and `device_name` are optional.
- **icloud_update**: This service can be used to ask for an update of a certain iDevice. The `account_name` and `device_name` are optional. Request will result in new Home Assistant [state_changed](/docs/configuration/events/#event-state_changed) event describing current iphone location. Can be used in automations when manual location update is needed, e.g. to check if anyone is home when door's been opened.
- **icloud_lost_iphone**: This service will play the Lost iPhone sound on a certain iDevice. The `account_name` and `device_name` are optional.
- **icloud_set_interval**: This service will change the dynamic interval of an iDevice. The `account_name` and `device_name` are optional. If `interval` is used in the service_data, the iDevice will be updated with that new interval. That interval will be fixed until the iDevice changes zone or if this service is called again. If `interval` isn't used in the service_data, the interval for that iDevice will revert back to its default dynamic interval based on its current zone, its distance towards home and its battery level.
- **icloud_reset_account**: This service can be used to reset an iCloud account. This is helpful when not all devices are being found by the component or if you have added a new iDevice to your account. The `account_name` is optional.

View file

@ -40,6 +40,10 @@ The following optional parameters can be used with any platform. However device
| `consider_home` | 180 | Seconds to wait till marking someone as not home after not being seen. This parameter is most useful for households with Apple iOS devices that go into sleep mode while still at home to conserve battery life. iPhones will occasionally drop off the network and then re-appear. `consider_home` helps prevent false alarms in presence detection when using IP scanners such as Nmap. `consider_home` accepts various time representations, (e.g., the following all represents 3 minutes: `180`, `0:03`, `0:03:00`) |
| `new_device_defaults`| | Default values for new discovered devices. Available options `track_new_devices` (default: `True`), `hide_if_away` (default: `False`) |
<p class='note'>
Note that setting `track_new_devices: False` will still result in new devices being recorded in `known_devices.yaml`, but they won't be tracked (`track: no`).
</p>
The extended example from above would look like the following sample:
```yaml

View file

@ -11,8 +11,21 @@ logo: meraki.png
ha_category: Presence Detection
ha_release: "0.60"
---
Use your `Meraki AP` as device tracker. Note that Meraki will see all devices, not only connected to the network.
Follow instructions [here](https://meraki.cisco.com/technologies/location-analytics-api) how to enable Location Analytics.
Use your Meraki AP as device tracker. Note that Meraki will see all devices, not only connected to the network.
### {% linkable_title Prerequisites %}
1. Go to Network-wide/General page, and find the Location and scanning section.
1. Make sure analytics and Scanning API are both enabled.
1. Make note of the Validator string, which will be used in the `device_tracker` configuration.
1. Click **Add a Post URL**:
1. Set the Post URL to `https://YOUR_HOSTNAME/api/meraki?api_password=YOUR_HASS_PASSWORD`
1. Set the Secret to a randomly generated string, and make note of it for the `device_tracker` configuration.
1. Make sure the API Version is set to `2.0`.
1. Hit **Save** in the bottom right of the page.
## {% linkable_title Configuration %}
After you configure access to the Meraki CMX API, add the following to your `configuration.yaml` file:
@ -24,14 +37,13 @@ device_tracker:
validator: meraki_validator
```
{% configuration %}
secret:
description: Secret code added in Meraki
description: Secret code added in Meraki.
required: true
type: string
validator:
description: Validation string from Meraki
description: Validation string from Meraki.
required: true
type: string
{% endconfiguration %}

View file

@ -13,7 +13,6 @@ ha_iot_class: "Local Polling"
ha_release: pre 0.7
---
This platform allows you to detect presence by looking at connected devices to a [Netgear](http://www.netgear.com/) device.
To use this device tracker in your installation, add the following to your `configuration.yaml` file:
@ -29,10 +28,18 @@ device_tracker:
Configuration variables:
- **host** (*Optional*): The IP address of your router, e.g., `192.168.1.1`. If not provided `routerlogin.net` will be used.
- **username** (*Optional*): The username of an user with administrative privileges. If not provided `admin` will be used.
- **port** (*Optional*): The port your router communicates with (defaults to `5000`, but `80` is also known to be used on some models).
- **url** (*Optional*): The base URL, e.g., `http://routerlogin.com:5000` for example. If not provided `host` and `port` are used. If none provided autodetection of the URL will be used.
- **host** (*Optional*): The IP address of your router, e.g., `192.168.1.1`.
- **port** (*Optional*): The port your router communicates with.
- **username** (*Optional*): The username of a user with administrative privileges. If not provided `admin` will be used.
- **password** (*Required*): The password for your given admin account.
- **devices** (*Optional*): If provided only specified devices will be reported. Can be MAC address or the device name as reported in the Netgear UI.
- **exclude** (*Optional*): Devices to exclude from the scan.
- **accesspoints** (*Optional*): Also track devices on the specified APs. Only supports MAC address.
When `accesspoints` is specified an extra device will be reported for each device connected to the APs specified here, as `MY-LAPTOP on RBS40`. `Router` will be reported as AP name for the main AP. Only tested with Orbi.
The use of `devices` or `exclude` is recommended when using `accesspoints` to avoid having a lot of entries.
List of models that are known to use port 80:
- Nighthawk X4S - AC2600 (R7800)

View file

@ -32,7 +32,7 @@ Open OwnTracks and go to Connection preferences:
- Mode: Select **Private HTTP**
- Host: [Home Assistant URL]:[port]/api/owntracks/[your name]/[device name]
- Identification: Turn **Authentication** on, username `homeassistant` and password is your API password that you use to login to Home Assistant.
Host example: If I host my Home Assistant at `https://example.duckdns.org`, my name is Paulus and my phone is a Pixel I would set the host to be `https://example.duckdns.org/api/owntracks/paulus/pixel`. This will result in an entity with an ID of `device_tracker.paulus_pixel`. You can pick any name for the user and the device.
Since the battery data is available as an attribute of the device tracker entity, it can be tracked with a [`template` sensor](/components/sensor.template/).
@ -47,17 +47,6 @@ sensor:
friendly_name: Pixel of Paulus
unit_of_measurement: "%"
value_template: '{{ states.device_tracker.paulus_pixel.attributes.battery|int }}'
icon_template: >-
{% set battery_level = states.device_tracker.paulus_pixel.attributes.battery|default(0)|int %}
{% set battery_round = (battery_level / 10) |int * 10 %}
{% if battery_round >= 100 %}
mdi:battery
{% elif battery_round > 0 %}
mdi:battery-{{ battery_round }}
{% else %}
mdi:battery-alert
{% endif %}
entity_id:
- device_tracker.paulus_pixel
device_class: battery
```
{% endraw %}

View file

@ -41,7 +41,7 @@ For Archer C9 models running firmware version 150811 or later please use the enc
2. Type in the password you use to login into the password field.
3. Click somewhere else on the page so that the password field is not selected anymore.
4. Open the JavaScript console of your browser (usually by pressing F12 and then clicking on "Console").
5. Type ```document.getElementById("login-password").value;```.
5. Type `document.getElementById("login-password").value;` or `document.getElementById("pcPassword").value;`, depending on your firmware version.
6. Copy the returned value to your Home Assistant configuration as password.
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View file

@ -23,7 +23,7 @@ for state in hass.states():
To enable `discovery` in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
discoverable:
expose_password: yes
```

View file

@ -12,7 +12,7 @@ ha_category: Hub
ha_release: 0.68
---
The `eufy` component is the main component to integrate various [eufy](http://https://www.eufylife.com/) devices with Home Assistant.
The `eufy` component is the main component to integrate various [eufy](https://www.eufylife.com/) devices with Home Assistant.
Supported devices will be discovered after the `eufy` component is configured:

View file

@ -15,6 +15,8 @@ ha_iot_class: depends
The `mqtt` fan platform lets you control your MQTT enabled fans.
## {% linkable_title Configuration %}
In an ideal scenario, the MQTT device will have a `state_topic` to publish state changes. If these messages are published with a `RETAIN` flag, the MQTT fan will receive an instant state update after subscription and will start with the correct state. Otherwise, the initial state of the fan will be `false` / `off`.
When a `state_topic` is not available, the fan will work in optimistic mode. In this mode, the fan will immediately change state after every command. Otherwise, the fan will wait for state confirmation from the device (message from `state_topic`).
@ -24,7 +26,7 @@ Optimistic mode can be forced even if a `state_topic` is available. Try to enabl
To enable MQTT fans in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
fan:
- platform: mqtt
command_topic: "bedroom_fan/on/set"
@ -155,7 +157,7 @@ In this section you find some real life examples of how to use this fan.
The example below shows a full configuration for a MQTT fan.
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
fan:
- platform: mqtt
name: "Bedroom Fan"

View file

@ -0,0 +1,96 @@
---
layout: page
title: "Template Fan"
description: "Instructions how to setup the Template fans within Home Assistant."
date: 2018-05-03 09:00
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Fan
ha_release: 0.69
ha_iot_class: "Local Push"
logo: home-assistant.png
---
The `template` platform creates fans that combine components and provides the
ability to run scripts or invoke services for each of the turn_on, turn_off, set_speed, and
set_oscillating commands of a fan.
To enable Template Fans in your installation, add the following to your
`configuration.yaml` file:
{% raw %}
```yaml
# Example configuration.yaml entry
fan:
- platform: template
fans:
bedroom_fan:
friendly_name: "Bedroom fan"
value_template: "{{ states('input_boolean.state') }}"
speed_template: "{{ states('input_select.speed') }}"
oscillating_template: "{{ states('input_select.osc') }}"
turn_on:
service: script.fan_on
turn_off:
service: script.fan_off
set_speed:
service: script.fan_speed
data_template:
speed: "{{ speed }}"
set_oscillating:
service: script.fan_oscillating
data_template:
oscillating: "{{ oscillating }}"
speeds:
- '1'
- '2'
- '3'
```
{% endraw %}
{% configuration %}
fans:
description: List of your fans.
required: true
type: map
keys:
friendly_name:
description: Name to use in the frontend.
required: false
type: string
value_template:
description: "Defines a template to get the state of the fan. Valid value: 'on'/'off'"
required: true
type: template
speed_template:
description: Defines a template to get the speed of the fan.
required: false
type: template
oscillating_template:
description: "Defines a template to get the osc state of the fan. Valid value: True/False"
required: false
type: template
turn_on:
description: Defines an action to run when the fan is turned on.
required: true
type: action
turn_off:
description: Defines an action to run when the fan is turned off.
required: true
type: action
set_speed:
description: Defines an action to run when the fan is given a speed command.
required: false
type: action
set_oscillating:
description: Defines an action to run when the fan is given a osc state command.
required: false
type: action
speeds:
description: List of speeds the fan is capable of running at.
required: false
type: string list
default: ['low', 'medium', 'high']
{% endconfiguration %}

View file

@ -13,13 +13,14 @@ ha_iot_class: "Local Polling"
ha_release: 0.67
---
This component adds [Watchdog](https://pythonhosted.org/watchdog/) file system monitoring, publishing events on the Home Assistant bus on the creation/deletion/modification of files. The monitored `event_type` are:
This component adds [Watchdog](https://pythonhosted.org/watchdog/) file system monitoring, publishing events on the Home Assistant bus on the creation/deletion/modification of files within configured folders. The monitored `event_type` are:
* `created`
* `deleted`
* `modified`
* `moved`
Note that by default folder monitoring is recursive, meaning that the contents of sub-folders are also monitored.
Configured folders must be added to [whitelist_external_dirs](/docs/configuration/basic/). Note that by default folder monitoring is recursive, meaning that the contents of sub-folders are also monitored.
To enable the Folder Watcher component in your installation, add the following to your `configuration.yaml` file:

View file

@ -13,13 +13,14 @@ ha_release: 0.68
ha_iot_class: "Local Polling"
---
The [AVM](www.avm.de) Fritzbox component for Home Assistant allows you to integrate the switch and climate devices.
The [AVM](https://en.avm.de) Fritzbox component for Home Assistant allows you to integrate the switch and climate devices.
#### {% linkable_title Tested Devices %}
- [FRITZ!Box 6490 Cable](https://avm.de/produkte/fritzbox/fritzbox-6490-cable/)
- [FRITZ!DECT 200](https://avm.de/produkte/fritzdect/fritzdect-200/)
- [Eurotronic Comet DECT](https://www.eurotronic.org/produkte/comet-dect.html)
- [FRITZ!Box 6490 Cable](https://en.avm.de/products/fritzbox/fritzbox-6490-cable/)
- [FRITZ!Box 7590](https://en.avm.de/products/fritzbox/fritzbox-7590/)
- [FRITZ!DECT 200](https://en.avm.de/products/fritzdect/fritzdect-200/)
- [Eurotronic Comet DECT](https://www.eurotronic.org/en/products/comet-dect.html)
## {% linkable_title Setup %}
@ -34,21 +35,21 @@ fritzbox:
```
{% configuration %}
devices:
description: A list of Fritzbox devices.
required: true
type: map
keys:
host:
description: The hostname or IP address of the Fritzbox.
required: true
type: optional
username:
description: The username for Smart Home access.
required: true
type: string
password:
description: The password of the user.
required: true
type: string
devices:
description: A list of Fritzbox devices.
required: true
type: map
keys:
host:
description: The hostname or IP address of the Fritzbox.
required: true
type: optional
username:
description: The username for Smart Home access.
required: true
type: string
password:
description: The password of the user.
required: true
type: string
{% endconfiguration %}

View file

@ -25,6 +25,8 @@ The Google Assistant component requires a bit more setup than most due to the wa
To use Google Assistant, your Home Assistant configuration has to be externally accessible with a hostname and SSL certificate. If you haven't already configured that, you should do so before continuing.
</p>
## {% linkable_title Configuration %}
To enable this, add the following lines to your `configuration.yaml` file:
```yaml

View file

@ -14,11 +14,13 @@ ha_iot_class: "Cloud Polling"
---
This Hive component is the main component to set up and integrate all supported Hive devices. Once configured with the minimum required details it will detect and add all your Hive devices into Home Assistant, including support for multizone heating.
The `hive` component is the main component to set up and integrate all supported Hive devices. Once configured with the minimum required details it will detect and add all your Hive devices into Home Assistant, including support for multizone heating.
This component uses the unofficial API used in the official Hive website [https://my.hivehome.com](https://my.hivehome.com), and you will need to use the same Username and Password you use on the Hive website to configure this Hive component in Home Assistant.
To add your Hive devices into your Home Assistant installation, using the default scan_interval, add the following to your 'configuration.yaml' file:
To add your Hive devices into your Home Assistant installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry

View file

@ -39,6 +39,10 @@ The `HomeKit` component allows you to forward entities from Home Assistant to Ap
required: false
type: int
default: 51827
ip_address:
description: The local network IP address. Only necessary if the default from Home Assistant does not work.
required: false
type: string
filter:
description: Filter entities to available in the `Home` app. ([Configure Filter](#configure-filter))
required: false
@ -77,6 +81,9 @@ The `HomeKit` component allows you to forward entities from Home Assistant to Ap
default: ''
{% endconfiguration %}
<p class='note'>
If you use Z-Wave, or `discovery:` you'll need to disable auto-start, see the [section below](#disable-auto-start) for details on how to do this. You'll then need to start the HomeKit component once Z-Wave is ready, or an appropriate delay to allow your entities to be discovered.
</p>
## {% linkable_title Setup %}
@ -116,7 +123,7 @@ A common situation might be if you decide to disable parts of the configuration
Depending on your individual setup, it might be necessary to disable `Auto Start` for all accessories to be available for `HomeKit`. Only those entities that are fully setup when the `HomeKit` component is started, can be added. To start `HomeKit` when `auto_start: False`, you can call the service `homekit.start`.
This can be automated using an `automation`.
If you have Z-Wave entities you want exposed to HomeKit then you'll need to disable auto start and then start it after the Z-Wave mesh is ready. This is because the Z-Wave entities won't be fully set up until then. This can be automated using an automation:
{% raw %}
```yaml
@ -134,6 +141,8 @@ automation:
```
{% endraw %}
For a general delay where your component doesn't generate an event, you can also do:
{% raw %}
```yaml
# Example using a delay after start of Home Assistant
@ -200,13 +209,14 @@ The following components are currently supported:
| cover | WindowCovering | All covers that support `set_cover_position`. |
| cover | WindowCovering | All covers that support `open_cover` and `close_cover` through value mapping. (`open` -> `>=50`; `close` -> `<50`) |
| cover | WindowCovering | All covers that support `open_cover`, `stop_cover` and `close_cover` through value mapping. (`open` -> `>70`; `close` -> `<30`; `stop` -> every value in between) |
| device_tracker | Sensor | Support for `occupancy` device class. |
| light | Light | Support for `on / off`, `brightness` and `rgb_color`. |
| lock | DoorLock | Support for `lock / unlock`. |
| sensor | TemperatureSensor | All sensors that have `Celsius` and `Fahrenheit` as their `unit_of_measurement` or `temperature` as their `device_class`. |
| sensor | HumiditySensor | All sensors that have `%` as their `unit_of_measurement` or `humidity` as their `device_class`. |
| sensor | TemperatureSensor | All sensors that have `Celsius` or `Fahrenheit` as their `unit_of_measurement` or `temperature` as their `device_class`. |
| sensor | HumiditySensor | All sensors that have `%` as their `unit_of_measurement` and `humidity` as their `device_class`. |
| sensor | AirQualitySensor | All sensors that have `pm25` as part of their `entity_id` or `pm25` as their `device_class` |
| sensor | CarbonDioxideSensor | All sensors that have `co2` as part of their `entity_id` or `co2` as their `device_class` |
| sensor | LightSensor | All sensors that have `lm`/`lux` as their `unit_of_measurement` or `light` as their `device_class` |
| sensor | LightSensor | All sensors that have `lm` or `lx` as their `unit_of_measurement` or `illuminance` as their `device_class` |
| switch / remote / input_boolean / script | Switch | All represented as switches. |

View file

@ -13,14 +13,19 @@ ha_release: 0.68
ha_iot_class: "Local Polling"
---
[HomeKit](https://developer.apple.com/homekit/) controller integration for Home Assistant allows you to connect HomeKit accessories to Home Assistant. This component should not be confused with the [HomeKit](homekit) component, which allows you to control Home Assistant devices via HomeKit.
[HomeKit](https://developer.apple.com/homekit/) controller integration for Home Assistant allows you to connect HomeKit accessories to Home Assistant. This component should not be confused with the [HomeKit](/components/homekit/) component, which allows you to control Home Assistant devices via HomeKit.
<p class="note warning">
You may need additional packages to support the HomeKit Python module:
`$ sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev`
</p>
There is currently support for the following device types within Home Assistant:
- [Light](../light.homekit_controller)
- [Switch](../switch.homekit_controller)
- [Light](/components/light.homekit_controller/)
- [Switch](/components/switch.homekit_controller/)
The component will be automatically configured if the [`discovery:`](components/discovery/) component is enabled and an enable entry added for HomeKit:
The component will be automatically configured if the [`discovery:`](/components/discovery/) component is enabled and an enable entry added for HomeKit:
```yaml
discovery:
@ -28,4 +33,4 @@ discovery:
- homekit
```
For each detected HomeKit accessory, a configuration prompt will appear in the web front end. Use this to provide the HomeKit PIN.
For each detected HomeKit accessory, a configuration prompt will appear in the web front end. Use this to provide the HomeKit PIN. Note that HomeKit accessories can only be paired to one device at once. If your device is currently paired with Siri, you will need to reset it in order to pair it with Home Assistant. Once Home Assistant is configured to work with the device, you can export it back to Siri with the [`HomeKit`](/components/homekit/) component.

View file

@ -63,26 +63,52 @@ a responder or a controller.
In order for any two Insteon devices to talk with one another, they must be
linked. For an overview of device linking please read the Insteon page on
[understanding linking]. Currently Insteon PLM does not support software
linking of devices. If you need software that can link your devices (if you
are using a USB Stick PLM for example), you can download [HouseLinc] which runs
on any Windows PC, or you can use [Insteon Terminal] which is open source and
runs on most platforms. HouseLinc is no longer supported by SmartHome but it
still works. Insteon Terminal is a very useful tool but please read the
disclaimers carefully, they are important.
[understanding linking]. The Insteon PLM module supports All-Linking through
[Development Tools] service calls. The following services are available:
In order for any two Insteon devices to talk with one another, they must be
linked. For an overview of device linking, please read the Insteon page on
[understanding linking]. The Insteon PLM module supports All-Linking through
[Development Tools] service calls. The following services are available:
- **insteon_plm.add_all_link**: Tells the Insteon Modem (IM) start All-Linking
mode. Once the IM is in All-Linking mode, press the link button on the device
to complete All-Linking.
- **insteon_plm.delete_all_link**: Tells the Insteon Modem (IM) to remove an
All-Link record from the All-Link Database of the IM and a device. Once the IM
is set to delete the link, press the link button on the corresponding device
to complete the process.
- **insteon_plm.load_all_link_database**: Load the All-Link Database for a
device. WARNING - Loading a device All-Link database is very time consuming
and inconsistent. This may take a LONG time and may need to be repeated to
obtain all records.
- **insteon_plm.print_all_link_database**: Print the All-Link Database for a
device. Requires that the All-Link Database is loaded into memory.
- **insteon_plm.print_im_all_link_database**: Print the All-Link Database for
the INSTEON Modem (IM).
If you are looking for more advanced options, you can use the
[insteonplm_interactive] command line tool that is distributed with the
[insteonplm] Python module. Please see the documentation on the [insteonplm]
GitHub site. Alternatively, you can download [HouseLinc] which runs on any
Windows PC, or you can use [Insteon Terminal] which is open source and runs
on most platforms. SmartHome no longer supports HouseLinc, but it still
works. Insteon Terminal is a very useful tool but please read the disclaimers
carefully, they are important.
[understanding linking]: http://www.insteon.com/support-knowledgebase/2015/1/28/understanding-linking
[Development Tools]: https://www.home-assistant.io/docs/tools/dev-tools/
[HouseLinc]: https://www.smarthome.com/houselinc.html
[Insteon Terminal]: https://github.com/pfrommerd/insteon-terminal
[insteonplm_interactive]: https://github.com/nugget/python-insteonplm#command-line-interface
### {% linkable_title Customization %}
The only configuration item that is absolutely necessary is the port so that
Home Assistant can connect to the PLM. This will expose all the supported INSTEON
devices which exist in the modem's ALL-Link database. However, devices will
only be shown by their INSTEON hex address (e.g., "1A.2B.3C") which can be a bit
unwieldy. As you link and unlink devices using the 'Set' buttons, they'll be
added and removed from Home Assistant automatically.
The only configuration item that is absolutely necessary is the port so that
Home Assistant can connect to the PLM. This will expose all the supported
INSTEON devices which exist in the modems ALL-Link database. However, devices
will only be shown by their INSTEON hex address (e.g., “1A.2B.3C”) which can
be a bit unwieldy. As you link and unlink devices using the Set buttons,
theyll be added and removed from Home Assistant automatically.
You can use the normal Home Assistant [device customization] section of your
configuration to assign friendly names and special icons to your devices. This
@ -123,7 +149,9 @@ insteon_plm:
cat: 0x10
subcat: 0x11
```
### {% linkable_title What NOT to do %}
Insteon PLM is a top level component and device discovery will identify
the Home Assistant platform the device belongs in. As such, do not
declare Insteon devices in other platforms. For example, this configuration
@ -134,4 +162,3 @@ light:
- platform: insteon_plm
address: 1a2b3c
```

View file

@ -15,10 +15,12 @@ ha_release: 0.47
The `juicenet` sensor platform pulls data from a [JuiceNet](https://emotorwerks.com/products/juicenet/) charging station equipped with a wifi connection. It will access and make available all of the devices attached to your account.
## {% linkable_title Configuration %}
To enable the platform in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
juicenet:
access_token: ACCESS_TOKEN
```

View file

@ -14,12 +14,13 @@ ha_iot_class: "Cloud Polling"
---
The 'hive' light component integrates your Hive lights into Home Assistant, enabling control of various settings, depending on the model light.
The `hive` light platform integrates your Hive lights into Home Assistant, enabling control of various settings, depending on the model light.
The Hive light component supports the following Hive products:
- **Hive Active Light Dimmable**
- **Hive Active Light Cool to Warm White**
- **Hive Active Light Color Changing**
The platform supports the following Hive products:
- Hive Active Light Dimmable
- Hive Active Light Cool to Warm White
- Hive Active Light Color Changing
<p class='note'>

View file

@ -11,13 +11,14 @@ ha_category: Light
ha_release: 0.51
---
The `mochad` light platform lets you control an X10 enabled dimmer/light
device.
The `mochad` light platform lets you control an X10 enabled dimmer/light device.
To enable this sensor, you first have to set up the [mochad component](/components/mochad/) and then add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
light:
- platform: mochad
devices:

View file

@ -14,6 +14,8 @@ ha_iot_class: depends
The `mqtt` light platform lets you control your MQTT enabled lights. It supports setting brightness, color temperature, effects, flashing, on/off, RGB colors, transitions, XY colors and white values.
## {% linkable_title Configuration %}
In an ideal scenario, the MQTT device will have a state topic to publish state changes. If these messages are published with a `RETAIN` flag, the MQTT light will receive an instant state update after subscription and will start with the correct state. Otherwise, the initial state of the switch will be `false` / `off`.
When a state topic is not available, the light will work in optimistic mode. In this mode, the light will immediately change state after every command. Otherwise, the light will wait for state confirmation from the device (message from `state_topic`).
@ -21,7 +23,7 @@ When a state topic is not available, the light will work in optimistic mode. In
Optimistic mode can be forced, even if the `state_topic` is available. Try to enable it, if experiencing incorrect light operation.
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
light:
- platform: mqtt
command_topic: "office/rgb1/light/switch"
@ -194,6 +196,7 @@ payload_not_available:
| RGB Color | ✔ | ✔ | ✔ |
| Transitions | ✘ | ✔ | ✔ |
| XY Color | ✔ | ✔ | ✘ |
| HS Color | ✘ | ✔ | ✘ |
| White Value | ✔ | ✔ | ✔ |
## {% linkable_title Examples %}
@ -206,7 +209,7 @@ To enable a light with brightness and RGB support in your installation, add the
{% raw %}
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
light:
- platform: mqtt
name: "Office Light RGB"
@ -231,7 +234,7 @@ light:
To enable a light with brightness (no RGB version) in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
light:
- platform: mqtt
name: "Office light"
@ -250,7 +253,7 @@ light:
To enable a light that sends only brightness topics to turn it on, add the following to your `configuration.yaml` file. The `command_topic` is only used to send an off command in this case:
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
light:
- platform: mqtt
name: "Brightness light"

View file

@ -23,10 +23,12 @@ This platform supports on/off, brightness, RGB colors, XY colors, color temperat
"color_temp": 155,
"color": {
"r": 255,
"g": 255,
"b": 255,
"x": 0.123,
"y": 0.123
"g": 180,
"b": 200,
"x": 0.406,
"y": 0.301,
"h": 344.0,
"s": 29.412
},
"effect": "colorloop",
"state": "ON",
@ -126,6 +128,11 @@ xy:
required: false
type: boolean
default: false
hs:
description: Flag that defines if the light supports HS colors.
required: false
type: boolean
default: false
availability_topic:
description: The MQTT topic subscribed to receive availability (online/offline) updates.
required: false
@ -147,7 +154,7 @@ payload_not_available:
</p>
<p class='note warning'>
XY and RGB can not be used at the same time. If both are provided, XY overrides RGB.
RGB, XY and HSV can not be used at the same time in `state_topic` messages. Make sure that only one of the color models is in the "color" section of the state MQTT payload.
</p>
## {% linkable_title Comparison of light MQTT platforms %}
@ -161,6 +168,7 @@ payload_not_available:
| RGB Color | ✔ | ✔ | ✔ |
| Transitions | ✘ | ✔ | ✔ |
| XY Color | ✔ | ✔ | ✘ |
| HS Color | ✘ | ✔ | ✘ |
| White Value | ✔ | ✔ | ✔ |
## {% linkable_title Examples %}
@ -215,7 +223,32 @@ Home Assistant will then convert its 8bit value in the message to and from the d
```json
{
"brightness": 4095,
"state": "ON"
}
```
### {% linkable_title HS Color %}
To use a light with hue+saturation as the color model, set `hs` to `true` in the platform configuration:
```yaml
light:
- platform: mqtt_json
name: mqtt_json_hs_light
state_topic: "home/light"
command_topic: "home/light/set"
hs: True
```
Home Assistant expects the hue values to be in the range 0 to 360 and the saturation values to be scaled from 0 to 100. For example, the following is a blue color shade:
```json
{
"state": "ON",
"color": {
"h": 24.0,
"s": 100.0
}
}
```

View file

@ -132,6 +132,7 @@ payload_not_available:
| RGB Color | ✔ | ✔ | ✔ |
| Transitions | ✘ | ✔ | ✔ |
| XY Color | ✔ | ✔ | ✘ |
| HS Color | ✘ | ✔ | ✘ |
| White Value | ✔ | ✔ | ✔ |
## {% linkable_title Examples %}

View file

@ -24,7 +24,7 @@ Optimistic mode can be forced, even if state topic is available. Try to enable i
To enable MQTT locks in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
lock:
- platform: mqtt
command_topic: "home/frontdoor/set"

View file

@ -0,0 +1,136 @@
---
layout: page
title: "Matrix"
description: "Matrix chatbot support"
date: 2018-03-25 18:50
sidebar: true
comments: false
sharing: true
footer: true
logo: matrix.png
ha_category: Hub
ha_version: 0.69
---
This component allows you to send messages to matrix rooms, as well as to react to messages in matrix rooms. Reacting to commands is accomplished by firing an event when one of the configured commands is triggered.
```yaml
# Example configuration.yaml entry
matrix:
homeserver: https://matrix.org
username: "@my_matrix_user:matrix.org"
password: supersecurepassword
rooms:
- "#hasstest:matrix.org"
commands:
- word: my_command
name: my_command
```
Configuration variables:
{% configuration %}
username:
description: "The matrix username that home assistant should use to log in. *Note*: You must specify a full matrix ID here, including the homeserver domain, e.g. '@my_matrix_bot:matrix.org'. Please note also that the '@' character has a special meaning in YAML, so this must always be given in quotes."
required: true
type: string
password:
description: The password for your Matrix account.
required: true
type: string
homeserver:
description: "The full URL for your homeserver. If you use the defauls matrix.org homeserver, this is 'https://matrix.org'."
required: true
type: string
verify_ssl:
description: Verify the homeservers certificate.
required: false
type: string
default: true
rooms:
description: "The list of rooms that the bot should join and listen for commands (see below) in. While you can limit the list of rooms that a certain command applies to on a per-command basis (see below), you must still list all rooms here that commands should be received in. Rooms can be given either by their internal ID (e.g., '!cURbafjkfsMDVwdRDQ:matrix.org') or any of their aliases (e.g., '#matrix:matrix.org')."
required: false
type: [string]
default: empty
commands:
description: "A list of commands that the bot should listen for. If a command is triggered (via its *word* or *expression*, see below), an event is fired that you can handle using automations. Every command consists of these possible configuration options:"
required: false
type: map
default: empty
keys:
word:
description: "Specifies a word that the bot should listen for. If you specify 'my_command' here, the bot will react to any message starting with '!my_command'."
required: false
type: string
expression:
description: "Specifies a regular expression (in python regexp syntax) that the bot should listen to. The bot will react to any message that matches the regular expression."
required: false
type: string
name:
description: "The name of the command. This will be an attribute of the event that is fired when this command triggers."
required: true
type: string
rooms:
description: "A list of rooms that the bot should listen for this command in. If this is not given, the *rooms* list from the main config is used. Please note that every room in this list must also be in the main *room* config."
required: false
type: [string]
default: empty
{% endconfiguration %}
### {% linkable_title Event Data %}
If a command is triggered, a `matrix_command` event is fired. The event contains the name of the command in the `name` field. If the command is a word command that has no name set, the `name` field contains the word instead.
If the command is a word command, the `data` field contains a list of the command's arguments, i.e., everything that stood behind the word, split at spaces. If the command is an expression command, the `data` field contains the [group dictionary](https://docs.python.org/3.6/library/re.html?highlight=re#re.match.groupdict) of the regular expression that matched the message.
### {% linkable_title Comprehensive Configuration Example %}
This example also uses the [matrix `notify` platform](/components/notify.matrix/).
```yaml
# The Matrix component
matrix:
homeserver: https://matrix.org
username: "@my_matrix_user:matrix.org"
password: supersecurepassword
rooms:
- "#hasstest:matrix.org"
- "#someothertest:matrix.org"
commands:
- word: testword
rooms:
- "#someothertest:matrix.org"
- expression: "My name is (?P<name>.*)"
name: introduction
notify:
- name: matrix_notify
platform: matrix
default_room: "#hasstest:matrix.org"
automation:
- alias: 'React to !testword'
trigger:
platform: event
event_type: matrix_command
event_data:
command: testword
action:
service: notify.matrix_notify
data:
message: 'It looks like you wrote !testword'
- alias: 'React to an introduction'
trigger:
platform: event
event_type: matrix_command
event_data:
command: introduction
action:
service: notify.matrix_notify
data_template:
message: "Hello {{trigger.event.data.name}}"
```
This configuration will:
- Listen for "!testword" in the room "#someothertest:matrix.org" (and *only*) there. If such a message is encountered, it will answer with "It looks like you wrote !testword" into the "#hasstest:matrix.org" channel.
- Listen in both rooms for any message matching "My name is <any string>" and answer with "Hello <the string>" into "#hasstest:matrix.org".

View file

@ -58,4 +58,9 @@ maxcube:
required: false
type: int
default: 62910
scan_interval:
description: The update interval in seconds
required: false
type: int
default: 300
{% endconfiguration %}

View file

@ -16,6 +16,8 @@ ha_iot_class: "Local Polling"
The `onkyo` platform allows you to control a [Onkyo](http://www.onkyo.com/) and some recent [Pioneer](http://www.pioneerelectronics.com) receivers from Home Assistant. Please be aware that you need to enable "Network Standby" for this component to work in your Hardware.
## {% linkable_title Configuration %}
To add an Onkyo or Pioneer receiver to your installation, add the following to your `configuration.yaml` file:
```yaml
@ -37,6 +39,10 @@ name:
description: Name of the device. (*Required if host is specified*)
required: false
type: string
max_volume:
description: Maximum volume. Defaults to 80.
required: false
type: number
sources:
description: A list of mappings from source to source name. Valid sources can be found below. A default list will be used if no source mapping is specified.
required: false

View file

@ -12,12 +12,11 @@ ha_category: Media Player
ha_release: 0.41
---
The `Volumio` platform allows you to control a [Volumio](http://volumio.org) media player
from Home Assistant.
The `Volumio` platform allows you to control a [Volumio](http://volumio.org) media player from Home Assistant.
The preferred way to set up the Volumio platform is by enabling the [discovery component](/components/discovery/).
To add a Volumio player to your installation, add the following to
your `configuration.yaml` file.
In case the discovery does not work, or you need specific configuration variables, you can add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry

View file

@ -13,6 +13,8 @@ ha_release: 0.32
The `mochad` component is the main component to integrate all X10 platforms being controlled by [mochad](https://sourceforge.net/projects/mochad/). Besides this component you will have to setup your X10 devices separately.
## {% linkable_title Configuration %}
To integrate your Mochad units with Home Assistant, add the following section to your `configuration.yaml` file:
```yaml
@ -20,10 +22,20 @@ To integrate your Mochad units with Home Assistant, add the following section to
mochad:
```
Configuration variables:
{% configuration %}
host:
description: The host that mochad is running on.
required: false
type: string
default: localhost
port:
description: The port that mochad is running on.
required: false
type: int
default: 1099
{% endconfiguration %}
- **host** (*Optional*): The host that mochad is running on. Defaults to `localhost`.
- **port** (*Optional*): The port that mochad is running on. Defaults to `1099`.
## {% linkable_title Example %}
A full configuration sample could look like the one below:

View file

@ -16,6 +16,8 @@ ha_iot_class: "Local Push"
[Modbus](http://www.modbus.org/) is a serial communication protocol to control PLCs (Programmable logic controller). It currently supports sensors and switches which can be controlled over serial, TCP, and UDP connections.
## {% linkable_title Configuration %}
To add modbus to your installation, add the following to your `configuration.yaml` file:
For a network connection:

View file

@ -15,9 +15,12 @@ ha_release: 0.48
The `clicksend` platform uses [ClickSend](https://clicksend.com) to deliver notifications from Home Assistant.
### Get your ClickSend API Credentials
## {% linkable_title Prerequisites %}
Go to your [ClickSend Dashboard](https://dashboard.clicksend.com) section and create your new project. After creating your project, you should now be able to obtain your `username` and `api_key`.
## {% linkable_title Configuration %}
To add ClickSend to your installation, add the following to your Home Assistant `configuration.yaml` file:
```yaml

View file

@ -17,27 +17,21 @@ The `matrix` platform allows you to deliver notifications from Home Assistant to
## {% linkable_title Configuration %}
To enable Matrix notifications in your installation, add the following to your `configuration.yaml` file:
To enable Matrix notifications in your installation, you first need to configure
the [Matrix component](/components/matrix/). Then, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
notify:
- name: NOTIFIER_NAME
platform: matrix
homeserver: HOMESERVER
username: YOUR_USERNAME
password: YOUR_PASSWORD
default_room: ROOM_ID_OR_ALIAS
```
Configuration variables:
- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.
- **homeserver** (*Required*): The base URL of the homeserver, where the notifier account is registered (e.g., `https://matrix.org`).
- **username** (*Required*): The username of the notifying Matrix account.
- **password** (*Required*): The password for the given Matrix account.
- **default_room** (*Required*): The room all messages will be sent to, when no other target is given.
- **verify_ssl** (*Optional*): Verify the homeservers certificate. Defaults to `true`.
The target room has to be precreated, the room id can be obtained from the rooms settings dialog. Rooms by default have a canonical id of the form `"!<randomid>:homeserver.tld"`, but can also be allocated aliases like `"#roomname:homeserver.tld"`. Make sure to use quotes around the room id or alias to escape special characters (`!`, and `#`) in YAML. The notifying account may need to be invited to the room, depending on the individual rooms policies.

View file

@ -19,6 +19,8 @@ This pilight hub connects to the [pilight-daemon](https://manual.pilight.org/pro
The received and supported RF codes are put on the event bus of Home Assistant and are therefore directly usable by other components (e.g., automation). Additionally a send service is provided to send RF codes.
## {% linkable_title Configuration %}
To integrate pilight into Home Assistant, add the following section to your `configuration.yaml` file:
```yaml

View file

@ -0,0 +1,71 @@
---
layout: page
title: "RainMachine"
description: "Instructions on how to integrate RainMachine units within Home Assistant."
date: 2018-04-25 20:32
sidebar: true
comments: false
sharing: true
footer: true
logo: rainmachine.png
ha_category: Hub
ha_release: 0.69
ha_iot_class: "Cloud Polling"
---
The `rainmachine` component is the main component to integrate all platforms
related to [RainMachine smart Wi-Fi sprinkler controllers](http://www.rainmachine.com/).
## {% linkable_title Base Configuration %}
To connect to your RainMachine device, add the following to your
`configuration.yaml` file:
```yaml
rainmachine:
ip_address: 192.168.1.100
password: YOUR_PASSWORD
```
To configure switch-related functionality, add configuration options beneath
a `switches` key within the `rainmachine` sections of `configuration.yaml`
as below:
```yaml
rainmachine:
ip_address: 192.168.1.100
password: YOUR_PASSWORD
switches:
# switch configuration options...
```
{% configuration %}
ip_address:
description: the IP address or hostname of your RainMachine unit
required: optional
type: string
password:
description: your RainMachine password.
required: true
type: string
port:
description: the TCP port used by your unit for the REST API
required: false
type: int
default: 8080
ssl:
description: whether communication with the local device should occur over HTTPS
required: false
type: boolean
default: true
switches:
description: switch-related configuration options
required: false
type: map
keys:
zone_run_time:
description: the default number of seconds that a zone should run when turned on
required: false
type: int
default: 600
{% endconfiguration %}

View file

@ -51,7 +51,7 @@ Configuration variables:
### {% linkable_title Step 2: registering your account %}
After saving the configuration, you need to (re-)start Home Assistant. On the first start you will notice a new "Configuration" panel appearing on the Home Assistant page. After opening the configuration page, follow the link "Remember The Milk login". This will take you to a login page where you have to log in with your normal Rember The Milk credentials. This will authorize Home Assistant to access your Remember The Milk account.
After saving the configuration, you need to (re-)start Home Assistant. On the first start you will notice a new "Configuration" panel appearing on the Home Assistant page. After opening the configuration page, follow the link "Remember The Milk login". This will take you to a login page where you have to log in with your normal Remember The Milk credentials. This will authorize Home Assistant to access your Remember The Milk account.
After that click on the "login completed" button. This will tell Home Assistant that you have completed the login process on the Remember The Milk page and Home Assistant should try to register with this account.

View file

@ -0,0 +1,37 @@
---
layout: page
title: "Domain Expiry"
description: "Instructions on how to set up Domain expiry sensors within Home Assistant."
date: 2018-04-24 14:14
sidebar: true
comments: false
sharing: true
footer: true
logo: home-assistant.png
ha_category: System Monitor
ha_release: 0.69
ha_iot_class: "depends"
---
The `domain_expiry` sensor gets whois information about domain and displays the expiry in days.
To add the Domain Expiry sensor to your installation, add these options to `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: domain_expiry
domain: home-assistant.io
```
{% configuration %}
domain:
description: Domain name to track
required: true
type: string
name:
description: The friendly name for the certificate.
required: false
type: string
default: Domain Expiry
{% endconfiguration %}

View file

@ -14,10 +14,11 @@ ha_iot_class: "Local Polling"
---
The `fritzbox_callmonitor` sensor monitors the call monitor exposed by [AVM Fritz!Box](http://avm.de/produkte/fritzbox/) routers
on TCP port 1012. It will assume the values `idle`, `ringing`, `dialing`, or `talking` with the phone numbers involved contained in the state attributes.
The `fritzbox_callmonitor` sensor monitors the call monitor exposed by [AVM Fritz!Box](http://avm.de/produkte/fritzbox/) routers on TCP port 1012. It will assume the values `idle`, `ringing`, `dialing` or `talking` with the phone numbers involved contained in the state attributes.
It can also access the internal phone book of the router to look up the names corresponding to the phone numbers and store them in the state attributes.
## {% linkable_title Configuration %}
To activate the call monitor on your Fritz!Box, dial #96\*5\* from any phone connected to it.
To use the Fritz!Box call monitor in your installation, add the following to your `configuration.yaml` file:
@ -44,7 +45,7 @@ Configuration variables:
The example below shows a full configuration for a call monitor with phone book support.
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
sensor:
- platform: fritzbox_callmonitor
name: Phone
@ -61,8 +62,9 @@ sensor:
This example shows how to send notifications whenever the sensor's state changes. You will get notified both when you receive a call and also when a call is placed.
{% raw %}
```yaml
# Example configuration.yml entry.
# Example configuration.yaml entry.
automation:
- alias: "Notify about phone state"
trigger:
@ -73,7 +75,7 @@ automation:
data:
title: "Phone"
message: >-
{% raw %}{% if is_state("sensor.phone", "idle") %}
{% if is_state("sensor.phone", "idle") %}
Phone is idle
{% elif is_state("sensor.phone", "dialing") %}
Calling {{ states.sensor.phone.attributes.to_name }} ({{ states.sensor.phone.attributes.to }})
@ -81,5 +83,6 @@ automation:
Incoming call from {{ states.sensor.phone.attributes.from_name }} ({{ states.sensor.phone.attributes.from }})
{% else %}
Talking to {{ states.sensor.phone.attributes.with_name }} ({{ states.sensor.phone.attributes.with }})
{% endif %}{% endraw %}
{% endif %}
```
{% endraw %}

View file

@ -15,19 +15,27 @@ ha_release: 0.47
This `gitter` sensor allows one to monitor a [Gitter.im](https://gitter.im) chatroom for unread messages.
## {% linkable_title Configuration %}
Visit [Gitter Developer Apps](https://developer.gitter.im/apps) to retrieve your "Personal Access Token".
To use a Gitter sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
sensor:
- platform: gitter
api_key: YOUR_API_TOKEN
```
Configuration variables:
- **api_key** (*Required*): Your Gitter.im API token.
- **room** (*Optional*): Gitter room to monitor. Defaults to `home-assistant/home-assistant`
{% configuration %}
api_key:
description: Your Gitter.im API token.
required: true
type: string
room:
description: Gitter room to monitor.
required: false
type: string
default: home-assistant/home-assistant
{% endconfiguration %}

View file

@ -14,11 +14,12 @@ ha_iot_class: "Cloud Polling"
---
The 'hive' sensor component exposes hive data as a sensor.
The `hive` sensor component exposes Hive data as a sensor.
The Hive sensor component exposes the following sensors:
- **Hive Hub Online Status**
- **Hive Outside Temperature**
The platform exposes the following sensors:
- Hive Hub Online Status
- Hive Outside Temperature
<p class='note'>
Full configuration details can be found on the main [Hive component](/components/hive/) page.

View file

@ -9,8 +9,21 @@ sharing: true
footer: true
---
Sensors are gathering information about states and conditions.
Sensors are gathering information about states and conditions.
Home Assistant currently supports a wide range of sensors. They are able to display information which are provides by Home Assistant directly, are gathered from web services, and, of course, physical devices. Please check the sidebar for a full list of supported sensor platforms.
### {% linkable_title Device Class %}
The way these sensors are displayed in the frontend can be modified in the [customize section](/docs/configuration/customizing-devices/). The following device classes are supported for sensors:
- **None**: Generic sensor. This is the default and doesn't need to be set.
- **battery**: Percentage of battery that is left.
- **humidity**: Percentage of humidity in the air.
- **illuminance**: The current light level in lx or lm.
- **temperature**: Temperature in °C or °F.
<p class='img'>
<img src='/images/screenshots/sensor_device_classes_icons.png' />
Example of various device class icons for sensors.
</p>

View file

@ -0,0 +1,93 @@
---
layout: page
title: "Xiaomi BLE Temperature and Humidity sensor"
description: "Instructions on how to integrate MiTemp BLE temperature and humidity sensor with Home Assistant."
date: 2018-04-22 12:00
sidebar: true
comments: false
sharing: true
footer: true
logo: xiaomi.png
ha_category: DIY
ha_release: 0.69
ha_iot_class: "Local Polling"
---
The `mitemp_bt` sensor platform allows one to monitor room temperature and humidity. The [Xiaomi Mijia BLE Temperature and Humidity sensor with LCD](https://www.amazon.com/Temperature-Humidity-Xiaomi-Bluetooth-Screen-Remote/dp/B079L6N6PC) is a small Bluetooth Low Energy device that monitors the room temperature and humidity. As only a single BLE device can be polled at the same time, the library employs locking to make sure this is the case.
# Installation
Depending on the operating system you're running, you have to configure the proper Bluetooth backend on your system:
- On [Hass.io](/hassio/installation/): Not yet supported.
- On other Linux systems:
- Preferred solution: Install the `bluepy` and `btlewrap` library (via pip). When using a virtual environment, make sure to use install the library in the right one.
   - Fallback solution: Install `btlewrap` library (via pip) and `gatttool` via your package manager. Depending on the distribution, the package name might be: `bluez`, `bluetooth`, `bluez-deprecated`
- Windows and MacOS are currently not supported by the btlewrap library.
# Configuration
Start a scan to determine the MAC addresses of the sensor:
```bash
$ sudo hcitool lescan
LE Scan ...
4C:65:A8:D2:31:7F MJ_HT_V1
[...]
```
Or if your distribution is using bluetoothctl:
```bash
$ bluetoothctl
[bluetooth]# scan on
Discovery started
[CHG] Controller XX:XX:XX:XX:XX:XX Discovering: yes
[NEW] Device 4C:65:A8:D2:31:7F MJ_HT_V1
```
Check for `MJ_HT_V1` or similar entries, those are your sensor.
To use your Mi Temperature and Humidity sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: mitemp_bt
mac: 'xx:xx:xx:xx:xx:xx'
monitored_conditions:
- temperature
```
- **mac** (*Required*): The MAC address of your sensor.
- **monitored_conditions** array (*Optional*): The parameters that should be monitored (defaults to monitoring all parameters).
- **temperature**: Temperature in C at the sensor's location.
- **humidity**: Humidity level in % at the sensor's location.
- **battery**: Battery details (in %).
- **name** (*Optional*): The name displayed in the frontend.
- **force_update** (*Optional*): Sends update events even if the value hasn't changed.
- **median** (*Optional*): Sometimes the sensor measurements show spikes. Using this parameter, the poller will report the median of the last 3 (you can also use larger values) measurements. This filters out single spikes. Median: 5 will also filter double spikes. If you never have problems with spikes, `median: 1` will work fine.
- **timeout** (*Optional*): Define the timeout value in seconds when polling (defaults to 10 if not defined)
- **retries** (*Optional*): Define the number of retries when polling (defaults to 2 if not defined)
- **cache_value** (*Optional*): Define cache expiration value in seconds (defaults to 1200 if not defined)
- **adapter** (*Optional*): Define the Bluetooth adapter to use (defaults to hci0). Run `hciconfig` to get a list of available adapters.
Note that by default the sensor is only polled once every 5 minutes. This means with the `median: 3` setting will take as least 15 minutes before the sensor will report a value after a Home Assistant restart. Even though the hardware is able to provide new values every second, room temperaturs don't change that quickly.
Reducing polling intervals will have a negative effect on the battery life.
A full configuration example could look like the one below:
```yaml
# Example configuration.yaml entry
sensor:
- platform: mitemp_bt
mac: 'xx:xx:xx:xx:xx:xx'
name: Kids Room Temp
force_update: false
median: 3
monitored_conditions:
- temperature
- humidity
- battery
```

View file

@ -16,10 +16,12 @@ ha_iot_class: "Local Push"
The `modbus` sensor allows you to gather data from [Modbus](http://www.modbus.org/) registers.
## {% linkable_title Configuration %}
To use your Modbus sensors in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
sensor:
platform: modbus
registers:

View file

@ -16,10 +16,12 @@ ha_iot_class: depends
This `mqtt` sensor platform uses the MQTT message payload as the sensor value. If messages in this `state_topic` are published with *RETAIN* flag, the sensor will receive an instant update with last known value. Otherwise, the initial state will be undefined.
## {% linkable_title Configuration %}
To use your MQTT sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
sensor:
- platform: mqtt
state_topic: "home/bedroom/temperature"
@ -81,9 +83,14 @@ json_attributes:
reqired: false
type: list, string
unique_id:
description: "An id that uniquely identifies this sensor. If 2 sensors have the same unique id, Home Assistant will raise an exception.**"
description: "An ID that uniquely identifies this sensor. If two sensors have the same unique ID, Home Assistant will raise an exception."
required: false
type: string
device_class:
description: The type/class of the sensor to set the icon in the frontend.
required: false
type: device_class
default: None
{% endconfiguration %}
## {% linkable_title Examples %}
@ -92,17 +99,17 @@ In this section you find some real life examples of how to use this sensor.
### {% linkable_title JSON attributes configuration %}
The example sensor below shows a configuration example which uses JSON in the state topic to add extra attributes. It also makes use of the availability topic. Attributes can then be extracted in [Templates](configuration/templating/#attributes); Example to extract data from the sensor below {% raw %}'{{ states.sensor.bs_client_name.attributes.ClientName }}'{% endraw %}.
The example sensor below shows a configuration example which uses JSON in the state topic to add extra attributes. It also makes use of the availability topic. Attributes can then be extracted in [Templates](/docs/configuration/templating/#attributes). For example, to extract the `ClientName` attribute from the sensor below, use a template similar to: {% raw %}`{{ state_attr('sensor.bs_rssi', 'ClientName') }}`{% endraw %}.
{% raw %}
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
sensor:
- platform: mqtt
state_topic: "HUISHS/BunnyShed/NodeHealthJSON"
name: "BS RSSI"
unit_of_measurement: "dBm"
value_template: '{{ value_json.RSSI }}'
state_topic: "HUISHS/BunnyShed/NodeHealthJSON"
unit_of_measurement: 'dBm'
value_template: "{{ value_json.RSSI }}"
availability_topic: "HUISHS/BunnyShed/status"
payload_available: "online"
payload_not_available: "offline"
@ -118,7 +125,7 @@ sensor:
### {% linkable_title Get battery level %}
If you are using the [Owntracks](/components/device_tracker.owntracks/) and enable the reporting of the battery level then you can use a MQTT sensor to keep track of your battery. A regular MQTT message from Owntracks looks like this:
If you are using the [OwnTracks](/components/device_tracker.owntracks/) and enable the reporting of the battery level then you can use a MQTT sensor to keep track of your battery. A regular MQTT message from OwnTracks looks like this:
```bash
owntracks/tablet/tablet {"_type":"location","lon":7.21,"t":"u","batt":92,"tst":144995643,"tid":"ta","acc":27,"lat":46.12}
@ -128,13 +135,13 @@ Thus the trick is extracting the battery level from the payload.
{% raw %}
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
sensor:
- platform: mqtt
state_topic: "owntracks/tablet/tablet"
name: "Battery Tablet"
unit_of_measurement: "%"
value_template: '{{ value_json.batt }}'
state_topic: "owntracks/tablet/tablet"
unit_of_measurement: '%'
value_template: "{{ value_json.batt }}"
```
{% endraw %}
@ -154,18 +161,18 @@ Then use this configuration example to extract the data from the payload:
{% raw %}
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
sensor:
- platform: mqtt
state_topic: 'office/sensor1'
name: 'Temperature'
name: "Temperature"
state_topic: "office/sensor1"
unit_of_measurement: '°C'
value_template: '{{ value_json.temperature }}'
value_template: "{{ value_json.temperature }}"
- platform: mqtt
state_topic: 'office/sensor1'
name: 'Humidity'
name: "Humidity"
state_topic: "office/sensor1"
unit_of_measurement: '%'
value_template: '{{ value_json.humidity }}'
value_template: "{{ value_json.humidity }}"
```
{% endraw %}
@ -190,10 +197,10 @@ The configuration will look like the example below:
{% raw %}
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
sensor:
- platform: mqtt
state_topic: 'home/bathroom/analog/brightness'
name: Brightness
name: "Brightness"
state_topic: "home/bathroom/analog/brightness"
```
{% endraw %}

View file

@ -16,6 +16,8 @@ ha_iot_class: depends
The `mqtt_room` sensor platform allows you to detect the indoor location of devices using MQTT clients.
## {% linkable_title Configuration %}
To use this device tracker in your installation, add the following to your `configuration.yaml` file:
```yaml

View file

@ -16,6 +16,8 @@ ha_iot_class: "Cloud Polling"
The `mvglive` sensor will give you the departure time of the next bus, tram, subway, or train at the next station or stop in the Munich public transport network. Additional details such as the line number and destination are present in the attributes.
## {% linkable_title Configuration %}
To enable this sensor, add the following lines to your `configuration.yaml` file:
```yaml
@ -42,7 +44,7 @@ Configuration variables:
The example below shows a full configuration with three sensors that showcase the various configuration options.
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
sensor:
- platform: mvglive
nextdeparture:

View file

@ -16,10 +16,12 @@ ha_iot_class: "Local Polling"
This `openevse` sensor platform pulls data from an [OpenEVSE](https://www.openevse.com/) Charging station equipped with an ESP8266-based wifi connection.
## {% linkable_title Configuration %}
To enable this sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
sensor:
- platform: openevse
host: IP_ADDRESS

View file

@ -16,10 +16,12 @@ ha_iot_class: depends
This `pilight` sensor platform for 433 MHz devices uses a value in the message payload as the sensor value. Unique identifiers (e.g., _uuid_) can be set to distinguish between multiple pilight devices. To use a pilight sensor the pilight Home Assistant hub has to be set up.
## {% linkable_title Configuration %}
To use your sensor via pilight, make sure it is [supported](https://wiki.pilight.org/doku.php/protocols) and add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
sensor:
- platform: pilight
variable: temperature

View file

@ -0,0 +1,47 @@
---
layout: page
title: PostNL Sensor
description: "Instructions on how to set up PostNL sensors within Home Assistant."
date: 2017-04-22 08:00
sidebar: true
comments: false
sharing: true
footer: true
logo: postnl.png
ha_category: Sensor
ha_release: 0.69
ha_iot_class: "Cloud Polling"
---
The `postnl` platform allows one to track deliveries by [PostNL](https://www.postnl.nl) (Dutch Postal Services). To use this sensor, you need a [PostNL Account](https://jouw.postnl.nl). It is possible to add multiple accounts to your Home Assistant configuration.
## {% linkable_title Configuration %}
To enable this sensor, add the following lines to your `configuration.yaml`:
```yaml
sensors:
- platform: postnl
username: POSTNL_USERNAME
password: POSTNL_PASSWORD
```
{% configuration %}
name:
description: Sensor name
required: false
default: "postnl"
type: string
username:
description: Account username of jouw.postnl.nl
required: true
type: string
password:
description: Account password of jouw.postnl.nl
required: true
type: string
{% endconfiguration %}
<p class='note warning'>
This component is not affiliated with PostNL and retrieves date from the endpoints of the mobile application. Use at your own risk.
</p>

View file

@ -16,10 +16,12 @@ ha_iot_class: "Local Polling"
This `qnap` sensor allows getting various statistics from your [QNAP NAS](https://www.qnap.com/en-us/).
## {% linkable_title Configuration %}
To use the `qnap` sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
sensor:
- platform: qnap
host: IP_ADDRESS_OF_QNAP_NAS

View file

@ -15,10 +15,12 @@ ha_release: 0.47
This `radarr` sensor platform pulls data from a given [Radarr](https://radarr.video/) instance.
## {% linkable_title Configuration %}
To use your Radarr sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
sensor:
- platform: radarr
api_key: YOUR_API_KEY

View file

@ -15,6 +15,8 @@ ha_iot_class: "Local Polling"
The `sht31` sensor platform allows you to get the current temperature and humidity from a Sensirion SHT31 device.
## {% linkable_title Configuration %}
To use your SHT31 sensor in your installation, add the following to your `configuration.yaml` file:
```yaml

View file

@ -0,0 +1,37 @@
---
layout: page
title: Social Blade Sensor
description: "Instructions on how to set up Social Blade Sensor within Home Assistant."
date: 2018-04-23 08:00
sidebar: false
comments: false
sharing: true
footer: true
logo: socialblade.png
ha_category: Sensor
ha_release: 0.69
ha_iot_class: "Cloud Polling"
---
The `socialblade` sensor component allows you get updates on a youtube channel using your social blade channel id. The sensor gets the subscribers and total views count from [Social Blade Website]( https://socialblade.com/)
to get the channel id you can go to [Social Blade Website]( https://socialblade.com/) and search for youtube channel by username, then select the channel and grab the id from the url.
The channel id will be the last part of the url :
https://socialblade.com/youtube/channel/{channel_id}
## Example for `configuration.yaml` :
```yaml
sensor:
- platform: socialblade
channel_id: YOUR_CHANNEL_NUMBER
```
{% configuration %}
channel_id:
description: channel id number optained from the URL when you access Social Blade web client.
required: true
type: string
{% endconfiguration %}
All the data will be fetch from [Social Blade]( https://socialblade.com/).

View file

@ -16,10 +16,12 @@ ha_iot_class: "Local Polling"
This `sonarr` sensor platform pulls data from a given [Sonarr](https://sonarr.tv/) instance.
## {% linkable_title Configuration %}
To use your Sonarr sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
sensor:
- platform: sonarr
api_key: YOUR_API_KEY

View file

@ -16,10 +16,12 @@ ha_iot_class: "Local Polling"
The `synologydsm` sensor platform allows getting various statistics from your [Synology NAS](https://www.synology.com).
## {% linkable_title Configuration %}
To use the `synologydsm` sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
sensor:
- platform: synologydsm
host: IP_ADDRESS_OF_SYNOLOGY_NAS
@ -33,7 +35,7 @@ sensor:
Configuration variables:
- **host** (*Required*): The IP address of the Synology NAS to monitor
- **host** (*Required*): The IP address of the Synology NAS to monitor.
- **port** (*Optional*): The port number on which the Synology NAS is reachable. Defaults to `5000`.
- **username** (*Required*): An user to connect to the Synology NAS (a separate account is advised, see the Separate User Configuration section below for details).
- **password** (*Required*): The password of the user to connect to the Synology NAS.

View file

@ -69,6 +69,11 @@ sensor:
description: Defines a template for the entity picture of the sensor.
required: false
type: template
device_class:
description: The type/class of the sensor to set the icon in the frontend.
required: false
type: device_class
default: None
{% endconfiguration %}
## {% linkable_title Considerations %}

View file

@ -17,6 +17,8 @@ The `thethingsnetwork` sensor platform allows you to get data from a [The Things
This platform requires that the [The Things Network component](/components/thethingsnetwork/) is set up and the [The Things Network Storage Integration](https://www.thethingsnetwork.org/docs/applications/storage/) as well.
## {% linkable_title Prerequisites %}
Visit the [The Things Network Console](https://console.thethingsnetwork.org/) website, log in with your The Things Network credentials, choose your application from **Applications** and go to **Integrations**.
Add a new integration.
@ -54,6 +56,8 @@ Select **Devices** to get the ID of your device that you want to use.
Devices overview
</p>
## {% linkable_title Configuration %}
To enable this platform, add the following lines to your `configuration.yaml`:
```yaml

View file

@ -48,4 +48,12 @@ name:
required: false
default: "Waze Travel Time"
type: string
incl_filter:
description: A substring that has to be present in the description of the selected route (a simple case-insensitive matching).
required: false
type: string
excl_filter:
description: A substring that has to be NOT present in the description of the selected route (a simple case-insensitive matching).
required: false
type: string
{% endconfiguration %}

View file

@ -2,7 +2,7 @@
layout: page
title: "Snips"
description: "Instructions on how to integrate Snips within Home Assistant."
date: 2017-06-22 12:00
date: 2018-05-02 12:00
sidebar: true
comments: false
sharing: true
@ -14,7 +14,7 @@ ha_release: 0.48
The [Snips Voice Platform](https://www.snips.ai) allows users to add powerful voice assistants to their Raspberry Pi devices without compromising on privacy. It runs 100% on-device, and does not require an internet connection. It features Hotword Detection, Automatic Speech Recognition (ASR), Natural Language Understanding (NLU) and Dialog Management.
The latest documentation can be found here: [Snips Platform Documentation](https://github.com/snipsco/snips-platform-documentation/wiki).
The latest documentation can be found here: [Snips Platform Documentation](https://snips.gitbook.io/documentation/).
![Snips Modules](/images/screenshots/snips_modules.png)
@ -97,7 +97,7 @@ followed by a command, e.g.
> Set the lights to green in the living room
As the Snips Platform parses this query into an intent, it will be published on MQTT, on the `hermes/intent/<intentName>` topic. The Snips Home Assistant component subscribes to this topic, and handles the intent according to the rules defined in `configuration.yaml`, as explained below.
As the Snips Platform parses this query into an intent, it will be published on MQTT, on the `hermes/intent/<intentName>` topic. The Snips Home Assistant component subscribes to this topic, and handles the intent according to the rules defined in `configuration.yaml` file, as explained below.
#### {% linkable_title Optional: specifying an external MQTT broker %}
@ -166,11 +166,11 @@ SetTimer:
```
{% endraw %}
### Sending TTS Notifications
### {% linkable_title Sending TTS Notifications %}
You can send TTS notifications to Snips using the snips.say and snips.say_action services. Say_action starts a session and waits for user response, "Would you like me to close the garage door?", "Yes, close the garage door".
#### {% linkable_title Service `snips/say` %}
#### {% linkable_title Service `snips.say` %}
| Service data attribute | Optional | Description |
|------------------------|----------|--------------------------------------------------------|
@ -178,7 +178,7 @@ You can send TTS notifications to Snips using the snips.say and snips.say_action
| `site_id` | yes | Site to use to start session. |
| `custom_data` | yes | custom data that will be included with all messages in this session. |
#### {% linkable_title Service `snips/say_action` %}
#### {% linkable_title Service `snips.say_action` %}
| Service data attribute | Optional | Description |
|------------------------|----------|--------------------------------------------------------|
@ -188,19 +188,48 @@ You can send TTS notifications to Snips using the snips.say and snips.say_action
| `can_be_enqueued` | yes | If True, session waits for an open session to end, if False session is dropped if one is running. |
| `intent_filter` | yes | Array of Strings - A list of intents names to restrict the NLU resolution to on the first query. |
#### Configuration Examples
### {% linkable_title Snips Support %}
There is an active [discord](https://discordapp.com/invite/3939Kqx) channel for further support.
### {% linkable_title Configuration Examples %}
#### {% linkable_title Turn on a light %}
```yaml
script:
intent_script:
turn_on_light:
sequence:
service: script.turn_on_light
service: snips.say
data:
text: 'OK, the light is now on'
speech:
type: plain
text: 'OK, closing the garage door'
action:
service: light.turn_on
```
##### {% linkable_title Open a Garage Door %}
```yaml
intent_script:
OpenGarageDoor:
speech:
type: plain
text: 'OK, opening the garage door'
action:
- service: cover.open_cover
data:
entity_id: garage_door
```
##### {% linkable_title Intiating a query %}
Here is a more complex example. The automation is triggered if the garage door is open for more than 10 minutes.
Snips will then ask you if you want to close it and if you respond with something like "Close the garage door" it
will do so. Unfortunately there is no builtin support for yes and no responses.
```yaml
automation:
query_garage_door:
garage_door_has_been_open:
trigger:
- platform: state
entity_id: binary_sensor.my_garage_door_sensor
@ -224,3 +253,40 @@ intent_script:
action:
- service: script.garage_door_close
```
##### {% linkable_title Weather %}
So now you can open and close your garage door, let's check the weather. Add the Weather by Snips Skill to your assistant. Create a weather sensor, in this example (Dark Sky)[/components/sensor.darksky/] and the `api_key` in the `secrets.yaml` file.
```yaml
- platform: darksky
name: "Dark Sky Weather"
api_key: !secret dark_sky_key
update_interval:
minutes: 10
monitored_conditions:
- summary
- hourly_summary
- temperature
- temperature_max
- temperature_min
```
Then create this `intent_script.yaml` file in your configuration directory.
{% raw %}
```yaml
intent_script:
searchWeatherForecast:
speech:
type: plain
text: >
The weather is currently
{{ states('sensor.dark_sky_weather_temperature') | round(0) }}
degrees outside and {{ states('sensor.dark_sky_weather_summary') }}.
The high today will be
{{ states('sensor.dark_sky_weather_daily_high_temperature') | round(0)}}
and {{ states('sensor.dark_sky_weather_hourly_summary') }}
```
{% endraw %}

View file

@ -35,11 +35,21 @@ switch:
password: YOUR_PASSWORD
```
Configuration variables:
- **username** (*Required*): The username for your Fritz!Box.
- **password** (*Required*): The password for your Fritz!Box.
- **host** (*Optional*): The IP address/hostname of your Fritz!Box. Defaults to `fritz.box`.
{% configuration %}
username:
description: The username for your Fritz!Box.
required: true
type: string
password:
description: The password for your Fritz!Box.
required: true
type: string
host:
description: The IP address/hostname of your Fritz!Box.
required: false
type: string
default: fritz.box
{% endconfiguration %}
It is recommended to create a dedicated user for Home Assistant and only allow access to "Smart Home".

View file

@ -14,10 +14,11 @@ ha_iot_class: "Cloud Polling"
---
The 'hive' switch component integrates your Hive plugs into Home Assistant, enabling control of your devices.
The `hive` switch platform integrates your Hive plugs into Home Assistant, enabling control of your devices.
The Hive switch component supports the following Hive products:
- **Hive Active Plug**
The platform supports the following Hive products:
- Hive Active Plug
<p class='note'>

View file

@ -14,10 +14,12 @@ ha_release: 0.32
The `mochad` switch platform lets you control an X10 enabled switch device.
## {% linkable_title Configuration %}
To enable this sensor, you first have to set up the [mochad component](/components/mochad/) and then add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
switch:
- platform: mochad
devices:
@ -31,3 +33,5 @@ Configuration variables:
- **name** (*Optional*): The name of the switch. Default is: x10_switch_dev_*address*.
- **comm_type** (*Optional*): pl (powerline) or rf (radio frequency). Default is pl.

View file

@ -16,10 +16,12 @@ ha_iot_class: "Local Push"
The `modbus` switch platform allows you to control [Modbus](http://www.modbus.org/) coils or registers.
## {% linkable_title Configuration %}
To use your Modbus switches in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
switch:
platform: modbus
slave: 1

View file

@ -15,6 +15,8 @@ ha_iot_class: depends
The `mqtt` switch platform lets you control your MQTT enabled switches.
## {% linkable_title Configuration %}
In an ideal scenario, the MQTT device will have a `state_topic` to publish state changes. If these messages are published with a `RETAIN` flag, the MQTT switch will receive an instant state update after subscription, and will start with the correct state. Otherwise, the initial state of the switch will be `false` / `off`.
When a `state_topic` is not available, the switch will work in optimistic mode. In this mode, the switch will immediately change state after every command. Otherwise, the switch will wait for state confirmation from the device (message from `state_topic`).
@ -24,7 +26,7 @@ Optimistic mode can be forced, even if the `state_topic` is available. Try to en
To enable this switch in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
switch:
- platform: mqtt
command_topic: "home/bedroom/switch1/set"
@ -106,7 +108,7 @@ In this section you will find some real life examples of how to use this sensor.
The example below shows a full configuration for a switch.
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
switch:
- platform: mqtt
name: "Bedroom Switch"
@ -140,7 +142,7 @@ The configuration will look like the example below:
{% raw %}
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
switch:
- platform: mqtt
name: bathroom

View file

@ -19,6 +19,8 @@ Additionally, RF commands can be defined that trigger this switch to turn on and
To be really sure that Home Assistant knows the actual state of your device it is recommended to use the RF remote with codes unknown to any of your 433 MHz devices. Thus you use the remote to trigger this switch to send the correct RF code to the device.
## {% linkable_title Configuration %}
To define a Pilight switch, add the following lines to your `configuration.yaml`:
```yaml

View file

@ -15,6 +15,8 @@ ha_iot_class: "Local Polling"
This `rainbird` switch platform allows interacting with [LNK WiFi](http://www.rainbird.com/landscape/products/controllers/LNK-WiFi.htm) module of the Rain Bird Irrigation system in Home Assistant.
## {% linkable_title Configuration %}
Once you have enabled the [Rain Bird component](/components/rainbird), add the following to your `configuration.yaml` file:
```yaml

View file

@ -13,84 +13,24 @@ ha_iot_class: "Cloud Polling"
ha_release: 0.51
---
The `rainmachine` switch platform allows you to control programs and zones within a [RainMachine smart Wi-Fi sprinkler controller](http://www.rainmachine.com/).
## {% linkable_title Configuring the Platform %}
The platform allows for either local (i.e., directly across the LAN) or remote (i.e., through RainMachine's cloud API) access; the route you choose will dictate what your configuration should look like.
For local access, specify the IP address/hostname of your RainMachine unit, your RainMachine password, and optionally, the device's HTTP port:
```yaml
switch:
platform: rainmachine
ip_address: 192.168.1.100
password: YOUR_PASSWORD
```
For remote access, specify your RainMachine username/email and password:
```yaml
switch:
platform: rainmachine
email: user@host.com
password: YOUR_PASSWORD
```
{% configuration %}
password:
description: Your RainMachine password.
required: true
type: string
email:
description: "Your RainMachine username/email. Cannot be used with the `ip_address` parameter."
required: false
type: string
ip_address:
description: "The IP address of your RainMachine unit; cannot be used with the `email` parameter."
required: optional
type: string
port:
description: The TCP port used by your unit for the REST API.
required: false
type: int
default: 8080
ssl:
description: Whether communication with the local device should occur over HTTPS.
required: false
type: boolean
default: true
zone_run_time:
description: The number of seconds that a zone should run when turned on.
required: false
type: int
default: 600
{% endconfiguration %}
The `rainmachine` switch platform allows you to control programs and zones
within a [RainMachine smart Wi-Fi sprinkler controller](http://www.rainmachine.com/).
<p class='note'>
You must have the [RainMachine component](https://www.home-assistant.io/components/rainmachine/)
configured to use this switch. After configuring that component, switches will
automatically appear.
</p>
## {% linkable_title Controlling Your Device %}
After Home Assistant loads, you will see new switches for every enabled program and zone. These work as expected:
After Home Assistant loads, new switches will be added for every enabled
program and zone. These work as expected:
- Program On/Off: starts/stops a program
- Zone On/Off: starts/stops a zone (using the `zone_run_time` parameter to determine how long to run for)
- Zone On/Off: starts/stops a zone (using the `zone_run_time` parameter to
determine how long to run for)
Programs and zones are linked. If a program is running its final zone, you will see both the program and zone switches turned on; turning either one off will turn the other one off (just like in the web app).
## {% linkable_title Weblink %}
If you would like to see and control more detailed information, create an [iFrame](/components/panel_iframe/) that renders the RainMachine web app:
```yaml
panel_iframe:
rainmachine:
title: RainMachine
url: "https://my.rainmachine.com/s/<YOUR_DEVICE_ID>/ui/"
icon: mdi:water-pump
```
You can find `<YOUR_DEVICE_ID>` by logging into [https://my.rainmachine.com](https://my.rainmachine.com ) and taking note of the URL.
## {% linkable_title For Awareness %}
The remote RainMachine API currently has two broken operations (i.e., they return error codes): starting a program and stopping a program. Please note that starting/stopping programs with the remote API is disabled until RainMachine can fix the issue.
Programs and zones are linked. While a program is running, you will see both
the program and zone switches turned on; turning either one off will turn the
other one off (just like in the web app).

View file

@ -15,6 +15,8 @@ ha_iot_class: "Local Polling"
The `rest` switch platform allows you to control a given endpoint that supports a [RESTful API](https://en.wikipedia.org/wiki/Representational_state_transfer). The switch can get the state via GET and set the state via POST on a given REST resource.
## {% linkable_title Configuration %}
To enable this switch, add the following lines to your `configuration.yaml` file:
```yaml
@ -93,7 +95,7 @@ switch:
resource: http://IP_ADDRESS/led_endpoint
body_on: '{"active": "true"}'
body_off: '{"active": "false"}'
is_on_template: '{{value_json.is_active}}'
is_on_template: '{{ value_json.is_active }}'
headers:
Content-Type: application/json
```

View file

@ -15,6 +15,8 @@ ha_iot_class: "Local Polling"
The `wake_on_lan` (WOL) switch platform allows you to turn on a [WOL](https://en.wikipedia.org/wiki/Wake-on-LAN) enabled computer.
## {% linkable_title Configuration %}
<p class='note warning'>
The WOL switch can only turn on your computer and monitor the state. There is no universal way to turn off a computer remotely. The `turn_off` variable is there to help you call a script when you have figured out how to remotely turn off your computer.
See below for suggestions on how to do this.
@ -23,7 +25,7 @@ See below for suggestions on how to do this.
To enable this switch in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
switch:
- platform: wake_on_lan
mac_address: "00-01-02-03-04-05"
@ -42,7 +44,8 @@ Configuration variables:
Here are some real life examples of how to use the **turn_off** variable.
### {% linkable_title Suspending Linux %}
Suggested recipe for letting the turn_off script suspend a Linux computer (the **target**)
Suggested recipe for letting the `turn_off` script suspend a Linux computer (the **target**)
from Home Assistant running on another Linux computer (the **server**).
1. On the **server**, log in as the user account Home Assistant is running under. (I'm using `hass` in this example)

View file

@ -107,30 +107,29 @@ timer:
```yaml
# Example automations.yaml entry
- action:
- service: timer.start
entity_id: timer.test
alias: Timerswitch
- alias: Timerswitch
id: 'Timerstart'
# Timer is started when the switch pumprun is set to on.
# Timer is started when the switch pumprun is set to on.
trigger:
platform: state
- platform: state
entity_id: switch.pumprun
to: 'on'
action:
- service: timer.start
entity_id: timer.test
# When timer is stopped, the time run out, another message is sent
- action:
- service: notify.nma
data:
message: "Timer stop"
alias: Timerstop
- alias: Timerstop
id: 'Timerstop'
trigger:
platform: event
- platform: event
event_type: timer.finished
event_data:
entity_id: timer.test
action:
- service: notify.nma
data:
message: "Timer stop"
```
### {% linkable_title Control a timer from the frontend %}

View file

@ -15,6 +15,8 @@ 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.
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.
## {% linkable_title Configuration %}
To get started, add the following lines to your `configuration.yaml` (example for Amazon Polly):
```yaml
@ -23,33 +25,62 @@ tts:
- platform: amazon_polly
aws_access_key_id: AWS_ACCESS_KEY_ID
aws_secret_access_key: AWS_SECRET_ACCESS_KEY
profile_name: AWS_PROFILE
region_name: 'us-east-1'
voice: Joanna
```
Configuration variables:
{% configuration %}
aws_access_key_id:
description: "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`."
required: true
type: string
aws_secret_access_key:
description: "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`."
required: true
type: string
profile_name:
description: A credentials profile name. For more information, please see the [boto3 Documentation](http://boto3.readthedocs.io/en/latest/guide/configuration.html#shared-credentials-file) for more information.
required: false
type: string
region_name:
description: "The region identifier to connect to. The default is `us-east-1`. See the [AWS Regions and Endpoints Reference](https://docs.aws.amazon.com/general/latest/gr/rande.html#pol_region) for available regions."
required: false
type: string or list
name:
description: "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`."
required: false
type: string
text_type:
description: "Specify wherever to use text (default) or ssml markup by default."
required: false
type: string
default: text
voice:
description: "Voice name to be used. See the [Amazon Documentation](http://docs.aws.amazon.com/polly/latest/dg/voicelist.html) for available voices."
required: false
type: string
output_format:
description: "Override the default output format, e.g., `mp3`, `ogg_vorbis` or `pcm`."
required: false
type: string
default: mp3
sample_rate:
description: "Override the default sample rate, defaults to 22050 for MP3 and Ogg Vorbis, 16000 for pcm."
required: false
type: string
{% endconfiguration %}
| Parameter | Value | Description |
|---------------------|----------|-------------|
| `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` |
| `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`. |
| `profile_name` | Optional | A credentials profile name. For more information, please see the [boto3 Documentation](http://boto3.readthedocs.io/en/latest/guide/configuration.html#shared-credentials-file) for more information. |
| `region_name` | Optional | The region identifier to connect to. The default is `us-east-1`. See the [AWS Regions and Endpoints Reference](https://docs.aws.amazon.com/general/latest/gr/rande.html#pol_region) for available regions. |
| `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 by default. |
| `voice` | Optional | Voice name to be used. See the [Amazon Documentation](http://docs.aws.amazon.com/polly/latest/dg/voicelist.html) for available voices. |
| `output_format` | mp3/ogg_vorbis/pcm | Override the default output format, defaults to MP3. |
| `sample_rate` | 8000/16000/22050 | Override the default sample rate, defaults to 22050 for MP3 and Ogg Vorbis, 16000 for pcm. |
## Usage
## {% linkable_title 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:

View file

@ -127,7 +127,7 @@ The following table shows the units of measurement for each attribute:
<p class='note'>
As per [python-miio issue 185](https://github.com/rytilahti/python-miio/issues/185) the Mi-Home app no longer stores the token within the database (it's retrieved from Xiaomi servers from version 5.0.31+). Currently the only known fix is to uninstall, then install a downgraded version of the apk. Apkmirror is a trusted source for older versions of the app. [Mi-Home version 5.0.0](https://www.apkmirror.com/apk/xiaomi-inc/mihome/mihome-5-0-0-release/) is confirmed as working for the following Android methods.
This token (32 hexadecimal characters) is required for the Xiaomi Mi Robot Vacuum, Xiaomi Philips Lights and Xiaomi IR Remote. The Xiaomi Gateway uses another security method and requires a `key` (16 alphanumeric chars), which can be obtained
This token (32 hexadecimal characters) is required for the Xiaomi Mi Robot Vacuum, Mi Robot 2 (Roborock) Vacuum, Xiaomi Philips Lights and Xiaomi IR Remote. The Xiaomi Gateway uses another security method and requires a `key` (16 alphanumeric chars), which can be obtained
easily via a hidden menu item at the Mi-Home app or using the `miio` command line tool.
</p>
@ -203,7 +203,7 @@ To fetch the token follow these instructions depending on your mobile phone plat
6. Download the 'ADB Backup Extractor' from [here](https://sourceforge.net/projects/adbextractor/files/latest/download)
7. Extract the data from the backup: `java -jar Android\ Backup\ Utilities/Android\ Backup\ Extractor/android-backup-extractor-20171005-bin/abe.jar unpack backup.ab unpacked.tar` (enter the password, if prompted)
8. Untar the unpacked data: `tar -xvf unpacked.tar`
9. `sqlite3 apps/com.xiaomi.smarthome/db/miio2.db 'select token from devicerecord where name = "Mi Robot Vacuum";'` returns the token for your Xiaomi vacuum bot.
9. `sqlite3 apps/com.xiaomi.smarthome/db/miio2.db 'select token from devicerecord where name like "%Vacuum%";'` returns the token for your Xiaomi vacuum bot.
#### {% linkable_title Linux and Android (rooted!) %}
@ -245,7 +245,7 @@ To fetch the token follow these instructions depending on your mobile phone plat
8. Install [DB Browser for SQLite](http://sqlitebrowser.org/).
9. Open DB Browser and load the `.sqlite` file you saved from your backup.
10. Click on the `Execute SQL` tab.
11. Input and run this query: `SELECT ZTOKEN FROM ZDEVICE WHERE ZNAME = "Mi Robot Vacuum"`
11. Input and run this query: `SELECT ZTOKEN FROM ZDEVICE WHERE ZNAME LIKE "%Vacuum%"`
12. Copy the returned 32-digit hexadecimal string to your clipboard.
13. Open `Terminal` and execute this command: `echo '0: <YOUR HEXADECIMAL STRING>' | xxd -r -p | openssl enc -d -aes-128-ecb -nopad -nosalt -K 00000000000000000000000000000000`
14. Use the resulting string as your token.

View file

@ -18,6 +18,9 @@ The `xiaomi_aqara` component allows you to integrate [Xiaomi](http://www.mi.com/
#### {% linkable_title Supported Devices %}
- Xiaomi Aqara Gateway (lumi.gateway.v2, lumi.gateway.v3)
- Aqara Air Conditioning Companion (lumi.acpartner.v3)
- Aqara Intelligent Door Lock (lock.aq1)
- Temperature and Humidity Sensor (1st and 2nd generation)
- Motion Sensor (1st and 2nd generation)
- Door and Window Sensor (1st and 2nd generation)
@ -42,8 +45,8 @@ The `xiaomi_aqara` component allows you to integrate [Xiaomi](http://www.mi.com/
- Gateway Radio
- Gateway Button
- Aqara Air Conditioning Companion
- Aqara Intelligent Air Conditioner Controller Hub
- Xiaomi Mi Air Conditioning Companion (lumi.acpartner.v2)
- Aqara Intelligent Air Conditioner Controller Hub (lumi.acpartner.v1)
- Decoupled mode of the Aqara Wall Switches (Single & Double)
- Additional alarm events of the Gas and Smoke Detector: Analog alarm, battery fault alarm (smoke detector only), sensitivity fault alarm, I2C communication failure

View file

@ -97,6 +97,14 @@ script:
service: homeassistant.turn_off
data:
entity_id: switch.REL1
- alias: loop_room1
service: script.turn_on
data:
entity_id: script.flash_loop
flash_loop:
alias: Flash loop
sequence:
- delay:
# time for flash light off
seconds: 1

View file

@ -0,0 +1,12 @@
---
layout: page
title: "Configuration.yaml by Apocrathia"
description: ""
date: 2018-05-02 12:40
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Example configuration.yaml
ha_external_link: https://github.com/Apocrathia/home-assistant-config/
---

View file

@ -12,7 +12,7 @@ ha_category: Automation Examples
### {% linkable_title iOS Devices %}
If you have a device running iOS (iPhone, iPad, etc), The [iCloud](/components/device_tracker.icloud/) is gathering various details about your device including the battery level. To display it in the Frontend use a [template sensor](/components/sensor.template/). You can also use the icon template option to create a dynamic icon that changes with the battery level.
If you have a device running iOS (iPhone, iPad, etc), The [iCloud](/components/device_tracker.icloud/) is gathering various details about your device including the battery level. To display it in the Frontend use a [template sensor](/components/sensor.template/). You can also the `battery` [sensor device class](/components/sensor/#device-class) to dynamically change the icon with the battery level.
{% raw %}
```yaml
@ -21,8 +21,6 @@ sensor:
sensors:
battery_iphone:
friendly_name: iPhone Battery
# "entity_id:" ensures that this sensor will only update when your device tracker does.
entity_id: device_tracker.iphone
unit_of_measurement: '%'
value_template: >-
{%- if states.device_tracker.iphone.attributes.battery %}
@ -30,21 +28,10 @@ sensor:
{% else %}
{{ states.sensor.battery_iphone.state }}
{%- endif %}
icon_template: >
{% set battery_level = states.sensor.battery_iphone.state|default(0)|int %}
{% set battery_round = (battery_level / 10) |int * 10 %}
{% if battery_round >= 100 %}
mdi:battery
{% elif battery_round > 0 %}
mdi:battery-{{ battery_round }}
{% else %}
mdi:battery-alert
{% endif %}
device_class: battery
```
{% endraw %}
The `else` part is used to have the sensor keep its last state if the newest [iCloud](/components/device_tracker.icloud/) update doesn't have any battery state in it (which happens sometimes). Otherwise the sensor will be blank.
### {% linkable_title Android and iOS Devices %}
While running the [Owntracks](/components/device_tracker.owntracks/) device tracker you can retrieve the battery level with a MQTT sensor. Replace username with your MQTT username (for the embedded MQTT it's simply homeassistant), and deviceid with the set Device ID in Owntracks.
@ -57,5 +44,6 @@ sensor:
name: "Battery Tablet"
unit_of_measurement: "%"
value_template: '{{ value_json.batt }}'
device_class: battery
```
{% endraw %}

View file

@ -71,9 +71,10 @@ homeassistant:
### {% linkable_title Device Class %}
Device class is currently supported by the following platforms:
Device class is currently supported by the following components:
* [Binary Sensor](/components/binary_sensor/)
* [Sensor](/components/sensor/)
* [Cover](/components/cover/)
### {% linkable_title Reloading customize %}

View file

@ -140,7 +140,7 @@ With strings
```text
{% raw %}{% set tracker_name = "paulus"%}
{% if states("device_tracker." + tracker_name) != "unknown" %}
{{ state_attr("device_tracker." + tracker_name, "battery")}}
{% else %}

Some files were not shown because too many files have changed in this diff Show more