diff --git a/_config.yml b/_config.yml index 45147f16ca..a7b16a6bf6 100644 --- a/_config.yml +++ b/_config.yml @@ -139,14 +139,14 @@ social: # Home Assistant release details current_major_version: 0 -current_minor_version: 69 -current_patch_version: 0 -date_released: 2018-05-11 +current_minor_version: 66 +current_patch_version: 1 +date_released: 2018-04-01 # 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: "#" +patch_version_notes: "#release-0661---april-1" # Minor release (Example #release-0431---april-25): # Date we moved to Discourse for comments diff --git a/plugins/configuration.rb b/plugins/configuration.rb index 30a5196d72..52bcf87fb9 100644 --- a/plugins/configuration.rb +++ b/plugins/configuration.rb @@ -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/', } diff --git a/plugins/environment_variables.rb b/plugins/environment_variables.rb deleted file mode 100644 index 7d9203f164..0000000000 --- a/plugins/environment_variables.rb +++ /dev/null @@ -1,17 +0,0 @@ -module Jekyll - class EnvironmentVariablesGenerator < Generator - def generate(site) - # https://www.netlify.com/docs/continuous-deployment/#build-environment-variables - repo_url = ENV['REPOSITORY_URL'] || 'https://github.com/home-assistant/home-assistant.github.io' - - # Rewrite urls if repo url is the ssh format. - if repo_url.start_with? 'git@github.com:' - repo_url = repo_url.sub 'git@github.com:', 'https://github.com/' - end - - # These values will be available as {{ site.NLY_REPOSITORY_URL }} - site.config['NLY_REPOSITORY_URL'] = repo_url - site.config['NLY_HEAD'] = ENV['HEAD'] || 'current' - end - end -end diff --git a/sass/custom/_paulus.scss b/sass/custom/_paulus.scss index c64bdb7da2..2a9e1fb4eb 100644 --- a/sass/custom/_paulus.scss +++ b/sass/custom/_paulus.scss @@ -4,10 +4,6 @@ $primary-color: #049cdb; .site-header { position: relative; - - .site-title { - font-weight: normal; - } } .search-container { @@ -381,26 +377,18 @@ p.note { } .copyright { - text-align: left; + text-align: center; - .company { - .title { - font-size: 1.5em; - } - - img { - vertical-align: middle; - } - - i { - font-size: 2em; - padding: 0 5px; - } + i { + font-size: 3em; + margin-right: 8px; + position: relative; + top: -5px; } - - ul { - margin: 0; - list-style: none; + .credit { + text-align: left; + display: inline-block; + font-size: .8em; } } diff --git a/source/_addons/duckdns.markdown b/source/_addons/duckdns.markdown index 123e975e97..9c9049a066 100644 --- a/source/_addons/duckdns.markdown +++ b/source/_addons/duckdns.markdown @@ -26,10 +26,10 @@ featured: true Configuration variables: -- **lets_encrypt.accept_terms** (*Optional*): If you accept the [Let's Encrypt Subscriber Agreement][le], it will generate and update Let's Encrypt certificates for your DuckDNS domain. - **token** (*Required*): Your Duck DNS API key. - **domains** (*Required*): A list of domains to update DNS. -- **seconds** (*Required*): Seconds between updates to Duck DNS. +- **seconds** (*Optional*): Seconds between updates to Duck DNS. +- **lets_encrypt.accept_terms** (*Optional*): If you accept the [Let's Encrypt Subscriber Agreement][le], it will generate & update Let's Enrypt certificates for your DuckDNS domain. [le]: https://letsencrypt.org/repository/ @@ -51,5 +51,3 @@ If you use a port other than `8123` or an SSL proxy, change the port number acco You'll need to forward the port you listed in your configuration (8123 in the example above) on your router to your Home Assistant system. You can find guides on how to do this on [Port Forward](https://portforward.com/) - noting that you'll only need to forward the TCP port. Ensure that you allocate the Home Assistant system a fixed IP on your network before you configure port forwarding. You can do this either on the computer itself (see the [install guide](/hassio/installation/) or via a static lease on your router. - -Restart Home Assistant for the configured changes to take effect. When you access the Home Assistant frontend you will now need to use `https`, even when accessing local instances, for example at `https://192.168.0.1:8123`. diff --git a/source/_addons/lets_encrypt.markdown b/source/_addons/lets_encrypt.markdown index 0ac8d01994..c0cbf10bbe 100644 --- a/source/_addons/lets_encrypt.markdown +++ b/source/_addons/lets_encrypt.markdown @@ -2,7 +2,7 @@ layout: page title: "Let's Encrypt" description: "Automatically manage your SSL certificate using Let's Encrypt." -date: 2018-04-18 10:55 +date: 2017-04-30 13:28 sidebar: true comments: false sharing: true @@ -41,24 +41,4 @@ 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/ diff --git a/source/_addons/snips.markdown b/source/_addons/snips.markdown index 851afd8e7d..55a1dca239 100644 --- a/source/_addons/snips.markdown +++ b/source/_addons/snips.markdown @@ -2,14 +2,14 @@ layout: page title: "Snips.ai" description: "Enhance your Hass.io installation with a local voice assistant." -date: 2018-05-02 13:28 +date: 2018-03-22 13:28 sidebar: true comments: false sharing: true footer: true --- -[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. +[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,16 +25,42 @@ Open garage door What is on my shopping list ``` -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. +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. -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 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 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. +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: -### {% linkable_title Add-On configuration %} +```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 `,`. Change the configuration options and click save. + +Now start the add-on. + +### Add-On configuration ```json { + "mic": "1,0", + "speaker": "1,0", + "assistant": "assistant.zip", "mqtt_bridge": { "active": true, "host": "172.17.0.1", @@ -42,76 +68,23 @@ Now it's time to start Snips for the first time. You can configure the microphon "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. -- **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. +- **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. ### {% linkable_title Home Assistant configuration %} -A simple configuration just requires this. Consult [Snips.ai component](/components/snips/) for more options. +Use the Home Assistant [Snips.ai component][comp] to integrate the add-on into Home Assistant. ```yaml snips: ``` -### {% 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. - +[Snips.ai]: https://snips.ai/ [their tutorial]: https://github.com/snipsco/snips-platform-documentation/wiki/2.-Create-an-assistant-using-an-existing-bundle - +[Samba]: /addons/samba/ +[comp]: /components/snips/ diff --git a/source/_components/abode.markdown b/source/_components/abode.markdown index 87b689230b..34ceaada84 100644 --- a/source/_components/abode.markdown +++ b/source/_components/abode.markdown @@ -24,7 +24,7 @@ There is currently support for the following device types within Home Assistant: - [Camera](/components/camera.abode/): Reports on `Camera` devices and will download and show the latest captured still image. - [Cover](/components/cover.abode/): Reports on `Secure Barriers` and can be used to open and close the cover. - [Lock](/components/cover.abode/): Reports on `Door Locks` and can be used to lock and unlock the door. -- [Light](/components/light.abode/): Reports on `Dimmer` lights and can be used to dim or turn the light on and off. +- [Light](/components/light.abode/): Reports on `Dimmer` lights and can be used to dim, change color, or turn the light on and off. - [Switch](/components/switch.abode/): Reports on `Power Switch` devices and can be used to turn the power switch on and off. Also reports on `Automations` set up in the Abode system and allows you to activate or deactivate them. - [Sensor](/components/sensor.abode/): Reports on `Temperature`, `Humidity`, and `Light` sensors. diff --git a/source/_components/alarm_control_panel.alarmdecoder.markdown b/source/_components/alarm_control_panel.alarmdecoder.markdown index 98810aaa2a..476773df3e 100644 --- a/source/_components/alarm_control_panel.alarmdecoder.markdown +++ b/source/_components/alarm_control_panel.alarmdecoder.markdown @@ -27,9 +27,7 @@ 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. -

-`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. -

+**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. ### {% linkable_title Attributes %} diff --git a/source/_components/amcrest.markdown b/source/_components/amcrest.markdown index 74c76e70dd..fc62783afa 100644 --- a/source/_components/amcrest.markdown +++ b/source/_components/amcrest.markdown @@ -28,9 +28,6 @@ amcrest: sensors: - motion_detector - sdcard - switches: - - motion_detection - - motion_recording - host: IP_ADDRESS_CAMERA_2 username: YOUR_USERNAME @@ -57,9 +54,6 @@ Configuration variables: - **motion_detector**: Return True/False when a motion is detected - **sdcard**: Return the SD card usage by reporting the total and used space - **ptz_preset**: Return the number of PTZ preset positions configured for the given camera -- **switches** array (*Optional*): Switches to display in the frontend. By default, *none* of the switches are shown. The following switches can be monitored. - - **motion_detection**: Enable/disable motion detection setting - - **motion_recording**: Enable/disable recording on motion detection setting **Note:** Amcrest cameras with newer firmware no longer have the ability to stream `high` definition video with MJPEG encoding. You may need to use `low` resolution stream or the `snapshot` stream source instead. If the quality seems too poor, lower the `Frame Rate (FPS)` and max out the `Bit Rate` settings in your camera's configuration manager. If you defined the *stream_source* to **mjpeg**, make sure your camera supports *Basic* HTTP authentication. Newer Amcrest firmware may not work, then **rtsp** is recommended instead. diff --git a/source/_components/august.markdown b/source/_components/august.markdown index 818002e14c..a4df212e8b 100644 --- a/source/_components/august.markdown +++ b/source/_components/august.markdown @@ -15,10 +15,6 @@ ha_iot_class: "Cloud Polling" The `august` component allows you to integrate your [August](http://august.com) devices in Home Assistant. Currently this component supports August Lock and Doorbell. -

-August Lock 2nd Gen will need either August Connect or Doorbell to connect to Home Assistant. -

- ## {% linkable_title Configuration %} You will need your August login information (username (either phone# or email), and password) to use this module. diff --git a/source/_components/binary_sensor.bmw_connected_drive.markdown b/source/_components/binary_sensor.bmw_connected_drive.markdown index 74330ec563..6c38dc813e 100755 --- a/source/_components/binary_sensor.bmw_connected_drive.markdown +++ b/source/_components/binary_sensor.bmw_connected_drive.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "BMW Connected Drive Binary Sensor" -description: "Instructions on how to setup your BMW Connected Drive account with Home Assistant." +title: "BMW connected drive" +description: "Instructions on how to setup your BMW connected drive account with Home Assistant." date: 2018-02-22 23:00 sidebar: true comments: false @@ -15,6 +15,6 @@ ha_release: 0.66 The `bmw_connected_drive` platform allows you to import data on your BMW into Home Assistant. -The binary sensors will be automatically configured if `bmw_connected_drive` component is configured. +The binary sensors will be automatically configured if 'bmw_connected_drive' component is configured. -For more configuration information see the [`bmw_connected_drive` component](/components/bmw_connected_drive/) documentation. +For more configuration information see the [bmw_connected_drive component](/components/bmw_connected_drive/) documentation. diff --git a/source/_components/binary_sensor.hive.markdown b/source/_components/binary_sensor.hive.markdown index 49486d62d7..ef695f4601 100644 --- a/source/_components/binary_sensor.hive.markdown +++ b/source/_components/binary_sensor.hive.markdown @@ -14,12 +14,11 @@ 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 platform supports the following Hive products: - -- Hive Window or Door Sensor -- Hive Motion Sensor +The Hive sensor component supports the following Hive products: +- **Hive Window or Door Sensor** +- **Hive Motion Sensor**

diff --git a/source/_components/binary_sensor.markdown b/source/_components/binary_sensor.markdown index fe8f4a5107..588b4df27f 100644 --- a/source/_components/binary_sensor.markdown +++ b/source/_components/binary_sensor.markdown @@ -11,8 +11,6 @@ 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. @@ -41,8 +39,3 @@ The way these sensors are displayed in the frontend can be modified in the [cust - **window**: `On` means open, `Off` means closed For analog sensors please check the [component overview](/components/#sensor). - -

- -Example of various device classes icons in `On` and `Off` state. -

diff --git a/source/_components/binary_sensor.modbus.markdown b/source/_components/binary_sensor.modbus.markdown index 62f5765dd3..55450b908e 100644 --- a/source/_components/binary_sensor.modbus.markdown +++ b/source/_components/binary_sensor.modbus.markdown @@ -15,12 +15,10 @@ 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.yaml entry +# Example configuration.yml entry binary_sensor: - platform: modbus coils: @@ -41,7 +39,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: diff --git a/source/_components/binary_sensor.mqtt.markdown b/source/_components/binary_sensor.mqtt.markdown index 92ac12ccb0..1c6a6d87ef 100644 --- a/source/_components/binary_sensor.mqtt.markdown +++ b/source/_components/binary_sensor.mqtt.markdown @@ -133,7 +133,7 @@ The configuration will look like the example below: {% raw %} ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry binary_sensor: - platform: mqtt name: Bathroom diff --git a/source/_components/binary_sensor.pilight.markdown b/source/_components/binary_sensor.pilight.markdown index ee7a729196..7d2ccf976b 100644 --- a/source/_components/binary_sensor.pilight.markdown +++ b/source/_components/binary_sensor.pilight.markdown @@ -15,12 +15,10 @@ 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.yaml entry +# Example configuration.yml entry binary_sensor: - platform: pilight variable: 'state' diff --git a/source/_components/binary_sensor.qwikswitch.markdown b/source/_components/binary_sensor.qwikswitch.markdown deleted file mode 100644 index e3fd446a3b..0000000000 --- a/source/_components/binary_sensor.qwikswitch.markdown +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: page -title: "QwikSwitch Binary Sensor" -description: "Instructions on how to integrate Qwikswitch dimmers and relays as sensors into Home Assistant." -date: 2016-05-04 00:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: qwikswitch.png -ha_category: Sensor -ha_iot_class: "Local Push" -ha_release: "0.68" ---- - -The `qwikswitch` binary_sensor platform allows you to use your [QwikSwitch](http://www.qwikswitch.co.za/) sensors within Home Assistant. - -The platform is configured through the [QwikSwitch component](/components/qwikswitch/). diff --git a/source/_components/binary_sensor.random.markdown b/source/_components/binary_sensor.random.markdown index b1208681a8..d8a0129120 100644 --- a/source/_components/binary_sensor.random.markdown +++ b/source/_components/binary_sensor.random.markdown @@ -16,8 +16,6 @@ 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 diff --git a/source/_components/binary_sensor.workday.markdown b/source/_components/binary_sensor.workday.markdown index 1ba1f8bd8c..0d4782bc12 100644 --- a/source/_components/binary_sensor.workday.markdown +++ b/source/_components/binary_sensor.workday.markdown @@ -15,10 +15,6 @@ ha_release: 0.41 The `workday` binary sensor indicates, whether the current day is a workday or not. It allows specifying, which days of the week counts as workdays and also uses the python module [holidays](https://pypi.python.org/pypi/holidays) to incorporate information about region-specific public holidays. -## {% linkable_title Configuration %} - -Check the [country list](https://github.com/dr-prodigy/python-holidays#available-countries) for available province. - To enable the `workday` sensor in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -26,14 +22,14 @@ 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: - **name** (*Optional*): A name for this sensor. Defaults to *Workday Sensor* -- **country** (*Required*): Country code according to [holidays](https://pypi.python.org/pypi/holidays/0.9.4) notation. -- **province** (*Optional*): Province code according to [holidays](https://pypi.python.org/pypi/holidays/0.9.4) notation. Defaults to None. +- **country** (*Required*): Country code according to [holidays](https://pypi.python.org/pypi/holidays/0.9.3) notation. +- **province** (*Optional*): Province code according to [holidays](https://pypi.python.org/pypi/holidays/0.9.3) notation. Defaults to None. - **workdays** (*Optional*): List of workdays. Defaults to `mon`, `tue`, `wed`, `thu`, `fri`. - **excludes** (*Optional*): List of workday excludes. Defaults to `sat`, `sun`, `holiday`. - **days_offset** (*Optional*): Set days offset. Defaults to `0`. diff --git a/source/_components/bmw_connected_drive.markdown b/source/_components/bmw_connected_drive.markdown index 94f493ff24..e560ced3c6 100644 --- a/source/_components/bmw_connected_drive.markdown +++ b/source/_components/bmw_connected_drive.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "BMW Connected Drive" -description: "Instructions on how to setup your BMW Connected Drive account with Home Assistant." +title: "BMW connected drive" +description: "Instructions on how to setup your BMW connected drive account with Home Assistant." date: 2018-01-10 23:00 sidebar: true comments: false @@ -12,7 +12,7 @@ ha_category: Hub ha_release: 0.64 --- -This component lets you retrieve data on your BMW vehicle from the BMW Connected Drive portal. You need to have a working BMW Connected Drive account, and a Connected Drive enabled vehicle for this to work. +This component lets you retrieve data on your BMW vehicle from the BMW Connected Drive portal. You need to have a working BMW Connected Drive account and a Connected Drive enabled vehicle for this to work. For compatibility with your BMW vehicle check the [bimmer_connected page](https://github.com/m1n3rva/bimmer_connected) on github. @@ -25,7 +25,7 @@ bmw_connected_drive: name: username: USERNAME_BMW_CONNECTED_DRIVE password: PASSWORD_BMW_CONNECTED_DRIVE - region: one of "north_america", "china" , "rest_of_world" + country: COUNTRY_BMW_CONNECTED_DRIVE ``` {% configuration %} @@ -46,44 +46,12 @@ bmw_connected_drive: description: Your BMW Connected Drive password. required: true type: string - region: - description: "The region of your Connected Drive account. Please use of these values: `north_america`, `china`, `rest_of_world`" + country: + description: "The country of your Connected Drive account. Please use the exact names for the country as listed on the [Connected Drive website](https://www.bmw-connecteddrive.com/)." required: true type: string {% endconfiguration %} -## {% linkable_title Services %} - -The `bmw_connected_drive` component offers several services. In case you need to provide the vehicle identification number (VIN) as a parameter, you can see the VIN in the attributes of the device tracker for the vehicle. The VIN is a 17 digit alphanumeric string, e.g., `WBANXXXXXX1234567`. - -Using these services will impact the state of your vehicle. So use these services with care! - -### {% linkable_title Locking and unlocking %} - -The vehicle can be locked and unlocked via the lock component that is created automatically for each vehicle. Before invoking these services, make sure it's safe to lock/unlock the vehicle in the current situation. - -### {% linkable_title Air condition %} - -The air condition of the vehicle can be activated with the service `bmw_connected_drive.activate_air_conditioning`. - -What exactly is started here depends on the type of vehicle. It might range from just ventilation over auxiliary heating to real air conditioning. If your vehicle is equipped with auxiliary heating, only trigger this service if the vehicle is parked in a location where it is safe to use it (e.g., not in an underground parking or closed garage). - -The vehicle is identified via the parameter `vin`. - -### {% linkable_title Sound the horn %} - -The service `bmw_connected_drive.sound_horn` sounds the horn of the vehicle. Use this feature responsibly, as it might annoy your neighbors. The vehicle is identified via the parameter `vin`. - -### {% linkable_title Flash the lights %} - -The service `bmw_connected_drive.light_flash' flashes the lights of the vehicle. The vehicle is identified via the parameter `vin`. - -### {% linkable_title Update the state %} - -The service `bmw_connected_drive.update_state`fetches the last state of the vehicles of all your accounts from the BMW server. This does *not* trigger an update from the vehicle; it gets the data from the BMW servers. So this service does *not* interact with your vehicles. - -This service does not require any attributes. - ## {% linkable_title Disclaimer %} This software is not affiliated with or endorsed by BMW Group. diff --git a/source/_components/calendar.google.markdown b/source/_components/calendar.google.markdown index 9825c5f9cc..d046396835 100644 --- a/source/_components/calendar.google.markdown +++ b/source/_components/calendar.google.markdown @@ -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 Configuration %} +### {% linkable_title Basic Setup %} 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. @@ -95,8 +95,7 @@ Variables: - **track**: (*Required*): Should we create a sensor `True` or ignore it `False`? - **search**: (*Optional*): If set will only trigger for matched events. - **offset**: (*Optional*): A set of characters that precede a number in the event title for designating a pre-trigger state change on the sensor. (Default: `!!`) -  - **ignore_availablilty**: (*Optional*): Should we respect `free`/`busy` flags? (Defaults to `true`) -   + From this we will end up with the binary sensors `calendar.test_unimportant` and `calendar.test_important` which will toggle themselves on/off based on events on the same calendar that match the search value set for each. You'll also have a sensor `calendar.test_everything` that will not filter events out and always show the next event available. But what if you only wanted it to toggle based on all events? Just leave out the *search* parameter. diff --git a/source/_components/calendar.todoist.markdown b/source/_components/calendar.todoist.markdown index c416ddb50d..d3ad45c8c4 100644 --- a/source/_components/calendar.todoist.markdown +++ b/source/_components/calendar.todoist.markdown @@ -111,7 +111,7 @@ Home Assistant does its best to determine what task in each project is "most" im Todoist also comes with access to a service, `calendar.todoist_new_task`. This service can be used to create a new Todoist task. You can specify labels and a project, or you can leave them blank, and the task will go to your "Inbox" project. -Here are two example JSON payloads resulting in the same task: +Here's an example JSON payload: ```json { @@ -123,17 +123,6 @@ Here are two example JSON payloads resulting in the same task: } ``` -```json -{ - "content": "Pick up the mail", - "project": "Errands", - "labels":"Homework,School", - "priority":3, - "due_date_string":"tomorrow at 14:00", - "due_date_lang":"en" -} -``` - - **content** (*Required*): The name of the task you want to create. - **project** (*Optional*): The project to put the task in. @@ -142,11 +131,6 @@ Here are two example JSON payloads resulting in the same task: - **priority** (*Optional*): The priority of the task, from 1-4. Again, 1 means least important, and 4 means most important. -- **due_date_string** (*Optional*): When the task should be due, in [natural language](https://support.todoist.com/hc/en-us/articles/205325931-Dates-and-Times). Mutually exclusive with `due_date` - -- **due_date_lang** (*Optional*): When `due_date_string` is set, it is posisble to set the language. - Valid languages are: `en`, `da`, `pl`, `zh`, `ko`, `de`, `pt`, `ja`, `it`, `fr`, `sv`, `ru`, `es`, `nl` - -- **due_date** (*Optional*): When the task should be due, in either YYYY-MM-DD format or YYYY-MM-DD HH:MM format. Mutually exclusive with `due_date_string`. +- **due_date** (*Optional*): When the task should be due, in either YYYY-MM-DD format or YYYY-MM-DD HH:MM format. Note that there's (currently) no way to mark tasks as done through Home Assistant; task names do not necessarily have to be unique, so you could find yourself in a situation where you close the wrong task. diff --git a/source/_components/camera.local_file.markdown b/source/_components/camera.local_file.markdown index b2b953041d..8175ee35db 100644 --- a/source/_components/camera.local_file.markdown +++ b/source/_components/camera.local_file.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Local File" -description: "Instructions how to use Local File as a Camera within Home Assistant." +description: "Instructions on 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 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. +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 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. +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. To enable this camera in your installation, add the following to your `configuration.yaml` file: @@ -31,11 +31,7 @@ Configuration variables: - **file_path** (*Required*): File to serve as the camera. - **name** (*Optional*): Name of the camera -### {% linkable_title Service `camera.local_file_update_file_path` %} +

+The given `file_path` must be an existing file because the camera platform setup make a readable check on it. +

