mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-21 08:16:53 +00:00
Merge branch 'current' into next
This commit is contained in:
commit
1f68945b22
@ -169,16 +169,20 @@ The same thing can also be expressed as a filter:
|
|||||||
|
|
||||||
### Time
|
### Time
|
||||||
|
|
||||||
- `now()` will be rendered as the current time in your time zone.
|
- `now()` returns a datetime object that represents the current time in your time zone.
|
||||||
- For specific values: `now().second`, `now().minute`, `now().hour`, `now().day`, `now().month`, `now().year`, `now().weekday()` and `now().isoweekday()`
|
- You can also use: `now().second`, `now().minute`, `now().hour`, `now().day`, `now().month`, `now().year`, `now().weekday()` and `now().isoweekday()` and other [`datetime`](https://docs.python.org/3.8/library/datetime.html#datetime.datetime) attributes and functions.
|
||||||
- `utcnow()` will be rendered as UTC time.
|
- `utcnow()` returns a datetime object of the current time in the UTC timezone.
|
||||||
- For specific values: `utcnow().second`, `utcnow().minute`, `utcnow().hour`, `utcnow().day`, `utcnow().month`, `utcnow().year`, `utcnow().weekday()` and `utcnow().isoweekday()`.
|
- For specific values: `utcnow().second`, `utcnow().minute`, `utcnow().hour`, `utcnow().day`, `utcnow().month`, `utcnow().year`, `utcnow().weekday()` and `utcnow().isoweekday()`.
|
||||||
- `as_timestamp()` will convert datetime object or string to UNIX timestamp. This function also be used as a filter.
|
- `as_timestamp()` converts datetime object or string to UNIX timestamp. This function also be used as a filter.
|
||||||
- `strptime(string, format)` will parse a string to a datetime based on a [format](https://docs.python.org/3.6/library/datetime.html#strftime-and-strptime-behavior).
|
- `strptime(string, format)` parses a string based on a [format](https://docs.python.org/3.8/library/datetime.html#strftime-and-strptime-behavior) and returns a datetime object.
|
||||||
- `relative_time` will convert datetime object to its human-friendly "age" string. The age can be in second, minute, hour, day, month or year (but only the biggest unit is considered, e.g. if it's 2 days and 3 hours, "2 days" will be returned). Note that it only works for dates _in the past_.
|
- `relative_time` converts datetime object to its human-friendly "age" string. The age can be in second, minute, hour, day, month or year (but only the biggest unit is considered, e.g. if it's 2 days and 3 hours, "2 days" will be returned). Note that it only works for dates _in the past_.
|
||||||
- Filter `timestamp_local` will convert an UNIX timestamp to local time/data.
|
- Filter `timestamp_local` converts an UNIX timestamp to its string representation as date/time in your local timezone.
|
||||||
- Filter `timestamp_utc` will convert a UNIX timestamp to UTC time/data.
|
- Filter `timestamp_utc` converts a UNIX timestamp to its string representation representation as date/time in UTC timezone.
|
||||||
- Filter `timestamp_custom(format_string, local_boolean)` will convert a UNIX timestamp to a custom format, the use of a local timestamp is default. Supports the standard [Python time formatting options](https://docs.python.org/3/library/time.html#time.strftime).
|
- Filter `timestamp_custom(format_string, local_time=True)` converts an UNIX timestamp to its string representation based on a custom format, the use of a local timezone is default. Supports the standard [Python time formatting options](https://docs.python.org/3/library/time.html#time.strftime).
|
||||||
|
Note: [UNIX timestamp](https://en.wikipedia.org/wiki/Unix_time) is the number of seconds that have elapsed since 00:00:00 UTC on 1 January 1970. Therefore, if used as a function's argument, it can be substituted with a numeric value (`int` or `float`):
|
||||||
|
```yaml
|
||||||
|
{{ 120 | timestamp_local }}
|
||||||
|
```
|
||||||
|
|
||||||
### To/From JSON
|
### To/From JSON
|
||||||
|
|
||||||
|
@ -55,8 +55,8 @@ The discovery topic need to follow a specific format:
|
|||||||
```
|
```
|
||||||
|
|
||||||
- `<component>`: One of the supported MQTT components, eg. `binary_sensor`.
|
- `<component>`: One of the supported MQTT components, eg. `binary_sensor`.
|
||||||
- `<node_id>` (*Optional*): ID of the node providing the topic, this is not used by Home Assistant but may be used to structure the MQTT topic.
|
- `<node_id>` (*Optional*): ID of the node providing the topic, this is not used by Home Assistant but may be used to structure the MQTT topic. The ID of the node must only consist of characters from the character class `[a-zA-Z0-9_-]` (alphanumerics, underscore and hyphen).
|
||||||
- `<object_id>`: The ID of the device. This is only to allow for separate topics for each device and is not used for the `entity_id`.
|
- `<object_id>`: The ID of the device. This is only to allow for separate topics for each device and is not used for the `entity_id`. The ID of the device must only consist of characters from the character class `[a-zA-Z0-9_-]` (alphanumerics, underscore and hyphen).
|
||||||
|
|
||||||
The payload must be a JSON dictionary and will be checked like an entry in your `configuration.yaml` file if a new device is added. This means that missing variables will be filled with the platform's default values. All configuration variables which are *required* must be present in the initial payload send to `/config`.
|
The payload must be a JSON dictionary and will be checked like an entry in your `configuration.yaml` file if a new device is added. This means that missing variables will be filled with the platform's default values. All configuration variables which are *required* must be present in the initial payload send to `/config`.
|
||||||
|
|
||||||
|
@ -43,5 +43,5 @@ For analog sensors please check the [integration overview](/integrations/#sensor
|
|||||||
|
|
||||||
<p class='img'>
|
<p class='img'>
|
||||||
<img src='/images/screenshots/binary_sensor_classes_icons.png' />
|
<img src='/images/screenshots/binary_sensor_classes_icons.png' />
|
||||||
Example of various device classes icons in `on` and `off` state.
|
Example of various device classes icons in `on` and `off` state. The on image in this example has `state_color: true` specified in the Entities card configuration to receive the icon coloring.
|
||||||
</p>
|
</p>
|
||||||
|
@ -52,5 +52,5 @@ device_sun_light_trigger:
|
|||||||
light_group: group.living_room
|
light_group: group.living_room
|
||||||
light_profile: relax
|
light_profile: relax
|
||||||
device_group: group.my_devices
|
device_group: group.my_devices
|
||||||
disable_turn_off: 1
|
disable_turn_off: true
|
||||||
```
|
```
|
||||||
|
@ -44,6 +44,12 @@ hass.bus.fire(name, {"wow": "from a Python script!"})
|
|||||||
name: you
|
name: you
|
||||||
```
|
```
|
||||||
|
|
||||||
|
<div class='note'>
|
||||||
|
|
||||||
|
Running this script show absolutely no output on the screen, but it logs with level `info`. You must have the [Logger](/integrations/logger/) enabled at least for level `info`.
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
## Calling Services
|
## Calling Services
|
||||||
|
|
||||||
The following example shows how to call a service from `python_script`. This script takes two parameters: `entity_id` (required), `rgb_color` (optional) and calls `light.turn_on` service by setting the brightness value to `255`.
|
The following example shows how to call a service from `python_script`. This script takes two parameters: `entity_id` (required), `rgb_color` (optional) and calls `light.turn_on` service by setting the brightness value to `255`.
|
||||||
|
@ -13,6 +13,7 @@ ha_codeowners:
|
|||||||
The `sms` integration allows having a local execution SMS notification via [Gammu](https://wammu.eu/gammu/). This is ideal when the internet is offline or when the power goes out.
|
The `sms` integration allows having a local execution SMS notification via [Gammu](https://wammu.eu/gammu/). This is ideal when the internet is offline or when the power goes out.
|
||||||
|
|
||||||
This integration provides the following platforms:
|
This integration provides the following platforms:
|
||||||
|
|
||||||
- Notify
|
- Notify
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
@ -32,6 +33,7 @@ notify:
|
|||||||
name: sms_person2
|
name: sms_person2
|
||||||
recipient: PHONE_NUMBER
|
recipient: PHONE_NUMBER
|
||||||
```
|
```
|
||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
device:
|
device:
|
||||||
description: The gsm modem device.
|
description: The gsm modem device.
|
||||||
@ -41,21 +43,21 @@ device:
|
|||||||
|
|
||||||
To use notifications, please see the [getting started with automation page](/getting-started/automation/).
|
To use notifications, please see the [getting started with automation page](/getting-started/automation/).
|
||||||
|
|
||||||
If the integration is used in HassOS then version [3.6](https://github.com/home-assistant/hassos/releases/tag/3.6) or higher is required.
|
If the integration is used with the Home Assistant Operating System, then version [3.6](https://github.com/home-assistant/hassos/releases/tag/3.6) or higher is required.
|
||||||
|
|
||||||
For installations not running on Hass.io or Docker, you must install `gammu-dev` package:
|
For installations not running on Home Assistant or Home Assistant Core using Docker, you must install `gammu-dev` package:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo apt-get install libgammu-dev
|
sudo apt-get install libgammu-dev
|
||||||
```
|
```
|
||||||
|
|
||||||
Before running for the first time, check that the modem is recognized by the system by running:
|
Before running for the first time, check that the system recognizes the modem by running:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ls -l /dev/*USB*
|
ls -l /dev/*USB*
|
||||||
```
|
```
|
||||||
|
|
||||||
Note: In Hass.io you need to install the SSH add-on.
|
Note: When running Home Assistant, you need to install the SSH add-on.
|
||||||
|
|
||||||
## Required Hardware
|
## Required Hardware
|
||||||
|
|
||||||
@ -65,22 +67,50 @@ You will need a USB GSM stick modem.
|
|||||||
|
|
||||||
- [Huawei E3372-510](https://www.amazon.com/gp/product/B01N6P3HI2/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1)(
|
- [Huawei E3372-510](https://www.amazon.com/gp/product/B01N6P3HI2/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1)(
|
||||||
Need to unlock it using [this guide](http://blog.asiantuntijakaveri.fi/2015/07/convert-huawei-e3372h-153-from.html))
|
Need to unlock it using [this guide](http://blog.asiantuntijakaveri.fi/2015/07/convert-huawei-e3372h-153-from.html))
|
||||||
|
- [Huawei E3531](https://www.amazon.com/Modem-Huawei-Unlocked-Caribbean-Desbloqueado/dp/B011YZZ6Q2/ref=sr_1_1?keywords=Huawei+E3531&qid=1581447800&sr=8-1)
|
||||||
|
|
||||||
[List of modems that may work](https://www.asus.com/event/networks_3G4G_support/)
|
[List of modems that may work](https://www.asus.com/event/networks_3G4G_support/)
|
||||||
|
|
||||||
### Note about Raspberry PI 4
|
### Huawei modems on Raspberry Pi (and similar) devices
|
||||||
|
|
||||||
On Raspberry PI 4, you need a udev rule in the config USB stick, for the [Huawei E3372-510 stick](https://www.amazon.com/gp/product/B01N6P3HI2/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1) for it to be recognized.
|
For some unknown reason, the rule that converts these modems from storage devices into serial devices does not run automatically. To work around this problem, follow the procedure to create `udev` rule on a configuration USB stick for the device to switch to serial mode.
|
||||||
|
|
||||||
|
1. Run `lsusb`, its output looks like this:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bus 000 device 001: ID 1FFF:342a
|
||||||
|
bus 001 device 005: ID 12d1:15ca <-------- Huawei is usually 12d1
|
||||||
|
bus 000 device 002: ID 2354:5352
|
||||||
|
bus 000 device 002: ID 1232:15ca
|
||||||
|
```
|
||||||
|
|
||||||
|
Identify the brand for your GSM modem, copy the `brand_Id` and `product_id` (In this case `brand_id = 12d1` and `product_Id = 15ca`)
|
||||||
|
|
||||||
Set this content in file `udev\10-gsm-modem.rules` in the configuration USB:
|
Set this content in file `udev\10-gsm-modem.rules` in the configuration USB:
|
||||||
|
(Replace `brand_Id` and `product_id` for the numbers reported by `lsusb`)
|
||||||
|
|
||||||
```txt
|
```bash
|
||||||
|
ACTION=="add" \
|
||||||
|
, ATTRS{idVendor}=="brand_Id" \
|
||||||
|
, ATTRS{idProduct}=="product_Id" \
|
||||||
|
, RUN+="/sbin/usb_modeswitch -X -v brand_Id -p product_Id"
|
||||||
|
```
|
||||||
|
|
||||||
|
Here is a sample configuration file:
|
||||||
|
|
||||||
|
```bash
|
||||||
ACTION=="add" \
|
ACTION=="add" \
|
||||||
, ATTRS{idVendor}=="12d1" \
|
, ATTRS{idVendor}=="12d1" \
|
||||||
, ATTRS{idProduct}=="14fe" \
|
, ATTRS{idProduct}=="15ca" \
|
||||||
, RUN+="/sbin/usb_modeswitch -X -v 12d1 -p 14fe"
|
, RUN+="/sbin/usb_modeswitch -X -v 12d1 -p 15ca"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Plug the USB stick, reboot the device, run `lsusb` again.
|
||||||
|
The resulting product id now should be different and the brand id should be the same.
|
||||||
|
And `ls -l /dev/*USB*` should now report your device.
|
||||||
|
|
||||||
|
If the device is still not recognized, remove the parameter -X from the usb_modesiwtch command and reboot again.
|
||||||
|
|
||||||
## More details:
|
## More details:
|
||||||
|
|
||||||
- [Original thread discussion](https://community.home-assistant.io/t/send-sms-with-usb-gsm-modem-when-alarm-triggered/28942/38)
|
- [Original thread discussion](https://community.home-assistant.io/t/send-sms-with-usb-gsm-modem-when-alarm-triggered/28942/38)
|
||||||
|
@ -35,12 +35,12 @@ Plugs are type `switch` when autodiscovery has been disabled.
|
|||||||
- HS100
|
- HS100
|
||||||
- HS103
|
- HS103
|
||||||
- HS105
|
- HS105
|
||||||
- HS110 (The only device capable or reporting energy usage data to template sensors)
|
- HS110 (This device is capable or reporting energy usage data to template sensors)
|
||||||
|
|
||||||
### Strip (Multi-Plug)
|
### Strip (Multi-Plug)
|
||||||
|
|
||||||
- HS107 (indoor 2-outlet)
|
- HS107 (indoor 2-outlet)
|
||||||
- HS300 (powerstrip 6-outlet)
|
- HS300 (powerstrip 6-outlet) (This device is capable or reporting energy usage data to template sensors)
|
||||||
- KP303 (powerstrip 3-outlet)
|
- KP303 (powerstrip 3-outlet)
|
||||||
- KP400 (outdoor 2-outlet)
|
- KP400 (outdoor 2-outlet)
|
||||||
- KP200 (indoor 2-outlet)
|
- KP200 (indoor 2-outlet)
|
||||||
@ -135,6 +135,10 @@ tplink:
|
|||||||
|
|
||||||
## Extracting Energy Sensor data
|
## Extracting Energy Sensor data
|
||||||
|
|
||||||
|
Devices that are confirmed to support Consumption Reading;
|
||||||
|
1. HS110
|
||||||
|
2. HS300
|
||||||
|
|
||||||
In order to get the power consumption readings from a TP-Link HS110 device, you'll have to create a [template sensor](/integrations/switch.template/).
|
In order to get the power consumption readings from a TP-Link HS110 device, you'll have to create a [template sensor](/integrations/switch.template/).
|
||||||
In the example below, change all of the `my_tp_switch`'s to match your device's entity ID.
|
In the example below, change all of the `my_tp_switch`'s to match your device's entity ID.
|
||||||
|
|
||||||
|
@ -84,19 +84,19 @@ Attributes can be accessed using the [template sensor](/integrations/template) a
|
|||||||
sensors:
|
sensors:
|
||||||
next_train_status:
|
next_train_status:
|
||||||
friendly_name: 'Next train status'
|
friendly_name: 'Next train status'
|
||||||
value_template: {% raw %}'{{state_attr('sensor.next_train_to_wat', 'next_trains')[0].status}}'{% endraw %}
|
value_template: {% raw %}"{{state_attr('sensor.next_train_to_wat', 'next_trains')[0].status}}"{% endraw %}
|
||||||
next_trains_origin:
|
next_trains_origin:
|
||||||
friendly_name: 'Next train origin'
|
friendly_name: 'Next train origin'
|
||||||
value_template: {% raw %}'{{state_attr('sensor.next_train_to_wat', 'next_trains')[0].origin_name}}'{% endraw %}
|
value_template: {% raw %}"{{state_attr('sensor.next_train_to_wat', 'next_trains')[0].origin_name}}"{% endraw %}
|
||||||
next_trains_estimated:
|
next_trains_estimated:
|
||||||
friendly_name: 'Next train estimated'
|
friendly_name: 'Next train estimated'
|
||||||
value_template: {% raw %}'{{state_attr('sensor.next_train_to_wat', 'next_trains')[0].estimated}}'{% endraw %}
|
value_template: {% raw %}"{{state_attr('sensor.next_train_to_wat', 'next_trains')[0].estimated}}"{% endraw %}
|
||||||
next_trains_scheduled:
|
next_trains_scheduled:
|
||||||
friendly_name: 'Next train scheduled'
|
friendly_name: 'Next train scheduled'
|
||||||
value_template: {% raw %}'{{state_attr('sensor.next_train_to_wat', 'next_trains')[0].scheduled}}'{% endraw %}
|
value_template: {% raw %}"{{state_attr('sensor.next_train_to_wat', 'next_trains')[0].scheduled}}"{% endraw %}
|
||||||
next_trains_platform:
|
next_trains_platform:
|
||||||
friendly_name: 'Next train platform'
|
friendly_name: 'Next train platform'
|
||||||
value_template: {% raw %}'{{state_attr('sensor.next_train_to_wat', 'next_trains')[0].platform}}'{% endraw %}
|
value_template: {% raw %}"{{state_attr('sensor.next_train_to_wat', 'next_trains')[0].platform}}"{% endraw %}
|
||||||
```
|
```
|
||||||
|
|
||||||
Bus sensors require as their `origin` a bus stop ATCO code which can be found by browsing OpenStreetMap data as
|
Bus sensors require as their `origin` a bus stop ATCO code which can be found by browsing OpenStreetMap data as
|
||||||
@ -132,16 +132,16 @@ And the template sensor for viewing the next bus attributes.
|
|||||||
sensors:
|
sensors:
|
||||||
next_bus_route:
|
next_bus_route:
|
||||||
friendly_name: 'Next bus route'
|
friendly_name: 'Next bus route'
|
||||||
value_template: {% raw %}'{{state_attr('sensor.next_bus_to_wantage', 'next_buses')[0].route}}'{% endraw %}
|
value_template: {% raw %}"{{state_attr('sensor.next_bus_to_wantage', 'next_buses')[0].route}}"{% endraw %}
|
||||||
next_bus_direction:
|
next_bus_direction:
|
||||||
friendly_name: 'Next bus direction'
|
friendly_name: 'Next bus direction'
|
||||||
value_template: {% raw %}'{{state_attr('sensor.next_bus_to_wantage', 'next_buses')[0].direction}}'{% endraw %}
|
value_template: {% raw %}"{{state_attr('sensor.next_bus_to_wantage', 'next_buses')[0].direction}}"{% endraw %}
|
||||||
next_bus_scheduled:
|
next_bus_scheduled:
|
||||||
friendly_name: 'Next bus scheduled'
|
friendly_name: 'Next bus scheduled'
|
||||||
value_template: {% raw %}'{{state_attr('sensor.next_bus_to_wantage', 'next_buses')[0].scheduled}}'{% endraw %}
|
value_template: {% raw %}"{{state_attr('sensor.next_bus_to_wantage', 'next_buses')[0].scheduled}}"{% endraw %}
|
||||||
next_bus_estimated:
|
next_bus_estimated:
|
||||||
friendly_name: 'Next bus estimated'
|
friendly_name: 'Next bus estimated'
|
||||||
value_template: {% raw %}'{{state_attr('sensor.next_bus_to_wantage', 'next_buses')[0].estimated}}'{% endraw %}
|
value_template: {% raw %}"{{state_attr('sensor.next_bus_to_wantage', 'next_buses')[0].estimated}}"{% endraw %}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Managing API requests
|
## Managing API requests
|
||||||
|
87
source/_posts/2020-02-11-android-16-17-release.markdown
Normal file
87
source/_posts/2020-02-11-android-16-17-release.markdown
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
---
|
||||||
|
layout: post
|
||||||
|
title: "Home Assistant Companion for Android 1.6 and 1.7"
|
||||||
|
description: "Today we're releasing a big update for our Android companion app including actionable notifications, requesting location updates, sensors and more"
|
||||||
|
date: 2020-02-11 00:00:00
|
||||||
|
date_formatted: "February 11, 2020"
|
||||||
|
author: Robbie Trencheny
|
||||||
|
author_twitter: robbie
|
||||||
|
comments: true
|
||||||
|
categories: Release-Notes
|
||||||
|
og_image: /images/blog/2020-02-android-16-17-release/garage.png
|
||||||
|
---
|
||||||
|
|
||||||
|
Over the last week, we've released some awesome new features and improvements to Home Assistant Companion for Android. I wanted to take a moment to highlight some of the recent things that we introduced in 1.6 and 1.7.
|
||||||
|
|
||||||
|
## Actionable notifications
|
||||||
|
|
||||||
|
Now you can define action buttons to attach to a notification dynamically. When you click one of those buttons, an event is fired back to Home Assistant so you can take action based on the button chosen.
|
||||||
|
|
||||||
|
Here's an example to check with a user if they want to close the garage door after it has been left open for 30 minutes:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
automation:
|
||||||
|
- alias: Notify apps when garage door opens
|
||||||
|
trigger:
|
||||||
|
platform: state
|
||||||
|
entity_id: cover.garage_door
|
||||||
|
from: 'closed'
|
||||||
|
to: 'open'
|
||||||
|
for: ‘0:30:00’
|
||||||
|
action:
|
||||||
|
service: notify.mobile_app_robbies_pixel_5
|
||||||
|
data:
|
||||||
|
message: "The garage has been left open"
|
||||||
|
data:
|
||||||
|
actions:
|
||||||
|
- action: "close_garage" # The key you are sending for the event
|
||||||
|
title: "Close Garage Door" # The button title
|
||||||
|
|
||||||
|
- alias: Close the garage when notification action is tapped
|
||||||
|
trigger:
|
||||||
|
platform: event
|
||||||
|
event_type: mobile_app_notification_action
|
||||||
|
event_data:
|
||||||
|
action: close_garage
|
||||||
|
action:
|
||||||
|
service: cover.close_cover
|
||||||
|
entity_id: cover.garage_door
|
||||||
|
```
|
||||||
|
|
||||||
|
After adding these automations, whenever your garage door remains open for 30 minutes, your device will get a notification that looks like this:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
When you press that close garage button… your garage will close!
|
||||||
|
|
||||||
|
We are planning to expand notifications over the next few versions to continue to match the existing functionality available in the iOS app. That includes things like sending text back to Home Assistant and critical alerts.
|
||||||
|
|
||||||
|
## Requesting location updates via notification
|
||||||
|
|
||||||
|
You can now send a notification with just the message `request_location_update` and once it reachces your device it will update its current location in Home Assistant. Be careful using this too much though, as it can drain your battery.
|
||||||
|
|
||||||
|
## Sensors
|
||||||
|
|
||||||
|
New in version 1.7, we have added the first sensors to the app. For now, you will find the following new sensors:
|
||||||
|
|
||||||
|
- Battery percentage
|
||||||
|
- Battery state
|
||||||
|
- Current WiFi network information
|
||||||
|
|
||||||
|
We plan to keep expanding sensors in the near future to add things like cellular status and more.
|
||||||
|
|
||||||
|
## Docs
|
||||||
|
|
||||||
|
Thanks to a few dedicated volunteers and a mad dash, [we have a newly refreshed docs website](https://companion.home-assistant.io/). It’s using the latest version of [Docusaurus](https://docusaurus.io/) which means it’s got a new coat of paint and even dark mode support. So much easier on the eyes!
|
||||||
|
|
||||||
|
In addition to the tooling updates, we’ve also begun documenting Android and iOS differences. Keep an eye out for the Android and Apple logos to denote what works where.
|
||||||
|
|
||||||
|
Over time we plan to bring Android and iOS as close together in terms of features and the ways they interact with Home Assistant so that, as much as possible, those that have users of both platforms have to do as little work.
|
||||||
|
|
||||||
|
## Finale
|
||||||
|
|
||||||
|
In addition to the highlights above, we’ve also killed an impressive amount of bugs. Thanks goes to [JBassett](https://github.com/JBassett), [KBerstene](https://github.com/KBerstene), [quthla](https://github.com/quthla) and [neopilou](https://github.com/neopilou) for their work on all of the above.
|
||||||
|
|
||||||
|
Enjoy the new release! Don't forget to leave a rating if you like the app, it will help other users find the app.
|
||||||
|
|
||||||
|
<a href="https://play.google.com/store/apps/details?id=io.homeassistant.companion.android"><img alt="Get it on Google Play" src="https://play.google.com/intl/en_gb/badges/static/images/badges/en_badge_web_generic.png" width="155" style='border: 0;box-shadow: none;'></a>
|
@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
title: "Installing Hass.io"
|
title: "Installing Home Assistant"
|
||||||
description: "Instructions on how to install Hass.io."
|
description: "Instructions on how to install Home Assistant."
|
||||||
---
|
---
|
||||||
|
|
||||||
The following will take you through the steps required to install Hass.io.
|
The following will take you through the steps required to install Home Assistant.
|
||||||
|
|
||||||
1. Download the appropriate install option:
|
1. Download the appropriate install option:
|
||||||
|
|
||||||
@ -32,16 +32,16 @@ The following will take you through the steps required to install Hass.io.
|
|||||||
- [Raspberry Pi Zero-W][pi0-w]
|
- [Raspberry Pi Zero-W][pi0-w]
|
||||||
- [Raspberry Pi 2][pi2]
|
- [Raspberry Pi 2][pi2]
|
||||||
|
|
||||||
2. Install Hass.io:
|
2. Install Home Assistant:
|
||||||
|
|
||||||
- Flash the downloaded image to an SD card using [balenaEtcher][balenaEtcher]. If using a Pi we recommend at least a 32 GB SD card to avoid running out of space. On Virtual machine platforms, provide at least 32 GB of disk space for the VM.
|
- Flash the downloaded image to an SD card using [balenaEtcher][balenaEtcher]. If using a Pi, we recommend at least a 32 GB SD card to avoid running out of space. On Virtual machine platforms, provide at least 32 GB of disk space for the VM.
|
||||||
- Load the appliance image into your virtual machine software. Choose 64-bit Linux and UEFI boot.
|
- Load the appliance image into your virtual machine software. Choose 64-bit Linux and UEFI boot.
|
||||||
|
|
||||||
3. Optional - set up the WiFi or static IP. There are two possible places for that:
|
3. Optional - set up the WiFi or static IP. There are two possible places for that:
|
||||||
- on a blank USB stick with a FAT32 partition having partition label `CONFIG`, while in its root directory, create the `network/my-network` file, or
|
- on a blank USB stick with a FAT32 partition having partition label `CONFIG`, while in its root directory, create the `network/my-network` file, or
|
||||||
- on the Hass.io SD card's first, bootable partition (labeled `hassio-boot`, might not be auto mounted in Linux) create the `CONFIG/network/my-network` file.
|
- on the Home Assistant SD card's first, bootable partition (labeled `hassio-boot`, might not be auto mounted in Linux) create the `CONFIG/network/my-network` file.
|
||||||
|
|
||||||
For the content of this file, follow the [HassOS howto][hassos-network].
|
For the content of this file, follow the [Home Assistant Operating System howto][hassos-network].
|
||||||
|
|
||||||
4. For image-based installs insert the SD card (and optional USB stick) into the device.
|
4. For image-based installs insert the SD card (and optional USB stick) into the device.
|
||||||
|
|
||||||
@ -51,7 +51,7 @@ The following will take you through the steps required to install Hass.io.
|
|||||||
|
|
||||||
6. You will be able to reach your installation at `http://hassio.local:8123` (if your router supports mDNS, otherwise see below).
|
6. You will be able to reach your installation at `http://hassio.local:8123` (if your router supports mDNS, otherwise see below).
|
||||||
|
|
||||||
7. It is important to provide yourself proper access, including the Hass.io CLI tools. Both the [Samba add-on][samba] and the [SSH add-on][ssh] should be the first add-ons you should install, before making changes to the configuration in the `/config/` folder. From the UI choose **Hass.io**, which is located in the sidebar and then the add-on store.
|
7. It is important to provide yourself proper access, including the Home Assistant CLI tools. Both the [Samba add-on][samba] and the [SSH add-on][ssh] should be the first add-ons you should install, before making changes to the configuration in the `/config/` folder. From the UI choose **Supervisor**, which is located in the sidebar and then the add-on store.
|
||||||
|
|
||||||
<div class='note'>
|
<div class='note'>
|
||||||
|
|
||||||
@ -67,39 +67,39 @@ If you are using a Raspberry Pi please remember to ensure you're using an [appro
|
|||||||
|
|
||||||
Now you can [configure][configure] your install.
|
Now you can [configure][configure] your install.
|
||||||
|
|
||||||
## Updating a Hass.io installation
|
## Updating a Home Assistant installation
|
||||||
|
|
||||||
Best practice for updating a Hass.io installation:
|
Best practice for updating a Home Assistant installation:
|
||||||
|
|
||||||
1. Backup your installation, using the snapshot functionality Hass.io offers.
|
1. Backup your installation, using the snapshot functionality Home Assistant offers.
|
||||||
2. Check the release notes for breaking changes on [Home Assistant release notes](https://github.com/home-assistant/home-assistant/releases). Be sure to check all release notes between the version you are running and the one you are upgrading to. Use the search function in your browser (`CTRL + f`) and search for **Breaking Changes**.
|
2. Check the release notes for breaking changes on [Home Assistant release notes](https://github.com/home-assistant/home-assistant/releases). Be sure to check all release notes between the version you are running and the one you are upgrading to. Use the search function in your browser (`CTRL + f`) and search for **Breaking Changes**.
|
||||||
3. Check your configuration using the [Check Home Assistant configuration](/addons/check_config/) add-on.
|
3. Check your configuration using the [Check Home Assistant configuration](/addons/check_config/) add-on.
|
||||||
4. If the check passes, you can safely update. If not, update your configuration accordingly.
|
4. If the check passes, you can safely update. If not, update your configuration accordingly.
|
||||||
5. Select _Dashboard_ from the _Hass.io_ menu, and then select _Update_.
|
5. Select _Dashboard_ from the _Supervisor_ menu, and then select _Update_.
|
||||||
|
|
||||||
## Run a specific version on Hass.io
|
## Run a specific version on Home Assistant
|
||||||
|
|
||||||
SSH to your Hass.io system, or connect to the console, and run:
|
SSH to your Home Assistant system, or connect to the console, and run:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
hassio ha update --version=0.XX.X
|
hassio ha update --version=0.XX.X
|
||||||
```
|
```
|
||||||
|
|
||||||
## Run the beta version on Hass.io
|
## Run the beta version on Home Assistant
|
||||||
|
|
||||||
If you would like to test next release before anyone else, you can install the beta version released every three weeks:
|
If you would like to test next release before anyone else, you can install the beta version released every three weeks:
|
||||||
|
|
||||||
1. Backup your installation, using the snapshot functionality Hass.io offers.
|
1. Backup your installation, using the snapshot functionality Home Assistant offers.
|
||||||
2. Check the [Home Assistant RC release notes](https://rc.home-assistant.io/latest-release-notes/) for breaking changes. Be sure to check all release notes between the version you are running and the one you are upgrading to. Use the search function in your browser (`CTRL + f`) and search for **Breaking Changes**.
|
2. Check the [Home Assistant RC release notes](https://rc.home-assistant.io/latest-release-notes/) for breaking changes. Be sure to check all release notes between the version you are running and the one you are upgrading to. Use the search function in your browser (`CTRL + f`) and search for **Breaking Changes**.
|
||||||
3. Select _System_ tab from the _Hass.io_ menu, then select _Join Beta Channel_ under _Hass.io supervisor_, then select _Reload_.
|
3. Select _System_ tab from the _Supervisor_ menu, then select _Join Beta Channel_ under _Supervisor_, then select _Reload_.
|
||||||
4. Select _Dashboard_ tab from the _Hass.io_ menu, and then select _Update_.
|
4. Select _Dashboard_ tab from the _Supervisor_ menu, and then select _Update_.
|
||||||
|
|
||||||
## Alternative: install on a generic Linux host
|
## Alternative: install on a generic Linux host
|
||||||
|
|
||||||
For advanced users, it is also possible to try Hass.io on your [Linux server or inside a virtual machine][linux].
|
For advanced users, it is also possible to try Home Assistant on your [Linux server or inside a virtual machine][linux].
|
||||||
Examples given here are tested on Ubuntu and Arch Linux, but the instructions should work as a guideline for installing on other Linux distrubutions.
|
Examples given here are tested on Ubuntu and Arch Linux, but the instructions should work as a guideline for installing on other Linux distributions.
|
||||||
|
|
||||||
The packages you need to have available on your system that will run Hass.io may vary.
|
The packages you need to have available on your system that will run Home Assistant may vary.
|
||||||
|
|
||||||
### Debian/Ubuntu
|
### Debian/Ubuntu
|
||||||
|
|
||||||
@ -119,7 +119,7 @@ Optional:
|
|||||||
|
|
||||||
<div class='note warning'>
|
<div class='note warning'>
|
||||||
|
|
||||||
Without the NetworkManager, you will be not able to control your host network setup over the UI. The `modemmanager` package will interfere with any Z-Wave or Zigbee stick and should be removed or disabled. Failure to do so will result in random failures of those integrations. For example you can disable with `sudo systemctl disable ModemManager` and remove with `sudo apt-get purge modemmanager`
|
Without the NetworkManager, you will be not able to control your host network setup over the UI. The `modemmanager` package will interfere with any Z-Wave or Zigbee stick and should be removed or disabled. Failure to do so will result in random failures of those integrations. For example, you can disable with `sudo systemctl disable ModemManager` and remove with `sudo apt-get purge modemmanager`
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -138,8 +138,8 @@ You also need to have Docker-CE installed. There are well-documented procedures
|
|||||||
|
|
||||||
<div class='note warning'>
|
<div class='note warning'>
|
||||||
|
|
||||||
Some distributions, like Ubuntu, have a `docker.io` package available. Using that packages will cause issues!
|
Some distributions, like Ubuntu, have a `docker.io` package available. Using that package will cause issues!
|
||||||
Be sure to install the official Docker-CE from the above listed URL.
|
Be sure to install the official Docker-CE from the above-listed URL.
|
||||||
|
|
||||||
Docker is not always ready with a release when a new Ubuntu version is out. Check if your version of Ubuntu is supported by docker [here](https://docs.docker.com/install/linux/docker-ce/ubuntu/).
|
Docker is not always ready with a release when a new Ubuntu version is out. Check if your version of Ubuntu is supported by docker [here](https://docs.docker.com/install/linux/docker-ce/ubuntu/).
|
||||||
|
|
||||||
@ -147,7 +147,7 @@ You also need to have Docker-CE installed. There are well-documented procedures
|
|||||||
|
|
||||||
### Preparation
|
### Preparation
|
||||||
|
|
||||||
To prepare your machine for the Hass.io installation, run the following commands:
|
To prepare your machine for the Home Assistant installation, run the following commands:
|
||||||
|
|
||||||
For Ubuntu:
|
For Ubuntu:
|
||||||
|
|
||||||
@ -166,7 +166,7 @@ systemctl disable ModemManager
|
|||||||
curl -fsSL get.docker.com | sh
|
curl -fsSL get.docker.com | sh
|
||||||
```
|
```
|
||||||
|
|
||||||
The following script will then install Hass.io on a variety of operating systems and machine types.
|
The following script will then install Home Assistant on a variety of operating systems and machine types.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -sL "https://raw.githubusercontent.com/home-assistant/hassio-installer/master/hassio_install.sh" | bash -s
|
curl -sL "https://raw.githubusercontent.com/home-assistant/hassio-installer/master/hassio_install.sh" | bash -s
|
||||||
@ -205,7 +205,7 @@ If you can not find your machine type in the list, you should pick the `qemu` re
|
|||||||
When you use this installation method, the core SSH add-on may not function correctly. If that happens, use the community SSH add-on. Some of the documentation might not work for your installation either.
|
When you use this installation method, the core SSH add-on may not function correctly. If that happens, use the community SSH add-on. Some of the documentation might not work for your installation either.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
A detailed guide about running Hass.io as a virtual machine is available in the [blog][hassio-vm].
|
A detailed guide about running Home Assistant as a virtual machine is available in the [blog][hassio-vm].
|
||||||
|
|
||||||
[balenaEtcher]: https://www.balena.io/etcher
|
[balenaEtcher]: https://www.balena.io/etcher
|
||||||
[Virtual Appliance]: https://github.com/home-assistant/hassos/blob/dev/Documentation/boards/ova.md
|
[Virtual Appliance]: https://github.com/home-assistant/hassos/blob/dev/Documentation/boards/ova.md
|
||||||
|
BIN
source/images/blog/2020-02-android-16-17-release/garage.png
Normal file
BIN
source/images/blog/2020-02-android-16-17-release/garage.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 220 KiB |
Loading…
x
Reference in New Issue
Block a user