From 2fd2e110e99c6bf8a64ebf20d6014e6485ca2027 Mon Sep 17 00:00:00 2001
From: Fabian Affolter
Date: Sat, 4 Nov 2017 17:30:15 +0100
Subject: [PATCH 01/38] remove file with the wrong extension
---
source/_components/climate.ephember | 33 -----------------------------
1 file changed, 33 deletions(-)
delete mode 100644 source/_components/climate.ephember
diff --git a/source/_components/climate.ephember b/source/_components/climate.ephember
deleted file mode 100644
index 962b34746e2..00000000000
--- a/source/_components/climate.ephember
+++ /dev/null
@@ -1,33 +0,0 @@
----
-layout: page
-title: "EPH Controls Ember Thermostat"
-description: "Instructions on how to integrate EPH Controls Ember thermostats within Home Assistant."
-date: 2017-10-07 12:40
-sidebar: true
-comments: false
-sharing: true
-footer: true
-logo: ephcontrolsember.png
-ha_category: Climate
-ha_release: "0.55"
-ha_iot_class: "Local Polling"
----
-
-
-The `ephember` climate platform lets you control [EPH Controls](http://emberapp.ephcontrols.com/) thermostats. The module only works if you have a WiFi gateway to control your EPH system and an account on the ember app.
-
-To set it up, add the following information to your `configuration.yaml` file:
-
-```yaml
-climate:
- - platform: ephember
- username: YOUR_EMAIL
- password: YOUR_PASSWORD
-```
-
-A single interface can handle up to 32 connected devices.
-
-Configuration variables:
-
-- **username** (*Required*): The email address you used to sign up to the ember app
-- **password** (*Required*): The password you used to sign up to the ember app
From 6305c7c352a3f1099f7182afa55ba00214400682 Mon Sep 17 00:00:00 2001
From: Fabian Affolter
Date: Sat, 4 Nov 2017 17:37:34 +0100
Subject: [PATCH 02/38] Add checklist
---
.github/PULL_REQUEST_TEMPLATE.md | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index 7e57b113669..cb3d41a9271 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -3,3 +3,8 @@
**Pull request in [home-assistant](https://github.com/home-assistant/home-assistant) (if applicable):** home-assistant/home-assistant#
+## Checklist:
+
+ - [ ] Branch: Fixes, changes and adjustments should be created against `current`. New documentation for platforms/components and features should go to `next`.
+ - [ ] The documention follow the [standards](https://home-assistant.io/developers/documentation/standards/).
+
From a8c9989b37180cdda4858aa3cfb657e332da9867 Mon Sep 17 00:00:00 2001
From: Fabian Affolter
Date: Sat, 4 Nov 2017 17:43:01 +0100
Subject: [PATCH 03/38] Fix link and typo
---
.github/PULL_REQUEST_TEMPLATE.md | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index cb3d41a9271..30f074df148 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -6,5 +6,6 @@
## Checklist:
- [ ] Branch: Fixes, changes and adjustments should be created against `current`. New documentation for platforms/components and features should go to `next`.
- - [ ] The documention follow the [standards](https://home-assistant.io/developers/documentation/standards/).
+ - [ ] The documentation follow the [standards][standards].
+[standards]: https://home-assistant.io/developers/documentation/standards/
From 92f20523113934fdc5b04aa2e8658c219fdb8748 Mon Sep 17 00:00:00 2001
From: Paulus Schoutsen
Date: Sat, 4 Nov 2017 12:59:01 -0700
Subject: [PATCH 04/38] Release 0.57.1
---
_config.yml | 4 ++--
source/_posts/2017-11-04-release-57.markdown | 4 ++++
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/_config.yml b/_config.yml
index 9500187094b..1aed6ec7cba 100644
--- a/_config.yml
+++ b/_config.yml
@@ -140,11 +140,11 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 57
-current_patch_version: 0
+current_patch_version: 1
date_released: 2017-11-04
# 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-0571--november-4"
# Minor release (Example #release-0431---april-25):
diff --git a/source/_posts/2017-11-04-release-57.markdown b/source/_posts/2017-11-04-release-57.markdown
index 0a0e117979f..7bf4f6514fc 100644
--- a/source/_posts/2017-11-04-release-57.markdown
+++ b/source/_posts/2017-11-04-release-57.markdown
@@ -83,6 +83,10 @@ Okay, one more highlight before we'll let you check out the changelog. Contribut
- integration with Remember The Milk. ([@ChristianKuehnel] - [#9803]) ([remember_the_milk docs]) (new-platform)
- Luftdaten sensor ([@lichtteil] - [#10274]) ([sensor.luftdaten docs]) (new-platform)
+## {% linkable_title release 0.57.1 - november 4 %}
+
+ - Fix login screen not showing when no password stored ([@balloob])
+
## {% linkable_title If you need help... %}
...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e). The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks.
From 8d752574c63eda05539725ffb029e2cfce9f20b9 Mon Sep 17 00:00:00 2001
From: Fabian Affolter
Date: Sat, 4 Nov 2017 21:25:31 +0100
Subject: [PATCH 05/38] Update 'ha_release'
---
source/_components/switch.rainbird.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/_components/switch.rainbird.markdown b/source/_components/switch.rainbird.markdown
index 455c9118ac8..44134393a61 100644
--- a/source/_components/switch.rainbird.markdown
+++ b/source/_components/switch.rainbird.markdown
@@ -9,7 +9,7 @@ sharing: true
footer: true
logo: rainbird.png
ha_category: Hub
-ha_release: 0.50
+ha_release: 0.57
ha_iot_class: "Local Polling"
---
From 1090740531949558cfcf3e9ca8de11d13b7780e1 Mon Sep 17 00:00:00 2001
From: Fabian Affolter
Date: Sat, 4 Nov 2017 23:11:05 +0100
Subject: [PATCH 06/38] New configuration variable style
---
.../binary_sensor.template.markdown | 53 ++++++++--------
source/_components/sensor.luftdaten.markdown | 10 +---
.../sensor.openweathermap.markdown | 60 ++++++++++++++-----
3 files changed, 74 insertions(+), 49 deletions(-)
diff --git a/source/_components/binary_sensor.template.markdown b/source/_components/binary_sensor.template.markdown
index 62f2a50b1ba..009f4131ddd 100644
--- a/source/_components/binary_sensor.template.markdown
+++ b/source/_components/binary_sensor.template.markdown
@@ -39,31 +39,36 @@ binary_sensor:
required: true
type: map
keys:
- friendly_name:
- description: Name to use in the frontend.
- required: false
- type: string
- entity_id:
- description: Add a list of entity IDs so the sensor only reacts to state changes of these entities. This will reduce the number of times the sensor will try to update its state.
- required: false
- type: string, list
- device_class:
- description: The type/class of the sensor to set the icon in the frontend.
- required: false
- type: device_class
- default: None
- value_template:
- description: Defines a template to set the state of the sensor.
+ sensor_name:
+ description: The slug of the sensor.
required: true
- type: template
- delay_on:
- description: The amount of time the template state must be ***met*** before this sensor will switch to `on`.
- required: false
- type: time
- delay_off:
- description: The amount of time the template state must be ***not met*** before this sensor will switch to `off`.
- required: false
- type: time
+ type: map
+ keys:
+ friendly_name:
+ description: Name to use in the frontend.
+ required: false
+ type: string
+ entity_id:
+ description: Add a list of entity IDs so the sensor only reacts to state changes of these entities. This will reduce the number of times the sensor will try to update its state.
+ required: false
+ type: string, list
+ device_class:
+ description: The type/class of the sensor to set the icon in the frontend.
+ required: false
+ type: device_class
+ default: None
+ value_template:
+ description: Defines a template to set the state of the sensor.
+ required: true
+ type: template
+ delay_on:
+ description: The amount of time the template state must be ***met*** before this sensor will switch to `on`.
+ required: false
+ type: time
+ delay_off:
+ description: The amount of time the template state must be ***not met*** before this sensor will switch to `off`.
+ required: false
+ type: time
{% endconfiguration %}
## {% linkable_title Considerations %}
diff --git a/source/_components/sensor.luftdaten.markdown b/source/_components/sensor.luftdaten.markdown
index 5e4b7cde98f..486b10e5f2a 100644
--- a/source/_components/sensor.luftdaten.markdown
+++ b/source/_components/sensor.luftdaten.markdown
@@ -46,7 +46,7 @@ sensor:
default: Luftdaten Sensor
type: string
resource:
- description: The URL of the API endpoint. Usually this has not to be changed.
+ description: The URL of the API endpoint. Usually this has not to be changed.
required: false
default: https://api.luftdaten.info/v1/sensor/
type: string
@@ -62,19 +62,11 @@ sensor:
keys:
P1:
description: Show the particle sensors (particles 10 microns and below).
- required: false
- type: string
P2:
description: Show the particle sensors (particles 2.5 microns and below).
- required: false
- type: string
temperature:
description: Display the temperature from a weather sensor.
- required: false
- type: string
humidity:
description: Display the humidity from a weather sensor.
- required: false
- type: string
{% endconfiguration %}
diff --git a/source/_components/sensor.openweathermap.markdown b/source/_components/sensor.openweathermap.markdown
index 116d4cd9e3d..b323534b014 100644
--- a/source/_components/sensor.openweathermap.markdown
+++ b/source/_components/sensor.openweathermap.markdown
@@ -29,21 +29,49 @@ sensor:
- weather
```
-Configuration variables:
-
-- **api_key** (*Required*): Your API key for http://openweathermap.org/.
-- **name** (*Optional*): Additional name for the sensors. Default to platform name.
-- **forecast** (*Optional*): Enables the forecast. The default is to display the current conditions.
-- **language** (*Optional*): The language in which you want text results to be returned. It's a two-characters string, eg. `en`, `es`, `ru`, `it`, etc. Defaults to English.
-- **monitored_conditions** array (*Required*): Conditions to display in the frontend.
- - **weather**: A human-readable text summary.
- - **temperature**: The current temperature.
- - **wind_speed**: The wind speed.
- - **wind_bearing**: The wind bearing.
- - **humidity**: The relative humidity.
- - **pressure**: The sea-level air pressure in millibars.
- - **clouds**: Description about cloud coverage.
- - **rain**: The rain volume.
- - **snow**: The snow volume
+{% configuration %}
+ apk_key:
+ description: Your API key for http://openweathermap.org/.
+ required: true
+ type: string
+ name:
+ description: Additional name for the sensors. Default to platform name.
+ required: false
+ default: OWM
+ type: string
+ forecast:
+ description: Enables the forecast. The default is to display the current conditions.
+ required: false
+ default: false
+ type: string
+ language:
+ description: The language in which you want text results to be returned. It's a two-characters string, eg. `en`, `es`, `ru`, `it`, etc.
+ required: false
+ default: en
+ type: string
+ monitored_conditions:
+ description: Conditions to display in the frontend.
+ required: true
+ type: list
+ keys:
+ weather:
+ description: A human-readable text summary.
+ temperature:
+ description: The current temperature.
+ wind_speed:
+ description: The wind speed.
+ wind_bearing:
+ description: The wind bearing.
+ humidity:
+ description: The relative humidity.
+ pressure:
+ description: The sea-level air pressure in millibars.
+ clouds:
+ description: Description about cloud coverage.
+ rain:
+ description: The rain volume.
+ snow:
+ description: The snow volume.
+{% endconfiguration %}
Details about the API are available in the [OpenWeatherMap documentation](http://openweathermap.org/api).
From 4e61e68e7c9d408ff3735ab8630094077eed4cc0 Mon Sep 17 00:00:00 2001
From: DubhAd
Date: Sun, 5 Nov 2017 10:33:24 +0000
Subject: [PATCH 07/38] Added HassIO details and troubleshooting
Included the HassIO specific details here too
Also added basic troubleshooting steps that have come up a few times
---
source/_docs/z-wave/installation.markdown | 44 +++++++++++++++++++++++
1 file changed, 44 insertions(+)
diff --git a/source/_docs/z-wave/installation.markdown b/source/_docs/z-wave/installation.markdown
index b7b6a12336f..40ef9739c62 100644
--- a/source/_docs/z-wave/installation.markdown
+++ b/source/_docs/z-wave/installation.markdown
@@ -153,6 +153,23 @@ On macOS you can find the USB stick with:
$ ls /dev/cu.usbmodem*
```
+### {% linkable_title Hass.io %}
+
+To enable Z-Wave, plug your Z-Wave USB stick into your Raspberry Pi 3 and add the following to your `configuration.yaml`:
+
+```yaml
+zwave:
+ usb_path: /dev/ttyACM0
+```
+
+For some devices the `/dev/ttyAMA0` device is not detected by udev and is therefore not mapped by Docker. To explicitly set this device for mapping to Home-Assistant, execute the following command using the ssh add-on:
+
+```bash
+$ curl -d '{"devices": ["ttyAMA0"]}' http://hassio/homeassistant/options
+```
+
+After that, you need to change `usb_path` to `/dev/ttyAMA0`.
+
### {% linkable_title Network Key %}
Security Z-Wave devices require a network key before being added to the network using the Add Secure Node button in the Z-Wave Network Management card. You must set the *network_key* configuration variable to use a network key before adding these devices.
@@ -167,3 +184,30 @@ Ensure you keep a backup of this key. If you have to rebuild your system and don
## {% linkable_title First Run %}
Upon first run, the `zwave` component will take time to initialize entities and entities may appear with incomplete names. Running a network heal may speed up this process.
+
+## {% linkable_title Troubleshooting %}
+
+### {% 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:
+
+```bash
+ls -l /dev/ttyAMA0
+```
+
+You should then see something like this:
+
+```
+crw-rw---- 1 root dialout 204, 64 Apr 1 12:34 /dev/ttyAMA0
+```
+
+The important pieces are the first piece `crw-rw----` and the group `dialout`. If those are different then, for your device path, run:
+
+```bash
+sudo chgrp dialout /dev/ttyAMA0
+sudo chmod g+rw /dev/ttyAMA0
+```
+
+### {% 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.
From 8be4e77c6e010df0da15185aefa8e6bd02ec822f Mon Sep 17 00:00:00 2001
From: scottjones4k
Date: Sun, 5 Nov 2017 11:01:47 +0000
Subject: [PATCH 08/38] Corrected syntax for remember the milk config (#3892)
---
source/_components/remember_the_milk.markdown | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/source/_components/remember_the_milk.markdown b/source/_components/remember_the_milk.markdown
index d76670fb86e..d4cc22fa10d 100644
--- a/source/_components/remember_the_milk.markdown
+++ b/source/_components/remember_the_milk.markdown
@@ -26,7 +26,7 @@ To be able to use this component, you need a Remember The Milk account and you n
# Example configuration.yaml entry
remember_the_milk:
- your_rtm_account:
+ - name: your_rtm_account
api_key:
shared_secret:
@@ -35,7 +35,7 @@ remember_the_milk:
Configuration variables:
{% configuration %}
- account_name:
+ name:
description: Name of the RTM account, as you can have serveral accounts in RTM. The name must be unique.
required: true
type: string
From 70167e3d743b0a74eb117da0de7fc61309aa4183 Mon Sep 17 00:00:00 2001
From: Fabian Affolter
Date: Sat, 4 Nov 2017 23:16:42 +0100
Subject: [PATCH 09/38] Remove link
---
source/_components/sensor.openweathermap.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/_components/sensor.openweathermap.markdown b/source/_components/sensor.openweathermap.markdown
index b323534b014..9dc0e763c1c 100644
--- a/source/_components/sensor.openweathermap.markdown
+++ b/source/_components/sensor.openweathermap.markdown
@@ -31,7 +31,7 @@ sensor:
{% configuration %}
apk_key:
- description: Your API key for http://openweathermap.org/.
+ description: Your API key for OpenWeatherMap.
required: true
type: string
name:
From f511bea3e26d3a50e72cb436d4fd22712f8f73a5 Mon Sep 17 00:00:00 2001
From: Fabian Affolter
Date: Sun, 5 Nov 2017 14:05:12 +0100
Subject: [PATCH 10/38] Extent sample
---
.../documentation/create_page.markdown | 33 ++++++++++++-------
1 file changed, 21 insertions(+), 12 deletions(-)
diff --git a/source/developers/documentation/create_page.markdown b/source/developers/documentation/create_page.markdown
index 8002a1f623f..db3ca834c6a 100644
--- a/source/developers/documentation/create_page.markdown
+++ b/source/developers/documentation/create_page.markdown
@@ -49,22 +49,31 @@ Every platform page should contain a configuration sample. This sample must cont
The **Configuration Variables** section must use the {% raw %}`{% configuration %} ... {% endconfiguration %}`{% endraw %} tag.
-
-```text
{% raw %}
+```text
{% configuration %}
- api_key:
- description: The API key to access the service.
- required: true
- type: string
- name:
- description: Name to use in the frontend.
- required: false
- default: The default name to use in the frontend.
- type: string
+api_key:
+ description: The API key to access the service.
+ required: true
+ type: string
+name:
+ description: Name to use in the frontend.
+ required: false
+ default: The default name to use in the frontend.
+ type: string
+monitored_conditions:
+ description: Conditions to display in the frontend.
+ required: true
+ type: list
+ keys:
+ weather:
+ description: A human-readable text summary.
+ temperature:
+ description: The current temperature.
{% endconfiguration %}
-{% endraw %}
+
```
+{% endraw %}
Available keys:
From 043753d793bd65ab280bf960460adb47a4e05758 Mon Sep 17 00:00:00 2001
From: Petar Petrov
Date: Sun, 5 Nov 2017 15:09:43 +0200
Subject: [PATCH 11/38] Update allow_tradfri_groups in docs (#3895)
The previous docs were very unclear on this option
---
source/_components/tradfri.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/_components/tradfri.markdown b/source/_components/tradfri.markdown
index 1ce20d6a0c2..7cb555ad8d7 100644
--- a/source/_components/tradfri.markdown
+++ b/source/_components/tradfri.markdown
@@ -33,7 +33,7 @@ tradfri:
Configuration variables:
- **host** (*Required*): The IP address or hostname of your Trådfri gateway.
- - **allow_tradfri_groups** (*Optional*): Enable this to stop Home Assistant from importing the groups defined on the Trådfri bridge. Defaults to `true`.
+ - **allow_tradfri_groups** (*Optional*): Set this to `false` to stop Home Assistant from importing the groups defined on the Trådfri bridge. Defaults to `true`.
Do not use the `api_key` variable. The key is only needed once at initial setup.
From 9ea0d12b0c72d6189d16e6e5bf47266d2259379c Mon Sep 17 00:00:00 2001
From: Fabian Affolter
Date: Sun, 5 Nov 2017 14:24:14 +0100
Subject: [PATCH 12/38] Camera (#3896)
* Add 'whitelist_external_dirs'
* Add 'whitelist_external_dirs' and update style
---
source/_components/camera.markdown | 2 +
source/_components/camera.rpi_camera.markdown | 58 +++++++++++++++----
2 files changed, 49 insertions(+), 11 deletions(-)
diff --git a/source/_components/camera.markdown b/source/_components/camera.markdown
index 48d1f58f5f0..23cb4f87c1a 100644
--- a/source/_components/camera.markdown
+++ b/source/_components/camera.markdown
@@ -43,6 +43,8 @@ Take a snapshot from a camera.
| `entity_id` | no | Name(s) of entities to create a snopshot from, e.g., `camera.living_room_camera`. |
| `filename ` | no | Template of a file name. Variable is `entity_id`, e.g., {% raw %}`/tmp/snapshot_{{ entity_id }}`{% endraw %}. |
+The `filename` must be an entry in the `whitelist_external_dirs` in your [`homeassistant:`](/docs/configuration/basic/) section of your `configuration.yaml` file.
+
### {% linkable_title Test if it works %}
A simple way to test if you have set up your `camera` platform correctly, is to use
**Services** from the **Developer Tools**. Choose your service from the dropdown menu **Service**, enter something like the sample below into the **Service Data** field, and hit **CALL SERVICE**.
diff --git a/source/_components/camera.rpi_camera.markdown b/source/_components/camera.rpi_camera.markdown
index 7189dfd3d8a..6bfeb7696ea 100644
--- a/source/_components/camera.rpi_camera.markdown
+++ b/source/_components/camera.rpi_camera.markdown
@@ -24,17 +24,53 @@ camera:
- platform: rpi_camera
```
-Configuration variables:
-
- - **name** (*Optional*): Name of the camera
- - **image_width** (*Optional*): Set the image width (default: 640)
- - **image_height** (*Optional*): Set the image height (default: 480)
- - **image_quality** (*Optional*): Set the image quality (from 0 to 100, default: 7)
- - **image_rotation** (*Optional*): Set image rotation (0-359, default: 0)
- - **horizontal_flip** (*Optional*): Set horizontal flip (0 to disable, 1 to enable, default: 0)
- - **vertical_flip** (*Optional*): Set vertical flip (0 to disable, 1 to enable, default: 0)
- - **timelapse** (*Optional*): Takes a picture every ms (default: 1000)
- - **file_path** (*Optional*): Save the picture in a custom file path (default: camera components folder)
+{% configuration %}
+image_width:
+ description: Set the image width.
+ required: false
+ default: 640
+ type: int
+name:
+ description: Name of the camera.
+ required: false
+ default: Raspberry Pi Camera
+ type: string
+image_height:
+ description: Set the image height.
+ required: false
+ default: 480
+ type: int
+image_quality:
+ description: Set the image quality (from 0 to 100).
+ required: false
+ default: 7
+ type: int
+image_rotation:
+ description: Set image rotation (0-359).
+ required: false
+ default: 0
+ type: int
+horizontal_flip:
+ description: Set horizontal flip (0 to disable, 1 to enable).
+ required: false
+ default: 0
+ type: int
+vertical_flip:
+ description: Set vertical flip (0 to disable, 1 to enable).
+ required: false
+ default: 0
+ type: int
+timelapse:
+ description: Takes a picture every millisecond.
+ required: false
+ default: 1000
+ type: int
+file_path:
+ description: Save the picture in a custom file path.
+ required: false
+ default: The camera components folder.
+ type: string
+{% endconfiguration %}
The given **file_path** must be an existing file because the camera platform setup make a writeable check on it.
From b921d87dd39654a0046416866e3c3a7b4d39fd26 Mon Sep 17 00:00:00 2001
From: Fabian Affolter
Date: Sun, 5 Nov 2017 15:10:00 +0100
Subject: [PATCH 13/38] Add link to source code (#3873)
---
sass/custom/_paulus.scss | 6 +++---
source/_includes/asides/component_navigation.html | 12 ++++++++++--
2 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/sass/custom/_paulus.scss b/sass/custom/_paulus.scss
index 16024b33bfe..2a9e1fb4ebc 100644
--- a/sass/custom/_paulus.scss
+++ b/sass/custom/_paulus.scss
@@ -394,15 +394,15 @@ p.note {
.aside-module {
.section {
- margin-bottom: 16px;
+ margin-bottom: 10px;
}
.brand-logo-container {
text-align: center;
- height: 97px;
+ height: 87px;
img {
- max-height: 97px;
+ max-height: 67px;
}
}
}
diff --git a/source/_includes/asides/component_navigation.html b/source/_includes/asides/component_navigation.html
index ac543147b60..56ba92ee777 100644
--- a/source/_includes/asides/component_navigation.html
+++ b/source/_includes/asides/component_navigation.html
@@ -1,4 +1,5 @@
{% assign components = site.components | sort: 'title' %}
+{% assign github_main_repo = 'https://github.com/home-assistant/home-assistant/blob/master/homeassistant' %}
{% include edit_github.html %}
@@ -23,13 +24,20 @@
{% if page.ha_iot_class %}
- IoT class
: {{ page.ha_iot_class }}
+ IoT class
: {{ page.ha_iot_class }}
{% endif %}
{% if page.ha_release %}
- Introduced in release: {{ page.ha_release }}
+ Introduced in release: {{ page.ha_release }}
+
+ {% endif %}
+
+ {% if is_platform %}
+
{% endif %}
From 0c26ea618dab3881c664c803964ab87fbc932ceb Mon Sep 17 00:00:00 2001
From: Fabian Affolter
Date: Sun, 5 Nov 2017 21:49:54 +0100
Subject: [PATCH 14/38] Rephrase the sentence
---
source/_components/camera.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/_components/camera.markdown b/source/_components/camera.markdown
index 23cb4f87c1a..e0dee527ad6 100644
--- a/source/_components/camera.markdown
+++ b/source/_components/camera.markdown
@@ -43,7 +43,7 @@ Take a snapshot from a camera.
| `entity_id` | no | Name(s) of entities to create a snopshot from, e.g., `camera.living_room_camera`. |
| `filename ` | no | Template of a file name. Variable is `entity_id`, e.g., {% raw %}`/tmp/snapshot_{{ entity_id }}`{% endraw %}. |
-The `filename` must be an entry in the `whitelist_external_dirs` in your [`homeassistant:`](/docs/configuration/basic/) section of your `configuration.yaml` file.
+The path part of `filename` must be an entry in the `whitelist_external_dirs` in your [`homeassistant:`](/docs/configuration/basic/) section of your `configuration.yaml` file.
### {% linkable_title Test if it works %}
From af484626b6f3db9704a3cf0b3083758e76d081b3 Mon Sep 17 00:00:00 2001
From: Paulus Schoutsen
Date: Sun, 5 Nov 2017 13:52:47 -0800
Subject: [PATCH 15/38] Release 0.57.2
---
_config.yml | 6 +++---
source/_posts/2017-11-04-release-57.markdown | 6 ++++++
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/_config.yml b/_config.yml
index 1aed6ec7cba..69312dd7804 100644
--- a/_config.yml
+++ b/_config.yml
@@ -140,11 +140,11 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 57
-current_patch_version: 1
-date_released: 2017-11-04
+current_patch_version: 2
+date_released: 2017-11-05
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.
# Major release:
-patch_version_notes: "#release-0571--november-4"
+patch_version_notes: "#release-0572--november-5"
# Minor release (Example #release-0431---april-25):
diff --git a/source/_posts/2017-11-04-release-57.markdown b/source/_posts/2017-11-04-release-57.markdown
index 7bf4f6514fc..0779d7b5a66 100644
--- a/source/_posts/2017-11-04-release-57.markdown
+++ b/source/_posts/2017-11-04-release-57.markdown
@@ -87,6 +87,11 @@ Okay, one more highlight before we'll let you check out the changelog. Contribut
- Fix login screen not showing when no password stored ([@balloob])
+## {% linkable_title release 0.57.2 - november 5 %}
+
+- Update frontend with fixes for setting temperature on climate card ([@balloob])
+- Fix setting max brightness for TRADFRI ([@ggravlingen] - [#10359])
+
## {% linkable_title If you need help... %}
...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e). The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks.
@@ -433,6 +438,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[#9988]: https://github.com/home-assistant/home-assistant/pull/9988
[#9990]: https://github.com/home-assistant/home-assistant/pull/9990
[#9996]: https://github.com/home-assistant/home-assistant/pull/9996
+[#10359]: https://github.com/home-assistant/home-assistant/pull/10359
[@C0DK]: https://github.com/C0DK
[@ChristianKuehnel]: https://github.com/ChristianKuehnel
[@DarkFox]: https://github.com/DarkFox
From f9478e1730de4c1ba848f278a52b9a311e7d43ff Mon Sep 17 00:00:00 2001
From: c727
Date: Sun, 5 Nov 2017 23:50:48 +0100
Subject: [PATCH 16/38] Translation Guideline Docs (#3792)
* Howto translate frontend
* Typo
* Typo2
* Add link for open PRs
* Native name (has to start with capital letter)
* Update frontend_translation.markdown
* Add language code in file, Translate value text - not key
* Typo
* Switch to lokalise.co
* Add urls and link to md guide
* Custom ISO code
* Updates for the latest changes
---
.../developers/frontend_translation.markdown | 35 +++++++++++++++++++
1 file changed, 35 insertions(+)
create mode 100644 source/developers/frontend_translation.markdown
diff --git a/source/developers/frontend_translation.markdown b/source/developers/frontend_translation.markdown
new file mode 100644
index 00000000000..3d6e452da5a
--- /dev/null
+++ b/source/developers/frontend_translation.markdown
@@ -0,0 +1,35 @@
+---
+layout: page
+title: "Translate Home Assistant frontend"
+description: "How to translate the frontend for Home Assistant."
+date: 2017-10-27 13:00
+sidebar: true
+comments: false
+sharing: true
+footer: true
+ha_release: 0.57
+---
+
+The translation of the Home Assistant frontend is still a work in progress. More phrases will be available soon.
+
+#### {% linkable_title How to start %}
+[Join the translation team](https://lokalise.co/signup/3420425759f6d6d241f598.13594006/all/) and choose your language. If your language is not listed you can request it at [GitHub](https://github.com/home-assistant/home-assistant-polymer/issues/new). Please provide both the English name and the native name for your language. Example: German / Deutsch.
+Note: Languages that differ from the language of the country of origin need a translation for the latter first. Example: `French as used in Canada` requires a generic `French` translation.
+
+Even if your language is completely translated, extra proofreading is a big help! Please feel free to review the existing translations, and vote for alternatives that might be more appropriate.
+
+For more information about the translation workflow, please see the [Lokalise translation workflow documents](https://docs.lokalise.co/category/iOzEuQPS53-for-team-leads-and-translators).
+
+#### {% linkable_title Rules %}
+1. Only native speakers should submit translations.
+2. English is reference language.
+3. Stick to [Material Desing guidelines](https://material.io/guidelines/style/writing.html).
+4. Don't translate or change proper nouns like `Home Assistant`, `Hass.io` or `Hue`.
+
+Tip: Use `Multilanguage view` (eye-symbol) and hide those languages you don't need.
+
+#### {% linkable_title For maintainers %}
+1. Language tags have to follow [BCP 47](https://tools.ietf.org/html/bcp47). A list of most language tags can be found here: [IANA sutbtag registry](http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry). Examples: `fr`, `fr-CA`, `zh-Hans`. Only include the country code if country specific overrides are being included, and the base language is already translated.
+2. Add the language tag and native name in `src/translations/translationMetadata.json`. Examples: "Français", "Français (CA)"
+3. Add the new language in Lokalize.
+Note: Sometimes you have to change the tag in Lokalise (Language -> Language settings -> custom ISO code).
From 7aa977eb1a83bee46e1d10a929121c0e67d95bcf Mon Sep 17 00:00:00 2001
From: Fabian Affolter
Date: Mon, 6 Nov 2017 06:43:34 +0100
Subject: [PATCH 17/38] Add Browser cache entry
---
source/_faq/browser.markdown | 13 +++++++++++++
1 file changed, 13 insertions(+)
create mode 100644 source/_faq/browser.markdown
diff --git a/source/_faq/browser.markdown b/source/_faq/browser.markdown
new file mode 100644
index 00000000000..ee2dd204f7a
--- /dev/null
+++ b/source/_faq/browser.markdown
@@ -0,0 +1,13 @@
+---
+layout: page
+title: "Frontend is acting weird"
+description: "Frontend is acting weird"
+date: 2017-06-18 09:00
+comments: false
+sharing: true
+footer: true
+ha_category: Usage
+---
+
+
+Close the windows or tab and clear the cache. The frontend is aggressively caching and clearing the cache ensures that the frontend is reloaded when you access it the next time.
From dcaf9c7a5a18eb1a0964fb3aa7d4743a51d4f5fd Mon Sep 17 00:00:00 2001
From: Thom Troy
Date: Mon, 6 Nov 2017 15:33:15 +0000
Subject: [PATCH 18/38] Fix the ha release value for component (#3914)
---
source/_components/climate.ephember.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/_components/climate.ephember.markdown b/source/_components/climate.ephember.markdown
index 962b34746e2..0b77e6a58b7 100644
--- a/source/_components/climate.ephember.markdown
+++ b/source/_components/climate.ephember.markdown
@@ -9,7 +9,7 @@ sharing: true
footer: true
logo: ephcontrolsember.png
ha_category: Climate
-ha_release: "0.55"
+ha_release: 0.57
ha_iot_class: "Local Polling"
---
From 733b3d6eb9732fcf779a70ce1836a5424e0d6ec2 Mon Sep 17 00:00:00 2001
From: Thom Troy
Date: Mon, 6 Nov 2017 15:34:09 +0000
Subject: [PATCH 19/38] Fix the ha release value for component (#3913)
---
source/_components/sensor.irish_rail_transport.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/_components/sensor.irish_rail_transport.markdown b/source/_components/sensor.irish_rail_transport.markdown
index 2735bad819e..f107633701a 100644
--- a/source/_components/sensor.irish_rail_transport.markdown
+++ b/source/_components/sensor.irish_rail_transport.markdown
@@ -10,7 +10,7 @@ footer: true
logo: irishrail.png
ha_category: Transport
ha_iot_class: "Cloud Polling"
-ha_release: 0.56
+ha_release: 0.57
---
From 201e94a8fa9f0f2624ac660baff2eb585626e246 Mon Sep 17 00:00:00 2001
From: Adam Mills
Date: Mon, 6 Nov 2017 11:01:18 -0500
Subject: [PATCH 20/38] Add the translation blog post (#3906)
---
.../2017-11-05-frontend-translations.markdown | 26 +++++++++++++++++++
1 file changed, 26 insertions(+)
create mode 100644 source/_posts/2017-11-05-frontend-translations.markdown
diff --git a/source/_posts/2017-11-05-frontend-translations.markdown b/source/_posts/2017-11-05-frontend-translations.markdown
new file mode 100644
index 00000000000..bf6cc8db753
--- /dev/null
+++ b/source/_posts/2017-11-05-frontend-translations.markdown
@@ -0,0 +1,26 @@
+---
+layout: post
+title: "Translating Home Assistant"
+description: "Introduction to the new translation integration with Lokalise."
+date: 2017-11-05 20:00:00 -0500
+date_formatted: "November 5, 2017"
+author: Adam Mills
+comments: true
+categories: Community
+og_image: /images/blog/2017-11-0.57/languages.png
+---
+
+
+
+The Home Assistant sidebar in 12 different languages.
+
+
+## {% linkable_title Translations %}
+
+As mentioned in the [0.57 release notes](https://home-assistant.io/blog/2017/11/04/release-57/), Home Assistant has launched a translated frontend. With the immediate influx of translations, we’ve made integration with a translation tool a top priority. [@c727] took the initiative to evaluate several tools, and we’re happy to announce that Home Assistant will be partnering with [Lokalise](https://lokalise.co/) to manage our translations!
+
+Lokalise allows us to open up translations for all of our multilingual users willing to contribute. Users can join the project using our [public signup link](https://lokalise.co/signup/3420425759f6d6d241f598.13594006/all/), and start translating right away. We’ve created a [translation startup guide](https://home-assistant.io/developers/frontend_translation/) with additional details about how to contribute. Instructions are provided there for how to request a new language.
+
+Now that we have a system in place, expect a lot more of the interface to be translatable soon. We still have some technical hurdles to overcome, but the hardest work is behind us now. The community has already done an outstanding job of providing translations. The future is looking bright!
+
+[@c727]: https://github.com/c727
From 9b7cd0f395c46e53734f0da84106378ef707c50c Mon Sep 17 00:00:00 2001
From: Carl Johnson
Date: Mon, 6 Nov 2017 10:53:21 -0800
Subject: [PATCH 21/38] More SSL warning info in media_player.vizio.markdown
(#3909)
Adding more specifics on how to *only* block the specific SSL verification warning line. This is a more elegant (if advanced) way since it doesn't involve reducing overall log level or affecting all media_player components.
---
source/_components/media_player.vizio.markdown | 3 +++
1 file changed, 3 insertions(+)
diff --git a/source/_components/media_player.vizio.markdown b/source/_components/media_player.vizio.markdown
index ae68385e13a..7c8cfa363ba 100644
--- a/source/_components/media_player.vizio.markdown
+++ b/source/_components/media_player.vizio.markdown
@@ -97,4 +97,7 @@ Vizio SmartCast service is accessible through HTTPS with self-signed certificate
`InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised.`
You can adjust the log level for `media_player` components with the [logger](https://home-assistant.io/components/logger/) component, or if you need to keep a low log level for `media_player` you could proxy calls to your TV through an NGINX reverse proxy.
+
+If you want to only ignore only this specific [python urllib3 SSL warning](https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings), you will need to run Home Assistant with the python flag `-W` or the environment variable `PYTHONWARNINGS` set to:
+`ignore:Unverified HTTPS request is being made`
From b105b2201618f05fafb8e84204fb0b89de0f9758 Mon Sep 17 00:00:00 2001
From: Jacob Mansfield
Date: Mon, 6 Nov 2017 21:22:57 +0000
Subject: [PATCH 22/38] =?UTF-8?q?Update=20Tr=C3=A5dfri=20documentation=20t?=
=?UTF-8?q?o=20mention=20the=20Python=20version=20dependency=20(#3911)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* Update Trådfri documentation to mention the Python version dependency
Dependency is caused by aiocoap==0.3
* Remove period
* Fix typo
---
source/_components/tradfri.markdown | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/source/_components/tradfri.markdown b/source/_components/tradfri.markdown
index 7cb555ad8d7..281d7972211 100644
--- a/source/_components/tradfri.markdown
+++ b/source/_components/tradfri.markdown
@@ -22,6 +22,10 @@ You will be prompted to configure the gateway through the Home Assistant interfa
If you see an "Unable to connect" message, restart the gateway and try again. Don't forget to assign a permanent IP to your Trådfri gateway.
+
+ The Python version 3.4.4 or greater is required for this component. The component will not initialize without this and will report a `Could not install all requirements` error in the logs.
+
+
You can add the following to your `configuration.yaml` file if you are not using the [`discovery:`](/components/discovery/) component:
```yaml
From a90be00b0029dc2ca010e8ef8ab0a7f52e490430 Mon Sep 17 00:00:00 2001
From: Andrey
Date: Tue, 7 Nov 2017 00:03:15 +0200
Subject: [PATCH 23/38] Update frontend development instructions (#3912)
* Update frontend development instructions
* Update frontend.markdown
---
source/developers/frontend.markdown | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/source/developers/frontend.markdown b/source/developers/frontend.markdown
index 41953ac381c..98e88c7f26d 100755
--- a/source/developers/frontend.markdown
+++ b/source/developers/frontend.markdown
@@ -79,19 +79,24 @@ $ git push -u HEAD
## {% linkable_title Development %}
-While you are developing, you need to have gulp running to watch the source files for changes and build when necessary.
+If you are changing `html` files under `/src` or `/panels` - just reload the page in your browser to see changes.
+If you are changing javascript files under `/js` you need to have gulp running to watch the source files for changes and build when necessary.
```bash
$ yarn run dev-watch
```
-The source code for the frontend can be found in two different directories:
+The source code for the frontend can be found in different directories:
- UI: `/home-assistant-polymer/src/`
- Panels: `/home-assistant-polymer/panels/`
+ - Javascript code: `/home-assistant-polymer/js/`
# {% linkable_title Building the Polymer frontend %}
-Building a new version of the frontend is as simple as running `script/build_frontend`.
+Building a new version of the frontend is as simple as running `script/build_frontend`.
+To use a built version package it: `python setup.py sdist`
+Install it: `pip3 install dist/home-assistant-frontend-xxxxxxxx.0.tar.gz --upgrade`
+Run Home Assistant without trying to reinstall production package: `hass --skip-pip`
[hass-polymer]: https://github.com/home-assistant/home-assistant-polymer
From 3dd6b55178b59d15daf2de48cf4d388de07ca8ab Mon Sep 17 00:00:00 2001
From: Adam Mills
Date: Mon, 6 Nov 2017 17:04:28 -0500
Subject: [PATCH 24/38] Frontend translation guide cleanup (#3908)
---
.../asides/developers_navigation.html | 1 +
.../developers/frontend_translation.markdown | 35 +++++++++++-------
.../lokalise-multilanguage-view-button.png | Bin 0 -> 3843 bytes
3 files changed, 22 insertions(+), 14 deletions(-)
create mode 100644 source/images/frontend/lokalise-multilanguage-view-button.png
diff --git a/source/_includes/asides/developers_navigation.html b/source/_includes/asides/developers_navigation.html
index 613ff5834b4..34f1de46476 100644
--- a/source/_includes/asides/developers_navigation.html
+++ b/source/_includes/asides/developers_navigation.html
@@ -78,6 +78,7 @@
{% active_link /developers/frontend_add_more_info/ Add More Info Dialog %}
{% active_link /developers/frontend_creating_custom_panels/ Add Custom Panels %}
{% active_link /developers/frontend_creating_custom_ui/ Add Custom UI %}
+ {% active_link /developers/frontend_translation/ Translation %}
diff --git a/source/developers/frontend_translation.markdown b/source/developers/frontend_translation.markdown
index 3d6e452da5a..feb07d5a208 100644
--- a/source/developers/frontend_translation.markdown
+++ b/source/developers/frontend_translation.markdown
@@ -1,6 +1,6 @@
---
layout: page
-title: "Translate Home Assistant frontend"
+title: "Frontend Translation"
description: "How to translate the frontend for Home Assistant."
date: 2017-10-27 13:00
sidebar: true
@@ -10,25 +10,32 @@ footer: true
ha_release: 0.57
---
-The translation of the Home Assistant frontend is still a work in progress. More phrases will be available soon.
+## {% linkable_title How to start %}
+[Join the translation team](https://lokalise.co/signup/3420425759f6d6d241f598.13594006/all/) and choose your language. Even if your language is completely translated, extra proofreading is a big help! Please feel free to review the existing translations, and vote for alternatives that might be more appropriate.
-#### {% linkable_title How to start %}
-[Join the translation team](https://lokalise.co/signup/3420425759f6d6d241f598.13594006/all/) and choose your language. If your language is not listed you can request it at [GitHub](https://github.com/home-assistant/home-assistant-polymer/issues/new). Please provide both the English name and the native name for your language. Example: German / Deutsch.
-Note: Languages that differ from the language of the country of origin need a translation for the latter first. Example: `French as used in Canada` requires a generic `French` translation.
+First time users may find it helpful to switch between multilanguage and single language view using the
button. For more information about the translation workflow, please see the [Lokalise translation workflow documents](https://docs.lokalise.co/category/iOzEuQPS53-for-team-leads-and-translators).
-Even if your language is completely translated, extra proofreading is a big help! Please feel free to review the existing translations, and vote for alternatives that might be more appropriate.
+
+The translation of the Home Assistant frontend is still a work in progress. More phrases will be available for translation soon.
+
-For more information about the translation workflow, please see the [Lokalise translation workflow documents](https://docs.lokalise.co/category/iOzEuQPS53-for-team-leads-and-translators).
-
-#### {% linkable_title Rules %}
+## {% linkable_title Rules %}
1. Only native speakers should submit translations.
-2. English is reference language.
-3. Stick to [Material Desing guidelines](https://material.io/guidelines/style/writing.html).
-4. Don't translate or change proper nouns like `Home Assistant`, `Hass.io` or `Hue`.
+2. Stick to [Material Desing guidelines](https://material.io/guidelines/style/writing.html).
+3. Don't translate or change proper nouns like `Home Assistant`, `Hass.io` or `Hue`.
-Tip: Use `Multilanguage view` (eye-symbol) and hide those languages you don't need.
+## {% linkable_title Adding a new language %}
+If your language is not listed you can request it at [GitHub](https://github.com/home-assistant/home-assistant-polymer/issues/new). Please provide both the English name and the native name for your language. For example:
+```
+English Name: German
+Native Name: Deutsch
+```
-#### {% linkable_title For maintainers %}
+
+Note: Languages that differ from the language of the country of origin need a translation for the latter first. Example: `French as used in Canada` requires a generic `French` translation.
+
+
+### {% linkable_title Maintainer steps to add a new language %}
1. Language tags have to follow [BCP 47](https://tools.ietf.org/html/bcp47). A list of most language tags can be found here: [IANA sutbtag registry](http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry). Examples: `fr`, `fr-CA`, `zh-Hans`. Only include the country code if country specific overrides are being included, and the base language is already translated.
2. Add the language tag and native name in `src/translations/translationMetadata.json`. Examples: "Français", "Français (CA)"
3. Add the new language in Lokalize.
diff --git a/source/images/frontend/lokalise-multilanguage-view-button.png b/source/images/frontend/lokalise-multilanguage-view-button.png
new file mode 100644
index 0000000000000000000000000000000000000000..12370813300e8a81d7ffe9e89abc8f5a36d56b00
GIT binary patch
literal 3843
zcmeH}_dgVlAIHxO=Q!NQ-jb71gzRySIF55J3E_-VB1Fl)GtUfXXI^(9l3iwYWY4V3
z?3qwj-@ZS6{)q4Q{mc9Pdj0l(J)S?j2q=?VASPZW0000oG=QT40II(y6@Y=}?{Y1%
z!~g))=O|;0-e39u`F{fcn+dGss`35({K6Y;Vh*69rlF;yzr?`E1Y`!Wu!7mxIUxUV
za&hzU^6?7@3JHsdid`1JA_0}WDkUu=d+oZM{0#*~rJKqss%q*Qnp)aAFkQHw{w)JT
zgpo1Q#1v(QHpkqyxMO+O%G&0ht(`sA!O_Y2{sWhXk6a(SKk@MNdg|@-?78m?KmUNh
zpx_W3J~S*mA~K2)9TOWDpYSp*^aCo0>nhw6?W(bas92?)lQ&*FP{gG(0joHa_una%y^J_S@Y2!s62M
z_m$PP^^MJ~?Va7d{T~NE508$2{XRK8JHH4sKh*~Sm}(8-Iv8KutpO3HP!s?#I7WvZ
z$}`I{dmmsaH`ROP8g>s1RBN|S13x3+(!lk;fXyWTUHaW0=Ku2JfvhNC_8F-`3iODY
zlK%M46}$U3PN)A@f`A_`=hEGiT&wVFtRy+a0b8635SR9#S(l1l%GJl&OPGP<
zixc%Z|K^)zTJtKazjIClg0fdX9-hVrd?y9a=P7R&dpbethTVR2H
zU%rrE(Oj*$wJ2{@_C4bmZl2J4?`uEQ-*{NWk(|}ql+?L8;x*=~+LD8&q+M6nT%$RC
zDA$Z%IOy0m`HC3P8)GgDU4Nh8cP;hCS%qJ#;3K3o)~O*FBs#FKEhyG$nTcnpKjF~F
zbaQiwu020!h^?ZzDeNGqid3_l1haW|-=BgnoHJ;3k({d%o}07XFRdA}=s)AZD)#Eu
zPp0#C&Nrtj5sz<$8I}pT7
zKW2O%ZS!U4G>{_EcQ&bnCSzM?16x-rN3mFGZ@zW%%)6nug-EqPAG+_F#(0bPb;y^D
z8G0&1KNqQvBZ{`z1R5dWE6j=8{4iyd|HKNG6^4ZL@Gfh6$l75HGpOCx-@9`yzOa%N%r)_zClQv(V#Ga@XdJwZgIL%=
z2SYZK;TLgW#5ZF?v3Hb$CW6oliBgf^g%oaG!V%kumfI05y8Y&PHhW^mng#?qlQp?{
zemeD8a6#QEbf3TKhn-riz
zeAQ(n0RuK`ZL>$>HSck0b_f>0bwU!m%Oga~+TP&mU5dRC8o!3qMC)Be!O2i`CbiI%
z8_BezO<-?9Ai6{w;7;zHv+q9~xO!5#wgyUHTf};-e1Zov{i9GJ4R}eD
zml}X?@dG?64~O)4XuBzsnH=+%eRFlxrs*FYNGj4J+%$+*fa)RUmK<*AVF5<(6107r
zY?^wcpI9WS%v!+WxbZ+D`A
zD6uTwEj(i8VT3yv(}@agl(pGY_pxM5!9grZ{)UGh%f$zy3o3;TFdUi-5@af%o;EMh
zKTy~ait47oxuETQqgag~dAy%@D2yXIHWI;7y_WFDNR}d4gj##h!GAN^ir!6ZSl6~
zPx8r`nA#5P#t#rilWc4aH7<~KefiuoIE4LdsX&uDfF2~ZB|ys|1H%8Vz8s?$%)9IX
zC~e?+B2uMA53tyCkO_aWl+Z`UI^Q575iiQbrx2n0VBp6>xf?61h)O8msaU
zmQSF5;84OBDtV>46@l22jF1IgHAT@Zsc!2I_4pR{
zVn3VI<>g5{>Fb~~P}LLggXttWQ(%&5UMhqS+7p(0yMxvse_m}ex#q<@o!n`m4n0v-
z9$uOE6Z}1Op34tKV=C>PGg;sSZPYJ+b@^YXwRA|A4n$iYT{3lVnfH-sv@^)Q9R_=L|0zB#6H8I5wQ-)Y0ytK*v_|HH7FjiWUE>Cz(JFE;#-1`U`_OkJM73jI+7%txpoibl>wh?$0o$BW>)`(2XGy&gJ?6m!UnE)Zcw1@dJhgBqV79O*TRJqcY|u9y~u%i
ziT>i%Dh>1Bu28aeHC|ZL`6vg`Re7nKW;fkcbats-&UI^Sb6euvE-AR8mXtqjS6nnb
z$#LtMv%5{&{yJ`#3A9l)13GutY=dHrL&U9woG{Qj9!^7>Ht73$73n4JUGl69Au{EJ
zb8uXpwao!E_a<)Jo#u;5CuW!u%j3xq=^8(n>g6wH{HXuOaL|Q0>%zz(*lp!Bh(YR@
zcu>W*lrqIo>#F(2jejSc!Q-MRqz0v=#FCh(aG);s3MfHmO{==K|X~=fS@zSbK*V$Ne!jScg5svX4!GAmF6?IR33mPVsXaBVf
M^-SRJVD|X`0JR9d_5c6?
literal 0
HcmV?d00001
From 7cd00fb11d77a63d0fdf8f1a358c511b391375f5 Mon Sep 17 00:00:00 2001
From: Fabian Affolter
Date: Mon, 6 Nov 2017 23:29:54 +0100
Subject: [PATCH 25/38] Remove bootstrap
---
source/developers/rest_api.markdown | 19 -------------------
1 file changed, 19 deletions(-)
diff --git a/source/developers/rest_api.markdown b/source/developers/rest_api.markdown
index 8f620814d5a..cf850cfbec4 100644
--- a/source/developers/rest_api.markdown
+++ b/source/developers/rest_api.markdown
@@ -139,25 +139,6 @@ $ curl -X GET -H "x-ha-access: YOUR_PASSWORD" \
-H "Content-Type: application/json" http://localhost:8123/api/discovery_info
```
-#### {% linkable_title GET /api/bootstrap %}
-Returns all data needed to bootstrap Home Assistant.
-
-```json
-{
- "config": {...},
- "events": [...],
- "services": [...],
- "states": [...]
-}
-```
-
-Sample `curl` command:
-
-```bash
-$ curl -X GET -H "x-ha-access: YOUR_PASSWORD" \
- -H "Content-Type: application/json" http://localhost:8123/api/bootstrap
-```
-
#### {% linkable_title GET /api/events %}
Returns an array of event objects. Each event object contains event name and listener count.
From a7a3a3b2e7baf69ca0588c243823ecb8d997f083 Mon Sep 17 00:00:00 2001
From: Fabian Affolter
Date: Tue, 7 Nov 2017 00:21:12 +0100
Subject: [PATCH 26/38] Add Probot stale configuration (#3901)
---
.github/stale.yml | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
create mode 100644 .github/stale.yml
diff --git a/.github/stale.yml b/.github/stale.yml
new file mode 100644
index 00000000000..e5b0f5e954c
--- /dev/null
+++ b/.github/stale.yml
@@ -0,0 +1,17 @@
+# Number of days of inactivity before an issue becomes stale
+daysUntilStale: 60
+# Number of days of inactivity before a stale issue is closed
+daysUntilClose: 7
+# Issues with these labels will never be considered stale
+#exemptLabels:
+# - pinned
+# - security
+# Label to use when marking an issue as stale
+staleLabel: Stale
+# Comment to post when marking an issue as stale. Set to `false` to disable
+markComment: >
+ This issue has been automatically marked as stale because it has not had
+ recent activity. It will be closed if no further activity occurs. Thank you
+ for your contributions.
+# Comment to post when closing a stale issue. Set to `false` to disable
+closeComment: false
From 0054d900b2b0be4d209f4c84cf0817166f70d906 Mon Sep 17 00:00:00 2001
From: Robin
Date: Tue, 7 Nov 2017 08:48:30 +0000
Subject: [PATCH 27/38] Remove Hammersmith to address pull #10426 (#3921)
---
source/_components/sensor.london_air.markdown | 1 -
1 file changed, 1 deletion(-)
diff --git a/source/_components/sensor.london_air.markdown b/source/_components/sensor.london_air.markdown
index 64e94ef24e4..d20d33fc715 100644
--- a/source/_components/sensor.london_air.markdown
+++ b/source/_components/sensor.london_air.markdown
@@ -36,7 +36,6 @@ sensor:
- Enfield
- Greenwich
- Hackney
- - Hammersmith and Fulham
- Haringey
- Harrow
- Havering
From 9afaa05223df5cef35284887e8d634df5c338831 Mon Sep 17 00:00:00 2001
From: R Huish
Date: Tue, 7 Nov 2017 08:49:14 +0000
Subject: [PATCH 28/38] Input Number - Cleaned up my old example (#3920)
Input Number - Cleaned up my old code example.
---
source/_components/input_number.markdown | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/source/_components/input_number.markdown b/source/_components/input_number.markdown
index e043b924696..9c041e1b7f3 100644
--- a/source/_components/input_number.markdown
+++ b/source/_components/input_number.markdown
@@ -145,13 +145,12 @@ input_number:
icon: mdi:target
# Automation.
- # This automation script runs when a value is received via MQTT on retained topic: setTemperature
- # It sets the value slider on the GUI. This slides also had its own automation when the value is changed.
+# This automation script runs when a value is received via MQTT on retained topic: setTemperature
+# It sets the value slider on the GUI. This slides also had its own automation when the value is changed.
- alias: Set temp slider
trigger:
platform: mqtt
topic: "setTemperature"
- # entity_id: input_number.target_temp
action:
service: input_number.set_value
data_template:
From 3365e091f44a25afd58778f624331b60a7f2b1f5 Mon Sep 17 00:00:00 2001
From: Fabian Affolter
Date: Tue, 7 Nov 2017 09:49:28 +0100
Subject: [PATCH 29/38] Migration Arduino to new config style (#3919)
---
source/_components/arduino.markdown | 9 ++++--
source/_components/sensor.arduino.markdown | 21 ++++++++++----
source/_components/switch.arduino.markdown | 33 +++++++++++++++++-----
3 files changed, 47 insertions(+), 16 deletions(-)
diff --git a/source/_components/arduino.markdown b/source/_components/arduino.markdown
index acfd091c727..5105f19c4cc 100644
--- a/source/_components/arduino.markdown
+++ b/source/_components/arduino.markdown
@@ -30,9 +30,12 @@ arduino:
port: /dev/ttyACM0
```
-Configuration variables:
-
-- **port** (*Required*): The port where your board is connected to your Home Assistant host. If you are using an original Arduino, the port will be named `ttyACM*` otherwise `ttyUSB*`.
+{% configuration %}
+port:
+ description: The port where your board is connected to your Home Assistant host. If you are using an original Arduino, the port will be named `ttyACM*` otherwise `ttyUSB*`.
+ required: true
+ type: string
+{% endconfiguration %}
The exact number can be determined with the command shown below.
diff --git a/source/_components/sensor.arduino.markdown b/source/_components/sensor.arduino.markdown
index 3989aaf95f1..02fa7f6aaac 100644
--- a/source/_components/sensor.arduino.markdown
+++ b/source/_components/sensor.arduino.markdown
@@ -27,14 +27,23 @@ sensor:
name: Door switch
0:
name: Brightness
-
```
-Configuration variables:
-
-- **pins** array (*Required*): Array of pins to use.
- - **[number]** (*Required*): The pin number that corresponds with the pin numbering schema of your board.
- - **name** (*Optional*): Name that will be used in the frontend for the pin.
+{% configuration %}
+pins:
+ description: List of pins to use.
+ required: true
+ type: map
+ keys:
+ pin_number:
+ description: The pin number that corresponds with the pin numbering schema of your board.
+ required: true
+ type: map
+ keys:
+ name:
+ default: Name that will be used in the frontend for the pin.
+ type: string
+{% endconfiguration %}
The 6 analog pins of an Arduino UNO are numbered from A0 to A5.
diff --git a/source/_components/switch.arduino.markdown b/source/_components/switch.arduino.markdown
index 6b15a63431b..bc4f76b19e3 100644
--- a/source/_components/switch.arduino.markdown
+++ b/source/_components/switch.arduino.markdown
@@ -31,13 +31,32 @@ switch:
negate: true
```
-Configuration variables:
-
-- **pins** array (*Required*): List of pins to use.
- - **[number]** (*Required*): The pin number that corresponds with the pin numbering schema of your board.
- - **name** (*Required*): Name that will be used in the frontend for the pin.
- - **initial** (*Optional*): The initial value for this port. Defaults to `False` .
- - **negate** (*Optional*): If this pin should be inverted. Defaults to `False`.
+{% configuration %}
+pins:
+ description: List of of pins to use.
+ required: true
+ type: map
+ keys:
+ pin_number:
+ description: The pin number that corresponds with the pin numbering schema of your board.
+ required: true
+ type: map
+ keys:
+ name:
+ default: Name that will be used in the frontend for the pin.
+ type: string
+ required: false
+ initial:
+ default: The initial value for this port.
+ type: boolean
+ required: false
+ default: false
+ negate:
+ default: If this pin should be inverted.
+ type: boolean
+ required: false
+ default: false
+{% endconfiguration %}
The digital pins are numbered from 0 to 13 on a Arduino UNO. The available pins are 2 till 13. For testing purposes you can use pin 13 because with that pin you can control the internal LED.
From a496a9422775cafa9825c25faba379270cffed4b Mon Sep 17 00:00:00 2001
From: Josh Nichols
Date: Tue, 7 Nov 2017 03:56:30 -0500
Subject: [PATCH 30/38] Document sending Slack attachemnts (#3879)
Support for Slack attachments was added in https://github.com/home-assistant/home-assistant/pull/2914 but never documented. Took me a minute to get to :sweat_smile:
---
source/_components/notify.slack.markdown | 26 ++++++++++++++++++++++--
1 file changed, 24 insertions(+), 2 deletions(-)
diff --git a/source/_components/notify.slack.markdown b/source/_components/notify.slack.markdown
index 1eb10e8189a..0445d1df821 100644
--- a/source/_components/notify.slack.markdown
+++ b/source/_components/notify.slack.markdown
@@ -52,8 +52,10 @@ The following attributes can be placed `data` for extended functionality.
| `username` | yes | Username if the url requires authentication. Is placed inside `file`.
| `password` | yes | Password if the url requires authentication. Is placed inside `file`.
| `auth` | yes | If set to `digest` HTTP-Digest-Authentication is used. If missing HTTP-BASIC-Authentication is used. Is placed inside `file`.
+| `attachments` | yes | Array of [Slack attachments](https://api.slack.com/docs/message-attachments). See [the attachment documentation](https://api.slack.com/docs/message-attachments) for how to format. *NOTE*: if using `attachments`, they are shown **in addition** to `message`
+
+Example for posting file from URL:
-Example for posting file from URL
```json
{
"message":"Message that will be added as a comment to the file.",
@@ -68,7 +70,9 @@ Example for posting file from URL
}
}
```
-Example for posting file from local path
+
+Example for posting file from local path:
+
```json
{
"message":"Message that will be added as a comment to the file.",
@@ -82,5 +86,23 @@ Example for posting file from local path
```
Please note that `path` is validated against the `whitelist_external_dirs` in the `configuration.yaml`.
+Example for posting formatted attachment:
+
+```json
+{
+ "message": "",
+ "data": {
+ "attachments": [
+ {
+ "title": "WHAT A HORRIBLE NIGHT TO HAVE A CURSE.",
+ "image_url": "http://i.imgur.com/JEExnsI.gif"
+ }
+ ]
+ }
+}
+```
+
+Please note that both `message` is a required key, but is always shown, so use an empty (`""`) string for `message` if you don't want the extra text.
+
To use notifications, please see the [getting started with automation page](/getting-started/automation/).
From dbd358db36720fa9d74e75b610983a4fed42eb0d Mon Sep 17 00:00:00 2001
From: Chris Thorn
Date: Tue, 7 Nov 2017 08:57:06 +0000
Subject: [PATCH 31/38] Update customizing-devices.markdown (#3868)
Change `emulated_hue: false` to `emulated_hue_hidden: false`
---
source/_docs/configuration/customizing-devices.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/_docs/configuration/customizing-devices.markdown b/source/_docs/configuration/customizing-devices.markdown
index 9531f61520d..43f6885f334 100644
--- a/source/_docs/configuration/customizing-devices.markdown
+++ b/source/_docs/configuration/customizing-devices.markdown
@@ -49,7 +49,7 @@ homeassistant:
icon: mdi:description
"scene.month_*_colors":
hidden: true
- emulated_hue: false
+ emulated_hue_hidden: false
homebridge_hidden: true
```
From b79b5af8ea7e1665604fc9a5da775fe8963e1145 Mon Sep 17 00:00:00 2001
From: Adam Mills
Date: Tue, 7 Nov 2017 15:29:04 -0500
Subject: [PATCH 32/38] Clarify region specific translation policy
---
source/developers/frontend_translation.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/developers/frontend_translation.markdown b/source/developers/frontend_translation.markdown
index feb07d5a208..1b4d7b77aa3 100644
--- a/source/developers/frontend_translation.markdown
+++ b/source/developers/frontend_translation.markdown
@@ -32,7 +32,7 @@ Native Name: Deutsch
```
-Note: Languages that differ from the language of the country of origin need a translation for the latter first. Example: `French as used in Canada` requires a generic `French` translation.
+Region specific translations (`en-US`, `fr-CA`) will only be included if translations for that region need to differ from the base language translation.
### {% linkable_title Maintainer steps to add a new language %}
From af275d783b32a0dd5ccebb1fe73762a62521776f Mon Sep 17 00:00:00 2001
From: Phill Price
Date: Tue, 7 Nov 2017 20:36:25 +0000
Subject: [PATCH 33/38] typo fix (#3927)
---
source/developers/frontend_translation.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/developers/frontend_translation.markdown b/source/developers/frontend_translation.markdown
index 1b4d7b77aa3..8f0090be5ef 100644
--- a/source/developers/frontend_translation.markdown
+++ b/source/developers/frontend_translation.markdown
@@ -21,7 +21,7 @@ The translation of the Home Assistant frontend is still a work in progress. More
## {% linkable_title Rules %}
1. Only native speakers should submit translations.
-2. Stick to [Material Desing guidelines](https://material.io/guidelines/style/writing.html).
+2. Stick to [Material Design guidelines](https://material.io/guidelines/style/writing.html).
3. Don't translate or change proper nouns like `Home Assistant`, `Hass.io` or `Hue`.
## {% linkable_title Adding a new language %}
From 6158057ec16cddb25068d3f2d5b3188f7334e653 Mon Sep 17 00:00:00 2001
From: Diogo Gomes
Date: Tue, 7 Nov 2017 21:32:24 +0000
Subject: [PATCH 34/38] Serial sensor (#3926)
* sensor serial correction
+ Fixes configuration mismatch (serial_port)
+ adds option (baudrate)
* Minimize config sample and fix description
---
source/_components/sensor.serial.markdown | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/source/_components/sensor.serial.markdown b/source/_components/sensor.serial.markdown
index d03daed3906..c66fe9386ad 100644
--- a/source/_components/sensor.serial.markdown
+++ b/source/_components/sensor.serial.markdown
@@ -27,11 +27,11 @@ To setup a serial sensor to your installation, add the following to your `config
# Example configuration.yaml entry
sensor:
- platform: serial
- port: /dev/ttyACM0
+ serial_port: /dev/ttyACM0
```
{% configuration %}
- port:
+ serial_port:
description: Local serial port where the sensor is connected and access is granted.
required: true
type: string
@@ -39,6 +39,11 @@ sensor:
description: Friendly name to use for the frontend. Default to "Serial sensor".
required: false
type: string
+ baudrate:
+ description: Baudrate of the serial port.
+ required: false
+ default: 9600 Bps
+ type: int
{% endconfiguration %}
From c6bba7fa0761df7b50240d1b80c9eec85a3fdfad Mon Sep 17 00:00:00 2001
From: Paulus Schoutsen
Date: Tue, 7 Nov 2017 23:50:13 -0800
Subject: [PATCH 35/38] Comment out all-in-one-installer from nav
---
source/_includes/asides/docs_navigation.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/_includes/asides/docs_navigation.html b/source/_includes/asides/docs_navigation.html
index cc64ef04a9f..463f65313e5 100644
--- a/source/_includes/asides/docs_navigation.html
+++ b/source/_includes/asides/docs_navigation.html
@@ -12,7 +12,7 @@
{% active_link /hassio/ Hass.io %}
{% active_link /docs/installation/virtualenv/ Python Virtual Env %}
{% active_link /docs/installation/hassbian/ Hassbian %}
- {% active_link /docs/installation/raspberry-pi-all-in-one/ Raspberry Pi All-in-One %}
+
{% active_link /docs/installation/updating/ Updating %}
{% active_link /docs/installation/troubleshooting/ Troubleshooting %}
From 9e6fe6c9be0235ad2519f7a5d9f98d64a09a98dc Mon Sep 17 00:00:00 2001
From: Fabian Affolter
Date: Wed, 8 Nov 2017 08:51:34 +0100
Subject: [PATCH 36/38] Update
---
source/_docs/ecosystem/tor.markdown | 20 ++++++--------------
1 file changed, 6 insertions(+), 14 deletions(-)
diff --git a/source/_docs/ecosystem/tor.markdown b/source/_docs/ecosystem/tor.markdown
index 6d87b5f08b4..4c81451d576 100644
--- a/source/_docs/ecosystem/tor.markdown
+++ b/source/_docs/ecosystem/tor.markdown
@@ -10,20 +10,14 @@ footer: true
redirect_from: /cookbook/tor_configuration/
---
-This is an example about how you can configure Tor to provide secure remote access to your Home Assistant instance as an Onion site, through [Tor's Hidden Service](https://www.torproject.org/docs/hidden-services.html.en) feature. With this enabled, you do not need to open your firewall ports or setup HTTPS to enable secure remote access.
+This article guides your through the configuration of Tor to provide a secure access to your Home Assistant instance as an Onion site, through [Tor's Hidden Service](https://www.torproject.org/docs/hidden-services.html.en) feature, from remote. With this enabled, you do not need to open your firewall ports or setup HTTPS to enable secure remote access.
This is useful if you want to have:
- * Access your Home Assistant instance remotely without opening a firewall port or setting up a VPN
- * Don't want to or know how to get an SSL/TLS certificate and HTTPS configuration setup
- * Want to block attackers from even being able to access/scan your port and server at all
- * Want to block anyone from knowing your home IP address and seeing your traffic to your Home Assistant
-
-## {% linkable_title Background and Contact %}
-
-This configuration is part of an effort to apply strong cryptography technologies (like Onion Routing and End-to-End Encryption) to technology we increasingly depend on in our day to day lives. Just like when WhatsApp enabled end-to-end encryption messaging for everyone, every home automation and IoT platform should do the same, because A) the technology is all there, freely licensed and open-source and B) up to this point, all the commercial manufacturers have been doing a horrific job with security.
-
-You can learn more about how Tor can be used to secure home automation and IoT platforms through this short set of slides on the [Internet of Onion Things](https://github.com/n8fr8/talks/blob/master/onion_things/Internet%20of%20Onion%20Things.pdf)
+ * Access your Home Assistant instance remotely without opening a firewall port or setting up a VPN.
+ * Don't want to or know how to get an SSL/TLS certificate and HTTPS configuration setup.
+ * Want to block attackers from even being able to access/scan your port and server at all.
+ * Want to block anyone from knowing your home IP address and seeing your traffic to your Home Assistant.
## {% linkable_title Hidden Services and Onion Sites %}
@@ -61,7 +55,7 @@ The "stealth" entry above ensures traffic to and from your Home Assistant instan
Then, restart Tor:
```bash
-$ sudo /etc/init.d/tor restart
+$ sudo systemctl restart tor
```
Then read the new generated authentication cookie from the Tor-generated hostname file:
@@ -106,5 +100,3 @@ You could also use Tor as a means to connect your Home Assistant instance to a r
As mentioned, with Orbot on Android, you can enable a "full device" VPN mode, that allows any app you have to tunnel through Tor, even if it is not Tor or proxy aware. This means you should be able to enter your "dot onion" Onion site address into any app you want to access to your Home Assistant instance, and it should work.
-This configuration was provided by @n8fr8 ([github](https://github.com/n8fr8), [twitter](https://twitter.com/n8fr8)) of the [Guardian Project](https://guardianproject.info) and [Tor Project](https://torproject.org). You can send questions, feedback and ideas to [support@guardianproject.info](mailto:support@guardianproject.info).
-
From 6f553ed23cc790e6ddb4e499919076689babe670 Mon Sep 17 00:00:00 2001
From: Fabian Affolter
Date: Thu, 9 Nov 2017 09:45:16 +0100
Subject: [PATCH 37/38] Add examples
---
source/_components/sensor.serial.markdown | 31 +++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/source/_components/sensor.serial.markdown b/source/_components/sensor.serial.markdown
index c66fe9386ad..52646cf648a 100644
--- a/source/_components/sensor.serial.markdown
+++ b/source/_components/sensor.serial.markdown
@@ -57,4 +57,35 @@ sensor:
```
{% endraw %}
+## {% linkable_title Examples %}
+### {% linkable_title Arduino %}
+
+For controllers of the Arduino family a possible sketch to read the temperature and the humidity could look like the sample below.
+
+```
+#include
+
+void setup() {
+ Serial.begin(115200);
+}
+
+void loop() {
+ StaticJsonBuffer<100> jsonBuffer;
+ JsonObject& json = prepareResponse(jsonBuffer);
+ json.printTo(Serial);
+ Serial.println();
+ delay(2000);
+}
+
+JsonObject& prepareResponse(JsonBuffer& jsonBuffer) {
+ JsonObject& root = jsonBuffer.createObject();
+ root["temperature"] = analogRead(A0);
+ root["humidity"] = analogRead(A1);
+ return root;
+}
+```
+
+### {% linkable_title Digispark USB Development Board %}
+
+This [blog post](/blog/2017/10/23/simple-analog-sensor/) describes the setup with a Digispark USB Development Board.
From d291868644889cda489b0466c56c458304dccc32 Mon Sep 17 00:00:00 2001
From: John Arild Berentsen
Date: Thu, 9 Nov 2017 18:27:53 +0100
Subject: [PATCH 38/38] Update control-panel.markdown
Updates for new services and buttons.
---
source/_docs/z-wave/control-panel.markdown | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/source/_docs/z-wave/control-panel.markdown b/source/_docs/z-wave/control-panel.markdown
index 342d2947c5a..2327e51117f 100644
--- a/source/_docs/z-wave/control-panel.markdown
+++ b/source/_docs/z-wave/control-panel.markdown
@@ -28,6 +28,7 @@ Here is where you [include and exclude](/docs/z-wave/adding/) Z-Wave devices fro
* **Stop Network** stops the Z-Wave network
* **Soft Reset** tells the controller to do a "soft reset." This is not supposed to lose any data, but different controllers can behave differently to a "soft reset" command, and may cause the Z-Wave network to hang.
* **Test Network** tells the controller to send no-op commands to each node and measure the time for a response. In theory, this can also bring back nodes which have been marked "presumed dead".
+* **Save Config** Saves the current cache of the network to zwcfg_[home_id].xml
## {% linkable_title Z-Wave Node Management %}
@@ -35,9 +36,12 @@ Here is where you [include and exclude](/docs/z-wave/adding/) Z-Wave devices fro
* **Remove Failed Node** will remove a failed node from the network. The node needs to be on the controller's Failed Node List (marked as `is_failed: true`), otherwise this command will fail.
* **Replace Failed Node** will replace a failed device with another. If the node is not in the controller's Failed Node List, or the node responds, this command will fail.
* **Print Node** prints all state of Z-Wave node to the console log
-
* **Rename Node** sets a node's name
+* **Heal Node** starts healing of the node.(Update neighbour list and update return routes)
+
+* **Test Node** sends no_op test messages to the node. This could in theory bring back a dead node.
+
Battery powered devices need to be awake before you can use the Z-Wave control panel to update their settings. How to wake your device is device specific, and some devices will stay awake for only a couple of seconds. Please refer to the manual of your device for more details.