diff --git a/_config.yml b/_config.yml index 07af064aef6..89deae25351 100644 --- a/_config.yml +++ b/_config.yml @@ -139,9 +139,9 @@ social: # Home Assistant release details current_major_version: 0 current_minor_version: 42 -current_patch_version: 0 -date_released: 2017-04-08 +current_patch_version: 4 +date_released: 2017-04-17 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. -patch_version_notes: "#" +patch_version_notes: "#release-0424---april-17" diff --git a/source/_components/alert.markdown b/source/_components/alert.markdown index 423d3bde7c2..393deab5238 100644 --- a/source/_components/alert.markdown +++ b/source/_components/alert.markdown @@ -46,6 +46,29 @@ Configuration variables: In this example, the garage door status (`input_boolean.garage_door`) is watched and this alert will be triggered when its status is equal to `on`. This indicates that the door has been opened. Because the `skip_first` option was set to `True`, the first notification will not be delivered immediately. However, every 30 minutes, a notification will be delivered until either `input_boolean.garage_door` no longer has a state of `on` or until the alert is acknowledged using the Home Assistant frontend. +For notifiers that require other parameters (such as `twilio_sms` which requires you specify a `target` parameter when sending the notification), you can use the `group` notification to wrap them for an alert. Simply create a `group` notification type with a single notification member (such as `twilio_sms`) specifying the required parameters other than `message` provided by the `alert` component: + +```yaml +- platform: group + name: john_phone_sms + services: + - service: twilio_sms + data: + target: !secret john_phone +``` + +```yaml +freshwater_temp_alert: + name: "Warning: I have detected a problem with the freshwater tank temperature" + entity_id: binary_sensor.freshwater_temperature_status + state: 'on' + repeat: 5 + can_acknowledge: true + skip_first: false + notifiers: + - john_phone_sms +``` + ### {% linkable_title Complex Alert Criteria %} By design, the `alert` component only handles very simple criteria for firing. That is, is only checks if a single entity's state is equal to a value. At some point, it may be desireable to have an alert with a more complex criteria. Possibly, when a battery percentage falls below a threshold. Maybe you want to disable the alert on certain days. Maybe the alert firing should depend on more than one input. For all of these situations, it is best to use the alert in conjunction with a `Template Binary Sensor`. The following example does that. diff --git a/source/_components/alexa.markdown b/source/_components/alexa.markdown index fd763355e97..c0526d856a8 100644 --- a/source/_components/alexa.markdown +++ b/source/_components/alexa.markdown @@ -357,7 +357,7 @@ Please refer to the [Amazon documentation][flash-briefing-api-docs] for more inf - Hit "Next" - Test - Having passed all validations to reach this screen you can now click on "< Back to All Skills" as your flash briefing is now available as in "Development" service. -- To invoke your flash briefing, open the Alexa app on your phone or go to the [Alexa Setings Site][alexa-settings-site], open the "Skills" configuration section, select "Your Skills", scroll to the bottom, tap on the Flash Briefing Skill you just created, enable it, then manage Flash Briefing and adjust ordering as necessary. Finally ask your Echo for your "news","flash briefing", or "briefing". +- To invoke your flash briefing, open the Alexa app on your phone or go to the [Alexa Settings Site][alexa-settings-site], open the "Skills" configuration section, select "Your Skills", scroll to the bottom, tap on the Flash Briefing Skill you just created, enable it, then manage Flash Briefing and adjust ordering as necessary. Finally ask your Echo for your "news","flash briefing", or "briefing". [amazon-dev-console]: https://developer.amazon.com [flash-briefing-api]: https://developer.amazon.com/alexa-skills-kit/flash-briefing diff --git a/source/_components/binary_sensor.flic.markdown b/source/_components/binary_sensor.flic.markdown index 145401434d0..126eb15c020 100644 --- a/source/_components/binary_sensor.flic.markdown +++ b/source/_components/binary_sensor.flic.markdown @@ -17,7 +17,7 @@ The `flic` platform allows you to connect with multiple [flic](https://flic.io) The platform does not directly interact with the buttons, but communicates with the flic service that manages the buttons. The service can run on the same instance as home assistant or any other reachable machine. For setup instructions visit the GitHub repository of the service for [Linux](https://github.com/50ButtonsEach/fliclib-linux-hci), [OS X](https://github.com/50ButtonsEach/flic-service-osx) or [Windows](https://github.com/50ButtonsEach/fliclib-windows). -### {% linkable_title Configuration %} +To use your flic buttons in your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -27,15 +27,15 @@ binary_sensor: Configuration variables: -- **host** (*Optional*): The IP or hostname of the flic service server. (default: `localhost`) -- **port** (*Optional*): The port of the flic service. (default: `5551`) -- **discovery** (*Optional*): If `true`, the component is configured to constantly scan for new buttons. (default: `true`) +- **host** (*Optional*): The IP or hostname of the flic service server. Defaults to `localhost`. +- **port** (*Optional*): The port of the flic service. Defaults to `5551`. +- **discovery** (*Optional*): If `true` then the component is configured to constantly scan for new buttons. Defaults to `true`. - **ignored_click_types**: List of click types whose occurrence should not trigger and `flic_click` event. -- **timeout** (*Optional*): Maximum time in seconds an event can be queued locally on a button before discarding the event. (default: `3`) +- **timeout** (*Optional*): Maximum time in seconds an event can be queued locally on a button before discarding the event. Defaults to 3. #### {% linkable_title Discovery %} -If discovery is enabled, you can add a new button by pressing it for at least 7s. The button will be paired with the flic service and added to Home Assistant. Otherwise, you have to manually pair it with the flic service. The Home Assistant platform will not scan for new buttons and will only connect to buttons already paired. +If discovery is enabled, you can add a new button by pressing it for at least 7 seconds. The button will be paired with the flic service and added to Home Assistant. Otherwise, you have to manually pair it with the flic service. The Home Assistant platform will not scan for new buttons and will only connect to buttons already paired. #### {% linkable_title Timeout %} +When the flic button is triggered while disconnected from flic service, it will queue all events and try to connect and transmit them as soon as possible. The timeout variable can be used to stop events from triggering if too much time passed between the action and the notification in Home Assistant. diff --git a/source/_components/binary_sensor.workday.markdown b/source/_components/binary_sensor.workday.markdown index 6dec6bc9ee3..580af7da013 100644 --- a/source/_components/binary_sensor.workday.markdown +++ b/source/_components/binary_sensor.workday.markdown @@ -22,18 +22,21 @@ To enable the `workday` sensor in your installation, add the following to your ` binary_sensor: - platform: workday country: DE - province: BW ``` Configuration variables: - **country** (*Required*): Country code according to [holidays](https://pypi.python.org/pypi/holidays/0.8.1) notation. -- **province** (*Optional*): Province code according to [holidays](https://pypi.python.org/pypi/holidays/0.8.1) notation (defaults to None). -- **workdays** (*Optional*): List of workdays (defaults to mon, tue, wed, thu, fri). -- **excludes** (*Optional*): List of workday excludes (defaults to sat, sun, holiday). +- **province** (*Optional*): Province code according to [holidays](https://pypi.python.org/pypi/holidays/0.8.1) notation. Defaults to None. +- **workdays** (*Optional*): List of workdays. Defaults to `mon`, `tue`, `wed`, `thu`, `fri`. +- **excludes** (*Optional*): List of workday excludes. Defaults to `sat`, `sun`, `holiday`. Days are specified as follows: `mon`, `tue`, `wed`, `thu`, `fri`, `sat`, `sun`. The keyword `holiday` is used for public holidays identified by the holidays module. +
+If you use the sensor for Canada (`CA`) with Ontario (`ON`) as `province:` then you need to wrap `ON` in quotes. Otherwise the value is evaluated as `True` (check the YAML documentation for further details) and the sensor will not work. +
+ Example usage for automation: ```yaml diff --git a/source/_components/camera.synology.markdown b/source/_components/camera.synology.markdown index a151cc3c449..561f0d41609 100644 --- a/source/_components/camera.synology.markdown +++ b/source/_components/camera.synology.markdown @@ -49,5 +49,5 @@ camera: ```-Most users will need to set `valid_ssl` to false unless they have installed a valid SSL certificate in place of the built in self-signed certificate. +Most users will need to set `verify_ssl` to false unless they have installed a valid SSL certificate in place of the built in self-signed certificate.
diff --git a/source/_components/group.markdown b/source/_components/group.markdown index 731ab582781..78005f8fb4c 100644 --- a/source/_components/group.markdown +++ b/source/_components/group.markdown @@ -22,6 +22,7 @@ By default, every group appears in the HOME tab. If you create a group `default_ group: default_view: view: yes + icon: mdi:home entities: - group.kitchen - group.awesome_people diff --git a/source/_components/light.lifx.markdown b/source/_components/light.lifx.markdown index ec2e8c068bb..36c7a03b0dc 100644 --- a/source/_components/light.lifx.markdown +++ b/source/_components/light.lifx.markdown @@ -15,7 +15,7 @@ ha_release: 0.12 The `lifx` platform allows you to integrate your [LIFX](http://www.lifx.com) into Home Assistant. -_Please note, LIFX is currently not supported on Windows._ +_Please note, the `lifx` platform does not support Windows. The `lifx_legacy` platform (supporting basic functionality) can be used instead._ ```yaml # Example configuration.yaml entry diff --git a/source/_components/light.markdown b/source/_components/light.markdown index 43f716fc692..509f4a3143b 100644 --- a/source/_components/light.markdown +++ b/source/_components/light.markdown @@ -38,7 +38,7 @@ Turns one light on or multiple lights on using [groups]({{site_root}}/components | `xy_color` | yes | A list containing two floats representing the xy color you want the light to be. Two comma separated floats that represent the color in XY. | `rgb_color` | yes | A list containing three integers representing the rgb color you want the light to be. Three comma separated integers that represent the color in RGB. You can find a great chart here: [Hue Color Chart](http://www.developers.meethue.com/documentation/hue-xy-values) | `color_temp` | yes | An INT in mireds representing the color temperature you want the light to be. -| `color_name` | yes | A human readable string of a color name, such as `blue` or `goldenrod` or [`chucknorris`](http://stackoverflow.com/questions/8318911/why-does-html-think-chucknorris-is-a-color). If your browser can display it, so can Home Assistant. +| `color_name` | yes | A human readable string of a color name, such as `blue` or `goldenrod`. All [CSS3 color names](https://www.w3.org/TR/2010/PR-css3-color-20101028/#svg-color) are supported. | `brightness` | yes | Integer between 0 and 255 for how bright the color should be. | `flash` | yes | Tell light to flash, can be either value `short` or `long`. *not supported by Wink | `effect`| yes | Applies an effect such as `colorloop` or `random`. diff --git a/source/_components/mysensors.markdown b/source/_components/mysensors.markdown index ab5e13f3cc2..e7e3ac4c8c4 100644 --- a/source/_components/mysensors.markdown +++ b/source/_components/mysensors.markdown @@ -36,7 +36,6 @@ mysensors: persistence_file: 'path/mysensors4.json' topic_in_prefix: 'mygateway1-out' topic_out_prefix: 'mygateway1-in' - debug: true optimistic: false persistence: true retain: true @@ -50,7 +49,7 @@ Configuration variables: - **tcp_port** (*Optional*): Specifies the port of the connected tcp ethernet gateway. Default is 5003. - **topic_in_prefix** (*Optional*): Set the prefix of the MQTT topic for messages coming from the MySensors gateway in to Home Assistant. Default is an empty string. - **topic_out_prefix** (*Optional*): Set the prefix of the MQTT topic for messages going from Home Assistant out to the MySensors gateway. Default is an empty string. -- **debug** (*Optional*): Enable or disable verbose debug logging. Default is false. +- **debug** (*DEPRECATED*): This option has been deprecated. Please remove this from your config is you have it included. Use the logger component to filter log messages on log level. - **persistence** (*Optional*): Enable or disable local persistence of sensor information. If this is disabled, then each sensor will need to send presentation messages after Home Assistant starts. Default is true. - **persistence_file** (*Optional*): The path to a file to save sensor information. The file extension determines the file type. Currently supported file types are 'pickle' and 'json'. - **version** (*Optional*): Specifies the MySensors protocol version to use. Supports 1.4, 1.5 and 2.0. Default is 1.4. diff --git a/source/_components/sensor.crimereports.markdown b/source/_components/sensor.crimereports.markdown index 03cfec3675f..1bb1b89d052 100644 --- a/source/_components/sensor.crimereports.markdown +++ b/source/_components/sensor.crimereports.markdown @@ -8,46 +8,33 @@ comments: false sharing: true footer: true ha_category: Sensor -featured: false +logo: crimereports.png ha_release: 0.42 ha_iot_class: "Cloud Polling" --- -The `crimereports` sensor allows one to track reported incidents occurring in a Home Assistant zone. Incidents include anything reported to [Crime Reports](http://crimereports.com). Your regional emergency services may or may not report data. The sensor only counts incidents from the current day. +The `crimereports` sensor allows one to track reported incidents occurring in a given area. Incidents include anything reported to [Crime Reports](http://crimereports.com). Your regional emergency services may or may not report data. The sensor only counts incidents from the current day. ## Configuration -To enable this sensor, add the following lines to your `configuration.yaml`. Your `zone` should be of sufficient size to capture incidents in your area. Your `home` zone is probably too small. +To enable this sensor, add the following lines to your `configuration.yaml`. Your `radius` should be of sufficient size to capture incidents in your area. ```yaml -zone: - - name: neighborhood - latitude:update_interval: - # At least one of these must be specified: - days: 0 - hours: 0 - minutes: 3 - seconds: 30 - milliseconds: 0 -+ ## Notes diff --git a/source/_components/sensor.metoffice.markdown b/source/_components/sensor.metoffice.markdown new file mode 100644 index 00000000000..59dd4b8ff3b --- /dev/null +++ b/source/_components/sensor.metoffice.markdown @@ -0,0 +1,51 @@ +--- +layout: page +title: "Met Office Sensor" +description: "Instructions on how to integrate Met Office weather conditions into Home Assistant." +date: 2017-03-23 22:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: metoffice.jpg +ha_category: Weather +ha_release: 0.42 +--- + +The `metoffice` sensor platform uses the Met Office's [DataPoint API][datapoint] for weather data. + +- Each sensor will be given the `device_id` of "Met Office [condition]" +- The sensor checks for new data every minute, starting 30 minutes after the timestamp of the most recent data as the data is updated every half-hour. + +To add the Met Office weather to your installation you'll need to register for a free api key at the link above and then add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: metoffice + api_key: "my-api-key" + monitored_conditions: + - weather + - temperature + - feels_like_temperature + - wind_speed + - wind_direction + - wind_gust + - visibility + - uv + - precipitation + - humidity +``` + +Your location will be detected from your home `latitude` and `longitude` settings. + +Configuration variables: + +- **api_key** (*Required*): Your personal API key from the [Datapoint website][datapoint]. + +
+This sensor is an alternative to the [`metoffice`](/components/weather.metoffice/) weather platform. +The weather platform is easier to configure but less customisable. +
+ +[datapoint]: http://www.metoffice.gov.uk/datapoint diff --git a/source/_components/sensor.netatmo.markdown b/source/_components/sensor.netatmo.markdown index 1aa1bc8fac8..da931ecd21c 100644 --- a/source/_components/sensor.netatmo.markdown +++ b/source/_components/sensor.netatmo.markdown @@ -52,7 +52,7 @@ Configuration variables: - **sum_rain_1**: Rainfall in the last hour in mm. - **sum_rain_24**: Rainfall in mm from 00:00am - 23:59pm. - **WindAngle**: Wind angle - - **WingStrength**: Wind strength + - **WindStrength**: Wind strength - **GustAngle**: Wind gust angle - **GustStrength**: Wind gust strength - **min_temp**: Min temperature for today diff --git a/source/_components/switch.zoneminder.markdown b/source/_components/switch.zoneminder.markdown index e9312a7ca09..5b4702f3256 100644 --- a/source/_components/switch.zoneminder.markdown +++ b/source/_components/switch.zoneminder.markdown @@ -16,7 +16,7 @@ ha_release: 0.31 The `zoneminder` switch platform allows you to toggle the current function of all cameras attached to your [ZoneMinder](https://www.zoneminder.com) instance.-You must have the [ZoneMinder component](/components/zoneminder/) configured to use this. +You must have the [ZoneMinder component](/components/zoneminder/) configured to use this and if ZoneMinder authentication is enabled the account specified in the component configuration must have "Edit" permission for "System".
To enable this switch, add the following lines to your `configuration.yaml` file: diff --git a/source/_components/weather.metoffice.markdown b/source/_components/weather.metoffice.markdown new file mode 100644 index 00000000000..efd8b10daa6 --- /dev/null +++ b/source/_components/weather.metoffice.markdown @@ -0,0 +1,34 @@ +--- +layout: page +title: "Met Office" +description: "Instructions on how to integrate Met Office weather conditions into Home Assistant." +date: 2017-03-23 22:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: metoffice.jpg +ha_category: Weather +ha_release: 0.42 +--- + +The `metoffice` weather platform uses the Met Office's [DataPoint API][datapoint] for weather data. + +To add the Met Office weather platform to your installation you'll need to register for a free api key at the link above and then add the following to your `configuration.yaml` file: + +```yaml +weather: + - platform: metoffice + api_key: "my-api-key" +``` + +Configuration variables: + +- **api_key** (*Required*): Your personal API key from the [Datapoint website][datapoint]. + ++This platform is an alternative to the [`metoffice`](/components/sensor.metoffice/) sensor. +The weather platform is easier to configure but less customisable. +
+ +[datapoint]: http://www.metoffice.gov.uk/datapoint diff --git a/source/_cookbook/configuration_yaml_by_stanvx b/source/_cookbook/configuration_yaml_by_stanvx new file mode 100644 index 00000000000..a40ec0e30be --- /dev/null +++ b/source/_cookbook/configuration_yaml_by_stanvx @@ -0,0 +1,12 @@ +--- +layout: page +title: "Configuration.yaml by Stanvx" +description: "" +date: 2017-04-09 21:35 +sidebar: true +comments: false +sharing: true +footer: true +ha_category: Example configuration.yaml +ha_external_link: https://github.com/stanvx/Home-Assistant-Configuration +--- diff --git a/source/_cookbook/python_component_basic_state.markdown b/source/_cookbook/python_component_basic_state.markdown index b2c1e838e56..623135363b0 100644 --- a/source/_cookbook/python_component_basic_state.markdown +++ b/source/_cookbook/python_component_basic_state.markdown @@ -23,7 +23,7 @@ To get started, create the file `- If your are using the Python Keyring, [autostarting](/getting-started/autostart/) of Home Assistant will no longer work. + If you are using the Python Keyring, [autostarting](/getting-started/autostart/) of Home Assistant will no longer work.
diff --git a/source/_docs/ecosystem/backup/backup_github.markdown b/source/_docs/ecosystem/backup/backup_github.markdown index 2af70720c5c..da9a5521cd6 100644 --- a/source/_docs/ecosystem/backup/backup_github.markdown +++ b/source/_docs/ecosystem/backup/backup_github.markdown @@ -77,6 +77,9 @@ harmony_media_room.conf pyozw.sqlite .* !/.gitignore +html5_push_registrations.conf +ip_bans.yaml +/icloud/* ``` More information on the layout of the file can be found in the [.gitignore manual](https://git-scm.com/docs/gitignore). diff --git a/source/_docs/ecosystem/certificates/lets_encrypt.markdown b/source/_docs/ecosystem/certificates/lets_encrypt.markdown index 5a6918009cb..caac6eb191c 100644 --- a/source/_docs/ecosystem/certificates/lets_encrypt.markdown +++ b/source/_docs/ecosystem/certificates/lets_encrypt.markdown @@ -9,8 +9,8 @@ sharing: true footer: true --- --Before exposing your Home Aassistant instance to the outside world it is ESSENTIAL that you have set a password following the advice on the [http](https://home-assistant.io/docs/configuration/basic/) page. +
+Before exposing your Home Assistant instance to the outside world it is ESSENTIAL that you have set a password following the advice on the [http](https://home-assistant.io/docs/configuration/basic/) page.
@@ -19,7 +19,7 @@ This guide was added by mf_social on 16/03/2017 and was valid at the time of wri * You can access your Home Assistant instance across your local network, and access the device that it is on via SSH from your local network. * You know the internal IP address of your router and can access your router's configuration pages. * You have already set up a password for your Home Assistant instance, following the advice on this page: [http](https://home-assistant.io/docs/configuration/basic/) - * You want to access your Home Assistant instance when you are away from home (ie, not connected to your local network) and secure it with an TLS/SSL certificate. + * You want to access your Home Assistant instance when you are away from home (ie, not connected to your local network) and secure it with a TLS/SSL certificate. * You have a basic understanding of the phrases I have used so far. * You are not currently running anything on port 80 on your network (you'd know if you were). * If you are not using Home Assistant on a Debian/Raspian/Hassbian system you will be able to convert any of the terminology I use in to the correct syntax for your system. @@ -49,7 +49,7 @@ Now, to speak to the outside world your connection goes through a router. Your r So, when we want to connect to our Home Assistant instance from outside our network we will need to call the correct extension number, at the correct phone number, in the correct area code. -We will be looking for a system to run like this (in this example I will pretend our exernal IP is 12.12.12.12): +We will be looking for a system to run like this (in this example I will pretend our external IP is 12.12.12.12): ```text Outside world -> 12.12.12.12:8123 -> your router -> 192.168.0.200:8123 @@ -65,7 +65,7 @@ So, we can use a static IP to ensure that whenever our device running Home Assis We then have no control over our external IP, as our Service Provider will give us a new one at random intervals. To fix this we will use a service called DuckDNS which will give us a name for our connection (something like examplehome.duckdns.org) and behind the scenes will continue to update your external IP. So no matter how many times the IP address changes, typing examplehome.duckdns.org in to our browser will convert to the correct, up-to-date, IP address. This is covered in step 3 below. -To get around the issue of not being able to chain the IP addresses together (I can't say I want to call 12:12:12:12 and be put through to 192.168.0.200, and then be put through to extension 8123) we use port forwarding. Port forwarding is the process of telling your router which device to allow the outside connection to speak to. In the doctors surgery example, port forwarding is the receptionist. This takes a call from outside, and forwards it to the correct extension number inside. It is important to note that port forwarding can forward an incoming request for one port to a different port on your internal network if you so choose, and we will be doing this later on. The end result being that when we have our SSL certificate our incoming call will be requesting port 443 (because that is the SSL port, like the SSH port is always 22), but our port forwarding rule will forward this to our HA instance on port 8123. When this guide is completed we will run something like this: +To get around the issue of not being able to chain the IP addresses together (I can't say I want to call 12:12:12:12 and be put through to 192.168.0.200, and then be put through to extension 8123) we use port forwarding. Port forwarding is the process of telling your router which device to allow the outside connection to speak to. In the doctors surgery example, port forwarding is the receptionist. This takes a call from outside, and forwards it to the correct extension number inside. It is important to note that port forwarding can forward an incoming request for one port to a different port on your internal network if you so choose, and we will be doing this later on. The end result being that when we have our TSL/SSL certificate our incoming call will be requesting port 443 (because that is the SSL port, like the SSH port is always 22), but our port forwarding rule will forward this to our HA instance on port 8123. When this guide is completed we will run something like this: ```text Outside world -> https://examplehome.duckdns.org -> 12.12.12.12:443 -> your router -> 192.168.0.200:8123 @@ -86,7 +86,10 @@ $ ifconfig You will receive an ouput similar to the image below: - +
+
+ Screenshot
+
If you're running the 'standard' setup on a Raspberry Pi the chances are you just logged in as the 'pi' user. If not, you may have logged in as the Home Assistant user. There are commands below that require the Home Assistant user to be on the `sudoers` list. If you are not using the 'standard' pi setup it is presumed you will know how to get your Home Assistant user on the `sudoers` list before continuing. If you are running the 'standard' pi setup, from your 'pi' user issue the following command (where `hass` is the Home Assistant user): -```bash +``` $ sudo adduser hass sudo ```
@@ -262,7 +265,7 @@ $ wget https://dl.eff.org/certbot-auto $ chmod a+x certbot-auto ``` -Now we will run the certbot program to get our ssl certificate. You will need to include your email address and your DuckDNS url in the appropriate places: +Now we will run the certbot program to get our ssl certificate. You will need to include your email address and your DuckDNS URL in the appropriate places: ```text $ ./certbot-auto certonly --standalone --preferred-challenges http-01 --email your@email.address -d examplehome.duckdns.org @@ -276,7 +279,7 @@ Confirm this file has been populated: $ ls /etc/letsencrypt/live/ ``` -This should show a folder named exactly after your DuckDNS url. +This should show a folder named exactly after your DuckDNS URL. Our Home Assistant user needs access to files within the letsencrypt folder, so issue the following commands to change the permissions. @@ -292,7 +295,7 @@ Did all of that go without a hitch? Wahoo! Your Let's Encrypt certificate is nowFollowing on from Step 4 your SSH will still be in the certbot folder. If you edit your configuration files over SSH you will need to change to your `homeassistant` folder: -```bash +``` $ cd ~/.homeassistant ``` @@ -333,7 +336,7 @@ In step 3 we accessed our Home Assistant from the outside world with our DuckDNS https://examplehome.duckdns.org ``` -Note the S after http, and that no port number is added. This is because https will use port 443 automatically, and we have already set up our port forward to redirect this request to our Home Assistant instance on port 8123. +Note the **S** after http, and that no port number is added. This is because https will use port 443 automatically, and we have already set up our port forward to redirect this request to our Home Assistant instance on port 8123. You should now be able to see your Home Assistant instance via your DuckDNS URL, and importantly note that your browser shows the connection as secure. @@ -347,7 +350,7 @@ https://YOUR-HA-IP:8123 ...and accepting the browsers warning that you are connecting to an insecure site. This warning occurs because your certificate expects your incoming connection to come via your DuckDNS URL. It does not mean that your device has suddenly become insecure. -Some cases such as this are where your router does not allow 'loopback' or where there is a problem with incoming connections due to technical failure. In these cases you can still use your internal connection and ignore the warnings. +Some cases such as this are where your router does not allow 'loopback' or where there is a problem with incoming connections due to technical failure. In these cases you can still use your internal connection and safely ignore the warnings. If you were previously using a webapp on your phone/tablet to access your Home Assistant you should delete the old one and create a new one with the new address. The old one will no longer work as it is not keyed to your new, secure URL. Instructions for creating your new webapp can be found here: @@ -504,7 +507,7 @@ Add the following sections to your configuration.yaml ```yaml shell_command: - renew_ssl: ./certbot/certbot-auto renew --quiet --no-self-upgrade --standalone --preferred-challenges http-01 + renew_ssl: ~/certbot/certbot-auto renew --quiet --no-self-upgrade --standalone --preferred-challenges http-01 automation: - alias: 'Auto Renew SSL Cert' diff --git a/source/_docs/ecosystem/ios.markdown b/source/_docs/ecosystem/ios.markdown index 9a176f006bd..6959ade8f13 100644 --- a/source/_docs/ecosystem/ios.markdown +++ b/source/_docs/ecosystem/ios.markdown @@ -17,19 +17,14 @@ The Home Assistant for iOS app offers a companion app for iOS which is deeply in * Basic control of all Home Assistant entities * Integration with third party apps -
-Currently, the app is only available via a closed beta. It will be on the App Store within the next few weeks. -
+The app is available on the iOS App Store in every country that Apple supports. -
-
- An example of a Home Assistant group as seen in the iOS app.
-
## Basic requirements * iOS device running at least iOS 9, but iOS 10 is greatly preferred. -* Home Assistant 0.31.1 or higher for push notification support. +* Home Assistant 0.42.4 or higher for push notification support. * SSL is strongly recommended. Self-signed SSL certificates will not work due to Apple's limitations. The `ios` component is the companion component for the Home Assistant iOS app. While not required, adding the `ios` component to your setup will greatly enhance the iOS app with new notification, location and sensor functions not possible with a standalone app. @@ -45,7 +40,9 @@ The `ios` component will automatically be loaded under the following circumstanc 1. The [`discovery`][discovery] component is enabled. 2. You have just installed the app and are at the getting started screen. -Automated discovery and component loaded can only happen at first install of the app. You may need to wait a few minutes for the iOS component to load as the `discovery` component only scans the network every 5 minutes. +Automated discovery and component loading only happens at first install of the app. You may need to wait a few minutes for the iOS component to load as the `discovery` component only scans the network every 5 minutes. + +After the first automated setup you need to add `ios:` to your configuration so that the component loads by default even after restarting Home Assistant. ### Manual Setup @@ -58,10 +55,10 @@ ios: Configuration variables: -- **push** (*Optional*): Push notification configuration. See the [iOS `notify` platform][ios-notify] for more information. +- **push** (*Optional*): Actionable push notifications configuration. See the [actionable notifications documentation][actionable-notifications] for more information. [discovery]: /components/discovery [device-tracker]: /components/device_tracker [zeroconf]: /components/zeroconf [notify]: /components/notify -[ios-notify]: /ecosystem/ios/notifications/ +[actionable-notifications]: /docs/ecosystem/ios/notifications/actions/ diff --git a/source/_docs/ecosystem/ios/location.markdown b/source/_docs/ecosystem/ios/location.markdown index ac344227c2b..6ee15213b5c 100644 --- a/source/_docs/ecosystem/ios/location.markdown +++ b/source/_docs/ecosystem/ios/location.markdown @@ -32,6 +32,10 @@ What's the real story on significant-change location updates? Who knows, because At launch, Home Assistant for iOS sets up geofences for all zones in your Home Assistant configuration. Enter and exit notifications are sent to Home Assistant. +### Configuration + +Add `track_ios: true` to your zone configurations to enable it for tracking in all connected iOS apps. + [apple-energy-guide]: https://developer.apple.com/library/content/documentation/Performance/Conceptual/EnergyGuide-iOS/LocationBestPractices.html#//apple_ref/doc/uid/TP40015243-CH24-SW4 [apple-location-programming-guide]: https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/LocationAwarenessPG/CoreLocation/CoreLocation.html#//apple_ref/doc/uid/TP40009497-CH2-SW9 [stackoverflow]: http://stackoverflow.com/a/13331625/486182 diff --git a/source/_docs/ecosystem/ios/notifications.markdown b/source/_docs/ecosystem/ios/notifications.markdown index 68854e1b4b9..c5e8f372543 100644 --- a/source/_docs/ecosystem/ios/notifications.markdown +++ b/source/_docs/ecosystem/ios/notifications.markdown @@ -12,4 +12,13 @@ redirect_from: /ecosystem/ios/notifications/ The `ios` notify platform enables sending push notifications to the Home Assistant iOS app. -The 'ios' component will automatically load the notify service. No extra configuration is needed or supported. +The 'ios' component will automatically load the notify service. +The service component can be called using `service: notify.ios_
+ +_Please note, you must have Home Assistant 0.42.4 or later installed for the app to function properly._ + +Thanks for everything so far, I'm looking forward to the road that lies ahead for Home Assistant on iOS! + diff --git a/source/developers/asyncio.markdown b/source/developers/asyncio.markdown index 72cbb76c6c4..3cbee37c1b2 100644 --- a/source/developers/asyncio.markdown +++ b/source/developers/asyncio.markdown @@ -21,7 +21,7 @@ For a task to be able to suspend itself, all code that it calls has to have this The backwards compatible API works by scheduling a task from a different thread and blocking that thread until the task has been processed by the event loop. -### [Next step: Categorizing Functions »](/developers/asyncio_categorizing_functions/) +### [Next step: asyncio 101 »](/developers/asyncio_101/) [0.29]: https://home-assistant.io/blog/2016/09/29/async-sleepiq-emoncms-stocks/ [ben]: https://github.com/bbangert/ diff --git a/source/developers/asyncio_101.markdown b/source/developers/asyncio_101.markdown new file mode 100644 index 00000000000..c88265119fd --- /dev/null +++ b/source/developers/asyncio_101.markdown @@ -0,0 +1,20 @@ +--- +layout: page +title: "Asyncio 101" +description: "An introduction to asyncio." +date: 2017-04-08 21:49 +sidebar: true +comments: false +sharing: true +footer: true +--- + +If you are not familiar yet with asyncio, please watch the below video. It's a great introduction by [Robert Smallshire][rob] in how and why asyncio works the way it does. + +
Different distributions have different package installation mechanisms and sometimes packages names as well. For example Centos would use: `sudo yum install epel-release && sudo yum install python34 python34-devel mysql-devel`
diff --git a/source/getting-started/automation.markdown b/source/getting-started/automation.markdown index 31812056d94..2f420b19db4 100644 --- a/source/getting-started/automation.markdown +++ b/source/getting-started/automation.markdown @@ -18,7 +18,7 @@ automation: - alias: Check sensor value and show notification trigger: platform: numeric_state - entity_id: sensor.random + entity_id: sensor.random_sensor above: 10 action: service: persistent_notification.create diff --git a/source/images/supported_brands/crimereports.png b/source/images/supported_brands/crimereports.png new file mode 100644 index 00000000000..316060b040d Binary files /dev/null and b/source/images/supported_brands/crimereports.png differ diff --git a/source/images/supported_brands/metoffice.jpg b/source/images/supported_brands/metoffice.jpg new file mode 100644 index 00000000000..eadb9954b9a Binary files /dev/null and b/source/images/supported_brands/metoffice.jpg differ diff --git a/source/images/supported_brands/mystrom.png b/source/images/supported_brands/mystrom.png index 51a50a3dd44..b2f1b5285f6 100644 Binary files a/source/images/supported_brands/mystrom.png and b/source/images/supported_brands/mystrom.png differ