-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. | diff --git a/source/_components/camera.yi.markdown b/source/_components/camera.yi.markdown index cb8975a86c..61576a4772 100644 --- a/source/_components/camera.yi.markdown +++ b/source/_components/camera.yi.markdown @@ -34,10 +34,6 @@ Once installed, please ensure that you have enabled FTP and Telnet on your devic Currently, version 0.1.4-beta2 of the custom firmware is the highest supported. Firmwares higher than this version use [Pure-FTPd](https://www.pureftpd.org/project/pure-ftpd), which has a bug that prevents FFmpeg from correctly rendering video files.

-

-Hassbian users: don't forget to install ffmpeg support on your platform, otherwise, you'll not see video. -

-

Some alternative Yi firmwares enable an experimental RTSP server, which will allow you to connect to your camera via other Home Assistant camera platforms. However, this RTSP server disables the ability to use the supremely-useful Yi Home app. In order to maintain both Home Assistant compatibility _and_ the native app, this platform retrieves videos via FTP.

diff --git a/source/_components/climate.fritzbox.markdown b/source/_components/climate.fritzbox.markdown deleted file mode 100644 index 65975ca77c..0000000000 --- a/source/_components/climate.fritzbox.markdown +++ /dev/null @@ -1,28 +0,0 @@ ---- -layout: page -title: "Fritzbox Thermostat" -description: "Instructions on how to integrate the AVM Fritzbox thermostat." -date: 2017-11-12 17:10 -sidebar: true -comments: false -sharing: true -footer: true -logo: avm.png -ha_category: Climate -ha_release: 0.68 -ha_iot_class: "Local Polling" ---- - -

-To get AVM fritzbox thermostat follow the instructions for the general [Fritzbox](/components/fritzbox/). -

- -### {% linkable_title Attributes %} - -The are several attributes that can be useful for automations and templates. - -| Attribute | Description | -| --------- | ----------- | -| `device_locked` | The state of the key lock at the device. -| `locked` | The state of the lock for configuring the device via the app or the Fritzbox web interface. -| `low_battery` | The low battery state indication. diff --git a/source/_components/climate.hive.markdown b/source/_components/climate.hive.markdown index 12f4688553..dd3fd41ca5 100644 --- a/source/_components/climate.hive.markdown +++ b/source/_components/climate.hive.markdown @@ -14,15 +14,13 @@ ha_iot_class: "Cloud Polling" --- -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**. - +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**. 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 platform supports the following Hive products: - -- Hive Active Heating -- Hive Multizone -- Hot water control +The Hive climate component supports the following Hive products: +- **Hive Active Heating** +- **Hive Multizone** +- **Hot water control**

diff --git a/source/_components/climate.modbus.markdown b/source/_components/climate.modbus.markdown deleted file mode 100644 index eeb376ef8e..0000000000 --- a/source/_components/climate.modbus.markdown +++ /dev/null @@ -1,71 +0,0 @@ ---- -layout: page -title: "Modbus" -description: "Instructions how to integrate a Modbus thermostat within Home Assistant." -date: 2018-01-29 9:35 -sidebar: true -comments: false -sharing: true -footer: true -logo: modbus.png -ha_category: Thermostat -ha_release: 0.68 -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. - -## {% 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 %} -name: - description: Name of the device - required: true - type: string -slave: - description: The number of the slave (Optional for tcp and upd Modbus, use 1). - required: true - type: int -target_temp_register: - description: Register number for target temperature (Setpoint). - required: true - type: int -current_temp_register: - description: Register number for current temperature (Process value). - required: true - type: int -data_type: - description: Response representation (int, uint, float, custom). If float selected, value will converted to IEEE 754 floating point format. - required: false - type: string - default: float -count: - description: Number of registers to read. - required: false - type: int -precision: - description: Number of valid decimals. - required: false - type: int - default: 0 -{% endconfiguration %} - - -### {% linkable_title Services %} - -| Service | Description | -| ------- | ----------- | -| set_temperature | Set Temperature. Requires `value` to be passed in, which is the desired target temperature. `value` should be in the same type as `data_type` | diff --git a/source/_components/conversation.markdown b/source/_components/conversation.markdown index e9bb86aaab..d9dff87aa5 100644 --- a/source/_components/conversation.markdown +++ b/source/_components/conversation.markdown @@ -87,9 +87,3 @@ intent_script: - "{% if color == 'blue' %}255{% else %}0{% endif %}" {% endraw %} ``` - -#### {% linkable_title Service `conversation.process` %} - -| Service data attribute | Optional | Description | -|------------------------|----------|--------------------------------------------------| -| `text` | yes | Transcribed text | diff --git a/source/_components/cover.gogogate2.markdown b/source/_components/cover.gogogate2.markdown deleted file mode 100644 index a24ef1fd02..0000000000 --- a/source/_components/cover.gogogate2.markdown +++ /dev/null @@ -1,49 +0,0 @@ ---- -layout: page -title: "Gogogate2 Cover" -description: "Instructions on how to integrate Gogogate2-Enabled garage door covers into Home Assistant." -date: 2018-03-26 20:02 -sidebar: true -comments: false -sharing: true -footer: true -logo: gogogate2.png -ha_category: Cover -ha_release: 0.67 -ha_iot_class: Local Polling ---- - -The `gogogate2` cover platform lets you control Gogogate2-Enabled garage doors through Home Assistant. Device names in Home Assistant are generated based on the names defined in your Gogogate2 mobile app. - -## {% linkable_title Configuration %} - -To use your Gogogate2 cover in your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -cover: - - platform: gogogate2 - username: email@email.com - password: password - ip_address: 192.168.1.200 -``` - -{% configuration %} -username: - description: Your Gogogate2 account username. - required: true - type: string -password: - description: Your Gogogate2 account password. - required: true - type: string -ip_address: - description: The IP Address of your Gogogate2 device. - required: true - type: string -name: - description: Allows you to override the default name. - default: gogogate2 - required: false - type: string -{% endconfiguration %} diff --git a/source/_components/cover.mqtt.markdown b/source/_components/cover.mqtt.markdown index 81358f8776..8af2d728aa 100755 --- a/source/_components/cover.mqtt.markdown +++ b/source/_components/cover.mqtt.markdown @@ -15,8 +15,6 @@ 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`. @@ -166,7 +164,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.yaml entry +# Example configuration.yml entry cover: - platform: mqtt name: "MQTT Cover" @@ -190,9 +188,8 @@ cover: The example below shows a full configuration for a cover. -{% raw %} ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry cover: - platform: mqtt name: "MQTT Cover" @@ -209,7 +206,7 @@ cover: payload_available: "online" payload_not_available: "offline" optimistic: false - value_template: '{{ value.x }}' + value_template: '{% raw %}{{ value.x }}{% endraw %}' tilt_command_topic: 'home-assistant/cover/tilt' tilt_status_topic: 'home-assistant/cover/tilt-state' tilt_min: 0 @@ -217,7 +214,6 @@ 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: diff --git a/source/_components/cover.myq.markdown b/source/_components/cover.myq.markdown index 419e65ef7a..160b4f75f7 100644 --- a/source/_components/cover.myq.markdown +++ b/source/_components/cover.myq.markdown @@ -15,12 +15,10 @@ 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.yaml entry +# Example configuration.yml entry cover: - platform: myq username: YOUR_USERNAME diff --git a/source/_components/cover.wink.markdown b/source/_components/cover.wink.markdown index 8c82634187..8e81d8ac79 100644 --- a/source/_components/cover.wink.markdown +++ b/source/_components/cover.wink.markdown @@ -13,20 +13,24 @@ ha_release: 0.13 ha_iot_class: "Cloud Polling" --- -Wink Cover garage door functionality varies on the product. Home Assistant can open, close, and view state of GoControl/Linear openers. For Chamberlain MyQ-enabled openers, Home Assistant is limited to show current state (open or closed) only using this Wink cover. This restriction was imposed by Chamberlain for third party control. Wink suggests that MyQ customers should contact Chamberlain directly to inquire about expanding permissions. +Wink cover/garage door functionality depends on the product you're using. With GoControl/Linear Home Assistant can open, close, and view state. Chamberlain is currently limited to view only. Meaning Home Assistant will only show the current state of the door and control has been disabled (by Chamberlain). If you have a Chamberlain garage door, and would like to control it via Home Assistant, please contact Chamberlain and request that they re-enabled third-party control. -The [MyQ Cover](/components/cover.myq/) does provide full functionality for opening and closing Chamberlain MyQ-enabled garage doors. If installed along with the Wink Component, a duplicate garage door entity may exist. In that case, the semi-functional Wink garage door entity can be hidden via customize.yaml. +The following quote is from Wink. + +> As part of our agreement with Chamberlain, third-party access to control Chamberlain garage doors has been restricted. Please contact Chamberlain directly to inquire about permissions. The requirement is that you have setup [Wink](/components/wink/). + ### {% linkable_title Supported cover devices %} - Bali window treatments - Lutron shades - Pella motorized blinds and shades - GoControl garage door opener -- Chamberlain MyQ (Limited functionality) (No Wink hub required) +- Chamberlain (Limited functionality) (No Wink hub required)

The above devices are confirmed to work, but others may work as well.

+ diff --git a/source/_components/deconz.markdown b/source/_components/deconz.markdown index d1fde01521..ad79ab5225 100644 --- a/source/_components/deconz.markdown +++ b/source/_components/deconz.markdown @@ -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 `.config_entries.json` 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 `deconz.conf` inside the `.homeassistant` folder. You can add the following to your configuration.yaml file if you are not using the `discovery:` component: diff --git a/source/_components/device_tracker.asuswrt.markdown b/source/_components/device_tracker.asuswrt.markdown index 7889253ce9..4d809108e9 100644 --- a/source/_components/device_tracker.asuswrt.markdown +++ b/source/_components/device_tracker.asuswrt.markdown @@ -19,8 +19,6 @@ The `asuswrt` platform offers presence detection by looking at connected devices This platform is **NOT** available for [Microsoft Windows installations](http://pexpect.readthedocs.io/en/stable/overview.html#pexpect-on-windows).

-### {% linkable_title Configuration %} - To use an ASUSWRT router in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -31,44 +29,15 @@ device_tracker: username: YOUR_ADMIN_USERNAME ``` -{% configuration %} -host: - description: "The IP address of your router, eg. `192.168.1.1`." - required: true - type: string -username: - description: "The username of an user with administrative privileges, usually `admin`." - required: true - type: string -password: - description: "The password for your given admin account (use this if no SSH key is given)." - required: false - type: string -protocol: - description: "The protocol (`ssh` or `telnet`) to use." - required: false - type: string - default: ssh -port: - description: SSH port to use. - required: false - type: int - default: 22 -mode: - description: "The operating mode of the router (`router` or `ap`)." - required: false - type: string - default: router -ssh_key: - description: The path to your SSH private key file associated with your given admin account (instead of password). - required: false - type: string -require_ip: - description: If the router is in access point mode. - required: false - type: boolean - default: true -{% endconfiguration %} +Configuration variables: + +- **host** (*Required*): The IP address of your router, eg. `192.168.1.1`. +- **username** (*Required*: The username of an user with administrative privileges, usually `admin`. +- **password** (*Optional*): The password for your given admin account (use this if no SSH key is given). +- **protocol** (*Optional*): The protocol (`ssh` or `telnet`) to use. Defaults to `ssh`. +- **port** (*Optional*): SSH port to use. Defaults to `22`. +- **mode** (*Optional*): The operating mode of the router (`router` or `ap`). Defaults to `router`. +- **ssh_key** (*Optional*): The path to your SSH private key file associated with your given admin account (instead of password).

You need to [enable telnet](https://www.asus.com/support/faq/1005449/) on your router if you choose to use `protocol: telnet`. diff --git a/source/_components/device_tracker.bluetooth_tracker.markdown b/source/_components/device_tracker.bluetooth_tracker.markdown index 45bd09eae3..0a2a2d0632 100644 --- a/source/_components/device_tracker.bluetooth_tracker.markdown +++ b/source/_components/device_tracker.bluetooth_tracker.markdown @@ -27,14 +27,6 @@ device_tracker: - platform: bluetooth_tracker ``` -{% configuration %} -request_rssi: - description: Performs a request for the "Received signal strength indication" (RSSI) of each tracked device - required: false - type: boolean - default: False -{% endconfiguration %} - In some cases it can be that your device is not discovered. In that case let your phone scan for Bluetooth devices while you restart Home Assistant. Just hit `Scan` on your phone all the time until Home Assistant is fully restarted and the device should appear in `known_devices.yaml`. For additional configuration variables check the [Device tracker page](/components/device_tracker/). diff --git a/source/_components/device_tracker.bmw_connected_drive.markdown b/source/_components/device_tracker.bmw_connected_drive.markdown index 4f390c5fa3..d00d588b35 100644 --- a/source/_components/device_tracker.bmw_connected_drive.markdown +++ b/source/_components/device_tracker.bmw_connected_drive.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "BMW Connected Drive Device Tracker" -description: "Instructions on how to setup your BMW Connected Drive account with Home Assistant." +title: "BMW connected drive" +description: "Instructions on how to setup your BMW connected drive account with Home Assistant." date: 2018-01-10 23:00 sidebar: true comments: false diff --git a/source/_components/device_tracker.fritz.markdown b/source/_components/device_tracker.fritz.markdown index 3e4a745d99..66ed60a157 100644 --- a/source/_components/device_tracker.fritz.markdown +++ b/source/_components/device_tracker.fritz.markdown @@ -15,8 +15,6 @@ 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 %} -

It might be necessary to install additional packages: $ sudo apt-get install libxslt-dev libxml2-dev python3-lxml If you are working with the All-in-One installation, you may also need to execute also within your virtual environment the command pip install lxml; be patient this will take a while.

diff --git a/source/_components/device_tracker.google_maps.markdown b/source/_components/device_tracker.google_maps.markdown deleted file mode 100644 index d05c9e35d2..0000000000 --- a/source/_components/device_tracker.google_maps.markdown +++ /dev/null @@ -1,46 +0,0 @@ ---- -layout: page -title: "Google Maps Location Sharing" -description: "Instructions how to use Google Maps Location Sharing to track devices in Home Assistant." -date: 2017-02-12 10:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: google_maps.png -ha_release: 0.67 -ha_category: Presence Detection -ha_iot_class: "Cloud Polling" ---- - -The `google_maps` platform allows you to detect presence using the unofficial API of [Google Maps Location Sharing](https://myaccount.google.com/locationsharing). - -You first need to create an additional Google account and share your location with that account. This platform will use that account to fetch the location of your device(s). You have to setup sharing through the Google Maps app on your mobile phone. You can find more information [here](https://support.google.com/accounts?p=location_sharing). - -This platform will create a file named `google_maps_location_sharing.conf` where it caches your login session. - -

-Since this platform is using an unofficial API with the help of [locationsharinglib](https://github.com/costastf/locationsharinglib), Google seems to block access to your data the first time you've logged in with this component. -This issue can be fixed by logging in with your new account and approving your login on the [Device Activity](https://myaccount.google.com/device-activity) page. -

- -To integrate Google Maps Location Sharing in Home Assistant, add the following section to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -device_tracker: - - platform: google_maps - username: YOUR_USERNAME - password: YOUR_PASSWORD -``` - -{% configuration %} -username: - description: The email address for the Google account that has access to your shared location. - required: true - type: string -password: - description: The password for your given username. - required: true - type: string -{% endconfiguration %} diff --git a/source/_components/device_tracker.icloud.markdown b/source/_components/device_tracker.icloud.markdown index a57ba44d4b..f2f902bd30 100644 --- a/source/_components/device_tracker.icloud.markdown +++ b/source/_components/device_tracker.icloud.markdown @@ -33,11 +33,9 @@ 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.

-Low `max_interval` may cause battery drainage as it wakes up your device to get the current location. +This may cause battery drainage as it wakes up your device to get the current location.

@@ -50,7 +48,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. 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_update**: This service can be used to ask for an update of a certain iDevice. The `account_name` and `device_name` are optional. - **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. diff --git a/source/_components/device_tracker.markdown b/source/_components/device_tracker.markdown index b595407d13..a66d78b716 100644 --- a/source/_components/device_tracker.markdown +++ b/source/_components/device_tracker.markdown @@ -40,10 +40,6 @@ 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`) | -

- 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`). -

- The extended example from above would look like the following sample: ```yaml diff --git a/source/_components/device_tracker.meraki.markdown b/source/_components/device_tracker.meraki.markdown index cbe481d39e..a88aa1d713 100644 --- a/source/_components/device_tracker.meraki.markdown +++ b/source/_components/device_tracker.meraki.markdown @@ -11,21 +11,8 @@ 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. - -### {% 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 %} +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. After you configure access to the Meraki CMX API, add the following to your `configuration.yaml` file: @@ -37,13 +24,14 @@ 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 %} diff --git a/source/_components/device_tracker.netgear.markdown b/source/_components/device_tracker.netgear.markdown index 8bdcacc8cd..f8dace0e12 100644 --- a/source/_components/device_tracker.netgear.markdown +++ b/source/_components/device_tracker.netgear.markdown @@ -13,6 +13,7 @@ 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: @@ -28,18 +29,10 @@ device_tracker: Configuration variables: -- **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. +- **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). - **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) diff --git a/source/_components/device_tracker.owntracks_http.markdown b/source/_components/device_tracker.owntracks_http.markdown index 64df68dd04..a4aa847712 100644 --- a/source/_components/device_tracker.owntracks_http.markdown +++ b/source/_components/device_tracker.owntracks_http.markdown @@ -32,21 +32,5 @@ 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/). - -{% raw %} -```yaml -# Example configuration.yaml entry -sensor: - - platform: template - sensors: - pixel_battery: - friendly_name: Pixel of Paulus - unit_of_measurement: "%" - value_template: '{{ states.device_tracker.paulus_pixel.attributes.battery|int }}' - device_class: battery -``` -{% endraw %} diff --git a/source/_components/device_tracker.tplink.markdown b/source/_components/device_tracker.tplink.markdown index 29b70a143a..80e957a2ae 100644 --- a/source/_components/device_tracker.tplink.markdown +++ b/source/_components/device_tracker.tplink.markdown @@ -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;` or `document.getElementById("pcPassword").value;`, depending on your firmware version. +5. Type ```document.getElementById("login-password").value;```. 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. diff --git a/source/_components/device_tracker.unifi.markdown b/source/_components/device_tracker.unifi.markdown index e941066770..5ef8d4edc7 100644 --- a/source/_components/device_tracker.unifi.markdown +++ b/source/_components/device_tracker.unifi.markdown @@ -80,7 +80,7 @@ The Unifi controller allows you to create multiple users on it besides the main The Unifi controller can either be a dedicated hardware device (Unifi's cloud key), or as software any Linux system. If you run the the Unifi controller on the same operating system as Home Assistant there may be conflicts in ports if you have the MQTT component as well. -It is recommended that you run the Unifi controller in a dedicated virtual machine to avoid that situation. +It is recommended that you run the Unifi controller in a dedicate virtual machine to avoid that situation. ### {% linkable_title Troubleshooting and Time Synchronization %} diff --git a/source/_components/device_tracker.xiaomi_miio.markdown b/source/_components/device_tracker.xiaomi_miio.markdown deleted file mode 100644 index ae60404393..0000000000 --- a/source/_components/device_tracker.xiaomi_miio.markdown +++ /dev/null @@ -1,38 +0,0 @@ ---- -layout: page -title: "Xiaomi Mi WiFi Repeater 2" -description: "Instructions how to integrate your Xiaomi Mi WiFi Repeater 2 within Home Assistant." -date: 2018-04-01 21:06 -sidebar: true -comments: false -sharing: true -footer: true -logo: xiaomi.png -ha_category: Presence Detection -ha_version: 0.67 -ha_iot_class: "Local Polling" ---- - -The `xiaomi_miio` device tracker platform is observing your Xiaomi Mi WiFi Repeater 2 and reporting all associated WiFi clients. - -Please follow the instructions on [Retrieving the Access Token](/components/vacuum.xiaomi_miio/#retrieving-the-access-token) to get the API token. - -To add a Xiaomi Mi Air Quality Monitor to your installation, add the following to your `configuration.yaml` file: - -```yaml -device_tracker: - - platform: xiaomi_miio - host: 192.168.130.73 - token: YOUR_TOKEN -``` - -{% configuration %} -host: - description: The IP address of your miio device. - required: true - type: string -token: - description: The API token of your miio device. - required: true - type: string -{% endconfiguration %} diff --git a/source/_components/discoverable.markdown b/source/_components/discoverable.markdown index 12c170a1ee..49e9f82111 100644 --- a/source/_components/discoverable.markdown +++ b/source/_components/discoverable.markdown @@ -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.yaml entry +# Example configuration.yml entry discoverable: expose_password: yes ``` diff --git a/source/_components/discovery.markdown b/source/_components/discovery.markdown index f369ce67c1..61ea8046b9 100644 --- a/source/_components/discovery.markdown +++ b/source/_components/discovery.markdown @@ -23,7 +23,6 @@ Home Assistant can discover and automatically configure [zeroconf](https://en.wi * [DirecTV receivers](/components/media_player.directv/) * [Frontier Silicon internet radios](/components/media_player.frontier_silicon/) * [Google Cast](/components/media_player.cast/) - * [HomeKit](/components/homekit_controller/) * [IKEA Trådfri (Tradfri)](/components/tradfri/) * [Linn / Openhome](/components/media_player.openhome/) * [Logitech Harmony Hub](/components/remote.harmony/) @@ -51,8 +50,6 @@ discovery: ignore: - sonos - samsung_tv - enable: - - homekit ``` Configuration variables: @@ -88,12 +85,6 @@ Valid values for ignore are: * `yamaha`: Yamaha media player * `yeelight`: Yeelight Sunflower bulb -- **enable** (*Optional*): A list of platforms not enabled by default that `discovery` should discover. - -Valid values for enable are: - - * `homekit`: HomeKit accessories -

Home Assistant must be on the same network as the devices for uPnP discovery to work. If running Home Assistant in a [Docker container](/docs/installation/docker/) use switch `--net=host` to put it on the host's network. diff --git a/source/_components/doorbird.markdown b/source/_components/doorbird.markdown index 9db3c71d86..bda3a36a7a 100644 --- a/source/_components/doorbird.markdown +++ b/source/_components/doorbird.markdown @@ -20,10 +20,9 @@ To connect your device, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry doorbird: - host: DOORBIRD_IP_OR_HOSTNAME + host: IP_OR_HOSTNAME username: YOUR_USERNAME password: YOUR_PASSWORD - hass_url_override: HASS_IP ``` Configuration variables: @@ -32,77 +31,7 @@ Configuration variables: - **username** (*Required*): The username of a non-administrator user account on the device. - **password** (*Required*): The password for the user specified. - **doorbell_events** (*Optional*): Setting this to `true` this will register a callback URL with the device so that events can be published to the event bus when the doorbell rings. -- **hass_url_override** (*Optional*): If your DoorBird cannot connect to the machine running Home Assistant because you are using dynamic DNS or some other HTTP configuration (such as HTTPS), specify the LAN IP of the machine here to force a LAN connection.

Enabling `doorbell_events` will delete all other registered push notification services with the device every time Home Assistant starts. This will not affect notifications delivered by the DoorBird mobile app.

- -### Doorbell Sound Examples - -You can create an automation that triggers on event `doorbird_doorbell` to play a doorbell sound when the Doorbird button is pressed. This should work with any media player. - -#### Example using SONOS - -[`SONOS`](http://www.sonos.com) players have features allowing for "snapshotting" the current state of some or all players so those state(s) can be "restored" at a later time. This feature is perfect for implementing a doorbell sound (from Doorbird or any other Doorbell setup for that matter). The [`media_player.sonos`](/components/media_player.sonos/) platform includes the [`SONOS_SNAPSHOT`](/components/media_player.sonos/#service-sonos_snapshot) and [`SONOS_RESTORE`](/components/media_player.sonos/#service-sonos_restore) features. The result of not using these features is any currently playing songs or media will not continue playing after the doorbell sound has played and you will be left with the doorbell sound queued as the last played song. This setup allows for seamless ringing of the doorbell and all SONOS devices continuing nicely on as if nothing had happened. - -The example script below takes a snapshot of three SONOS players that are not currently grouped together, joins the three players in a group (so the sound plays at the same time on all players), plays the doorbell MP3 sound, unjoins the players from the group and finally restores the players to their original state. When the players are grouped they are controlled by refering to the `master`. - -Automation file: - -```yaml -- alias: Doorbird ring - trigger: - platform: event - event_type: doorbird_doorbell - action: - service: script.turn_on - entity_id: script.doorbell -``` - -Script file: - -```yaml -doorbell: - alias: Ring Doorbell - sequence: - - service: media_player.sonos_snapshot - data: - entity_id: - - media_player.kitchen - - media_player.master_bedroom - - media_player.study - - service: media_player.sonos_join - data: - master: media_player.study - entity_id: - - media_player.kitchen - - media_player.master_bedroom - - media_player.study - - service: media_player.play_media - data: - entity_id: media_player.study # the group master - media_content_id: http://10.1.1.10/sounds/doorbell.mp3 # this is on a NAS but could be HASS local - media_content_type: music - - service: media_player.volume_set - data: - entity_id: # can still control the volume of grouped players indivdually - - media_player.study - - media_player.kitchen - - media_player.master_bedrom - volume_level: 0.50 - - delay: - seconds: 4 # wait while the sound plays - - service: media_player.sonos_unjoin - data: - entity_id: - - media_player.kitchen - - media_player.master_bedroom - - media_player.study - - service: media_player.sonos_restore - data: - entity_id: - - media_player.kitchen - - media_player.master_bedroom - - media_player.study -``` diff --git a/source/_components/dyson.markdown b/source/_components/dyson.markdown index 7c0e1ca2f3..c090862421 100644 --- a/source/_components/dyson.markdown +++ b/source/_components/dyson.markdown @@ -26,9 +26,9 @@ dyson: password: YOUR_DYSON_PASSWORD language: YOUR_DYSON_ACCOUNT_LANGUGAGE devices: - - device_id: DEVICE_ID_1 # eg. Serial number: XXX-XX-XXXXXXXX + - device_id: DEVICE_ID_1 # eg: Pure Cool Link device device_ip: DEVICE_ID_1 - - device_id: DEVICE_ID_2 + - device_id: DEVICE_ID_2 # eg: Eye 360 robot vacuum device_ip: DEVICE_ID_2 ``` @@ -38,7 +38,7 @@ Configuration variables: - **password** (*Required*): Dyson account password. - **language** (*Required*): Dyson account language country code. Known working codes: `FR`, `NL`, `GB`, `AU`. But others codes should work. - **devices** (*Optional*): List of devices. - - **device_id** (*Required*): Device ID. The Serial Number of the device. Found in the mobiles applications device settings page. + - **device_id** (*Required*): Device ID. Available in the mobiles applications (*Settings* page). - **device_ip** (*Required*): Device IP address. `devices` list is optional but you'll have to provide them if discovery is not working (warnings in the logs and the devices are not available in Home Assistant web interface). diff --git a/source/_components/eufy.markdown b/source/_components/eufy.markdown deleted file mode 100644 index 60ec2a470d..0000000000 --- a/source/_components/eufy.markdown +++ /dev/null @@ -1,54 +0,0 @@ ---- -layout: page -title: "Eufy" -description: "Instructions on how to integrate Eufy devices into Home Assistant." -date: 2018-04-09 19:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: eufy.png -ha_category: Hub -ha_release: 0.68 ---- - -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: - -```yaml -# Example configuration.yaml entry -eufy: - username: testuser@domain - password: p4ssw0rd -``` - -where username and password are the ones configured in the EufyHome app. Alternately, Eufy devices that are not discoverable can be statically configured. - -```yaml -eufy: - devices: - - address: 192.168.1.10 - access_token: 1234567890abcdef - type: T1012 - name: Smart Light - - address: 192.168.1.11 - access_token: abcdef1234567890 - type: T1201 - name: Smart Switch -``` - -access_token can be obtained by running: - -``` -curl -H "Content-Type: application/json" -d '{"client_id":"eufyhome-app", "client_Secret":"GQCpr9dSp3uQpsOMgJ4xQ", "email":"USERNAME", "password":"PASSWORD"}' https://home-api.eufylife.com/v1/user/email/login | jq -``` - -replacing USERNAME and PASSWORD with the Eufy username and password. This will give an access_token. Then run: - -``` -curl -H token:TOKEN -H category:Home https://home-api.eufylife.com/v1/device/list/devices-and-groups | jq -``` - -replacing TOKEN with the access_token from the previous command. This will provide the local_code for each device. - diff --git a/source/_components/fan.mqtt.markdown b/source/_components/fan.mqtt.markdown index 45fa55d41b..94a02b1a9e 100644 --- a/source/_components/fan.mqtt.markdown +++ b/source/_components/fan.mqtt.markdown @@ -15,8 +15,6 @@ 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`). @@ -26,7 +24,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.yaml entry +# Example configuration.yml entry fan: - platform: mqtt command_topic: "bedroom_fan/on/set" @@ -157,7 +155,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.yaml entry +# Example configuration.yml entry fan: - platform: mqtt name: "Bedroom Fan" diff --git a/source/_components/fan.template.markdown b/source/_components/fan.template.markdown deleted file mode 100644 index 5ebd666594..0000000000 --- a/source/_components/fan.template.markdown +++ /dev/null @@ -1,96 +0,0 @@ ---- -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 %} diff --git a/source/_components/fan.xiaomi_miio.markdown b/source/_components/fan.xiaomi_miio.markdown index 8fc9da3211..82e95feddf 100644 --- a/source/_components/fan.xiaomi_miio.markdown +++ b/source/_components/fan.xiaomi_miio.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Xiaomi Air Purifier" -description: "Instructions on how to integrate your Xiaomi Air Purifier and Xiaomi Air Humidifier within Home Assistant." +description: "Instructions on how to integrate your Xiaomi Air Purifier within Home Assistant." date: 2017-10-13 12:35 sidebar: true comments: false @@ -13,161 +13,35 @@ ha_version: 0.57 ha_iot_class: "Local Polling" --- -The `xiaomi_miio` fan platform allows you to control the Xiaomi Air Purifier and Xiaomi Air Humidifier. +The `xiaomi_miio` fan platform allows you to control the Xiaomi Air Purifier 2, Air Purifier 2S and Air Purifier Pro. -## Features +Currently, the supported features are: -### Air Purifier 2 et al. - -* Power (on, off) +* On, Off * Operation modes (auto, silent, favorite, idle) * Buzzer (on, off) * Child lock (on, off) * LED (on, off), LED brightness (bright, dim, off) * Favorite Level (0...16) * Attributes - - model - - temperature - - humidity + - power - aqi + - average_aqi + - humidity + - temperature - mode - - filter_hours_used - - filter_life_remaining - favorite_level - - child_lock - led - - motor_speed - - average_aqi - - purify_volume - - learn_mode - - sleep_time - - sleep_mode_learn_count - - extra_features - - turbo_mode_supported - - auto_detect - - use_time - - button_pressed - - buzzer - led_brightness - - sleep_mode - -### Air Purifier Pro (zhimi.airpurifier.v6) - -* Power (on, off) -* Operation modes (auto, silent, favorite) -* Child lock (on, off) -* LED (on, off) -* Favorite Level (0...16) -* Attributes - - model - - temperature - - humidity - - aqi - - mode - - filter_hours_used + - buzzer + - child_lock + - purify_volume - filter_life_remaining - - favorite_level - - child_lock - - led - - motor_speed - - average_aqi - - purify_volume - - learn_mode - - sleep_time - - sleep_mode_learn_count - - extra_features - - turbo_mode_supported - - auto_detect - - use_time - - button_pressed - - filter_rfid_product_id - - filter_rfid_tag - - filter_type - - illuminance - - motor2_speed - - volume - -### Air Purifier V3 (zhimi.airpurifier.v3) - -* Power (on, off) -* Operation modes (auto, silent, favorite, idle, medium, high, strong) -* Child lock (on, off) -* LED (on, off) -* Attributes - - model - - aqi - - mode - - led - - buzzer - - child_lock - - illuminance - filter_hours_used - - filter_life_remaining - motor_speed - - average_aqi - - volume - - motor2_speed - - filter_rfid_product_id - - filter_rfid_tag - - filter_type - - purify_volume - - learn_mode - - sleep_time - - sleep_mode_learn_count - - extra_features - - auto_detect - - use_time - - button_pressed -### Air Humidifier (zhimi.humidifier.v1) -* On, Off -* Operation modes (silent, medium, high) -* Buzzer (on, off) -* Child lock (on, off) -* LED brightness (bright, dim, off) -* Target humidity (30, 40, 50, 60, 70, 80) -* Attributes - - model - - temperature - - humidity - - mode - - buzzer - - child_lock - - trans_level - - target_humidity - - led_brightness - - button_pressed - - use_time - - hardware_version - -### Air Humidifier CA (zhimi.humidifier.ca1) - -* On, Off -* Operation modes (silent, medium, high, auto) -* Buzzer (on, off) -* Child lock (on, off) -* LED brightness (bright, dim, off) -* Target humidity (30, 40, 50, 60, 70, 80) -* Dry mode (on, off) -* Attributes - - model - - temperature - - humidity - - mode - - buzzer - - child_lock - - trans_level - - target_humidity - - led_brightness - - button_pressed - - use_time - - hardware_version - - speed - - depth - - dry - -Please follow the instructions on [Retrieving the Access Token](/components/vacuum.xiaomi_miio/#retrieving-the-access-token) to get the API token to use in the `configuration.yaml` file. +Please follow the instructions on [Retrieving the Access Token](/components/vacuum.xiaomi_miio/#retrieving-the-access-token) to get the API token. To add a Xiaomi Air Purifier to your installation, add the following to your `configuration.yaml` file: @@ -193,10 +67,6 @@ name: required: false type: string default: Xiaomi Air Purifier -model: - description: The model of your device. - required: false - type: string {% endconfiguration %} ## {% linkable_title Platform Services %} @@ -210,37 +80,37 @@ Set the fan speed/operation mode. | `entity_id` | yes | Only act on a specific air purifier. Else targets all. | | `speed` | no | Fan speed. Valid values are 'Auto', 'Silent', 'Favorite' and 'Idle' | -### {% linkable_title Service `fan.xiaomi_miio_set_buzzer_on` %} (Air Purifier Pro excluded) +### {% linkable_title Service `fan.xiaomi_miio_set_buzzer_on` %} Turn the buzzer on. -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| Service data attribute | Optional | Description | +|---------------------------|----------|-------------------------------------------------------| +| `entity_id` | yes | Only act on a specific air purifier. Else targets all. | -### {% linkable_title Service `fan.xiaomi_miio_set_buzzer_off` %} (Air Purifier Pro excluded) +### {% linkable_title Service `fan.xiaomi_miio_set_buzzer_off` %} Turn the buzzer off. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | yes | Only act on a specific air purifier. Else targets all. | -### {% linkable_title Service `fan.xiaomi_miio_set_led_on` %} (Air Purifier only) +### {% linkable_title Service `fan.xiaomi_miio_set_led_on` %} Turn the led on. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | yes | Only act on a specific air purifier. Else targets all. | -### {% linkable_title Service `fan.xiaomi_miio_set_led_off` %} (Air Purifier only) +### {% linkable_title Service `fan.xiaomi_miio_set_led_off` %} Turn the led off. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | yes | Only act on a specific air purifier. Else targets all. | ### {% linkable_title Service `fan.xiaomi_miio_set_child_lock_on` %} @@ -248,7 +118,7 @@ Turn the child lock on. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | yes | Only act on a specific air purifier. Else targets all. | ### {% linkable_title Service `fan.xiaomi_miio_set_child_lock_off` %} @@ -256,105 +126,23 @@ Turn the child lock off. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | yes | Only act on a specific air purifier. Else targets all. | -### {% linkable_title Service `fan.xiaomi_miio_set_led_brightness` %} (Air Purifier Pro excluded) +### {% linkable_title Service `fan.xiaomi_miio_set_led_brightness` %} Set the led brightness. Supported values are 0 (Bright), 1 (Dim), 2 (Off). | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | yes | Only act on a specific air purifier. Else targets all. | | `brightness` | no | Brightness, between 0 and 2. | -### {% linkable_title Service `fan.xiaomi_miio_set_favorite_level` %} (Air Purifier only) +### {% linkable_title Service `fan.xiaomi_miio_set_favorite_level` %} Set the favorite level of the operation mode "favorite". | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | yes | Only act on a specific air purifier. Else targets all. | | `level` | no | Level, between 0 and 16. | -### {% linkable_title Service `fan.xiaomi_miio_set_auto_detect_on` %} (Air Purifier Pro only) - -Turn the auto detect on. - -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | - -### {% linkable_title Service `fan.xiaomi_miio_set_auto_detect_off` %} (Air Purifier Pro only) - -Turn the auto detect off. - -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | - -### {% linkable_title Service `fan.xiaomi_miio_set_learn_mode_on` %} (Air Purifier 2 only) - -Turn the learn mode on. - -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | - -### {% linkable_title Service `fan.xiaomi_miio_set_learn_mode_off` %} (Air Purifier 2 only) - -Turn the learn mode off. - -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | - -### {% linkable_title Service `fan.xiaomi_miio_set_volume` %} (Air Purifier Pro only) - -Set the sound volume. - -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | -| `volume` | no | Volume, between 0 and 100. | - -### {% linkable_title Service `fan.xiaomi_miio_reset_filter` %} (Air Purifier 2 only) - -Reset the filter lifetime and usage. - -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | - -### {% linkable_title Service `fan.xiaomi_miio_set_extra_features` %} (Air Purifier only) - -Set the extra features. - -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | -| `features` | no | Integer, known values are 0 and 1. | - -### {% linkable_title Service `fan.xiaomi_miio_set_target_humidity` %} (Air Humidifier only) - -Set the target humidity. - -| Service data attribute | Optional | Description | -|---------------------------|----------|-----------------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | -| `humidity` | no | Target humidity. Allowed values are 30, 40, 50, 60, 70 and 80 | - -### {% linkable_title Service `fan.xiaomi_miio_set_dry_on` %} (Air Humidifier CA only) - -Turn the dry mode on. - -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | - -### {% linkable_title Service `fan.xiaomi_miio_set_dry_off` %} (Air Humidifier CA only) - -Turn the dry mode off. - -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | diff --git a/source/_components/folder_watcher.markdown b/source/_components/folder_watcher.markdown deleted file mode 100644 index df9041ed35..0000000000 --- a/source/_components/folder_watcher.markdown +++ /dev/null @@ -1,81 +0,0 @@ ---- -layout: page -title: "Folder Watcher" -description: "Component for monitoring changes within the filesystem." -date: 2018-03-11 14:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: home-assistant.png -ha_category: System Monitor -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 within configured folders. The monitored `event_type` are: - -* `created` -* `deleted` -* `modified` -* `moved` - -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: - -{% raw %} -```yaml -folder_watcher: - - folder: /config -``` -{% endraw %} - -{% configuration %} -folder: - description: The folder path - required: true - type: string -patterns: - description: Pattern matching to apply - required: false - default: "*" - type: string -{% endconfiguration %} - -## Patterns - -Pattern matching using [fnmatch](https://docs.python.org/3.6/library/fnmatch.html) can be used to limit filesystem monitoring to only files which match the configured patterns. The following example shows the configuration required to only monitor filetypes `.yaml` and `.txt`. - -{% raw %} -```yaml -folder_watcher: - - folder: /config - patterns: - - '*.yaml' - - '*.txt' -``` -{% endraw %} - -## Automations - -Automations can be triggered on filesystem event data using a `data_template`. The following automation will send a notification with the name and folder of new files added to that folder: - -{% raw %} -```yaml -- action: - - data_template: - message: 'Created {{ trigger.event.data.file }} in {{ trigger.event.data.folder }}' - title: New image captured! - data: - file: " {{ trigger.event.data.path }} " - service: notify.pushbullet - alias: New file alert - condition: [] - id: '1520092824697' - trigger: - - event_data: {"event_type":"created"} - event_type: folder_watcher - platform: event -``` -{% endraw %} diff --git a/source/_components/freedns.markdown b/source/_components/freedns.markdown deleted file mode 100644 index 960d1411d9..0000000000 --- a/source/_components/freedns.markdown +++ /dev/null @@ -1,49 +0,0 @@ ---- -layout: page -title: "freedns.afraid.org" -description: "Keep your DNS record up to date with FreeDNS." -date: 2018-03-27 21:30 -sidebar: true -comments: false -sharing: true -footer: true -ha_category: Utility -ha_release: 0.67 ---- - -With the `freedns` component you can keep your [FreeDNS](https://freedns.afraid.org) record up to date. - -## {% linkable_title Configuration %} - -You need to determine your update URL or your access token. - -1. Head over to the [FreeDNS](https://freedns.afraid.org) website and login to your account. -2. Select the menu "Dynamic DNS" -3. You should now see your update candiates in a table at the bottom of the page. -4. Copy the link target of the "Direct URL". -5. The access token is the part at the end of the link: `https://freedns.afraid.org/dynamic/update.php?YOUR_UPDATE_TOKEN` -6. Either put the token as `access_token` _or_ the whole URL into the `url` attribute. - -To use the component in your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -freedns: - access_token: YOUR_TOKEN -``` - -{% configuration %} - access_token: - description: Your access token. This is exclusive to `url`. - required: false - type: string - url: - description: The full update URL. This is exclusive to `access_token`. - required: false - type: string - update_interval: - description: How often to call the update service. - required: false - type: time period - default: 10 minutes -{% endconfiguration %} diff --git a/source/_components/fritzbox.markdown b/source/_components/fritzbox.markdown deleted file mode 100644 index a5ca0a5f68..0000000000 --- a/source/_components/fritzbox.markdown +++ /dev/null @@ -1,55 +0,0 @@ ---- -layout: page -title: "Fritzbox" -description: "Instructions on how to integrate the AVM Fritzbox Smart Home components." -date: 2018-02-18 17:10 -sidebar: true -comments: false -sharing: true -footer: true -logo: avm.png -ha_category: Hub -ha_release: 0.68 -ha_iot_class: "Local Polling" ---- - -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://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 %} - -```yaml -# Example configuration.yaml entry -fritzbox: - devices: - - host: fritz.box - username: YOUR_USERNAME - password: YOUR_PASSWORD -``` - -{% 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 -{% endconfiguration %} diff --git a/source/_components/google_assistant.markdown b/source/_components/google_assistant.markdown index edd0b8ebb1..d1096fd88c 100644 --- a/source/_components/google_assistant.markdown +++ b/source/_components/google_assistant.markdown @@ -13,10 +13,6 @@ featured: true ha_release: 0.56 --- -

- Use [Home Assistant Cloud](/cloud/) to integrate with Google Assistant without any effort. -

- The `google_assistant` component allows you to control things via Google Assistant (on your mobile or tablet) or a Google Home device. The Google Assistant component requires a bit more setup than most due to the way Google requires Assistant Apps to be set up. @@ -25,8 +21,6 @@ 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.

-## {% linkable_title Configuration %} - To enable this, add the following lines to your `configuration.yaml` file: ```yaml @@ -108,7 +102,7 @@ entity_config: required: false type: list room: - description: Allows for associating this device to a Room in Google Assistant. + description: Allows for associating this device to a Room in Google Assistant. This is currently non-functional, but will be enabled in the near future. required: false type: string {% endconfiguration %} @@ -140,7 +134,7 @@ If you're not using Linux, you can use sites such as [this one](https://www.brow 1. Create a new project in the [developer console](https://console.actions.google.com/). a. Add/Import project b. Click on `BUILD` on the `Smart home` card - c. Type in your home assistant url: `https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant`, replace the `[YOUR HOME ASSISTANT URL:PORT]` with the domain / ip address and the port under which your Home Assistant is reachable. + c. Type in your home assistant url: `https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant`, replace the `[YOUR HOME ASSISTANT URL:PORT]` with the domain / ip address and the port under which your Home Assistant is reachable. d. Click `Done`. Then click on `Overview`, which will lead you to the app details screen. 2. You'll need to fill out most of the information on that page, but none of it really matters since you won't be addressing the App directly, only through the Smart Home functionality built into Google Assistant. 3. The final item on that page `Account linking` is required for your app to interact with Home Assistant. diff --git a/source/_components/hive.markdown b/source/_components/hive.markdown index 16f2a77ac4..fbe0d5b17f 100644 --- a/source/_components/hive.markdown +++ b/source/_components/hive.markdown @@ -14,13 +14,11 @@ ha_iot_class: "Cloud Polling" --- -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 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, add the following to your `configuration.yaml` file: +To add your Hive devices into your Home Assistant installation, using the default scan_interval, add the following to your 'configuration.yaml' file: ```yaml # Example configuration.yaml entry diff --git a/source/_components/homekit.markdown b/source/_components/homekit.markdown index 7ab434c890..079849af30 100644 --- a/source/_components/homekit.markdown +++ b/source/_components/homekit.markdown @@ -12,10 +12,10 @@ ha_release: 0.64 logo: apple-homekit.png --- -The `HomeKit` component allows you to forward entities from Home Assistant to Apple `HomeKit`, so they can be controlled from Apple's `Home` app and `Siri`. Please make sure that you have read the [considerations](#considerations) listed below to save you some trouble later. +The `HomeKit` component allows you to forward entities from Home Assistant to Apple `HomeKit`, so they could be controlled from Apple `Home` app and `Siri`. Please make sure that you have read the [considerations](#considerations) listed below to save you some trouble later.

- It might be necessary to install an additional package: + It might be necessary to install an additional package: `$ sudo apt-get install libavahi-compat-libdnssd-dev`

@@ -39,10 +39,6 @@ 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 @@ -81,9 +77,6 @@ The `HomeKit` component allows you to forward entities from Home Assistant to Ap default: '' {% endconfiguration %} -

- 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. -

## {% linkable_title Setup %} @@ -94,7 +87,7 @@ To enable the `HomeKit` component in Home Assistant, add the following to your c homekit: ``` -After Home Assistant has started, the entities specified by the filter are exposed to `HomeKit` if they are [supported](#supported-components). To add them: +After Home Assistant has started, the entities specified by the filter are exposed to `HomeKit` if the are [supported](#supported-components). To add them: 1. Open the Home Assistant frontend. A new card will display the `pin code`. 1. Open the `Home` app. 2. Choose `Add Accessory`, than select `Don't Have a Code or Can't Scan?` and enter the `pin code`. @@ -114,7 +107,7 @@ Currently this component uses the `entity_id` to generate a unique `accessory id ### {% linkable_title Persistence Storage %} -Unfortunately `HomeKit` doesn't support any kind of persistent storage - only the configuration for accessories that are added to the `Home Assistant Bridge` are kept. To avoid problems it is recommended to use an automation to always start `HomeKit` with at least the same entities setup. If for some reason some entities are not setup, their config will be deleted. (State unknown or similar will not cause any issues.) +Unfortunately `HomeKit` doesn't support any kind of persistence storage, only the configuration for accessories that are added to the `Home Assistant Bridge` are kept. To avoid problems it is recommended to use an automation to always start `HomeKit` with at least the same entities setup. If for some reason some entities are not setup, their config will be deleted. (State unknown or similar will not cause any issues.) A common situation might be if you decide to disable parts of the configuration for testing. Please make sure to disable `auto start` and `turn off` the `Start HomeKit` automation (if you have one). @@ -123,7 +116,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`. -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: +This can be automated using an `automation`. {% raw %} ```yaml @@ -141,8 +134,6 @@ 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 @@ -163,7 +154,7 @@ automation: ## {% linkable_title Configure Filter %} -By default no entity will be excluded. To limit which entities are being exposed to `HomeKit`, you can use the `filter` parameter. Keep in mind only [supported components](#supported-components) can be added. +By default no entity will be excluded. To limit which entities are being exposed to `HomeKit`, you can use the `filter` parameter. Keep in mind only [supported components](#supported-components) can be added. {% raw %} ```yaml @@ -193,7 +184,7 @@ Filters are applied as follows: - if both include and exclude domains specified, the exclude domains are ignored * Neither include or exclude domain specified - if entity is included, pass (as #2 above) - - if entity include and exclude, the entity exclude is ignored + - if entity include and exclude, the entity exclude is ignored ## {% linkable_title Supported Components %} @@ -203,20 +194,11 @@ The following components are currently supported: | Component | Type Name | Description | | --------- | --------- | ----------- | | alarm_control_panel | SecuritySystem | All security systems. | -| binary_sensor | Sensor | Support for `co2`, `door`, `garage_door`, `gas`, `moisture`, `motion`, `occupancy`, `opening`, `smoke` and `window` device classes. Defaults to the `occupancy` device class for everything else. | | climate | Thermostat | All climate devices. | -| cover | GarageDoorOpener | All covers that support `open` and `close` and have `garage` as their `device_class`. | | 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` 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` or `lx` as their `unit_of_measurement` or `illuminance` as their `device_class` | +| sensor | TemperatureSensor | All sensors that have `Celsius` and `Fahrenheit` as their `unit_of_measurement`. | +| sensor | HumiditySensor | All sensors that have `%` as their `unit_of_measurement` | | switch / remote / input_boolean / script | Switch | All represented as switches. | @@ -230,7 +212,6 @@ logger: default: warning logs: homeassistant.components.homekit: debug - pyhap: debug ``` 2. Reproduce the bug / problem you have encountered. 3. Stop Home Assistant and copy the log from the log file. That is necessary since some errors only get logged, when Home Assistant is being shutdown. diff --git a/source/_components/homekit_controller.markdown b/source/_components/homekit_controller.markdown deleted file mode 100644 index 910c07e036..0000000000 --- a/source/_components/homekit_controller.markdown +++ /dev/null @@ -1,36 +0,0 @@ ---- -layout: page -title: "HomeKit controller support" -description: "Instructions how to integrate your HomeKit devices within Home Assistant." -date: 2018-03-19 21:04 -sidebar: true -comments: false -sharing: true -footer: true -logo: apple-homekit.png -ha_category: Hub -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](/components/homekit/) component, which allows you to control Home Assistant devices via HomeKit. - -

- You may need additional packages to support the HomeKit Python module: - `$ sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev` -

- -There is currently support for the following device types within Home Assistant: - -- [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: - -```yaml -discovery: - enable: - - homekit -``` - -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. diff --git a/source/_components/http.markdown b/source/_components/http.markdown index 8fddcfd5d9..760f49af48 100644 --- a/source/_components/http.markdown +++ b/source/_components/http.markdown @@ -90,8 +90,18 @@ Please note, that sources from `trusted_networks` won't be banned automatically. ## {% linkable_title Hosting files %} -If you want to use Home Assistant to host or serve static files then create a directory called `www` under the configuration path (`/config` on Hass.io, `.homeassistant` elsewhere). The static files in `www/` can be accessed by the following URL `http://your.domain:8123/local/`, for example `audio.mp3` would be accessed as `http://your.domain:8123/local/audio.mp3`. +If you want to use Home Assistant to host or serve static files then create a directory called `www` under the configuration path (`/config` on Hass.io, `.homeassistant` elswhere). The static files in `www/` can be accessed by the following URL `http://your.domain:8123/local/`, for example `audio.mp3` would be accessed as `http://your.domain:8123/local/audio.mp3`.

If you've had to create the `www/` folder for the first time, you'll need to restart Home Assistant.

+ +## {% linkable_title Troubleshooting %} + +### {% linkable_title LetsEncrypt - not a file for dictionary value %} + +If you're getting the error message `Invalid config for [http]: not a file for dictionary value @ data['http']['ssl_certificate'].` then it's most likely down to a permissions problem. Some installs of certbot are too locked down, and the following will resolve this: + +```bash +$ sudo chmod a+x /etc/letsencrypt/live /etc/letsencrypt/keys /etc/letsencrypt/archive +``` diff --git a/source/_components/insteon_plm.markdown b/source/_components/insteon_plm.markdown index 9e15bb0f7d..58a1bad12c 100644 --- a/source/_components/insteon_plm.markdown +++ b/source/_components/insteon_plm.markdown @@ -63,52 +63,26 @@ 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]. 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]. 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]: 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 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. You can use the normal Home Assistant [device customization] section of your configuration to assign friendly names and special icons to your devices. This @@ -149,9 +123,7 @@ 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 @@ -162,3 +134,4 @@ light: - platform: insteon_plm address: 1a2b3c ``` + diff --git a/source/_components/ios.markdown b/source/_components/ios.markdown deleted file mode 100644 index 44ac2fa88e..0000000000 --- a/source/_components/ios.markdown +++ /dev/null @@ -1,17 +0,0 @@ ---- -layout: page -title: "iOS" -description: "Instructions on how to use the iOS companion app with Home Assistant." -date: 2018-04-06 08:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: apple.png -ha_category: Hub -featured: false -ha_release: 0.31 -ha_iot_class: depends ---- - -The `ios` component is the Home Assistant part for using the iOS companion app. For further details please check the [iOS section](/docs/ecosystem/ios/) in the documentation for further details. diff --git a/source/_components/juicenet.markdown b/source/_components/juicenet.markdown index 74cc2fdb89..5df8b274e6 100644 --- a/source/_components/juicenet.markdown +++ b/source/_components/juicenet.markdown @@ -15,12 +15,10 @@ 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.yaml entry +# Example configuration.yml entry juicenet: access_token: ACCESS_TOKEN ``` diff --git a/source/_components/light.eufy.markdown b/source/_components/light.eufy.markdown deleted file mode 100644 index d8596c0048..0000000000 --- a/source/_components/light.eufy.markdown +++ /dev/null @@ -1,19 +0,0 @@ ---- -layout: page -title: "Eufy Lights" -description: "Instructions on how to integrate Eufy LED lights into Home Assistant." -date: 2018-04-09 19:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: eufy.png -ha_category: Light -ha_iot_class: "Local Polling" -ha_release: 0.68 ---- - -The `eufy` platform allows you to control your [Eufy](http://www.eufylife.com) lights from within Home Assistant. - -They will be automatically discovered if the [Eufy](/components/eufy/) component is enabled. - diff --git a/source/_components/light.hive.markdown b/source/_components/light.hive.markdown index 44221f6371..78daeb5641 100644 --- a/source/_components/light.hive.markdown +++ b/source/_components/light.hive.markdown @@ -14,13 +14,12 @@ ha_iot_class: "Cloud Polling" --- -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 integrates your Hive lights into Home Assistant, enabling control of various settings, depending on the model light. -The platform supports the following Hive products: - -- Hive Active Light Dimmable -- Hive Active Light Cool to Warm White -- Hive Active Light Color Changing +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**

diff --git a/source/_components/light.homekit_controller.markdown b/source/_components/light.homekit_controller.markdown deleted file mode 100644 index f3f7243a10..0000000000 --- a/source/_components/light.homekit_controller.markdown +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: page -title: "HomeKit Light" -description: "Instructions how to setup HomeKit lights within Home Assistant." -date: 2017-03-19 21:08 -sidebar: true -comments: false -sharing: true -footer: true -logo: apple-homekit.png -ha_category: Light -ha_iot_class: "Local Polling" -ha_release: 0.68 ---- - -To get your HomeKit lights working with Home Assistant, follow the instructions for the general [HomeKit controller component](/components/homekit_controller/). diff --git a/source/_components/light.mochad.markdown b/source/_components/light.mochad.markdown index 9721e9d6c9..fdd288113f 100644 --- a/source/_components/light.mochad.markdown +++ b/source/_components/light.mochad.markdown @@ -11,14 +11,13 @@ 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.yaml entry +# Example configuration.yml entry light: - platform: mochad devices: diff --git a/source/_components/light.mqtt.markdown b/source/_components/light.mqtt.markdown index e92f859fb7..eae91d0553 100644 --- a/source/_components/light.mqtt.markdown +++ b/source/_components/light.mqtt.markdown @@ -14,8 +14,6 @@ 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`). @@ -23,7 +21,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.yaml entry +# Example configuration.yml entry light: - platform: mqtt command_topic: "office/rgb1/light/switch" @@ -196,7 +194,6 @@ payload_not_available: | RGB Color | ✔ | ✔ | ✔ | | Transitions | ✘ | ✔ | ✔ | | XY Color | ✔ | ✔ | ✘ | -| HS Color | ✘ | ✔ | ✘ | | White Value | ✔ | ✔ | ✔ | ## {% linkable_title Examples %} @@ -207,9 +204,8 @@ In this section you will find some real life examples of how to use this sensor. To enable a light with brightness and RGB support in your installation, add the following to your `configuration.yaml` file: -{% raw %} ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry light: - platform: mqtt name: "Office Light RGB" @@ -219,22 +215,21 @@ light: brightness_command_topic: "office/rgb1/brightness/set" rgb_state_topic: "office/rgb1/rgb/status" rgb_command_topic: "office/rgb1/rgb/set" - state_value_template: "{{ value_json.state }}" - brightness_value_template: "{{ value_json.brightness }}" - rgb_value_template: "{{ value_json.rgb | join(',') }}" + state_value_template: "{% raw %}{{ value_json.state }}{% endraw %}" + brightness_value_template: "{% raw %}{{ value_json.brightness }}{% endraw %}" + rgb_value_template: "{% raw %}{{ value_json.rgb | join(',') }}{% endraw %}" qos: 0 payload_on: "ON" payload_off: "OFF" optimistic: false ``` -{% endraw %} ### {% linkable_title Brightness and no RGB support %} To enable a light with brightness (no RGB version) in your installation, add the following to your `configuration.yaml` file: ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry light: - platform: mqtt name: "Office light" @@ -253,7 +248,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.yaml entry +# Example configuration.yml entry light: - platform: mqtt name: "Brightness light" @@ -265,6 +260,7 @@ light: on_command_type: 'brightness' ``` + ### {% linkable_title Implementations %} - A [basic example](https://github.com/mertenats/open-home-automation/tree/master/ha_mqtt_light) using a nodeMCU board (ESP8266) to control its built-in LED (on/off). diff --git a/source/_components/light.mqtt_json.markdown b/source/_components/light.mqtt_json.markdown index 6e70c8be89..6313b71e3d 100644 --- a/source/_components/light.mqtt_json.markdown +++ b/source/_components/light.mqtt_json.markdown @@ -23,12 +23,10 @@ This platform supports on/off, brightness, RGB colors, XY colors, color temperat "color_temp": 155, "color": { "r": 255, - "g": 180, - "b": 200, - "x": 0.406, - "y": 0.301, - "h": 344.0, - "s": 29.412 + "g": 255, + "b": 255, + "x": 0.123, + "y": 0.123 }, "effect": "colorloop", "state": "ON", @@ -128,11 +126,6 @@ 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 @@ -154,7 +147,7 @@ payload_not_available:

- 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. + XY and RGB can not be used at the same time. If both are provided, XY overrides RGB.

## {% linkable_title Comparison of light MQTT platforms %} @@ -168,7 +161,6 @@ payload_not_available: | RGB Color | ✔ | ✔ | ✔ | | Transitions | ✘ | ✔ | ✔ | | XY Color | ✔ | ✔ | ✘ | -| HS Color | ✘ | ✔ | ✘ | | White Value | ✔ | ✔ | ✔ | ## {% linkable_title Examples %} @@ -223,32 +215,7 @@ 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 - } } ``` @@ -261,5 +228,3 @@ Home Assistant expects the hue values to be in the range 0 to 360 and the satura - [MQTT JSON Light](https://github.com/mertenats/Open-Home-Automation/tree/master/ha_mqtt_rgbw_light_with_discovery) is another implementation for ESP8266 including [MQTT discovery](/docs/mqtt/discovery/). - [esphomelib](https://github.com/OttoWinter/esphomelib) is a library for ESP8266 and ESP32 boards that has many of Home Assistant's MQTT features (like [discovery](/docs/mqtt/discovery/)) pre-implemented and provides high-level abstractions for components such as lights or sensors. - -- [AiLight](https://github.com/stelgenhof/AiLight) is a custom firmware for the Ai-Thinker (and equivalent) RGBW WiFi light bulbs that has an ESP8266 onboard and controlled by the MY9291 LED driver. It implements the [MQTT JSON light](/components/light.mqtt_json/) platform and supports ON/OFF, RGBW colours, brightness, colour temperature, flashing and transitions. Also it includes [MQTT Auto Discovery](/docs/mqtt/discovery/)) and the MQTT Last Will and Testament is enabled as well. \ No newline at end of file diff --git a/source/_components/light.mqtt_template.markdown b/source/_components/light.mqtt_template.markdown index 11b4372672..d623971099 100644 --- a/source/_components/light.mqtt_template.markdown +++ b/source/_components/light.mqtt_template.markdown @@ -132,7 +132,6 @@ payload_not_available: | RGB Color | ✔ | ✔ | ✔ | | Transitions | ✘ | ✔ | ✔ | | XY Color | ✔ | ✔ | ✘ | -| HS Color | ✘ | ✔ | ✘ | | White Value | ✔ | ✔ | ✔ | ## {% linkable_title Examples %} diff --git a/source/_components/light.nanoleaf_aurora.markdown b/source/_components/light.nanoleaf_aurora.markdown deleted file mode 100644 index 4f066dc7b2..0000000000 --- a/source/_components/light.nanoleaf_aurora.markdown +++ /dev/null @@ -1,52 +0,0 @@ ---- -layout: page -title: "Nanoleaf Aurora Light Panel" -description: "Instructions how to integrate Nanoleaf Aurora Light Panels into Home Assistant." -date: 2018-01-04 20:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: nanoleaf_aurora_light.png -ha_category: Light -ha_iot_class: "Local Polling" -featured: false -ha_release: 0.67 ---- - -### {% linkable_title Configuration Sample %} - -To enable the Aurora lights, add the following lines to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -light: - - platform: nanoleaf_aurora - host: 192.168.1.10 - token: xxxxxxxxxxxxxxxxxxxxx -``` - -{% configuration %} -host: - description: IP address or host-name of the device, e.g., 192.168.1.10. - required: true - type: string -token: - description: The *auth* token that you get via *POST* to */api/v1/new* - required: true - type: string -name: - description: Name of the component, make this unique if you have multiple Light Panels - required: false - type: string - default: Aurora -{% endconfiguration %} - -### {% linkable_title Getting The Auth Token %} - -1. Make sure that your Nanoleaf Aurora Panel is fully patched (as of the time of writing the latest version was 2.2.0) -2. Hold down the *ON* button on the Panel for 5 seconds; the LED will start flashing -3. Issue a *POST* request to the API endpoint, e.g., via `$ curl -i -X POST http://192.168.1.155:16021/api/v1/new` -4. The output should include the auth token like *{"auth_token":"xxxxxxxxxxxxxxxxxxxxx"}*, copy the resulting token into your configuration - -If you get a 403 Forbidden message, you probably did not press the *ON* button long enough. The time-frame to get a valid token is only 30 seconds, so you have to be quick to issue the curl request. diff --git a/source/_components/light.yeelight.markdown b/source/_components/light.yeelight.markdown index 8ee047b47f..e3fc28821f 100644 --- a/source/_components/light.yeelight.markdown +++ b/source/_components/light.yeelight.markdown @@ -35,7 +35,7 @@ light: Configuration variables: -- **ip** (*Required*): IP(s) of your Wifi bulbs +- **ip** (*Required*): IP(s) of your wifi bulbs - **name** (*Optional*): A friendly name for the device. - **transition** (*Optional*, default 350): Smooth transitions over time (in ms). - **use_music_mode** (*Optional*, default False): Enable music mode. @@ -63,17 +63,3 @@ This component is tested to work with the following models. If you have a differ - **YLDD02YL**: Lightstrip (Color) - **MJCTD01YL**: Xiaomi Mijia Bedside Lamp - WIFI Version! - **MJTD01YL**: Xiaomi Mijia Smart LED Desk Lamp (autodiscovery isn't possible because the device doesn't support mDNS due to the small amount of RAM) -- **YLXD02YL**: Yeelight Ceiling Light 4 (Jiaoyue 650) -- **YLXD01YL**: Yeelight Smart LED Ceiling Light - Youth Version - - -## {% linkable_title Platform Services %} - -### {% linkable_title Service `light.yeelight_set_mode` %} - -Set a operation mode. - -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------------------------------------------| -| `entity_id` | yes | Only act on a specific yeelight. Else targets all. | -| `mode` | no | Operation mode. Valid values are 'last', 'normal', 'rgb', 'hsv', 'color_flow', 'moonlight'. | diff --git a/source/_components/lock.bmw_connected_drive.markdown b/source/_components/lock.bmw_connected_drive.markdown index 4c6c7a2edc..2a7f670812 100755 --- a/source/_components/lock.bmw_connected_drive.markdown +++ b/source/_components/lock.bmw_connected_drive.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "BMW Connected Drive Lock" -description: "Instructions on how to setup your BMW Connected Drive account with Home Assistant." +title: "BMW connected drive" +description: "Instructions on how to setup your BMW connected drive account with Home Assistant." date: 2018-02-22 23:00 sidebar: true comments: false @@ -15,6 +15,6 @@ ha_release: 0.66 The `bmw_connected_drive` platform allows you to import data on your BMW into Home Assistant. -The lock will be automatically configured if `bmw_connected_drive` component is configured. +The lock will be automatically configured if 'bmw_connected_drive' component is configured. -For more configuration information see the [`bmw_connected_drive` component](/components/bmw_connected_drive/) documentation. +For more configuration information see the [bmw_connected_drive component](/components/bmw_connected_drive/) documentation. diff --git a/source/_components/lock.homematic.markdown b/source/_components/lock.homematic.markdown index d536312e2e..cf51b17848 100644 --- a/source/_components/lock.homematic.markdown +++ b/source/_components/lock.homematic.markdown @@ -1,8 +1,8 @@ --- layout: page -title: "Homematic Lock (KeyMatic)" -description: "Instructions how to integrate Homematic locks (KeyMatic) within Home Assistant." -date: 2018-01-28 03:00 +title: "Homematic Lock" +description: "Instructions on how to integrate Homematic locks within Home Assistant." +date: 2016-06-28 08:30 sidebar: true comments: false sharing: true @@ -13,6 +13,7 @@ ha_release: 0.66 ha_iot_class: "Local Push" --- -The `homematic` lock platform lets you observe and control the state of the HomeMatic [Homematic](http://www.homematic.com/) KeyMatic lock through Home Assistant. -Devices will be configured automatically. Please refer to the [component](/components/homematic/) configuration on how to setup Homematic. +The `homematic` lock platform lets you control [Homematic](http://www.homematic.com/) locks through Home Assistant. + +Devices will be configured automatically. Please refer to the [component](/components/homematic/) configuration on how to setup Homematic. \ No newline at end of file diff --git a/source/_components/lock.mqtt.markdown b/source/_components/lock.mqtt.markdown index ff8eb05170..b0669cfb7f 100644 --- a/source/_components/lock.mqtt.markdown +++ b/source/_components/lock.mqtt.markdown @@ -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.yaml entry +# Example configuration.yml entry lock: - platform: mqtt command_topic: "home/frontdoor/set" diff --git a/source/_components/matrix.markdown b/source/_components/matrix.markdown deleted file mode 100644 index 1047d54053..0000000000 --- a/source/_components/matrix.markdown +++ /dev/null @@ -1,136 +0,0 @@ ---- -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: 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 " and answer with "Hello " into "#hasstest:matrix.org". diff --git a/source/_components/maxcube.markdown b/source/_components/maxcube.markdown index 7439d2d19f..c9645e9fc5 100644 --- a/source/_components/maxcube.markdown +++ b/source/_components/maxcube.markdown @@ -25,42 +25,13 @@ Supported Devices: - MAX! Window Sensor (tested) - MAX! Wall Thermostat (tested) -### {% linkable_title One Gateway %} - A `maxcube` section must be present in the `configuration.yaml` file and contain the following options as required: ```yaml # Example configuration.yaml entry maxcube: - gateways: - - host: 192.168.0.20 + host: 192.168.0.20 ``` - -### {% linkable_title Multiple Gateways %} - -```yaml -# Example configuration.yaml entry -maxcube: - gateways: - - host: 192.168.0.20 - port: 62910 - - host: 192.168.0.21 - port: 62910 -``` - -{% configuration %} - host: - description: The IP address of the eQ-3 MAX! Cube to use. - required: true - type: string - port: - description: The UDP port number. - required: false - type: int - default: 62910 - scan_interval: - description: The update interval in seconds - required: false - type: int - default: 300 -{% endconfiguration %} +Configuration variables: +- **host** (*Required*): The IP address of the eQ-3 MAX! Cube to use. +- **port** (*Optional*): The UDP port number. Defaults to `62910`. diff --git a/source/_components/media_player.blackbird.markdown b/source/_components/media_player.blackbird.markdown deleted file mode 100644 index 99873f1cc0..0000000000 --- a/source/_components/media_player.blackbird.markdown +++ /dev/null @@ -1,70 +0,0 @@ ---- -layout: page -title: "Blackbird 8x8 HDMI Matrix Switch" -description: "Instructions on how to integrate Monoprice Blackbird 4k 8x8 HDBaseT Matrix Switch into Home Assistant." -date: 2018-03-29 16:35 -sidebar: true -comments: false -sharing: true -footer: true -logo: monoprice.svg -ha_category: Media Player -ha_release: 0.68 -ha_iot_class: "Local Polling" ---- - -The `blackbird` platform allows you to control [Monoprice Blackbird Matrix Switch](https://www.monoprice.com/product?p_id=21819) using a serial connection. - -To add a Blackbird device to your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -media_player: - - platform: blackbird - type: serial - port: /dev/ttyUSB0 - zones: - 1: - name: Living Room - sources: - 3: - name: BluRay -``` - -{% configuration %} -type: - description: The type of device connection - serial or socket - required: true - type: string -port: - description: The serial port to which Blackbird matrix switch is connected. Either port or host must be defined. - required: optional - type: string -host: - description: The IP address of the Blackbird matrix switch. Either port or host must be defined. - required: optional - type: string -zones: - description: This is the list of zones available. Valid zones are 1,2,3,4,5,6,7,8. Each zone must have a name assigned to it. - required: true - type: int - keys: - name: - description: The name of the zone. -sources: - description: The list of sources available. Valid source numbers are 1,2,3,4,5,6,7,8. Each source number corresponds to the input number on the Blackbird matrix switch. Similar to zones, each source must have a name assigned to it. - required: true - type: int - keys: - name: - description: The name of the source. -{% endconfiguration%} - -### {% linkable_title Service `BLACKBIRD_SETALLZONES` %} - -Set all zones to the same input source. This service allows you to immediately synchronize all the TVs in your home. Regardless of `entity_id` provided, all zones will be updated. - -| Service data attribute | Optional | Description | -| ---------------------- | -------- | ----------- | -| `entity_id` | yes | String that points at an `entity_id` of a zone. -| `source` | no | String of source name to activate. diff --git a/source/_components/media_player.kodi.markdown b/source/_components/media_player.kodi.markdown index 83689d4c1a..a59d19fe34 100644 --- a/source/_components/media_player.kodi.markdown +++ b/source/_components/media_player.kodi.markdown @@ -17,9 +17,7 @@ ha_iot_class: "Local Push" The `kodi` platform allows you to control a [Kodi](http://kodi.tv/) multimedia system from Home Assistant. -The preferred way to set up the Kodi platform is by enabling the [discovery component](https://www.home-assistant.io/components/discovery/) which requires enabled [web interface](https://kodi.wiki/view/Web_interface) on your Kodi installation. - -In case the discovery does not work, or you need specific configuration variables, you can add the following to your `configuration.yaml` file: +To add Kodi to your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry diff --git a/source/_components/media_player.onkyo.markdown b/source/_components/media_player.onkyo.markdown index 19854cfe60..ca277f7706 100644 --- a/source/_components/media_player.onkyo.markdown +++ b/source/_components/media_player.onkyo.markdown @@ -16,8 +16,6 @@ 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 @@ -30,28 +28,11 @@ media_player: pc: 'HTPC' ``` -{% configuration %} -host: - description: IP address of the device. Example:`192.168.1.2`. If not specified, the platform will load any discovered receivers. - required: false - type: string -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 - type: list -zone2: - description: Enables control for the receiver's second zone. - required: false - type: bool -{% endconfiguration %} +Configuration variables: + +- **host** (*Optional*): IP address of the device. Example:`192.168.1.2`. If not specified, the platform will load any discovered receivers. +- **name** (*Required if host is specified*): Name of the device. +- **sources** (*Optional*): 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. List of source names: diff --git a/source/_components/media_player.samsungtv.markdown b/source/_components/media_player.samsungtv.markdown index d944b2b3a7..53954f6693 100644 --- a/source/_components/media_player.samsungtv.markdown +++ b/source/_components/media_player.samsungtv.markdown @@ -50,7 +50,6 @@ Currently known supported models: - EH5600 - F6400AF - F6400 -- F8000BF - D6505 - D6300SF - U6000 (port must be set to 8001) diff --git a/source/_components/media_player.volumio.markdown b/source/_components/media_player.volumio.markdown index 26053822e8..f8945adc88 100644 --- a/source/_components/media_player.volumio.markdown +++ b/source/_components/media_player.volumio.markdown @@ -12,11 +12,12 @@ 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/). -In case the discovery does not work, or you need specific configuration variables, you can add the following to your `configuration.yaml` file: +To add a Volumio player to your installation, add the following to +your `configuration.yaml` file. ```yaml # Example configuration.yaml entry diff --git a/source/_components/media_player.webostv.markdown b/source/_components/media_player.webostv.markdown index 1d634dcebc..707ef55a90 100644 --- a/source/_components/media_player.webostv.markdown +++ b/source/_components/media_player.webostv.markdown @@ -19,7 +19,7 @@ The `webostv` platform allows you to control a [LG](http://www.lg.com/) webOS Sm To begin with enable *LG Connect Apps* feature in *Network* settings of the TV [instructions](http://www.lg.com/uk/support/product-help/CT00008334-1437131798537-others). -Once basic configuration is added to your `configuration.yaml` *Configuration* card should prompt on your Home Assistants's states. Follow the instructions and accept pairing request on your TV. +Once basic configuration is added to your `configuration.yaml` *Configuration* card should prompt on your HA's States. Follow the instructions and accept pairing request on your TV. Pairing information will be saved to the `filename:` provided in configuration; this process is IP sensitive, in case the IP address of your TV would change in future. @@ -42,12 +42,10 @@ Configuration variables: - **timeout** (*Optional*): The timeout for connections to the TV in seconds. - **filename** (*Optional*): The filename where the pairing key with the TV should be stored. This path is relative to Home Assistant's config directory. It defaults to `webostv.conf`. - **customize** array (*Optional*): List of options to customize. - - **sources** array (*Optional*): List of hardware and webOS App inputs. + - ***sources** array (*Optional*): List of hardware and webOS App inputs. If you do not specify `host:`, all LG webOS Smart TVs within your network will be auto-discovered. -### {% linkable_title Example %} - A full configuration example will look like the sample below: ```yaml @@ -55,7 +53,7 @@ A full configuration example will look like the sample below: media_player: - platform: webostv host: 192.168.0.10 - name: Living Room TV + name: Living Room TV timeout: 5 filename: webostv.conf turn_on_action: @@ -69,15 +67,15 @@ media_player: - makotv - netflix ``` +** avoid using `[ ]` in the `name:` of your device. -Avoid using `[ ]` in the `name:` of your device. -### {% linkable_title Turn on action %} +*Turn On Action* Home Assistant is able to turn on a LG webOS Smart TV if you specify an action, like HDMI-CEC or WakeOnLan. -Common for webOS 3.0 and higher would be to use WakeOnLan feature. -To use this feature your TV should be connected to your network via Ethernet rather than Wireless and you should enable *LG Connect Apps* feature in *Network* settings of the TV [instructions](http://www.lg.com/uk/support/product-help/CT00008334-1437131798537-others) (or *Mobile App* in *General* settings for older models). +Common for webOS 3.0 and higher would be to use WakeOnLan feature. +To use this feature your TV should be connected to your network via Ethernet rather than Wireless and you should enable *LG Connect Apps* feature in *Network* settings of the TV [instructions](http://www.lg.com/uk/support/product-help/CT00008334-1437131798537-others) (or *Mobile App* in *General* settings for older models) (*may vary by version). ```yaml # Example configuration.yaml entry @@ -92,40 +90,9 @@ media_player: data: mac: B4:E6:2A:1E:11:0F ``` +Any other [actions](/docs/automation/action/) to power on the device can be configured. -Any other [actions](/docs/automation/action/) to power on the device can be configured. -### {% linkable_title Sources %} +*Sources* To obtain complete list of available sources currently configured on the TV, once the webOS TV is configured and linked, while its powered on head to the **Developer Tools** > **States**, find your `media_player.` and use the sources listed in `source_list:` remembering to split them per line into your `sources:` configuration. - -### {% linkable_title Change channel through play_media service %} - -The `play_media` service can be used in a script to switch to the specified tv channel. -It selects the best matching cannel according to the `media_content_id` parameter: - 1. Channel number *(i.e. '1' or '6')* - 2. Exact channel name *(i.e. 'France 2' or 'CNN')* - 3. Substring in channel name *(i.e. 'BFM' in 'BFM TV')* - -```yaml -# Example action entry in script to switch to channel number 1 -service: media_player.play_media -data: - entity_id: media_player.lg_webos_smart_tv - media_content_id: 1 - media_content_type: "channel" - -# Example action entry in script to switch to channel including 'TF1' in its name -service: media_player.play_media -data: - entity_id: media_player.lg_webos_smart_tv - media_content_id: "TF1" - media_content_type: "channel" -``` - -### {% linkable_title Next/Previous buttons %} - -The behaviour of the next and previsous buttons is different depending on the active source: - - - if the source is 'LiveTV' (television): next/previous buttons act as channel up/down - - otherwise: next/previsous buttons act as next/previous track diff --git a/source/_components/mercedesme.markdown b/source/_components/mercedesme.markdown index db5774c518..82f8679f45 100644 --- a/source/_components/mercedesme.markdown +++ b/source/_components/mercedesme.markdown @@ -23,5 +23,29 @@ This component provides the following platforms: - Device tracker: To track location of your car.

- The component was removed. The vendor disabled the API endpoint and a new API is not available currently. + The component can integrate cars from European and African markets only. +

+ +To use Mercedes me in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +mercedesme: + username: YOUR_E_MAIL_ADDRESS + password: YOUR_PASSWORD +``` + +{% configuration %} +username: + description: The email address associated with your Mercedes me account. + required: true + type: string +password: + description: The password for your given Mercedes me account. + required: true + type: string +{% endconfiguration %} + +

+The requirement `lxml` has to be [installed](http://lxml.de/installation.html) manually `pip install lxml` on some devices.

diff --git a/source/_components/mochad.markdown b/source/_components/mochad.markdown index bf0617cefb..df42020a21 100644 --- a/source/_components/mochad.markdown +++ b/source/_components/mochad.markdown @@ -13,8 +13,6 @@ 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 @@ -22,20 +20,10 @@ To integrate your Mochad units with Home Assistant, add the following section to mochad: ``` -{% 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 %} +Configuration variables: -## {% linkable_title Example %} +- **host** (*Optional*): The host that mochad is running on. Defaults to `localhost`. +- **port** (*Optional*): The port that mochad is running on. Defaults to `1099`. A full configuration sample could look like the one below: diff --git a/source/_components/modbus.markdown b/source/_components/modbus.markdown index dcccf0ede6..30a2b62382 100644 --- a/source/_components/modbus.markdown +++ b/source/_components/modbus.markdown @@ -16,8 +16,6 @@ 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: diff --git a/source/_components/mqtt.markdown b/source/_components/mqtt.markdown index 275cac866e..c3f4149342 100644 --- a/source/_components/mqtt.markdown +++ b/source/_components/mqtt.markdown @@ -33,10 +33,6 @@ mqtt: broker: IP_ADDRESS_BROKER ``` -

-The minimal setup uses the embedded MQTT broker, however a separate broker is advised for more stability. -

- ## {% linkable_title Additional features %} - [Certificate](/docs/mqtt/certificate/) diff --git a/source/_components/notify.clicksend.markdown b/source/_components/notify.clicksend.markdown index 8d619617b4..f334009e9a 100644 --- a/source/_components/notify.clicksend.markdown +++ b/source/_components/notify.clicksend.markdown @@ -15,12 +15,9 @@ ha_release: 0.48 The `clicksend` platform uses [ClickSend](https://clicksend.com) to deliver notifications from Home Assistant. -## {% linkable_title Prerequisites %} - +### Get your ClickSend API Credentials 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 @@ -31,14 +28,6 @@ notify: username: CLICKSEND_USERNAME api_key: CLICKSEND_API_KEY recipient: PHONE_NO - -# Multiple recipients -notify: - - platform: clicksend - name: ClickSend - username: CLICKSEND_USERNAME - api_key: CLICKSEND_API_KEY - recipient: [PHONE_NO1, PHONE_NO2] ``` {% configuration %} @@ -55,9 +44,9 @@ api_key: required: true type: string recipient: - description: "A single or multiple phone numbers. This is where you want to send your SMS notification messages, e.g., `09171234567` or `[09171234567, 09177654321]`." + description: "Your phone number. This is where you want to send your notification SMS messages, e.g., `09171234567`." required: true - type: string or list + type: string sender: description: The name or number of the sender. required: false diff --git a/source/_components/notify.facebook.markdown b/source/_components/notify.facebook.markdown index 5b4e497947..beb539c559 100644 --- a/source/_components/notify.facebook.markdown +++ b/source/_components/notify.facebook.markdown @@ -50,7 +50,7 @@ automation: - '+919784516314' ``` -You can also send messages to users that do not have stored their phone number on Facebook, but this requires a bit more work. The Messenger platform uses page-specific user IDs instead of a global user ID. You will need to enable a webhook for the "messages" event in Facebook's developer console. Once a user writes a message to a page, that webhook will then receive the user's page specific ID as part of the webhook's payload. Below is a simple PHP script that reacts to the message "get my id" and sends a reply containing the user's ID: +You can also send messages to users that do not have stored their phone number with Facebook, but this requires a bit more work. The Messenger platform uses page specific user IDs instead of a global user ID. You will need to enable a webhook for the "messages" event in Facebook's developer console. Once a user writes a message to a page, that webhook will then receive the user's page specific ID as part of the webhook's payload. Below is a simple PHP script that reacts to the message "get my id" and sends a reply containing the user's ID: ```php :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. diff --git a/source/_components/notify.pushover.markdown b/source/_components/notify.pushover.markdown index 7e7680db7e..df11cea4ea 100644 --- a/source/_components/notify.pushover.markdown +++ b/source/_components/notify.pushover.markdown @@ -15,9 +15,7 @@ ha_release: pre 0.7 The [Pushover service](https://pushover.net/) is a platform for the notify component. This allows components to send messages to the user using Pushover. -## {% linkable_title Configuration %} - -In order to get an API key you need to [register an application](https://pushover.net/apps/clone/home_assistant) on the Pushover website. Your Pushover user key can be found on the [Pushover dashboard](https://pushover.net/dashboard). +In order to get an API key you need to go to the [Pushover website](https://pushover.net) and register a new application. From the website you can also retrieve your user key. To use Pushover notifications, add the following to your `configuration.yaml` file: @@ -37,7 +35,6 @@ Configuration variables: - **user_key** (*Required*): Your user key for Pushover. Example Automation: - ```yaml - service: notify.entity_id data: @@ -48,16 +45,22 @@ Example Automation: sound: pianobar priority: 0 ``` - Component specific values in the nested `data` section are optional. +This is a quote from the Pushover website regarding free/open source apps: + +
+ If you are creating a client-side library, application, or open source project that will be redistributed and installed by end-users, you may want to require each of your users to register their own application rather than including your own API token with the software. +
+ +When setting up the application you can use this [icon](/images/favicon-192x192.png). + To use notifications, please see the [getting started with automation page](/getting-started/automation/). When sending a notification, optional parameters can also be set as per the pushover [API documentation](https://pushover.net/api). Example notification triggered from the Alexa component for an intents is shown below which also uses [Automation Templating](/getting-started/automation-templating/) for the message: -{% raw %} ```yaml # Example configuration.yaml entries alexa: @@ -66,7 +69,7 @@ alexa: action: service: notify.notify data_template: - message: "The location of {{ User }} has been queried via Alexa." + message: "The location of {% raw %}{{ User }}{% endraw %} has been queried via Alexa." data: title: "Home Assistant" data: @@ -74,4 +77,3 @@ alexa: device: pixel url: "https://www.home-assistant.io/" ``` -{% endraw %} diff --git a/source/_components/notify.rest.markdown b/source/_components/notify.rest.markdown index 4d1d83c581..c20e4bc2f5 100644 --- a/source/_components/notify.rest.markdown +++ b/source/_components/notify.rest.markdown @@ -30,7 +30,6 @@ 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`. - **resource** (*Required*): The resource or endpoint that will receive the value. - **method** (*Optional*): The method of the request. Default is GET. -- **headers** (*Optional*): The headers for the request. - **message_param_name** (*Optional*): Parameter name for the message. Defaults to `message`. - **title_param_name** (*Optional*): Parameter name for the title. Defaults to none. - **target_param_name** (*Optional*): Parameter name for the target. Defaults to none. diff --git a/source/_components/persistent_notification.markdown b/source/_components/persistent_notification.markdown index 9fac3ddc0c..6e84078f3d 100644 --- a/source/_components/persistent_notification.markdown +++ b/source/_components/persistent_notification.markdown @@ -55,26 +55,6 @@ action: notification_id: "1234" ``` - -### {% linkable_title Markdown support %} - -The message attribute supports the [Markdown formatting syntax](https://daringfireball.net/projects/markdown/syntax). Some examples are: - -| Type | Message | -| ---- | ------- | -| Headline 1 | `# Headline` | -| Headline 2 | `## Headline` | -| Newline | `\n` | -| Bold | `**My bold text**` | -| Cursive | `*My cursive text*` | -| Link | `[Link](https://home-assistant.io/)` | -| Image | `![image](/local/my_image.jpg)` | - -

- `/local/` in this context refers to the `.homeassistant/www/` folder. -

- - ### {% linkable_title Create a persistent notification %} Choose service developer tool icon **Services** from the **Developer Tools** to call the `persistent_notification` service. Select `persistent_notification/create` from the list of **Available services:** and enter something like the sample below into the **Service Data** field and hit **CALL SERVICE**. diff --git a/source/_components/pilight.markdown b/source/_components/pilight.markdown index 45e9832381..ab841bbe83 100644 --- a/source/_components/pilight.markdown +++ b/source/_components/pilight.markdown @@ -19,19 +19,19 @@ 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 # Example configuration.yaml entry pilight: + host: 127.0.0.1 + port: 5000 ``` Configuration variables: -- **host** (*Optional*): The IP address of the computer running the pilight-daemon, e.g., 192.168.1.32. -- **port** (*Optional*): The network port to connect to. The usual port is [5001](https://manual.pilight.org/development/api.html). +- **host** (*Required*): The IP address of the computer running the pilight-daemon, e.g., 192.168.1.32. +- **port** (*Required*): The network port to connect to. The usual port is [5000](https://manual.pilight.org/development/api.html). - **send_delay** (*Optional*): You can define a send delay as a fraction of seconds if you experience transmission problems when you try to switch multiple switches at once. This can happen when you use a [pilight USB Nano](https://github.com/pilight/pilight-usb-nano) as hardware and switches a whole group of multiple switches on or off. Tested values are between 0.3 and 0.8 seconds depending on the hardware. - **whitelist** (*Optional*): You can define a whitelist to prevent that too many unwanted RF codes (e.g., the neighbors weather station) are put on your HA event bus. All defined subsections have to be matched. A subsection is matched if one of the items are true. diff --git a/source/_components/qwikswitch.markdown b/source/_components/qwikswitch.markdown index e915be3979..cb4d6f3695 100644 --- a/source/_components/qwikswitch.markdown +++ b/source/_components/qwikswitch.markdown @@ -13,9 +13,12 @@ featured: false ha_release: "0.20" --- -The `qwikswitch` component is the main component to integrate various [QwikSwitch](http://www.qwikswitch.co.za/) devices with Home Assistant. The integration requires the QSUSB Modem device and connects to the QS Mobile application. -The `qwikswitch` component discovers all devices from QS Mobile. Currently, Relays and LED dimmers are discovered in Home Assistant. Relay devices are [lights](/components/light.qwikswitch/) by default, and can be configured as [switches](/components/switch.qwikswitch/). +The `qwikswitch` component is the main component to integrate various [QwikSwitch](http://www.qwikswitch.co.za/) devices with Home Assistant. + +Loading the `qwikswitch` component automatically adds all devices from the QS Mobile application. QS Mobile controls the QSUSB Modem device. + +Currently QwikSwitch relays and LED dimmers are supported (tested). QwikSwitch relay devices can be [switches](/components/switch.qwikswitch/) or [lights](/components/light.qwikswitch/) in Home-Assistant. If the device name in the QSUSB app ends with ` Switch` it will be created as a switch, otherwise as a light. Example configuration: @@ -28,67 +31,28 @@ qwikswitch: Configuration variables: - **url** (*Required*): The URL including the port of your QwikSwitch hub. -- **dimmer_adjust** (*Optional*): A decimal value to adjust the brightness of the dimmer exponentially. Increasing this value allows dimmers that reach full brightness with low values in QS Mobile to appear more linear in Home Assistant. Recommended values between 1 and 2 and the default is 1. -- **button_events** (*Optional*): A comma-separated list of button types that will generate events. See [QwikSwitch Events] for detail. -- **switches** (*Optional*): A list of device QS_id's that should be switches, and not lights (i.e. `['@0dev01', '@0dev02']`) -- **sensors** (*Optional*): A dictionary of sensors. In the format of {entity_id: QS_id}. (i.e. `{door_sensor: '@0dev03'}`) +- **dimmer_adjust** (*Optional*): A decimal value to adjust the brightness of the dimmer exponentially. Increasing this value allows dimmers that reaches full brightness with low values in QS Mobile to appear more linear in Home Assistant. Recommended values between 1 and 2 and the default is 1. +- **button_events** (*Optional*): A comma separated list of button types that will generate events. Details below. -### {% linkable_title QwikSwitch Events %} +### {% linkable_title QwikSwitch Buttons %} -QwikSwitch devices (i.e., transmitter buttons) will fire events on the Home Assistant bus. These events can then be used as triggers for any `automation` action, as follows: +QwikSwitch devices (i.e. transmitter buttons) will fire events on the Home Assistant bus. These events can then be used as triggers for any `automation` action, as follows: ```yaml automation: - - alias: Action - Respond to A button press + - alias: Action - Respond to button press trigger: platform: event event_type: qwikswitch.button.@12df34 ``` -`event_type` names should be in the format **qwikswitch.button.@_QS_id_**. where **@_QS_id_** will be captured in the Home Assistant log when pressing the button. Alternatively, you can also get the device ID from the QS Mobile application or by using the listen API call by browsing to `http://127.0.0.1:2020/&listen` and then pressing the button. - -The full packet from the QSUSB API will be passed as `data` +`event_type` names should be in the format **qwikswitch.button.@__ID__**. where **@__ID__** will be captured in the Home Assistant log when pressing the button. Alternatively, you can also get the device ID from the QS Mobile application or using the listen API call by browsing to `http://127.0.0.1:2020/&listen` and then pressing the button. By default events will be fired if the value in the command (cmd) field of the listen packet equals: - `TOGGLE` - Normal QwikSwitch Transmitter button - `SCENE EXE` - QwikSwitch Scene Transmitter buttons - `LEVEL` - QwikSwitch OFF Transmitter buttons -The list of recognized commands can be extended for Keyfobs, door sensors, and PIR transmitters with the **button_events** configuration option. **button_events** can be a list or comma separated list of additional commands that will fire Home Assistant events. By default, it is: TOGGLE,SCENE EXE,LEVEL. +The list of recognized commands can be extended for Keyfobs, door sensors, and PIR transmitters with the **button_events** configuration option. **button_events** contain a comma separated list of commands that will fire Home Assistant events. By default it is: TOGGLE,SCENE EXE,LEVEL. On some QS Mobile servers button events are only generated for switches added to the QS Mobile application, so it might be best to test button presses through the `/&listen` API - -### {% linkable_title Qwikswitch Sensors %} - -The sensor configuration is a list of sensors. Depending on the type, it will be a sensor or binary_sensor. Each sensor is configured with the following parameters: - -- **name** (*Required*): The sensor name from which the entity_id will be derived. -- **id** (*Required*): A QS_Id -- **type** (*Required*): The Qwikswitch sensor type. These could include: - - imod (binary_sensor, up to 6 channels) - - door (binary_sensor, single channel) - - qwikcord (Channel 1 = CTavg, Channel 2 = CTsum) -- **channel** (*Optional, default=1*): The channel of interest. Refer to type above. - -The following parameters are only applicabe to binary_sensors (i.e. door/imod). -- **invert** (*Optional, default=False): Invert the open/close state. -- **class** (*Optional, default=door): The [class](https://www.home-assistant.io/components/binary_sensor) or binary_sensor. - -Example sensor configuration: - -```yaml -qwikswitch: - ... - sensors: - - name: door sensor - id: "@id03" - type: door - - name: Imod 1 sensor - id: "@id02" - channel: 1 - type: imod - - name: Imod 2 sensor - id: "@id02" - channel: 2 - type: imod -``` diff --git a/source/_components/rainmachine.markdown b/source/_components/rainmachine.markdown deleted file mode 100644 index e416c7f626..0000000000 --- a/source/_components/rainmachine.markdown +++ /dev/null @@ -1,71 +0,0 @@ ---- -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 %} diff --git a/source/_components/remember_the_milk.markdown b/source/_components/remember_the_milk.markdown index 70abbed77e..62d7deab2a 100644 --- a/source/_components/remember_the_milk.markdown +++ b/source/_components/remember_the_milk.markdown @@ -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 Remember 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 Rember 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. diff --git a/source/_components/sensor.bmw_connected_drive.markdown b/source/_components/sensor.bmw_connected_drive.markdown index 083e5124a6..394fd2c31e 100644 --- a/source/_components/sensor.bmw_connected_drive.markdown +++ b/source/_components/sensor.bmw_connected_drive.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "BMW Connected Drive Sensor" -description: "Instructions on how to setup your BMW Connected Drive account with Home Assistant." +title: "BMW connected drive" +description: "Instructions on how to setup your BMW connected drive account with Home Assistant." date: 2018-01-10 23:00 sidebar: true comments: false diff --git a/source/_components/sensor.deconz.markdown b/source/_components/sensor.deconz.markdown index 46dad20c0e..6844c88d83 100644 --- a/source/_components/sensor.deconz.markdown +++ b/source/_components/sensor.deconz.markdown @@ -43,28 +43,3 @@ Entity ids will be sensor.device_name, where device_name is defined in deCONZ. S - Xiaomi Smart Home Wireless Switch - Temperature Sensor - Xiaomi Temperature/Humidity Sensor - -#### {% linkable_title deCONZ Daylight Sensor %} - -The deCONZ Daylight sensor is a special sensor built into the deCONZ software since version 2.05.12. It is represented in Home Assistant as a sensor called sensor.daylight. The sensor's state value is a string corresponding to the phase of daylight (descriptions below taken from https://github.com/mourner/suncalc, on which the deCONZ implementation is based): - -| Sensor State | Description | -|--------------|-------------| -| sunrise_start | sunrise (top edge of the sun appears on the horizon) | -| sunrise_end | sunrise ends (bottom edge of the sun touches the horizon) | -| golden_hour_1 | morning golden hour (soft light, the best time for photography) | -| solar_noon | solar noon (sun is in the highest position) | -| golden_hour_2 | evening golden hour | -| sunset_start | sunset starts (bottom edge of the sun touches the horizon) | -| sunset_end | sunset (sun disappears below the horizon, evening civil twilight starts) | -| dusk | dusk (evening nautical twilight starts) | -| nautical_dusk | nautical dusk (evening astronomical twilight starts) | -| night_start | night starts (dark enough for astronomical observations) | -| nadir | nadir (darkest moment of the night, the sun is in the lowest position) | -| night_end | night ends (morning astronomical twilight starts) | -| nautical_dawn | nautical dawn (morning nautical twilight starts) | -| dawn | dawn (morning nautical twilight ends, morning civil twilight starts) | - -The sensor also has an attribute called "daylight" that has the value `true` when the sensor's state is `golden_hour_1`, `solar_noon`, or `golden_hour_2`, and `false` otherwise. - -These states can be used in automations as a trigger (e.g., trigger when a certain phase of daylight starts or ends) or condition (e.g., trigger only if in a certain phase of daylight). diff --git a/source/_components/sensor.domain_expiry.markdown b/source/_components/sensor.domain_expiry.markdown deleted file mode 100644 index a70306909a..0000000000 --- a/source/_components/sensor.domain_expiry.markdown +++ /dev/null @@ -1,37 +0,0 @@ ---- -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 %} \ No newline at end of file diff --git a/source/_components/sensor.file.markdown b/source/_components/sensor.file.markdown index 8ae7216a7d..2b541830ad 100644 --- a/source/_components/sensor.file.markdown +++ b/source/_components/sensor.file.markdown @@ -14,7 +14,7 @@ ha_release: 0.45 --- -The `file` sensor platform reads the entries from a plain-text file and shows the found value. Only the last line of the file is used. This is similar to do `$ tail -n 1 sensor.txt` on the command-line. Note that file paths must be added to [whitelist_external_dirs](/docs/configuration/basic/). +The `file` sensor platform reads the entries from a plain-text file and shows the found value. Only the last line of the file is used. This is similar to do `$ tail -n 1 sensor.txt` on the command-line. To enable the `file` sensor, add the following lines to your `configuration.yaml`: diff --git a/source/_components/sensor.fritzbox_callmonitor.markdown b/source/_components/sensor.fritzbox_callmonitor.markdown index dd57677a9c..85643e2dff 100644 --- a/source/_components/sensor.fritzbox_callmonitor.markdown +++ b/source/_components/sensor.fritzbox_callmonitor.markdown @@ -14,11 +14,10 @@ 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: @@ -45,7 +44,7 @@ Configuration variables: The example below shows a full configuration for a call monitor with phone book support. ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry sensor: - platform: fritzbox_callmonitor name: Phone @@ -62,9 +61,8 @@ 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.yaml entry. +# Example configuration.yml entry. automation: - alias: "Notify about phone state" trigger: @@ -75,7 +73,7 @@ automation: data: title: "Phone" message: >- - {% if is_state("sensor.phone", "idle") %} + {% raw %}{% 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 }}) @@ -83,6 +81,5 @@ 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 %} + {% endif %}{% endraw %} ``` -{% endraw %} diff --git a/source/_components/sensor.gitter.markdown b/source/_components/sensor.gitter.markdown index 72f3c4b7dc..a114887f97 100644 --- a/source/_components/sensor.gitter.markdown +++ b/source/_components/sensor.gitter.markdown @@ -15,27 +15,19 @@ 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.yaml entry +# Example configuration.yml entry sensor: - platform: gitter api_key: YOUR_API_TOKEN ``` -{% 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 %} +Configuration variables: + +- **api_key** (*Required*): Your Gitter.im API token. +- **room** (*Optional*): Gitter room to monitor. Defaults to `home-assistant/home-assistant` + diff --git a/source/_components/sensor.hive.markdown b/source/_components/sensor.hive.markdown index 0d4d087516..3e7350e147 100644 --- a/source/_components/sensor.hive.markdown +++ b/source/_components/sensor.hive.markdown @@ -14,12 +14,8 @@ ha_iot_class: "Cloud Polling" --- -The `hive` sensor component exposes Hive data as a sensor. +The 'hive' sensor component can expose as a sensor the current online status of your Hive Hub. -The platform exposes the following sensors: - -- Hive Hub Online Status -- Hive Outside Temperature

Full configuration details can be found on the main [Hive component](/components/hive/) page. diff --git a/source/_components/sensor.markdown b/source/_components/sensor.markdown index 647f0e7ab0..57ee8300bb 100644 --- a/source/_components/sensor.markdown +++ b/source/_components/sensor.markdown @@ -9,21 +9,8 @@ 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. - -

- -Example of various device class icons for sensors. -

diff --git a/source/_components/sensor.mitemp_bt.markdown b/source/_components/sensor.mitemp_bt.markdown deleted file mode 100644 index 0cfaa72542..0000000000 --- a/source/_components/sensor.mitemp_bt.markdown +++ /dev/null @@ -1,93 +0,0 @@ ---- -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 -``` - diff --git a/source/_components/sensor.modbus.markdown b/source/_components/sensor.modbus.markdown index 5868888488..a94d711fda 100644 --- a/source/_components/sensor.modbus.markdown +++ b/source/_components/sensor.modbus.markdown @@ -16,12 +16,10 @@ 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.yaml entry +# Example configuration.yml entry sensor: platform: modbus registers: diff --git a/source/_components/sensor.mqtt.markdown b/source/_components/sensor.mqtt.markdown index 0b44200064..dc835ac9d7 100644 --- a/source/_components/sensor.mqtt.markdown +++ b/source/_components/sensor.mqtt.markdown @@ -16,12 +16,10 @@ 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.yaml entry +# Example configuration.yml entry sensor: - platform: mqtt state_topic: "home/bedroom/temperature" @@ -82,15 +80,6 @@ json_attributes: description: A list of keys to extract values from a JSON dictionary payload and then set as sensor attributes. reqired: false type: list, string -unique_id: - 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 %} @@ -99,17 +88,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](/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 %}. +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 %}. {% raw %} ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry sensor: - platform: mqtt - name: "BS RSSI" state_topic: "HUISHS/BunnyShed/NodeHealthJSON" - unit_of_measurement: 'dBm' - value_template: "{{ value_json.RSSI }}" + name: "BS RSSI" + unit_of_measurement: "dBm" + value_template: '{{ value_json.RSSI }}' availability_topic: "HUISHS/BunnyShed/status" payload_available: "online" payload_not_available: "offline" @@ -125,7 +114,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} @@ -135,13 +124,13 @@ Thus the trick is extracting the battery level from the payload. {% raw %} ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry sensor: - platform: mqtt - name: "Battery Tablet" state_topic: "owntracks/tablet/tablet" - unit_of_measurement: '%' - value_template: "{{ value_json.batt }}" + name: "Battery Tablet" + unit_of_measurement: "%" + value_template: '{{ value_json.batt }}' ``` {% endraw %} @@ -161,29 +150,24 @@ Then use this configuration example to extract the data from the payload: {% raw %} ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry sensor: - platform: mqtt - name: "Temperature" - state_topic: "office/sensor1" + state_topic: 'office/sensor1' + name: 'Temperature' unit_of_measurement: '°C' - value_template: "{{ value_json.temperature }}" + value_template: '{{ value_json.temperature }}' - platform: mqtt - name: "Humidity" - state_topic: "office/sensor1" + state_topic: 'office/sensor1' + name: 'Humidity' unit_of_measurement: '%' - value_template: "{{ value_json.humidity }}" + value_template: '{{ value_json.humidity }}' ``` {% endraw %} ### {% linkable_title Get sensor value from a device with ESPEasy %} -Assuming that you have flashed your ESP8266 unit with [ESPEasy](https://github.com/letscontrolit/ESPEasy). Under "Config" set a name ("Unit Name:") for your device (here it's "bathroom"). A "Controller" for MQTT with the protocol "OpenHAB MQTT" is present and the entries ("Controller Subscribe:" and "Controller Publish:") are adjusted to match your needs. In this example the topics are prefixed with "home". Please keep in mind that the ESPEasy default topics start with a `/` and only contain the name when writing your entry for the `configuration.yaml` file. - -- **Controller Subscribe**: `home/%sysname%/#` (instead of `/%sysname%/#`) -- **Controller Publish**: `home/%sysname%/%tskname%/%valname%` (instead of `/%sysname%/%tskname%/%valname%`) - -Also, add a sensor in the "Devices" tap with the name "analog" and "brightness" as value. +Assuming that you have flashed your ESP8266 unit with [ESPEasy](https://github.com/letscontrolit/ESPEasy). Under "Config" set a name ("Unit Name:") for your device (here it's "bathroom"). A "Controller" for MQTT with the protocol "OpenHAB MQTT" is present and the entries ("Controller Subscribe:" and "Controller Publish:") are adjusted to match your needs. In this example the topics are prefixed with "home". Also, add a sensor in the "Devices" tap with the name "analog" and "brightness" as value. As soon as the unit is online, you will get the state of the sensor. @@ -197,10 +181,12 @@ The configuration will look like the example below: {% raw %} ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry sensor: - platform: mqtt - name: "Brightness" - state_topic: "home/bathroom/analog/brightness" + state_topic: 'home/bathroom/analog/brightness' + name: Brightness ``` {% endraw %} + + diff --git a/source/_components/sensor.mqtt_room.markdown b/source/_components/sensor.mqtt_room.markdown index 96aaa9dc7d..598dafefb1 100644 --- a/source/_components/sensor.mqtt_room.markdown +++ b/source/_components/sensor.mqtt_room.markdown @@ -16,8 +16,6 @@ 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 diff --git a/source/_components/sensor.mvglive.markdown b/source/_components/sensor.mvglive.markdown index 7d613d8598..16ee5f4a5e 100644 --- a/source/_components/sensor.mvglive.markdown +++ b/source/_components/sensor.mvglive.markdown @@ -16,8 +16,6 @@ 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 @@ -44,7 +42,7 @@ Configuration variables: The example below shows a full configuration with three sensors that showcase the various configuration options. ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry sensor: - platform: mvglive nextdeparture: diff --git a/source/_components/sensor.openevse.markdown b/source/_components/sensor.openevse.markdown index e9df04e8da..04568f0459 100644 --- a/source/_components/sensor.openevse.markdown +++ b/source/_components/sensor.openevse.markdown @@ -16,12 +16,10 @@ 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.yaml entry +# Example configuration.yml entry sensor: - platform: openevse host: IP_ADDRESS diff --git a/source/_components/sensor.pilight.markdown b/source/_components/sensor.pilight.markdown index 2a33cc2a1d..cae336b6d8 100644 --- a/source/_components/sensor.pilight.markdown +++ b/source/_components/sensor.pilight.markdown @@ -16,12 +16,10 @@ 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.yaml entry +# Example configuration.yml entry sensor: - platform: pilight variable: temperature diff --git a/source/_components/sensor.postnl.markdown b/source/_components/sensor.postnl.markdown deleted file mode 100644 index 3087ce4b01..0000000000 --- a/source/_components/sensor.postnl.markdown +++ /dev/null @@ -1,47 +0,0 @@ ---- -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 %} - -

-This component is not affiliated with PostNL and retrieves date from the endpoints of the mobile application. Use at your own risk. -

diff --git a/source/_components/sensor.qnap.markdown b/source/_components/sensor.qnap.markdown index 3814f37bd0..66dd99404b 100644 --- a/source/_components/sensor.qnap.markdown +++ b/source/_components/sensor.qnap.markdown @@ -16,12 +16,10 @@ 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.yaml entry +# Example configuration.yml entry sensor: - platform: qnap host: IP_ADDRESS_OF_QNAP_NAS diff --git a/source/_components/sensor.qwikswitch.markdown b/source/_components/sensor.qwikswitch.markdown deleted file mode 100644 index afc4fc6cb4..0000000000 --- a/source/_components/sensor.qwikswitch.markdown +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: page -title: "QwikSwitch Sensor" -description: "Instructions on how to integrate Qwikswitch dimmers and relays as sensors into Home Assistant." -date: 2016-05-04 00:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: qwikswitch.png -ha_category: Sensor -ha_iot_class: "Local Push" -ha_release: "0.67" ---- - -The `qwikswitch` sensor platform allows you to use your [QwikSwitch](http://www.qwikswitch.co.za/) sensors in Home Assistant. - -The platform is configured through the [QwikSwitch component](/components/qwikswitch/). diff --git a/source/_components/sensor.radarr.markdown b/source/_components/sensor.radarr.markdown index 94a4665548..42294c8628 100644 --- a/source/_components/sensor.radarr.markdown +++ b/source/_components/sensor.radarr.markdown @@ -15,12 +15,10 @@ 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.yaml entry +# Example configuration.yml entry sensor: - platform: radarr api_key: YOUR_API_KEY diff --git a/source/_components/sensor.sabnzbd.markdown b/source/_components/sensor.sabnzbd.markdown index 27766435fd..840eb5cd08 100644 --- a/source/_components/sensor.sabnzbd.markdown +++ b/source/_components/sensor.sabnzbd.markdown @@ -68,7 +68,7 @@ Note that this will create the following sensors: - sensor.sabnzbd_left - sensor.sabnzbd_disk - sensor.sabnzbd_disk_free - - sensor.sabnzbd_queue_count + - sensor.sabnzdb_queue_count ``` As always, you can determine the names of sensors by looking at the dev-state page `< >` in the web interface. diff --git a/source/_components/sensor.sht31.markdown b/source/_components/sensor.sht31.markdown deleted file mode 100644 index 7adbfc2cee..0000000000 --- a/source/_components/sensor.sht31.markdown +++ /dev/null @@ -1,54 +0,0 @@ ---- -layout: page -title: "Sensirion SHT31 Sensor" -description: "Instructions on how to integrate SHT31 sensors within Home Assistant." -date: 2018-03-06 19:15 -sidebar: true -comments: false -sharing: true -footer: true -ha_category: DIY -ha_release: 0.68 -logo: sensirion.png -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 -# Example configuration.yaml entry -sensor: - platform: sht31 - name: Bedroom - i2c_address: 0x44 - monitored_conditions: - - temperature - - humidity -``` - -{% configuration %} - name: - description: The name of the sensor. Temperature and Humidity will be added to the name for the sensor name. - required: false - default: SHT31 - type: string - i2c_address: - description: I2C address of the sensor. - required: false - default: "`0x44`" - type: int - monitored_conditions: - description: Conditions to monitor. - required: false - default: All conditions - type: list - keys: - temperature: - description: The current temperature of the SHT31. - humidity: - description: The current humidity of the SHT31. -{% endconfiguration %} diff --git a/source/_components/sensor.sigfox.markdown b/source/_components/sensor.sigfox.markdown deleted file mode 100644 index f3f0bbb0ea..0000000000 --- a/source/_components/sensor.sigfox.markdown +++ /dev/null @@ -1,47 +0,0 @@ ---- -layout: page -title: "Sigfox Sensor" -description: "Display messages from Sigfox devices in Home Assistant." -date: 2018-04-07 12:10 -sidebar: true -comments: false -sharing: true -footer: true -logo: sigfox.png -ha_category: Sensor -ha_iot_class: "Local Polling" -ha_release: 0.68 ---- - -[SigFox](https://www.sigfox.com/en) component adding a sensor for each Sigfox device registered with your account. The default name of sensors is `sigfox_{DEVICE_ID}` where `DEVICE_ID` is the devices Sigfox ID. The state of an added Sigfox sensor is the payload of the last message published by that device. Additionally, there are attributes for the latitude and longitude coordinates of the device, as well as the signal-to-noise ratio ( [snr](https://en.wikipedia.org/wiki/Signal-to-noise_ratio)). - -```yaml -# Example configuration.yaml entry -sensor: - - platform: sigfox - api_login: your_api_login - api_password: your_api_password -``` - -{% configuration %} -api_login: - description: Your Sigfox API login. - required: true - type: string -api_password: - description: Your Sigfox API password. - required: true - type: string -name: - description: The name to prepend to the device ID. - required: false - default: "sigfox" - type: string -{% endconfiguration %} - -Note that `your_api_login` and `your_api_password` are your **API access credentials** which can be accessed by following: - -1. Log into [Sigfox backend](https://backend.sigfox.com) -1. Select `GROUP` -1. Select `API ACCESS` -1. Click on `new` and create new access entry diff --git a/source/_components/sensor.socialblade.markdown b/source/_components/sensor.socialblade.markdown deleted file mode 100644 index cf106c9133..0000000000 --- a/source/_components/sensor.socialblade.markdown +++ /dev/null @@ -1,37 +0,0 @@ ---- -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/). diff --git a/source/_components/sensor.sonarr.markdown b/source/_components/sensor.sonarr.markdown index 13a4944fea..0257c70b55 100644 --- a/source/_components/sensor.sonarr.markdown +++ b/source/_components/sensor.sonarr.markdown @@ -16,12 +16,10 @@ 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.yaml entry +# Example configuration.yml entry sensor: - platform: sonarr api_key: YOUR_API_KEY diff --git a/source/_components/sensor.sql.md b/source/_components/sensor.sql.md index e676ca9d43..28ec379788 100644 --- a/source/_components/sensor.sql.md +++ b/source/_components/sensor.sql.md @@ -37,7 +37,7 @@ sensor: db_url: description: The URL which points to your database. See [supported engines](/components/recorder/#custom-database-engines). required: false - default: "Defaults to the default recorder `db_url` (not the current `db_url` of recorder)." + default: Defaults to the recorder db_url. type: string queries: description: List of your queries. diff --git a/source/_components/sensor.synologydsm.markdown b/source/_components/sensor.synologydsm.markdown index 0b4b4ba197..d9f4dddf51 100644 --- a/source/_components/sensor.synologydsm.markdown +++ b/source/_components/sensor.synologydsm.markdown @@ -16,12 +16,10 @@ 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.yaml entry +# Example configuration.yml entry sensor: - platform: synologydsm host: IP_ADDRESS_OF_SYNOLOGY_NAS @@ -35,7 +33,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. diff --git a/source/_components/sensor.template.markdown b/source/_components/sensor.template.markdown index 8ef5a5dc44..9d1ec23a0c 100644 --- a/source/_components/sensor.template.markdown +++ b/source/_components/sensor.template.markdown @@ -69,11 +69,6 @@ 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 %} diff --git a/source/_components/sensor.thethingsnetwork.markdown b/source/_components/sensor.thethingsnetwork.markdown index faeb8b7e65..cce7aad569 100644 --- a/source/_components/sensor.thethingsnetwork.markdown +++ b/source/_components/sensor.thethingsnetwork.markdown @@ -17,8 +17,6 @@ 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. @@ -56,8 +54,6 @@ Select **Devices** to get the ID of your device that you want to use. Devices overview

-## {% linkable_title Configuration %} - To enable this platform, add the following lines to your `configuration.yaml`: ```yaml diff --git a/source/_components/sensor.tradfri.markdown b/source/_components/sensor.tradfri.markdown deleted file mode 100644 index fb78480fb1..0000000000 --- a/source/_components/sensor.tradfri.markdown +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: page -title: "IKEA Trådfri sensors" -description: "Access and control your ZigBee-based IKEA Trådfri (Tradfri) Sensors." -date: 2017-04-12 22.04 -sidebar: true -comments: false -sharing: true -footer: true -logo: ikea.svg -ha_category: Sensor -ha_iot_class: "Local Polling" -ha_release: 0.67 ---- - -For installation instructions, see [the Trådfri component](/components/tradfri/). diff --git a/source/_components/sensor.uscis.markdown b/source/_components/sensor.uscis.markdown deleted file mode 100644 index 3d214dc818..0000000000 --- a/source/_components/sensor.uscis.markdown +++ /dev/null @@ -1,39 +0,0 @@ ---- -layout: page -title: USCIS Sensor -description: "Instructions on how to set up USCIS within Home Assistant." -date: 2018-03-21 08:00 -sidebar: false -comments: false -sharing: true -footer: true -logo: uscis.png -ha_category: Sensor -ha_release: 0.68 -ha_iot_class: "Cloud Polling" ---- - -The `uscis` sensor component allows you get updates on your USCIS case using your case/receipt number. The sensor gets the case information from [USCIS Website]( https://egov.uscis.gov/casestatus/landing.do) - -## Example for `configuration.yaml` : - -```yaml -sensor: - - platform: uscis - case_id: YOUR_CASE_NUMBER - name: OPTIONAL_NAME -``` - -{% configuration %} -friendly_name: - description: Name of the sensor in Home Assistant. - required: false - default: USCIS - type: string -case_id: - description: Case/receipt number used to get the case details from USCIS web client. - required: true - type: string -{% endconfiguration %} - -All the data will be fetch from [USCIS](https://egov.uscis.gov/casestatus/mycasestatus.do). diff --git a/source/_components/sensor.waze_travel_time.markdown b/source/_components/sensor.waze_travel_time.markdown deleted file mode 100644 index db3e3f0418..0000000000 --- a/source/_components/sensor.waze_travel_time.markdown +++ /dev/null @@ -1,59 +0,0 @@ ---- -layout: page -title: "Waze Travel Time" -description: "Instructions on how to add Waze travel time to Home Assistant." -date: 2018-01-23 00:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: waze.png -ha_category: Transport -ha_iot_class: "Cloud Polling" -ha_release: 0.67 ---- - -The `waze_travel_time` sensor provides travel time from the [Waze](https://www.waze.com/). - -Unit system is set to metric system. - -## {% linkable_title Configuration %} - -To use this sensor in your installation, add the following `abode` section to your `configuration.yaml` file: - -```yaml -# Example entry for configuration.yaml -sensor: - - platform: waze_travel_time - origin: Montréal, QC - destination: Québec, QC - region: 'US' -``` - -{% configuration %} -origin: - description: Enter the starting address or the GPS coordinates of the location (GPS coordinates has to be separated by a comma). - required: true - type: string -destination: - description: Enter the destination address or the GPS coordinates of the location (GPS coordinates has to be separated by a comma). - required: true - type: string -region: - description: Choose one of the available regions from 'EU', 'US', 'NA' (equivalent to 'US') or 'IL'. - required: true - type: string -name: - description: A name to display on the sensor. - 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 %} diff --git a/source/_components/sensor.xiaomi_miio.markdown b/source/_components/sensor.xiaomi_miio.markdown index 65d1f3780f..3e30131fff 100644 --- a/source/_components/sensor.xiaomi_miio.markdown +++ b/source/_components/sensor.xiaomi_miio.markdown @@ -29,6 +29,7 @@ Please follow the instructions on [Retrieving the Access Token](/components/vacu To add a Xiaomi Mi Air Quality Monitor to your installation, add the following to your `configuration.yaml` file: ```yaml +sensor: # Example configuration.yaml entry sensor: - platform: xiaomi_miio diff --git a/source/_components/smappee.markdown b/source/_components/smappee.markdown index ce56987f72..5e35f4866f 100644 --- a/source/_components/smappee.markdown +++ b/source/_components/smappee.markdown @@ -12,42 +12,41 @@ ha_release: "0.64" ha_category: Hub --- -The `smappee` component adds support for the [Smappee](https://www.smappee.com/) controller for energy monitoring and Comport plug switches. +[Smappee](https://www.smappee.com/) controller for energy monitoring and Comport plug switches. Switches and Sensors are supported - and will be automatically added when you connect to the Smappee controller. -The smappee component gets information from [Smappee API](https://smappee.atlassian.net/wiki/display/DEVAPI/API+Methods). +The smappee component gets information from [Smappee API](https://smappee.atlassian.net/wiki/display/DEVAPI/API+Methods) using the [smappy](https://github.com/EnergieID/smappy) pypy module -## {% linkable_title Configuration %} - -Info on how to get API access is described in the [smappy wiki](https://github.com/EnergieID/smappy/wiki). - -To use the `smappee` component in your installation, add the following to your `configuration.yaml` file: +

+Info on how to get api access is described in the [smappy wiki](https://github.com/EnergieID/smappy/wiki) +

+# Configuration ```yaml # Example configuration.yaml entry smappee: - host: 10.0.0.5 - client_id: YOUR_CLIENT_ID - client_secret: YOUR_CLIENT_SECRET - username: YOUR_MYSMAPPEE_USERNAME - password: YOUR_MYSMAPPEE_PASSWORD + host: 10.0.0.5 + client_id: YOUR_CLIENT_ID + client_secret: YOUR_CLIENT_SECRET + username: YOUR_MYSMAPPEE_USERNAME + password: YOUR_MYSMAPPEE_PASSWORD ``` ```yaml # Minimal example configuration.yaml entry smappee: - host: 10.0.0.5 + host: 10.0.0.5 ``` ```yaml # Cloud only example configuration.yaml entry smappee: - client_id: YOUR_CLIENT_ID - client_secret: YOUR_CLIENT_SECRET - username: YOUR_MYSMAPPEE_USERNAME - password: YOUR_MYSMAPPEE_PASSWORD + client_id: YOUR_CLIENT_ID + client_secret: YOUR_CLIENT_SECRET + username: YOUR_MYSMAPPEE_USERNAME + password: YOUR_MYSMAPPEE_PASSWORD ``` Configuration variables: diff --git a/source/_components/snips.markdown b/source/_components/snips.markdown index e7086ac9dc..da7ed21417 100644 --- a/source/_components/snips.markdown +++ b/source/_components/snips.markdown @@ -2,7 +2,7 @@ layout: page title: "Snips" description: "Instructions on how to integrate Snips within Home Assistant." -date: 2018-05-02 12:00 +date: 2017-06-22 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://snips.gitbook.io/documentation/). +The latest documentation can be found here: [Snips Platform Documentation](https://github.com/snipsco/snips-platform-documentation/wiki). ![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/` 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. +As the Snips Platform parses this query into an intent, it will be published on MQTT, on the `hermes/intent/` 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. #### {% linkable_title Optional: specifying an external MQTT broker %} @@ -166,11 +166,11 @@ SetTimer: ``` {% endraw %} -### {% linkable_title Sending TTS Notifications %} +### 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,48 +188,19 @@ 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. | - -### {% 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 %} +#### Configuration Examples ```yaml -intent_script: +script: turn_on_light: - 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 + sequence: + service: script.turn_on_light + service: snips.say data: - entity_id: garage_door -``` + text: 'OK, the light is now on' -##### {% 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: - garage_door_has_been_open: + query_garage_door: trigger: - platform: state entity_id: binary_sensor.my_garage_door_sensor @@ -253,40 +224,3 @@ 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 %} - diff --git a/source/_components/switch.amcrest.markdown b/source/_components/switch.amcrest.markdown deleted file mode 100644 index d9ed4564b2..0000000000 --- a/source/_components/switch.amcrest.markdown +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: page -title: "Amcrest IP Camera Settings" -description: "Instructions on how to integrate settings for Amcrest IP Camera as switches within Home Assistant." -date: 2018-03-08 00:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: amcrest.png -ha_category: Switch -ha_release: 0.67 -ha_iot_class: "Local Polling" ---- - -The `amcrest` switch platform lets you control settings of [Amcrest IP Camera](https://home-assistant.io/components/camera.amcrest/) through Home Assistant. - -Switches will be configured automatically. Please refer to the [component](/components/amcrest/) configuration on how to setup. diff --git a/source/_components/switch.eufy.markdown b/source/_components/switch.eufy.markdown deleted file mode 100644 index 1a79dbd26b..0000000000 --- a/source/_components/switch.eufy.markdown +++ /dev/null @@ -1,19 +0,0 @@ ---- -layout: page -title: "Eufy Switch" -description: "Instructions on how to integrate Eufy switches into Home Assistant." -date: 2018-04-09 19:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: eufy.png -ha_category: Switch -ha_iot_class: "Local Polling" -ha_release: 0.68 ---- - -The `eufy` platform allows you to control your [Eufy](http://www.eufylife.com) switches from within Home Assistant. - -They will be automatically discovered if the [Eufy](/components/eufy/) component is enabled. - diff --git a/source/_components/switch.fritzbox.markdown b/source/_components/switch.fritzbox.markdown deleted file mode 100644 index 83657be0c8..0000000000 --- a/source/_components/switch.fritzbox.markdown +++ /dev/null @@ -1,31 +0,0 @@ ---- -layout: page -title: "Fritzbox Switch" -description: "Instructions on how to integrate the AVM Fritzbox switch." -date: 2017-11-12 17:10 -sidebar: true -comments: false -sharing: true -footer: true -logo: avm.png -ha_category: Switch -ha_release: 0.68 -ha_iot_class: "Local Polling" ---- - -

-To get AVM Fritzbox switch follow the instructions for the general [Fritzbox](/components/fritzbox/). -

- -### {% linkable_title Attributes %} - -The are several attributes that can be useful for automations and templates. - -| Attribute | Description | -| --------- | ----------- | -| `device_locked` | The state of the key lock at the device. -| `locked` | The state of the lock for configuring the device via the app or the Fritzbox web interface. -| `temperature_unit` | The unit of the temperature sensor (only available if the device support temperature sensor). -| `temperature` | The current temperature sensor reading (only available if the device supports temperature sensor). -| `total_consumption` | The total power consumption since the beginning of operation (only available if the device supports power meter function). -| `total_consumption_unit` | The unit of the total_consumption (only available if the device supports power meter function). diff --git a/source/_components/switch.fritzdect.markdown b/source/_components/switch.fritzdect.markdown index 380deebdaf..cceeffaef3 100644 --- a/source/_components/switch.fritzdect.markdown +++ b/source/_components/switch.fritzdect.markdown @@ -35,21 +35,11 @@ switch: password: YOUR_PASSWORD ``` -{% 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 %} +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`. It is recommended to create a dedicated user for Home Assistant and only allow access to "Smart Home". diff --git a/source/_components/switch.hive.markdown b/source/_components/switch.hive.markdown index e4ea483797..8f7d867722 100644 --- a/source/_components/switch.hive.markdown +++ b/source/_components/switch.hive.markdown @@ -14,11 +14,10 @@ ha_iot_class: "Cloud Polling" --- -The `hive` switch platform integrates your Hive plugs into Home Assistant, enabling control of your devices. +The 'hive' switch component integrates your Hive plugs into Home Assistant, enabling control of your devices. -The platform supports the following Hive products: - -- Hive Active Plug +The Hive switch component supports the following Hive products: +- **Hive Active Plug**

diff --git a/source/_components/switch.homekit_controller.markdown b/source/_components/switch.homekit_controller.markdown deleted file mode 100644 index 43bf3be57b..0000000000 --- a/source/_components/switch.homekit_controller.markdown +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: page -title: "HomeKit Switch" -description: "Instructions on how to setup HomeKit switches within Home Assistant." -date: 2017-03-19 21:08 -sidebar: true -comments: false -sharing: true -footer: true -logo: apple-homekit.png -ha_category: Light -ha_iot_class: "Local Polling" -ha_release: 0.68 ---- - -To get your HomeKit switches working with Home Assistant, follow the instructions for the general [HomeKit controller component](/components/homekit_controller/). diff --git a/source/_components/switch.mochad.markdown b/source/_components/switch.mochad.markdown index a1d7569ec1..5ffbdb3bf2 100644 --- a/source/_components/switch.mochad.markdown +++ b/source/_components/switch.mochad.markdown @@ -14,12 +14,10 @@ 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.yaml entry +# Example configuration.yml entry switch: - platform: mochad devices: @@ -33,5 +31,3 @@ 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. - - diff --git a/source/_components/switch.modbus.markdown b/source/_components/switch.modbus.markdown index 3bf176c125..201e7b5daa 100644 --- a/source/_components/switch.modbus.markdown +++ b/source/_components/switch.modbus.markdown @@ -16,12 +16,10 @@ 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.yaml entry +# Example configuration.yml entry switch: platform: modbus slave: 1 diff --git a/source/_components/switch.mqtt.markdown b/source/_components/switch.mqtt.markdown index 295ae106db..d440902e7e 100644 --- a/source/_components/switch.mqtt.markdown +++ b/source/_components/switch.mqtt.markdown @@ -15,8 +15,6 @@ 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`). @@ -26,7 +24,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.yaml entry +# Example configuration.yml entry switch: - platform: mqtt command_topic: "home/bedroom/switch1/set" @@ -108,7 +106,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.yaml entry +# Example configuration.yml entry switch: - platform: mqtt name: "Bedroom Switch" @@ -142,7 +140,7 @@ The configuration will look like the example below: {% raw %} ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry switch: - platform: mqtt name: bathroom diff --git a/source/_components/switch.pilight.markdown b/source/_components/switch.pilight.markdown index ca2c837986..ffeeb1a947 100644 --- a/source/_components/switch.pilight.markdown +++ b/source/_components/switch.pilight.markdown @@ -19,8 +19,6 @@ 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 diff --git a/source/_components/switch.rainbird.markdown b/source/_components/switch.rainbird.markdown index 673c4d1928..eee1d471b9 100644 --- a/source/_components/switch.rainbird.markdown +++ b/source/_components/switch.rainbird.markdown @@ -15,24 +15,20 @@ 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 switch: - - platform: rainbird - switches: - sprinkler_1: - zone: 1 - friendly_name: "Front sprinklers" - trigger_time: 10 - scan_interval: 10 - sprinkler_2: - friendly_name: "Back sprinklers" - zone: 2 - trigger_time: 20 - scan_interval: 10 + sprinkler_1: + zone: 1 + friendly_name: "Front sprinklers" + trigger_time: 20 + scan_interval: 10 + sprinkler_2: + friendly_name: "Back sprinklers" + zone: 2 + trigger_time: 20 + scan_interval: 10 ``` Configuration variables: diff --git a/source/_components/switch.raincloud.markdown b/source/_components/switch.raincloud.markdown index 2e2af72de8..e5cbc2d070 100644 --- a/source/_components/switch.raincloud.markdown +++ b/source/_components/switch.raincloud.markdown @@ -25,7 +25,7 @@ switch: Configuration variables: -- **watering_minutes** (*Optional*): Value in minutes to watering your garden via frontend. Defaults to 15. The values allowed are: 5, 10, 15, 30, 45, 60. +- **watering_minutes** (*Optional*): Value in minutes to watering your garden via frontend. Defaults to 15. - **monitored_conditions** array (*Optional*): Conditions to display in the frontend. If not specified, all conditions below will be enabled by default. The following conditions can be monitored. - **auto_watering**: Toggle the watering scheduled per zone. - **manual_watering**: Toggle manually the watering per zone. It will inherent the value in minutes specified on the RainCloud hub component. diff --git a/source/_components/switch.rainmachine.markdown b/source/_components/switch.rainmachine.markdown index f37ce0fbd5..26b73e0aa8 100644 --- a/source/_components/switch.rainmachine.markdown +++ b/source/_components/switch.rainmachine.markdown @@ -13,24 +13,84 @@ 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/). +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 %} -

-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. -

## {% linkable_title Controlling Your Device %} -After Home Assistant loads, new switches will be added for every enabled -program and zone. These work as expected: +After Home Assistant loads, you will see new switches 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. 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). +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//ui/" + icon: mdi:water-pump +``` + +You can find `` 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. diff --git a/source/_components/switch.rest.markdown b/source/_components/switch.rest.markdown index 65f0afcd3e..db7b6e6e98 100644 --- a/source/_components/switch.rest.markdown +++ b/source/_components/switch.rest.markdown @@ -15,8 +15,6 @@ 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 @@ -68,10 +66,6 @@ password: description: The password for accessing the REST endpoint. required: false type: string -headers: - description: The headers for the request. - required: false - type: list, string {% endconfiguration %}

@@ -88,17 +82,13 @@ This example shows a switch that uses a [template](/topics/templating/) to allow {"is_active": "true"} ``` -{% raw %} ```yaml switch: - platform: rest resource: http://IP_ADDRESS/led_endpoint body_on: '{"active": "true"}' body_off: '{"active": "false"}' - is_on_template: '{{ value_json.is_active }}' - headers: - Content-Type: application/json + is_on_template: '{% raw %}{{value_json.is_active}}{% endraw %}' ``` -{% endraw %} `body_on` and `body_off` can also depend on the state of the system. For example, to enable a remote temperature sensor tracking on a radio thermostat, one has to send the current value of the remote temperature sensor. This can be achieved by using the template `{% raw %}'{"rem_temp":{{states.sensor.bedroom_temp.state}}}'{% endraw %}`. diff --git a/source/_components/switch.tahoma.markdown b/source/_components/switch.tahoma.markdown deleted file mode 100644 index a7c3338fee..0000000000 --- a/source/_components/switch.tahoma.markdown +++ /dev/null @@ -1,17 +0,0 @@ ---- -layout: page -title: "Tahoma Switch" -description: "Instructions on how to integrate Tahoma switches into Home Assistant." -date: 2017-07-18 12:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: tahoma.png -ha_category: Sensor -ha_release: 0.59 ---- - -The `tahoma` switch platform lets you see switches added to your Tahoma Box in Home Assistant. - -Switches will be added automatically. Please refer to the [component](/components/tahoma/) configuration on how to setup Tahoma. diff --git a/source/_components/switch.telnet.markdown b/source/_components/switch.telnet.markdown index ef1345cd5b..858a0b21b6 100644 --- a/source/_components/switch.telnet.markdown +++ b/source/_components/switch.telnet.markdown @@ -39,6 +39,6 @@ Configuration variables: - **port** (*Optional*): Port to connect to. Default is 23 if not defined. - **command_on** (*Required*): Command to turn device on. - **command_off** (*Required*): Command to turn device off. - - **command_state** (*Optional*): Command to determine the state of the switch. If not defined the switch will assume successful state changes. - - **value_template** (*Optional*): The template evaluating to `true` will indicate that the switch is on. + - **command_state** (*Required*): Command to determine the state of the switch. If not defined the switch will assume successful state changes. + - **value_template** (*Required*): The template evaluating to `true` will indicate that the switch is on. - **name** (*Optional*): The name used to display the switch in the frontend. diff --git a/source/_components/switch.tesla.markdown b/source/_components/switch.tesla.markdown index 2ded4d7d10..a8c63ede4e 100644 --- a/source/_components/switch.tesla.markdown +++ b/source/_components/switch.tesla.markdown @@ -13,7 +13,7 @@ ha_iot_class: "Cloud Push" ha_release: 0.54 --- -The `Tesla` platform allows you to control your [Tesla](https://www.tesla.com/) charger (enable/disable charging, max range switch) from within Home Assistant. +The `Tesla` platform allows you to control your [Tesla](https://www.tesla.com/) charger (enable/disable charging) from within Home Assistant. The switch platform will be automatically configured if Tesla component is configured. diff --git a/source/_components/switch.vesync.markdown b/source/_components/switch.vesync.markdown index b02f476e93..d3b5971636 100644 --- a/source/_components/switch.vesync.markdown +++ b/source/_components/switch.vesync.markdown @@ -12,9 +12,7 @@ ha_category: Switch ha_release: 0.66 --- -The `vesync` switch platform enables integration with Etekcity VeSync smart switches. - -VeSync switches are low-cost wifi smart plugs that offer energy monitoring and work with popular voice assistants. +The `vesync` switch platform enabled integration with Etekcity VeSync smart switches. To use your VeSync switches, you must first register your switches with the VeSync app. Once registration is complete you must add the following to your `configuration.yaml` file: @@ -22,8 +20,8 @@ To use your VeSync switches, you must first register your switches with the VeSy # Example configuration.yaml entry switch: - platform: vesync - username: YOUR_USERNAME - password: YOUR_PASSWORD + username: username + password: password ``` {% configuration %} @@ -36,12 +34,3 @@ password: required: true type: string {% endconfiguration %} - -### {% linkable_title Exposed Attributes %} - -VeSync switches will expose the following details. - -| Attribute | Description | Example | -| ------------------- | ------------------------------------------------------------------- | --------------- | -| `current_power_w` | The present power consumption of the switch in watts. | 100 | -| `today_energy_kwh` | The kilowatt hours used by the switch during the previous 24 hours. | 0.12 | diff --git a/source/_components/switch.wake_on_lan.markdown b/source/_components/switch.wake_on_lan.markdown index 161cfcd1b5..f30f120134 100644 --- a/source/_components/switch.wake_on_lan.markdown +++ b/source/_components/switch.wake_on_lan.markdown @@ -15,8 +15,6 @@ 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 %} -

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. @@ -25,7 +23,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.yaml entry +# Example configuration.yml entry switch: - platform: wake_on_lan mac_address: "00-01-02-03-04-05" @@ -44,8 +42,7 @@ 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) diff --git a/source/_components/thethingsnetwork.markdown b/source/_components/thethingsnetwork.markdown index 328022f6cc..65211c241d 100644 --- a/source/_components/thethingsnetwork.markdown +++ b/source/_components/thethingsnetwork.markdown @@ -20,7 +20,7 @@ The Things network support various integrations to make the data available: | The Things Network Integration | Home Assistant platform | |---|---| | [MQTT](https://www.thethingsnetwork.org/docs/applications/mqtt/) | | -| [Storage](https://www.thethingsnetwork.org/docs/applications/storage/) | [`thethingsnetwork`](/components/sensor.thethingsnetwork/) | +| [Storage](https://www.thethingsnetwork.org/docs/applications/storage/) | [`thethingsnetwork`](/component/sensor.thethingsnetwork/) | | [HTTP](https://www.thethingsnetwork.org/docs/applications/http/) | | ### {% linkable_title Setup %} diff --git a/source/_components/timer.markdown b/source/_components/timer.markdown index eb6db877f3..9f28b2ec7a 100644 --- a/source/_components/timer.markdown +++ b/source/_components/timer.markdown @@ -107,29 +107,30 @@ timer: ```yaml # Example automations.yaml entry -- alias: Timerswitch - id: 'Timerstart' - # Timer is started when the switch pumprun is set to on. - trigger: - - platform: state - entity_id: switch.pumprun - to: 'on' - action: +- action: - service: timer.start entity_id: timer.test + alias: Timerswitch + id: 'Timerstart' + +# Timer is started when the switch pumprun is set to on. + trigger: + platform: state + entity_id: switch.pumprun + to: 'on' # When timer is stopped, the time run out, another message is sent -- alias: Timerstop - id: 'Timerstop' - trigger: - - platform: event - event_type: timer.finished - event_data: - entity_id: timer.test - action: +- action: - service: notify.nma data: message: "Timer stop" + alias: Timerstop + id: 'Timerstop' + trigger: + platform: event + event_type: timer.finished + event_data: + entity_id: timer.test ``` ### {% linkable_title Control a timer from the frontend %} diff --git a/source/_components/tts.amazon_polly.markdown b/source/_components/tts.amazon_polly.markdown index 8be1fdc0a5..267d0c52b4 100644 --- a/source/_components/tts.amazon_polly.markdown +++ b/source/_components/tts.amazon_polly.markdown @@ -15,8 +15,6 @@ 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 @@ -25,62 +23,33 @@ 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 %} -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 %} +Configuration variables: +| 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`. | +| `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. | -## {% linkable_title Usage %} - +## Usage Say to all `media_player` device entities: - ```yaml - service: tts.amazon_polly_say data_template: message: 'Hello from Amazon Polly' ``` - or - ```yaml - service: tts.amazon_polly_say data_template: diff --git a/source/_components/tts.markdown b/source/_components/tts.markdown index 5fc0d8de47..b1d1899135 100644 --- a/source/_components/tts.markdown +++ b/source/_components/tts.markdown @@ -88,33 +88,3 @@ data_template: ## {% linkable_title Cache %} The component has two caches. Both caches can be controlled with the `cache` option in the platform configuration or the service call `say`. A long time cache will be located on the file system. The in-memory cache for fast responses to media players will be auto-cleaned after a short period. - -## {% linkable_title REST Api %} - -#### {% linkable_title POST /api/tts_get_url %} - -Returns an URL to the generated TTS file. Platform and message are required. - -```json -{ - "plaform": "amazon_polly", - "message": "I am speaking now" -} -``` - -The return code is 200 if the file is generated. The message body will contain a JSON object with the URL. - -```json -{ - "url": "http://127.0.0.1:8123/api/tts_proxy/265944c108cbb00b2a621be5930513e03a0bb2cd_en_-_demo.mp3" -} -``` - -Sample `curl` command: - -```bash -$ curl -X POST -H "x-ha-access: YOUR_PASSWORD" \ - -H "Content-Type: application/json" \ - -d '{"message": "I am speaking now", "platform": "amazon_polly"}' \ - http://localhost:8123/api/tts_get_url -``` diff --git a/source/_components/vacuum.markdown b/source/_components/vacuum.markdown index c626a39934..8ec0a442ac 100644 --- a/source/_components/vacuum.markdown +++ b/source/_components/vacuum.markdown @@ -27,7 +27,7 @@ Available services: `turn_on`, `turn_off`, `start_pause`, `stop`, `return_to_hom Before calling one of these services, make sure your botvac platform supports it. -#### {% linkable_title Service `vacuum.turn_on` %} +#### {% linkable_title Service `vacuum/turn_on` %} Start a new cleaning task. @@ -35,7 +35,7 @@ Start a new cleaning task. |---------------------------|----------|-------------------------------------------------------| | `entity_id` | yes | Only act on specific botvac. Else targets all. | -#### {% linkable_title Service `vacuum.turn_off` %} +#### {% linkable_title Service `vacuum/turn_off` %} Stop the current cleaning task and return to the dock. @@ -43,7 +43,7 @@ Stop the current cleaning task and return to the dock. |---------------------------|----------|-------------------------------------------------------| | `entity_id` | yes | Only act on specific botvac. Else targets all. | -#### {% linkable_title Service `vacuum.start_pause` %} +#### {% linkable_title Service `vacuum/start_pause` %} Start, pause or resume a cleaning task. @@ -51,7 +51,7 @@ Start, pause or resume a cleaning task. |---------------------------|----------|-------------------------------------------------------| | `entity_id` | yes | Only act on specific botvac. Else targets all. | -#### {% linkable_title Service `vacuum.stop` %} +#### {% linkable_title Service `vacuum/stop` %} Stop the current activity of the botvac. @@ -59,7 +59,7 @@ Stop the current activity of the botvac. |---------------------------|----------|-------------------------------------------------------| | `entity_id` | yes | Only act on specific botvac. Else targets all. | -#### {% linkable_title Service `vacuum.return_to_home` %} +#### {% linkable_title Service `vacuum/return_to_home` %} Tell the botvac to return home. @@ -67,7 +67,7 @@ Tell the botvac to return home. |---------------------------|----------|-------------------------------------------------------| | `entity_id` | yes | Only act on specific botvac. Else targets all. | -#### {% linkable_title Service `vacuum.locate` %} +#### {% linkable_title Service `vacuum/locate` %} Locate the vacuum cleaner robot. @@ -75,7 +75,7 @@ Locate the vacuum cleaner robot. |---------------------------|----------|-------------------------------------------------------| | `entity_id` | yes | Only act on specific botvac. Else targets all. | -#### {% linkable_title Service `vacuum.clean_spot` %} +#### {% linkable_title Service `vacuum/clean_spot` %} Tell the vacuum cleaner to do a spot clean-up. @@ -83,7 +83,7 @@ Tell the vacuum cleaner to do a spot clean-up. |---------------------------|----------|-------------------------------------------------------| | `entity_id` | yes | Only act on specific botvac. Else targets all. | -#### {% linkable_title Service `vacuum.set_fanspeed` %} +#### {% linkable_title Service `vacuum/set_fanspeed` %} Set the fan speed of the botvac. The `fanspeed` can be a label, as `balanced` or `turbo`, or be a number; it depends on the `vacuum` platform. @@ -92,7 +92,7 @@ Set the fan speed of the botvac. The `fanspeed` can be a label, as `balanced` or | `entity_id` | yes | Only act on specific botvac. Else targets all. | | `fanspeed` | no | Platform dependent vacuum cleaner fan speed, with speed steps, like 'medium', or by percentage, between 0 and 100. | -#### {% linkable_title Service `vacuum.send_command` %} +#### {% linkable_title Service `vacuum/send_command` %} Send a platform-specific command to the vacuum cleaner. diff --git a/source/_components/vacuum.xiaomi_miio.markdown b/source/_components/vacuum.xiaomi_miio.markdown index 9fa8cbe3da..51fd5dd9c8 100644 --- a/source/_components/vacuum.xiaomi_miio.markdown +++ b/source/_components/vacuum.xiaomi_miio.markdown @@ -81,7 +81,7 @@ Remote control the robot. Please ensure you first set it in remote control mode | `entity_id` | yes | Only act on specific robot; default targets all | | `velocity` | no | Speed: between -0.29 and 0.29 | | `rotation` | no | Rotation: between -179 degrees and 179 degrees | -| `duration` | no | The number of milliseconds that the robot should move for | +| `duration` | no | The number of seconds that the robot should move for | ### {% linkable_title Service `vacuum.xiaomi_remote_control_move_step` %} @@ -92,7 +92,7 @@ Enter remote control mode, make one move, stop, and exit remote control mode. | `entity_id` | yes | Only act on specific robot; default targets all | | `velocity` | no | Speed: between -0.29 and 0.29. | | `rotation` | no | Rotation: between -179 degrees and 179 degrees. | -| `duration` | no | The number of milliseconds that the robot should move for | +| `duration` | no | The number of seconds that the robot should move for | ## {% linkable_title Attributes %} @@ -127,7 +127,7 @@ The following table shows the units of measurement for each attribute:

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, 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 +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 easily via a hidden menu item at the Mi-Home app or using the `miio` command line tool.

@@ -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 like "%Vacuum%";'` returns the token for your Xiaomi vacuum bot. +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. #### {% 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 LIKE "%Vacuum%"` +11. Input and run this query: `SELECT ZTOKEN FROM ZDEVICE WHERE ZNAME = "Mi Robot Vacuum"` 12. Copy the returned 32-digit hexadecimal string to your clipboard. 13. Open `Terminal` and execute this command: `echo '0: ' | xxd -r -p | openssl enc -d -aes-128-ecb -nopad -nosalt -K 00000000000000000000000000000000` 14. Use the resulting string as your token. diff --git a/source/_components/weather.bom.markdown b/source/_components/weather.bom.markdown index fe26c58337..3a9d64c81a 100644 --- a/source/_components/weather.bom.markdown +++ b/source/_components/weather.bom.markdown @@ -15,12 +15,9 @@ ha_iot_class: "Cloud Polling" The `bom` weather platform uses the [Australian Bureau of Meteorology (BOM)](http://www.bom.gov.au) as a source for current (half-hourly) meteorological data. -## {% linkable_title Configuration %} - To add the BOM weather platform to your installation, add the following to your `configuration.yaml` file: ```yaml -# Example configuration.yaml entry weather: - platform: bom ``` diff --git a/source/_components/weather.buienradar.markdown b/source/_components/weather.buienradar.markdown index 0b4ef3f0db..b2a42e7661 100644 --- a/source/_components/weather.buienradar.markdown +++ b/source/_components/weather.buienradar.markdown @@ -14,11 +14,8 @@ ha_iot_class: "Cloud Polling" --- The `buienradar` platform uses [buienradar.nl](http://buienradar.nl/) as a source for current meteorological data for your location. The weather forecast is delivered by Buienradar, who provides a web service that provides detailed weather information for users in The Netherlands. - The relevant weather station used will be automatically selected based on the location specified in the Home Assistant configuration (or in the Buienradar weather/sensor component). A map of all available weather stations can be found [here](https://www.google.com/maps/d/embed?mid=1NivHkTGQUOs0dwQTnTMZi8Uatj0). -## {% linkable_title Configuration %} - To add the Buienradar weather to your installation, add the following to your `configuration.yaml` file: ```yaml @@ -29,7 +26,7 @@ weather: Configuration variables: -- **name** (*Optional*): You can specify a name of the component, but do not have to. If you specify a name, the weather component will get an entity name of `weather.[name]`; if no name is specified, it will try to set its name to `weather.BR_[stationname]`. However at the moment in time, the entity is created, no data has been retrieved yet, so the entity will get named `weather.BR_unknown_station`. Later the station name will be known and get updated, but the entity name remains. +- **name** (*Optional*): You can specify a name of the component, but do not have to. If you specify a name, the weather component will get an entity name of 'weather.[name]'; if no name is specified, it will try to set its name to 'weather.BR_[stationname]'. However at the moment in time, the entity is created, no data has been retrieved yet, so the entity will get named 'weather.BR_unknown_station'. Later the station name will be known and get updated, but the entity name remains. - **latitude** (*Optional*): Latitude to use for selection of data source location. Longitude and latitude will be taken from Home Assistant configuration but can be overridden/changed in this component to select a different location for Buienradar. - **longitude**(*Optional*): Longitude to use for selection of data source location. Longitude and latitude will be taken from Home Assistant configuration but can be overridden/changed in this component to select a different location for Buienradar. - **forecast** (*Optional*): 'True' to add a temperature forecast, 'False' to suppress it. diff --git a/source/_components/weather.darksky.markdown b/source/_components/weather.darksky.markdown index 6a3b1ad138..1d7c843b35 100644 --- a/source/_components/weather.darksky.markdown +++ b/source/_components/weather.darksky.markdown @@ -14,14 +14,17 @@ ha_release: 0.61 ha_iot_class: "Cloud Polling" --- -The `darksky` platform uses the [Dark Sky](https://darksky.net/) web service as a source for meteorological data for your location. +The `darksky` platform uses the [Dark Sky](https://darksky.net/) web service as +a source for meteorological data for your location. -## {% linkable_title Configuration %} - -You need an API key which is free but requires [registration](https://darksky.net/dev/register). The free tier allows up to 1000 calls per day, this platform updates at most every 3 minutes, using up to 480 of those calls. +You need an API key which is free but requires +[registration](https://darksky.net/dev/register). The free tier allows up to +1000 calls per day, this platform updates at most every 3 minutes, using up to +480 of those calls.

-[Dark Sky](https://darksky.net/dev/) will charge you $0.0001 per API call if you enter your credit card details and create more than 1000 calls per day. +[Dark Sky](https://darksky.net/dev/) will charge you $0.0001 per API call if you +enter your credit card details and create more than 1000 calls per day.

To add Dark Sky to your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/weather.markdown b/source/_components/weather.markdown index c256cae2a8..7babb6f8e9 100644 --- a/source/_components/weather.markdown +++ b/source/_components/weather.markdown @@ -13,22 +13,4 @@ The `weather` platforms are gathering meteorological information from web servic Home Assistant currently supports free web services and such which require a registration. Please check the sidebar for a full list of supported `weather` platforms. -## {% linkable_title Condition mapping %} - -The `weather` platform only knows the below listed conditions. The reason for this is that for these conditions is an icon from [Material Design Icons](https://materialdesignicons.com/) available and mapped in the [frontend](https://github.com/home-assistant/home-assistant-polymer/blob/master/src/cards/ha-weather-card.html#L77). - -- 'cloudy' -- 'fog' -- 'hail' -- 'lightning' -- 'lightning-rainy' -- 'partlycloudy' -- 'pouring' -- 'rainy' -- 'snowy' -- 'snowy-rainy' -- 'sunny' -- 'windy' -- 'windy-variant' -- 'exceptional': diff --git a/source/_components/weather.metoffice.markdown b/source/_components/weather.metoffice.markdown index df624d2a9c..5875121806 100644 --- a/source/_components/weather.metoffice.markdown +++ b/source/_components/weather.metoffice.markdown @@ -15,12 +15,9 @@ ha_iot_class: "Cloud Polling" The `metoffice` weather platform uses the Met Office's [DataPoint API][datapoint] for weather data. -## {% linkable_title Configuration %} - To add the Met Office weather platform to your installation, you'll need to register for a free API key at the link above and then add the following to your `configuration.yaml` file: ```yaml -# Example configuration.yaml entry weather: - platform: metoffice api_key: YOUR_API_KEY diff --git a/source/_components/weather.openweathermap.markdown b/source/_components/weather.openweathermap.markdown index 53f7e9a348..0bb8d2bf9e 100644 --- a/source/_components/weather.openweathermap.markdown +++ b/source/_components/weather.openweathermap.markdown @@ -15,8 +15,6 @@ ha_iot_class: "Cloud Polling" The `openweathermap` weather platform uses [OpenWeatherMap](http://openweathermap.org/) as a source for current meteorological data for your location. -## {% linkable_title Configuration %} - You need an API key which is free but requires a [registration](http://home.openweathermap.org/users/sign_up). To add OpenWeatherMap to your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/weather.yweather.markdown b/source/_components/weather.yweather.markdown index 27bbda8214..af311a0030 100644 --- a/source/_components/weather.yweather.markdown +++ b/source/_components/weather.yweather.markdown @@ -19,8 +19,6 @@ The `yweather` platform uses [Yahoo Weather](https://www.yahoo.com/news/weather/ Use of the Yahoo Weather API should not exceed reasonable request volume. Access is limited to 2000 signed calls per day.

-## {% linkable_title Configuration %} - The `woeid` (Where On Earth ID) for your location, as shown in the example below. You can find your WOEID by copying the numeric digits at the end of the URL for your location at [Yahoo Weather](https://www.yahoo.com/news/weather/). If you don't add a WOEID, it will be generated from Home Assistant's latitude and longitude. To add Yahoo Weather to your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/weather.zamg.markdown b/source/_components/weather.zamg.markdown index b3112d97ea..cf805fd3a4 100644 --- a/source/_components/weather.zamg.markdown +++ b/source/_components/weather.zamg.markdown @@ -17,8 +17,6 @@ The `zamg` platform uses meteorological details published by the Austrian weathe Only observations for capital cities are publicly available. You can check the list of stations in [CSV format](http://www.zamg.ac.at/ogd). -## {% linkable_title Configuration %} - To add ZAMG to your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/xiaomi_aqara.markdown b/source/_components/xiaomi_aqara.markdown index 1fd18f55c2..2bf6fdb5e3 100644 --- a/source/_components/xiaomi_aqara.markdown +++ b/source/_components/xiaomi_aqara.markdown @@ -18,9 +18,6 @@ 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) @@ -45,8 +42,8 @@ The `xiaomi_aqara` component allows you to integrate [Xiaomi](http://www.mi.com/ - Gateway Radio - Gateway Button -- Xiaomi Mi Air Conditioning Companion (lumi.acpartner.v2) -- Aqara Intelligent Air Conditioner Controller Hub (lumi.acpartner.v1) +- Aqara Air Conditioning Companion +- Aqara Intelligent Air Conditioner Controller Hub - 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 diff --git a/source/_components/zha.markdown b/source/_components/zha.markdown index 0e769fc6a4..f751532e70 100644 --- a/source/_components/zha.markdown +++ b/source/_components/zha.markdown @@ -26,10 +26,8 @@ There is currently support for the following device types within Home Assistant: Known working ZigBee radios: -- Nortek/GoControl Z-Wave & Zigbee USB Adapter - Model HUSBZB-1 +- Nortek/GoControl Z-Wave & Zigbee USB Adaptor - Model HUSBZB-1 - XBee Series 2C -- [Elelabs ZigBee USB Adapter](https://elelabs.com/products/elelabs_usb_adapter.html) -- [Elelabs ZigBee Raspberry Pi Shield](https://elelabs.com/products/elelabs_zigbee_shield.html) To configure the component, a `zha` section must be present in the `configuration.yaml`, and the path to the serial device for the radio and path to the database which will persist your network data is required. diff --git a/source/_cookbook/automation_flashing_lights.markdown b/source/_cookbook/automation_flashing_lights.markdown index 5a55323eac..df14121307 100644 --- a/source/_cookbook/automation_flashing_lights.markdown +++ b/source/_cookbook/automation_flashing_lights.markdown @@ -97,14 +97,6 @@ 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 diff --git a/source/_cookbook/configuration_yaml_by_apocrathia.markdown b/source/_cookbook/configuration_yaml_by_apocrathia.markdown deleted file mode 100644 index 6ac2ccd329..0000000000 --- a/source/_cookbook/configuration_yaml_by_apocrathia.markdown +++ /dev/null @@ -1,12 +0,0 @@ ---- -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/ ---- diff --git a/source/_cookbook/track_battery_level.markdown b/source/_cookbook/track_battery_level.markdown index 13eca37354..b623f46b04 100644 --- a/source/_cookbook/track_battery_level.markdown +++ b/source/_cookbook/track_battery_level.markdown @@ -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 the `battery` [sensor device class](/components/sensor/#device-class) to dynamically change the icon 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 use the icon template option to create a dynamic icon that changes with the battery level. {% raw %} ```yaml @@ -21,6 +21,8 @@ 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 %} @@ -28,10 +30,21 @@ sensor: {% else %} {{ states.sensor.battery_iphone.state }} {%- endif %} - device_class: battery + 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 %} ``` {% 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. @@ -44,6 +57,5 @@ sensor: name: "Battery Tablet" unit_of_measurement: "%" value_template: '{{ value_json.batt }}' - device_class: battery ``` {% endraw %} diff --git a/source/_docs/automation/action.markdown b/source/_docs/automation/action.markdown index 0df212be7c..ce9d7c9e05 100644 --- a/source/_docs/automation/action.markdown +++ b/source/_docs/automation/action.markdown @@ -22,12 +22,13 @@ automation: event: sunset action: service: light.turn_on + entity_id: + - light.kitchen + - light.living_room data: brightness: 150 rgb_color: [255, 0, 0] - entity_id: - - light.kitchen - - light.living_room + automation 2: # Notify me on my mobile phone of an event trigger: diff --git a/source/_docs/configuration/customizing-devices.markdown b/source/_docs/configuration/customizing-devices.markdown index a76c1ed2aa..c3cc8cc441 100644 --- a/source/_docs/configuration/customizing-devices.markdown +++ b/source/_docs/configuration/customizing-devices.markdown @@ -71,10 +71,9 @@ homeassistant: ### {% linkable_title Device Class %} -Device class is currently supported by the following components: +Device class is currently supported by the following platforms: * [Binary Sensor](/components/binary_sensor/) -* [Sensor](/components/sensor/) * [Cover](/components/cover/) ### {% linkable_title Reloading customize %} diff --git a/source/_docs/configuration/entity-registry.markdown b/source/_docs/configuration/entity-registry.markdown index 6c75ad8dfe..e31e014c32 100644 --- a/source/_docs/configuration/entity-registry.markdown +++ b/source/_docs/configuration/entity-registry.markdown @@ -52,7 +52,3 @@ value to each entry. cause integrations to fail and might be removed in the future. _Added in Home Assistant 0.64._ - -{% linkable_title Supported Components %} - -At the moment, only the following components are supported: Z-Wave, Hue, Nest, LIFX, Sonos, Apple TV diff --git a/source/_docs/configuration/templating.markdown b/source/_docs/configuration/templating.markdown index dfcd8bddce..b8752c54ac 100644 --- a/source/_docs/configuration/templating.markdown +++ b/source/_docs/configuration/templating.markdown @@ -68,7 +68,6 @@ Home Assistant adds extensions to allow templates to access all of the current s - `states.sensor.temperature` returns the state object for `sensor.temperature`. - `states('device_tracker.paulus')` will return the state string (not the object) of the given entity or `unknown` if it doesn't exist. - `is_state('device_tracker.paulus', 'home')` will test if the given entity is specified state. -- `state_attr('device_tracker.paulus', 'battery')` will return the value of the attribute or None if it doesn't exist. - `is_state_attr('device_tracker.paulus', 'battery', 40)` will test if the given entity is specified state. - `now()` will be rendered as current time in your time zone. - For specific values: `now().second`, `now().minute`, `now().hour`, `now().day`, `now().month`, `now().year`, `now().weekday()` and `now().isoweekday()` @@ -80,23 +79,12 @@ Home Assistant adds extensions to allow templates to access all of the current s - `float` will format the output as float. - `strptime(string, format)` will parse a string to a datetime based on a [format][strp-format]. - `log(value, base)` will take the logarithm of the input. When the base is omitted, it defaults to `e` - the natural logarithm. Can also be used as a filter. -- `sin(value)` will return the sine of the input. Can be used as a filter. -- `cos(value)` will return the cosine of the input. Can be used as a filter. -- `tan(value)` will return the tangent of the input. Can be used as a filter. -- `sqrt(value)` will return the square root of the input. Can be used as a filter. -- `e` mathematical constant, approximately 2.71828. -- `pi` mathematical constant, approximately 3.14159. -- `tau` mathematical constant, approximately 6.28318. - Filter `round(x)` will convert the input to a number and round it to `x` decimals. - Filter `timestamp_local` will convert an UNIX timestamp to local time/data. - Filter `timestamp_utc` will convert an UNIX timestamp to UTC time/data. - Filter `timestamp_custom(format_string, local_boolean)` will convert an UNIX timestamp to a custom format, the use of a local timestamp is default, supporting [Python format options](https://docs.python.org/3/library/time.html#time.strftime). - Filter `max` will obtain the largest item in a sequence. - Filter `min` will obtain the smallest item in a sequence. -- Filter `regex_match(string, find, ignorecase=FALSE)` will match the find expression at the beginning of the string using regex. -- Filter `regex_search(string, find, ignorecase=FALSE)` will match the find expression anywhere in the string using regex. -- Filter `regex_replace(string, find='', replace='', ignorecase=False)` will replace the find expression with the replace string using regex. -- Filter `regex_findall_index(string, find='', index=0, ignorecase=False)` will find all regex matches of find in string and return the match at index (findall returns an array of matches). [strp-format]: https://docs.python.org/3.6/library/datetime.html#strftime-and-strptime-behavior @@ -126,7 +114,7 @@ The next two statements result in same value if state exists. The second one wil ### {% linkable_title Attributes %} -Print an attribute if state is defined. Both will return the same thing but the last one you can specify entity_id from a variable. +Print an attribute if state is defined ```text {% raw %}{% if states.device_tracker.paulus %} @@ -136,18 +124,6 @@ Print an attribute if state is defined. Both will return the same thing but the {% endif %}{% endraw %} ``` -With strings - -```text -{% raw %}{% set tracker_name = "paulus"%} - -{% if states("device_tracker." + tracker_name) != "unknown" %} - {{ state_attr("device_tracker." + tracker_name, "battery")}} -{% else %} - ?? -{% endif %}{% endraw %} -``` - ### {% linkable_title Sensor states %} Print out a list of all the sensor states. @@ -281,10 +257,6 @@ The following overview contains a couple of options to get the needed values: {% raw %}{{ float(value_json) * (2**10) }}{% endraw %} {% raw %}{{ value_json | log }}{% endraw %} {% raw %}{{ log(1000, 10) }}{% endraw %} -{% raw %}{{ sin(pi / 2) }}{% endraw %} -{% raw %}{{ cos(tau) }}{% endraw %} -{% raw %}{{ tan(pi) }}{% endraw %} -{% raw %}{{ sqrt(e) }}{% endraw %} # Timestamps {% raw %}{{ value_json.tst | timestamp_local }}{% endraw %} diff --git a/source/_docs/configuration/yaml.markdown b/source/_docs/configuration/yaml.markdown index 68503dab96..9398ec30bd 100644 --- a/source/_docs/configuration/yaml.markdown +++ b/source/_docs/configuration/yaml.markdown @@ -93,15 +93,3 @@ lights: !include lights.yaml ``` More information about this feature can also be found at [splitting configuration](/docs/configuration/splitting_configuration/). - -## {% linkable_title Common Issues %} - -### {% linkable_title found character '\t' %} - -If you see the following message: - -``` -found character '\t' that cannot start any token -``` - -This means that you've mistakenly entered a tab character, instead of spaces. diff --git a/source/_docs/ecosystem/apache.markdown b/source/_docs/ecosystem/apache.markdown index 92c27eb51a..ae0c192511 100644 --- a/source/_docs/ecosystem/apache.markdown +++ b/source/_docs/ecosystem/apache.markdown @@ -35,10 +35,10 @@ To be able to access to your Home Assistant instance by using https://home.examp ServerName home.example.org ProxyPreserveHost On ProxyRequests off - ProxyPass /api/websocket ws://localhost:8123/api/websocket - ProxyPassReverse /api/websocket ws://localhost:8123/api/websocket ProxyPass / http://localhost:8123/ ProxyPassReverse / http://localhost:8123/ + ProxyPass /api/websocket ws://localhost:8123/api/websocket + ProxyPassReverse /api/websocket ws://localhost:8123/api/websocket RewriteEngine on RewriteCond %{HTTP:Upgrade} =websocket [NC] diff --git a/source/_docs/ecosystem/appdaemon/api.markdown b/source/_docs/ecosystem/appdaemon/api.markdown index 923505b262..2f8e38c162 100755 --- a/source/_docs/ecosystem/appdaemon/api.markdown +++ b/source/_docs/ecosystem/appdaemon/api.markdown @@ -1422,7 +1422,7 @@ Name of the event to subscribe to. Can be a standard Home Assistant event such a One or more keyword value pairs representing App specific parameters to supply to the callback. If the keywords match values within the event data, they will act as filters, meaning that if they don't match the values, the callback will not fire. -As an example of this, a Minimote controller when activated will generate an event called `zwave.scene_activated`, along with 2 pieces of data that are specific to the event - `entity_id` and `scene`. If you include keyword values for either of those, the values supplied to the `listen_event()` call must match the values in the event or it will not fire. If the keywords do not match any of the data in the event they are simply ignored. +As an example of this, a Minimote controller when activated will generate an event called `zwave.scene_activated`, along with 2 pieces of data that are specific to the event - `entity_id` and `scene`. If you include keyword values for either of those, the values supplied to the `listen_event()1 call must match the values in the event or it will not fire. If the keywords do not match any of the data in the event they are simply ignored. Filtering will work with any event type, but it will be necessary to figure out the data associated with the event to understand what values can be filtered on. This can be achieved by examining Home Assistant's logfiles when the event fires. diff --git a/source/_docs/ecosystem/certificates/tls_self_signed_certificate.markdown b/source/_docs/ecosystem/certificates/tls_self_signed_certificate.markdown index 2aab9deb6d..d7c145fe8b 100644 --- a/source/_docs/ecosystem/certificates/tls_self_signed_certificate.markdown +++ b/source/_docs/ecosystem/certificates/tls_self_signed_certificate.markdown @@ -11,7 +11,7 @@ redirect_from: /cookbook/tls_self_signed_certificate/ --- If your Home Assistant instance is only accessible from your local network you can still protect the communication between your browsers and the frontend with SSL/TLS. -[Let's encrypt]({{site_root}}/blog/2017/09/27/effortless-encryption-with-lets-encrypt-and-duckdns/) will only work if you have a DNS entry and remote access is allowed. +[Let's encrypt]({{site_root}}/blog/2015/12/13/setup-encryption-using-lets-encrypt/) will only work if you have a DNS entry and remote access is allowed. The solution is to use a self-signed certificate. As you most likely don't have a certification authority (CA) your browser will complain about the security. If you have a CA then this will not be an issue. To create a certificate locally, you need the [OpenSSL](https://www.openssl.org/) command-line tool. diff --git a/source/_docs/ecosystem/ios.markdown b/source/_docs/ecosystem/ios.markdown index 027fe50323..82ba667eec 100644 --- a/source/_docs/ecosystem/ios.markdown +++ b/source/_docs/ecosystem/ios.markdown @@ -8,6 +8,7 @@ comments: false sharing: true footer: true redirect_from: /ecosystem/ios/ +redirect_from: /components/ios/ --- The Home Assistant for iOS app offers a companion app for iOS which is deeply integrated into both Home Assistant and iOS. Its basic features include: @@ -21,7 +22,7 @@ The app is available on the iOS App Store in every country that Apple supports.

-## {% linkable_title Basic requirements %} +## Basic requirements * iOS device running at least iOS 9, but iOS 10 is greatly preferred. * Home Assistant 0.42.4 or higher for push notification support. @@ -33,7 +34,7 @@ Loading the `ios` component will also load the [`device_tracker`][device-tracker ## {% linkable_title Setup %} -### {% linkable_title Automated Setup %} +### Automated Setup The `ios` component will automatically be loaded under the following circumstances: @@ -44,7 +45,7 @@ Automated discovery and component loading only happens at first install of the a After the first automated setup you need to add `ios:` to your configuration so that the component loads by default even after restarting Home Assistant. -### {% linkable_title Manual Setup %} +### Manual Setup You may also manually load the `ios` component by adding the following to your configuration: diff --git a/source/_docs/installation/docker.markdown b/source/_docs/installation/docker.markdown index 4245f1069c..53ee103784 100644 --- a/source/_docs/installation/docker.markdown +++ b/source/_docs/installation/docker.markdown @@ -10,7 +10,7 @@ footer: true redirect_from: /getting-started/installation-docker/ --- -Installation with Docker is straightforward. Adjust the following command so that `/path/to/your/config/` points at the folder where you want to store your configuration and run it: +Installation with Docker is straightforward. Adjust the following command so that `/path/to/your/config/` points at the folder where you want to store your config and run it: ### {% linkable_title Linux %} @@ -18,18 +18,9 @@ Installation with Docker is straightforward. Adjust the following command so tha $ docker run -d --name="home-assistant" -v /path/to/your/config:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/home-assistant ``` -### {% linkable_title Raspberry Pi 3 (Raspbian) %} - -```bash -$ docker run -d --name="home-assistant" -v /path/to/your/config:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/raspberrypi3-homeassistant:0.XX.x -``` - -The Docker container for Raspberry Pi 3 does not have a 'latest' tag so the version number must be specified explicitly, i.e. 0.68.0. This goes for both CLI and Docker Compose. - - ### {% linkable_title macOS %} -When using `docker-ce` (or `boot2docker`) on macOS, you are unable to map the local timezone to your Docker container ([Docker issue](https://github.com/docker/for-mac/issues/44)). Instead of `-v /etc/localtime:/etc/localtime:ro`, just pass in the timezone environment variable when you launch the container, e.g, `-e "TZ=America/Los_Angeles"`. Replace "America/Los_Angeles" with [your timezone](http://en.wikipedia.org/wiki/List_of_tz_database_time_zones). +When using `docker-ce` (or `boot2docker`) on macOS, you are unable to map the local timezone to your Docker container ([Docker issue](https://github.com/docker/for-mac/issues/44)). Instead of `-v /etc/localtime:/etc/localtime:ro`, just pass in the timezone environment variable when you launch the container, ex: `-e "TZ=America/Los_Angeles"`. Replace "America/Los_Angeles" with [your timezone](http://en.wikipedia.org/wiki/List_of_tz_database_time_zones). If you wish to browse directly to `http://localhost:8123` from your macOS host, meaning forward ports directly to the container, replace the `--net=host` switch with `-p 8123:8123`. More detail can be found in [the docker forums](https://forums.docker.com/t/should-docker-run-net-host-work/14215/10). @@ -37,7 +28,7 @@ If you wish to browse directly to `http://localhost:8123` from your macOS host, $ docker run -d --name="home-assistant" -v /path/to/your/config:/config -e "TZ=America/Los_Angeles" -p 8123:8123 homeassistant/home-assistant ``` -Alternatively, `docker-compose` works with any recent release of `docker-ce` on macOS. Note that (further down this page) we provide an example `docker-compose.yml` however it differs from the `docker run` example above. To make the .yml directives match, you would need to make _two_ changes: first add the equivalent `ports:` directive, then _remove_ the `network_mode: host` section. This is because `Port mapping is incompatible with network_mode: host:`. More details can be found at [Docker networking docs](https://docs.docker.com/engine/userguide/networking/#default-networks). Note also the `/dev/tty*` device name used by your Arduino etc. devices will differ from the Linux example, so the compose `mount:` may require updates. +Alternatively, `docker-compose` works with any recent release of `docker-ce` on macOS. Note that (further down this page) we provide an example `docker-compose.yml` however it differs from the `docker run` example above. To make the .yml directives match, you would need to make _two_ changes: first add the equivalent `ports:` directive, then _remove_ the `network_mode: host` section. This is because `Port mapping is incompatible with network_mode: host:`. More details can be found at [Docker networking docs] (https://docs.docker.com/engine/userguide/networking/#default-networks). Note also the `/dev/tty*` device name used by your Arduino etc. devices will differ from the Linux example, so the compose `mount:` may require updates. ### {% linkable_title Windows %} @@ -93,24 +84,31 @@ As QNAP within QTS now supports Docker (with a neat UI), you can simply install The steps would be: - - Install "Container Station" package on your Qnap NAS - - Launch Container Station and move to "Create Container"-section - - Search image "homeassistant/home-assistant" with Docker hub and click on "Install" + - Install “Container Station” package on your Qnap NAS + - Launch Container Station and move to “Create Container”-section + - Search image “homeassistant/home-assistant” with + docker hub and click on “Install” - Choose "latest" version and click next - - Choose a container-name you want (e.g., "homeassistant") - - Click on "Advanced Settings" - - Within "Shared Folders" click on "Volume from host" > "Add" and choose either an existing folder or add a new folder. The "mount point has to be `/config`, so that Home Assistant will use it for the configuration and logs. - - Within "Network" and select Network Mode to "Host" - - To ensure that Home Assistant displays the correct timezone go to the "Environment" tab and click the plus sign then add `variable` = `TZ` & `value` = `Europe/London` choosing [your correct timezone](http://en.wikipedia.org/wiki/List_of_tz_database_time_zones) - - Click on "Create" + - Choose a container-name you want (e.g. + “homeassistant”) + - Click on “Advanced Settings” + - Within “Shared Folders” click on "Volume from host" > "Add" and + choose either an existing folder or add a new folder. The “mount + point” has to be “/config”, so that Home Assistant will use it for + the configs and logs. + - Within “Network” and select Network Mode to “Host” + - To ensure that Home Assistant displays the correct + timezone go to the “Environment” tab and click the plus sign then add + `variable` = `TZ` & `value` = `Europe/London` choosing [your correct timezone](http://en.wikipedia.org/wiki/List_of_tz_database_time_zones) + - Click on “Create” - Wait for some time until your NAS has created the container - Your Home Assistant within Docker should now run and will serve the web interface from port 8123 on your Docker host (this will be your Qnap NAS IP address - for example `http://192.xxx.xxx.xxx:8123`) -Remark: To update your Home Assistant on your Docker within Qnap NAS, you just remove container and image and do steps again (Don't remove "config" folder). +Remark: to update your Home Assistant on your Docker within Qnap NAS, you just remove container and image and do steps again (Don't remove "config" folder) -If you want to use a USB Bluetooth adapter or Z-Wave USB stick with Home Assistant on Qnap Docker, follow those steps: +If you want to use a USB Bluetooth adapter or Z-Wave USB Stick with Home Assistant on Qnap Docker, Fallow this step: -#### {% linkable_title Z-Wave %} +**Z-wave:** - Connect to your NAS over SSH - Load cdc-acm kernel module(when nas restart need to run this command) @@ -125,16 +123,16 @@ If you want to use a USB Bluetooth adapter or Z-Wave USB stick with Home Assista `-v` is your config path `-e` is set timezone - - Edit `configuration.yaml` + - Edit configuration.yaml -```yaml +``` zwave: usb_path: /dev/ttyACM0 ``` That will tell Home Assistant where to look for our Z-wave radio. -#### {% linkable_title Bluetooth %} +**Bluetooth:** - Connect to your NAS over SSH - Run Docker command: @@ -143,9 +141,9 @@ That will tell Home Assistant where to look for our Z-wave radio. First `-v` is your config path `-e` is set timezone - - Edit the `configuration.yaml` file + - Edit configuration.yaml -```yaml +``` device_tracker: - platform: bluetooth_tracker ``` @@ -182,12 +180,10 @@ $ docker-compose up -d ### {% linkable_title Exposing Devices %} -In order to use Z-Wave, ZigBbee or other components that require access to devices, you need to map the appropriate device into the container. Ensure the user that is running the container has the correct privileges to access the `/dev/tty*` file, then add the device mapping to your docker command: +In order to use z-wave, zigbee or other components that require access to devices, you need to map the appropriate device into the container. Ensure the user that is running the container has the correct privileges to access the `/dev/tty*` file, then add the device mapping to your docker command: ```bash -$ docker run -d --name="home-assistant" -v /path/to/your/config:/config \ - -v /etc/localtime:/etc/localtime:ro --device /dev/ttyUSB0:/dev/ttyUSB0 \ - --net=host homeassistant/home-assistant +$ docker run -d --name="home-assistant" -v /path/to/your/config:/config -v /etc/localtime:/etc/localtime:ro --device /dev/ttyUSB0:/dev/ttyUSB0 --net=host homeassistant/home-assistant ``` or in a `docker-compose.yml` file: diff --git a/source/_docs/installation/hassbian/integrations.markdown b/source/_docs/installation/hassbian/integrations.markdown index d6f7a3fd0c..5658ce712e 100644 --- a/source/_docs/installation/hassbian/integrations.markdown +++ b/source/_docs/installation/hassbian/integrations.markdown @@ -26,11 +26,11 @@ For more details about the GPIO layout, visit the [documentation](https://www.ra Permission have been given to the `homeassistant` user to use the GPIO pins and all of the following components should require no underlying changes to work. Just follow the component pages for each on how to add them to your Home Assistant installation. - - [DHT Sensor](/components/sensor.dht/) - - [Raspberry Pi Cover](/components/cover.rpi_gpio/) - - [Raspberry Pi GPIO Binary Sensor](/components/binary_sensor.rpi_gpio/) - - [Raspberry Pi GPIO Switch](/components/switch.rpi_gpio/) - - [Raspberry Pi RF Switch](/components/switch.rpi_rf/) + - [DHT Sensor](/components/sensor.dht/). + - [Raspberry Pi Cover](/components/cover.rpi_gpio/). + - [Raspberry Pi GPIO Binary Sensor](/components/binary_sensor.rpi_gpio/). + - [Raspberry Pi GPIO Switch](/components/switch.rpi_gpio/). + - [Raspberry Pi RF Switch](/components/switch.rpi_rf/). ### {% linkable_title Raspberry Pi Camera %} diff --git a/source/_docs/installation/raspberry-pi.markdown b/source/_docs/installation/raspberry-pi.markdown index c272e97dbf..b0cb1b8a4a 100644 --- a/source/_docs/installation/raspberry-pi.markdown +++ b/source/_docs/installation/raspberry-pi.markdown @@ -49,10 +49,10 @@ $ sudo apt-get install python3 python3-venv python3-pip ``` Add an account for Home Assistant called `homeassistant`. -Since this account is only for running Home Assistant the extra arguments of `-rm` is added to create a system account and create a home directory. The arguments `-G dialout` adds the user to the `dialout` group. This is required for using Z-Wave and Zigbee controllers. +Since this account is only for running Home Assistant the extra arguments of `-rm` is added to create a system account and create a home directory. ```bash -$ sudo useradd -rm homeassistant -G dialout +$ sudo useradd -rm homeassistant ``` Next we will create a directory for the installation of Home Assistant and change the owner to the `homeassistant` account. diff --git a/source/_docs/installation/synology.markdown b/source/_docs/installation/synology.markdown index 454dcd8858..808a4e77de 100644 --- a/source/_docs/installation/synology.markdown +++ b/source/_docs/installation/synology.markdown @@ -10,10 +10,6 @@ footer: true redirect_from: /getting-started/installation-synology/ --- -

-Synology only provide Python 3.5.1, which is not compatible with Home Assistant 0.65.0 or later. Until Synology offer an updated version of Python, Home Assistant 0.64 is the most recent version that will be able to be installed. You can manually specify the version of Home Assistant to install, for example to install version 0.64.3 you would do `./python3 -m pip install homeassistant==0.64.3` -

- There are 2 alternatives, when using Home Assistant on Synology NAS: 1. using Docker 2. directly running on DSM @@ -30,7 +26,7 @@ Running these commands will: Using the Synology webadmin: - - Install python3 using the Synology Package Center + - Install python3 using the Synology Package Center (be aware, this provides 3.5.1, which is not compatible with Home Assistant 0.65.0 or later) - Create homeassistant user and add to the "users" group SSH onto your synology & login as admin or root @@ -55,12 +51,16 @@ Install PIP (Python's package management system) # ./python3 -m ensurepip ``` -Use PIP to install Homeassistant package 0.64.3 +Use PIP to install Homeassistant package ```bash -# ./python3 -m pip install homeassistant==0.64.3 +# ./python3 -m pip install homeassistant ``` +

+Until Synology offer an updated version of Python, Home Assistant 0.64 is the most recent version that will be able to be installed. You can manually specify the version of Home Assistant to install, for example to install version 0.64.3 you would do `./python3 -m pip install homeassistant==0.64.3` +

+ Create homeassistant config directory & switch to it ```bash diff --git a/source/_docs/installation/updating.markdown b/source/_docs/installation/updating.markdown index a9884322b6..b3c7040b9a 100644 --- a/source/_docs/installation/updating.markdown +++ b/source/_docs/installation/updating.markdown @@ -14,11 +14,7 @@ redirect_from: /getting-started/updating/ The upgrade process differs depending on the installation you have, so please review the documentation that is specific to your install [Hass.io](/hassio/), [Hassbian](/docs/installation/hassbian/common-tasks/#update-home-assistant), [Vagrant](/docs/installation/vagrant/), or [Virtualenv](/docs/installation/virtualenv/#upgrading-home-assistant).

-Check what's new in the latest version and potentially impacts your system in [Home Assistant release notes](https://github.com/home-assistant/home-assistant/releases). It is good practice to review these release notes and pay close attention to the **Breaking Changes** that are listed there. If you haven't done an update for a while, you should also check previous release notes as they can also contain relevant **Breaking Changes**. **Breaking Changes** may require configuration updates for your components. If you missed this and Home Assistant refuses to start, check the log file in the [configuration](/docs/configuration/) directory, e.g., `.homeassistant/home-assistant.log`, for details about broken components. - -

-To avoid permission errors, the upgrade must be run as the same user as the installation was completed, again review the documentation specific to your install [Hass.io](/hassio/), [Hassbian](/docs/hassbian/installation/), [Vagrant](/docs/installation/vagrant/), or [Virtualenv](/docs/installation/virtualenv). -

+Check what's new in the latest version and potentially impacts your system in [Home Assistant release notes](https://github.com/home-assistant/home-assistant/releases). It is good practice to review these release notes and pay close attention to the **Breaking Changes** that are listed there. If you haven't done an update for a while, you should also check previous release notes as they can also contain relevant **Breaking Changes**. **Breaking Changes** may require configuration updates for your components. If you missed this and Home Assistant refuses to start, check `/home-assistant.log` for details about broken components. The default way to update Home Assistant to the latest release, when available, is: @@ -26,13 +22,11 @@ The default way to update Home Assistant to the latest release, when available, $ pip3 install --upgrade homeassistant ``` -For a Docker container, simply pull the latest one: +After updating, you must restart Home Assistant for the changes to take effect. This means that you will have to restart `hass` itself or the [autostarting](/docs/autostart/) daemon (if applicable). Startup can take considerable amount of time (i.e. minutes) depending on your device. This is because all requirements are updated as well. -```bash -$ sudo docker pull homeassistant/home-assistant:latest -``` - -After updating, you must start/restart Home Assistant for the changes to take effect. This means that you will have to restart `hass` itself or the [autostarting](/docs/autostart/) daemon (if applicable). Startup can take considerable amount of time (i.e. minutes) depending on your device. This is because all requirements are updated as well. +

+To avoid permission errors, the upgrade must be run as the same user as the installation was completed, again review the documentation specific to your install [Hass.io](/hassio/), [Hassbian](/docs/hassbian/installation/), [Vagrant](/docs/installation/vagrant/), or [Virtualenv](/docs/installation/virtualenv). +

[BRUH automation](http://www.bruhautomation.com) has created [a tutorial video](https://www.youtube.com/watch?v=tuG2rs1Cl2Y) explaining how to upgrade Home Assistant. diff --git a/source/_docs/mqtt/discovery.markdown b/source/_docs/mqtt/discovery.markdown index 27b588f015..60974c428b 100644 --- a/source/_docs/mqtt/discovery.markdown +++ b/source/_docs/mqtt/discovery.markdown @@ -15,7 +15,6 @@ The discovery of MQTT devices will enable one to use MQTT devices with only mini Supported by MQTT discovery: - [Binary sensors](/components/binary_sensor.mqtt/) -- [Cameras](/components/camera.mqtt/) - [Covers](/components/cover.mqtt/) - [Fans](/components/fan.mqtt/) - [Lights](/components/light.mqtt/) @@ -43,8 +42,8 @@ The discovery topic need to follow a specific format: ``` - ``: One of the supported components, eg. `binary_sensor`. -- `` (*Optional*): ID of the node providing the topic. -- ``: The ID of the device. This is only to allow for separate topics for each device and is not used for the `entity_id`. +- ``: (*Optional*) id of the node providing the topic. +- ``: "The ID of the device. This is only to allow for separate topics for each device and is not used for the `entity_id`." - `<>`: The topic `config` or `state` which defines the current action. The payload will be checked like an entry in your `configuration.yaml` file if a new device is added. This means that missing variables will be filled with the platform's default values. All configuration variables which are *required* must be present in the initial payload send to `/config`. @@ -56,7 +55,7 @@ The `` level can be used by clients to only subscribe to their own (com The following firmware for ESP8266, ESP32 and Sonoff unit has built-in support for MQTT discovery: - [Sonoff-Tasmota](https://github.com/arendst/Sonoff-Tasmota) (starting with 5.11.1e) -- [esphomeyaml](https://esphomelib.com/esphomeyaml/index.html) +- [esphomelib](https://github.com/OttoWinter/esphomelib) - [ESPurna](https://github.com/xoseperez/espurna) - [Arilux AL-LC0X LED controllers](https://github.com/mertenats/Arilux_AL-LC0X) diff --git a/source/_docs/tools/dev-tools.markdown b/source/_docs/tools/dev-tools.markdown index 99ce3e7cf7..c9cc6a4c28 100644 --- a/source/_docs/tools/dev-tools.markdown +++ b/source/_docs/tools/dev-tools.markdown @@ -94,8 +94,7 @@ For more information about jinja2, visit [jinja2 documentation](http://jinja.poc {% linkable_title mqtt %} -This section is only visible if the MQTT component is configured. To configure MQTT, add `mqtt:` to the `configuration.yaml` file. For more information, refer to the [mqtt](/components/mqtt/) component. - +This section is only visible if the MQTT is configured. To configure MQTT, add `mqtt:` to the `configuration.yaml` file. For more information, refer to [mqtt](/components/mqtt/) Even though MQTT in general provides deeper functionality, the developer tools section of MQTT is limited to publishing messages to a given topic. It supports templates for the payload. To publish a message, simply specify the topic name and the payload and click “PUBLISH” button. {% linkable_title Info %} diff --git a/source/_docs/tools/hass.markdown b/source/_docs/tools/hass.markdown index 73e0bd68cd..3ba0896f35 100644 --- a/source/_docs/tools/hass.markdown +++ b/source/_docs/tools/hass.markdown @@ -39,7 +39,6 @@ optional arguments: specified days --log-file LOG_FILE Log file to write to. If not set, CONFIG/home- assistant.log is used - --log-no-color Disable color logs --runner On restart exit with code 100 --script ... Run one of the embedded scripts --daemon Run Home Assistant as daemon diff --git a/source/_docs/z-wave.markdown b/source/_docs/z-wave.markdown index 6ee6a284fa..c6a68fb3c6 100644 --- a/source/_docs/z-wave.markdown +++ b/source/_docs/z-wave.markdown @@ -37,9 +37,3 @@ There are 12 different regions for Z-Wave devices, which relates to the frequenc You'll now need to connect your [controller](/docs/z-wave/controllers/), [configure](/docs/z-wave/installation) the Z-Wave component, then [add some devices](/docs/z-wave/adding) using the [control panel](/docs/z-wave/control-panel). [This explains](/docs/z-wave/devices/) about devices, and how [entities are named](/docs/z-wave/entities). You can get more information on the [available services](/docs/z-wave/services/) and [events](/docs/z-wave/events/), what the [query stages](/docs/z-wave/query-stage) of battery powered devices are, as well as details on configuring [specific devices](/docs/z-wave/device-specific/). - -## {% linkable_title Instant status updates %} - -When you toggle a switch or control a light locally you may find that it takes some time for that to be reflected in Home Assistant. That's because Lutron had patents on the status updates using the *Hail* command class, the traditional way of allowing devices to tell the controller that something happened locally. The same result can be achieved through the *Association* command class, or *Central Scene* command class (though, *Central Scene* isn't [fully supported](https://github.com/OpenZWave/open-zwave/pull/1125) in OpenZWave). - -If you search [the Z-Wave products database](http://products.z-wavealliance.org/) for your product and it lists one of those in the **Controlled** command classes (not the **Supported** command classes), then your device will be able to report state changes when they happen. If it doesn't then updates may either happen eventually, or you may need to (carefully) [enable polling](https://www.home-assistant.io/docs/z-wave/control-panel/#entities-of-this-node). diff --git a/source/_docs/z-wave/installation.markdown b/source/_docs/z-wave/installation.markdown index b3fc38d817..b637ba981f 100644 --- a/source/_docs/z-wave/installation.markdown +++ b/source/_docs/z-wave/installation.markdown @@ -205,7 +205,7 @@ The first run after adding a device is when the `zwave` component will take time ### {% linkable_title Component could not be set up %} -Sometimes the device may not be accessible and you'll get an error message upon startup about not being able to set up Z-Wave. Run the following command for your device path (here we're using `/dev/ttyAMA0` for our Razberry board): +Sometimes the device may not be accessible and you'll get an error message upon startup about not being able to set up Z-Wave. Run the following command for your device path: ```bash $ ls -l /dev/ttyAMA0 @@ -224,18 +224,6 @@ $ sudo chgrp dialout /dev/ttyAMA0 $ sudo chmod g+rw /dev/ttyAMA0 ``` -Check too that the account you're running Home Assistant as is in the `dialout` group. For instance, if you're using `homeassistant`: - -```bash -$ groups homeassistant -``` - -That should include `dialout`, if it doesn't then: - -```bash -$ sudo usermod -G dialout homeassistant -``` - ### {% linkable_title Device path changes %} If your device path changes when you restart, see [this guide](http://hintshop.ludvig.co.nz/show/persistent-names-usb-serial-devices/) on fixing it. diff --git a/source/_docs/z-wave/query-stage.markdown b/source/_docs/z-wave/query-stage.markdown index 7112cd055b..2037963e45 100644 --- a/source/_docs/z-wave/query-stage.markdown +++ b/source/_docs/z-wave/query-stage.markdown @@ -9,10 +9,6 @@ sharing: true footer: true --- -When the Z-Wave mesh is first started, the controller will go through all the following stages for every device on the mesh. This is a slow process, and to complete requires that the devices be awake. While devices that are mains or USB powered are always awake, battery-powered devices spend most of their time asleep. Because of this, you can expect that after startup your battery powered devices will spend time in `Initializing (CacheLoad)` - how long depends on the device. - -Your devices will still function normally while marked as `Initializing`. - | Stage | Description | |------------------------|--------------------------------------------------------------------| | None | Query process hasn't started for this node | @@ -21,7 +17,7 @@ Your devices will still function normally while marked as `Initializing`. | WakeUp | Start wake up process if a sleeping node | | ManufacturerSpecific1 | Retrieve manufacturer name and product ids if ProtocolInfo lets us | | NodeInfo | Retrieve info about supported, controlled command classes | -| NodePlusInfo | Retrieve Z-Wave+ info and update device classes | +| NodePlusInfo | Retrieve ZWave+ info and update device classes | | SecurityReport | Retrieve a list of Command Classes that require Security | | ManufacturerSpecific2 | Retrieve manufacturer name and product ids | | Versions | Retrieve version information | diff --git a/source/_includes/asides/developers_navigation.html b/source/_includes/asides/developers_navigation.html new file mode 100644 index 0000000000..2d770cb7a1 --- /dev/null +++ b/source/_includes/asides/developers_navigation.html @@ -0,0 +1,142 @@ +
+ {% include edit_github.html %} + +
+

Development Guide

+ +
+
diff --git a/source/_includes/asides/help_navigation.html b/source/_includes/asides/help_navigation.html deleted file mode 100644 index 458a6a9385..0000000000 --- a/source/_includes/asides/help_navigation.html +++ /dev/null @@ -1,33 +0,0 @@ -
- {% include edit_github.html %} - -
-

 

- -
-
diff --git a/source/_includes/custom/footer.html b/source/_includes/custom/footer.html index 1a2e590320..b07ee5bcf8 100644 --- a/source/_includes/custom/footer.html +++ b/source/_includes/custom/footer.html @@ -1,27 +1,13 @@ - -
-

Ok Google, turn on the AC

- Use Google Assistant to control Home Assistant. - - -
Read our founder's vision for the perfect home automation