diff --git a/_config.yml b/_config.yml index f52d2b10a96..de05f2cbf1c 100644 --- a/_config.yml +++ b/_config.yml @@ -140,11 +140,11 @@ social: # Home Assistant release details current_major_version: 0 current_minor_version: 59 -current_patch_version: 0 -date_released: 2017-12-03 +current_patch_version: 1 +date_released: 2017-12-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-0591---december-4" # Minor release (Example #release-0431---april-25): diff --git a/source/_components/device_tracker.unifi_direct.markdown b/source/_components/device_tracker.unifi_direct.markdown index 24124d3cbc2..d00d2259646 100644 --- a/source/_components/device_tracker.unifi_direct.markdown +++ b/source/_components/device_tracker.unifi_direct.markdown @@ -13,7 +13,7 @@ ha_release: 0.59 --- -This platform allows you to detect presence by looking at devices connected to a [UniFi AP](http://ubnt.com/unifi-ap/). This device tracker differs form [Ubiquiti Unifi WAP](https://home-assistant.io/components/device_tracker.unifi/) because it doesn't require the Unifi controller software. +This platform allows you to detect presence by looking at devices connected to a [UniFi AP](https://www.ubnt.com/products/#unifi). This device tracker differs form [Ubiquiti Unifi WAP](https://home-assistant.io/components/device_tracker.unifi/) because it doesn't require the Unifi controller software. To use this device tracker in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/discovery.markdown b/source/_components/discovery.markdown index 1b96320acf9..18ac58261ce 100644 --- a/source/_components/discovery.markdown +++ b/source/_components/discovery.markdown @@ -96,7 +96,9 @@ If you are on Windows and you're using Python 3.5, download the [Netifaces](http
-If you see `Not initializing discovery because could not install dependency netdisco==0.6.1` in the logs, you will need to install the `python3-dev` or `python3-devel` package on your system manually (eg. `sudo apt-get install python3-dev` or `sudo dnf -y install python3-devel`). On the next restart of home-assistant, discovery should work. If you still get an error, check if you have a compiler (`gcc`) available on your system. +If you see `Not initializing discovery because could not install dependency netdisco==0.6.1` in the logs, you will need to install the `python3-dev` or `python3-devel` package on your system manually (eg. `sudo apt-get install python3-dev` or `sudo dnf -y install python3-devel`). On the next restart of Home Assistant, the discovery should work. If you still get an error, check if you have a compiler (`gcc`) available on your system. + +For DSM/Synology, install via debian-chroot [see this forum post](https://community.home-assistant.io/t/error-starting-home-assistant-on-synology-for-first-time/917/15).
If you are developing a new platform, please read [how to make your platform discoverable](/developers/component_discovery/) for further details. diff --git a/source/_components/fan.xiaomi_miio.markdown b/source/_components/fan.xiaomi_miio.markdown index 7acf1291e45..218a7c0da40 100644 --- a/source/_components/fan.xiaomi_miio.markdown +++ b/source/_components/fan.xiaomi_miio.markdown @@ -13,7 +13,7 @@ ha_version: 0.57 ha_iot_class: "Local Polling" --- -The `xiaomi_miio` fan platform allows you to control the Xiaomi Air Purifier 2. The Air Purifier Pro isn't supported right now. +The `xiaomi_miio` fan platform allows you to control the Xiaomi Air Purifier 2, Air Purifier 2S andd Air Purifier Pro. Currently, the supported features are diff --git a/source/_components/input_number.markdown b/source/_components/input_number.markdown index 9c041e1b7f3..ccec8bc39bd 100644 --- a/source/_components/input_number.markdown +++ b/source/_components/input_number.markdown @@ -55,11 +55,9 @@ Configuration variables: Here's an example of `input_number` being used as a trigger in an automation. -```yaml {% raw %} +```yaml # Example configuration.yaml entry using 'input_number' as a trigger in an automation - -# Define input_number input_number: bedroom_brightness: name: Brightness @@ -67,8 +65,6 @@ input_number: min: 0 max: 254 step: 1 - -# Automation. automation: - alias: Bedroom Light - Adjust Brightness trigger: @@ -76,20 +72,19 @@ automation: entity_id: input_number.bedroom_brightness action: - service: light.turn_on -# Note the use of 'data_template:' below rather than the normal 'data:' if you weren't using an input variable + # Note the use of 'data_template:' below rather than the normal 'data:' if you weren't using an input variable data_template: entity_id: light.bedroom brightness: '{{ trigger.to_state.state | int }}' -{% endraw %} + ``` +{% endraw %} Another code example using `input_number`, this time being used in an action in an automation. -```yaml {% raw %} +```yaml # Example configuration.yaml entry using 'input_number' in an action in an automation - -# Define 'input_select' input_select: scene_bedroom: name: Scene @@ -101,8 +96,6 @@ input_select: - Relax - 'OFF' initial: 'Select' - -# Define input_number input_number: bedroom_brightness: name: Brightness @@ -110,8 +103,6 @@ input_number: min: 0 max: 254 step: 1 - -# Automation. automation: - alias: Bedroom Light - Custom trigger: @@ -120,21 +111,18 @@ automation: to: CUSTOM action: - service: light.turn_on -# Again, note the use of 'data_template:' rather than the normal 'data:' if you weren't using an input variable. + # Again, note the use of 'data_template:' rather than the normal 'data:' if you weren't using an input variable. data_template: entity_id: light.bedroom brightness: '{{ states.input_number.bedroom_brightness.state | int }}' -{% endraw %} ``` - +{% endraw %} Example of `input_number` being used in a bidirectional manner, both being set by and controlled by an MQTT action in an automation. -```yaml {% raw %} +```yaml # Example configuration.yaml entry using 'input_number' in an action in an automation - -# Define input_number input_number: target_temp: name: Target Heater Temperature Slider @@ -143,31 +131,29 @@ input_number: step: 1 unit_of_measurement: step 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. -- alias: Set temp slider - trigger: - platform: mqtt - topic: "setTemperature" - action: - service: input_number.set_value - data_template: - entity_id: input_number.target_temp - value: '{{ trigger.payload}}' - - # This automation script runs when the target temperature slider is moved. - # It publishes its value to the same MQTT topic it is also subscribed to. -- alias: Temp slider moved - trigger: - platform: state - entity_id: input_number.target_temp - action: - service: mqtt.publish - data_template: +automation: + - alias: Set temp slider + trigger: + platform: mqtt topic: "setTemperature" - retain: true - payload: '{{ states.input_number.target_temp.state | int }}' -{% endraw %} + action: + service: input_number.set_value + data_template: + entity_id: input_number.target_temp + value: '{{ trigger.payload}}' +# This automation script runs when the target temperature slider is moved. +# It publishes its value to the same MQTT topic it is also subscribed to. + - alias: Temp slider moved + trigger: + platform: state + entity_id: input_number.target_temp + action: + service: mqtt.publish + data_template: + topic: "setTemperature" + retain: true + payload: '{{ states.input_number.target_temp.state | int }}' ``` +{% endraw %} diff --git a/source/_components/sensor.eliqonline.markdown b/source/_components/sensor.eliqonline.markdown index cfa071e3079..7d8452595fc 100644 --- a/source/_components/sensor.eliqonline.markdown +++ b/source/_components/sensor.eliqonline.markdown @@ -28,7 +28,7 @@ sensor: Configuration variables: - **access_token** (*Required*): The Access Token for your account. -- **channel_id** (*Optional*): Channel ID (as integer) of your device. Needed if you have more than one device. +- **channel_id** (*Required*): Channel ID (as integer) of your device. - **name** (*Optional*): The name of the sensor, eg. the city. For details please check the [API documentation](https://my.eliq.se/knowledge/sv-SE/49-eliq-online/299-eliq-online-api). diff --git a/source/_components/sensor.rest.markdown b/source/_components/sensor.rest.markdown index 9f3da04c7ca..aa34b219058 100644 --- a/source/_components/sensor.rest.markdown +++ b/source/_components/sensor.rest.markdown @@ -49,6 +49,7 @@ Configuration variables: - **username** (*Optional*): The username for accessing the REST endpoint. - **password** (*Optional*): The password for accessing the REST endpoint. - **headers** (*Optional*): The headers for the requests. +- **json_attributes** (*Optional*): A list of keys to extract values from a JSON dictionary result and then set as sensor attributes. Default is an empty list.Make sure that the URL exactly matches your endpoint or resource. @@ -67,9 +68,7 @@ In this section you find some real life examples of how to use this sensor. ### {% linkable_title External IP address %} -You can find your external IP address using the service [JSON Test](http://www.jsontest.com) at their http://ip.jsontest.com/ endpoint. - -To display the IP address, the entry for a sensor in the `configuration.yaml` file will look like this. +You can find your external IP address using the service [JSON Test](http://www.jsontest.com) at their [http://ip.jsontest.com/](http://ip.jsontest.com/) URL. ```yaml sensor: @@ -83,8 +82,6 @@ sensor: The [glances](/components/sensor.glances/) sensor is doing the exact same thing for all exposed values. -Add something similar to the entry below to your `configuration.yaml` file: - ```yaml sensor: - platform: rest @@ -154,3 +151,63 @@ sensor: User-Agent: Home Assistant REST sensor ``` +### {% linkable_title Fetch multiple JSON values and present them as attibutes %} + +[JSON Test](http://www.jsontest.com) returns the current time, date and milliseconds since epoch from [http://date.jsontest.com/](http://date.jsontest.com/). + +{% raw %} +```yaml +sensor: + - platform: rest + name: JSON time + json_attributes: + - date + - milliseconds_since_epoch + resource: http://date.jsontest.com/ + value_template: '{{ value_json.time }}' + - platform: template + sensors: + date: + friendly_name: 'Date' + value_template: '{{ states.sensor.json_time.attributes["date"] }}' + milliseconds: + friendly_name: 'milliseconds' + value_template: '{{ states.sensor.json_time.attributes["milliseconds_since_epoch"] }}' +``` +{% endraw %} + +This sample fetches a weather report from [OpenWeatherMap](http://openweathermap.org/), maps the resulting data into attributes of the RESTful sensor and then creates a set of [template](/components/sensor.template/) sensors that monitor the attributes and present the values in a usable form. + +{% raw %} +```yaml +sensor: + - platform: rest + name: OWM_report + json_attributes: + - main + - weather + value_template: '{{ value_json["weather"][0]["description"].title() }}' + resource: http://api.openweathermap.org/data/2.5/weather?zip=80302,us&APPID=VERYSECRETAPIKEY + - platform: template + sensors: + owm_weather: + value_template: '{{ states.sensor.owm_report.attributes.weather[0]["description"].title() }}' + icon_template: '{{ "http://openweathermap.org/img/w/"+states.sensor.owm_report.attributes.weather[0]["icon"]+".png" }}' + entity_id: sensor.owm_report + owm_temp: + friendly_name: 'Outside temp' + value_template: '{{ states.sensor.owm_report.attributes.main["temp"]-273.15 }}' + unit_of_measurement: "°C" + entity_id: sensor.owm_report + owm_pressure: + friendly_name: 'Outside pressure' + value_template: '{{ states.sensor.owm_report.attributes.main["pressure"] }}' + unit_of_measurement: "hP" + entity_id: sensor.owm_report + owm_humidity: + friendly_name: 'Outside humidity' + value_template: '{{ states.sensor.owm_report.attributes.main["humidity"] }}' + unit_of_measurement: "%" + entity_id: sensor.owm_report +``` +{% endraw %} diff --git a/source/_components/sensor.tahoma.markdown b/source/_components/sensor.tahoma.markdown index 1b373ac81ce..80cf6bc4ebb 100644 --- a/source/_components/sensor.tahoma.markdown +++ b/source/_components/sensor.tahoma.markdown @@ -14,8 +14,8 @@ ha_release: 0.59 To use your tahoma sensors in your installation, add the following to your `configuration.yaml` file: -``yaml +```yaml # Example configuration.yml entry sensor: platform: tahoma -``` \ No newline at end of file +``` diff --git a/source/_components/skybell.markdown b/source/_components/skybell.markdown index b160a879231..4a7a2cfdac6 100644 --- a/source/_components/skybell.markdown +++ b/source/_components/skybell.markdown @@ -13,11 +13,11 @@ ha_release: 0.56 ha_iot_class: "Cloud Polling" --- -The `skybell` implementation allows you to integrate your [Skybell.com](https://skybell.com) doorbells in Home Assistant. +The `skybell` implementation allows you to integrate your [Skybell.com](http://www.skybell.com/) doorbells in Home Assistant. Currently only the Skybell HD is supported by this platform. -To enable devices set up with your [Skybell.com](https://skybell.com/) account, add the following to your `configuration.yaml` file: +To enable devices set up with your [Skybell.com](http://www.skybell.com/) account, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -26,9 +26,15 @@ skybell: password: secret ``` -Configuration variables: - -- **username** (*Required*): The username for accessing your Skybell account. -- **password** (*Required*): The password for accessing your Skybell account. +{% configuration %} +username: + description: The username for accessing your Skybell account. + required: true + type: string +password: + description: The password for accessing your Skybell account. + required: true + type: string +{% endconfiguration %} Finish your configuration by visiting the [Skybell binary sensor](/components/binary_sensor.skybell/), [Skybell camera](/components/camera.skybell/), [Skybell light](/components/light.skybell/), [Skybell sensor](/components/sensor.skybell/), or [Skybell switch](/components/switch.skybell/) documentation. diff --git a/source/_docs/z-wave/device-specific.markdown b/source/_docs/z-wave/device-specific.markdown index 419d8a8c850..0aba503a710 100644 --- a/source/_docs/z-wave/device-specific.markdown +++ b/source/_docs/z-wave/device-specific.markdown @@ -61,6 +61,10 @@ $ sudo systemctl disable hciuart Finally, reboot to make those changes active. It's been reported that this is also required on the Pi2. +
+ If you've installed the Z-Way software, you'll need to ensure you disable it before you install Home Assistant or you won't be able to access the board. Do this with `sudo /etc/init.d/z-way-server stop; sudo update-rc.d z-way-server disable`. +
+ ### {% linkable_title Aeon Minimote %} Here's a handy configuration for the Aeon Labs Minimote that defines all possible button presses. Put it into `automation.yaml`. @@ -74,7 +78,6 @@ Here's a handy configuration for the Aeon Labs Minimote that defines all possibl event_data: entity_id: zwave.aeon_labs_minimote_1 scene_id: 1 - - id: mini_1_held alias: 'Minimote Button 1 Held' trigger: @@ -83,7 +86,6 @@ Here's a handy configuration for the Aeon Labs Minimote that defines all possibl event_data: entity_id: zwave.aeon_labs_minimote_1 scene_id: 2 - - id: mini_2_pressed alias: 'Minimote Button 2 Pressed' trigger: @@ -92,7 +94,6 @@ Here's a handy configuration for the Aeon Labs Minimote that defines all possibl event_data: entity_id: zwave.aeon_labs_minimote_1 scene_id: 3 - - id: mini_2_held alias: 'Minimote Button 2 Held' trigger: @@ -101,7 +102,6 @@ Here's a handy configuration for the Aeon Labs Minimote that defines all possibl event_data: entity_id: zwave.aeon_labs_minimote_1 scene_id: 4 - - id: mini_3_pressed alias: 'Minimote Button 3 Pressed' trigger: @@ -110,7 +110,6 @@ Here's a handy configuration for the Aeon Labs Minimote that defines all possibl event_data: entity_id: zwave.aeon_labs_minimote_1 scene_id: 5 - - id: mini_3_held alias: 'Minimote Button 3 Held' trigger: @@ -119,7 +118,6 @@ Here's a handy configuration for the Aeon Labs Minimote that defines all possibl event_data: entity_id: zwave.aeon_labs_minimote_1 scene_id: 6 - - id: mini_4_pressed alias: 'Minimote Button 4 Pressed' trigger: @@ -128,7 +126,6 @@ Here's a handy configuration for the Aeon Labs Minimote that defines all possibl event_data: entity_id: zwave.aeon_labs_minimote_1 scene_id: 7 - - id: mini_4_held alias: 'Minimote Button 4 Held' trigger: diff --git a/source/_docs/z-wave/installation.markdown b/source/_docs/z-wave/installation.markdown index 4765ecb07be..513028a96f0 100644 --- a/source/_docs/z-wave/installation.markdown +++ b/source/_docs/z-wave/installation.markdown @@ -188,6 +188,12 @@ An easy script to generate a random key: cat /dev/urandom | tr -dc '0-9A-F' | fold -w 32 | head -n 1 | sed -e 's/\(..\)/0x\1, /g' -e 's/, $//' ``` +```yaml +# Example configuration.yaml entry for network_key +zwave: + network_key: "0x2e, 0xcc, 0xab, 0x1c, 0xa3, 0x7f, 0x0e, 0xb5, 0x70, 0x71, 0x2d, 0x98, 0x25, 0x43, 0xee, 0x0c" +``` + Ensure you keep a backup of this key. If you have to rebuild your system and don't have a backup of this key, you won't be able to reconnect to any security devices. This may mean you have to do a factory reset on those devices, and your controller, before rebuilding your Z-Wave network. ## {% linkable_title First Run %} diff --git a/source/_posts/2017-12-03-release-59.markdown b/source/_posts/2017-12-03-release-59.markdown index 6e49724439b..38f1f744860 100644 --- a/source/_posts/2017-12-03-release-59.markdown +++ b/source/_posts/2017-12-03-release-59.markdown @@ -16,10 +16,10 @@ og_image: /images/blog/2017-12-0.59/components.png We are proud to announce the availability of Home Assistant 0.59. To keep you in the loop: This is the second last release in 2017. We have stuck to our bi-weekly release cycle for another year but we decided that we will take a little break between Christmas and New Year. ## {% linkable_title Dominos Pizza platform %} -With the Dominos Pizza integration made by [@wardcraigj] your home is now taking care that you don't starve. In combination with a [Skybell](/components/skybell/) or a [DoorBird](/components/skybell/) you will know exactly when the pizza is in front of your door. +With the Dominos Pizza integration made by [@wardcraigj] your home is now taking care that you don't starve. In combination with a [Skybell](/components/skybell/) or a [DoorBird](/components/doorbird/) you will know exactly when the pizza is in front of your door. ## {% linkable_title Color picker %} -@NovapaX created a new color picker. While dragging the color badge with your finger, a badge will appear above your finger so you can see the current color. +[@NovapaX] created a new color picker. While dragging the color badge with your finger, a badge will appear above your finger so you can see the current color.
@@ -27,7 +27,7 @@ With the Dominos Pizza integration made by [@wardcraigj] your home is now taking
When you use this installation method, some add-ons will not be available and the documentation might not work for your installation.
+```bash +curl -sL https://raw.githubusercontent.com/home-assistant/hassio-build/master/install/hassio_install | bash -s +``` + ++When you use this installation method, some add-ons will not be available and the documentation might not work for your installation. +
+ +A detailed guide about running Hass.io as a virtual machine is available in the [blog](/blog/2017/11/29/hassio-virtual-machine/). [Etcher]: https://etcher.io/ [resinos-network]: https://docs.resin.io/deployment/network/2.0.0/