mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-07 17:36:50 +00:00
Merge branch 'current' into next
This commit is contained in:
commit
080cf64170
@ -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"
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
||||
<p class='note warning'>
|
||||
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.
|
||||
</p>
|
||||
|
||||
Example usage for automation:
|
||||
|
||||
```yaml
|
||||
|
@ -49,5 +49,5 @@ camera:
|
||||
```
|
||||
|
||||
<p class='note'>
|
||||
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.
|
||||
</p>
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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`.
|
||||
|
@ -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.
|
||||
|
@ -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: <your latitude>
|
||||
longitude: <your longitude>
|
||||
radius: <your neighborhood radius>
|
||||
|
||||
sensor:
|
||||
- platform: crimereports
|
||||
zone: neighborhood
|
||||
name: <any name>
|
||||
radius: <your radius>
|
||||
```
|
||||
|
||||
Configuration options for the Crime Reports Sensor:
|
||||
|
||||
- **zone** (*Required*): The zone to monitor.
|
||||
- **name** (*Required*): Name the sensor whatever you want.
|
||||
- **radius** (*Required*): Radius in meters.
|
||||
- **latitude** (*Optional*): Defaults to your home zone latitude.
|
||||
- **longitude** (*Optional*): Defaults to your home zone longitude.
|
||||
- **include** (*Optional*): List of incident types to include.
|
||||
- **exclude** (*Optional*): List of incident types to exclude.
|
||||
- **update_inverval** (*Optional*): Minimum time interval between updates. Default is 30 minutes. Supported formats:
|
||||
- `update_interval: 'HH:MM:SS'`
|
||||
- `update_interval: 'HH:MM'`
|
||||
- Time period dictionary, e.g.:
|
||||
<pre>update_interval:
|
||||
# At least one of these must be specified:
|
||||
days: 0
|
||||
hours: 0
|
||||
minutes: 3
|
||||
seconds: 30
|
||||
milliseconds: 0
|
||||
</pre>
|
||||
|
||||
|
||||
## Notes
|
||||
|
||||
|
51
source/_components/sensor.metoffice.markdown
Normal file
51
source/_components/sensor.metoffice.markdown
Normal file
@ -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].
|
||||
|
||||
<p class='note'>
|
||||
This sensor is an alternative to the [`metoffice`](/components/weather.metoffice/) weather platform.
|
||||
The weather platform is easier to configure but less customisable.
|
||||
</p>
|
||||
|
||||
[datapoint]: http://www.metoffice.gov.uk/datapoint
|
@ -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
|
||||
|
@ -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.
|
||||
|
||||
<p class='note'>
|
||||
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".
|
||||
</p>
|
||||
|
||||
To enable this switch, add the following lines to your `configuration.yaml` file:
|
||||
|
34
source/_components/weather.metoffice.markdown
Normal file
34
source/_components/weather.metoffice.markdown
Normal file
@ -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].
|
||||
|
||||
<p class='note'>
|
||||
This platform is an alternative to the [`metoffice`](/components/sensor.metoffice/) sensor.
|
||||
The weather platform is easier to configure but less customisable.
|
||||
</p>
|
||||
|
||||
[datapoint]: http://www.metoffice.gov.uk/datapoint
|
12
source/_cookbook/configuration_yaml_by_stanvx
Normal file
12
source/_cookbook/configuration_yaml_by_stanvx
Normal file
@ -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
|
||||
---
|
@ -23,7 +23,7 @@ To get started, create the file `<config dir>/custom_components/hello_state.py`
|
||||
Support for showing text in the frontend.
|
||||
|
||||
For more details about this component, please refer to the documentation at
|
||||
https://home-assistant.io/components/hello_state/
|
||||
https://home-assistant.io/cookbook/python_component_basic_state/
|
||||
"""
|
||||
import logging
|
||||
|
||||
|
@ -16,7 +16,7 @@ The most common approach is to set up port forwarding from your router to port 8
|
||||
|
||||
A problem with making a port accessible is that some Internet Service Providers only offer dynamic IPs. This can cause you to lose access to Home Assistant while away. You can solve this by using a free Dynamic DNS service like [DuckDNS](https://www.duckdns.org/).
|
||||
|
||||
Remember: Just putting a port up is not secure. You should definitely consider encrypting your traffic if you are accessing your Home Assistant installation remotely. For details please check the [set up encryption using Let's Encrypt](/blog/2015/12/13/setup-encryption-using-lets-encrypt/) blog post.
|
||||
Remember: Just putting a port up is not secure. You should definitely consider encrypting your traffic if you are accessing your Home Assistant installation remotely. For details please check the [set up encryption using Let's Encrypt](/blog/2015/12/13/setup-encryption-using-lets-encrypt/) blog post, or this [detailed guide](https://home-assistant.io/docs/ecosystem/certificates/lets_encrypt/) to using Let's Encrypt with HA.
|
||||
|
||||
Protect your communication with a [self-signed certificate](/cookbook/tls_self_signed_certificate/) between your client and the Home Assistant instance.
|
||||
|
||||
|
@ -87,5 +87,5 @@ Please enter password for encrypted keyring:
|
||||
```
|
||||
|
||||
<p class='note warning'>
|
||||
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.
|
||||
</p>
|
||||
|
@ -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).
|
||||
|
@ -9,8 +9,8 @@ sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
<p class='warning'>
|
||||
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.
|
||||
<p class=' note warning'>
|
||||
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.
|
||||
</p>
|
||||
|
||||
|
||||
@ -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:
|
||||
|
||||

|
||||
<p class='img'>
|
||||
<img src='/images/screenshots/ip-set.jpg' />
|
||||
Screenshot
|
||||
</p>
|
||||
|
||||
Make a note of the interface name and the IP address you are currently on. In the picture it is the wireless connection that is highlighted, but with your setup it may be the wired one (eth0 or similar), make sure you get the correct information.
|
||||
|
||||
@ -128,7 +131,7 @@ $ sudo reboot
|
||||
|
||||
When it comes back up check that you can SSH in to it again on the IP address you wrote down.
|
||||
|
||||
Make sure Home Assisstant is running and access it via the local network by typing the IP address and port number in to the browser:
|
||||
Make sure Home Assistant is running and access it via the local network by typing the IP address and port number in to the browser:
|
||||
|
||||
```text
|
||||
http://192.168.0.200:8123.
|
||||
@ -136,7 +139,7 @@ http://192.168.0.200:8123.
|
||||
|
||||
All working? Hooray! You now have a static IP. This will now always be your internal IP address for your Home Assistant device. This will be known as YOUR-HA-IP for the rest of this guide.
|
||||
|
||||
### {% linkable_title 2 - Set up port forwarding without SSL and test connection %}
|
||||
### {% linkable_title 2 - Set up port forwarding without TLS/SSL and test connection %}
|
||||
|
||||
Log in to your router's configuration pages and find the port forwarding options. This bit is hard to write a guide for because each router has a different way of presenting these options. Searching google for "port forwarding" and the name of your router may help. When you find it you will likely have options similar to:
|
||||
|
||||
@ -164,13 +167,13 @@ https://whatismyipaddress.com/
|
||||
|
||||
This will tell you your current external IP address
|
||||
|
||||
Type the external IP address in to the url bar with http:// in front and :8123 after like so (12.12.12.12 is my example!):
|
||||
Type the external IP address in to the URL bar with http:// in front and :8123 after like so (12.12.12.12 is my example!):
|
||||
|
||||
```text
|
||||
http://12.12.12.12:8123
|
||||
```
|
||||
|
||||
Can you see your Home Assisstant instance? If not, your router may not support 'loopback' - try the next step anyway and if that works, and this one still doesn't, just remember that you cannot use loopback, so will have to use internal addresses when you're on your home network. More on this later on if it's relevant to you.
|
||||
Can you see your Home Assistant instance? If not, your router may not support 'loopback' - try the next step anyway and if that works, and this one still doesn't, just remember that you cannot use loopback, so will have to use internal addresses when you're on your home network. More on this later on if it's relevant to you.
|
||||
|
||||
Just to verify this isn't some kind of witchcraft that is actually using your internal network, pick up your phone, disconnect it from your wifi so that you are on your mobile data and not connected to the home network, put the same URL in the browser on your phone.
|
||||
|
||||
@ -188,7 +191,7 @@ In the domains section pick a name for your subdomain, this can be anything you
|
||||
|
||||
The URL you will be using later to access your Home Assistant instance from outside will be the subdomain you picked, followed by duckdns.org . For our example we will say our URL is examplehome.duckdns.org
|
||||
|
||||
On the top left of duckdns.org select the install option. Then pick your operating system from the list. In our example we will use a Raspberry Pi. In the dropdown box select the url you just created.
|
||||
On the top left of duckdns.org select the install option. Then pick your operating system from the list. In our example we will use a Raspberry Pi. In the dropdown box select the URL you just created.
|
||||
|
||||
Duckdns.org will now generate personalised instructions for you to follow so that your device can update their website every time your IP address changes. Carefully follow the instructions given on duckdns.org to set up your device.
|
||||
|
||||
@ -204,16 +207,16 @@ http://examplehome.duckdns.org:8123
|
||||
|
||||
What now happens behind the scenes is this:
|
||||
|
||||
- DuckDNS receives the request and forwards the request to your router's external IP address (which has been kept up to date by your device running Home Assisstant)
|
||||
- DuckDNS receives the request and forwards the request to your router's external IP address (which has been kept up to date by your device running Home Assistant)
|
||||
- Your router receives the request on port 8123 and checks the port forwarding rules
|
||||
- It finds the rule you created in step 2 and forwards the request to your HA instance
|
||||
- Your browser displays your Home Assisstant instance frontend.
|
||||
- Your browser displays your Home Assistant instance frontend.
|
||||
|
||||
Did it work? Super!
|
||||
|
||||
You now have a remotely accesible Home Assistant instance that has a text-based URL and will not drop out if your service provider changes your IP. But, it is only as secure as the password you set, which can be snooped during your session by a malicious hacker with relative ease. So we need to set up some encryption with SSL, read on to find out how.
|
||||
You now have a remotely accesible Home Assistant instance that has a text-based URL and will not drop out if your service provider changes your IP. But, it is only as secure as the password you set, which can be snooped during your session by a malicious hacker with relative ease. So we need to set up some encryption with TLS/SSL, read on to find out how.
|
||||
|
||||
### {% linkable_title 4 - Obtain an TLS/SSL certificate from Let's Encrypt %}
|
||||
### {% linkable_title 4 - Obtain a TLS/SSL certificate from Let's Encrypt %}
|
||||
|
||||
First we need to set up another port forward like we did in step 2. Set your new rule to:
|
||||
|
||||
@ -236,7 +239,7 @@ Now SSH in to the device your Home Assistant is running on.
|
||||
<p class='note'>
|
||||
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
|
||||
```
|
||||
</p>
|
||||
@ -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 now
|
||||
<p class='note'>
|
||||
Following 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'
|
||||
|
@ -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
|
||||
|
||||
<p class='note warning'>
|
||||
Currently, the app is only available via a closed beta. It will be on the App Store within the next few weeks.
|
||||
</p>
|
||||
The app is available on the iOS App Store in every country that Apple supports.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/ios/control1.png' width='310' height='552' />
|
||||
An example of a Home Assistant group as seen in the iOS app.
|
||||
</p>
|
||||
<p style="text-align: center;"><a target="_blank" href="https://itunes.apple.com/us/app/home-assistant-open-source-home-automation/id1099568401?mt=8" style="display:inline-block;overflow:hidden;background:url(//linkmaker.itunes.apple.com/assets/shared/badges/en-us/appstore-lrg.svg) no-repeat;width:135px;height:40px;background-size:contain;"></a></p>
|
||||
|
||||
## 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/
|
||||
|
@ -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
|
||||
|
@ -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_<your_device_ID>`.
|
||||
Your device ID can be found in the `ios.conf` file in your configuration folder. The file is compressed JSON. You can view it easier by copying the file contents and pasting them into [JSONLint](http://jsonlint.com).
|
||||
|
||||
In this example, the device ID is `robbiet480_7plus`, so the notify service to use is `notify.ios_robbiet480_7plus`:
|
||||
```json
|
||||
{"devices":{"robbiet480_7plus":{"app":{"bundleIdentifer":"io.robbie.HomeAssistant","versionNumber":1,"buildNumber":53},"pushSounds":[],"permissions":["location"],"deviceId":"robbiet480_7plus","device":{"type":"iPhone 7 Plus","systemName":"iOS","systemVersion":"10.3","permanentID":"AB9F02FE-6AC6-47B8-ADEB-5DD87B489156","localizedModel":"iPhone","name":"Robbie's iPhone 7 Plus","model":"iPhone"},"battery":{"state":"Full","level":100},"pushToken":"SECRET","pushId":"SECRET"}}}
|
||||
```
|
||||
|
||||
You can find more information in the [Basic Notifications](https://home-assistant.io/docs/ecosystem/ios/notifications/basic/) documentation.
|
||||
|
@ -34,7 +34,7 @@ automation:
|
||||
trigger:
|
||||
...
|
||||
action:
|
||||
service: notify.iOSApp
|
||||
service: notify.ios_<your_device_id_here>
|
||||
data:
|
||||
message: "Something happened at home!"
|
||||
data:
|
||||
@ -51,7 +51,7 @@ automation
|
||||
trigger:
|
||||
...
|
||||
action:
|
||||
service: notify.iOSApp
|
||||
service: notify.ios_<your_device_id_here>
|
||||
data:
|
||||
message: "Something happened at home!"
|
||||
data:
|
||||
|
@ -17,7 +17,7 @@ Will show a map with a red tipped pin at the coordinates given.
|
||||
The map will be centered at the coordinates given.
|
||||
|
||||
```yaml
|
||||
service: notify.iOSApp
|
||||
service: notify.ios_<your_device_id_here>
|
||||
data:
|
||||
message: Something happened at home!
|
||||
data:
|
||||
@ -44,7 +44,7 @@ You can use the attachment parameters `content-type` and `hide-thumbnail` with c
|
||||
You can view an example [here](https://www.youtube.com/watch?v=LmYwpxPKW0g).
|
||||
|
||||
```yaml
|
||||
service: notify.iOSApp
|
||||
service: notify.ios_<your_device_id_here>
|
||||
data:
|
||||
message: Motion detected in the Living Room
|
||||
data:
|
||||
|
@ -22,7 +22,7 @@ automation
|
||||
trigger:
|
||||
...
|
||||
action:
|
||||
service: notify.iOSApp
|
||||
service: notify.ios_<your_device_id_here>
|
||||
data:
|
||||
message: "request_location_update"
|
||||
```
|
||||
|
@ -19,7 +19,7 @@ Here is an example notification that uses one of the pre-installed sounds.
|
||||
trigger:
|
||||
...
|
||||
action:
|
||||
service: notify.iOSApp
|
||||
service: notify.ios_<your_device_id_here>
|
||||
data:
|
||||
message: “Something happened at home!”
|
||||
data:
|
||||
|
@ -18,6 +18,6 @@ The [logger](/components/logger/) component allow the logging of received MQTT m
|
||||
logger:
|
||||
default: warning
|
||||
logs:
|
||||
homeassistant.components.device_tracker.mqtt: debug
|
||||
homeassistant.components.mqtt: debug
|
||||
```
|
||||
|
||||
|
@ -47,6 +47,7 @@
|
||||
<li>
|
||||
{% active_link /developers/asyncio/ Asynchronous Programming %}
|
||||
<ul>
|
||||
<li>{% active_link /developers/asyncio_101/ Introduction to asyncio %}</li>
|
||||
<li>{% active_link /developers/asyncio_categorizing_functions/ Categorizing Functions %}</li>
|
||||
<li>{% active_link /developers/asyncio_working_with_async/ Working with Async %}</li>
|
||||
<li>{% active_link /developers/asyncio_misc/ Miscellaneous %}</li>
|
||||
|
@ -113,6 +113,26 @@
|
||||
<li>{% active_link /docs/mqtt/processing_json/ Processing JSON %}</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
{% active_link /docs/ecosystem/ios/ iOS %}
|
||||
<ul>
|
||||
<li>{% active_link /docs/ecosystem/ios/notifications/basic/ Basic notifications %}</li>
|
||||
<ul>
|
||||
<li>{% active_link /docs/ecosystem/ios/notifications/sounds/ Sounds %}</li>
|
||||
<li>{% active_link /docs/ecosystem/ios/notifications/architecture/ Architecture %}</li>
|
||||
<li>{% active_link /docs/ecosystem/ios/notifications/privacy_security_rate_limits/ Privacy, rate limiting and security %}</li>
|
||||
</ul>
|
||||
<li>Advanced notifications</li>
|
||||
<ul>
|
||||
<li>{% active_link /docs/ecosystem/ios/notifications/attachments/ Attachments %}</li>
|
||||
<li>{% active_link /docs/ecosystem/ios/notifications/content_extensions/ Dynamic content %}</li>
|
||||
<li>{% active_link /docs/ecosystem/ios/notifications/actions/ Actionable notifications %}</li>
|
||||
<li>{% active_link /docs/ecosystem/ios/notifications/requesting_location_updates/ Requesting location updates %}</li>
|
||||
</ul>
|
||||
<li>{% active_link /docs/ecosystem/ios/location/ Location Tracking %}</li>
|
||||
<li>{% active_link /docs/ecosystem/ios/integration/ Integration with other apps %}</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
{% active_link /docs/ecosystem/ Ecosystem %}
|
||||
<ul>
|
||||
@ -162,26 +182,6 @@
|
||||
<li>{% active_link /docs/ecosystem/notebooks/stats/ Statistics %}</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
{% active_link /docs/ecosystem/ios/notifications/ iOS %}
|
||||
<ul>
|
||||
<li>{% active_link /docs/ecosystem/ios/notifications/basic/ Basic notifications %}</li>
|
||||
<ul>
|
||||
<li>{% active_link /docs/ecosystem/ios/notifications/sounds/ Sounds %}</li>
|
||||
<li>{% active_link /docs/ecosystem/ios/notifications/architecture/ Architecture %}</li>
|
||||
<li>{% active_link /docs/ecosystem/ios/notifications/privacy_security_rate_limits/ Privacy, rate limiting and security %}</li>
|
||||
</ul>
|
||||
<li>Advanced notifications</li>
|
||||
<ul>
|
||||
<li>{% active_link /docs/ecosystem/ios/notifications/attachments/ Attachments %}</li>
|
||||
<li>{% active_link /docs/ecosystem/ios/notifications/content_extensions/ Dynamic content %}</li>
|
||||
<li>{% active_link /docs/ecosystem/ios/notifications/actions/ Actionable notifications %}</li>
|
||||
<li>{% active_link /docs/ecosystem/ios/notifications/requesting_location_updates/ Requesting location updates %}</li>
|
||||
</ul>
|
||||
<li>{% active_link /docs/ecosystem/ios/location/ Location Tracking %}</li>
|
||||
<li>{% active_link /docs/ecosystem/ios/integration/ Integration with other apps %}</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
Remote access
|
||||
<ul>
|
||||
|
@ -45,6 +45,7 @@ The new format of the changelog which was introduced with 0.40 will provide a li
|
||||
## Reporting Issues
|
||||
Experiencing issues introduced by this release? Please report them in our [issue tracker][issue]. Make sure to fill in all fields of the issue template.
|
||||
|
||||
<!--more-->
|
||||
## All changes
|
||||
|
||||
- Bugfix android camera autodiscovery settings ([@pvizeli] - [#6510])
|
||||
|
@ -13,7 +13,7 @@ og_image: /images/blog/2017-04-0.42/social.png
|
||||
|
||||
<a href='/components/#added_in_current_version'><img src='/images/blog/2017-04-0.42/social.png' style='border: 0;box-shadow: none;'></a>
|
||||
|
||||
It's time for Home Assistant 0.43. This release has been focused on refining the system and fixing a lot of bugs. We have also upgraded to the latest version of our HTTP library which should give us a significant boost serving files and API.
|
||||
It's time for Home Assistant 0.42. This release has been focused on refining the system and fixing a lot of bugs. We have also upgraded to the latest version of our HTTP library which should give us a significant boost serving files and API.
|
||||
|
||||
On our social media front, we have crossed the 1000 likes on [our Facebook page][hass-fb]! Also on the social media front, the YouTube channel diyAutomate has been putting out a lot of great getting started videos about Home Assistant, [go check them out!][diyAutomate]
|
||||
|
||||
@ -84,6 +84,38 @@ sensor:
|
||||
- volume
|
||||
```
|
||||
|
||||
## If you need help...
|
||||
...don't hesitate to use our very active [forums][forum] or join us for a little [chat][gitter]. The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks.
|
||||
|
||||
## Reporting Issues
|
||||
Experiencing issues introduced by this release? Please report them in our [issue tracker][issue]. Make sure to fill in all fields of the issue template.
|
||||
|
||||
## {% linkable_title Release 0.42.1 - April 9 %}
|
||||
|
||||
- Upgrade aiohttp to 2.0.6
|
||||
- Make discovery not cause startup warning
|
||||
|
||||
## {% linkable_title Release 0.42.1 - April 9 %}
|
||||
|
||||
- Revert upgrade to aiothttp 2.0.6
|
||||
|
||||
## {% linkable_title Release 0.42.3 - April 11 %}
|
||||
|
||||
- Fix Synology camera content type ([@balloob] - [#7010])
|
||||
- Fix two more instances of JSON parsing synology ([@balloob] - [#7014])
|
||||
- Bump pyalarmdotcom to support new version of aiohttp ([@Xorso] - [#7021])
|
||||
- Fix US states check (fixes #7015) ([@fabaff] - [#7017])
|
||||
- Plug file leak on LIFX unregister ([@amelchio] - [#7031])
|
||||
- Bugfix wait on start event ([@pvizeli] - [#7013])
|
||||
|
||||
## {% linkable_title Release 0.42.4 - April 17 %}
|
||||
|
||||
- Version bump to 0.42.4 ([@balloob])
|
||||
- Fix mysensors callback ([@MartinHjelmare] - [#7057])
|
||||
- Upgrade aiohttp to 2.0.7 ([@fabaff] - [#7106])
|
||||
- Make version number optional and a string to fix identify issue introduced in iOS 1.0.1 ([@robbiet480] - [#7141])
|
||||
- Fix for zwave RGB setting ([@armills] - [#7137])
|
||||
|
||||
## All changes
|
||||
|
||||
- Flux led update lib ([@danielhiversen] - [#6763])
|
||||
@ -315,25 +347,32 @@ sensor:
|
||||
[#6981]: https://github.com/home-assistant/home-assistant/pull/6981
|
||||
[#6986]: https://github.com/home-assistant/home-assistant/pull/6986
|
||||
[#6990]: https://github.com/home-assistant/home-assistant/pull/6990
|
||||
[#7010]: https://github.com/home-assistant/home-assistant/pull/7010
|
||||
[#7013]: https://github.com/home-assistant/home-assistant/pull/7013
|
||||
[#7014]: https://github.com/home-assistant/home-assistant/pull/7014
|
||||
[#7017]: https://github.com/home-assistant/home-assistant/pull/7017
|
||||
[#7021]: https://github.com/home-assistant/home-assistant/pull/7021
|
||||
[#7031]: https://github.com/home-assistant/home-assistant/pull/7031
|
||||
[@Xorso]: https://github.com/Xorso
|
||||
[@amelchio]: https://github.com/amelchio
|
||||
[@balloob]: https://github.com/balloob
|
||||
[@fabaff]: https://github.com/fabaff
|
||||
[@pvizeli]: https://github.com/pvizeli
|
||||
[@ChristianKuehnel]: https://github.com/ChristianKuehnel
|
||||
[@DavidMStraub]: https://github.com/DavidMStraub
|
||||
[@KlaasH]: https://github.com/KlaasH
|
||||
[@MartinHjelmare]: https://github.com/MartinHjelmare
|
||||
[@Xorso]: https://github.com/Xorso
|
||||
[@aarya123]: https://github.com/aarya123
|
||||
[@aequitas]: https://github.com/aequitas
|
||||
[@amelchio]: https://github.com/amelchio
|
||||
[@andrey-git]: https://github.com/andrey-git
|
||||
[@armills]: https://github.com/armills
|
||||
[@aufano]: https://github.com/aufano
|
||||
[@balloob]: https://github.com/balloob
|
||||
[@bdurrer]: https://github.com/bdurrer
|
||||
[@citruz]: https://github.com/citruz
|
||||
[@danielhiversen]: https://github.com/danielhiversen
|
||||
[@danieljkemp]: https://github.com/danieljkemp
|
||||
[@danielperna84]: https://github.com/danielperna84
|
||||
[@diogos88]: https://github.com/diogos88
|
||||
[@fabaff]: https://github.com/fabaff
|
||||
[@geekofweek]: https://github.com/geekofweek
|
||||
[@goto100]: https://github.com/goto100
|
||||
[@gurumitts]: https://github.com/gurumitts
|
||||
@ -348,7 +387,6 @@ sensor:
|
||||
[@micw]: https://github.com/micw
|
||||
[@nugget]: https://github.com/nugget
|
||||
[@pavoni]: https://github.com/pavoni
|
||||
[@pvizeli]: https://github.com/pvizeli
|
||||
[@quadportnick]: https://github.com/quadportnick
|
||||
[@rytilahti]: https://github.com/rytilahti
|
||||
[@tantecky]: https://github.com/tantecky
|
||||
@ -359,3 +397,11 @@ sensor:
|
||||
[@w1ll1am23]: https://github.com/w1ll1am23
|
||||
[@wardcraigj]: https://github.com/wardcraigj
|
||||
[@wmalgadey]: https://github.com/wmalgadey
|
||||
[forum]: https://community.home-assistant.io/
|
||||
[gitter]: https://gitter.im/home-assistant/home-assistant
|
||||
[issue]: https://github.com/home-assistant/home-assistant/issues
|
||||
[#7057]: https://github.com/home-assistant/home-assistant/pull/7057
|
||||
[#7106]: https://github.com/home-assistant/home-assistant/pull/7106
|
||||
[#7137]: https://github.com/home-assistant/home-assistant/pull/7137
|
||||
[#7141]: https://github.com/home-assistant/home-assistant/pull/7141
|
||||
[@robbiet480]: https://github.com/robbiet480
|
||||
|
44
source/_posts/2017-04-15-ios.markdown
Normal file
44
source/_posts/2017-04-15-ios.markdown
Normal file
@ -0,0 +1,44 @@
|
||||
---
|
||||
layout: post
|
||||
title: "1 year and 22 days ago I had an idea..."
|
||||
description: "An Easter gift from Home Assistant for all iOS fans"
|
||||
date: 2017-04-15 08:04:05 +0000
|
||||
date_formatted: "April 16, 2017"
|
||||
author: Robbie Trencheny
|
||||
author_twitter: robbie
|
||||
comments: true
|
||||
categories: Announcements
|
||||
---
|
||||
|
||||
1 year and 22 days ago, or 387 days ago, on March 25th, 2016, I started a project to bring Home Assistant to the iPhone.
|
||||
|
||||
I thought the existing notification and location solutions were lacking in one way or another and had wanted for _years_ to have a project I could call my own which would allow me to learn iOS development. What better way then implementing an extremely complex application like Home Assistant?
|
||||
|
||||
I started with a lot of steam. I remember cranking out the initial work that night and showing Paulus who was astounded at how fast the UI was coming together.
|
||||
|
||||
Little would I know how many problems I would create and uncover throughout the process. Writing a mobile app for a project that moves as fast as Home Assistant is... tricky, to say the least. In the time since I started writing the app, Home Assistant had 90 releases. I started writing the day before 0.16 was released. Now we are at 0.42.3. Time flies...
|
||||
|
||||
I couldn't have completed the app without help and input from the community. By the end I had 700 beta testers, of which about 500 were very active in testing the app.
|
||||
|
||||
I received emails and forum posts almost every day, even when the app would go without an update for weeks and sometimes months at a time as my life got busier and busier.
|
||||
|
||||
I wanted this app to be done 9 months ago, at least, but my drive to add more and more features killed that idea. This really taught me the value of the MVP over the kitchen sink.
|
||||
|
||||
It may not look the way that I wanted it to initially, with beautiful native UI components, but thats okay. What I really cared about is there. The notification and location engines are some of the most customizable and powerful available in an iOS app if I do say so myself. I made them this way to keep with the spirit of infinite flexibility that is enshrined in Home Assistant.
|
||||
|
||||
Just because the app is released doesn't mean we are at the end of the road. It's only the beginning. There's plenty of bugs to fix still, improvements to make, features to add. Beta testing will continue, and if anything, be expanded. I do want to have a native UI someday, but that's pretty hard with how fast the project moves.
|
||||
|
||||
The biggest request I have is for more developers on the project. As many of you know, I have my hands in many different parts of Home Assistant, from governance and organization to managing the forums to writing this app, managing the Homebridge plugin and even sometimes writing code for the actual core codebase! I can't do it all, and I'm still a new iOS developer who doesn't know all the best practices.
|
||||
|
||||
The app is [open source](https://github.com/home-assistant/home-assistant-iOS), has been for the last few months when I first prepared to submit it to Apple for review. I invite Swift developers to come and join me in building it. Trust me, there's tons to do.
|
||||
|
||||
**1 year and 22 days ago, on March 25th, 2016 I began work on Home Assistant for iOS.**
|
||||
|
||||
**Today, April 16th, 2017, I am _extremely_ excited to announce that Home Assistant for iOS has been approved by Apple and is now available to download for ~~a monthly subscription starting at $9.99~~ free! (had to get a joke in here somewhere!) on the iOS App Store in every country.**
|
||||
|
||||
<p style="text-align: center;"><a target="_blank" href="https://itunes.apple.com/us/app/home-assistant-open-source-home-automation/id1099568401?mt=8" style="display:inline-block;overflow:hidden;background:url(//linkmaker.itunes.apple.com/assets/shared/badges/en-us/appstore-lrg.svg) no-repeat;width:135px;height:40px;background-size:contain;"></a></p>
|
||||
|
||||
_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!
|
||||
|
@ -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/
|
||||
|
20
source/developers/asyncio_101.markdown
Normal file
20
source/developers/asyncio_101.markdown
Normal file
@ -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.
|
||||
|
||||
<div class='videoWrapper'>
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/M-UcUs7IMIM" frameborder="0" allowfullscreen></iframe>
|
||||
</div>
|
||||
|
||||
### [Next step: Categorizing Functions »](/developers/asyncio_categorizing_functions/)
|
||||
|
||||
[rob]: https://github.com/rob-smallshire
|
@ -27,8 +27,16 @@ $ git remote add upstream https://github.com/home-assistant/home-assistant.git
|
||||
|
||||
Install the core dependencies.
|
||||
```bash
|
||||
$ sudo apt-get install python3-pip python3-dev libssl-dev
|
||||
$ sudo apt-get install python3-pip python3-dev
|
||||
```
|
||||
|
||||
#### {% linkable_title Platform dependencies %}
|
||||
|
||||
In order to run `script/setup` below you will need some more dependencies.
|
||||
```bash
|
||||
$ sudo apt-get install libssl-dev libxml2-dev libxslt1-dev libjpeg-dev libffi-dev
|
||||
```
|
||||
|
||||
<p class='note'>
|
||||
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`
|
||||
</p>
|
||||
|
@ -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
|
||||
|
BIN
source/images/supported_brands/crimereports.png
Normal file
BIN
source/images/supported_brands/crimereports.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 100 KiB |
BIN
source/images/supported_brands/metoffice.jpg
Normal file
BIN
source/images/supported_brands/metoffice.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
Binary file not shown.
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 11 KiB |
Loading…
x
Reference in New Issue
Block a user