mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-22 16:56:50 +00:00
Merge branch 'current' into next
This commit is contained in:
commit
51b71b6872
1
.gitignore
vendored
1
.gitignore
vendored
@ -6,6 +6,7 @@
|
||||
public
|
||||
source/_stash
|
||||
source/stylesheets/screen.css
|
||||
source/.jekyll-cache/
|
||||
vendor
|
||||
node_modules
|
||||
source/.jekyll-metadata
|
||||
|
@ -11,5 +11,5 @@ github:
|
||||
pullRequestsFromForks: true
|
||||
addCheck: true
|
||||
addComment: false
|
||||
addBadge: true
|
||||
addBadge: false
|
||||
addLabel: false
|
||||
|
8
Gemfile
8
Gemfile
@ -3,8 +3,8 @@ source "https://rubygems.org"
|
||||
ruby "> 2.5.0"
|
||||
|
||||
group :development do
|
||||
gem 'rake', '12.3.2'
|
||||
gem 'jekyll', '3.8.6'
|
||||
gem 'rake', '12.3.3'
|
||||
gem 'jekyll', '4.0.0'
|
||||
gem 'compass', '1.0.3'
|
||||
gem 'sass-globbing', '1.1.5'
|
||||
gem 'stringex', '2.8.5'
|
||||
@ -15,8 +15,8 @@ group :jekyll_plugins do
|
||||
gem 'jekyll-redirect-from', '0.15.0'
|
||||
gem 'jekyll-sitemap', '1.3.1'
|
||||
gem 'jekyll-time-to-read', '0.1.2'
|
||||
gem 'jekyll-commonmark-ghpages', '0.1.6'
|
||||
gem 'jekyll-commonmark', '1.3.1'
|
||||
end
|
||||
|
||||
gem 'sinatra', '2.0.5'
|
||||
gem 'sinatra', '2.0.7'
|
||||
gem 'nokogiri', '1.10.4'
|
||||
|
57
Gemfile.lock
57
Gemfile.lock
@ -1,11 +1,11 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
addressable (2.6.0)
|
||||
public_suffix (>= 2.0.2, < 4.0)
|
||||
addressable (2.7.0)
|
||||
public_suffix (>= 2.0.2, < 5.0)
|
||||
chunky_png (1.3.11)
|
||||
colorator (1.1.0)
|
||||
commonmarker (0.17.13)
|
||||
commonmarker (0.20.1)
|
||||
ruby-enum (~> 0.5)
|
||||
compass (1.0.3)
|
||||
chunky_png (~> 1.2)
|
||||
@ -27,40 +27,40 @@ GEM
|
||||
ffi (1.11.1)
|
||||
forwardable-extended (2.6.0)
|
||||
http_parser.rb (0.6.0)
|
||||
i18n (0.9.5)
|
||||
i18n (1.6.0)
|
||||
concurrent-ruby (~> 1.0)
|
||||
jekyll (3.8.6)
|
||||
jekyll (4.0.0)
|
||||
addressable (~> 2.4)
|
||||
colorator (~> 1.0)
|
||||
em-websocket (~> 0.5)
|
||||
i18n (~> 0.7)
|
||||
jekyll-sass-converter (~> 1.0)
|
||||
i18n (>= 0.9.5, < 2)
|
||||
jekyll-sass-converter (~> 2.0)
|
||||
jekyll-watch (~> 2.0)
|
||||
kramdown (~> 1.14)
|
||||
kramdown (~> 2.1)
|
||||
kramdown-parser-gfm (~> 1.0)
|
||||
liquid (~> 4.0)
|
||||
mercenary (~> 0.3.3)
|
||||
pathutil (~> 0.9)
|
||||
rouge (>= 1.7, < 4)
|
||||
rouge (~> 3.0)
|
||||
safe_yaml (~> 1.0)
|
||||
terminal-table (~> 1.8)
|
||||
jekyll-commonmark (1.3.1)
|
||||
commonmarker (~> 0.14)
|
||||
jekyll (>= 3.7, < 5.0)
|
||||
jekyll-commonmark-ghpages (0.1.6)
|
||||
commonmarker (~> 0.17.6)
|
||||
jekyll-commonmark (~> 1.2)
|
||||
rouge (>= 2.0, < 4.0)
|
||||
jekyll-paginate (1.1.0)
|
||||
jekyll-redirect-from (0.15.0)
|
||||
jekyll (>= 3.3, < 5.0)
|
||||
jekyll-sass-converter (1.5.2)
|
||||
sass (~> 3.4)
|
||||
jekyll-sass-converter (2.0.0)
|
||||
sassc (> 2.0.1, < 3.0)
|
||||
jekyll-sitemap (1.3.1)
|
||||
jekyll (>= 3.7, < 5.0)
|
||||
jekyll-time-to-read (0.1.2)
|
||||
jekyll
|
||||
jekyll-watch (2.2.1)
|
||||
listen (~> 3.0)
|
||||
kramdown (1.17.0)
|
||||
kramdown (2.1.0)
|
||||
kramdown-parser-gfm (1.1.0)
|
||||
kramdown (~> 2.0)
|
||||
liquid (4.0.3)
|
||||
listen (3.1.5)
|
||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
||||
@ -74,15 +74,15 @@ GEM
|
||||
mini_portile2 (~> 2.4.0)
|
||||
pathutil (0.16.2)
|
||||
forwardable-extended (~> 2.6)
|
||||
public_suffix (3.1.1)
|
||||
public_suffix (4.0.1)
|
||||
rack (2.0.7)
|
||||
rack-protection (2.0.5)
|
||||
rack-protection (2.0.7)
|
||||
rack
|
||||
rake (12.3.2)
|
||||
rake (12.3.3)
|
||||
rb-fsevent (0.10.3)
|
||||
rb-inotify (0.10.0)
|
||||
ffi (~> 1.0)
|
||||
rouge (3.6.0)
|
||||
rouge (3.9.0)
|
||||
ruby-enum (0.7.2)
|
||||
i18n
|
||||
ruby_dep (1.5.0)
|
||||
@ -90,29 +90,34 @@ GEM
|
||||
sass (3.4.25)
|
||||
sass-globbing (1.1.5)
|
||||
sass (>= 3.1)
|
||||
sinatra (2.0.5)
|
||||
sassc (2.2.0)
|
||||
ffi (~> 1.9)
|
||||
sinatra (2.0.7)
|
||||
mustermann (~> 1.0)
|
||||
rack (~> 2.0)
|
||||
rack-protection (= 2.0.5)
|
||||
rack-protection (= 2.0.7)
|
||||
tilt (~> 2.0)
|
||||
stringex (2.8.5)
|
||||
terminal-table (1.8.0)
|
||||
unicode-display_width (~> 1.1, >= 1.1.1)
|
||||
tilt (2.0.9)
|
||||
unicode-display_width (1.6.0)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
compass (= 1.0.3)
|
||||
jekyll (= 3.8.6)
|
||||
jekyll-commonmark-ghpages (= 0.1.6)
|
||||
jekyll (= 4.0.0)
|
||||
jekyll-commonmark (= 1.3.1)
|
||||
jekyll-paginate (= 1.1.0)
|
||||
jekyll-redirect-from (= 0.15.0)
|
||||
jekyll-sitemap (= 1.3.1)
|
||||
jekyll-time-to-read (= 0.1.2)
|
||||
nokogiri (= 1.10.4)
|
||||
rake (= 12.3.2)
|
||||
rake (= 12.3.3)
|
||||
sass-globbing (= 1.1.5)
|
||||
sinatra (= 2.0.5)
|
||||
sinatra (= 2.0.7)
|
||||
stringex (= 2.8.5)
|
||||
|
||||
RUBY VERSION
|
||||
|
10
_config.yml
10
_config.yml
@ -39,9 +39,11 @@ liquid:
|
||||
error_mode: strict
|
||||
|
||||
commonmark:
|
||||
options: ["SMART", "FOOTNOTES"]
|
||||
options: ["SMART", "FOOTNOTES", "UNSAFE"]
|
||||
extensions: ["strikethrough", "autolink", "table"]
|
||||
|
||||
highlighter: none
|
||||
|
||||
plugins:
|
||||
- jekyll-redirect-from
|
||||
- jekyll-time-to-read
|
||||
@ -98,9 +100,9 @@ social:
|
||||
|
||||
# Home Assistant release details
|
||||
current_major_version: 0
|
||||
current_minor_version: 97
|
||||
current_patch_version: 2
|
||||
date_released: 2019-08-12
|
||||
current_minor_version: 98
|
||||
current_patch_version: 3
|
||||
date_released: 2019-09-04
|
||||
|
||||
# Either # or the anchor link to latest release notes in the blog post.
|
||||
# Must be prefixed with a # and have double quotes around it.
|
||||
|
@ -1,15 +0,0 @@
|
||||
module Jekyll
|
||||
class LinkableTitleTag < Liquid::Tag
|
||||
def initialize(tag_name, text, token)
|
||||
super
|
||||
@title = text
|
||||
end
|
||||
|
||||
def render(context)
|
||||
title = Liquid::Template.parse(@title).render context
|
||||
"#{title}"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Liquid::Template.register_tag('linkable_title', Jekyll::LinkableTitleTag)
|
@ -20,11 +20,11 @@ For Fire TV devices, the instructions are as follows:
|
||||
|
||||
- Turn on ADB Debugging on your Amazon Fire TV:
|
||||
- From the main (Launcher) screen, select Settings.
|
||||
- Select System > Developer Options.
|
||||
- Select My Fire TV > Developer Options.
|
||||
- Select ADB Debugging.
|
||||
- Find Amazon Fire TV device IP address:
|
||||
- From the main (Launcher) screen, select Settings.
|
||||
- Select System > About > Network.
|
||||
- Select My Fire TV > About > Network.
|
||||
|
||||
## Configuration
|
||||
|
||||
@ -261,7 +261,7 @@ You can also use the command `GET_PROPERTIES` to retrieve the properties used by
|
||||
|
||||
The `state_detection_rules` configuration parameter allows you to provide your own rules for state detection. The keys are app IDs, and the values are lists of rules that are evaluated in order. Valid rules are:
|
||||
|
||||
* `'standby'`, `'playing'`, `'paused'`, `'idle'`, `'stopped'`, or `'off'`
|
||||
* `'standby'`, `'playing'`, `'paused'`, `'idle'`, or `'off'`
|
||||
* If this is not a map, then this state will always be reported when this app is the current app
|
||||
* If this is a map, then its entries are conditions that will be checked. If all of the conditions are true, then this state will be reported. Valid conditions pertain to 3 properties (see the example configuration above):
|
||||
1. ``'media_session_state'``
|
||||
|
@ -27,15 +27,27 @@ This section enables you to manage your Home Assistant users.
|
||||
|
||||
### General
|
||||
|
||||
This section enables you to manage the name, location, and unit system of your Home Assistant installation.
|
||||
|
||||
### Server Control
|
||||
|
||||
This section enables you to control Home Assistant from within Home Assistant. Check your configuration, reload the core, groups, scripts, automations, and the Home Assistant process itself with a single mouse click.
|
||||
|
||||
<p class='img'>
|
||||
<img src='{{site_root}}/images/screenshots/server-management.png' />
|
||||
</p>
|
||||
|
||||
### Customization
|
||||
### Persons
|
||||
|
||||
This section enables you to customize entities within Home Assistant. Use this to set friendly names, change icons, hide entities, and modify other attributes.
|
||||
This section enables you to associate users with their device tracker entities using the person component.
|
||||
|
||||
### Entity Registry
|
||||
|
||||
This section enables you to override the name, change the entity ID or disable an entity in Home Assistant.
|
||||
|
||||
### Area Registry
|
||||
|
||||
This section enables you to organize entities to physical areas of your home.
|
||||
|
||||
### Automation
|
||||
|
||||
@ -48,3 +60,8 @@ Similar to the automation editor, this section enables you to create and modify
|
||||
### Z-Wave
|
||||
|
||||
This section enables you to control your Z-Wave network and devices from within Home Assistant. You can add and remove devices, as well as change device specific configuration variables.
|
||||
|
||||
### Customization
|
||||
|
||||
This section enables you to customize entities within Home Assistant. Use this to set friendly names, change icons, hide entities, and modify other attributes.
|
||||
|
||||
|
@ -23,9 +23,8 @@ counter:
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
# 'alias' should be replaced by the user for their actual value.
|
||||
"[alias]":
|
||||
description: Alias for the counter. Multiple entries are allowed.
|
||||
description: Alias for the counter. Multiple entries are allowed. `alias` should be replaced by the user for their actual value.
|
||||
required: true
|
||||
type: map
|
||||
keys:
|
||||
@ -120,3 +119,37 @@ Select <img src='/images/screenshots/developer-tool-services-icon.png' alt='serv
|
||||
"entity_id": "counter.my_custom_counter"
|
||||
}
|
||||
```
|
||||
|
||||
## Examples
|
||||
|
||||
### Counting Home Assistant errors
|
||||
|
||||
To use a counter to count errors as caught by Home Assistant, you need to add `fire_event: true` to your `configuration.yaml`, like so:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
system_log:
|
||||
fire_event: true
|
||||
```
|
||||
|
||||
### Error counting - example configuration
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
automation:
|
||||
- id: 'errorcounterautomation'
|
||||
alias: Error Counting Automation
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: system_log_event
|
||||
event_data:
|
||||
level: ERROR
|
||||
action:
|
||||
service: counter.increment
|
||||
entity_id: counter.error_counter
|
||||
|
||||
counter:
|
||||
error_counter:
|
||||
name: Errors
|
||||
icon: mdi:alert
|
||||
```
|
||||
|
@ -58,7 +58,7 @@ is_cups_server:
|
||||
default: true
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
## Examples
|
||||
|
||||
Default configuration for an IPP printer:
|
||||
|
||||
|
@ -79,3 +79,4 @@ action:
|
||||
|
||||
- When running on Raspberry Pi, the maximum speed is limited by its 100 Mbit/s LAN adapter.
|
||||
- The sensor will return the maximum measured speed during a 15-second test.
|
||||
- Speed tests consume data depending on your internet speed, make sure to consider this if your internet connection has limited bandwidth.
|
||||
|
@ -15,7 +15,7 @@ The `fritz` platform offers presence detection by looking at connected devices t
|
||||
## Setup
|
||||
|
||||
<div class='note warning'>
|
||||
It might be necessary to install additional packages: <code>sudo apt-get install python3-lxml libxslt-dev libxml2-dev zlib1g-dev</code>
|
||||
If not running Hass.io it might be necessary to install additional packages: <code>sudo apt-get install python3-lxml libxslt-dev libxml2-dev zlib1g-dev</code>
|
||||
If you installed Home Assistant in a virtualenv, run the following commands inside it: <code>pip3 install lxml</code>; be patient this will take a while.</div>
|
||||
|
||||
## Configuration
|
||||
|
@ -12,16 +12,19 @@ redirect_from:
|
||||
|
||||
The `haveibeenpwned` sensor platform creates sensors that check for breached email accounts on [haveibeenpwned](https://haveibeenpwned.com).
|
||||
|
||||
## Configuration
|
||||
|
||||
<div class='note warning'>
|
||||
|
||||
The HaveIBeenPwned API now requires you to pay $3.50 a month in order to query the API. More info can be found [here](https://www.troyhunt.com/authentication-and-the-have-i-been-pwned-api/)
|
||||
The HaveIBeenPwned API is no longer a free API. For more information about this change read the HIBP creator's [blogpost regarding the change](https://www.troyhunt.com/authentication-and-the-have-i-been-pwned-api/).
|
||||
|
||||
</div>
|
||||
|
||||
In order to use this integration you need to purchase an API key. Visit the [API key page](https://haveibeenpwned.com/API/Key) on the HIBP website to purchase one.
|
||||
|
||||
## Configuration
|
||||
|
||||
To enable this sensor, add the following lines to your `configuration.yaml`, it will list every specified email address as a sensor showing
|
||||
the number of breaches on that email account.
|
||||
To enable this sensor, add the following lines to your `configuration.yaml`, it will list every specified email address as a sensor showing the number of breaches on that email account.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry using cloud based emoncms
|
||||
|
@ -76,7 +76,7 @@ You can play a HEOS favorite by number or name with the `media_player.play_media
|
||||
| Attribute | Description
|
||||
| ---------------------- | ---------------------------------------------------------|
|
||||
| `entity_id` | `entity_id` of the player
|
||||
| `media_content_type` | Set to the value `playlist`
|
||||
| `media_content_type` | Set to the value `favorite`
|
||||
| `media_content_id` | The nubmer (i.e. `1`) or name (i.e. `Thumbprint Radio`) of the HEOS favorite
|
||||
|
||||
#### Play Playlist
|
||||
@ -157,4 +157,4 @@ logger:
|
||||
If the HEOS controller is not signed in to a HEOS account, HEOS favorites will not be populated in the media player source selection and the service `media_player.play_media` for `favorite` and `playlist` will fail. Additionally, the following warning will be logged at startup:
|
||||
> IP_ADDRESS is not logged in to a HEOS account and will be unable to retrieve HEOS favorites: Use the 'heos.sign_in' service to sign-in to a HEOS account
|
||||
|
||||
To resolve this issue, use the `heos.sign_out` service to sign the controller into an account as documented above. This only needs to be performed once, as the controller will remain signed in while the account credentials are valid.
|
||||
To resolve this issue, use the `heos.sign_in` service to sign the controller into an account as documented above. This only needs to be performed once, as the controller will remain signed in while the account credentials are valid.
|
||||
|
@ -85,7 +85,7 @@ Valid sensor_types:
|
||||
- **server_oa_info**: Get information about the Onboard Administrator of the enclosing chassis.
|
||||
- **server_power_status**: Whether the server is powered on or not.
|
||||
- **server_power_readings**: Get current, min, max and average power readings.
|
||||
- **server_power_on_time**: How many minutes ago has the server been powered on.
|
||||
- **server_power_on_time**: How many minutes ago has the server been powered on (Non-resetting counter, akin to hours used).
|
||||
- **server_asset_tag**: Gets the server asset tag.
|
||||
- **server_uid_status**: Get the status of the UID light.
|
||||
- **server_health**: Get server health information.
|
||||
|
@ -29,7 +29,7 @@ For example, set the body of the IFTTT webhook to:
|
||||
{ "action": "call_service", "service": "light.turn_on", "entity_id": "light.living_room" }
|
||||
```
|
||||
|
||||
You then need to consume that incoming information with the following automation:
|
||||
You then need to consume that incoming information with the following automation. It need to be added to the `configuration.yaml` file and not `automation.yaml` file. You may want to rename `automation:` to `automation old:` if you are also using the `automation.yaml` file and the online editor:
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
|
@ -50,7 +50,7 @@ The automation equivalent would be:
|
||||
```yaml
|
||||
action:
|
||||
service: notify.notify
|
||||
data:
|
||||
data_template:
|
||||
message: "The sun is {% raw %}{% if is_state('sun.sun', 'above_horizon') %}up{% else %}down{% endif %}{% endraw %}!"
|
||||
```
|
||||
|
||||
|
@ -8,7 +8,7 @@ ha_release: 0.23
|
||||
ha_qa_scale: internal
|
||||
---
|
||||
|
||||
The `persistent_notification` integration can be used to show a notfication on the frontend that has to be dismissed by the user.
|
||||
The `persistent_notification` integration can be used to show a notification on the frontend that has to be dismissed by the user.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/screenshots/persistent-notification.png' />
|
||||
|
@ -67,7 +67,7 @@ max_temp:
|
||||
|
||||
```yaml
|
||||
climate:
|
||||
- platform: anna
|
||||
- platform: plugwise
|
||||
name: YOUR_THERMOSTAT_NAME
|
||||
password: YOUR_SHORT_ID
|
||||
host: YOUR_SMILE_LOCAL_IP
|
||||
|
@ -53,6 +53,11 @@ stop_id:
|
||||
description: The ID of the public transport stop.
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
description: "The name of the sensor. Entity ID for the sensor will be created based on this name. E.g., Glostrup St becomes `sensor.glostrup_st`. It's optional but recommended if you define more than one sensor."
|
||||
required: false
|
||||
type: string
|
||||
default: "Next departure"
|
||||
route:
|
||||
description: List of route names.
|
||||
required: false
|
||||
@ -105,6 +110,7 @@ A more extensive example on how to use this sensor:
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: rejseplanen
|
||||
name: 'Elmegade 350S'
|
||||
stop_id: '000045740'
|
||||
route: 'Bus 350S'
|
||||
direction:
|
||||
|
@ -10,7 +10,13 @@ ha_release: 0.94
|
||||
ha_iot_class: Local Push
|
||||
---
|
||||
|
||||
The `rpi_gpio` integration is the base for all related GPIO platforms in Home Assistant. There is no setup needed for the integration itself, for the platforms please check their corresponding sections.
|
||||
The `rpi_gpio` integration is the base for all related GPIO platforms in Home Assistant. For the platform configurations, please check their corresponding sections.
|
||||
|
||||
The remote RPi and the control computer where Home Assistant is running must be prepared to run remote_rpi_gpio, see details [here](https://gpiozero.readthedocs.io/en/stable/remote_gpio.html).
|
||||
|
||||
Note that for virtual environments you may need to set an environment variable when starting the environment to set the pin factory, example:
|
||||
|
||||
`Environment = GPIOZERO_PIN_FACTORY=pigpio PIGPIO_ADDR=YOUR_RPi_IP_ADDRESS`
|
||||
|
||||
## Binary Sensor
|
||||
|
||||
@ -113,3 +119,7 @@ switch:
|
||||
ports:
|
||||
17: Speaker Relay
|
||||
```
|
||||
|
||||
### Troubleshooting
|
||||
|
||||
If you receive an error such as `gpiozero.exc.BadPinFactory: Unable to load any default pin factory!` try changing the pinfactory from `pigpio` to `mock`, this adresses a [known issue](https://www.raspberrypi.org/forums/viewtopic.php?p=1417922).
|
||||
|
@ -73,7 +73,7 @@ payload_not_available:
|
||||
type: string
|
||||
default: offline
|
||||
json_attributes_topic:
|
||||
description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes.
|
||||
description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Implies `force_update` of the current sensor state when a message is received on this topic.
|
||||
required: false
|
||||
type: string
|
||||
json_attributes_template:
|
||||
@ -171,6 +171,8 @@ sensor:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
The state and the attributes of the sensor by design do not update in a synchronous manner if they share the same MQTT topic. Temporal mismatches between the state and the attribute data may occur if both the state and the attributes are changed simultaneously by the same MQTT message. An automation that triggers on any state change of the sensor will also trigger both on the change of the state or a change of the attributes. Such automations will be triggered twice if both the state and the attributes change. Please use a [MQTT trigger](/docs/automation/trigger/#mqtt-trigger) and process the JSON in the automation directly via the {% raw %}`{{ trigger.payload_json }}`{% endraw %} [trigger data](/docs/automation/templating/#mqtt) for automations that must synchronously handle multiple JSON values within the same MQTT message.
|
||||
|
||||
### Get battery level
|
||||
|
||||
If you are using the [OwnTracks](/components/device_tracker.owntracks/) and enable the reporting of the battery level then you can use a MQTT sensor to keep track of your battery. A regular MQTT message from OwnTracks looks like this:
|
||||
|
@ -59,7 +59,7 @@ To do this add either [picture-entity](/lovelace/picture-entity/), [picture-glan
|
||||
|
||||
Some users on manual installs may see the following error in their logs after restarting:
|
||||
|
||||
```
|
||||
```text
|
||||
2019-03-12 08:49:59 ERROR (SyncWorker_5) [homeassistant.util.package] Unable to install package av==6.1.2: Command "/home/pi/home-assistant/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-udfl2b3t/av/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-ftn5zmh2/install-record.txt --single-version-externally-managed --compile --install-headers /home/pi/home-assistant/include/site/python3.6/av" failed with error code 1 in /tmp/pip-install-udfl2b3t/av/
|
||||
2019-03-12 08:49:59 ERROR (MainThread) [homeassistant.requirements] Not initializing stream because could not install requirement av==6.1.2
|
||||
2019-03-12 08:49:59 ERROR (MainThread) [homeassistant.setup] Setup failed for stream: Could not install all requirements.
|
||||
@ -67,6 +67,6 @@ Some users on manual installs may see the following error in their logs after re
|
||||
|
||||
If you see this error you can solve it by running the following commands and restarting Home Assistant (commands do not need to be ran as the `homeassistant` user):
|
||||
|
||||
```
|
||||
```text
|
||||
sudo apt-get install -y python-dev pkg-config libavformat-dev libavcodec-dev libavdevice-dev libavutil-dev libswscale-dev libavresample-dev libavfilter-dev
|
||||
```
|
||||
|
@ -92,7 +92,7 @@ Click [here](https://www.trafikverket.se/trafikinformation/tag/?ArrDep=departure
|
||||
|
||||
```yaml
|
||||
sensor:
|
||||
- platform: trafikverket
|
||||
- platform: trafikverket_train
|
||||
api_key: !secret trafikverket_api_key
|
||||
trains:
|
||||
- name: "Train to work"
|
||||
|
@ -44,17 +44,17 @@ unifi:
|
||||
|
||||
{% configuration %}
|
||||
host:
|
||||
description: Same address as relevant config entry, needed to identify config entry
|
||||
description: Same address as relevant config entry, needed to identify config entry.
|
||||
type: string
|
||||
required: true
|
||||
default: None
|
||||
site:
|
||||
description: Same site as relevant config entry, needed to identify config entry
|
||||
description: Same site as relevant config entry, needed to identify config entry.
|
||||
type: string
|
||||
required: true
|
||||
default: None
|
||||
block_client:
|
||||
description: Clients that can be blocked from the network
|
||||
description: A list of Clients MAC Addresses that can be blocked from the network.
|
||||
type: list
|
||||
required: false
|
||||
default: None
|
||||
@ -111,7 +111,7 @@ If Home Assistant and the UniFi controller are running on separate machines or V
|
||||
|
||||
### Block network access for clients
|
||||
|
||||
Allow control of network access to clients configured in `configuration.yaml`
|
||||
Allow control of network access to clients configured in the `configuration.yaml` file by adding a list of the MAC addresses. Items in this list will have a Home Assistant switch created, using the Unifi Device name, allowing for blocking and unblocking.
|
||||
|
||||
### Control clients powered by POE
|
||||
|
||||
|
@ -56,6 +56,7 @@ It is possible to report the integrations that you are using to the Home Assista
|
||||
|
||||
For an added bonus, an automation integration can be created to send a message with a notifier when that state of this component's entity changes.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
automation:
|
||||
@ -67,6 +68,7 @@ automation:
|
||||
to: 'on'
|
||||
action:
|
||||
- service: notify.notify
|
||||
data:
|
||||
message: 'Update for Home Assistant is available.'
|
||||
data_template:
|
||||
message: "Home Assistant {{ state_attr('binary_sensor.updater', 'newest_version') }} is available."
|
||||
```
|
||||
{% endraw %}
|
||||
|
@ -23,9 +23,9 @@ There is currently support for the following device types within Home Assistant:
|
||||
|
||||
To begin with enable *LG Connect Apps* feature in *Network* settings of the TV [instructions](http://www.lg.com/uk/support/product-help/CT00008334-1437131798537-others).
|
||||
|
||||
Once basic configuration is added to your `configuration.yaml` *Configuration* card should prompt on your Home Assistants's states. Follow the instructions and accept pairing request on your TV.
|
||||
Once basic configuration is added to your `configuration.yaml` file. A notification should be visible in the frontend's **Notification** section. Follow the instructions and accept the pairing request on your TV.
|
||||
|
||||
Pairing information will be saved to the `filename:` provided in configuration. This process is IP sensitive, in case the IP address of your TV would change in future.
|
||||
Pairing information will be saved to the `filename:` provided in the configuration. This process is IP address-sensitive, in case the IP address of your TV would change in future.
|
||||
|
||||
### Configuration
|
||||
|
||||
@ -227,4 +227,4 @@ automation:
|
||||
message: "Movement detected: Front Door"
|
||||
data:
|
||||
icon: "/home/homeassistant/images/doorbell.png"
|
||||
```
|
||||
```
|
||||
|
@ -17,7 +17,7 @@ redirect_from:
|
||||
- /components/switch.zoneminder/
|
||||
---
|
||||
|
||||
The ZoneMinder integration sets up the integration with your [ZoneMinder](https://www.zoneminder.com) instance.
|
||||
The `zoneminder` integration sets up Home Assistant with your [ZoneMinder](https://www.zoneminder.com) instance.
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
|
@ -38,7 +38,7 @@ automation:
|
||||
data:
|
||||
entity_id: media_player.nursery
|
||||
media_content_id: http://fileserver/rain.mp3
|
||||
media_content_type: audio/mp4
|
||||
media_content_type: music
|
||||
|
||||
|
||||
# If you select "Babbling Brook", play the "babbling_brook.mp3" file
|
||||
@ -54,7 +54,7 @@ automation:
|
||||
data:
|
||||
entity_id: media_player.nursery
|
||||
media_content_id: http://fileserver/babbling_brook.mp3
|
||||
media_content_type: audio/mp4
|
||||
media_content_type: music
|
||||
|
||||
# If you select "None, turn the Chromecast off
|
||||
- alias: Stop the Lullaby
|
||||
@ -160,5 +160,5 @@ automation:
|
||||
{% else %}{% endraw %}
|
||||
none{% raw %}
|
||||
{% endif %}{% endraw %}
|
||||
media_content_type: 'audio/mp4'
|
||||
media_content_type: 'music'
|
||||
```
|
||||
|
@ -57,5 +57,5 @@ Note that this example uses the `voicerss` text-to-speech platform. There are ma
|
||||
|
||||
If you want to use this TTS engine, change the line in the example provided to:
|
||||
```
|
||||
- service: tts.google_say
|
||||
- service: tts.google_translate_say
|
||||
```
|
||||
|
@ -87,7 +87,7 @@ For example, the below automation will be triggered when the sun goes from below
|
||||
from: below_horizon
|
||||
to: above_horizon
|
||||
condition:
|
||||
- condition: numeric state
|
||||
- condition: numeric_state
|
||||
entity_id: sensor.temperature
|
||||
above: 17
|
||||
below: 25
|
||||
|
@ -293,7 +293,7 @@ automation:
|
||||
|
||||
### Time pattern trigger
|
||||
|
||||
With the time pattern trigger, you can match if the hour, minute or second of the current time matches a specific value. You can prefix the value with a `/` to match whenever the value is divisible by that number. You can specify `*` to match any value.
|
||||
With the time pattern trigger, you can match if the hour, minute or second of the current time matches a specific value. You can prefix the value with a `/` to match whenever the value is divisible by that number. You can specify `*` to match any value (when using the web interface this is required, the fields cannot be left empty).
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
|
@ -61,7 +61,7 @@ Extensions allow templates to access all of the Home Assistant specific states a
|
||||
|
||||
<div class='note warning'>
|
||||
|
||||
Avoid using `states.sensor.temperature`, instead use `states('sensor.temperature')`. It is strongly advised to use the `states()`, `is_state()`, `state_attr()` and `is_state_attr()` as much as possible, to avoid errors and error message when the entity isn't ready yet (e.g., during Home Assistant startup).
|
||||
Avoid using `states.sensor.temperature.state`, instead use `states('sensor.temperature')`. It is strongly advised to use the `states()`, `is_state()`, `state_attr()` and `is_state_attr()` as much as possible, to avoid errors and error message when the entity isn't ready yet (e.g., during Home Assistant startup).
|
||||
|
||||
</div>
|
||||
|
||||
@ -74,7 +74,7 @@ The next two statements result in the same value if the state exists. The second
|
||||
{% raw %}
|
||||
```text
|
||||
{{ states('device_tracker.paulus') }}
|
||||
{{ states.device_tracker.paulus }}
|
||||
{{ states.device_tracker.paulus.state }}
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
|
@ -4,4 +4,4 @@ description: "Accessing the Home-Assistant database from a Jupyter notebook."
|
||||
redirect_from: /ecosystem/notebooks/database/
|
||||
---
|
||||
|
||||
You can directly access the Home-Assistant database from Jupyter notebooks. The [Database example](http://nbviewer.jupyter.org/github/home-assistant/home-assistant-notebooks/blob/master/database-examples.ipynb) shows you how you can work with stored database values.
|
||||
You can directly access the Home-Assistant database from Jupyter notebooks. The [Database example](https://nbviewer.jupyter.org/github/home-assistant/home-assistant-notebooks/blob/master/other/database-examples.ipynb) shows you how you can work with stored database values.
|
||||
|
@ -11,19 +11,19 @@ Installation with Docker is straightforward. Adjust the following command so tha
|
||||
### Linux
|
||||
|
||||
```bash
|
||||
$ docker run --init -d --name="home-assistant" -e "TZ=America/New_York" -v /PATH_TO_YOUR_CONFIG:/config --net=host homeassistant/home-assistant
|
||||
$ docker run --init -d --name="home-assistant" -e "TZ=America/New_York" -v /PATH_TO_YOUR_CONFIG:/config --net=host homeassistant/home-assistant:stable
|
||||
```
|
||||
|
||||
### Raspberry Pi 3 (Raspbian)
|
||||
|
||||
```bash
|
||||
$ docker run --init -d --name="home-assistant" -e "TZ=America/New_York" -v /PATH_TO_YOUR_CONFIG:/config --net=host homeassistant/raspberrypi3-homeassistant
|
||||
$ docker run --init -d --name="home-assistant" -e "TZ=America/New_York" -v /PATH_TO_YOUR_CONFIG:/config --net=host homeassistant/raspberrypi3-homeassistant:stable
|
||||
```
|
||||
|
||||
You need to replace `/PATH_TO_YOUR_CONFIG` with your path to the configuration, for example if you choose your configuration path to be `/home/pi/homeassistant`, then command would be:
|
||||
|
||||
```bash
|
||||
$ docker run --init -d --name="home-assistant" -e "TZ=America/New_York" -v /home/pi/homeassistant:/config --net=host homeassistant/raspberrypi3-homeassistant
|
||||
$ docker run --init -d --name="home-assistant" -e "TZ=America/New_York" -v /home/pi/homeassistant:/config --net=host homeassistant/raspberrypi3-homeassistant:stable
|
||||
```
|
||||
|
||||
### macOS
|
||||
@ -33,7 +33,7 @@ When using `docker-ce` (or `boot2docker`) on macOS, you are unable to map the lo
|
||||
If you wish to browse directly to `http://localhost:8123` from your macOS host, meaning forward ports directly to the container, replace the `--net=host` switch with `-p 8123:8123`. More detail can be found in [the docker forums](https://forums.docker.com/t/should-docker-run-net-host-work/14215/10).
|
||||
|
||||
```bash
|
||||
$ docker run --init -d --name="home-assistant" -e "TZ=America/Los_Angeles" -v /PATH_TO_YOUR_CONFIG:/config -p 8123:8123 homeassistant/home-assistant
|
||||
$ docker run --init -d --name="home-assistant" -e "TZ=America/Los_Angeles" -v /PATH_TO_YOUR_CONFIG:/config -p 8123:8123 homeassistant/home-assistant:stable
|
||||
```
|
||||
|
||||
Alternatively, `docker-compose` works with any recent release of `docker-ce` on macOS. Note that (further down this page) we provide an example `docker-compose.yml` however it differs from the `docker run` example above. To make the .yml directives match, you would need to make _two_ changes: first add the equivalent `ports:` directive, then _remove_ the `network_mode: host` section. This is because `Port mapping is incompatible with network_mode: host:`. More details can be found at [Docker networking docs](https://docs.docker.com/engine/userguide/networking/#default-networks). Note also the `/dev/tty*` device name used by your Arduino etc. devices will differ from the Linux example, so the compose `mount:` may require updates.
|
||||
@ -41,7 +41,7 @@ Alternatively, `docker-compose` works with any recent release of `docker-ce` on
|
||||
### Windows
|
||||
|
||||
```powershell
|
||||
$ docker run --init -d --name="home-assistant" -e "TZ=America/Los_Angeles" -v /PATH_TO_YOUR_CONFIG:/config --net=host homeassistant/home-assistant
|
||||
$ docker run --init -d --name="home-assistant" -e "TZ=America/Los_Angeles" -v /PATH_TO_YOUR_CONFIG:/config --net=host homeassistant/home-assistant:stable
|
||||
```
|
||||
|
||||
When running Home Assistant in Docker on Windows, you may have some difficulty getting ports to map for routing (since the `--net=host` switch actually applies to the hypervisor's network interface). To get around this, you will need to add port proxy ipv4 rules to your local Windows machine, like so (Replacing '192.168.1.10' with whatever your Windows IP is, and '10.0.50.2' with whatever your Docker container's IP is):
|
||||
@ -91,7 +91,7 @@ Adjust the following Terminal command as follows :
|
||||
Run it in Terminal.
|
||||
|
||||
```bash
|
||||
sudo docker run --restart always -d --name="homeassistant" -v /PATH_TO_YOUR_CONFIG:/config --device=/PATH_TO_YOUR_USB_STICK -e TZ=Australia/Melbourne --net=host homeassistant/home-assistant
|
||||
sudo docker run --restart always -d --name="homeassistant" -v /PATH_TO_YOUR_CONFIG:/config --device=/PATH_TO_YOUR_USB_STICK -e TZ=Australia/Melbourne --net=host homeassistant/home-assistant:stable
|
||||
```
|
||||
|
||||
Complete the remainder of the Z-Wave configuration by [following the instructions here.](/docs/z-wave/installation)
|
||||
@ -148,7 +148,7 @@ If you want to use a USB Bluetooth adapter or Z-Wave USB stick with Home Assista
|
||||
The above command should show you any USB devices plugged into your NAS. If you have more than one, you may get multiple items returned. Like : `ttyACM0`
|
||||
|
||||
- Run Docker command:
|
||||
`docker run --init --name home-assistant --net=host --privileged -itd -v /share/CACHEDEV1_DATA/Public/homeassistant/config:/config -e variable=TZ -e value=Europe/London --device /dev/ttyACM0 homeassistant/home-assistant`
|
||||
`docker run --init --name home-assistant --net=host --privileged -itd -v /share/CACHEDEV1_DATA/Public/homeassistant/config:/config -e variable=TZ -e value=Europe/London --device /dev/ttyACM0 homeassistant/home-assistant:stable`
|
||||
|
||||
`-v` is your config path
|
||||
`-e` is set timezone
|
||||
@ -166,7 +166,7 @@ That will tell Home Assistant where to look for our Z-wave radio.
|
||||
|
||||
- Connect to your NAS over SSH
|
||||
- Run Docker command:
|
||||
`docker run --init --name home-assistant --net=host --privileged -itd -v /share/CACHEDEV1_DATA/Public/homeassistant/config:/config -e variable=TZ -e value=Europe/London -v /dev/bus/usb:/dev/bus/usb -v /var/run/dbus:/var/run/dbus homeassistant/home-assistant`
|
||||
`docker run --init --name home-assistant --net=host --privileged -itd -v /share/CACHEDEV1_DATA/Public/homeassistant/config:/config -e variable=TZ -e value=Europe/London -v /dev/bus/usb:/dev/bus/usb -v /var/run/dbus:/var/run/dbus homeassistant/home-assistant:stable`
|
||||
|
||||
First `-v` is your config path
|
||||
`-e` is set timezone
|
||||
@ -194,7 +194,7 @@ As the docker command becomes more complex, switching to `docker-compose` can be
|
||||
services:
|
||||
homeassistant:
|
||||
container_name: home-assistant
|
||||
image: homeassistant/home-assistant
|
||||
image: homeassistant/home-assistant:stable
|
||||
volumes:
|
||||
- /PATH_TO_YOUR_CONFIG:/config
|
||||
environment:
|
||||
@ -222,7 +222,7 @@ In order to use Z-Wave, Zigbee or other integrations that require access to devi
|
||||
```bash
|
||||
$ docker run --init -d --name="home-assistant" -v /PATH_TO_YOUR_CONFIG:/config \
|
||||
-e "TZ=Australia/Melbourne" --device /dev/ttyUSB0:/dev/ttyUSB0 \
|
||||
--net=host homeassistant/home-assistant
|
||||
--net=host homeassistant/home-assistant:stable
|
||||
```
|
||||
|
||||
or in a `docker-compose.yml` file:
|
||||
@ -232,7 +232,7 @@ or in a `docker-compose.yml` file:
|
||||
services:
|
||||
homeassistant:
|
||||
container_name: home-assistant
|
||||
image: homeassistant/home-assistant
|
||||
image: homeassistant/home-assistant:stable
|
||||
volumes:
|
||||
- /PATH_TO_YOUR_CONFIG:/config
|
||||
devices:
|
||||
|
@ -10,24 +10,24 @@ This has been tested on FreeNAS 11.2 and should also work on FreeBSD 11.x as wel
|
||||
Create the user and group that Home Assistant will run as. The user/group ID of `8123` can be replaced if this is already in use in your environment.
|
||||
|
||||
```bash
|
||||
# pw groupadd -n homeassistant -g 8123
|
||||
# echo 'homeassistant:8123:8123::::::/bin/csh:' | adduser -f -
|
||||
pw groupadd -n homeassistant -g 8123
|
||||
echo 'homeassistant:8123:8123::::::/bin/csh:' | adduser -f -
|
||||
```
|
||||
|
||||
Install the necessary Python packages:
|
||||
|
||||
```bash
|
||||
# pkg update
|
||||
# pkg upgrade
|
||||
# pkg install -y python37 py37-sqlite3 ca_root_nss
|
||||
# python3.7 -m ensurepip
|
||||
pkg update
|
||||
pkg upgrade
|
||||
pkg install -y python37 py37-sqlite3 ca_root_nss
|
||||
python3.7 -m ensurepip
|
||||
```
|
||||
|
||||
Create the configuration directory:
|
||||
|
||||
```bash
|
||||
# mkdir -p /usr/local/homeassistant
|
||||
# chown -R homeassistant:homeassistant /usr/local/homeassistant
|
||||
mkdir -p /usr/local/homeassistant
|
||||
chown -R homeassistant:homeassistant /usr/local/homeassistant
|
||||
```
|
||||
|
||||
Create the installation directory:
|
||||
@ -40,13 +40,13 @@ chown -R homeassistant:homeassistant /usr/local/share/homeassistant
|
||||
Install Home Assistant itself:
|
||||
|
||||
```bash
|
||||
# su homeassistant
|
||||
% cd /usr/local/share/homeassistant
|
||||
% virtualenv -p python3.7 .
|
||||
% source ./bin/activate.csh
|
||||
% pip3 install homeassistant
|
||||
% deactivate
|
||||
% exit
|
||||
su homeassistant
|
||||
cd /usr/local/share/homeassistant
|
||||
virtualenv -p python3.7 .
|
||||
source ./bin/activate.csh
|
||||
pip3 install homeassistant
|
||||
deactivate
|
||||
exit
|
||||
```
|
||||
|
||||
Create an `rc.d` script for the system-level service that enables Home Assistant to start when the jail starts. Create a file at `/usr/local/etc/rc.d/homeassistant` with the following contents:
|
||||
@ -133,8 +133,8 @@ Make the `rc.d` script executable:
|
||||
Configure the service to start on boot and start the Home Assistant service:
|
||||
|
||||
```bash
|
||||
# sysrc homeassistant_enable="YES"
|
||||
# service homeassistant start
|
||||
sysrc homeassistant_enable="YES"
|
||||
service homeassistant start
|
||||
```
|
||||
|
||||
You can also restart the jail to ensure that Home Assistant starts on boot.
|
||||
|
@ -60,7 +60,7 @@ The discovery topic need to follow a specific format:
|
||||
|
||||
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`.
|
||||
|
||||
If the integration is `alarm_control_panel`, `binary_sensor`, or `sensor` and the mandatory `state_topic` is not present in the payload, `state_topic` will be automatically set to <discovery_prefix>/<component>/[<node_id>/]<object_id>/state. The automatic setting of `state_topic` id depracated and may be removed in a future version of Home Assistant.
|
||||
If the integration is `alarm_control_panel`, `binary_sensor`, or `sensor` and the mandatory `state_topic` is not present in the payload, `state_topic` will be automatically set to <discovery_prefix>/<component>/[<node_id>/]<object_id>/state. The automatic setting of `state_topic` is deprecated and may be removed in a future version of Home Assistant.
|
||||
|
||||
An empty payload will cause a previously discovered device to be deleted.
|
||||
|
||||
|
@ -5,7 +5,7 @@ description: "Use nmap to scan your Home Assistant instance."
|
||||
|
||||
As a large amount of users are running [Hass.io](/hassio/), here we are using a Raspberry Pi 3 B and Hass.io 0.70.0 to show how Home Assistant looks from the network side. This is not a full blown investigation, just a quick overview.
|
||||
|
||||
The IP address of the Home Assistant machine is 192.168.0.215. The system which is the source of the scans is a machine running Fedora 27 and Nmap 7.60 is used to preform the port scans. Both systems are in the same network.
|
||||
The IP address of the Home Assistant machine is 192.168.0.215. The system which is the source of the scans is a machine running Fedora 27 and Nmap 7.60 is used to perform the port scans. Both systems are in the same network.
|
||||
|
||||
## SSH server Add-on
|
||||
|
||||
|
@ -12,6 +12,10 @@
|
||||
{%- assign imp_name = file_parts | first -%}
|
||||
{%- assign imp_url = imp_name | prepend: '/components/' | append: '/' -%}
|
||||
|
||||
<div class="section">
|
||||
<kb-alert-link integration="{{ imp_name }}"></kb-alert-link>
|
||||
</div>
|
||||
|
||||
{%- if page.ha_iot_class -%}
|
||||
<div class='section'>
|
||||
IoT class<sup><a href='/blog/2016/02/12/classifying-the-internet-of-things/#classifiers'><i class="icon-info-sign"></i></a></sup>: {{ page.ha_iot_class }}
|
||||
@ -63,3 +67,5 @@
|
||||
</div>
|
||||
{%- endif -%}
|
||||
</section>
|
||||
|
||||
<script src="https://alerts.home-assistant.io/ce-alert-link.js"></script>
|
||||
|
@ -12,9 +12,10 @@
|
||||
<a rel="me" href='https://github.com/home-assistant/home-assistant' title="GitHub"><i class="icon-github"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='grid__item one-third lap-one-half palm-one-whole'>
|
||||
<ul>
|
||||
<li><a href='https://alerts.home-assistant.io'>Home Assistant Alerts</a></li>
|
||||
<li><a href='https://developers.home-assistant.io'>Developers</a></li>
|
||||
<li><a href='https://data.home-assistant.io'>Data Science</a></li>
|
||||
<li><a href='mailto:hello@home-assistant.io'>Contact</a> (no support!)</li>
|
||||
@ -22,7 +23,7 @@
|
||||
<li><a href='https://status.home-assistant.io'>System Status</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='grid__item one-third lap-one-half palm-one-whole'>
|
||||
Website powered by <a href='http://jekyllrb.com/'>Jekyll</a> and the
|
||||
<a href='https://github.com/coogie/oscailte'>Oscalite theme</a>.
|
||||
|
@ -18,7 +18,7 @@ type:
|
||||
type: string
|
||||
content:
|
||||
required: true
|
||||
description: "Content to render as [markdown](http://commonmark.org/help/). May contain [templates](/configuration/templating/)."
|
||||
description: "Content to render as [markdown](http://commonmark.org/help/). May contain [templates](/docs/configuration/templating/)."
|
||||
type: string
|
||||
title:
|
||||
required: false
|
||||
|
884
source/_posts/2019-08-28-release-98.markdown
Normal file
884
source/_posts/2019-08-28-release-98.markdown
Normal file
@ -0,0 +1,884 @@
|
||||
---
|
||||
layout: post
|
||||
title: "0.98: Improved entity management, options and Home Assistant Alerts"
|
||||
description: "Lots of small tweaks left and right to streamline the experience."
|
||||
date: 2019-08-28 01:11:03
|
||||
date_formatted: "August 28, 2019"
|
||||
author: Paulus Schoutsen
|
||||
author_twitter: balloob
|
||||
comments: true
|
||||
categories: Release-Notes
|
||||
og_image: /images/blog/2019-08-0.98/components.png
|
||||
---
|
||||
|
||||
<a href='/components/#version/0.98'><img src='/images/blog/2019-08-0.98/components.png' style='border: 0;box-shadow: none;'></a>
|
||||
|
||||
It's time for the 0.98 release. As Home Assistant grows, some features will sometimes be left partially implemented, leaving things to be desired. In this release we've been focusing on tieing up these loose ends, sometimes with new features. Getting better all the time!
|
||||
|
||||
## Entity Management
|
||||
|
||||
One of the things that we've been improving in this release is entity management. Historically we've let this up to integrations, but that caused users to learn multiple ways and more work for integration developers.
|
||||
|
||||
Generally entity management is not that important, you want all the entities created by your integrations! However this was less the case when we started migrating over device trackers. This became clear when we migrated over Unifi.
|
||||
|
||||
So in this release we're introducing a couple of new features that are available for all entities in the entity registry and integrations that are set up via config entries.
|
||||
|
||||
The first feature is that it's now possible to disable entities. If an entity is disabled, it will not be added to Home Assistant when an integration adds it. So now it will be easy to manage which entities will show up. This option is accessible from the entity registry
|
||||
|
||||
The second feature is a new option to automatically disable any new entities that an integration discovers. In the case of a device tracker, newly connected devices to the network won't be added anymore. This option is accessible from the integration details page via a button on the toolbar at the top.
|
||||
|
||||
With these two features we are now at feature parity with the filtering features that are available in the device tracker integration. Next step will be polishing of the person integration to get all those shiny new device tracker entities under one roof.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/blog/2019-08-0.98/system_options.png' alt='Screenshot of integration system options.'>
|
||||
Screenshot of integration system options
|
||||
</p>
|
||||
|
||||
## Config Entry Options
|
||||
|
||||
We introduced config entries last year as our way as a generic way for integrations to store authentication and configuration. By allowing integrations to define the storage format, there are no more breaking changes for anything stored inside config entries!
|
||||
|
||||
Config entries also work great with people who prefer configuration.yaml. At startup a config entry is created/updated with the configuration.
|
||||
|
||||
With this release [@kane610] added a new possibility for integrations to offer options in the UI. Options that previously required you to edit configuration.yaml can now be offered via the interface.
|
||||
|
||||
This release adds config entry options to [Deconz][deconz docs] and [Unifi][unifi docs] integrations with many more to come.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/blog/2019-08-0.98/options_flow.png' alt='Screenshot of Unifi config options.'>
|
||||
Screenshot of Unifi config options
|
||||
</p>
|
||||
|
||||
## Home Assistant Alerts
|
||||
|
||||
Devices and services can receive updates that can cause integrations to break. This is frustrating and sometimes the cause can be hard to track down. Usually the users on forums/chat are aware and can help redirect people in the right direction, but that's not a scalable solution!
|
||||
|
||||
So to combat this, we're launching [Home Assistant Alerts](https://alerts.home-assistant.io/). Home Assistant Alerts is a website that will track known issues and explains in user friendly language what is going on. Alerts can be tagged with applicable Home Assistant versions, integrations and Python packages.
|
||||
|
||||
In the future we're planning on integrating this directly in Home Assistant, so that users can be pro-actively notified of issue related to their configuration.
|
||||
|
||||
## Docker base image change
|
||||
|
||||
If you run Home Assistant via Docker (not Hass.io) and are using the `homeassistant/home-assistant` container, the images are now using the same images as hass.io, which are using Alpine Linux instead of Debian.
|
||||
|
||||
The hass.io images are a third of the size of the old images and are heavily optimized thanks to the hard work by [@pvizeli].
|
||||
|
||||
This change will only impact you if you were extending or customizing the image with Debian packages. If you want to continue to use the Debian based images, you can find the Dockerfile for the old images [here](https://github.com/home-assistant/home-assistant/blob/0.97.2/Dockerfile).
|
||||
|
||||
For more background on this decision, see [ADR-006](https://github.com/home-assistant/architecture/blob/master/adr/0006-docker-images.md).
|
||||
|
||||
## Webscraping
|
||||
|
||||
With this release we have deprecated integrations that rely on webscraping. These will be removed from Home Assistant in a future release. Our [scrape](/components/scrape/) integration will remain part of Home Assistant.
|
||||
|
||||
Webscraping is fragile, breaks often requires frequent updates and there have been occassions where websites have banned our users.
|
||||
|
||||
Users that rely on these integrations can continue using them as custom components.
|
||||
|
||||
For more background on this decision, see [ADR-004](https://github.com/home-assistant/architecture/blob/master/adr/0004-webscraping.md).
|
||||
|
||||
## In Other News
|
||||
|
||||
[Mason Made](https://www.youtube.com/channel/UCI_ONUzb4QCVuR57IL7C8rw) created a great video walking through her Lovelace UI with a fancy custom sidebar. Check it out:
|
||||
|
||||
<div class="videoWrapper">
|
||||
<iframe width="853" height="480" src="https://www.youtube-nocookie.com/embed/MUrD0CrU-vQ" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
|
||||
</div>
|
||||
|
||||
Reddit user [Skyfox2k](https://www.reddit.com/user/Skyfox2k) has built [a batcave for his robo vacuum](https://www.reddit.com/r/homeautomation/comments/ctnq54/it_works_hidden_alexa_routines_powered_zone/). Once the vacuum starts, Home Assistant will open the door and the vacuum can come out to clean!
|
||||
|
||||
|
||||
<p class='img'>
|
||||
<a href="https://www.reddit.com/r/homeautomation/comments/ctnq54/it_works_hidden_alexa_routines_powered_zone/"><img src='/images/blog/2019-08-0.98/batcave.png' alt='Photo of a robovacuum driving out of a tiny hole in the wall.'></a>
|
||||
Screencap of the batcave video.
|
||||
</p>
|
||||
|
||||
## New Integrations
|
||||
|
||||
- Add Plugwise component ([@CoMPaTech] - [#25533]) ([plugwise docs]) (new-integration)
|
||||
- GeoNet NZ Quakes feed integration ([@exxamalte] - [#25736]) ([geonetnz_quakes docs]) (new-integration)
|
||||
- Add Keba charging station/wallbox as component ([@dannerph] - [#24484]) ([keba docs]) (new-integration)
|
||||
- Add Minio component ([@tkislan] - [#23567]) ([minio docs]) (new-integration)
|
||||
|
||||
## New Platforms
|
||||
|
||||
- Add ring switch platform ([@rossdargan] - [#25612]) ([ring docs]) (new-platform)
|
||||
- Add ring light platform ([@rossdargan] - [#25733]) ([ring docs]) (new-platform)
|
||||
- Expose Lutron RA2 occupancy sensors ([@achatham] - [#25854]) ([lutron docs]) (new-platform)
|
||||
|
||||
## Release 0.98.1 - August 29
|
||||
|
||||
- Update sensor.py ([@eliseomartelli] - [#26209]) ([qbittorrent docs])
|
||||
- Fix for 0.98: Don't update disabled entities (Homematic IP Cloud) ([@SukramJ] - [#26236]) ([homematicip_cloud docs])
|
||||
- Fix ZHA state restore by always restoring last seen on devices ([@dmulcahey] - [#26271]) ([zha docs])
|
||||
- Fix missing DarkSky mdi icon ([@mbo18] - [#26274]) ([darksky docs])
|
||||
- Fix partly cloudy ([@balloob] - [#26277]) ([buienradar docs]) ([mysensors docs])
|
||||
- UniFi - dont schedule updates on disabled entities ([@Kane610] - [#26278]) ([unifi docs])
|
||||
|
||||
[#26209]: https://github.com/home-assistant/home-assistant/pull/26209
|
||||
[#26236]: https://github.com/home-assistant/home-assistant/pull/26236
|
||||
[#26271]: https://github.com/home-assistant/home-assistant/pull/26271
|
||||
[#26274]: https://github.com/home-assistant/home-assistant/pull/26274
|
||||
[#26277]: https://github.com/home-assistant/home-assistant/pull/26277
|
||||
[#26278]: https://github.com/home-assistant/home-assistant/pull/26278
|
||||
[@Kane610]: https://github.com/Kane610
|
||||
[@SukramJ]: https://github.com/SukramJ
|
||||
[@balloob]: https://github.com/balloob
|
||||
[@dmulcahey]: https://github.com/dmulcahey
|
||||
[@eliseomartelli]: https://github.com/eliseomartelli
|
||||
[@mbo18]: https://github.com/mbo18
|
||||
[buienradar docs]: /components/buienradar/
|
||||
[darksky docs]: /components/darksky/
|
||||
[homematicip_cloud docs]: /components/homematicip_cloud/
|
||||
[mysensors docs]: /components/mysensors/
|
||||
[qbittorrent docs]: /components/qbittorrent/
|
||||
[unifi docs]: /components/unifi/
|
||||
[zha docs]: /components/zha/
|
||||
|
||||
## Release 0.98.2 - September 2
|
||||
|
||||
- Expose current direction properly on state machine ([@balloob] - [#26298]) ([demo docs]) ([fan docs])
|
||||
- bump tuyaha 0.0.4 ([@PaulAnnekov] - [#26303]) ([tuya docs])
|
||||
- Fix Alexa Report State ([@balloob] - [#26305]) ([alexa docs]) ([cloud docs])
|
||||
- Fix alexa bad temp sensors ([@balloob] - [#26307]) ([alexa docs])
|
||||
- Fix google_maps scan interval ([@tyjtyj] - [#26328]) ([google_maps docs])
|
||||
|
||||
[#26298]: https://github.com/home-assistant/home-assistant/pull/26298
|
||||
[#26303]: https://github.com/home-assistant/home-assistant/pull/26303
|
||||
[#26305]: https://github.com/home-assistant/home-assistant/pull/26305
|
||||
[#26307]: https://github.com/home-assistant/home-assistant/pull/26307
|
||||
[#26328]: https://github.com/home-assistant/home-assistant/pull/26328
|
||||
[@PaulAnnekov]: https://github.com/PaulAnnekov
|
||||
[@balloob]: https://github.com/balloob
|
||||
[@tyjtyj]: https://github.com/tyjtyj
|
||||
[alexa docs]: /components/alexa/
|
||||
[cloud docs]: /components/cloud/
|
||||
[demo docs]: /components/demo/
|
||||
[fan docs]: /components/fan/
|
||||
[google_maps docs]: /components/google_maps/
|
||||
[tuya docs]: /components/tuya/
|
||||
|
||||
## Release 0.98.3 - September 4
|
||||
|
||||
- Upgrade pyhaversion to 3.1.0 ([@fabaff] - [#26232]) ([version docs])
|
||||
- String has nothing to do with class method naming ([@Kane610] - [#26368]) ([deconz docs])
|
||||
- Fix race during initial Sonos group construction ([@amelchio] - [#26371]) ([sonos docs])
|
||||
- Allow core config updated ([@balloob] - [#26398]) ([websocket_api docs])
|
||||
- Met, check for existing location ([@Danielhiversen] - [#26400]) ([met docs])
|
||||
- Update Harmony to 0.1.13 ([@ehendrix23] - [#26402]) ([harmony docs])
|
||||
- Fix state report ([@balloob] - [#26406]) ([alexa docs])
|
||||
- Bump ISY994's PyISY dependency to 1.1.2 ([@OverloadUT] - [#26413]) ([isy994 docs])
|
||||
|
||||
[#26232]: https://github.com/home-assistant/home-assistant/pull/26232
|
||||
[#26368]: https://github.com/home-assistant/home-assistant/pull/26368
|
||||
[#26371]: https://github.com/home-assistant/home-assistant/pull/26371
|
||||
[#26398]: https://github.com/home-assistant/home-assistant/pull/26398
|
||||
[#26400]: https://github.com/home-assistant/home-assistant/pull/26400
|
||||
[#26402]: https://github.com/home-assistant/home-assistant/pull/26402
|
||||
[#26406]: https://github.com/home-assistant/home-assistant/pull/26406
|
||||
[#26413]: https://github.com/home-assistant/home-assistant/pull/26413
|
||||
[@Danielhiversen]: https://github.com/Danielhiversen
|
||||
[@Kane610]: https://github.com/Kane610
|
||||
[@OverloadUT]: https://github.com/OverloadUT
|
||||
[@amelchio]: https://github.com/amelchio
|
||||
[@balloob]: https://github.com/balloob
|
||||
[@ehendrix23]: https://github.com/ehendrix23
|
||||
[@fabaff]: https://github.com/fabaff
|
||||
[alexa docs]: https://www.home-assistant.io/components/alexa/
|
||||
[deconz docs]: https://www.home-assistant.io/components/deconz/
|
||||
[harmony docs]: https://www.home-assistant.io/components/harmony/
|
||||
[isy994 docs]: https://www.home-assistant.io/components/isy994/
|
||||
[met docs]: https://www.home-assistant.io/components/met/
|
||||
[sonos docs]: https://www.home-assistant.io/components/sonos/
|
||||
[version docs]: https://www.home-assistant.io/components/version/
|
||||
[websocket_api docs]: https://www.home-assistant.io/components/websocket_api/
|
||||
|
||||
## If you need help...
|
||||
|
||||
...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e).
|
||||
|
||||
## Reporting Issues
|
||||
|
||||
Experiencing issues introduced by this release? Please report them in our [issue tracker](https://github.com/home-assistant/home-assistant/issues). Make sure to fill in all fields of the issue template.
|
||||
|
||||
<!--more-->
|
||||
|
||||
## Breaking Changes
|
||||
|
||||
- **Deprecated**
|
||||
|
||||
Integrations which make use of web scraping and are pending for removal in Home Assistant 0.100.0 [ADR-004](https://github.com/home-assistant/architecture/blob/master/adr/0004-webscraping.md):
|
||||
- **USPS** - ([@frenck] - [#25743]) ([usps docs])
|
||||
- **SYTADIN** - ([@frenck] - [#25742]) ([sytadin docs])
|
||||
- **UPS** - ([@frenck] - [#25746]) ([ups docs])
|
||||
- **FEDEX** - ([@frenck] - [#25745]) ([fedex docs])
|
||||
- **SRP Energy** - ([@frenck] - [#25754]) ([srp_energy docs])
|
||||
- **Linksys AP** - ([@frenck] - [#25804]) ([linksys_ap docs])
|
||||
|
||||
- **Ruter** - *Removed* - Ruter Labs which hosted the API has shut down the service. As an alternative, see the Entur public transport integration. - ([@ludeeus] - [#26041])
|
||||
- **Googlehome** - *Removed* - In recent months this integration was broken when Google changed the port they serve this information on, in addition to requiring a token header in the request. That method requires the user to have a rooted android device, and even then then the "result" was not the best, since you often need to get that token. As an alternative to the device tracker, users can look into https://community.home-assistant.io/t/monitor-reliable-multi-user-distributed-bluetooth-occupancy-presence-detection/68505 - ([@ludeeus] - [#26035])
|
||||
- **EDP Ready** - *Removed* - The service has moved to a new portal and the previous API does not work
|
||||
anymore. - ([@abmantis] - [#25971])
|
||||
- **Zwave** - `zwave.update_config` service call has been removed. - ([@kpine] - [#25959]) ([zwave docs])
|
||||
- **Nissanleaf** - Nissan leaf European API no longer supports location control. The `nissan_connect:` element from the homeassistant `nissan_leaf:` configuration must be removed. - ([@filcole] - [#26139]) ([nissan_leaf docs])
|
||||
|
||||
- **ZHA** - This change has the unique_id use the ieee address instead of the nwk address. The ieee address is static and therefore the unique_id will be stable now. - ([@dmulcahey] - [#25707]) ([zha docs])
|
||||
|
||||
Previous format:
|
||||
`unique_id=0x0b64:1:0x0006`
|
||||
|
||||
New format:
|
||||
`unique_id=00:0d:6f:00:0e:c8:d4:e7:1:0x0006`
|
||||
|
||||
- **Updater** - The updater component is now a binary sensor that is always available. The entity ID is `binary_sensor.updater`. The state is on/off depending on whether an update is available or not. The latest version as well as the release notes are attributes of this binary sensor. Automations that are listening for the existence of `updater.updater` should now trigger when `binary_sensor.updater` changes to on. This makes the component more transparent and understandable for the user. Additionally, it is visible if there is an error or the source (https://updater.home-assistant.io/) is outdated. - ([@Santobert] - [#25418]) ([updater docs])
|
||||
- **Mikrotik** - The Mikrotik device tracker integration is now a component (hub) with a device tracker platform. If you have a device_tracker section where `mikrotik` is a platform in your configuration.yaml you will need to move it to the hub config section for `mikrotik` and make sure you follow the new config format. - ([@slackr31337] - [#25664]) ([mikrotik docs])
|
||||
|
||||
Example configuration entry:
|
||||
```yaml
|
||||
mikrotik:
|
||||
- host: 192.168.88.1
|
||||
username: !secret router_user
|
||||
password: !secret router_pass
|
||||
ssl: true
|
||||
|
||||
- host: 192.168.88.2
|
||||
username: !secret capsman_user
|
||||
password: !secret capsman_pass
|
||||
ssl: true
|
||||
```
|
||||
- **Prometheus** - Previously, the integration would create too many metrics based on `entity_id` name which would pollute and fill the database. The naming of metrics has been changed and doesn't use the `entity_id` anymore. Any consumers of the prometheus data will need to be changed to use the new names. The user can now also use the new `component_config_glob` to remap the metrics any way the user sees fit. - ([@perosb] - [#24103]) ([prometheus docs])
|
||||
|
||||
Example configuration entry:
|
||||
```yaml
|
||||
prometheus:
|
||||
namespace: hass
|
||||
component_config_glob:
|
||||
# override metric for RFLink devices
|
||||
sensor.*_hum:
|
||||
override_metric: humidity_percent
|
||||
sensor.*_temp:
|
||||
override_metric: temperature_c
|
||||
sensor.*_bat:
|
||||
override_metric: battery_percent
|
||||
filter:
|
||||
include_domains:
|
||||
- sensor
|
||||
- lock
|
||||
```
|
||||
|
||||
- **Kodi** - Kodi services are now their own domain and the `media_player.kodi_*` services are now `kodi.*` - ([@JeffLIrion] - [#25753]) ([kodi docs])
|
||||
- `media_player.kodi_add_to_playlist` is now `kodi.add_to_playlist`
|
||||
- `media_player.kodi_call_method` is now `kodi.call_method`
|
||||
|
||||
- **Sonos** - This change rejects previously accepted calls using content_types (image, tvshow, video, episode or channel) when using `media_player.play_media`, and changes the behavior of a content_type of "playlist" to play a Sonos playlist, rather than a URL. - ([@ahertz] - [#26054]) ([sonos docs])
|
||||
|
||||
- **Statistics** - The names of statistics sensor no longer get `mean` or `count` appended automatically, respecting the name configured by the user. If you use this integration, this name change will affect the name of the entity. - ([@frenck] - [#26119]) ([statistics docs])
|
||||
|
||||
Example configuration entry:
|
||||
```yaml
|
||||
- platform: statistics
|
||||
name: 'MiAP2 PSI Stat'
|
||||
entity_id: sensor.mi_ap2_aqi
|
||||
```
|
||||
|
||||
## Beta Fixes
|
||||
|
||||
- Load user-provided descriptions for python_scripts ([@JeffLIrion] - [#26069]) ([python_script docs]) (beta fix)
|
||||
- Splitt device_state_attributes between device and group for Homematic IP Cloud ([@SukramJ] - [#26137]) ([homematicip_cloud docs]) (beta fix)
|
||||
- Nissanleaf login fix ([@filcole] - [#26139]) ([nissan_leaf docs]) (breaking change) (beta fix)
|
||||
- Log warning if disabled entities receive updates. ([@balloob] - [#26143]) (beta fix)
|
||||
- Fix tuya switch state ([@PaulAnnekov] - [#26145]) ([tuya docs]) (beta fix)
|
||||
- Reload config entry when entity enabled in entity registry, remove entity if disabled. ([@balloob] - [#26120]) (beta fix)
|
||||
- CoolMaster: Change auto to heat_cool ([@OnFreund] - [#26144]) ([coolmaster docs]) (breaking change) (beta fix)
|
||||
- Bump androidtv to 0.0.24 ([@JeffLIrion] - [#26158]) ([androidtv docs]) (beta fix)
|
||||
- fix issue setting scan_interval ([@chaoranxie] - [#26165]) ([google_maps docs]) (beta fix)
|
||||
- Fix possible KeyError in SimpliSafe ([@bachya] - [#26190]) ([simplisafe docs]) (beta fix)
|
||||
- Update pyheos to 0.6.0 ([@andrewsayre] - [#26191]) ([heos docs]) (beta fix)
|
||||
- bump quirks version ([@dmulcahey] - [#26198]) ([zha docs]) (beta fix)
|
||||
- luci device-tracker dependency fix ([@flowolf] - [#26215]) ([luci docs]) (beta fix)
|
||||
- deCONZ normalizes cover values to follow zigbee spec ([@Kane610] - [#26240]) ([deconz docs]) (beta fix)
|
||||
- SMA beta fix #26225 ([@kellerza] - [#26244]) ([sma docs]) (beta fix)
|
||||
|
||||
## All changes
|
||||
|
||||
- script/test: fix tox env ([@scop] - [#25620])
|
||||
- Move mypy settings to setup.cfg ([@scop] - [#25611])
|
||||
- Add support for HomeKit CO2 sensors ([@tleegaard] - [#25603]) ([homekit_controller docs])
|
||||
- Fix test_install_existing_package ([@elupus] - [#25627])
|
||||
- Blacken top level *.py ([@scop] - [#25621])
|
||||
- Huawei LTE sensor unique id improvements ([@scop] - [#25609]) ([huawei_lte docs])
|
||||
- Add some debugging to azure mypy job ([@scop] - [#25632])
|
||||
- Add each fronius sensor as own template ([@nielstron] - [#25608]) ([fronius docs])
|
||||
- Add Plugwise component ([@CoMPaTech] - [#25533]) ([plugwise docs]) (new-integration)
|
||||
- Fix velbus codeowner ([@Cereal2nd] - [#25649]) ([velbus docs])
|
||||
- ZHA code cleanup. ([@Adminiuga] - [#25644]) ([zha docs])
|
||||
- Add ELECTRICITY_IMPORTED_TOTAL obis to dsmr ([@johnnychicago] - [#25655]) ([dsmr docs])
|
||||
- isort ZHA imports. ([@Adminiuga] - [#25660]) ([zha docs])
|
||||
- Azure mypy related tweaks ([@scop] - [#25663])
|
||||
- Spelling fixes ([@scop] - [#25666])
|
||||
- Azure ci templates ([@pvizeli] - [#25688])
|
||||
- Upgrade pydocstyle to 4.0.0, do not run in tox ([@scop] - [#25667]) ([filter docs]) ([islamic_prayer_times docs]) ([lw12wifi docs]) ([wunderground docs])
|
||||
- Plugwise haanna 0.10.1 ([@CoMPaTech] - [#25693]) ([plugwise docs])
|
||||
- Bump geniushub client, handle dead devices, handle raise_for_status ([@zxdavb] - [#25687]) ([geniushub docs])
|
||||
- Refactor ZHA Zigbee Cluster report configuration ([@Adminiuga] - [#25589]) ([zha docs])
|
||||
- Make myself the codeowner for androidtv ([@JeffLIrion] - [#25697]) ([androidtv docs])
|
||||
- Add usb_path to Z-Wave network_status websocket response ([@cgarwood] - [#25617]) ([zwave docs])
|
||||
- PS4 Merge async_setup_platform into async_setup_entry ([@ktnrg45] - [#25689]) ([ps4 docs])
|
||||
- Zwave Climate: Fan state attribute missing (#25287) ([@jaminh] - [#25573]) ([zwave docs])
|
||||
- fix unique id in cluster channels ([@dmulcahey] - [#25707]) ([zha docs]) (breaking change)
|
||||
- don't mark devices unavailable without ping try ([@dmulcahey] - [#25710]) ([zha docs])
|
||||
- stagger device init to avoid flooding network ([@dmulcahey] - [#25709]) ([zha docs])
|
||||
- Bump androidtv to 0.0.21; add 'state_detection_rules' config parameter ([@JeffLIrion] - [#25647]) ([androidtv docs])
|
||||
- Refactor ZHA Zigbee channel registry. ([@Adminiuga] - [#25716]) ([zha docs])
|
||||
- Add zigate support to zha ([@doudz] - [#25552]) ([zha docs])
|
||||
- Add ring switch platform ([@rossdargan] - [#25612]) ([ring docs]) (new-platform)
|
||||
- Add ring light platform ([@rossdargan] - [#25733]) ([ring docs]) (new-platform)
|
||||
- Use more decorators for ZHA Core registries. ([@Adminiuga] - [#25737]) ([zha docs])
|
||||
- Implement "Aux Heat" support for Zwave Climate ([@eyager1] - [#25694]) ([zwave docs])
|
||||
- Add test case to identify missing MQTT configuration abbreviations ([@emontnemery] - [#25616]) ([mqtt docs])
|
||||
- Manufacturer specific channel for SmartThings. ([@Adminiuga] - [#25739]) ([zha docs])
|
||||
- Deprecates usps integration (ADR-0004) ([@frenck] - [#25743]) ([usps docs]) (breaking change)
|
||||
- Deprecates sytadin integration (ADR-0004) ([@frenck] - [#25742]) ([sytadin docs]) (breaking change)
|
||||
- Deprecates ups integration (ADR-0004) ([@frenck] - [#25746]) ([ups docs]) (breaking change)
|
||||
- Deprecates fedex integration (ADR-0004) ([@frenck] - [#25745]) ([fedex docs]) (breaking change)
|
||||
- Deprecates srp_energy integration (ADR-0004) ([@frenck] - [#25754]) ([srp_energy docs]) (breaking change)
|
||||
- Updater component is always available and shows on/off depending on whether an update is available or not ([@Santobert] - [#25418]) ([updater docs]) (breaking change)
|
||||
- Integration requirement check refactor ([@elupus] - [#25626])
|
||||
- Add Mikrotik hub and rework device tracker ([@slackr31337] - [#25664]) ([mikrotik docs]) (breaking change)
|
||||
- Deprecates linksys_ap integration (ADR-0004) ([@frenck] - [#25804]) ([linksys_ap docs]) (breaking change)
|
||||
- Fix Broadlink MP1 unavailable error ([@miroslawkrol] - [#25806]) ([broadlink docs])
|
||||
- Add arcus trigonometry functions to templates ([@tomilehto] - [#25510])
|
||||
- Add error handling to !include command in yaml ([@thomasloven] - [#25801])
|
||||
- Webhook for Traccar ([@escoand] - [#24762]) ([traccar docs])
|
||||
- Refactor ZHA device initialized logic ([@dmulcahey] - [#25796]) ([zha docs])
|
||||
- Fix 64-bit modbus sensor register reads ([@tomilehto] - [#25672]) ([modbus docs])
|
||||
- GeoNet NZ Quakes feed integration ([@exxamalte] - [#25736]) ([geonetnz_quakes docs]) (new-integration)
|
||||
- Fix device re-connect when API connection lost ([@slackr31337] - [#25842])
|
||||
- Prometheus metrics naming based on device_class and unit_of_measurement ([@perosb] - [#24103]) ([prometheus docs]) (breaking change)
|
||||
- Websocket call for rendering jinja2 templates subscription ([@thomasloven] - [#25614]) ([websocket_api docs])
|
||||
- Bump androidtv to 0.0.22 ([@JeffLIrion] - [#25848]) ([androidtv docs])
|
||||
- Move Kodi services from 'media_player' domain to 'kodi' ([@JeffLIrion] - [#25753]) ([kodi docs]) (breaking change)
|
||||
- Update sensor.py ([@MatsNl] - [#25825]) ([statistics docs])
|
||||
- Add pip-wheel-metadata in .gitignore ([@oncleben31] - [#25832])
|
||||
- Fix configuration field name ([@skarcha] - [#25840]) ([plex docs])
|
||||
- Allow components with empty list config (i.e. person) in packages ([@kellerza] - [#25827])
|
||||
- Make reproduce state use platform instead of rely on function ([@balloob] - [#25856]) ([climate docs]) ([group docs]) ([media_player docs])
|
||||
- Type check various base components ([@scop] - [#25878])
|
||||
- Fix script/translations_develop launch + clean some unused error i18n ([@Quentame] - [#25459]) ([arcam_fmj docs]) ([heos docs]) ([tellduslive docs]) ([twentemilieu docs]) ([upnp docs]) ([vesync docs]) ([zha docs])
|
||||
- Tado AIR_CONDITIONING module was not working propertly ([@ejaviga] - [#25677]) ([tado docs])
|
||||
- First pass fixing tests that raise exceptions caught by asyncio.gather ([@balloob] - [#25860]) ([demo docs]) ([vacuum docs])
|
||||
- Add reproduce state support to input_boolean ([@balloob] - [#25858]) ([input_boolean docs])
|
||||
- eq3bt: handle zero (closed valve) as a valid mode. fixes #25333 ([@rytilahti] - [#25905]) ([eq3btsmart docs])
|
||||
- Update syncthru library to fix issue ([@nielstron] - [#25924]) ([syncthru docs])
|
||||
- Bump version of library aio_geojson_geonetnz_quakes to v0.9 ([@exxamalte] - [#25946]) ([geonetnz_quakes docs])
|
||||
- Add OTGW domestic hot water enable option as service ([@tcoenraad] - [#25849]) ([opentherm_gw docs])
|
||||
- Bump androidtv to 0.0.23 ([@JeffLIrion] - [#25950])
|
||||
- Use canonical pre-commit black URL ([@scop] - [#25948])
|
||||
- Update homekit_controller import style ([@Jc2k] - [#25940]) ([homekit_controller docs])
|
||||
- Handle more Life360 errors in config flow & bump package to 4.1.1 ([@pnbruckner] - [#25930]) ([life360 docs])
|
||||
- Improve Sonos error handling on slow networks ([@amelchio] - [#25902]) ([sonos docs])
|
||||
- Bump simplisafe-python to 4.3.0 ([@bachya] - [#25955]) ([simplisafe docs])
|
||||
- Bump aioambient to 0.3.2 ([@bachya] - [#25956]) ([ambient_station docs])
|
||||
- Expose Lutron RA2 occupancy sensors ([@achatham] - [#25854]) ([lutron docs]) (new-platform)
|
||||
- Add volumio shuffle support ([@zewelor] - [#25871]) ([volumio docs])
|
||||
- Fix Tile Errors ([@paraselene] - [#25866]) ([tile docs])
|
||||
- Complete some incomplete type hints in helpers ([@scop] - [#25953])
|
||||
- Remove uvloop from default install and warn about stream+shell_command ([@balloob] - [#25929]) ([stream docs])
|
||||
- Tweaks to options flow ([@balloob] - [#25969]) ([config docs])
|
||||
- Remove zwave.update_config service call ([@kpine] - [#25959]) ([zwave docs]) (breaking change)
|
||||
- edp_redy: remove component ([@abmantis] - [#25971]) (breaking change)
|
||||
- Add netgear_lte.disconnect_lte service ([@amelchio] - [#25967]) ([netgear_lte docs])
|
||||
- Add broadlink switch retry time option ([@zhumuht] - [#25873]) ([broadlink docs])
|
||||
- Fix ecobee preset and add climate mode back ([@balloob] - [#25970]) ([ecobee docs])
|
||||
- Update pyvera to 0.3.4 ([@KptnKMan] - [#25986]) ([vera docs])
|
||||
- Upgrade youtube_dl to 2019.08.13 ([@fabaff] - [#25987]) ([media_extractor docs])
|
||||
- Upgrade Mastodon.py to 1.4.6 ([@fabaff] - [#25989]) ([mastodon docs])
|
||||
- Upgrade pytz to >=2019.02 ([@fabaff] - [#25991])
|
||||
- Upgrade sqlalchemy to 1.3.7 ([@fabaff] - [#25997]) ([recorder docs]) ([sql docs])
|
||||
- Upgrade restrictedpython to 4.0 ([@fabaff] - [#25993]) ([python_script docs])
|
||||
- Upgrade shodan to 1.15.0 ([@fabaff] - [#25990]) ([shodan docs])
|
||||
- Guard against unavailable climate entities ([@balloob] - [#25978]) ([alexa docs])
|
||||
- Ensure sun conditions are using the right date ([@emontnemery] - [#23664])
|
||||
- Upgrade numpy to 1.17.0 ([@fabaff] - [#25998]) ([iqvia docs]) ([opencv docs]) ([tensorflow docs]) ([trend docs])
|
||||
- Upgrade python-slugify to 3.0.3 ([@fabaff] - [#25995])
|
||||
- Upgrade importlib-metadata to 0.19 ([@fabaff] - [#26003])
|
||||
- Upgrade voluptuous to 0.11.7 ([@fabaff] - [#26007])
|
||||
- Upgrade pyyaml to 5.1.2 ([@fabaff] - [#25994])
|
||||
- Upgrade pillow to 6.1.0 ([@fabaff] - [#26005]) ([proxy docs]) ([qrcode docs]) ([tensorflow docs])
|
||||
- Fix bmw_connected_drive and eq3btsmart components by updating their dependencies ([@OliverRepo] - [#26012]) ([bmw_connected_drive docs]) ([eq3btsmart docs])
|
||||
- Upgrade luftdaten to 0.6.3 ([@fabaff] - [#26009]) ([luftdaten docs])
|
||||
- Upgrade pysnmp to 4.4.11 ([@fabaff] - [#26010]) ([snmp docs])
|
||||
- Upgrade beautifulsoup4 to 4.8.0 ([@fabaff] - [#26006]) ([linksys_ap docs]) ([scrape docs]) ([sytadin docs])
|
||||
- Allow entities to indicate they should be disabled by default ([@balloob] - [#26011])
|
||||
- Hue tweak registered device type + discovery exception ([@balloob] - [#25977]) ([hue docs])
|
||||
- Fix config entry has options check ([@balloob] - [#25976]) ([config docs])
|
||||
- Update KNX services.yaml ([@farmio] - [#26014])
|
||||
- Entity registry api update disable ([@balloob] - [#26015]) ([config docs])
|
||||
- Upgrade voluptuous-serialize to 2.2.0 ([@fabaff] - [#26008])
|
||||
- Fix unnecessary db entries for metro_france ([@oncleben31] - [#25957]) ([meteo_france docs])
|
||||
- Tone down huawei_lte logging ([@scop] - [#26020]) ([huawei_lte docs])
|
||||
- Don't force a query to the main lutron repeater on update ([@thecynic] - [#25939]) ([lutron docs])
|
||||
- Upgrade pre-commit to 1.18.2 ([@scop] - [#26029])
|
||||
- Update hole to 0.5.0 ([@fabaff] - [#26022]) ([pi_hole docs])
|
||||
- Fix background crash in sisyphus integration ([@jkeljo] - [#26032]) ([sisyphus docs])
|
||||
- Skip homekit_controller polls when system is overloaded and still trying to process the previous one ([@Jc2k] - [#25968]) ([homekit_controller docs])
|
||||
- Run flake8 on pre-commit ([@scop] - [#26028])
|
||||
- Upgrade sisyphus-control to 2.2.1 ([@jkeljo] - [#26033]) ([sisyphus docs])
|
||||
- Upgrade Dialogflow to work with V2 API ([@jshridha] - [#25975]) ([dialogflow docs])
|
||||
- Updates to Environment Canada components ([@michaeldavie] - [#25973]) ([environment_canada docs])
|
||||
- Add system options to config entries ([@Kane610] - [#25926])
|
||||
- Remove the ruter integration ([@ludeeus] - [#26041]) (breaking change)
|
||||
- Add support of new Xiaomi Aqara Curtain models ([@syssi] - [#25942]) ([xiaomi_aqara docs])
|
||||
- Fritz device tracker: set 'scanning' log to debug ([@ThaSiouL] - [#26043]) ([fritz docs])
|
||||
- Fix Mikrotik ARP ping ([@slackr31337] - [#25965]) ([mikrotik docs])
|
||||
- Make sure config flows extend ConfigFlow base class ([@balloob] - [#26051]) ([ipma docs]) ([met docs]) ([smhi docs])
|
||||
- Revert "Fix bmw_connected_drive and eq3btsmart components by updating their dependencies (#26012)" ([@pvizeli] - [#26065]) ([bmw_connected_drive docs]) ([eq3btsmart docs])
|
||||
- Bump nabucasa-cloud to 0.17 ([@pvizeli] - [#26066]) ([cloud docs])
|
||||
- fix alarm webhooks ([@fredrike] - [#26062]) ([point docs])
|
||||
- Add Keba charging station/wallbox as component ([@dannerph] - [#24484]) ([keba docs]) (new-integration)
|
||||
- Add packages version to Tensoflow for wheels packages ([@pvizeli] - [#26068]) ([tensorflow docs])
|
||||
- Remove reference to typing.Deque (added in Python 3.6.1) ([@jkeljo] - [#26030]) ([camera docs])
|
||||
- huawei_lte: support out of range values in default sensor formatter ([@flebourse] - [#26052]) ([huawei_lte docs])
|
||||
- SMA simplify config ([@kellerza] - [#25880]) ([sma docs])
|
||||
- Add config entry options support to deCONZ ([@Kane610] - [#26049]) ([deconz docs])
|
||||
- pysma library update 0.3.4 ([@kellerza] - [#26075]) ([sma docs])
|
||||
- Save config entry after updating system options ([@balloob] - [#26077]) ([config docs])
|
||||
- Convert progress API to WS ([@balloob] - [#26082]) ([config docs])
|
||||
- Add Minio component ([@tkislan] - [#23567]) ([minio docs]) (new-integration)
|
||||
- Add path option to SABnzbd component ([@cj-thornton] - [#25908]) ([sabnzbd docs])
|
||||
- Add strings for traccar config flow ([@balloob] - [#26089]) ([traccar docs])
|
||||
- Update pyrainbird to version 0.2.1 to fix zone number ([@konikvranik] - [#26064]) ([rainbird docs])
|
||||
- Update pylacrosse library to version 0.4.0 ([@legacycode] - [#26088]) ([lacrosse docs])
|
||||
- Docker ADR ([@pvizeli] - [#26085])
|
||||
- Bump geniushub client ([@zxdavb] - [#26084]) ([geniushub docs])
|
||||
- Use init_subclass for Config Entries ([@balloob] - [#26059]) ([hue docs]) ([met docs])
|
||||
- Sonos playlists play media ([@ahertz] - [#26054]) ([sonos docs]) (breaking change)
|
||||
- Remove the googlehome integration ([@ludeeus] - [#26035]) (breaking change)
|
||||
- Test with 3.6.0 in Travis ([@scop] - [#26039])
|
||||
- add id to state attributes ([@sander76] - [#26086]) ([homematicip_cloud docs])
|
||||
- Fix open-ui cli arg ([@balloob] - [#26091])
|
||||
- [bugfix] Exception if vendor's servers are currently unavailable ([@WoLpH] - [#26093]) ([evohome docs])
|
||||
- Bump up zha dependencies. ([@Adminiuga] - [#26097]) ([zha docs])
|
||||
- Update bimmer_connected to 0.6.0 ([@gerard33] - [#26098]) ([bmw_connected_drive docs])
|
||||
- Add support for warning attributes to Homematic IP Cloud ([@SukramJ] - [#26103]) ([homematicip_cloud docs])
|
||||
- check if a light supports brightness ([@croghostrider] - [#26055]) ([emulated_hue docs])
|
||||
- bump quirks ([@dmulcahey] - [#26106]) ([zha docs])
|
||||
- Upgrade ruamel_yaml to 0.15.100 ([@BKPepe] - [#26095])
|
||||
- Upgrade pydocstyle to 4.0.1 ([@scop] - [#26111])
|
||||
- Upgrade pytest to 5.1.1 ([@scop] - [#26112])
|
||||
- Remove coveralls test dependency ([@scop] - [#26110])
|
||||
- Check and fix test suite leaving files behind ([@scop] - [#25981])
|
||||
- Update PyEssent ([@TheLastProject] - [#26115]) ([essent docs])
|
||||
- remove ATTR_ID for groups ([@SukramJ] - [#26114]) ([homematicip_cloud docs])
|
||||
- Update eternalegypt to 0.0.10 ([@amelchio] - [#26117]) ([netgear_lte docs])
|
||||
- UniFi config entry options ([@Kane610] - [#26113]) ([unifi docs])
|
||||
- Template binary sensor attributes ([@gadgetchnnel] - [#22664]) ([template docs])
|
||||
- Add descriptive fields to script config ([@JeffLIrion] - [#26056]) ([script docs])
|
||||
- Fix tests leaving files behind ([@balloob] - [#26121])
|
||||
- Statistics sensors repect given name ([@frenck] - [#26119]) ([statistics docs]) (breaking change)
|
||||
- Update azure-pipelines-release.yml for Azure Pipelines ([@pvizeli] - [#26128])
|
||||
- Load user-provided descriptions for python_scripts ([@JeffLIrion] - [#26069]) ([python_script docs]) (beta fix)
|
||||
- Splitt device_state_attributes between device and group for Homematic IP Cloud ([@SukramJ] - [#26137]) ([homematicip_cloud docs]) (beta fix)
|
||||
- Nissanleaf login fix ([@filcole] - [#26139]) ([nissan_leaf docs]) (breaking change) (beta fix)
|
||||
- Log warning if disabled entities receive updates. ([@balloob] - [#26143]) (beta fix)
|
||||
- Fix tuya switch state ([@PaulAnnekov] - [#26145]) ([tuya docs]) (beta fix)
|
||||
- Reload config entry when entity enabled in entity registry, remove entity if disabled. ([@balloob] - [#26120]) (beta fix)
|
||||
- CoolMaster: Change auto to heat_cool ([@OnFreund] - [#26144]) ([coolmaster docs]) (breaking change) (beta fix)
|
||||
- Bump androidtv to 0.0.24 ([@JeffLIrion] - [#26158]) ([androidtv docs]) (beta fix)
|
||||
- fix issue setting scan_interval ([@chaoranxie] - [#26165]) ([google_maps docs]) (beta fix)
|
||||
- Fix possible KeyError in SimpliSafe ([@bachya] - [#26190]) ([simplisafe docs]) (beta fix)
|
||||
- Update pyheos to 0.6.0 ([@andrewsayre] - [#26191]) ([heos docs]) (beta fix)
|
||||
- bump quirks version ([@dmulcahey] - [#26198]) ([zha docs]) (beta fix)
|
||||
- Nightly builds ([@pvizeli] - [#26204])
|
||||
- luci device-tracker dependency fix ([@flowolf] - [#26215]) ([luci docs]) (beta fix)
|
||||
- deCONZ normalizes cover values to follow zigbee spec ([@Kane610] - [#26240]) ([deconz docs]) (beta fix)
|
||||
- SMA beta fix #26225 ([@kellerza] - [#26244]) ([sma docs]) (beta fix)
|
||||
|
||||
[#22664]: https://github.com/home-assistant/home-assistant/pull/22664
|
||||
[#23567]: https://github.com/home-assistant/home-assistant/pull/23567
|
||||
[#23664]: https://github.com/home-assistant/home-assistant/pull/23664
|
||||
[#24103]: https://github.com/home-assistant/home-assistant/pull/24103
|
||||
[#24484]: https://github.com/home-assistant/home-assistant/pull/24484
|
||||
[#24762]: https://github.com/home-assistant/home-assistant/pull/24762
|
||||
[#25418]: https://github.com/home-assistant/home-assistant/pull/25418
|
||||
[#25459]: https://github.com/home-assistant/home-assistant/pull/25459
|
||||
[#25510]: https://github.com/home-assistant/home-assistant/pull/25510
|
||||
[#25533]: https://github.com/home-assistant/home-assistant/pull/25533
|
||||
[#25552]: https://github.com/home-assistant/home-assistant/pull/25552
|
||||
[#25573]: https://github.com/home-assistant/home-assistant/pull/25573
|
||||
[#25589]: https://github.com/home-assistant/home-assistant/pull/25589
|
||||
[#25603]: https://github.com/home-assistant/home-assistant/pull/25603
|
||||
[#25608]: https://github.com/home-assistant/home-assistant/pull/25608
|
||||
[#25609]: https://github.com/home-assistant/home-assistant/pull/25609
|
||||
[#25611]: https://github.com/home-assistant/home-assistant/pull/25611
|
||||
[#25612]: https://github.com/home-assistant/home-assistant/pull/25612
|
||||
[#25614]: https://github.com/home-assistant/home-assistant/pull/25614
|
||||
[#25616]: https://github.com/home-assistant/home-assistant/pull/25616
|
||||
[#25617]: https://github.com/home-assistant/home-assistant/pull/25617
|
||||
[#25620]: https://github.com/home-assistant/home-assistant/pull/25620
|
||||
[#25621]: https://github.com/home-assistant/home-assistant/pull/25621
|
||||
[#25626]: https://github.com/home-assistant/home-assistant/pull/25626
|
||||
[#25627]: https://github.com/home-assistant/home-assistant/pull/25627
|
||||
[#25632]: https://github.com/home-assistant/home-assistant/pull/25632
|
||||
[#25644]: https://github.com/home-assistant/home-assistant/pull/25644
|
||||
[#25647]: https://github.com/home-assistant/home-assistant/pull/25647
|
||||
[#25649]: https://github.com/home-assistant/home-assistant/pull/25649
|
||||
[#25655]: https://github.com/home-assistant/home-assistant/pull/25655
|
||||
[#25660]: https://github.com/home-assistant/home-assistant/pull/25660
|
||||
[#25663]: https://github.com/home-assistant/home-assistant/pull/25663
|
||||
[#25664]: https://github.com/home-assistant/home-assistant/pull/25664
|
||||
[#25666]: https://github.com/home-assistant/home-assistant/pull/25666
|
||||
[#25667]: https://github.com/home-assistant/home-assistant/pull/25667
|
||||
[#25672]: https://github.com/home-assistant/home-assistant/pull/25672
|
||||
[#25677]: https://github.com/home-assistant/home-assistant/pull/25677
|
||||
[#25687]: https://github.com/home-assistant/home-assistant/pull/25687
|
||||
[#25688]: https://github.com/home-assistant/home-assistant/pull/25688
|
||||
[#25689]: https://github.com/home-assistant/home-assistant/pull/25689
|
||||
[#25693]: https://github.com/home-assistant/home-assistant/pull/25693
|
||||
[#25694]: https://github.com/home-assistant/home-assistant/pull/25694
|
||||
[#25697]: https://github.com/home-assistant/home-assistant/pull/25697
|
||||
[#25707]: https://github.com/home-assistant/home-assistant/pull/25707
|
||||
[#25709]: https://github.com/home-assistant/home-assistant/pull/25709
|
||||
[#25710]: https://github.com/home-assistant/home-assistant/pull/25710
|
||||
[#25716]: https://github.com/home-assistant/home-assistant/pull/25716
|
||||
[#25733]: https://github.com/home-assistant/home-assistant/pull/25733
|
||||
[#25736]: https://github.com/home-assistant/home-assistant/pull/25736
|
||||
[#25737]: https://github.com/home-assistant/home-assistant/pull/25737
|
||||
[#25739]: https://github.com/home-assistant/home-assistant/pull/25739
|
||||
[#25742]: https://github.com/home-assistant/home-assistant/pull/25742
|
||||
[#25743]: https://github.com/home-assistant/home-assistant/pull/25743
|
||||
[#25745]: https://github.com/home-assistant/home-assistant/pull/25745
|
||||
[#25746]: https://github.com/home-assistant/home-assistant/pull/25746
|
||||
[#25753]: https://github.com/home-assistant/home-assistant/pull/25753
|
||||
[#25754]: https://github.com/home-assistant/home-assistant/pull/25754
|
||||
[#25796]: https://github.com/home-assistant/home-assistant/pull/25796
|
||||
[#25801]: https://github.com/home-assistant/home-assistant/pull/25801
|
||||
[#25804]: https://github.com/home-assistant/home-assistant/pull/25804
|
||||
[#25806]: https://github.com/home-assistant/home-assistant/pull/25806
|
||||
[#25825]: https://github.com/home-assistant/home-assistant/pull/25825
|
||||
[#25827]: https://github.com/home-assistant/home-assistant/pull/25827
|
||||
[#25832]: https://github.com/home-assistant/home-assistant/pull/25832
|
||||
[#25840]: https://github.com/home-assistant/home-assistant/pull/25840
|
||||
[#25842]: https://github.com/home-assistant/home-assistant/pull/25842
|
||||
[#25848]: https://github.com/home-assistant/home-assistant/pull/25848
|
||||
[#25849]: https://github.com/home-assistant/home-assistant/pull/25849
|
||||
[#25854]: https://github.com/home-assistant/home-assistant/pull/25854
|
||||
[#25856]: https://github.com/home-assistant/home-assistant/pull/25856
|
||||
[#25858]: https://github.com/home-assistant/home-assistant/pull/25858
|
||||
[#25860]: https://github.com/home-assistant/home-assistant/pull/25860
|
||||
[#25866]: https://github.com/home-assistant/home-assistant/pull/25866
|
||||
[#25871]: https://github.com/home-assistant/home-assistant/pull/25871
|
||||
[#25873]: https://github.com/home-assistant/home-assistant/pull/25873
|
||||
[#25878]: https://github.com/home-assistant/home-assistant/pull/25878
|
||||
[#25880]: https://github.com/home-assistant/home-assistant/pull/25880
|
||||
[#25902]: https://github.com/home-assistant/home-assistant/pull/25902
|
||||
[#25905]: https://github.com/home-assistant/home-assistant/pull/25905
|
||||
[#25908]: https://github.com/home-assistant/home-assistant/pull/25908
|
||||
[#25924]: https://github.com/home-assistant/home-assistant/pull/25924
|
||||
[#25926]: https://github.com/home-assistant/home-assistant/pull/25926
|
||||
[#25929]: https://github.com/home-assistant/home-assistant/pull/25929
|
||||
[#25930]: https://github.com/home-assistant/home-assistant/pull/25930
|
||||
[#25939]: https://github.com/home-assistant/home-assistant/pull/25939
|
||||
[#25940]: https://github.com/home-assistant/home-assistant/pull/25940
|
||||
[#25942]: https://github.com/home-assistant/home-assistant/pull/25942
|
||||
[#25946]: https://github.com/home-assistant/home-assistant/pull/25946
|
||||
[#25948]: https://github.com/home-assistant/home-assistant/pull/25948
|
||||
[#25950]: https://github.com/home-assistant/home-assistant/pull/25950
|
||||
[#25953]: https://github.com/home-assistant/home-assistant/pull/25953
|
||||
[#25955]: https://github.com/home-assistant/home-assistant/pull/25955
|
||||
[#25956]: https://github.com/home-assistant/home-assistant/pull/25956
|
||||
[#25957]: https://github.com/home-assistant/home-assistant/pull/25957
|
||||
[#25959]: https://github.com/home-assistant/home-assistant/pull/25959
|
||||
[#25965]: https://github.com/home-assistant/home-assistant/pull/25965
|
||||
[#25967]: https://github.com/home-assistant/home-assistant/pull/25967
|
||||
[#25968]: https://github.com/home-assistant/home-assistant/pull/25968
|
||||
[#25969]: https://github.com/home-assistant/home-assistant/pull/25969
|
||||
[#25970]: https://github.com/home-assistant/home-assistant/pull/25970
|
||||
[#25971]: https://github.com/home-assistant/home-assistant/pull/25971
|
||||
[#25973]: https://github.com/home-assistant/home-assistant/pull/25973
|
||||
[#25975]: https://github.com/home-assistant/home-assistant/pull/25975
|
||||
[#25976]: https://github.com/home-assistant/home-assistant/pull/25976
|
||||
[#25977]: https://github.com/home-assistant/home-assistant/pull/25977
|
||||
[#25978]: https://github.com/home-assistant/home-assistant/pull/25978
|
||||
[#25981]: https://github.com/home-assistant/home-assistant/pull/25981
|
||||
[#25986]: https://github.com/home-assistant/home-assistant/pull/25986
|
||||
[#25987]: https://github.com/home-assistant/home-assistant/pull/25987
|
||||
[#25989]: https://github.com/home-assistant/home-assistant/pull/25989
|
||||
[#25990]: https://github.com/home-assistant/home-assistant/pull/25990
|
||||
[#25991]: https://github.com/home-assistant/home-assistant/pull/25991
|
||||
[#25993]: https://github.com/home-assistant/home-assistant/pull/25993
|
||||
[#25994]: https://github.com/home-assistant/home-assistant/pull/25994
|
||||
[#25995]: https://github.com/home-assistant/home-assistant/pull/25995
|
||||
[#25997]: https://github.com/home-assistant/home-assistant/pull/25997
|
||||
[#25998]: https://github.com/home-assistant/home-assistant/pull/25998
|
||||
[#26003]: https://github.com/home-assistant/home-assistant/pull/26003
|
||||
[#26005]: https://github.com/home-assistant/home-assistant/pull/26005
|
||||
[#26006]: https://github.com/home-assistant/home-assistant/pull/26006
|
||||
[#26007]: https://github.com/home-assistant/home-assistant/pull/26007
|
||||
[#26008]: https://github.com/home-assistant/home-assistant/pull/26008
|
||||
[#26009]: https://github.com/home-assistant/home-assistant/pull/26009
|
||||
[#26010]: https://github.com/home-assistant/home-assistant/pull/26010
|
||||
[#26011]: https://github.com/home-assistant/home-assistant/pull/26011
|
||||
[#26012]: https://github.com/home-assistant/home-assistant/pull/26012
|
||||
[#26014]: https://github.com/home-assistant/home-assistant/pull/26014
|
||||
[#26015]: https://github.com/home-assistant/home-assistant/pull/26015
|
||||
[#26020]: https://github.com/home-assistant/home-assistant/pull/26020
|
||||
[#26022]: https://github.com/home-assistant/home-assistant/pull/26022
|
||||
[#26028]: https://github.com/home-assistant/home-assistant/pull/26028
|
||||
[#26029]: https://github.com/home-assistant/home-assistant/pull/26029
|
||||
[#26030]: https://github.com/home-assistant/home-assistant/pull/26030
|
||||
[#26032]: https://github.com/home-assistant/home-assistant/pull/26032
|
||||
[#26033]: https://github.com/home-assistant/home-assistant/pull/26033
|
||||
[#26035]: https://github.com/home-assistant/home-assistant/pull/26035
|
||||
[#26039]: https://github.com/home-assistant/home-assistant/pull/26039
|
||||
[#26041]: https://github.com/home-assistant/home-assistant/pull/26041
|
||||
[#26043]: https://github.com/home-assistant/home-assistant/pull/26043
|
||||
[#26049]: https://github.com/home-assistant/home-assistant/pull/26049
|
||||
[#26051]: https://github.com/home-assistant/home-assistant/pull/26051
|
||||
[#26052]: https://github.com/home-assistant/home-assistant/pull/26052
|
||||
[#26054]: https://github.com/home-assistant/home-assistant/pull/26054
|
||||
[#26055]: https://github.com/home-assistant/home-assistant/pull/26055
|
||||
[#26056]: https://github.com/home-assistant/home-assistant/pull/26056
|
||||
[#26059]: https://github.com/home-assistant/home-assistant/pull/26059
|
||||
[#26062]: https://github.com/home-assistant/home-assistant/pull/26062
|
||||
[#26064]: https://github.com/home-assistant/home-assistant/pull/26064
|
||||
[#26065]: https://github.com/home-assistant/home-assistant/pull/26065
|
||||
[#26066]: https://github.com/home-assistant/home-assistant/pull/26066
|
||||
[#26068]: https://github.com/home-assistant/home-assistant/pull/26068
|
||||
[#26069]: https://github.com/home-assistant/home-assistant/pull/26069
|
||||
[#26075]: https://github.com/home-assistant/home-assistant/pull/26075
|
||||
[#26077]: https://github.com/home-assistant/home-assistant/pull/26077
|
||||
[#26082]: https://github.com/home-assistant/home-assistant/pull/26082
|
||||
[#26084]: https://github.com/home-assistant/home-assistant/pull/26084
|
||||
[#26085]: https://github.com/home-assistant/home-assistant/pull/26085
|
||||
[#26086]: https://github.com/home-assistant/home-assistant/pull/26086
|
||||
[#26088]: https://github.com/home-assistant/home-assistant/pull/26088
|
||||
[#26089]: https://github.com/home-assistant/home-assistant/pull/26089
|
||||
[#26091]: https://github.com/home-assistant/home-assistant/pull/26091
|
||||
[#26093]: https://github.com/home-assistant/home-assistant/pull/26093
|
||||
[#26095]: https://github.com/home-assistant/home-assistant/pull/26095
|
||||
[#26097]: https://github.com/home-assistant/home-assistant/pull/26097
|
||||
[#26098]: https://github.com/home-assistant/home-assistant/pull/26098
|
||||
[#26103]: https://github.com/home-assistant/home-assistant/pull/26103
|
||||
[#26106]: https://github.com/home-assistant/home-assistant/pull/26106
|
||||
[#26110]: https://github.com/home-assistant/home-assistant/pull/26110
|
||||
[#26111]: https://github.com/home-assistant/home-assistant/pull/26111
|
||||
[#26112]: https://github.com/home-assistant/home-assistant/pull/26112
|
||||
[#26113]: https://github.com/home-assistant/home-assistant/pull/26113
|
||||
[#26114]: https://github.com/home-assistant/home-assistant/pull/26114
|
||||
[#26115]: https://github.com/home-assistant/home-assistant/pull/26115
|
||||
[#26117]: https://github.com/home-assistant/home-assistant/pull/26117
|
||||
[#26119]: https://github.com/home-assistant/home-assistant/pull/26119
|
||||
[#26120]: https://github.com/home-assistant/home-assistant/pull/26120
|
||||
[#26121]: https://github.com/home-assistant/home-assistant/pull/26121
|
||||
[#26128]: https://github.com/home-assistant/home-assistant/pull/26128
|
||||
[#26137]: https://github.com/home-assistant/home-assistant/pull/26137
|
||||
[#26139]: https://github.com/home-assistant/home-assistant/pull/26139
|
||||
[#26143]: https://github.com/home-assistant/home-assistant/pull/26143
|
||||
[#26144]: https://github.com/home-assistant/home-assistant/pull/26144
|
||||
[#26145]: https://github.com/home-assistant/home-assistant/pull/26145
|
||||
[#26158]: https://github.com/home-assistant/home-assistant/pull/26158
|
||||
[#26165]: https://github.com/home-assistant/home-assistant/pull/26165
|
||||
[#26190]: https://github.com/home-assistant/home-assistant/pull/26190
|
||||
[#26191]: https://github.com/home-assistant/home-assistant/pull/26191
|
||||
[#26198]: https://github.com/home-assistant/home-assistant/pull/26198
|
||||
[#26204]: https://github.com/home-assistant/home-assistant/pull/26204
|
||||
[#26215]: https://github.com/home-assistant/home-assistant/pull/26215
|
||||
[#26240]: https://github.com/home-assistant/home-assistant/pull/26240
|
||||
[#26244]: https://github.com/home-assistant/home-assistant/pull/26244
|
||||
[@Adminiuga]: https://github.com/Adminiuga
|
||||
[@BKPepe]: https://github.com/BKPepe
|
||||
[@Cereal2nd]: https://github.com/Cereal2nd
|
||||
[@CoMPaTech]: https://github.com/CoMPaTech
|
||||
[@Jc2k]: https://github.com/Jc2k
|
||||
[@JeffLIrion]: https://github.com/JeffLIrion
|
||||
[@Kane610]: https://github.com/Kane610
|
||||
[@KptnKMan]: https://github.com/KptnKMan
|
||||
[@MatsNl]: https://github.com/MatsNl
|
||||
[@OliverRepo]: https://github.com/OliverRepo
|
||||
[@OnFreund]: https://github.com/OnFreund
|
||||
[@PaulAnnekov]: https://github.com/PaulAnnekov
|
||||
[@Quentame]: https://github.com/Quentame
|
||||
[@Santobert]: https://github.com/Santobert
|
||||
[@SukramJ]: https://github.com/SukramJ
|
||||
[@ThaSiouL]: https://github.com/ThaSiouL
|
||||
[@TheLastProject]: https://github.com/TheLastProject
|
||||
[@WoLpH]: https://github.com/WoLpH
|
||||
[@abmantis]: https://github.com/abmantis
|
||||
[@achatham]: https://github.com/achatham
|
||||
[@ahertz]: https://github.com/ahertz
|
||||
[@amelchio]: https://github.com/amelchio
|
||||
[@andrewsayre]: https://github.com/andrewsayre
|
||||
[@bachya]: https://github.com/bachya
|
||||
[@balloob]: https://github.com/balloob
|
||||
[@cgarwood]: https://github.com/cgarwood
|
||||
[@chaoranxie]: https://github.com/chaoranxie
|
||||
[@cj-thornton]: https://github.com/cj-thornton
|
||||
[@croghostrider]: https://github.com/croghostrider
|
||||
[@dannerph]: https://github.com/dannerph
|
||||
[@dmulcahey]: https://github.com/dmulcahey
|
||||
[@doudz]: https://github.com/doudz
|
||||
[@ejaviga]: https://github.com/ejaviga
|
||||
[@elupus]: https://github.com/elupus
|
||||
[@emontnemery]: https://github.com/emontnemery
|
||||
[@escoand]: https://github.com/escoand
|
||||
[@exxamalte]: https://github.com/exxamalte
|
||||
[@eyager1]: https://github.com/eyager1
|
||||
[@fabaff]: https://github.com/fabaff
|
||||
[@farmio]: https://github.com/farmio
|
||||
[@filcole]: https://github.com/filcole
|
||||
[@flebourse]: https://github.com/flebourse
|
||||
[@flowolf]: https://github.com/flowolf
|
||||
[@fredrike]: https://github.com/fredrike
|
||||
[@frenck]: https://github.com/frenck
|
||||
[@gadgetchnnel]: https://github.com/gadgetchnnel
|
||||
[@gerard33]: https://github.com/gerard33
|
||||
[@jaminh]: https://github.com/jaminh
|
||||
[@jkeljo]: https://github.com/jkeljo
|
||||
[@johnnychicago]: https://github.com/johnnychicago
|
||||
[@jshridha]: https://github.com/jshridha
|
||||
[@kellerza]: https://github.com/kellerza
|
||||
[@konikvranik]: https://github.com/konikvranik
|
||||
[@kpine]: https://github.com/kpine
|
||||
[@ktnrg45]: https://github.com/ktnrg45
|
||||
[@legacycode]: https://github.com/legacycode
|
||||
[@ludeeus]: https://github.com/ludeeus
|
||||
[@michaeldavie]: https://github.com/michaeldavie
|
||||
[@miroslawkrol]: https://github.com/miroslawkrol
|
||||
[@nielstron]: https://github.com/nielstron
|
||||
[@oncleben31]: https://github.com/oncleben31
|
||||
[@paraselene]: https://github.com/paraselene
|
||||
[@perosb]: https://github.com/perosb
|
||||
[@pnbruckner]: https://github.com/pnbruckner
|
||||
[@pvizeli]: https://github.com/pvizeli
|
||||
[@rossdargan]: https://github.com/rossdargan
|
||||
[@rytilahti]: https://github.com/rytilahti
|
||||
[@sander76]: https://github.com/sander76
|
||||
[@scop]: https://github.com/scop
|
||||
[@skarcha]: https://github.com/skarcha
|
||||
[@slackr31337]: https://github.com/slackr31337
|
||||
[@syssi]: https://github.com/syssi
|
||||
[@tcoenraad]: https://github.com/tcoenraad
|
||||
[@thecynic]: https://github.com/thecynic
|
||||
[@thomasloven]: https://github.com/thomasloven
|
||||
[@tkislan]: https://github.com/tkislan
|
||||
[@tleegaard]: https://github.com/tleegaard
|
||||
[@tomilehto]: https://github.com/tomilehto
|
||||
[@zewelor]: https://github.com/zewelor
|
||||
[@zhumuht]: https://github.com/zhumuht
|
||||
[@zxdavb]: https://github.com/zxdavb
|
||||
[alexa docs]: /components/alexa/
|
||||
[ambient_station docs]: /components/ambient_station/
|
||||
[androidtv docs]: /components/androidtv/
|
||||
[arcam_fmj docs]: /components/arcam_fmj/
|
||||
[bmw_connected_drive docs]: /components/bmw_connected_drive/
|
||||
[broadlink docs]: /components/broadlink/
|
||||
[camera docs]: /components/camera/
|
||||
[climate docs]: /components/climate/
|
||||
[cloud docs]: /components/cloud/
|
||||
[config docs]: /components/config/
|
||||
[coolmaster docs]: /components/coolmaster/
|
||||
[deconz docs]: /components/deconz/
|
||||
[demo docs]: /components/demo/
|
||||
[dialogflow docs]: /components/dialogflow/
|
||||
[dsmr docs]: /components/dsmr/
|
||||
[ecobee docs]: /components/ecobee/
|
||||
[edp_redy docs]: /components/edp_redy/
|
||||
[emulated_hue docs]: /components/emulated_hue/
|
||||
[environment_canada docs]: /components/environment_canada/
|
||||
[eq3btsmart docs]: /components/eq3btsmart/
|
||||
[essent docs]: /components/essent/
|
||||
[evohome docs]: /components/evohome/
|
||||
[fedex docs]: /components/fedex/
|
||||
[filter docs]: /components/filter/
|
||||
[fritz docs]: /components/fritz/
|
||||
[fronius docs]: /components/fronius/
|
||||
[geniushub docs]: /components/geniushub/
|
||||
[geonetnz_quakes docs]: /components/geonetnz_quakes/
|
||||
[google_maps docs]: /components/google_maps/
|
||||
[googlehome docs]: /components/googlehome/
|
||||
[group docs]: /components/group/
|
||||
[heos docs]: /components/heos/
|
||||
[homekit_controller docs]: /components/homekit_controller/
|
||||
[homematicip_cloud docs]: /components/homematicip_cloud/
|
||||
[huawei_lte docs]: /components/huawei_lte/
|
||||
[hue docs]: /components/hue/
|
||||
[input_boolean docs]: /components/input_boolean/
|
||||
[ipma docs]: /components/ipma/
|
||||
[iqvia docs]: /components/iqvia/
|
||||
[islamic_prayer_times docs]: /components/islamic_prayer_times/
|
||||
[keba docs]: /components/keba/
|
||||
[kodi docs]: /components/kodi/
|
||||
[lacrosse docs]: /components/lacrosse/
|
||||
[life360 docs]: /components/life360/
|
||||
[linksys_ap docs]: /components/linksys_ap/
|
||||
[luci docs]: /components/luci/
|
||||
[luftdaten docs]: /components/luftdaten/
|
||||
[lutron docs]: /components/lutron/
|
||||
[lw12wifi docs]: /components/lw12wifi/
|
||||
[mastodon docs]: /components/mastodon/
|
||||
[media_extractor docs]: /components/media_extractor/
|
||||
[media_player docs]: /components/media_player/
|
||||
[met docs]: /components/met/
|
||||
[meteo_france docs]: /components/meteo_france/
|
||||
[mikrotik docs]: /components/mikrotik/
|
||||
[minio docs]: /components/minio/
|
||||
[modbus docs]: /components/modbus/
|
||||
[mqtt docs]: /components/mqtt/
|
||||
[netgear_lte docs]: /components/netgear_lte/
|
||||
[nissan_leaf docs]: /components/nissan_leaf/
|
||||
[opencv docs]: /components/opencv/
|
||||
[opentherm_gw docs]: /components/opentherm_gw/
|
||||
[pi_hole docs]: /components/pi_hole/
|
||||
[plex docs]: /components/plex/
|
||||
[plugwise docs]: /components/plugwise/
|
||||
[point docs]: /components/point/
|
||||
[prometheus docs]: /components/prometheus/
|
||||
[proxy docs]: /components/proxy/
|
||||
[ps4 docs]: /components/ps4/
|
||||
[python_script docs]: /components/python_script/
|
||||
[qrcode docs]: /components/qrcode/
|
||||
[rainbird docs]: /components/rainbird/
|
||||
[recorder docs]: /components/recorder/
|
||||
[ring docs]: /components/ring/
|
||||
[ruter docs]: /components/ruter/
|
||||
[sabnzbd docs]: /components/sabnzbd/
|
||||
[scrape docs]: /components/scrape/
|
||||
[script docs]: /components/script/
|
||||
[shodan docs]: /components/shodan/
|
||||
[simplisafe docs]: /components/simplisafe/
|
||||
[sisyphus docs]: /components/sisyphus/
|
||||
[sma docs]: /components/sma/
|
||||
[smhi docs]: /components/smhi/
|
||||
[snmp docs]: /components/snmp/
|
||||
[sonos docs]: /components/sonos/
|
||||
[sql docs]: /components/sql/
|
||||
[srp_energy docs]: /components/srp_energy/
|
||||
[statistics docs]: /components/statistics/
|
||||
[stream docs]: /components/stream/
|
||||
[syncthru docs]: /components/syncthru/
|
||||
[sytadin docs]: /components/sytadin/
|
||||
[tado docs]: /components/tado/
|
||||
[tellduslive docs]: /components/tellduslive/
|
||||
[template docs]: /components/template/
|
||||
[tensorflow docs]: /components/tensorflow/
|
||||
[tile docs]: /components/tile/
|
||||
[traccar docs]: /components/traccar/
|
||||
[trend docs]: /components/trend/
|
||||
[tuya docs]: /components/tuya/
|
||||
[twentemilieu docs]: /components/twentemilieu/
|
||||
[unifi docs]: /components/unifi/
|
||||
[updater docs]: /components/updater/
|
||||
[upnp docs]: /components/upnp/
|
||||
[ups docs]: /components/ups/
|
||||
[usps docs]: /components/usps/
|
||||
[vacuum docs]: /components/vacuum/
|
||||
[velbus docs]: /components/velbus/
|
||||
[vera docs]: /components/vera/
|
||||
[vesync docs]: /components/vesync/
|
||||
[volumio docs]: /components/volumio/
|
||||
[websocket_api docs]: /components/websocket_api/
|
||||
[wunderground docs]: /components/wunderground/
|
||||
[xiaomi_aqara docs]: /components/xiaomi_aqara/
|
||||
[zha docs]: /components/zha/
|
||||
[zwave docs]: /components/zwave/
|
@ -143,6 +143,8 @@ You also need to have Docker-CE installed. There are well-documented procedures
|
||||
|
||||
</div>
|
||||
|
||||
### Preparation
|
||||
|
||||
To prepare your machine for the Hass.io installation, run the following commands:
|
||||
|
||||
```bash
|
||||
@ -192,8 +194,8 @@ A detailed guide about running Hass.io as a virtual machine is available in the
|
||||
[pi2]: https://github.com/home-assistant/hassos/releases/download/2.12/hassos_rpi2-2.12.img.gz
|
||||
[pi3-32]: https://github.com/home-assistant/hassos/releases/download/2.12/hassos_rpi3-2.12.img.gz
|
||||
[pi3-64]: https://github.com/home-assistant/hassos/releases/download/2.12/hassos_rpi3-64-2.12.img.gz
|
||||
[pi4-32]: https://github.com/home-assistant/hassos/releases/download/3.3/hassos_rpi4-3.3.img.gz
|
||||
[pi4-64]: https://github.com/home-assistant/hassos/releases/download/3.3/hassos_rpi4-64-3.3.img.gz
|
||||
[pi4-32]: https://github.com/home-assistant/hassos/releases/download/3.4/hassos_rpi4-3.4.img.gz
|
||||
[pi4-64]: https://github.com/home-assistant/hassos/releases/download/3.4/hassos_rpi4-64-3.4.img.gz
|
||||
[tinker]: https://github.com/home-assistant/hassos/releases/download/2.12/hassos_tinker-2.12.img.gz
|
||||
[odroid-c2]: https://github.com/home-assistant/hassos/releases/download/2.12/hassos_odroid-c2-2.12.img.gz
|
||||
[odroid-xu4]: https://github.com/home-assistant/hassos/releases/download/2.12/hassos_odroid-xu4-2.12.img.gz
|
||||
|
BIN
source/images/blog/2019-08-0.98/batcave.png
Normal file
BIN
source/images/blog/2019-08-0.98/batcave.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 109 KiB |
BIN
source/images/blog/2019-08-0.98/components.png
Normal file
BIN
source/images/blog/2019-08-0.98/components.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
BIN
source/images/blog/2019-08-0.98/options_flow.png
Normal file
BIN
source/images/blog/2019-08-0.98/options_flow.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 51 KiB |
BIN
source/images/blog/2019-08-0.98/system_options.png
Normal file
BIN
source/images/blog/2019-08-0.98/system_options.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 48 KiB |
Loading…
x
Reference in New Issue
Block a user