From d6a6bd5c50dfa6f6ed539701c6d6a8a04bbee0d4 Mon Sep 17 00:00:00 2001 From: Dale Higgs Date: Tue, 15 May 2018 04:13:35 -0500 Subject: [PATCH 01/20] Update Telldus Live ignore value --- source/_components/discovery.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/discovery.markdown b/source/_components/discovery.markdown index f369ce67c13..f85b452f99e 100644 --- a/source/_components/discovery.markdown +++ b/source/_components/discovery.markdown @@ -83,7 +83,7 @@ Valid values for ignore are: * `samsung_tv`: Samsung TVs * `sonos`: Sonos speakers * `songpal` : Songpal - * `tellduslive`: Telldus Live + * `tellstick`: Telldus Live * `wink`: Wink Hub * `yamaha`: Yamaha media player * `yeelight`: Yeelight Sunflower bulb From f8e1361ca471f97c3bb724283d33d16509f7b4ec Mon Sep 17 00:00:00 2001 From: bonanitech Date: Sat, 9 Jun 2018 15:57:34 -0400 Subject: [PATCH 02/20] Fix MTA link (#5516) --- source/_components/sensor.gtfs.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.gtfs.markdown b/source/_components/sensor.gtfs.markdown index 874617d87b6..547ff77afb9 100644 --- a/source/_components/sensor.gtfs.markdown +++ b/source/_components/sensor.gtfs.markdown @@ -21,7 +21,7 @@ You need to find a valid GTFS data set, which you can usually find just by searc Here are some examples: - [Bay Area Rapid Transit (BART)](http://www.bart.gov/schedules/developers/gtfs) - The light rail system for the San Francisco Bay Area. -- [Metropolitan Transit Authority of New York City (MTA)](http://www.bart.gov/schedules/developers/gtfs) - Provides separate data feeds for subway, bus, LIRR and Metro-North of the greater New York City metropolitan region. +- [Metropolitan Transit Authority of New York City (MTA)](http://web.mta.info/developers/) - Provides separate data feeds for subway, bus, LIRR and Metro-North of the greater New York City metropolitan region. - [GBRail.info](http://www.gbrail.info/) - Provides data feeds for most if not all rail companies in Britain. - [Official Timetable Switzerland](http://www.fahrplanfelder.ch/en/timetable-data.html) - The official timetable data for Switzerland. - [Public Transport Victoria (Australia)](https://www.data.vic.gov.au/data/dataset/ptv-timetable-and-geographic-information-2015-gtfs) - Official PTV GTFS dataset. From fb7bd15421ddcfd09b9ab09912f477b4d7a027e1 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 9 Jun 2018 22:02:18 +0200 Subject: [PATCH 03/20] Fix typo --- source/_posts/2018-06-10-release-71.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_posts/2018-06-10-release-71.markdown b/source/_posts/2018-06-10-release-71.markdown index e46e5cd8851..665c11c1376 100644 --- a/source/_posts/2018-06-10-release-71.markdown +++ b/source/_posts/2018-06-10-release-71.markdown @@ -13,7 +13,7 @@ og_image: /images/blog/2018-06-0.71/components.png -0.71 has arrived. My favorite feature in this release is the conversion of the Nest component from cloud poll to cloud push. Sure, it's still through the cloud but changes are now made available in Home Assistnat as soon as they happen. Thanks [@awarecan]! +0.71 has arrived. My favorite feature in this release is the conversion of the Nest component from cloud poll to cloud push. Sure, it's still through the cloud but changes are now made available in Home Assistant as soon as they happen. Thanks [@awarecan]! We've continued the frontend tweaks after the major overhaul in the last release. We've had some issues with the Hass.io panel on both Firefox and Safari. They have been addressed and all browsers should hopefully work again. From 5511c4bd331e9338a6c7884be7f295e963981bff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Sat, 9 Jun 2018 23:10:57 +0300 Subject: [PATCH 04/20] Spelling fixes (#5509) --- source/_addons/mosquitto.markdown | 2 +- source/_components/alarm_control_panel.ifttt.markdown | 4 ++-- source/_components/doorbird.markdown | 2 +- source/_components/fan.template.markdown | 2 +- source/_components/light.yeelight.markdown | 2 +- source/_components/matrix.markdown | 2 +- source/_components/notify.lametric.markdown | 2 +- source/_components/sensor.mitemp_bt.markdown | 2 +- source/_components/snips.markdown | 4 ++-- source/_posts/2018-06-04-esphomelib.markdown | 2 +- 10 files changed, 12 insertions(+), 12 deletions(-) diff --git a/source/_addons/mosquitto.markdown b/source/_addons/mosquitto.markdown index 900837f2a36..d6c188355ce 100644 --- a/source/_addons/mosquitto.markdown +++ b/source/_addons/mosquitto.markdown @@ -74,5 +74,5 @@ protocol mqtt 4. Restart MQTT

-It's recommened that you only open your firewall to the SSL/TLS port (8883) and only use the insecure port (1883) for local devices. Also, disable `anonymous:` and set `logins:`. +It's recommended that you only open your firewall to the SSL/TLS port (8883) and only use the insecure port (1883) for local devices. Also, disable `anonymous:` and set `logins:`.

diff --git a/source/_components/alarm_control_panel.ifttt.markdown b/source/_components/alarm_control_panel.ifttt.markdown index 9dcf52521f3..e2f1a13955a 100644 --- a/source/_components/alarm_control_panel.ifttt.markdown +++ b/source/_components/alarm_control_panel.ifttt.markdown @@ -38,7 +38,7 @@ alarm_control_panel: ```

-It is strongly discouraged to use this platform when you don't use encryption; otherwise, your API password will be send unprotected through the IFTTT Webhooks. It is adviced to [setup encryption using Let's Encrypt](https://home-assistant.io/blog/2017/09/27/effortless-encryption-with-lets-encrypt-and-duckdns/). +It is strongly discouraged to use this platform when you don't use encryption; otherwise, your API password will be send unprotected through the IFTTT Webhooks. It is advised to [setup encryption using Let's Encrypt](https://home-assistant.io/blog/2017/09/27/effortless-encryption-with-lets-encrypt-and-duckdns/).

{% linkable_title Required IFTTT applets %} @@ -86,7 +86,7 @@ For this system to operate correctly, the following IFTTT applets have to be set type: string default: alarm_disarm optimistic: - description: Specify if the state will be updated by a ifttt_push_alarm_state call (false) or can be set immediately (true). + description: Specify if the state will be updated by an ifttt_push_alarm_state call (false) or can be set immediately (true). required: false type: boolean default: false diff --git a/source/_components/doorbird.markdown b/source/_components/doorbird.markdown index 9db3c71d864..a16e7908624 100644 --- a/source/_components/doorbird.markdown +++ b/source/_components/doorbird.markdown @@ -46,7 +46,7 @@ You can create an automation that triggers on event `doorbird_doorbell` to play [`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`. +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 referring to the `master`. Automation file: diff --git a/source/_components/fan.template.markdown b/source/_components/fan.template.markdown index b7822ce308f..974eb7508e4 100644 --- a/source/_components/fan.template.markdown +++ b/source/_components/fan.template.markdown @@ -94,7 +94,7 @@ fan: required: false type: action set_oscillating: - description: Defines an action to run when the fan is given a osc state command. + description: Defines an action to run when the fan is given an osc state command. required: false type: action set_direction: diff --git a/source/_components/light.yeelight.markdown b/source/_components/light.yeelight.markdown index e19afdac670..c446d5950f7 100644 --- a/source/_components/light.yeelight.markdown +++ b/source/_components/light.yeelight.markdown @@ -72,7 +72,7 @@ This component is tested to work with the following models. If you have a differ ### {% linkable_title Service `light.yeelight_set_mode` %} -Set a operation mode. +Set an operation mode. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------------------------------------------| diff --git a/source/_components/matrix.markdown b/source/_components/matrix.markdown index 1047d540534..e98604403d7 100644 --- a/source/_components/matrix.markdown +++ b/source/_components/matrix.markdown @@ -39,7 +39,7 @@ password: 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'." + description: "The full URL for your homeserver. If you use the default matrix.org homeserver, this is 'https://matrix.org'." required: true type: string verify_ssl: diff --git a/source/_components/notify.lametric.markdown b/source/_components/notify.lametric.markdown index 41d4aaa36d6..b9ee3343439 100644 --- a/source/_components/notify.lametric.markdown +++ b/source/_components/notify.lametric.markdown @@ -91,7 +91,7 @@ To add a notification sound, icon, cycles, or priority override, it has to be do ### {% linkable_title Only notify specific device %} -If you have more than one La Metric device, you can specify which will recieve the message by adding `target:` to the service data: +If you have more than one La Metric device, you can specify which will receive the message by adding `target:` to the service data: ```yaml action: diff --git a/source/_components/sensor.mitemp_bt.markdown b/source/_components/sensor.mitemp_bt.markdown index 248d61b8ba8..12a67606d42 100644 --- a/source/_components/sensor.mitemp_bt.markdown +++ b/source/_components/sensor.mitemp_bt.markdown @@ -73,7 +73,7 @@ sensor: - **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. +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 temperatures 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: diff --git a/source/_components/snips.markdown b/source/_components/snips.markdown index 20580aa73bc..16acc2b3de6 100644 --- a/source/_components/snips.markdown +++ b/source/_components/snips.markdown @@ -115,8 +115,8 @@ site_ids: description: A list of siteIds if using multiple Snips instances. Used to make sure feedback is toggled on or off for all sites. required: false type: str -probability_threshhold: - description: Threshhold for intent probability. Range is from 0.00 to 1.00, 1 being highest match. Intents under this level are discarded. +probability_threshold: + description: Threshold for intent probability. Range is from 0.00 to 1.00, 1 being highest match. Intents under this level are discarded. require: false type: float {% endconfiguration %} diff --git a/source/_posts/2018-06-04-esphomelib.markdown b/source/_posts/2018-06-04-esphomelib.markdown index bdacd8fdfe2..a338c4f71a1 100644 --- a/source/_posts/2018-06-04-esphomelib.markdown +++ b/source/_posts/2018-06-04-esphomelib.markdown @@ -15,7 +15,7 @@ The [ESP8266](https://www.espressif.com/en/products/hardware/esp8266ex/overview) Setting up these microcontrollers for some basic functionality has also gotten really easy over the years with popular projects like ESPEasy or Sonoff-Tasmota: You just download their firmware and flash it onto your chip. But if you’ve ever tried to go a bit beyond the basic set of functions of those frameworks and tried to do some customization, you will have probably noticed that it’s not that easy. Often times you’ll end up having to download some Arduino code project from the internet and customizing it to your needs. -This is where esphomlib comes in: The [esphomelib suite](https://esphomelib.com/esphomeyaml/index.html) is a set of tools that are designed with the goal of achieving the best possible user experience. esphomelib a) allows for lots of customization without touching *a single line* of code and b) has complete Home Assistant integration. Inside the esphomelib ecosystem, you essentially just have to write a simple YAML configuration file. The rest like compiling, flashing, uploading etc. will then be taken care of automatically. +This is where esphomelib comes in: The [esphomelib suite](https://esphomelib.com/esphomeyaml/index.html) is a set of tools that are designed with the goal of achieving the best possible user experience. esphomelib a) allows for lots of customization without touching *a single line* of code and b) has complete Home Assistant integration. Inside the esphomelib ecosystem, you essentially just have to write a simple YAML configuration file. The rest like compiling, flashing, uploading etc. will then be taken care of automatically. From 305c0904b594751ae894521a3fd6771ee7096fc7 Mon Sep 17 00:00:00 2001 From: mihalski Date: Sun, 10 Jun 2018 19:54:53 +1000 Subject: [PATCH 05/20] Add xiaomi_gwto ignore list Add missing Xiaomi Aqara gateway (xiaomi_gw) to ignore list --- source/_components/discovery.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_components/discovery.markdown b/source/_components/discovery.markdown index f369ce67c13..7573a4a8898 100644 --- a/source/_components/discovery.markdown +++ b/source/_components/discovery.markdown @@ -87,6 +87,7 @@ Valid values for ignore are: * `wink`: Wink Hub * `yamaha`: Yamaha media player * `yeelight`: Yeelight Sunflower bulb + * `xiaomi_gw`: Xiaomi Aqara gateway - **enable** (*Optional*): A list of platforms not enabled by default that `discovery` should discover. From fb8773ae6f85bdeee8ee95596c16f9c2b392e78d Mon Sep 17 00:00:00 2001 From: mihalski Date: Sun, 10 Jun 2018 20:25:18 +1000 Subject: [PATCH 06/20] Add missing components to discover and ignore list Add Xiaomi Gateway (Aqara) and Samsung SyncThru Printer to discovery list and samsung_printer to ignore list. --- source/_components/discovery.markdown | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/_components/discovery.markdown b/source/_components/discovery.markdown index f369ce67c13..cd5d36c980f 100644 --- a/source/_components/discovery.markdown +++ b/source/_components/discovery.markdown @@ -34,12 +34,14 @@ Home Assistant can discover and automatically configure [zeroconf](https://en.wi * [Plex media server](/components/media_player.plex/) * [Roku media player](/components/media_player.roku/) * [SABnzbd downloader](/components/sensor.sabnzbd/) + * [Samsung SyncThru Printer](/components/sensor.syncthru/) * [Samsung TVs](/components/media_player.samsungtv/) * [Sonos speakers](/components/media_player.sonos/) * [Telldus Live](/components/tellduslive/) * [Wink](/components/wink/) * [Yamaha media player](/components/media_player.yamaha/) * [Yeelight Sunflower bulb](/components/light.yeelightsunflower/) + * [Xiaomi Gateway (Aqara)](/components/xiaomi_aqara/) It will be able to add Google Chromecasts and Belkin WeMo switches automatically, for Philips Hue it will require some configuration from the user. @@ -80,6 +82,7 @@ Valid values for ignore are: * `plex_mediaserver`: Plex media server * `roku`: Roku media player * `sabnzbd`: SABnzbd downloader + * `samsung_printer`: Samsung SyncThru Printer * `samsung_tv`: Samsung TVs * `sonos`: Sonos speakers * `songpal` : Songpal From 0df2ecc55010515be46c5e2b53dec399668c1362 Mon Sep 17 00:00:00 2001 From: mihalski Date: Sun, 10 Jun 2018 21:00:01 +1000 Subject: [PATCH 07/20] Required / recommended generic Linux packages (#5513) * Required / recommended generic Linux packages As per Frenck's advice this is the current list of packages that Hass.io would like to have / require: apparmor-utils apt-transport-https avahi-daemon ca-certificates curl dbus jq network-manager socat software-properties-common It would be helpful if this was mentioned in the generic Linux server install section. * Move list --- source/hassio/installation.markdown | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown index 2554de82f4b..ab4390e7b15 100644 --- a/source/hassio/installation.markdown +++ b/source/hassio/installation.markdown @@ -54,7 +54,22 @@ If you copy over your existing Home Assistant configuration, make sure to enable ## {% linkable_title Alternative: install on generic Linux server %} -For advanced users, it is also possible to try Hass.io on your [Linux server or inside a virtual machine][linux]. To do so, run the following command as root: +For advanced users, it is also possible to try Hass.io on your [Linux server or inside a virtual machine][linux]. + +This is the list of packages you need to have available on your system that will run Hass.io if you are using Debian/Ubuntu: + + - apparmor-utils + - apt-transport-https + - avahi-daemon + - ca-certificates + - curl + - dbus + - jq + - network-manager + - socat + - software-properties-common + +To perform the Hass.io installation, run the following command as root: ```bash curl -sL https://raw.githubusercontent.com/home-assistant/hassio-build/master/install/hassio_install | bash -s From 5841601cb09ce38b5bc5f5b14ae54128a303f4a8 Mon Sep 17 00:00:00 2001 From: Matt Snyder Date: Sun, 10 Jun 2018 12:25:39 -0500 Subject: [PATCH 08/20] Add support for multiple Doorbird stations (#5205) --- source/_components/doorbird.markdown | 139 +++++++++----------- source/_components/switch.doorbird.markdown | 14 +- 2 files changed, 75 insertions(+), 78 deletions(-) diff --git a/source/_components/doorbird.markdown b/source/_components/doorbird.markdown index a16e7908624..43f30816d94 100644 --- a/source/_components/doorbird.markdown +++ b/source/_components/doorbird.markdown @@ -20,89 +20,78 @@ To connect your device, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry doorbird: - host: DOORBIRD_IP_OR_HOSTNAME - username: YOUR_USERNAME - password: YOUR_PASSWORD - hass_url_override: HASS_IP + devices: + - host: DOORBIRD_IP_OR_HOSTNAME + username: YOUR_USERNAME + password: YOUR_PASSWORD + hass_url_override: HASS_URL + name: Front Door + - host: DOORBIRD_IP_OR_HOSTNAME + username: YOUR_USERNAME + password: YOUR_PASSWORD + name: Driveway Gate + monitored_conditions: + - doorbell + - motion ``` -Configuration variables: +{% configuration %} +devices: + description: List of doorbird devices. + required: true + type: list + keys: + host: + description: The LAN IP address or hostname of your device. You can find this by going to the [DoorBird Online check](http://www.doorbird.com/checkonline) and entering the information from the paper that was included in the box. + required: true + type: string + username: + description: The username of a non-administrator user account on the device. + required: true + type: string + password: + description: The password for the user specified. + required: true + type: string + name: + description: Custom name for this device. + required: false + type: string + hass_url_override: + description: 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. + required: false + type: string + monitored_conditions: + description: Monitor motion and/or doorbell events for this device. + required: false + type: string + keys: + doorbell: + description: Monitor doorbell events + motion: + description: Monitor motion events (Motion monitoring must be enabled on the doorstation via DoorBird app) -- **host** (*Required*): The LAN IP address or hostname of your device. You can find this by going to the [DoorBird Online check](http://www.doorbird.com/checkonline) and entering the information from the paper that was included in the box. -- **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. +{% endconfiguration %} + +The configuration above is also used by the following components: +- [Camera](../camera.doorbird) - View live and historical event based images +- [Switch](../switch.doorbird) - Enable control of relays and camera night vision + +## {% linkable_title Motion and Doorbell Events %} + +Home Assistant will fire an event any time a `monitored_condition` happens on a doorstation. Event names are created using the format `doorbird_{station}_{event}` (Examples: `doorbird_side_entry_button`, `doorbird_side_entry_motion`). You can verify the assigned event names in the Home Assistant log file.

-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. +Enabling any monitored condition will delete all registered notification services on the doorstation 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 referring to the `master`. - -Automation file: - +### {% linkable_title Automation Example %} ```yaml -- alias: Doorbird ring +- alias: Doorbird Ring trigger: platform: event - event_type: doorbird_doorbell + event_type: doorbird_side_entry_button 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 -``` + service: light.turn_on + entity_id: light.side_entry_porch +``` \ No newline at end of file diff --git a/source/_components/switch.doorbird.markdown b/source/_components/switch.doorbird.markdown index cb5b66db171..fcd862aa901 100644 --- a/source/_components/switch.doorbird.markdown +++ b/source/_components/switch.doorbird.markdown @@ -30,6 +30,14 @@ switch: - open_door ``` -Configuration variables: - -- **switches** (*Required*): A list of switches to include. Possible entries are `light_on` for control of the IR array and `open_door` for control of an electronic door strike or alarm. +{% configuration %} +switches: + description: A list of switches to include. Possible entries are `light_on` for control of the IR array and `open_door` for control of an electronic door strike or alarm. + required: false + type: list + keys: + light_on: + description: Enable the IR light for 3 minutes. + open_door: + description: Activate DoorBird door relay +{% endconfiguration %} From e622fc127dfc6e0137709f1733d2a63078fcfe9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Mon, 11 Jun 2018 15:30:59 +0200 Subject: [PATCH 09/20] Missing a bracket in one of the examples (#5526) --- source/_docs/automation/trigger.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/automation/trigger.markdown b/source/_docs/automation/trigger.markdown index 124ef453aa4..edccbd457b8 100644 --- a/source/_docs/automation/trigger.markdown +++ b/source/_docs/automation/trigger.markdown @@ -134,7 +134,7 @@ automation: trigger: platform: numeric_state entity_id: sun.sun - value_template: "{{ state.attributes.elevation }" + value_template: "{{ state.attributes.elevation }}" # Can be a positive or negative number below: -4.0 action: From 1ab264d95281e345255a928b3572a495ba501786 Mon Sep 17 00:00:00 2001 From: Dane Peterson Date: Mon, 11 Jun 2018 09:32:06 -0400 Subject: [PATCH 10/20] Fixed broken link in weather.markdown (#5523) Link was broken, pointed to old html version of file. Updated to point to the current JavaScript file to allow curious people like me to find it more easily without having to track it down. --- source/_components/weather.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/weather.markdown b/source/_components/weather.markdown index c256cae2a8f..25fde662082 100644 --- a/source/_components/weather.markdown +++ b/source/_components/weather.markdown @@ -15,7 +15,7 @@ Home Assistant currently supports free web services and such which require a reg ## {% 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). +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.js#L170). - 'cloudy' - 'fog' From fdaa434d4305f13a92315872be23cb92b0802922 Mon Sep 17 00:00:00 2001 From: Kjetil Date: Mon, 11 Jun 2018 15:32:36 +0200 Subject: [PATCH 11/20] Tested JS8005 (#5522) State tracking OK, unable to control --- source/_components/media_player.samsungtv.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_components/media_player.samsungtv.markdown b/source/_components/media_player.samsungtv.markdown index d944b2b3a74..be74c408387 100644 --- a/source/_components/media_player.samsungtv.markdown +++ b/source/_components/media_player.samsungtv.markdown @@ -73,6 +73,7 @@ Currently tested but not working models: - J5500 - State is always "on" and unable to control (but port 8001 *is* open) - JU7000 - Unable to see state and unable to control (but port 8001 *is* open) - JU7500 - Unable to see state and unable to control +- JS8005 - State tracking working but unable to control (but port 8001 *is* open) - JS9000 - State is always "on" and unable to control (but port 8001 *is* open) - JS9500 - State is always "on" and unable to control (but port 8001 *is* open) - MU6300 - Port set to 8001, `pip3 install websocket-client` must be executed, turning on works, status not working reliably, turning off is not permanent (it comes back on) From be8af2b6463ff169ffe103542f7b0784d65c8702 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 12 Jun 2018 02:15:47 +0200 Subject: [PATCH 12/20] Add more details for the setup (#5528) * Add more details for the setup * Rephrase --- source/_components/sensor.netdata.markdown | 28 +++++++++++++++++-- source/images/components/netdata/details.png | Bin 0 -> 35864 bytes 2 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 source/images/components/netdata/details.png diff --git a/source/_components/sensor.netdata.markdown b/source/_components/sensor.netdata.markdown index 986e8f849ba..6cf4c3e1d86 100644 --- a/source/_components/sensor.netdata.markdown +++ b/source/_components/sensor.netdata.markdown @@ -16,10 +16,34 @@ ha_iot_class: "Local Polling" The `netdata` sensor platform allows you to display information collected by [Netdata](http://my-netdata.io/). +## {% linkable_title Setup %} + +Getting the details to configure the sensors is a bit tricky as Netdata uses different name for the `element:` value that is required. To get the value for the `data_group:` use Netdata's web interface. `1.` marks the name for the `data_group:`. `2.` are the names for the element to show in Home Assistant. The name that is shown can be different than the name under which the metrics are available. + +

+ +

+ +To check if the `element:` name matches the name in the Netdata frontend, use `curl` with the IP address of your Netdata instance, its port and the `data_group`: + +```bash +$ curl -X GET "http://[Netdata_Instance]:19999/api/v1/data?chart=[data_group]&points=2&options=jsonwrap" +{ + "api": 1, + "id": "system.ipv4", + "name": "system.ipv4", +[...] + "dimension_names": ["received", "sent"], + "dimension_ids": ["InOctets", "OutOctets"], +[...] +``` + +- `dimension_names`: Names shown in the frontend. +- `dimension_ids`: Names to use for `element`. + + ## {% linkable_title Configuration %} - - To add this platform to your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/images/components/netdata/details.png b/source/images/components/netdata/details.png new file mode 100644 index 0000000000000000000000000000000000000000..13f57d7e16f9dde37e4544cba602bdd1f43aa912 GIT binary patch literal 35864 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 My85}Sb4q9e08QpCHvj+t literal 0 HcmV?d00001 From fa699f82b5e441b24ac0552c7736f5338cafafa1 Mon Sep 17 00:00:00 2001 From: Felix Fischer Date: Wed, 13 Jun 2018 14:51:54 +0200 Subject: [PATCH 13/20] Correct cache_value (#5537) The default cache_value is 300, not 1200: https://github.com/home-assistant/home-assistant/blob/fecce206a9ce3e869938478feb32ddede533dffd/homeassistant/components/sensor/mitemp_bt.py#L30 --- source/_components/sensor.mitemp_bt.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.mitemp_bt.markdown b/source/_components/sensor.mitemp_bt.markdown index 12a67606d42..c10b3ba39e2 100644 --- a/source/_components/sensor.mitemp_bt.markdown +++ b/source/_components/sensor.mitemp_bt.markdown @@ -70,7 +70,7 @@ sensor: - **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) +- **cache_value** (*Optional*): Define cache expiration value in seconds (defaults to 300 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 temperatures don't change that quickly. From 905b38ebece115ba5f4e1dabfc65ae770eacd828 Mon Sep 17 00:00:00 2001 From: cby016 Date: Wed, 13 Jun 2018 17:57:09 -0600 Subject: [PATCH 14/20] Update control-panel.markdown --- source/_docs/z-wave/control-panel.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/z-wave/control-panel.markdown b/source/_docs/z-wave/control-panel.markdown index ee08d772d8b..7bc3d006b64 100644 --- a/source/_docs/z-wave/control-panel.markdown +++ b/source/_docs/z-wave/control-panel.markdown @@ -33,7 +33,7 @@ Here is where you [include and exclude](/docs/z-wave/adding/) Z-Wave devices fro ## {% linkable_title Z-Wave Node Management %}

-Since 0.63 and the new experimental [entity registry](/docs/configuration/entity-registry/) **Rename Node** no longer changes the entity id for anything other than the `zwave.` entity for the node (it does change the default *friendly_name* attribute for all the entities). See [this issue](https://github.com/home-assistant/home-assistant/issues/12430). +Since 0.63 and the new experimental [entity registry](/docs/configuration/entity-registry/) **Rename Node** no longer changes the entity id for anything other than the `zwave.` entity for the node (it does change the default *friendly_name* attribute for all the entities). If you would like to update the entity id after renaming a z-wave device, you need to manually edit the [entity_registry.yaml](/docs/configuration/entity-registry/) file. See [this issue](https://github.com/home-assistant/home-assistant/issues/12430).

* **Refresh Node** refreshes the information on the node and its entities. If used on a battery powered device, the device will first need to wake for this to work. From a1f49cce8a0fbef912013f61c0f52d2ad2ddd6c2 Mon Sep 17 00:00:00 2001 From: Jon Griffith <32052562+arretx@users.noreply.github.com> Date: Wed, 13 Jun 2018 21:06:00 -0700 Subject: [PATCH 15/20] HASS.io image changed... (#5539) * HASS.io image changed... I made the mistake of copying and pasting line 34-36 into my MacOS terminal and noticed that the file name has changed since this was written. * Minor change --- source/hassio/installation.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown index ab4390e7b15..3d62ece3620 100644 --- a/source/hassio/installation.markdown +++ b/source/hassio/installation.markdown @@ -32,8 +32,8 @@ Please remember to ensure you're using an [appropriate power supply](https://www There is an easy workaround, just uncompress the image first. ```bash - bunzip2 -c resinos-hassio-1.1-raspberrypi3.img.bz2 > image.img - ``` + $ bunzip2 -c resinos-hassio-1.3-raspberrypi3.img.bz2 > image.img + ```

- Optional - Setup the WiFi or static IP: On the SD-card, edit the `system-connections/resin-sample` file and follow the [ResinOS howto][resinos-network]. @@ -72,7 +72,7 @@ This is the list of packages you need to have available on your system that will To perform the Hass.io installation, run the following command as root: ```bash -curl -sL https://raw.githubusercontent.com/home-assistant/hassio-build/master/install/hassio_install | bash -s +$ curl -sL https://raw.githubusercontent.com/home-assistant/hassio-build/master/install/hassio_install | bash -s ```

From 061054ca11431452f95f5dda6da49b114ecba68a Mon Sep 17 00:00:00 2001 From: themanieldaniel Date: Thu, 14 Jun 2018 00:11:07 -0400 Subject: [PATCH 16/20] Update climate.modbus.markdown (#5536) --- source/_components/climate.modbus.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/climate.modbus.markdown b/source/_components/climate.modbus.markdown index eeb376ef8ef..62163a316aa 100644 --- a/source/_components/climate.modbus.markdown +++ b/source/_components/climate.modbus.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: modbus.png -ha_category: Thermostat +ha_category: Climate ha_release: 0.68 ha_iot_class: "Local Polling" --- From 15dd6dba7ea30c0f44dbe8e190a8ff5202cde087 Mon Sep 17 00:00:00 2001 From: Matt White Date: Thu, 14 Jun 2018 23:38:58 +0100 Subject: [PATCH 17/20] Add section on Mosquitto ACLs (#5542) * Add section on Mosquitto ACLs * Fix typo --- source/_addons/mosquitto.markdown | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/source/_addons/mosquitto.markdown b/source/_addons/mosquitto.markdown index d6c188355ce..2150b1a3080 100644 --- a/source/_addons/mosquitto.markdown +++ b/source/_addons/mosquitto.markdown @@ -18,7 +18,8 @@ Set up [Mosquitto](https://mosquitto.org/) as MQTT broker. "ssl": false, "anonymous": true, "logins": [ - {"username": "testuser", "password": "mypw"} + {"username": "testuser", "password": "mypw"}, + {"username": "testuser2", "password": "mypw2"} ], "customize": { "active": false, @@ -76,3 +77,22 @@ protocol mqtt

It's recommended that you only open your firewall to the SSL/TLS port (8883) and only use the insecure port (1883) for local devices. Also, disable `anonymous:` and set `logins:`.

+ +### {% linkable_title Access Control Lists (ACLs) %} + +It is possible to restrict access to topics based upon the user logged in to Mosquitto. In this scenario it is recommended to create individual users for each of your clients and create an appropriate ACL. + +See the following links for more information: + +* [Mosquitto topic restrictions](http://www.steves-internet-guide.com/topic-restriction-mosquitto-configuration/) +* [Mosquitto.conf man page](https://mosquitto.org/man/mosquitto-conf-5.html) + +Add the following configuration to enable ACLs: + +1. Set `customize` flag to `true` in your configuration. +2. Create a file in `/share/mosquitto` named `acl.conf` with the following contents: + +```text +acl_file /share/mosquitto/accesscontrollist +``` +3. Create a file in `/share/mosquitto` named `accesscontrollist` and add contents according to your requirements. From 0b4d5215cd4290026e91be4049949ec6b7386594 Mon Sep 17 00:00:00 2001 From: Robert Date: Fri, 15 Jun 2018 15:28:05 +0200 Subject: [PATCH 18/20] Fix rest_command documentation The page was probably copied from the switch component. Minor change to fix this. --- source/_components/rest_command.markdown | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/_components/rest_command.markdown b/source/_components/rest_command.markdown index 44753967304..962d92e3c43 100644 --- a/source/_components/rest_command.markdown +++ b/source/_components/rest_command.markdown @@ -18,7 +18,7 @@ This component can expose regular REST commands as services. Services can be cal [script]: /components/script/ [automation]: /getting-started/automation/ -To enable this switch, add the following lines to your `configuration.yaml` file: +To use this component, add the following lines to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -39,4 +39,5 @@ Configuration variables: - **timeout** (*Optional*): Timeout for requests. Defaults to 10 seconds. - **content_type** (*Optional*): Content type for the request. -The commands can be dynamic, using templates to insert values of other entities. Service call support variables for template stuff. +The commands can be dynamic, using templates to insert values of other entities. +Service call support variables for template stuff. From 0dbb6aacf1f40a8567d45968e33709f99fcba9a2 Mon Sep 17 00:00:00 2001 From: Robert Date: Fri, 15 Jun 2018 20:19:40 +0200 Subject: [PATCH 19/20] Add note about max RPi speed Fixes #5540 --- source/_components/sensor.fastdotcom.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_components/sensor.fastdotcom.markdown b/source/_components/sensor.fastdotcom.markdown index 54af9e77cc1..1f808674777 100644 --- a/source/_components/sensor.fastdotcom.markdown +++ b/source/_components/sensor.fastdotcom.markdown @@ -50,3 +50,7 @@ Configuration variables: - **manual** (*Optional*): True or False to turn manual mode on or off. Manual mode will disable scheduled speedtests. There is also a service named `sensor.update_fastdotcom` that you can use to run a fast.com speedtest on demand. You can turn on manual mode to disable the scheduled speedtests. + +## Note + +- When running on Raspberry Pi, just note that the maximum speed is limited by its 100 Mbit/s LAN adapter. From 579f8b5cd80f0ae8a69e418c95b0c441c6637de2 Mon Sep 17 00:00:00 2001 From: Daniel Shokouhi Date: Fri, 15 Jun 2018 13:13:17 -0700 Subject: [PATCH 20/20] Update password description better than just "v" :) --- source/_components/neato.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/neato.markdown b/source/_components/neato.markdown index 4d20d67f368..611bc77c00d 100644 --- a/source/_components/neato.markdown +++ b/source/_components/neato.markdown @@ -29,7 +29,7 @@ username: required: true type: string password: - description: v + description: Password for the Neato account. required: true type: string {% endconfiguration %}