Merge branch 'rc' into current
@ -143,9 +143,9 @@ social:
|
||||
|
||||
# Home Assistant release details
|
||||
current_major_version: 0
|
||||
current_minor_version: 85
|
||||
current_patch_version: 1
|
||||
date_released: 2019-01-11
|
||||
current_minor_version: 86
|
||||
current_patch_version: 0
|
||||
date_released: 2019-01-23
|
||||
|
||||
# Either # or the anchor link to latest release notes in the blog post.
|
||||
# Must be prefixed with a # and have double quotes around it.
|
||||
|
@ -37,6 +37,11 @@ away_mode_name:
|
||||
required: false
|
||||
type: string
|
||||
default: "`Armed` mode in Arlo"
|
||||
night_mode_name:
|
||||
description: "Arlo base station does not have a built-in night mode. You can map one of your custom modes to Home Assistant's night mode by setting the name of the custom mode in this configuration variable. The name of the custom mode should match eactly as you set it up in the Arlo app."
|
||||
required: false
|
||||
type: string
|
||||
default: "`Armed` mode in Arlo"
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
|
@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: page
|
||||
title: "HomeKit Alarm Control Panel"
|
||||
description: "Instructions how to setup HomeKit security systems within Home Assistant."
|
||||
date: 2018-12-27 20:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: apple-homekit.png
|
||||
ha_category: Alarm Control Panel
|
||||
ha_iot_class: "Local Polling"
|
||||
ha_release: 0.86
|
||||
---
|
||||
|
||||
To get your HomeKit security system working with Home Assistant, follow the instructions for the general [HomeKit controller component](/components/homekit_controller/).
|
@ -63,6 +63,20 @@ require_ip:
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
sensors:
|
||||
description: List of enabled sensors
|
||||
required: false
|
||||
type: list
|
||||
default: all (`upload`, `download`, `upload_speed`, `download_speed`)
|
||||
keys:
|
||||
"upload":
|
||||
description: TX upload sensor
|
||||
"download":
|
||||
description: RX download sensor
|
||||
"download_speed":
|
||||
description: download mbit/s sensor
|
||||
"upload_speed":
|
||||
description: upload mbit/s sensor
|
||||
{% endconfiguration %}
|
||||
|
||||
<p class='note warning'>
|
||||
|
16
source/_components/cover.homekit_controller.markdown
Normal file
@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: page
|
||||
title: "HomeKit Cover"
|
||||
description: "Instructions how to setup HomeKit covers within Home Assistant."
|
||||
date: 2019-1-8 5:30
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: apple-homekit.png
|
||||
ha_category: Cover
|
||||
ha_iot_class: "Local Polling"
|
||||
ha_release: 0.86
|
||||
---
|
||||
|
||||
To get your HomeKit garage door openers, windows, or window coverings working with Home Assistant, follow the instructions for the general [HomeKit controller component](/components/homekit_controller/).
|
@ -24,7 +24,7 @@ Available demo platforms:
|
||||
- [Climate](/components/climate/) (`climate`)
|
||||
- [Cover](/components/cover/) (`cover`)
|
||||
- [Fan](/components/fan/) (`fan`)
|
||||
- [Geo Location](/components/geo_location/) (`geo_location`)
|
||||
- [Geolocation](/components/geo_location/) (`geo_location`)
|
||||
- [Image Processing](/components/image_processing/) (`image_processing`)
|
||||
- [Light](/components/light/) (`light`)
|
||||
- [Lock](/components/lock/) (`lock`)
|
||||
|
@ -1,73 +1,19 @@
|
||||
---
|
||||
layout: page
|
||||
title: "GPSLogger"
|
||||
title: "GPSLogger Device Tracker"
|
||||
description: "Instructions on how to use GPSLogger to track devices in Home Assistant."
|
||||
date: 2016-11-25 15:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: gpslogger.png
|
||||
ha_category: Presence Detection
|
||||
ha_release: 0.34
|
||||
---
|
||||
|
||||
The `gpslogger` device tracker platform allows you to detect presence using [GPSLogger](http://code.mendhak.com/gpslogger/). GPSLogger is an open source app for [Android](https://play.google.com/store/apps/details?id=com.mendhak.gpslogger) that allows users to set up a `GET` request to update GPS coordinates. This can be configured with Home Assistant to update your location.
|
||||
The `gpslogger` device tracker platform allows you to detect presence using [GPSLogger](http://code.mendhak.com/gpslogger/).
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
GPSLogger uses long-lived access tokens for authentication. These are setup [under your profile](/docs/authentication/#your-account-profile) and configured in the GPSLogger application on your smartphone as explained below.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
device_tracker:
|
||||
- platform: gpslogger
|
||||
```
|
||||
|
||||
## {% linkable_title Setup on your smartphone %}
|
||||
|
||||
Install [GPSLogger for Android](https://play.google.com/store/apps/details?id=com.mendhak.gpslogger) on your device.
|
||||
|
||||
After the launch, go to **General Options**. Enable **Start on bootup** and **Start on app launch**.
|
||||
|
||||
<p class='img'>
|
||||
<img width='300' src='/images/components/gpslogger/settings.png' />
|
||||
GPSLogger Settings
|
||||
<p class='note'>
|
||||
You must have the [GPSLogger component](/components/gpslogger/) configured to use this device tracker.
|
||||
</p>
|
||||
|
||||
Go to **Logging details** and disable **Log to GPX**, **Log to KML** and **Log to NMEA**. Enable **Log to custom URL**.
|
||||
|
||||
<p class='img'>
|
||||
<img width='300' src='/images/components/gpslogger/logging-details.png' />
|
||||
Logging Details
|
||||
</p>
|
||||
|
||||
Right after enabling, the app will take you to the **Log to custom URL** settings.
|
||||
|
||||
<p class='img'>
|
||||
<img width='300' src='/images/components/gpslogger/custom-url.png' />
|
||||
Log to custom URL details
|
||||
</p>
|
||||
|
||||
The relevant endpoint is: `/api/gpslogger`
|
||||
|
||||
```text
|
||||
https://YOUR.DNS.HOSTNAME:PORT/api/gpslogger?latitude=%LAT&longitude=%LON&device=%SER&accuracy=%ACC&battery=%BATT&speed=%SPD&direction=%DIR&altitude=%ALT&provider=%PROV&activity=%ACT
|
||||
```
|
||||
|
||||
Add the above URL after you modified it with your settings into the **URL** field. Remove the line breaks as they are only there to make the URL readable here.
|
||||
|
||||
- It's HIGHLY recommended to use SSL/TLS.
|
||||
- Use the domain that Home Assistant is available on the internet (or the public IP address if you have a static IP address). This can be a local IP address if you are using an always on VPN from your mobile device to your home network.
|
||||
- Only remove `PORT` if your Home Assistant instance is using port 443. Otherwise set it to the port you're using.
|
||||
- For Home Assistant only the above URL, as written, will work - do not add, remove, or change the order of any of the parameters.
|
||||
- Add `Authorization: Bearer LLAT` to the HTTP Headers setting (replace `LLAT` with your Long Lived Access Token).
|
||||
- You can change the name of your device name by replacing `&device=%SER` with `&device=DEVICE_NAME`.
|
||||
|
||||
If your battery drains too fast then you can tune the performance of GPSLogger under **Performance** -> **Location providers**
|
||||
|
||||
<p class='img'>
|
||||
<img width='300' src='/images/components/gpslogger/performance.png' />
|
||||
Performance
|
||||
</p>
|
||||
|
||||
A request can be forced from the app to test if everything is working fine. A successful request will update the `known_devices.yaml` file with the device's serial number.
|
||||
|
@ -9,6 +9,7 @@ sharing: true
|
||||
footer: true
|
||||
logo: locative.png
|
||||
ha_category: Presence Detection
|
||||
ha_iot_class: "Cloud Push"
|
||||
---
|
||||
|
||||
<p class='note'>
|
||||
@ -17,23 +18,8 @@ Locative is no longer under active development. See https://blog.locative.io/bye
|
||||
|
||||
This platform allows you to detect presence using [Locative](https://my.locative.io/). Locative is an open source app for [iOS](https://github.com/LocativeHQ/ios-app) and [Android](https://github.com/LocativeHQ/Locative-Android) that allows users to set up a `GET` or `POST` request when a geofence is entered or exited. This can be configured with Home Assistant to update your location.
|
||||
|
||||
To integrate Locative in Home Assistant, add the following section to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
device_tracker:
|
||||
- platform: locative
|
||||
```
|
||||
|
||||
Install on your smartphone:
|
||||
|
||||
- [Android](https://play.google.com/store/apps/details?id=io.locative.app)
|
||||
- [iOS](https://itunes.apple.com/us/app/geofancy/id725198453)
|
||||
|
||||
To configure Locative, you must set up the app to send a `GET` request to your Home Assistant server at `http://<ha_server>/api/locative`. Make sure to include the API password if you have configured a password in Home Assistant (add `?api_password=<password>` to the end of the URL). When you enter or exit a geofence, Locative will send a `GET` request to that URL, updating Home Assistant. You are not able to specify a device name in Locative. Instead, you will need to look in your known_devices.yaml file for a new device that Locative will have created on it's first `GET`. If you had been or are using Owntracks as well, you will need to update the device name used in the Owntracks setup with the name that Locative generated.
|
||||
|
||||
<p class='img'>
|
||||
<img src='{{site_root}}/images/screenshots/locative.png'/>
|
||||
<p class='note'>
|
||||
You must have the [Locative component](/components/locative/) configured to use this device tracker.
|
||||
</p>
|
||||
|
||||
When you enter a geofence, your location name in Home Assistant will be set to the name of the geofence in Locative. When you exit a geofence, your location name in Home Assistant will be set to "not home".
|
||||
|
@ -72,6 +72,9 @@ devices:
|
||||
description: Monitor doorbell events.
|
||||
motion:
|
||||
description: Monitor motion events (Motion monitoring must be enabled on the doorstation via DoorBird app).
|
||||
relay:
|
||||
description: Monitor relay events. This event is fired even if a relay is not physically connected to the door station. Can be used to lock/unlock any smart lock present in Home Assistant via the Doorbird app.
|
||||
|
||||
{% endconfiguration %}
|
||||
|
||||
The configuration above is also used by the following platforms:
|
||||
@ -99,11 +102,12 @@ doorbird:
|
||||
monitored_conditions:
|
||||
- doorbell
|
||||
- motion
|
||||
- relay
|
||||
```
|
||||
|
||||
## {% linkable_title Motion and Doorbell Events %}
|
||||
## {% linkable_title Events %}
|
||||
|
||||
Home Assistant will fire an event any time a `monitored_condition` happens on a doorstation. Event names are created using the format `doorbird_{station}_{event}` (Examples: `doorbird_side_entry_button`, `doorbird_side_entry_motion`). You can verify the assigned event names in the Home Assistant log file.
|
||||
Home Assistant will fire an event any time a `monitored_condition` happens on a doorstation. Event names are created using the format `doorbird_{station}_{event}` (Examples: `doorbird_side_entry_button`, `doorbird_side_entry_motion`). You can verify the assigned event names in the Available Events list on the Events developer view.
|
||||
|
||||
<p class="note info">
|
||||
Home Assistant will register the monitored conditions with the device as schedule entries that correspond to favorites on startup. If you remove monitored conditions from your configuration, Home Assistant will attempt to remove these items from the device. However, in some cases, such as if the IP address of the machine running Home Assistant changes or if the device is renamed in your configuration, this will not work correctly and some data will be left in device storage.
|
||||
|
125
source/_components/emulated_roku.markdown
Normal file
@ -0,0 +1,125 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Emulated Roku"
|
||||
description: "Instructions on how to set up Emulated Roku within Home Assistant."
|
||||
date: 2019-01-10 08:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: home-assistant.png
|
||||
ha_category: Hub
|
||||
ha_release: 0.86.0
|
||||
ha_iot_class: "Local Push"
|
||||
---
|
||||
|
||||
This component integrates an emulated Roku API into Home Assistant,
|
||||
so remotes such as Harmony and Android apps can connect to it through WiFi as it were a Roku player.
|
||||
Home Assistant will see key presses and app launches as Events, which you can use as triggers for automations.
|
||||
Multiple Roku servers may be started if you run out of buttons by specifying multiple server entries.
|
||||
|
||||
<p class='note'>
|
||||
Windows is not supported because Home Assistant uses `ProactorEventLoop` which does not support UDP sockets.
|
||||
</p>
|
||||
|
||||
<p class='note warning'>
|
||||
This component opens an unauthenticated API on the host, allowing anything on the local network to access
|
||||
your Home Assistant instance through the automations you create with emulated Roku as the trigger.
|
||||
Using a proxy with whitelist for IP addresses is recommended. (set `advertise_ip` to the proxy's ip or DNS name)
|
||||
</p>
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
The component is configurable through the frontend. (**Configuration** -> **Integrations** -> **Emulated Roku**)
|
||||
|
||||
If you wish to configure advanced options, you can add the following entry in `configuration.yaml`.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
emulated_roku:
|
||||
servers:
|
||||
- name: Home Assistant
|
||||
listen_port: 8060
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
name:
|
||||
description: Name of the Roku that will be displayed as the serial number in Harmony.
|
||||
required: true
|
||||
type: string
|
||||
listen_port:
|
||||
description: The port the Roku API will run on. This can be any free port on your system.
|
||||
required: true
|
||||
type: integer
|
||||
host_ip:
|
||||
description: The IP address that your Home Assistant installation is running on. If you do not specify this option, the component will attempt to determine the IP address on its own.
|
||||
required: false
|
||||
type: string
|
||||
advertise_ip:
|
||||
description: If you need to override the IP address or DNS name used for UPnP discovery. (For example, using network isolation in Docker or using a proxy)
|
||||
required: false
|
||||
type: string
|
||||
advertise_port:
|
||||
description: If you need to override the advertised UPnP port.
|
||||
required: false
|
||||
type: integer
|
||||
upnp_bind_multicast:
|
||||
description: Whether or not to bind the UPnP (SSDP) listener to the multicast address (239.255.255.250) or instead to the (unicast) host_ip address specified above (or automatically determined). The default is true, which will work in most situations. In special circumstances, like running in a FreeBSD or FreeNAS jail, you may need to disable this.
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
{% endconfiguration %}
|
||||
|
||||
After starting up, you can check if the emulated Roku is reachable at the specified ports on your Home Assistant instance (eg.: `http://192.168.1.101:8060/`).
|
||||
|
||||
## {% linkable_title Events %}
|
||||
|
||||
### {% linkable_title Event `roku_command` %}
|
||||
|
||||
All Roku commands are sent as `roku_command` events.
|
||||
|
||||
Field | Description
|
||||
----- | -----------
|
||||
`source_name` | Name of the emulated Roku instance that sent the event. Only required when using multiple instances to filter event sources.
|
||||
`type` | The type of the event that was called on the API.
|
||||
`key` | the code of the pressed key when the command `type` is `keypress`, `keyup` or `keydown`.
|
||||
`app_id` | the id of the app that was launched when command `type` is `launch`.
|
||||
|
||||
The available keys are listed here:
|
||||
[Roku key codes](https://sdkdocs.roku.com/display/sdkdoc/External+Control+API#ExternalControlAPI-KeypressKeyValues)
|
||||
|
||||
## {% linkable_title Automations %}
|
||||
|
||||
The following is an example implementation of an automation:
|
||||
```yaml
|
||||
# Example automation
|
||||
- id: amp_volume_up
|
||||
alias: Increase amplifier volume
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: roku_command
|
||||
event_data:
|
||||
source_name: Home Assistant
|
||||
type: keypress
|
||||
key: Fwd
|
||||
action:
|
||||
- service: media_player.volume_up
|
||||
entity_id: media_player.amplifier
|
||||
```
|
||||
|
||||
## {% linkable_title Troubleshooting %}
|
||||
|
||||
If you change your advertised IP or ports, you will have to re-add the emulated Roku in your app.
|
||||
When using Harmony, the app should auto-discover any changes via UPnP discovery (if `name` is unchanged) once it detects that the device is unreachable.
|
||||
Alternatively, you can trigger the 'Fix' page by pressing a button on the unreachable device's remote in the app and wait ~10 seconds, then click 'Fix it'.
|
||||
|
||||
Known limitations:
|
||||
* Some Android remotes send key up/down events instead of key presses.
|
||||
* Functionality other than key presses and app launches are not implemented yet.
|
||||
* App ids are limited between 1-10. (The emulated API reports 10 dummy apps)
|
||||
* Harmony uses UPnP discovery (UPnP is not needed after pairing), which might not work in Docker. You can:
|
||||
* Change Docker to host networking temporarily, then revert after pairing.
|
||||
* Run the `advertise.py` helper script from the emulated_roku library directly somewhere else and point it to the emulated Roku API.
|
||||
* Harmony cannot launch apps as it uses IR instead of the WiFi API and will not display the custom dummy app list.
|
||||
* Home control buttons cannot be assigned to emulated Roku on the Harmony Hub Companion remote as they are limited to Hue (and possibly other APIs) within Harmony.
|
||||
* Harmony will not set the name of the added emulated Roku device to the specified `name`.
|
@ -2,14 +2,14 @@
|
||||
layout: page
|
||||
title: "Fibaro"
|
||||
description: "Instructions on how to setup Fibaro Z-Wave hubs (HCL and HC2) and configure devices within Home Assistant."
|
||||
date: 2018-11-14 20:04
|
||||
date: 2019-01-10 20:04
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: fibaro.png
|
||||
ha_category: Hub
|
||||
ha_release: 0.83
|
||||
ha_release: "0.83"
|
||||
ha_iot_class: "Local Push"
|
||||
redirect_from:
|
||||
- /components/scene.fibaro/
|
||||
@ -25,12 +25,25 @@ To use Fibaro devices in your installation, add the following to your `configura
|
||||
|
||||
```yaml
|
||||
fibaro:
|
||||
url: http://192.168.1.161/api/
|
||||
username: your_username
|
||||
password: your_password
|
||||
gateways:
|
||||
- url: http://192.168.1.161/api/
|
||||
username: your_username
|
||||
password: your_password
|
||||
device_config:
|
||||
light_device_name_123:
|
||||
color: false
|
||||
white_value: false
|
||||
reset_color: true
|
||||
binary_device_name_123:
|
||||
device_class: "garage_door"
|
||||
icon: mdi:open
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
gateways:
|
||||
description: List of gateway configurations.
|
||||
requires: true
|
||||
type: list
|
||||
url:
|
||||
description: The URL for your Fibaro HomeCenter device.
|
||||
required: true
|
||||
@ -48,6 +61,11 @@ plugins:
|
||||
required: false
|
||||
type: bool
|
||||
default: false
|
||||
device_config:
|
||||
description: Lists device specific parameter or behaviour overrides.
|
||||
required: false
|
||||
type: list
|
||||
default: None
|
||||
{% endconfiguration %}
|
||||
|
||||
<p class='note'>
|
||||
|
@ -8,7 +8,7 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: geo_location.png
|
||||
ha_category: Geo Location
|
||||
ha_category: Geolocation
|
||||
ha_iot_class: "Cloud Polling"
|
||||
ha_release: "0.79"
|
||||
---
|
||||
@ -39,8 +39,8 @@ url:
|
||||
radius:
|
||||
description: The distance in kilometers around the Home Assistant's coordinates in which events are considered.
|
||||
required: false
|
||||
type: string
|
||||
default: 20km
|
||||
type: float
|
||||
default: 20.0
|
||||
latitude:
|
||||
description: Latitude of the coordinates around which events are considered.
|
||||
required: false
|
||||
@ -53,6 +53,17 @@ longitude:
|
||||
default: Longitude defined in your `configuration.yaml`
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title State Attributes %}
|
||||
|
||||
The following state attributes are available for each entity in addition to the standard ones:
|
||||
|
||||
| Attribute | Description |
|
||||
|-------------|-------------|
|
||||
| latitude | Latitude of the event. |
|
||||
| longitude | Longitude of the event. |
|
||||
| source | `geo_json_events` to be used in conjunction with `geo_location` automation trigger. |
|
||||
| external_id | The external ID used in the feed to identify the event in the feed. |
|
||||
|
||||
## {% linkable_title Advanced Configuration Example %}
|
||||
|
||||
When integrating several GeoJSON feeds, it may be useful to distinguish the entities of different feeds. The easiest way to do that is by defining an [`entity_namespace`](/docs/configuration/platform_options/#entity-namespace/) for each platform which will prefix each entity ID with the defined value.
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Geo Location"
|
||||
description: "Instructions on how to integrate geo location aware platforms into Home Assistant."
|
||||
title: "Geolocation"
|
||||
description: "Instructions on how to integrate geolocation aware platforms into Home Assistant."
|
||||
date: 2018-08-27 08:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
@ -11,13 +11,13 @@ logo: geo_location.png
|
||||
ha_release: "0.78"
|
||||
---
|
||||
|
||||
Geo Location aware entities are typically related to events in the real world in the vicinity of Home Assistant's location, like for example weather events, bush fires or earthquakes.
|
||||
Geolocation aware entities are typically related to events in the real world in the vicinity of Home Assistant's location, like for example weather events, bush fires or earthquakes.
|
||||
|
||||
Entities can have associated geo location coordinates (latitude and longitude) so that they are displayed on the map. The distance from the entity's coordinates to Home Assistant's location can be used for filtering.
|
||||
Entities can have associated geolocation coordinates (latitude and longitude) so that they are displayed on the map. The distance from the entity's coordinates to Home Assistant's location can be used for filtering.
|
||||
|
||||
## {% linkable_title Geo Location trigger %}
|
||||
## {% linkable_title Geolocation trigger %}
|
||||
|
||||
The [Geo Location trigger](/docs/automation/trigger/#geo-location-trigger) can be used in automations triggered by Geo Location entities appearing in or disappearing from zones. The following value must be used as `source` of the trigger depending on which platform is managing the entities:
|
||||
The [Geolocation trigger](/docs/automation/trigger/#geolocation-trigger) can be used in automations triggered by Geolocation entities appearing in or disappearing from zones. The following value must be used as `source` of the trigger depending on which platform is managing the entities:
|
||||
|
||||
| Platform | Source |
|
||||
|---------------------------------------------------|-------------------------------|
|
||||
@ -27,7 +27,7 @@ The [Geo Location trigger](/docs/automation/trigger/#geo-location-trigger) can b
|
||||
|
||||
Conditions can be used to further filter entities, for example by inspecting their state attributes.
|
||||
|
||||
## {% linkable_title Geo Location notification example %}
|
||||
## {% linkable_title Geolocation notification example %}
|
||||
|
||||
The following example automation creates a notification on the screen when a fire classified as 'Bush Fire' is reported within a predefined bush fire alert zone:
|
||||
|
||||
|
@ -8,7 +8,7 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: nsw-rural-fire-service.png
|
||||
ha_category: Geo Location
|
||||
ha_category: Geolocation
|
||||
ha_iot_class: "Cloud Polling"
|
||||
ha_release: "0.81"
|
||||
---
|
||||
@ -44,7 +44,7 @@ radius:
|
||||
description: The distance in kilometers around Home Assistant's coordinates in which incidents are included.
|
||||
required: false
|
||||
type: float
|
||||
default: 20km
|
||||
default: 20.0
|
||||
categories:
|
||||
description: List of incident category names found in the feed. Only incidents from the feed that match any of these categories are included. Valid categories are 'Emergency Warning', 'Watch and Act', 'Advice', 'Not Applicable'.
|
||||
required: false
|
||||
@ -70,6 +70,7 @@ The following state attributes are available for each entity in addition to the
|
||||
|--------------------|-------------|
|
||||
| latitude | Latitude of the incident. |
|
||||
| longitude | Longitude of the incident. |
|
||||
| source | `nsw_rural_fire_service_feed` to be used in conjunction with `geo_location` automation trigger. |
|
||||
| external_id | The external ID used in the feed to identify the incident in the feed. |
|
||||
| category | One of 'Emergency Warning', 'Watch and Act', 'Advice', 'Not Applicable'. |
|
||||
| location | Location details of where the incident takes place. |
|
||||
|
@ -8,7 +8,7 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: us-geological-survey.png
|
||||
ha_category: Geo Location
|
||||
ha_category: Geolocation
|
||||
ha_iot_class: "Cloud Polling"
|
||||
ha_release: 0.84
|
||||
---
|
||||
@ -52,7 +52,7 @@ radius:
|
||||
description: The distance in kilometers around Home Assistant's coordinates in which seismic events are included.
|
||||
required: false
|
||||
type: float
|
||||
default: 50
|
||||
default: 50.0
|
||||
latitude:
|
||||
description: Latitude of the coordinates around which events are considered.
|
||||
required: false
|
||||
|
@ -41,4 +41,4 @@ geofency:
|
||||
- keys
|
||||
```
|
||||
|
||||
To configure Geofency, you must configure (via the Webhook feature) to send a POST request to your Home Assistant server at `http://<ha_server>/api/geofency`. Use the default POST format, and make sure to include the API password if you have configured a password in Home Assistant (add `?api_password=<password>` to the end of the URL). Make sure to enable the 'Update Geo-Position' functionality for mobile beacons.
|
||||
To configure Geofency, you must set it up via the integrations panel in the configuration screen. You must then configure the iOS app (via the Webhook feature) to send a POST request to your Home Assistant server at the webhook URL provided by the integration during setup. Use the default POST format. Make sure to enable the 'Update Geo-Position' functionality for mobile beacons.
|
||||
|
71
source/_components/gpslogger.md
Normal file
@ -0,0 +1,71 @@
|
||||
---
|
||||
layout: page
|
||||
title: "GPSLogger"
|
||||
description: "Instructions on how to use GPSLogger to track devices in Home Assistant."
|
||||
date: 2016-11-25 15:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: gpslogger.png
|
||||
ha_category: Presence Detection
|
||||
ha_release: 0.86
|
||||
ha_iot_class: "Cloud Push"
|
||||
---
|
||||
|
||||
This component sets up integration with [GPSLogger](http://code.mendhak.com/gpslogger/). GPSLogger is an open source app for [Android](https://play.google.com/store/apps/details?id=com.mendhak.gpslogger) that allows users to set up a `POST` request to update GPS coordinates. This can be configured with Home Assistant to update your location.
|
||||
|
||||
Enabling this component will automatically enable the [GPSLogger Device Tracker](/components/device_tracker.gpslogger/).
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To configure GPSLogger, you must set it up via the integrations panel in the configuration screen. This will give you the webhook URL to use during mobile device configuration (below).
|
||||
|
||||
## {% linkable_title Setup on your smartphone %}
|
||||
|
||||
Install [GPSLogger for Android](https://play.google.com/store/apps/details?id=com.mendhak.gpslogger) on your device.
|
||||
|
||||
After the launch, go to **General Options**. Enable **Start on bootup** and **Start on app launch**.
|
||||
|
||||
<p class='img'>
|
||||
<img width='300' src='/images/components/gpslogger/settings.png' />
|
||||
GPSLogger Settings
|
||||
</p>
|
||||
|
||||
Go to **Logging details** and disable **Log to GPX**, **Log to KML** and **Log to NMEA**. Enable **Log to custom URL**.
|
||||
|
||||
<p class='img'>
|
||||
<img width='300' src='/images/components/gpslogger/logging-details.png' />
|
||||
Logging Details
|
||||
</p>
|
||||
|
||||
Right after enabling, the app will take you to the **Log to custom URL** settings.
|
||||
|
||||
<p class='img'>
|
||||
<img width='300' src='/images/components/gpslogger/custom-url.png' />
|
||||
Log to custom URL details
|
||||
</p>
|
||||
|
||||
The relevant endpoint starts with: `/api/webhook/` and ends with a unique sequence of characters. This is provided by the integrations panel in the configuration screen (configured above).
|
||||
|
||||
```text
|
||||
https://YOUR.DNS.HOSTNAME:PORT/api/webook/WEBHOOK_ID?latitude=%LAT&longitude=%LON&device=%SER&accuracy=%ACC&battery=%BATT&speed=%SPD&direction=%DIR&altitude=%ALT&provider=%PROV&activity=%ACT
|
||||
```
|
||||
|
||||
Add the above URL after you modified it with your settings into the **URL** field. Remove the line breaks as they are only there to make the URL readable here.
|
||||
|
||||
- Make sure to check the `Use POST method` checkbox.
|
||||
- It's HIGHLY recommended to use SSL/TLS.
|
||||
- Use the domain that Home Assistant is available on the internet (or the public IP address if you have a static IP address). This can be a local IP address if you are using an always on VPN from your mobile device to your home network.
|
||||
- Only remove `PORT` if your Home Assistant instance is using port 443. Otherwise set it to the port you're using.
|
||||
- For Home Assistant only the above URL, as written, will work - do not add, remove, or change the order of any of the parameters.
|
||||
- You can change the name of your device name by replacing `&device=%SER` with `&device=DEVICE_NAME`.
|
||||
|
||||
If your battery drains too fast then you can tune the performance of GPSLogger under **Performance** -> **Location providers**
|
||||
|
||||
<p class='img'>
|
||||
<img width='300' src='/images/components/gpslogger/performance.png' />
|
||||
Performance
|
||||
</p>
|
||||
|
||||
A request can be forced from the app to test if everything is working fine. A successful request will update the `known_devices.yaml` file with the device's serial number.
|
@ -22,7 +22,7 @@ Configure your GEM(s) to produce binary-format packets (for example, "Bin32 NET"
|
||||
greeneye_monitor:
|
||||
port: 8000
|
||||
monitors:
|
||||
- serial_number: YOUR_SERIAL_NUMBER
|
||||
- serial_number: "YOUR_SERIAL_NUMBER"
|
||||
channels:
|
||||
- number: 1
|
||||
name: total_power
|
||||
@ -53,9 +53,9 @@ monitors:
|
||||
type: list
|
||||
keys:
|
||||
serial_number:
|
||||
description: The last five digits (omitting leading zeroes) of your GEM serial number.
|
||||
description: Your 8-digit GEM serial number, as it appears in the UI.
|
||||
required: true
|
||||
type: integer
|
||||
type: string
|
||||
channels:
|
||||
description: The list of channels that should appear in Home Assistant for this monitor. Data from other channels will be ignored.
|
||||
required: false
|
||||
|
@ -22,8 +22,11 @@ ha_iot_class: "Local Polling"
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
- [Alarm Control Panel](/components/alarm_control_panel.homekit_controller/)
|
||||
- [Climate](/components/climate.homekit_controller/)
|
||||
- [Cover](/components/cover.homekit_controller/)
|
||||
- [Light](/components/light.homekit_controller/)
|
||||
- [Lock](/components/lock.homekit_controller/)
|
||||
- [Switch](/components/switch.homekit_controller/)
|
||||
|
||||
The component will be automatically configured if the [`discovery:`](/components/discovery/) component is enabled and an enable entry added for HomeKit:
|
||||
|
@ -111,14 +111,14 @@ Run an effect that does nothing, thereby stopping any other effect that might be
|
||||
|
||||
## {% linkable_title Advanced configuration %}
|
||||
|
||||
There are some manual configuration options available. These should only be needed if you have more than one network interface and automatic configuration does not find your LIFX devices.
|
||||
There are some manual configuration options available. These are only needed with unusual network setups where automatic configuration does not find your LIFX devices.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
lifx:
|
||||
light:
|
||||
server: IP_ADDRESS
|
||||
broadcast: IP_ADDRESS
|
||||
- server: IP_ADDRESS
|
||||
broadcast: IP_ADDRESS
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
@ -127,7 +127,7 @@ server:
|
||||
required: false
|
||||
type: string
|
||||
broadcast:
|
||||
description: The broadcast address for discovering lights.
|
||||
description: The broadcast address for discovering lights. Can also set this to the IP address of a bulb to skip discovery.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
40
source/_components/locative.md
Normal file
@ -0,0 +1,40 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Locative"
|
||||
description: "Instructions on how to use Locative to track devices in Home Assistant."
|
||||
date: 2015-10-13 19:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: locative.png
|
||||
ha_category: Presence Detection
|
||||
ha_release: 0.86
|
||||
ha_iot_class: "Cloud Push"
|
||||
---
|
||||
|
||||
<p class='note'>
|
||||
Locative is no longer under active development. See https://blog.locative.io/bye-everyone-df01871fe949
|
||||
</p>
|
||||
|
||||
This platform allows you to detect presence using [Locative](https://my.locative.io/). Locative is an open source app for [iOS](https://github.com/LocativeHQ/ios-app) and [Android](https://github.com/LocativeHQ/Locative-Android) that allows users to set up a `GET` or `POST` request when a geofence is entered or exited. This can be configured with Home Assistant to update your location.
|
||||
|
||||
To integrate Locative in Home Assistant, add the following section to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
locative:
|
||||
```
|
||||
|
||||
Install on your smartphone:
|
||||
|
||||
- [Android](https://play.google.com/store/apps/details?id=io.locative.app)
|
||||
- [iOS](https://itunes.apple.com/us/app/geofancy/id725198453)
|
||||
|
||||
To configure Locative, you must set it up via the integrations panel in the configuration screen. You must set up the app to send a POST request to your Home Assistant server at the webhook URL provided by the integration during setup. When you enter or exit a geofence, Locative will send the appropriate request to that URL, updating Home Assistant. You are not able to specify a device name in Locative. Instead, you will need to look in your known_devices.yaml file for a new device that Locative will have created on it's first `GET`. If you had been or are using Owntracks as well, you will need to update the device name used in the Owntracks setup with the name that Locative generated.
|
||||
|
||||
<p class='img'>
|
||||
<img src='{{site_root}}/images/screenshots/locative.png'/>
|
||||
</p>
|
||||
|
||||
When you enter a geofence, your location name in Home Assistant will be set to the name of the geofence in Locative. When you exit a geofence, your location name in Home Assistant will be set to "not home".
|
16
source/_components/lock.homekit_controller.markdown
Normal file
@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: page
|
||||
title: "HomeKit Lock"
|
||||
description: "Instructions how to setup HomeKit locks within Home Assistant."
|
||||
date: 2019-1-8 7:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: apple-homekit.png
|
||||
ha_category: Lock
|
||||
ha_iot_class: "Local Polling"
|
||||
ha_release: 0.86
|
||||
---
|
||||
|
||||
To get your HomeKit lock working with Home Assistant, follow the instructions for the general [HomeKit controller component](/components/homekit_controller/).
|
@ -25,11 +25,25 @@ media_player:
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
serial_port:
|
||||
description: The serial port.
|
||||
required: true
|
||||
default: "/dev/ttyUSB0"
|
||||
type:
|
||||
description: Type of communication. Valid types are `RS232`, `Telnet` or `TCP`
|
||||
required: false
|
||||
default: RS232
|
||||
type: string
|
||||
serial_port:
|
||||
description: The serial port. (for `RS232` type only)
|
||||
required: false
|
||||
default: /dev/ttyUSB0
|
||||
type: string
|
||||
host:
|
||||
description: The IP address of your amplifier. (for `TCP` and `Telnet` types)
|
||||
required: false
|
||||
type: string
|
||||
port:
|
||||
description: The port number of the device. (for `Telnet` type only)
|
||||
required: false
|
||||
default: 53
|
||||
type: integer
|
||||
name:
|
||||
description: Name of the device.
|
||||
required: false
|
||||
@ -46,9 +60,14 @@ max_volume:
|
||||
default: -20
|
||||
type: integer
|
||||
sources:
|
||||
description: A list of mappings from source to source name. Valid sources are `1 to 10`.
|
||||
description: A list of mappings from source to source name. Valid sources are `1 to 10`. (for `RS232` and `Telnet` types)
|
||||
required: false
|
||||
type: [list, string]
|
||||
volume_step:
|
||||
description: The amount in dB you want to increase the volume with when pressing volume up/down. (for `TCP` type only)
|
||||
required: false
|
||||
default: 4
|
||||
type: integer
|
||||
{% endconfiguration %}
|
||||
|
||||
The min_volume and max_volume are there to protect you against misclicks on the slider so you will not blow up your speakers when you go from -92dB to +20dB. You can still force it to go higher or lower than the values set with the plus and minus buttons.
|
||||
|
@ -1,54 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "NAD tcp"
|
||||
description: "Instructions on how to integrate the NAD D 7050 or C338 digital amplifiers into Home Assistant."
|
||||
date: 2017-06-07 20:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: nad.png
|
||||
ha_category: Media Player
|
||||
ha_release: 0.47
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
The `nadtcp` platform allows you to control the D7050 and C338 from Home Assistant via WiFi. Note that it has only been tested with the D 7050.
|
||||
|
||||
To add a NAD amplifier to your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
media_player:
|
||||
- platform: nadtcp
|
||||
host: 192.168.0.112
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
host:
|
||||
description: The IP address of your amplifier.
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
description: Name of the device.
|
||||
required: false
|
||||
default: NAD amplifier
|
||||
type: string
|
||||
min_volume:
|
||||
description: Minimum volume in dB to use with the slider.
|
||||
required: false
|
||||
default: -60
|
||||
type: integer
|
||||
max_volume:
|
||||
description: Maximum volume in dB to use with the slider.
|
||||
required: false
|
||||
default: -10
|
||||
type: integer
|
||||
volume_step:
|
||||
description: The amount in dB you want to increase the volume with when pressing volume up/down.
|
||||
required: false
|
||||
default: 4
|
||||
type: integer
|
||||
{% endconfiguration %}
|
||||
|
||||
The maximum volume level of the D 7050 amplifier is +10 db, minimum is -90.
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Roku"
|
||||
title: "Roku Media Player"
|
||||
description: "Instructions on how to integrate Roku into Home Assistant."
|
||||
date: 2016-05-16 20:0+0000
|
||||
sidebar: true
|
||||
@ -13,19 +13,4 @@ ha_release: "0.20"
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
The [Roku](http://www.roku.com/) media players will be automatically discovered if you enable the [discovery component](/components/discovery/).
|
||||
|
||||
The `roku` media player platform can also be forced to load by adding the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
media_player:
|
||||
- platform: roku
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
host:
|
||||
description: The IP address or the hostname of the device. Use only if you don't want to scan for devices.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
To set up the `roku` media player platform, please follow the instructions on the [Roku Component page](/components/roku/).
|
||||
|
@ -18,7 +18,7 @@ In order to get a token you need to go to the [Discord My Apps page](https://dis
|
||||
|
||||
Retreive the **Client ID** from the information section and the (hidden) **Token** of your bot for later.
|
||||
|
||||
When setting up the application you can use this [icon](/demo/favicon-192x192.png).
|
||||
When setting up the application you can use this [icon](/images/favicon-192x192-full.png).
|
||||
|
||||
To use Discord notifications, add the following to your `configuration.yaml` file:
|
||||
|
||||
@ -79,7 +79,7 @@ This channel ID has to be used as the target when calling the notification servi
|
||||
"0987654321"
|
||||
],
|
||||
"data": {
|
||||
"images": [
|
||||
"images": [
|
||||
"/tmp/garage_cam.jpg"
|
||||
]
|
||||
}
|
||||
|
@ -58,6 +58,6 @@ An example on how to use it in an automation:
|
||||
action:
|
||||
service: notify.NAME_OF_NOTIFIER_GROUP
|
||||
data:
|
||||
message: "The sun is {% if is_state('sun.sun', 'above_horizon') %}up{% else %}down{% endif %}!"
|
||||
message: "{% raw %}The sun is {% if is_state('sun.sun', 'above_horizon') %}up{% else %}down{% endif %}{% endraw %}!"
|
||||
```
|
||||
{% endraw %}
|
||||
|
@ -196,6 +196,22 @@ data:
|
||||
|
||||
If no URL or actions are provided, interacting with a notification will open your Home Assistant in the browser. You can use relative URLs to refer to Home Assistant, i.e. `/map` would turn into `https://192.168.1.2:8123/map`.
|
||||
|
||||
### {% linkable_title Dismiss %}
|
||||
|
||||
You can dismiss notifications by using service notify.html5_dismiss like so:
|
||||
|
||||
```json
|
||||
{
|
||||
"target": ["my phone"],
|
||||
"data": {
|
||||
"tag": "notification_tag"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
If no target is provided, it dismisses for all.
|
||||
If no tag is provided, it dismisses all notifications.
|
||||
|
||||
### {% linkable_title Automating notification events %}
|
||||
|
||||
During the lifespan of a single push notification, Home Assistant will emit a few different events to the event bus which you can use to write automations against.
|
||||
|
@ -13,19 +13,26 @@ ha_release: 0.76
|
||||
ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
The `openuv` component displays UV and Ozone data from [openuv.io](http://openuv.io).
|
||||
The `openuv` component displays UV and Ozone data from
|
||||
[openuv.io](http://openuv.io).
|
||||
|
||||
## {% linkable_title Generating an API Key %}
|
||||
|
||||
To generate an API key, [simply log in to the OpenUV website](https://www.openuv.io/auth/google).
|
||||
To generate an API key,
|
||||
[simply log in to the OpenUV website](https://www.openuv.io/auth/google).
|
||||
|
||||
<p class='note warning'>
|
||||
The "Limited" plan (which is what new users are given by default) is limited to 50 API requests per day. In order to leave a buffer, the `openuv` component queries the API every 30 minutes by default. This value can be modifed (via the `scan_interval` key), but please note that over-running the API will require you to upgrade to a paid plan (and may disable your access in the meantime).
|
||||
Beginning February 1, 2019, the "Limited" plan (which is what new users are
|
||||
given by default) is limited to 50 API requests per day. Because different
|
||||
API plans and locations will have different requirements, the `openuv`
|
||||
component does not automatically query the API for new data after it initially
|
||||
loads. To request new data, the `update_data` service may be used.
|
||||
</p>
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To retrieve data from OpenUV, add the following to your `configuration.yaml` file:
|
||||
To retrieve data from OpenUV, add the following to your `configuration.yaml`
|
||||
file:
|
||||
|
||||
```yaml
|
||||
openuv:
|
||||
@ -37,11 +44,6 @@ api_key:
|
||||
description: The OpenUV API key.
|
||||
required: true
|
||||
type: string
|
||||
scan_interval:
|
||||
description: the frequency (in seconds) between data updates.
|
||||
required: false
|
||||
type: integer
|
||||
default: 1800
|
||||
binary_sensors:
|
||||
description: The binary sensor-related configuration options.
|
||||
required: false
|
||||
@ -88,11 +90,15 @@ sensors:
|
||||
description: The approximate exposure time for skin type VI.
|
||||
{% endconfiguration %}
|
||||
|
||||
The approximate number of minutes of a particular skin type can be exposed to the sun before burning/tanning starts is based on the [Fitzpatrick scale](https://en.wikipedia.org/wiki/Fitzpatrick_scale).
|
||||
The approximate number of minutes of a particular skin type can be exposed to
|
||||
the sun before burning/tanning starts is based on the
|
||||
[Fitzpatrick scale](https://en.wikipedia.org/wiki/Fitzpatrick_scale).
|
||||
|
||||
## {% linkable_title Full example %}
|
||||
## {% linkable_title Full Configuration Example %}
|
||||
|
||||
To configure additional functionality, add configuration options beneath a `binary_sensor` and/or `sensor` key within the `openuv` section of the `configuration.yaml` file as below:
|
||||
To configure additional functionality, add configuration options beneath a
|
||||
`binary_sensor` and/or `sensor` key within the `openuv` section of the
|
||||
`configuration.yaml` file as below:
|
||||
|
||||
```yaml
|
||||
openuv:
|
||||
@ -115,5 +121,51 @@ openuv:
|
||||
```
|
||||
|
||||
<p class='note warning'>
|
||||
The above guidelines constitute estimates and are intended to help informed decision making. They should not replace analysis, advice or diagnosis from a trained medical professional.
|
||||
The above guidelines constitute estimates and are intended to help informed
|
||||
decision making. They should not replace analysis, advice or diagnosis from a
|
||||
trained medical professional.
|
||||
</p>
|
||||
|
||||
## {% linkable_title Services %}
|
||||
|
||||
### {% linkable_title `openuv.update_data` %}
|
||||
|
||||
Perform an on-demand update of OpenUV data.
|
||||
|
||||
## {% linkable_title Examples of Updating Data %}
|
||||
|
||||
One method to retrieve data every 30 minutes and still leave plenty of API key
|
||||
usage is to only retrieve data during the daytime:
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
- alias: Update OpenUV every 30 minutes during the daytime
|
||||
trigger:
|
||||
platform: time
|
||||
minutes: "/30"
|
||||
seconds: 00
|
||||
condition:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: sun
|
||||
after: sunrise
|
||||
- condition: sun
|
||||
before: sunset
|
||||
action:
|
||||
service: openuv.update_data
|
||||
```
|
||||
|
||||
Another method (useful when monitoring locations other than the HASS latitude
|
||||
and longitude, in locations where there is a large amount of sunlight per day,
|
||||
etc.) might be to simply query the API less often:
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
- alias: Update OpenUV every hour (24 of 50 calls per day)
|
||||
trigger:
|
||||
platform: time
|
||||
minutes: "/60"
|
||||
seconds: 00
|
||||
action:
|
||||
service: openuv.update_data
|
||||
```
|
||||
|
@ -182,6 +182,24 @@ data:
|
||||
delay_secs: 0.6
|
||||
```
|
||||
|
||||
### {% linkable_title Service `remote.harmony_change_channel` %}
|
||||
|
||||
Sends the change channel command to the Harmony HUB
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | no | Only act on a specific remote, else target all.
|
||||
| `channel` | no | Channel number to change to
|
||||
|
||||
A typical service call for changing the channel would be::
|
||||
|
||||
```yaml
|
||||
service: remote.change_channel
|
||||
data:
|
||||
entity_id: remote.tv_room
|
||||
channel: 200
|
||||
```
|
||||
|
||||
### {% linkable_title Service `remote.harmony_sync` %}
|
||||
|
||||
Force synchronization between the Harmony device and the Harmony cloud.
|
||||
|
60
source/_components/remote.roku.markdown
Normal file
@ -0,0 +1,60 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Roku Remote"
|
||||
description: "Instructions on how to integrate Roku into Home Assistant."
|
||||
date: 2018-10-17 20:0+0000
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: roku.png
|
||||
ha_category: Remote
|
||||
ha_release: 0.86
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
The `roku` remote platform allows you to send remote control buttons to a Roku device. It is automatically set up when a Roku is configured; please see [Roku Component page](/components/roku/) for configuration details.
|
||||
|
||||
At the moment, the following buttons are supported:
|
||||
|
||||
- back
|
||||
- backspace
|
||||
- channel_down
|
||||
- channel_up
|
||||
- down
|
||||
- enter
|
||||
- find_remote
|
||||
- forward
|
||||
- home
|
||||
- info
|
||||
- input_av1
|
||||
- input_hdmi1
|
||||
- input_hdmi2
|
||||
- input_hdmi3
|
||||
- input_hdmi4
|
||||
- input_tuner
|
||||
- left
|
||||
- literal
|
||||
- play
|
||||
- power
|
||||
- replay
|
||||
- reverse
|
||||
- right
|
||||
- search
|
||||
- select
|
||||
- up
|
||||
- volume_down
|
||||
- volume_mute
|
||||
- volume_up
|
||||
|
||||
A typical service call for pressing several buttons looks like this.
|
||||
|
||||
```yaml
|
||||
service: remote.send_command
|
||||
data:
|
||||
entity_id: remote.roku
|
||||
command:
|
||||
- left
|
||||
- left
|
||||
- select
|
||||
```
|
37
source/_components/roku.markdown
Normal file
@ -0,0 +1,37 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Roku"
|
||||
description: "Instructions how to integrate Roku devices into Home Assistant."
|
||||
date: 2018-10-17 20:47
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: roku.png
|
||||
ha_category: Hub
|
||||
ha_iot_class: "Local Polling"
|
||||
ha_release: 0.86
|
||||
---
|
||||
|
||||
The [Roku](http://www.roku.com/) component allows integration of Roku [media players](/components/media_player.roku) and [remotes](/components/remote.roku/) which will be automatically discovered if you enable the [discovery component](/components/discovery/).
|
||||
|
||||
The `roku` component can also be forced to load by adding the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
roku:
|
||||
- host: 192.168.1.100
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
host:
|
||||
description: Set the IP address of the Roku device. Use only if you don't want to autodiscover devices.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Services %}
|
||||
|
||||
### {% linkable_title Service `roku_scan` %}
|
||||
|
||||
Scans the local network for Rokus. All found devices are presented as a persistent notification.
|
@ -13,8 +13,6 @@ ha_iot_class: "Local Polling"
|
||||
ha_release: 0.83
|
||||
---
|
||||
|
||||
The `asuswrt` platform allows you to get data from your [ASUSWRT](http://event.asus.com/2013/nw/ASUSWRT/) sensors from within Home Assistant.
|
||||
|
||||
The sensor platform will be automatically configured if Asuswrt component is configured.
|
||||
The `asuswrt` sensor platform allows you to get upload and download data from your [ASUSWRT](http://event.asus.com/2013/nw/ASUSWRT/) within Home Assistant.
|
||||
|
||||
For more configuration information see the [Asuswrt component](/components/asuswrt/) documentation.
|
||||
|
@ -9,7 +9,7 @@ sharing: true
|
||||
footer: true
|
||||
logo: smtp.png
|
||||
ha_category: Mailbox
|
||||
ha_iot_class: "Local Polling"
|
||||
ha_iot_class: "Cloud Push"
|
||||
ha_release: 0.25
|
||||
---
|
||||
|
||||
@ -28,6 +28,7 @@ sensor:
|
||||
port: 993
|
||||
username: USERNAME
|
||||
password: PASSWORD
|
||||
folder: <Folder>
|
||||
senders:
|
||||
- example@gmail.com
|
||||
```
|
||||
@ -54,6 +55,11 @@ password:
|
||||
description: Password for the IMAP server.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: Folder to get mails from.
|
||||
required: false
|
||||
default: INBOX
|
||||
type: string
|
||||
senders:
|
||||
description: A list of sender email addresses that are allowed to report state via email. Only emails received from these addresses will be processed.
|
||||
required: true
|
||||
|
@ -23,6 +23,7 @@ The way these sensors are displayed in the frontend can be modified in the [cust
|
||||
- **illuminance**: The current light level in lx or lm.
|
||||
- **temperature**: Temperature in °C or °F.
|
||||
- **pressure**: Pressure in hPa or mbar.
|
||||
- **timestamp**: Datetime object or timestamp string.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/screenshots/sensor_device_classes_icons.png' />
|
||||
|
@ -51,12 +51,12 @@ The following conditions are available by device:
|
||||
- operation\_mode
|
||||
- temperature
|
||||
- target
|
||||
- hvac\_state: The currently active state of the HVAC system, `heating`, `cooling`, or `off`.
|
||||
- hvac\_state: The currently active state of the HVAC system, `heat`, `cool` or `off` (previously `heating`, `cooling` or `off`).
|
||||
- Nest Protect:
|
||||
- co\_status: `Ok`, `Warning`, or `Emergency`
|
||||
- smoke\_status: `Ok`, `Warning`, or `Emergency`
|
||||
- co\_status: `Ok`, `Warning` or `Emergency`
|
||||
- smoke\_status: `Ok`, `Warning` or `Emergency`
|
||||
- battery\_health: `Ok` or `Replace`
|
||||
- color\_status: `gray`, `green`, `yellow`, or `red`. Indicates device status by color in the Nest app UI. It is an aggregate condition for battery+smoke+CO states, and reflects the actual color indicators displayed in the Nest app.
|
||||
- color\_status: `gray`, `green`, `yellow` or `red`. Indicates device status by color in the Nest app UI. It is an aggregate condition for battery+smoke+CO states, and reflects the actual color indicators displayed in the Nest app.
|
||||
- Nest Camera: none
|
||||
|
||||
## {% linkable_title Security State %}
|
||||
|
@ -15,7 +15,7 @@ ha_iot_class: "Cloud Polling"
|
||||
|
||||
The `postnl` platform allows one to track deliveries by [PostNL](https://www.postnl.nl) (Dutch Postal Services). To use this sensor, you need a [PostNL Account](https://jouw.postnl.nl). It is possible to add multiple accounts to your Home Assistant configuration.
|
||||
|
||||
The sensor value shows the number of packages to be delivered. Each of the packages is available as an attribute.
|
||||
The sensor value shows the number of packages to be delivered. The packages are available in the shipments attribute.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
|
@ -52,6 +52,12 @@ name:
|
||||
required: false
|
||||
type: string
|
||||
default: REST Sensor
|
||||
device_class:
|
||||
description: >
|
||||
The [type/class](/components/sensor/) of
|
||||
the sensor to set the icon in the frontend.
|
||||
required: false
|
||||
type: string
|
||||
value_template:
|
||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the value."
|
||||
required: false
|
||||
|
@ -29,7 +29,7 @@ sensor:
|
||||
password: YOUR_SMA_PASSWORD
|
||||
sensors:
|
||||
current_consumption: [total_consumption]
|
||||
current_power:
|
||||
pv_power:
|
||||
total_yield:
|
||||
```
|
||||
|
||||
@ -59,29 +59,47 @@ group:
|
||||
type: string
|
||||
sensors:
|
||||
description: A dictionary of sensors that will be added. The value of the dictionary can include a list of sensor names that will be used as attributes.
|
||||
required: true
|
||||
required: false
|
||||
default: All sensors
|
||||
type: map
|
||||
keys:
|
||||
current_power:
|
||||
description: Current power (W).
|
||||
current_consumption:
|
||||
description: Power that you are currently drawing, depending on your installation it can be a combination of the inverter and the grid (W).
|
||||
pv_power:
|
||||
description: Current power generated by the inverter (W).
|
||||
pv_gen_meter:
|
||||
description: Total kWh generated to date (kWh)
|
||||
total_yield:
|
||||
description: Total power yield from solar installation (kWh).
|
||||
daily_yield:
|
||||
description: The yield for today (Wh)
|
||||
|
||||
current_consumption:
|
||||
description: Power that you are currently drawing, depending on your installation it can be a combination of the inverter and the grid (W).
|
||||
total_consumption:
|
||||
description: Total power consumption (kWh).
|
||||
grid_voltage:
|
||||
description: The grid voltage (V)
|
||||
pv_power:
|
||||
description: PV Power (W)
|
||||
daily_yield:
|
||||
description: daily_yield (Wh)
|
||||
power_supplied:
|
||||
|
||||
grid_power_supplied:
|
||||
description: Power supplied (W)
|
||||
power_absorbed:
|
||||
grid_power_absorbed:
|
||||
description: Power absorbed (W)
|
||||
grid_total_yield:
|
||||
description: Total power fom the grid (kWh)
|
||||
grid_total_absorbed:
|
||||
description: Total power supplied to the grid
|
||||
|
||||
grid_power:
|
||||
description: Power supplied by the grid (W)
|
||||
frequency:
|
||||
description: Grid frequency (W)
|
||||
voltage_l1:
|
||||
description: Voltage for phase 1 (V)
|
||||
voltage_l2:
|
||||
description: Voltage for phase 2 (V)
|
||||
voltage_l2:
|
||||
description: Voltage for phase 3 (V)
|
||||
|
||||
status:
|
||||
description: Status of the solar plant.
|
||||
description: Status of the solar plant.
|
||||
|
||||
your-custom-sensor:
|
||||
description: Any sensor name defined in the `custom:` section
|
||||
custom:
|
||||
@ -123,4 +141,4 @@ Example:
|
||||
factor: 1000
|
||||
```
|
||||
|
||||
Over time more sensors will be added as standard sensors to the [pysma library](https://github.com/kellerza/pysma/blob/master/pysma/__init__.py#L59). Feel free to submit additional sensors on that repository.
|
||||
Over time more sensors will be added as standard sensors to the [pysma library](https://github.com/kellerza/pysma/blob/master/pysma/__init__.py#L100). Feel free to submit additional sensors on that repository.
|
||||
|
@ -21,7 +21,7 @@ Please follow the instructions on [Retrieving the Access Token](/components/vacu
|
||||
|
||||
### {% linkable_title Xiaomi Smart WiFi Socket %}
|
||||
|
||||
Supported models: `chuangmi.plug.m1`, `chuangmi.plug.v2`, `chuangmi.plug.hmi205`
|
||||
Supported models: `chuangmi.plug.m1`, `chuangmi.plug.m3`, `chuangmi.plug.v2`, `chuangmi.plug.hmi205`
|
||||
|
||||
- Power (on, off)
|
||||
- Attributes
|
||||
@ -78,7 +78,7 @@ name:
|
||||
type: string
|
||||
default: Xiaomi Miio Switch
|
||||
model:
|
||||
description: The model of your miio device. Valid values are `chuangmi.plug.v1`, `qmi.powerstrip.v1`, `zimi.powerstrip.v2`, `chuangmi.plug.m1`, `chuangmi.plug.v2`, `chuangmi.plug.v3` and `chuangmi.plug.hmi205`. This setting can be used to bypass the device model detection and is recommended if your device isn't always available.
|
||||
description: The model of your miio device. Valid values are `chuangmi.plug.v1`, `qmi.powerstrip.v1`, `zimi.powerstrip.v2`, `chuangmi.plug.m1`, `chuangmi.plug.m3`, `chuangmi.plug.v2`, `chuangmi.plug.v3` and `chuangmi.plug.hmi205`. This setting can be used to bypass the device model detection and is recommended if your device isn't always available.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
@ -32,3 +32,4 @@ Currently supported services are:
|
||||
- `stop`
|
||||
- `return_to_base`
|
||||
- `locate`
|
||||
- `spot_clean`
|
||||
|
@ -32,6 +32,9 @@ Known working Zigbee radio modules:
|
||||
- [Elelabs Zigbee Raspberry Pi Shield](https://elelabs.com/products/elelabs_zigbee_shield.html)
|
||||
- XBee Zigbee based radios (via the [zigpy-xbee](https://github.com/zigpy/zigpy-xbee) library for zigpy)
|
||||
- Digi XBee Series 2C (S2C) modules
|
||||
- Dresden-Elektronik deCONZ based Zigbee radios (via the [zigpy-deconz](https://github.com/zigpy/zigpy-deconz) library for zigpy)
|
||||
- [ConBee USB adapter from Dresden-Elektronik](https://www.dresden-elektronik.de/conbee/)
|
||||
- [RaspBee Raspberry Pi Shield from Dresden-Elektronik](https://www.dresden-elektronik.de/raspbee/)
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
|
@ -21,7 +21,7 @@ The ZoneMinder component sets up the integration with your [ZoneMinder](https://
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
zoneminder:
|
||||
host: ZM_HOST
|
||||
- host: ZM_HOST
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
@ -64,13 +64,13 @@ password:
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
zoneminder:
|
||||
host: ZM_HOST
|
||||
path: ZM_PATH
|
||||
path_zms: ZM_PATH_ZMS
|
||||
ssl: true
|
||||
verify_ssl: true
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
- host: ZM_HOST
|
||||
path: ZM_PATH
|
||||
path_zms: ZM_PATH_ZMS
|
||||
ssl: true
|
||||
verify_ssl: true
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
```
|
||||
|
||||
### {% linkable_title Service %}
|
||||
@ -79,6 +79,7 @@ Once loaded, the `zoneminder` platform will expose a service (`set_run_state`) t
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|:-----------------------|:---------|:----------------------------------|
|
||||
| `id` | no | Host of the ZoneMinder instance. |
|
||||
| `name` | no | Name of the new run state to set. |
|
||||
|
||||
For example, if your ZoneMinder instance was configured with a run state called "Home", you could write an [automation](/getting-started/automation/) that changes ZoneMinder to the "Home" run state by including the following [action](/getting-started/automation-action/):
|
||||
@ -87,5 +88,6 @@ For example, if your ZoneMinder instance was configured with a run state called
|
||||
action:
|
||||
service: zoneminder.set_run_state
|
||||
data:
|
||||
id: ZM_HOST
|
||||
name: Home
|
||||
```
|
||||
|
12
source/_cookbook/configuration_yaml_by_patatman.markdown
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Configuration.yaml by patatman"
|
||||
description: ""
|
||||
date: 2019-01-13 21:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
ha_category: Example configuration.yaml
|
||||
ha_external_link: https://github.com/patatman/patatman-homeassistant-config
|
||||
---
|
@ -173,33 +173,40 @@ Rendering templates with time (`now()`) is dangerous as trigger templates only u
|
||||
|
||||
### {% linkable_title Time trigger %}
|
||||
|
||||
Time can be triggered in many ways. The most common is to specify `at` and trigger at a specific point in time each day. Alternatively, you can also match if the hour, minute or second of the current time has a specific value. You can prefix the value with a `/` to match whenever the value is divisible by that number. You cannot use `at` together with hour, minute or second.
|
||||
The time trigger is configured to run once at a specific point in time each day.
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
trigger:
|
||||
platform: time
|
||||
# Military time format. This trigger will fire at 3:32 PM
|
||||
at: '15:32:00'
|
||||
```
|
||||
|
||||
### {% linkable_title 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.
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
trigger:
|
||||
platform: time_pattern
|
||||
# Matches every hour at 5 minutes past whole
|
||||
minutes: 5
|
||||
seconds: 00
|
||||
|
||||
automation 2:
|
||||
trigger:
|
||||
platform: time
|
||||
# When 'at' is used, you cannot also match on hour, minute, seconds.
|
||||
# Military time format.
|
||||
at: '15:32:00'
|
||||
platform: time_pattern
|
||||
# Trigger once per minute during the hour of 3
|
||||
hours: '3'
|
||||
minutes: '*'
|
||||
|
||||
automation 3:
|
||||
trigger:
|
||||
platform: time
|
||||
platform: time_pattern
|
||||
# You can also match on interval. This will match every 5 minutes
|
||||
minutes: '/5'
|
||||
seconds: 00
|
||||
```
|
||||
<p class='note warning'>
|
||||
Remember that if you are using matching to include both `minutes` and `seconds`. Without `seconds`, your automation will trigger 60 times during the matching minute.
|
||||
</p>
|
||||
|
||||
As mentioned in the Sun trigger section, sunrise is a different day than any time prior to midnight. If you want to trigger an action with a large enough amount of time before sunrise that it precedes midnight, this must be accounted for properly. One way is to convert the sunrise time to a timestamp (seconds since 1 Jan 1970). Then do the same for the offset desired (in seconds). This is done with the _as_timestamp_ method explained in the [Templating - Home Assistant template extensions](/docs/configuration/templating/#home-assistant-template-extensions) section.
|
||||
|
||||
@ -231,10 +238,10 @@ automation:
|
||||
event: enter # or "leave"
|
||||
```
|
||||
|
||||
### {% linkable_title Geo Location trigger %}
|
||||
### {% linkable_title Geolocation trigger %}
|
||||
|
||||
Geo Location triggers can trigger when an entity is appearing in or disappearing from a zone. Entities that are created by a [Geo Location](/components/geo_location/) platform support reporting GPS coordinates.
|
||||
Because entities are generated and removed by these platforms automatically, the entity id normally cannot be predicted. Instead, this trigger requires the definition of a `source` which is directly linked to one of the Geo Location platforms.
|
||||
Geolocation triggers can trigger when an entity is appearing in or disappearing from a zone. Entities that are created by a [Geolocation](/components/geo_location/) platform support reporting GPS coordinates.
|
||||
Because entities are generated and removed by these platforms automatically, the entity id normally cannot be predicted. Instead, this trigger requires the definition of a `source` which is directly linked to one of the Geolocation platforms.
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
|
@ -24,6 +24,7 @@ Supported by MQTT discovery:
|
||||
- [Locks](/components/lock.mqtt/)
|
||||
- [Sensors](/components/sensor.mqtt/)
|
||||
- [Switches](/components/switch.mqtt/)
|
||||
- [Vacuums](/components/vacuum.mqtt/)
|
||||
|
||||
To enable MQTT discovery, add the following to your `configuration.yaml` file:
|
||||
|
||||
@ -86,12 +87,25 @@ Supported abbreviations:
|
||||
'bri_scl': 'brightness_scale',
|
||||
'bri_stat_t': 'brightness_state_topic',
|
||||
'bri_val_tpl': 'brightness_value_template',
|
||||
'bat_lev_t': 'battery_level_topic',
|
||||
'bat_lev_tpl': 'battery_level_template',
|
||||
'chrg_t': 'charging_topic',
|
||||
'chrg_tpl': 'charging_template',
|
||||
'clr_temp_cmd_t': 'color_temp_command_topic',
|
||||
'clr_temp_stat_t': 'color_temp_state_topic',
|
||||
'clr_temp_val_tpl': 'color_temp_value_template',
|
||||
'cln_t': 'cleaning_topic',
|
||||
'cln_tpl': 'cleaning_template',
|
||||
'cmd_t': 'command_topic',
|
||||
'curr_temp_t': 'current_temperature_topic',
|
||||
'dev_cla': 'device_class',
|
||||
'dock_t': 'docked_topic',
|
||||
'dock_tpl': 'docked_template',
|
||||
'err_t': 'error_topic',
|
||||
'err_tpl': 'error_template',
|
||||
'fanspd_t': 'fan_speed_topic',
|
||||
'fanspd_tpl': 'fan_speed_template',
|
||||
'fanspd_lst': 'fan_speed_list',
|
||||
'fx_cmd_t': 'effect_command_topic',
|
||||
'fx_list': 'effect_list',
|
||||
'fx_stat_t': 'effect_state_topic',
|
||||
@ -141,6 +155,7 @@ Supported abbreviations:
|
||||
'rgb_cmd_t': 'rgb_command_topic',
|
||||
'rgb_stat_t': 'rgb_state_topic',
|
||||
'rgb_val_tpl': 'rgb_value_template',
|
||||
'send_cmd_t': 'send_command_topic',
|
||||
'send_if_off': 'send_if_off',
|
||||
'set_pos_tpl': 'set_position_template',
|
||||
'set_pos_t': 'set_position_topic',
|
||||
@ -154,6 +169,7 @@ Supported abbreviations:
|
||||
'stat_open': 'state_open',
|
||||
'stat_t': 'state_topic',
|
||||
'stat_val_tpl': 'state_value_template',
|
||||
'sup_feat': 'supported_features',
|
||||
'swing_mode_cmd_t': 'swing_mode_command_topic',
|
||||
'swing_mode_stat_tpl': 'swing_mode_state_template',
|
||||
'swing_mode_stat_t': 'swing_mode_state_topic',
|
||||
@ -213,7 +229,7 @@ $ mosquitto_pub -h 127.0.0.1 -p 1883 -t "homeassistant/binary_sensor/garden/stat
|
||||
Delete the sensor by sending an empty message.
|
||||
|
||||
```bash
|
||||
$ mosquitto_pub -h 127.0.0.1 -p 1883 -t "homeassistant/binary_sensor/garden/state" -m ''
|
||||
$ mosquitto_pub -h 127.0.0.1 -p 1883 -t "homeassistant/binary_sensor/garden/config" -m ''
|
||||
```
|
||||
|
||||
Setting up a switch is similar but requires a `command_topic` as mentioned in the [MQTT switch documentation](/components/switch.mqtt/).
|
||||
|
@ -5,7 +5,7 @@
|
||||
Home Assistant is an open-source home automation platform running on Python 3. Track and control all devices at home and automate control.
|
||||
</li>
|
||||
<li><a href='/getting-started/'>Get started with Home Assistant</a></li>
|
||||
<li><a href='/demo/'>Try the online demo</a></li>
|
||||
<li><a href='https://demo.home-assistant.io'>Try the online demo</a></li>
|
||||
<li><a class="twitter-follow-button" href="https://twitter.com/Home_Assistant">Follow Home Assistant on Twitter</a></li>
|
||||
<li><div class="fb-like" data-href="https://www.facebook.com/homeassistantio/" data-layout="standard" data-action="like" data-size="small" data-show-faces="true" data-share="false"></div></li>
|
||||
</ul>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<div class="copyright grid">
|
||||
<div class='company grid__item one-third lap-one-half palm-one-whole'>
|
||||
<div class="title">
|
||||
<img width="40" src="/demo/favicon-192x192.png" alt="Home Assistant"> Home Assistant
|
||||
<img width="40" src="/images/favicon-192x192-full.png" alt="Home Assistant"> Home Assistant
|
||||
</div>
|
||||
<div class="icons">
|
||||
<a rel="me" href='https://twitter.com/home_assistant' title="Twitter"><i class="icon-twitter"></i></a>
|
||||
|
@ -1,6 +1,6 @@
|
||||
<div class="grid__item three-tenths lap-two-sixths palm-one-whole ha-title">
|
||||
<a href="{{ root_url }}/" class="site-title">
|
||||
<img width='40' src='{{ root_url }}/demo/favicon-192x192.png' alt="Home Assistant">
|
||||
<img width='40' src='{{ root_url }}/images/favicon-192x192-full.png' alt="Home Assistant">
|
||||
<span>{{ site.title }}</span>
|
||||
</a>
|
||||
</div>
|
||||
|
@ -5,6 +5,6 @@ Open source home automation that puts local control and privacy first. Powered b
|
||||
|
||||
<p class='hero-buttons'>
|
||||
<a href='{{ root_url }}/getting-started/'>Get started</a>
|
||||
<a href='{{ root_url }}/demo/' target='_blank'>View demo</a>
|
||||
<a href='https://demo.home-assistant.io' target='_blank'>View demo</a>
|
||||
<a rel="me" href='https://github.com/home-assistant/home-assistant'>Browse code on GitHub</a>
|
||||
</p>
|
||||
|
@ -2,7 +2,7 @@
|
||||
<div class="grid-wrapper">
|
||||
<div class="grid flex">
|
||||
<div class="grid__item flex__item two-fifths palm-one-whole">
|
||||
<a href='{{ root_url }}/demo/' target='_blank'>
|
||||
<a href='https://demo.home-assistant.io/' target='_blank'>
|
||||
<img src="{{ root_url }}/images/hero_screenshot.png" alt="Home Assistant screenshot">
|
||||
</a>
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@ entities:
|
||||
type: list
|
||||
geo_location_sources:
|
||||
required: true
|
||||
description: List of geolocation sources. All current entities with that source will be displayed on the map. See [Geo Location](/components/geo_location/) platform for valid sources. Either this or the `entities` configuration option is required.
|
||||
description: List of geolocation sources. All current entities with that source will be displayed on the map. See [Geolocation](/components/geo_location/) platform for valid sources. Either this or the `entities` configuration option is required.
|
||||
type: list
|
||||
title:
|
||||
required: false
|
||||
|
82
source/_posts/2019-01-23-lovelace-released.markdown
Normal file
@ -0,0 +1,82 @@
|
||||
---
|
||||
layout: post
|
||||
title: "Lovelace UI released!"
|
||||
description: "After 8 months of development, we're proud to release our brand new Lovelace UI."
|
||||
date: 2019-01-23 00:01:02
|
||||
date_formatted: "January 23, 2019"
|
||||
author: Paulus Schoutsen
|
||||
author_twitter: balloob
|
||||
comments: true
|
||||
categories: Release-Notes
|
||||
og_image: /images/blog/2019-01-lovelace/demo.png
|
||||
---
|
||||
|
||||
Today we're happy to announce that our new Lovelace UI, which has been in beta for the last 8 months, is becoming the new default interface of [Home Assistant 0.86](/blog/2019/01/23/release-86/). With Lovelace we're taking a new approach to building user interfaces for Home Assistant. We're no longer storing the look and feel of your UI in your configuration.yaml, requiring restarts for changes. With Lovelace we're keeping the UI concerns in the UI<sup>1</sup>, unlocking a whole new set of features:
|
||||
|
||||
- [24 cards](https://www.home-assistant.io/lovelace/alarm-panel/) to place and configure as you like.
|
||||
- UI Editor. A configuration UI to manage your Lovelace UI including live preview when editing cards.
|
||||
- Fast. Using a static config allows us to build up the UI once.
|
||||
- Customizable.
|
||||
- Cards have numerous options to configure how your data is presented.
|
||||
- Themes; even at a per card basis.
|
||||
- Ability to override names and icons of entities.
|
||||
- Custom Cards from our amazing community are fully supported.
|
||||
|
||||
<div class='videoWrapper'>
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/XY3R0xI45wA" frameborder="0" allowfullscreen></iframe>
|
||||
</div>
|
||||
|
||||
In case you're reading this and want to give it a try right now: we've updated [the Home Assistant demo](https://demo.home-assistant.io). It now features multiple Lovelace configuration examples. The demo is fully interactive, including the configuration UI (accessible via the menu in the top right). You can also access it by updating to Home Assistant 0.86.
|
||||
|
||||
For a deep dive into all the new features, check out the [latest episode of the Home Assistant podcast](https://hasspodcast.io), featuring an interview with [Zack Arnett][@zsarnett] from the Lovelace team.
|
||||
|
||||
<sup>1</sup>: If you prefer YAML, Lovelace also includes a [YAML mode](/lovelace/yaml-mode/) that supports the use of `!include` and `!secret`.
|
||||
|
||||
## {% linkable_title History %}
|
||||
|
||||
With Lovelace we've built a foundation that not only provides a lean and sleek interface, but will also allow us to add many new exciting features in the future. The main difference with the old UI is that we no longer store any UI concerns in the state machine.
|
||||
|
||||
When Home Assistant was started, I came up with an algorithm that would automatically organize the available entities in badges, cards and tabs; and then show that on the screen. Users demanded more influence; so over time, we've added a bunch of components and features of the backend whose main or sole purpose were to influence how the algorithm in the UI shows and organizes entities.
|
||||
|
||||
As this kept growing, I realized that we were on the wrong path. It was impossible to get an algorithm that would fulfill all needs and the backend shouldn't be aware of anything in the frontend. It should just deliver the entities and the frontend should figure out how to display things together with the user.
|
||||
|
||||
At the same time as this was happening, we also had some discussions about the development of the frontend. Users wanted more control on what is shown, when it's shown and how it's shown. Eventually, [@andrey-git] came up with Custom UI for the old interface. This allowed users to do whatever they wanted. However, it was limited to power users.
|
||||
|
||||
Lovelace was built [from the start](https://github.com/home-assistant/architecture/issues/14) to tackle these problems. The initial version completely dropped the algorithm and required users to add each card to their configuration. We went from a fully automatic UI to nothing. We launched it under the nomer "experimental UI" and it quickly gained traction. People loved the control and the ability to inject custom cards or entity rows at will.
|
||||
|
||||
The enthusiasm was great among our power users, however by switching away from an automatic UI, we were no longer beginner-friendly. A new user would open Home Assistant and they would see a blank, unconfigured UI. We realized that this had to be solved if we were to make Lovelace the default.
|
||||
|
||||
To solve this, we re-introduced our automatic algorithm. However, this time the algorithm generates a Lovelace configuration. If a user doesn't like the automatic configuration, they can take control and configure it to their liking. When you take control, the automatic generated configuration will no longer be updated by Home Assistant, allowing the user to change each detail.
|
||||
|
||||
To make configuring your UI as easy as possible, Lovelace UI allows (custom) cards to include a config editor. This way the user will be able to quickly edit a card while a live preview shows how the changes look. If a card does not include an editor (yet), the user will be presented with a text editor in the browser.
|
||||
|
||||
Because of the ease to customize and share customizations, we've already seen a big community get created around Lovelace. They are very active in the #lovelace channel on [our chat](/join-chat/), and work is shared on [ShareTheLove.io](https://sharethelove.io/) and the [Lovelace section on Awesome HA](https://www.awesome-ha.com/#lovelace-ui).
|
||||
|
||||
## {% linkable_title Credits %}
|
||||
|
||||
Lovelace UI has been 8 months in the making and it has been a big undertaking. We've worked hard and are proud of being able to ship this first version. Lovelace UI would not have been possible without the following current and former members of the Lovelace team:
|
||||
|
||||
- [@balloob] / Paulus Schoutsen
|
||||
- [@bramkragten] / Bram Kragten
|
||||
- [@c727]
|
||||
- [@ciotlosm] / Marius Ciotloș
|
||||
- [@iantrich] / Ian Richardson
|
||||
- [@jeradM] / Jerad Meisner
|
||||
- [@thomasloven] / Thomas Lovén
|
||||
- [@zsarnett] / Zack Arnett
|
||||
|
||||
I also want to thank the community for adopting this so eagerly, building a ton of helpful tooling and examples and helping one another to create beautiful UIs for their homes.
|
||||
|
||||
## {% linkable_title Old UI %}
|
||||
|
||||
The transition to Lovelace should be painless for most users. If you are encountering issues, please [let us know](https://github.com/home-assistant/home-assistant-polymer/issues). For the time being, you will be able to still change back to the old user interface on a per-device basis by going to the info developer tool and following the instructions.
|
||||
|
||||
[@andrey-git]: https://github.com/andrey-git
|
||||
[@balloob]: https://github.com/balloob
|
||||
[@bramkragten]: https://github.com/bramkragten
|
||||
[@c727]: https://github.com/c727
|
||||
[@ciotlosm]: https://github.com/ciotlosm
|
||||
[@iantrich]: https://github.com/iantrich
|
||||
[@jeradM]: https://github.com/jeradM
|
||||
[@thomasloven]: https://github.com/thomasloven
|
||||
[@zsarnett]: https://github.com/zsarnett
|
655
source/_posts/2019-01-23-release-86.markdown
Normal file
@ -0,0 +1,655 @@
|
||||
---
|
||||
layout: post
|
||||
title: "0.86: New Lovelace UI and Zigbee Management Panel!"
|
||||
description: "Lovelace is in, Zigbee Control Panel is in. New demo is in."
|
||||
date: 2019-01-23 00:01:03
|
||||
date_formatted: "January 23, 2019"
|
||||
author: Paulus Schoutsen
|
||||
author_twitter: balloob
|
||||
comments: true
|
||||
categories: Release-Notes
|
||||
og_image: /images/blog/2019-01-release-86/zha.png
|
||||
---
|
||||
|
||||
Today we're releasing Home Assistant 0.86. And oh wow, this is an amazing release. First awesome thing: the Lovelace user interface, which we've been working on for the last 8 months, is now the default in Home Assistant. We have a lot to talk about, so we created a separate blog post just for the Lovelace release [here](/blog/2019/01/23/lovelace-released/).
|
||||
|
||||
Next up, we've updated the [Home Assistant demo](https://demo.home-assistant.io). It's snappier, it's snazzier, and best of all: it contains four fully functional Lovelace user interfaces that you can play with! Change the states or go in config mode and add, edit or re-organize the cards. We've set it up in such a way now that the demo will be automatically updated with the latest release of Home Assistant, so it will always feature the latest things.
|
||||
|
||||
<p class='img'>
|
||||
<a href="https://demo.home-assistant.io"><img src='/images/blog/2019-01-release-86/demo.png' alt='Screenshot of the new demo.'></a>
|
||||
Screenshot of Lovelace in the new demo.
|
||||
</p>
|
||||
|
||||
## {% linkable_title Zigbee management panel %}
|
||||
|
||||
This release includes a brand new Zigbee management panel to manage your Zigbee network thanks to the hard work by [@dmulcahey] with the help of [@Adminiuga] and [@damarco]. The new panel makes it easy to:
|
||||
|
||||
- Issue Permit and Remove operations
|
||||
- Reconfigure Node, which will rebind and reconfigure the reporting for a device. Which can help solve issues.
|
||||
- Reading and setting cluster attributes. This is useful for viewing and setting things such as device sensitivity levels.
|
||||
- View and issue cluster commands. Note on this feature: support for commands with arguments is coming soon.
|
||||
|
||||
The Zigbee team is also planning a bunch of cool things for 2019. Direct device binding (directly pairing remotes to lights) is already in development and they are planning support for group management as well. Targeted and broadcast joins are also right around the corner (we’re waiting for a new Zigpy release). Exciting times for Zigbee users!
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/blog/2019-01-release-86/zha.png' alt='Screenshot of the Zigbee management panel.'>
|
||||
Screenshot of the Zigbee management panel.
|
||||
</p>
|
||||
|
||||
## {% linkable_title Noteworthy breaking changes %}
|
||||
|
||||
This release also includes two noteworthy breaking changes. One is a follow-up on the slugify breaking change from last release. We did not update the validation check for config options that need to be valid slugs. This means that some of your config values might be invalid. Keep an eye at the console as we have a new message to tell you which ones are wrong.
|
||||
|
||||
This issue also impacts the entity registry, which could contain in some rare cases invalid entity IDs. Expect entity IDs to change if they contained a double underscore (which becomes 1) or if they started/ended in an underscore (which will be removed).
|
||||
|
||||
Another noteworthy breaking change (sorry!), is that the automation `time` trigger has been split into two: `time` and `time_pattern`. If you had a time trigger containing the keys `hours`, `minutes` or `seconds`, update the platform from `name` to `time_pattern`.
|
||||
|
||||
## {% linkable_title New Platforms %}
|
||||
|
||||
- Support for Homekit controller/alarm control panel ([@adrum] - [#19612]) ([homekit_controller docs]) ([alarm_control_panel.homekit_controller docs]) (new-platform)
|
||||
- Add support for HomeKit Controller Locks ([@adrum] - [#19867]) ([homekit_controller docs]) ([lock.homekit_controller docs]) (new-platform)
|
||||
- Add support for HomeKit Controller covers ([@adrum] - [#19866]) ([homekit_controller docs]) ([cover.homekit_controller docs]) (new-platform)
|
||||
- Add Roku hub and remote ([@soberstadt] - [#17548]) ([roku docs]) ([media_player.roku docs]) ([remote.roku docs]) (breaking change) (new-platform)
|
||||
- Add emulated_roku component ([@mindigmarton] - [#17596]) ([emulated_roku docs])
|
||||
|
||||
## {% linkable_title 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). The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks.
|
||||
|
||||
## {% linkable_title 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-->
|
||||
|
||||
## {% linkable_title Breaking Changes %}
|
||||
|
||||
- Automation: Split time_pattern triggers from time trigger ([@armills] - [#19825]) ([automation.interval docs]) ([automation.time docs]) (breaking change)
|
||||
- Each instance of Home Assistant will now generate it's own unique webhook url for Geofencyto use. One will need to be generated and provided to the iOS app to replace the existing url: `https://myhome.duckdns.org/api/geofency?api_password=HA_PASSWORD` ([@rohankapoorcom] - [#18951]) ([geofency docs]) (breaking change)
|
||||
- Nest sensor: Correctly map hvac_state to Home Assistant states. Heating -> heat, Cooling -> cool. ([@mitchellrj] - [#19895]) ([sensor.nest docs]) (breaking change)
|
||||
- Add nad telnet media player and merge nadtcp into media_player.nad ([@rymsha] - [#19704]) ([media_player.nad docs]) (breaking change)
|
||||
- Prezzi Benzina: Added the service type to the name of the sensor to better differentiate between different service tiers. ([@eliseomartelli] - [#19980]) ([sensor.prezzibenzina docs]) (breaking change)
|
||||
- PostNL attributes are updated, contain now more information ([@basbl] - [#18334]) ([sensor.postnl docs]) (breaking change)
|
||||
- Support for multiple Fibaro gateways. A list of gateways is expected instead of a single config. ([@pbalogh77] - [#19705]) ([fibaro docs]) ([binary_sensor.fibaro docs]) ([cover.fibaro docs]) ([light.fibaro docs]) ([scene.fibaro docs]) ([sensor.fibaro docs]) ([switch.fibaro docs]) (breaking change)
|
||||
- Upgrade greeneye_monitor to 1.0. It now requires the full 8 digit serial number. ([@jkeljo] - [#19631]) ([greeneye_monitor docs]) (breaking change)
|
||||
- Previous "manual" registration of roku devices will need to be updated or removed (discovery should discover all rokus on your network). ([@soberstadt] - [#17548]) ([roku docs]) ([media_player.roku docs]) ([remote.roku docs]) (breaking change) (new-platform)
|
||||
- Alarm control panel entities will now use `number` as their code_format instead of `Number` ([@balloob] - [#20077]) ([alarm_control_panel docs]) (breaking change)
|
||||
- OpenUV: users will now need to use the openuv.update_data service to request new data from the API. ([@bachya] - [#19949]) ([openuv docs]) (breaking change)
|
||||
- Add support for connecting to multiple zoneminder instances ([@rohankapoorcom] - [#19955]) ([zoneminder docs]) ([camera.zoneminder docs]) ([sensor.zoneminder docs]) ([switch.zoneminder docs]) (breaking change)
|
||||
- The gpslogger device_tracker platform no longer takes any configuration. The configuration needs to be applied to the component gpslogger instead. The platform will be automatically loaded with the component and should not be specified in configuration.yaml. Each instance of Home Assistant will now generate it's own unique webhook for GPSLogger to use. One will need to be generated and provided to the mobile app to the replace the existing url: `https://myhome.duckdns.org/api/gpslogger?api_password=HA_PASSWORD`. Home Assistant only supports using POST (no longer GET) for GPSLogger. The long lived access token is also no longer needed. ([@rohankapoorcom] - [#20044] - [#20079]) ([device_tracker docs]) ([gpslogger docs]) (breaking change)
|
||||
- The locative device_tracker platform no longer takes any configuration. The configuration needs to be applied to the component locative instead. The platform will be automatically loaded with the component and should not be specified in configuration.yaml. Each instance of Home Assistant will now generate it's own unique webhook url for Locative to use. One will need to be generated and provided to the mobile app to replace the existing url: https://myhome.duckdns.org/api/locative?api_password=HA_PASSWORD. Home Assistant only supports using POST (no longer GET) for Locative. ([@rohankapoorcom] - [#19964] - [#20043]) ([device_tracker docs]) ([locative docs]) (breaking change)
|
||||
- Sensibo to adhere to the operation mode states in HA climate component. ([@balloob] - [#20180]) ([climate.sensibo docs]) (breaking change) (beta fix)
|
||||
- Any registered entity that started/ended with an underscore (will be removed) or had 2 subsequent underscores (1 will be removed) will be updated. ([@balloob] - [#20328]) (breaking change) (beta fix)
|
||||
- The SMA sensor can monitor several new sensors. Unfortunately some of the existing sensors were renamed:
|
||||
`current_power` is now `grid_power` and `grid_voltage` is now `voltage_l1` (the voltage from all three phases are available). The sensors also support the entity registry, making editing their names a breeze from the frontend. ([@kellerza] - [#19753]) ([sensor.sma docs])
|
||||
|
||||
## {% linkable_title Beta Fixes %}
|
||||
|
||||
- Sensibo to use HA operation modes ([@balloob] - [#20180]) ([climate.sensibo docs]) (breaking change) (beta fix)
|
||||
- Distribute reconnect ([@balloob] - [#20181]) ([cloud docs]) (beta fix)
|
||||
- Add command to refresh auth ([@balloob] - [#20183]) ([cloud docs]) (beta fix)
|
||||
- Improve Sonos discovery ([@amelchio] - [#20196]) ([sonos docs]) (beta fix)
|
||||
- Handle non-string values in JSON renderer ([@pnbruckner] - [#20233]) (beta fix)
|
||||
- Bump aioesphomeapi to 1.4.2 ([@OttoWinter] - [#20247]) ([esphome docs]) (beta fix)
|
||||
- Remove double logging of automation action ([@amelchio] - [#20264]) (beta fix)
|
||||
- Allow 'all' entity_id in service schema ([@amelchio] - [#20278]) (beta fix)
|
||||
- Fix 'all' entity_id in service call extraction ([@amelchio] - [#20281]) (beta fix)
|
||||
- Align valid_entity_id with new slugify ([@kellerza] - [#20231]) (beta fix)
|
||||
- Config Validator: schema_with_slug_keys ([@kellerza] - [#20298]) (beta fix)
|
||||
- Bugfix: prevent error notification when octoprint server auto detected but no configuration present. ([@reefab] - [#20303]) ([octoprint docs]) (beta fix)
|
||||
- Should require the 'GATTOOL' setup extras which includes pexpect. ([@mitchellrj] - [#20263]) ([device_tracker docs]) (beta fix)
|
||||
- Fix xiaomi speed attribute name clash ([@syssi] - [#20312]) ([fan.xiaomi_miio docs]) (beta fix)
|
||||
- Update locationsharinglib to version 3.0.11 ([@rolfberkenbosch] - [#20322]) ([device_tracker docs]) (beta fix)
|
||||
- Fix invalid entity ID in entity registry ([@balloob] - [#20328]) (breaking change) (beta fix)
|
||||
|
||||
## {% linkable_title All changes %}
|
||||
|
||||
- Support for Homekit controller/alarm control panel ([@adrum] - [#19612]) ([homekit_controller docs]) ([alarm_control_panel.homekit_controller docs]) (new-platform)
|
||||
- update powerview scene component to latest api. ([@sander76] - [#19717]) ([scene.hunterdouglas_powerview docs])
|
||||
- Add support for Kwikset 914 Convert - lock.zwave id0446 (#19710) ([@cdkonecny] - [#19722]) ([lock.zwave docs])
|
||||
- Added zwave lock state from alarm type workaround ([@adrum] - [#18996]) ([lock.zwave docs])
|
||||
- Upgrade pwmled to 1.4.0 ([@soldag] - [#19783]) ([light.rpi_gpio_pwm docs])
|
||||
- HomematicIP update version to 0.10.1 ([@mxworm] - [#19788]) ([homematicip_cloud docs])
|
||||
- Remove duplicated MQTT switch test case ([@emontnemery] - [#19799])
|
||||
- [1/3] Refactor mqtt-vacuum in preparation for discovery and device registry ([@quazzie] - [#19462]) ([vacuum.mqtt docs])
|
||||
- [2/3] vacuum mqtt-discovery ([@quazzie] - [#19478]) ([mqtt docs]) ([vacuum docs]) ([vacuum.mqtt docs])
|
||||
- SMA sensor - updated library ([@kellerza] - [#19753]) ([sensor.sma docs])
|
||||
- [3/3] mqtt-vacuum device-registry ([@quazzie] - [#19479]) ([mqtt docs]) ([vacuum docs]) ([vacuum.mqtt docs])
|
||||
- Remove temperature from the list of available forecast sensors ([@ReneNulschDE] - [#19818]) ([sensor.darksky docs])
|
||||
- This makes the vasttrafik platform stop spamming the logs with warnings ([@kennedyshead] - [#19792]) ([sensor.vasttrafik docs])
|
||||
- Bump pybotvac ([@dshokouhi] - [#19831]) ([neato docs])
|
||||
- Cleanup if discovered mqtt switch can't be added ([@emontnemery] - [#19721]) ([switch.mqtt docs])
|
||||
- adding more dimmer components ([@sander76] - [#19843]) ([light.homematicip_cloud docs])
|
||||
- bump watefurnace version to 1.1.0 ([@sdague] - [#19847]) ([waterfurnace docs])
|
||||
- Fix 2 ResourceWarning: unclosed file in test_ruamel_yaml.py ([@BoboTiG] - [#19780])
|
||||
- Upgrade tahoma-api to 0.0.14 ([@koomik] - [#19840]) ([tahoma docs])
|
||||
- Fix french Amazon Polly voice 'Léa'. ([@vincent-k] - [#19852]) ([tts docs])
|
||||
- Upgrade holidays to 0.9.9 ([@fabaff] - [#19851]) ([binary_sensor.workday docs])
|
||||
- Small cleanup of MQTT light ([@emontnemery] - [#19816]) ([light.mqtt docs])
|
||||
- Fix state and attribute fetching in vasttrafik ([@kennedyshead] - [#19856])
|
||||
- Geo Location -> Geolocation (comments and default group name) ([@exxamalte] - [#19865]) ([geo_location docs]) ([automation.geo_location docs])
|
||||
- Replace MyChevy persistant_notification with error log entry ([@ReneNulschDE] - [#19804]) ([sensor.mychevy docs])
|
||||
- Upgrade bcrypt to 3.1.5 ([@fabaff] - [#19854])
|
||||
- Cleanup if discovered mqtt lock can't be added ([@emontnemery] - [#19746]) ([lock.mqtt docs])
|
||||
- Cleanup if discovered mqtt sensor can't be added ([@emontnemery] - [#19745]) ([sensor.mqtt docs])
|
||||
- Cleanup if discovered mqtt cover can't be added ([@emontnemery] - [#19743]) ([cover.mqtt docs])
|
||||
- Cleanup if discovered mqtt alarm can't be added ([@emontnemery] - [#19742]) ([alarm_control_panel.mqtt docs])
|
||||
- Cleanup if discovered mqtt fan can't be added ([@emontnemery] - [#19741]) ([fan.mqtt docs])
|
||||
- Cleanup if discovered mqtt climate can't be added ([@emontnemery] - [#19739]) ([climate.mqtt docs])
|
||||
- Relay events for onoff and levelcontrol output clusters in ZHA ([@dmulcahey] - [#19863]) ([zha docs])
|
||||
- Replace influxdb query by another query that is more lightweight ([@BaQs] - [#19880]) ([sensor.influxdb docs])
|
||||
- Allow other icon prefixes than mdi: ([@thomasloven] - [#19872])
|
||||
- Geo Location -> Geolocation (class names and unit test comments) ([@exxamalte] - [#19877]) ([geo_location docs])
|
||||
- add entity support to hive ([@Rendili] - [#19879]) ([binary_sensor.hive docs]) ([climate.hive docs]) ([light.hive docs]) ([sensor.hive docs]) ([switch.hive docs])
|
||||
- Migrate geofency over to the Webhook component ([@rohankapoorcom] - [#18951]) ([geofency docs]) (breaking change)
|
||||
- Refactor motion sensor of the xiaomi_aqara platform ([@syssi] - [#19805]) ([binary_sensor.xiaomi_aqara docs])
|
||||
- Fix deprecation warning ([@balloob] - [#19882])
|
||||
- Bug fix with getting a device battery level when API unavailable for Hive ([@Rendili] - [#19841]) ([hive docs]) ([binary_sensor.hive docs]) ([climate.hive docs]) ([light.hive docs]) ([sensor.hive docs]) ([switch.hive docs])
|
||||
- Bump pyflunearyou to 1.0.1 ([@bachya] - [#19899]) ([sensor.flunearyou docs])
|
||||
- Removed mkdir, If the WORKDIR doesn’t exist, it will be created. ([@RealArtemiy] - [#19892])
|
||||
- Plant monitor defaults ([@royduin] - [#19891]) ([plant docs])
|
||||
- Correctly map Nest hvac_state to Home Assistant states. ([@mitchellrj] - [#19895]) ([sensor.nest docs]) (breaking change)
|
||||
- Add btle_name attribute to devices ([@cliffordwhansen] - [#19915]) ([device_tracker docs])
|
||||
- Add Alexa's EndpointHealth reporting ([@abmantis] - [#19784]) ([alexa docs])
|
||||
- Remove Discovery dependency from konnected.py ([@so3n] - [#19910]) ([konnected docs])
|
||||
- Add sensors to jewish_calendar for upcoming Shabbat times ([@arigilder] - [#19278]) ([sensor.jewish_calendar docs])
|
||||
- add_entities -> async_add_entities ([@SNoof85] - [#19943]) ([sensor.freebox docs])
|
||||
- Add nad telnet ([@rymsha] - [#19704]) ([media_player.nad docs]) (breaking change)
|
||||
- Upgrade blinkpy and use calibrated temperature for sensor ([@fronzbot] - [#19723]) ([blink docs]) ([sensor.blink docs])
|
||||
- Small refactoring for the alexa component ([@abmantis] - [#19782]) ([alexa docs])
|
||||
- Upgrade pylast to 3.0.0 ([@fabaff] - [#19938]) ([sensor.lastfm docs])
|
||||
- Remove spurious libzwave error ([@therve] - [#19928]) ([zwave docs])
|
||||
- Add emulated_roku component ([@mindigmarton] - [#17596]) ([emulated_roku docs])
|
||||
- Change state() to try/except to catch KeyError ([@iamtpage] - [#19935]) ([sensor.tautulli docs])
|
||||
- Upgrade mutagen to 1.42.0 ([@fabaff] - [#19956]) ([tts docs])
|
||||
- Upgrade pillow to 5.4.1 ([@fabaff] - [#19958]) ([camera.proxy docs]) ([image_processing.tensorflow docs])
|
||||
- Upgrade ruamel.yaml to 0.15.85 ([@fabaff] - [#19960])
|
||||
- Upgrade pysnmp to 4.4.8 ([@fabaff] - [#19961]) ([device_tracker docs]) ([sensor.snmp docs]) ([switch.snmp docs])
|
||||
- Upgrade keyring to 17.1.1 ([@fabaff] - [#19962])
|
||||
- Add support for restoring state to rpi_gpio_pwm ([@soldag] - [#19944])
|
||||
- min_max sensor support for STATE_UNAVAILABLE ([@RomRider] - [#19914]) ([sensor.min_max docs])
|
||||
- add service type in name ([@eliseomartelli] - [#19980]) ([sensor.prezzibenzina docs]) (breaking change)
|
||||
- Add support for spot cleaning that was introduced in pybotvac 0.12 ([@larsvinc] - [#19857]) ([vacuum.neato docs])
|
||||
- Support next generation of the Xiaomi Mi Smart Plug (chuangmi.plug.m3) ([@syssi] - [#19972]) ([switch.xiaomi_miio docs])
|
||||
- When tradfri experience communication errors make the lights/devices unavailable. ([@jarlebh] - [#19288]) ([light.tradfri docs]) ([switch.tradfri docs])
|
||||
- Allow embedded platforms ([@balloob] - [#19948])
|
||||
- Add services and helper functions to support a config panel for ZHA ([@dmulcahey] - [#19664]) ([zha docs])
|
||||
- Adding IPv6 to fail2ban sensor ([@grea09] - [#19457]) ([sensor.fail2ban docs])
|
||||
- Always use datetime and timedelta in camera.proxy instead of int/float ([@mikeage] - [#19571]) ([camera.proxy docs])
|
||||
- Include Scripts/ directory to .gitignore - this is created by virtualenv on Windows ([@scarface-4711] - [#18918])
|
||||
- Add mysensors state update delay ([@MartinHjelmare] - [#18891]) ([device_tracker docs]) ([mysensors docs])
|
||||
- Add ability to monitor relay events ([@oblogic7] - [#18730]) ([doorbird docs])
|
||||
- Add support for 'via_hub' for device_info ([@fredrike] - [#19454]) ([mqtt docs])
|
||||
- Fix the anthemav component by removing a debugging line. ([@achatham] - [#19979]) ([media_player.anthemav docs])
|
||||
- Expose more information about shipments by PostNL ([@basbl] - [#18334]) ([sensor.postnl docs]) (breaking change)
|
||||
- Split locative to a separate component ([@rohankapoorcom] - [#19964]) ([device_tracker docs]) ([locative docs]) (breaking change)
|
||||
- Support for multiple Fibaro gateways ([@pbalogh77] - [#19705]) ([fibaro docs]) ([binary_sensor.fibaro docs]) ([cover.fibaro docs]) ([light.fibaro docs]) ([scene.fibaro docs]) ([sensor.fibaro docs]) ([switch.fibaro docs]) (breaking change)
|
||||
- Add Hass.io user headers to supervisor proxy ([@balloob] - [#19395]) ([hassio docs])
|
||||
- Upgrade huawei-lte-api to 1.1.3 ([@scop] - [#19987])
|
||||
- Upgrade pytest-cov to 2.6.1 ([@scop] - [#19988])
|
||||
- Wink: Update pubnubsub-handler version to make it compatible with python 3.7 ([@ledor473] - [#19625]) ([wink docs])
|
||||
- Don't set friendly_name in Zha entity. ([@Adminiuga] - [#19991]) ([zha docs])
|
||||
- Add support for HomeKit Controller Locks ([@adrum] - [#19867]) ([homekit_controller docs]) ([lock.homekit_controller docs]) (new-platform)
|
||||
- Repackage ZHA component ([@dmulcahey] - [#19989]) ([zha docs])
|
||||
- 'latest_dir' referenced before assignment ([@vaidyasr] - [#19952]) ([camera.xiaomi docs])
|
||||
- catch TypeError's in addition to ValueError's for unifi direct device tracker ([@thomasdelaet] - [#19994])
|
||||
- Support for html5 notifications to suggest their names ([@quazzie] - [#19965]) ([notify docs])
|
||||
- Update doorbird events to include URLs on event_data ([@oblogic7] - [#19262]) ([doorbird docs])
|
||||
- Upgrade greeneye_monitor to 1.0 ([@jkeljo] - [#19631]) ([greeneye_monitor docs]) (breaking change)
|
||||
- version bump for zha-quirks ([@dmulcahey] - [#20019]) ([zha docs])
|
||||
- Enable bool type for ADS service ([@carstenschroeder] - [#20011]) ([ads docs])
|
||||
- UniFi - Fix issue with POE switch reset switch config ([@Kane610] - [#20021]) ([unifi docs])
|
||||
- Add service change_channel to Harmony component ([@ehendrix23] - [#19649]) ([remote.harmony docs])
|
||||
- mychevy: Fix wrong attribute on battery level selector ([@sdague] - [#20016]) ([sensor.mychevy docs])
|
||||
- Add harmony service to remote services.yaml ([@ehendrix23] - [#20031])
|
||||
- update to pyunifi 2.16 ([@finish06] - [#20042]) ([device_tracker docs])
|
||||
- Upgrade pytest to 4.1.0 ([@scop] - [#20013])
|
||||
- Change alarm panel code format ([@arsaboo] - [#20037]) ([alarm_control_panel.elkm1 docs])
|
||||
- ADS service: Enable use of templates for value ([@carstenschroeder] - [#20024]) ([ads docs])
|
||||
- Fix remote.harmony_change_channel services.yaml indentation ([@amelchio] - [#20051])
|
||||
- Show persistent notification on Doorbird schedule failure ([@oblogic7] - [#20033]) ([doorbird docs])
|
||||
- Add support for HomeKit Controller covers ([@adrum] - [#19866]) ([homekit_controller docs]) ([cover.homekit_controller docs]) (new-platform)
|
||||
- warning -> debug, this should not have been visible to users ([@rytilahti] - [#20061]) ([media_player.songpal docs])
|
||||
- Split out gpslogger into a separate component and platform ([@rohankapoorcom] - [#20044]) ([device_tracker docs]) ([gpslogger docs]) (breaking change)
|
||||
- Add Roku hub and remote ([@soberstadt] - [#17548]) ([roku docs]) ([media_player.roku docs]) ([remote.roku docs]) (breaking change) (new-platform)
|
||||
- Upgrade pytest to 4.1.1 ([@scop] - [#20088])
|
||||
- Lowercase code format ([@balloob] - [#20077]) ([alarm_control_panel docs]) (breaking change)
|
||||
- fix logic error in dubln bus ([@ttroy50] - [#20075]) ([sensor.dublin_bus_transport docs])
|
||||
- Bump abode to 0.15.0 ([@shred86] - [#20064]) ([abode docs])
|
||||
- Change return text code for alarm control panels ([@arsaboo] - [#20055]) ([alarm_control_panel.alarmdotcom docs])
|
||||
- Adjust OpenUV integration for upcoming API limit changes ([@bachya] - [#19949]) ([openuv docs]) (breaking change)
|
||||
- Fix ihc issues caused by update to defusedxml ([@mopolus] - [#20091]) ([ihc docs])
|
||||
- Move ESPHome Source Files ([@OttoWinter] - [#20092]) ([esphome docs])
|
||||
- Embed RainMachine platforms into the component ([@bachya] - [#20066]) ([rainmachine docs])
|
||||
- Embed SimpliSafe platforms into the component ([@bachya] - [#20069]) ([simplisafe docs])
|
||||
- Embed OpenUV platforms into the component ([@bachya] - [#20072]) ([openuv docs])
|
||||
- Reconfigure MQTT lock component if discovery info is changed ([@emontnemery] - [#19468]) ([lock.mqtt docs])
|
||||
- Added partial detection to async_add_job ([@andrewsayre] - [#20119])
|
||||
- Fix tellduslive discovery and auth issues ([@fredrike] - [#20023]) ([tellduslive docs])
|
||||
- Use voluptuous to perform validation for the geofency webhook ([@rohankapoorcom] - [#20067]) ([geofency docs])
|
||||
- fixed gtt to report isotime ([@eliseomartelli] - [#20128]) ([sensor.gtt docs])
|
||||
- Move MQTT platforms under the component ([@emontnemery] - [#20050]) ([mqtt docs])
|
||||
- Split time_pattern triggers from time trigger ([@armills] - [#19825]) ([automation.interval docs]) ([automation.time docs]) (breaking change)
|
||||
- Change deCONZ to embedded platforms ([@Kane610] - [#20113]) ([deconz docs])
|
||||
- Improve Philips Hue color conversion 2 ([@starkillerOG] - [#20118])
|
||||
- Minor refactoring of MQTT availability ([@emontnemery] - [#20136]) ([mqtt docs])
|
||||
- Add notify.html5_dismiss service ([@quazzie] - [#19912]) ([notify docs])
|
||||
- Fix loading translations for embedded platforms ([@balloob] - [#20122])
|
||||
- Switch geofency tests to using an unauthenticated HTTP client ([@rohankapoorcom] - [#20080])
|
||||
- Zha light.turn_on service fixes. ([@Adminiuga] - [#20085]) ([zha docs])
|
||||
- Switch to ipapi.co (fixes #19846) ([@fabaff] - [#19886])
|
||||
- Accept both domains and entities in influxdb include ([@amelchio] - [#19927]) ([influxdb docs])
|
||||
- Make all deCONZ platforms use a common base ([@Kane610] - [#20137])
|
||||
- Reconnect and device name fix for harmony platform ([@ehendrix23] - [#20108]) ([remote.harmony docs])
|
||||
- Fix TTS say config validation ([@balloob] - [#20145]) ([tts docs])
|
||||
- Use the correct Unicode degree symbol ([@tgerla] - [#20058]) ([sensor.ambient_station docs])
|
||||
- Add support for connecting to multiple zoneminder instances ([@rohankapoorcom] - [#19955]) ([zoneminder docs]) ([camera.zoneminder docs]) ([sensor.zoneminder docs]) ([switch.zoneminder docs]) (breaking change)
|
||||
- Embed geofency platform into component ([@rohankapoorcom] - [#20083]) ([geofency docs])
|
||||
- Remove .isort because we use the config from setup.cfg ([@pvizeli] - [#20158])
|
||||
- Fix link to documentation link, select read-only ([@cvwillegen] - [#20155]) ([sensor.imap_email_content docs])
|
||||
- Embed mailgun platform into component ([@rohankapoorcom] - [#20147]) ([mailgun docs])
|
||||
- Enable setting alarm mode night for arlo platform ([@keslerm] - [#20143]) ([alarm_control_panel.arlo docs])
|
||||
- Support device_class for rest sensor ([@Anonym-tsk] - [#20132]) ([sensor.rest docs])
|
||||
- Migrate gpslogger to the automatically generated webhook ([@rohankapoorcom] - [#20079]) ([gpslogger docs]) (breaking change)
|
||||
- imap_email_content: allow configuring folder to read. ([@cvwillegen] - [#20160])
|
||||
- Make imports relative in ZHA component ([@dmulcahey] - [#20020]) ([zha docs])
|
||||
- Switch locative to use the webhook component ([@rohankapoorcom] - [#20043]) ([locative docs]) (breaking change)
|
||||
- Log exceptions thrown by MQTT message callbacks ([@emontnemery] - [#19977]) ([mqtt docs])
|
||||
- Upgrade aiohttp to 3.5.3 ([@fabaff] - [#19957])
|
||||
- Strip login username in backend ([@balloob] - [#20150])
|
||||
- Bump pynuki to 1.3.2 ([@damarco] - [#20173]) ([lock.nuki docs])
|
||||
- Add Xiaomi Airpurifier Pro V7 support ([@syssi] - [#20093]) ([fan.xiaomi_miio docs])
|
||||
- Add support for deconz radios to zha component ([@damarco] - [#20167]) ([zha docs])
|
||||
- Sensibo to use HA operation modes ([@balloob] - [#20180]) ([climate.sensibo docs]) (breaking change) (beta fix)
|
||||
- Distribute reconnect ([@balloob] - [#20181]) ([cloud docs]) (beta fix)
|
||||
- Add command to refresh auth ([@balloob] - [#20183]) ([cloud docs]) (beta fix)
|
||||
- Improve Sonos discovery ([@amelchio] - [#20196]) ([sonos docs]) (beta fix)
|
||||
- Handle non-string values in JSON renderer ([@pnbruckner] - [#20233]) (beta fix)
|
||||
- Bump aioesphomeapi to 1.4.2 ([@OttoWinter] - [#20247]) ([esphome docs]) (beta fix)
|
||||
- Remove double logging of automation action ([@amelchio] - [#20264]) (beta fix)
|
||||
- Allow 'all' entity_id in service schema ([@amelchio] - [#20278]) (beta fix)
|
||||
- Fix 'all' entity_id in service call extraction ([@amelchio] - [#20281]) (beta fix)
|
||||
- Align valid_entity_id with new slugify ([@kellerza] - [#20231]) (beta fix)
|
||||
- Config Validator: schema_with_slug_keys ([@kellerza] - [#20298]) (beta fix)
|
||||
- Bugfix: prevent error notification when octoprint server auto detected but no configuration present. ([@reefab] - [#20303]) ([octoprint docs]) (beta fix)
|
||||
- Should require the 'GATTOOL' setup extras which includes pexpect. ([@mitchellrj] - [#20263]) ([device_tracker docs]) (beta fix)
|
||||
- Fix xiaomi speed attribute name clash ([@syssi] - [#20312]) ([fan.xiaomi_miio docs]) (beta fix)
|
||||
- Update locationsharinglib to version 3.0.11 ([@rolfberkenbosch] - [#20322]) ([device_tracker docs]) (beta fix)
|
||||
- Fix invalid entity ID in entity registry ([@balloob] - [#20328]) (breaking change) (beta fix)
|
||||
|
||||
[#17548]: https://github.com/home-assistant/home-assistant/pull/17548
|
||||
[#17596]: https://github.com/home-assistant/home-assistant/pull/17596
|
||||
[#18334]: https://github.com/home-assistant/home-assistant/pull/18334
|
||||
[#18730]: https://github.com/home-assistant/home-assistant/pull/18730
|
||||
[#18891]: https://github.com/home-assistant/home-assistant/pull/18891
|
||||
[#18918]: https://github.com/home-assistant/home-assistant/pull/18918
|
||||
[#18951]: https://github.com/home-assistant/home-assistant/pull/18951
|
||||
[#18996]: https://github.com/home-assistant/home-assistant/pull/18996
|
||||
[#19262]: https://github.com/home-assistant/home-assistant/pull/19262
|
||||
[#19278]: https://github.com/home-assistant/home-assistant/pull/19278
|
||||
[#19288]: https://github.com/home-assistant/home-assistant/pull/19288
|
||||
[#19395]: https://github.com/home-assistant/home-assistant/pull/19395
|
||||
[#19454]: https://github.com/home-assistant/home-assistant/pull/19454
|
||||
[#19457]: https://github.com/home-assistant/home-assistant/pull/19457
|
||||
[#19462]: https://github.com/home-assistant/home-assistant/pull/19462
|
||||
[#19468]: https://github.com/home-assistant/home-assistant/pull/19468
|
||||
[#19478]: https://github.com/home-assistant/home-assistant/pull/19478
|
||||
[#19479]: https://github.com/home-assistant/home-assistant/pull/19479
|
||||
[#19571]: https://github.com/home-assistant/home-assistant/pull/19571
|
||||
[#19612]: https://github.com/home-assistant/home-assistant/pull/19612
|
||||
[#19625]: https://github.com/home-assistant/home-assistant/pull/19625
|
||||
[#19631]: https://github.com/home-assistant/home-assistant/pull/19631
|
||||
[#19649]: https://github.com/home-assistant/home-assistant/pull/19649
|
||||
[#19664]: https://github.com/home-assistant/home-assistant/pull/19664
|
||||
[#19704]: https://github.com/home-assistant/home-assistant/pull/19704
|
||||
[#19705]: https://github.com/home-assistant/home-assistant/pull/19705
|
||||
[#19717]: https://github.com/home-assistant/home-assistant/pull/19717
|
||||
[#19721]: https://github.com/home-assistant/home-assistant/pull/19721
|
||||
[#19722]: https://github.com/home-assistant/home-assistant/pull/19722
|
||||
[#19723]: https://github.com/home-assistant/home-assistant/pull/19723
|
||||
[#19739]: https://github.com/home-assistant/home-assistant/pull/19739
|
||||
[#19741]: https://github.com/home-assistant/home-assistant/pull/19741
|
||||
[#19742]: https://github.com/home-assistant/home-assistant/pull/19742
|
||||
[#19743]: https://github.com/home-assistant/home-assistant/pull/19743
|
||||
[#19745]: https://github.com/home-assistant/home-assistant/pull/19745
|
||||
[#19746]: https://github.com/home-assistant/home-assistant/pull/19746
|
||||
[#19753]: https://github.com/home-assistant/home-assistant/pull/19753
|
||||
[#19780]: https://github.com/home-assistant/home-assistant/pull/19780
|
||||
[#19782]: https://github.com/home-assistant/home-assistant/pull/19782
|
||||
[#19783]: https://github.com/home-assistant/home-assistant/pull/19783
|
||||
[#19784]: https://github.com/home-assistant/home-assistant/pull/19784
|
||||
[#19788]: https://github.com/home-assistant/home-assistant/pull/19788
|
||||
[#19792]: https://github.com/home-assistant/home-assistant/pull/19792
|
||||
[#19799]: https://github.com/home-assistant/home-assistant/pull/19799
|
||||
[#19804]: https://github.com/home-assistant/home-assistant/pull/19804
|
||||
[#19805]: https://github.com/home-assistant/home-assistant/pull/19805
|
||||
[#19816]: https://github.com/home-assistant/home-assistant/pull/19816
|
||||
[#19818]: https://github.com/home-assistant/home-assistant/pull/19818
|
||||
[#19825]: https://github.com/home-assistant/home-assistant/pull/19825
|
||||
[#19831]: https://github.com/home-assistant/home-assistant/pull/19831
|
||||
[#19840]: https://github.com/home-assistant/home-assistant/pull/19840
|
||||
[#19841]: https://github.com/home-assistant/home-assistant/pull/19841
|
||||
[#19843]: https://github.com/home-assistant/home-assistant/pull/19843
|
||||
[#19847]: https://github.com/home-assistant/home-assistant/pull/19847
|
||||
[#19851]: https://github.com/home-assistant/home-assistant/pull/19851
|
||||
[#19852]: https://github.com/home-assistant/home-assistant/pull/19852
|
||||
[#19854]: https://github.com/home-assistant/home-assistant/pull/19854
|
||||
[#19856]: https://github.com/home-assistant/home-assistant/pull/19856
|
||||
[#19857]: https://github.com/home-assistant/home-assistant/pull/19857
|
||||
[#19863]: https://github.com/home-assistant/home-assistant/pull/19863
|
||||
[#19865]: https://github.com/home-assistant/home-assistant/pull/19865
|
||||
[#19866]: https://github.com/home-assistant/home-assistant/pull/19866
|
||||
[#19867]: https://github.com/home-assistant/home-assistant/pull/19867
|
||||
[#19872]: https://github.com/home-assistant/home-assistant/pull/19872
|
||||
[#19877]: https://github.com/home-assistant/home-assistant/pull/19877
|
||||
[#19879]: https://github.com/home-assistant/home-assistant/pull/19879
|
||||
[#19880]: https://github.com/home-assistant/home-assistant/pull/19880
|
||||
[#19882]: https://github.com/home-assistant/home-assistant/pull/19882
|
||||
[#19886]: https://github.com/home-assistant/home-assistant/pull/19886
|
||||
[#19891]: https://github.com/home-assistant/home-assistant/pull/19891
|
||||
[#19892]: https://github.com/home-assistant/home-assistant/pull/19892
|
||||
[#19895]: https://github.com/home-assistant/home-assistant/pull/19895
|
||||
[#19899]: https://github.com/home-assistant/home-assistant/pull/19899
|
||||
[#19910]: https://github.com/home-assistant/home-assistant/pull/19910
|
||||
[#19912]: https://github.com/home-assistant/home-assistant/pull/19912
|
||||
[#19914]: https://github.com/home-assistant/home-assistant/pull/19914
|
||||
[#19915]: https://github.com/home-assistant/home-assistant/pull/19915
|
||||
[#19927]: https://github.com/home-assistant/home-assistant/pull/19927
|
||||
[#19928]: https://github.com/home-assistant/home-assistant/pull/19928
|
||||
[#19935]: https://github.com/home-assistant/home-assistant/pull/19935
|
||||
[#19938]: https://github.com/home-assistant/home-assistant/pull/19938
|
||||
[#19943]: https://github.com/home-assistant/home-assistant/pull/19943
|
||||
[#19944]: https://github.com/home-assistant/home-assistant/pull/19944
|
||||
[#19948]: https://github.com/home-assistant/home-assistant/pull/19948
|
||||
[#19949]: https://github.com/home-assistant/home-assistant/pull/19949
|
||||
[#19952]: https://github.com/home-assistant/home-assistant/pull/19952
|
||||
[#19955]: https://github.com/home-assistant/home-assistant/pull/19955
|
||||
[#19956]: https://github.com/home-assistant/home-assistant/pull/19956
|
||||
[#19957]: https://github.com/home-assistant/home-assistant/pull/19957
|
||||
[#19958]: https://github.com/home-assistant/home-assistant/pull/19958
|
||||
[#19960]: https://github.com/home-assistant/home-assistant/pull/19960
|
||||
[#19961]: https://github.com/home-assistant/home-assistant/pull/19961
|
||||
[#19962]: https://github.com/home-assistant/home-assistant/pull/19962
|
||||
[#19964]: https://github.com/home-assistant/home-assistant/pull/19964
|
||||
[#19965]: https://github.com/home-assistant/home-assistant/pull/19965
|
||||
[#19972]: https://github.com/home-assistant/home-assistant/pull/19972
|
||||
[#19977]: https://github.com/home-assistant/home-assistant/pull/19977
|
||||
[#19979]: https://github.com/home-assistant/home-assistant/pull/19979
|
||||
[#19980]: https://github.com/home-assistant/home-assistant/pull/19980
|
||||
[#19987]: https://github.com/home-assistant/home-assistant/pull/19987
|
||||
[#19988]: https://github.com/home-assistant/home-assistant/pull/19988
|
||||
[#19989]: https://github.com/home-assistant/home-assistant/pull/19989
|
||||
[#19991]: https://github.com/home-assistant/home-assistant/pull/19991
|
||||
[#19994]: https://github.com/home-assistant/home-assistant/pull/19994
|
||||
[#20011]: https://github.com/home-assistant/home-assistant/pull/20011
|
||||
[#20013]: https://github.com/home-assistant/home-assistant/pull/20013
|
||||
[#20016]: https://github.com/home-assistant/home-assistant/pull/20016
|
||||
[#20019]: https://github.com/home-assistant/home-assistant/pull/20019
|
||||
[#20020]: https://github.com/home-assistant/home-assistant/pull/20020
|
||||
[#20021]: https://github.com/home-assistant/home-assistant/pull/20021
|
||||
[#20023]: https://github.com/home-assistant/home-assistant/pull/20023
|
||||
[#20024]: https://github.com/home-assistant/home-assistant/pull/20024
|
||||
[#20031]: https://github.com/home-assistant/home-assistant/pull/20031
|
||||
[#20033]: https://github.com/home-assistant/home-assistant/pull/20033
|
||||
[#20037]: https://github.com/home-assistant/home-assistant/pull/20037
|
||||
[#20042]: https://github.com/home-assistant/home-assistant/pull/20042
|
||||
[#20043]: https://github.com/home-assistant/home-assistant/pull/20043
|
||||
[#20044]: https://github.com/home-assistant/home-assistant/pull/20044
|
||||
[#20050]: https://github.com/home-assistant/home-assistant/pull/20050
|
||||
[#20051]: https://github.com/home-assistant/home-assistant/pull/20051
|
||||
[#20055]: https://github.com/home-assistant/home-assistant/pull/20055
|
||||
[#20058]: https://github.com/home-assistant/home-assistant/pull/20058
|
||||
[#20061]: https://github.com/home-assistant/home-assistant/pull/20061
|
||||
[#20064]: https://github.com/home-assistant/home-assistant/pull/20064
|
||||
[#20066]: https://github.com/home-assistant/home-assistant/pull/20066
|
||||
[#20067]: https://github.com/home-assistant/home-assistant/pull/20067
|
||||
[#20069]: https://github.com/home-assistant/home-assistant/pull/20069
|
||||
[#20072]: https://github.com/home-assistant/home-assistant/pull/20072
|
||||
[#20075]: https://github.com/home-assistant/home-assistant/pull/20075
|
||||
[#20077]: https://github.com/home-assistant/home-assistant/pull/20077
|
||||
[#20079]: https://github.com/home-assistant/home-assistant/pull/20079
|
||||
[#20080]: https://github.com/home-assistant/home-assistant/pull/20080
|
||||
[#20083]: https://github.com/home-assistant/home-assistant/pull/20083
|
||||
[#20085]: https://github.com/home-assistant/home-assistant/pull/20085
|
||||
[#20088]: https://github.com/home-assistant/home-assistant/pull/20088
|
||||
[#20091]: https://github.com/home-assistant/home-assistant/pull/20091
|
||||
[#20092]: https://github.com/home-assistant/home-assistant/pull/20092
|
||||
[#20093]: https://github.com/home-assistant/home-assistant/pull/20093
|
||||
[#20108]: https://github.com/home-assistant/home-assistant/pull/20108
|
||||
[#20113]: https://github.com/home-assistant/home-assistant/pull/20113
|
||||
[#20118]: https://github.com/home-assistant/home-assistant/pull/20118
|
||||
[#20119]: https://github.com/home-assistant/home-assistant/pull/20119
|
||||
[#20122]: https://github.com/home-assistant/home-assistant/pull/20122
|
||||
[#20128]: https://github.com/home-assistant/home-assistant/pull/20128
|
||||
[#20132]: https://github.com/home-assistant/home-assistant/pull/20132
|
||||
[#20136]: https://github.com/home-assistant/home-assistant/pull/20136
|
||||
[#20137]: https://github.com/home-assistant/home-assistant/pull/20137
|
||||
[#20143]: https://github.com/home-assistant/home-assistant/pull/20143
|
||||
[#20145]: https://github.com/home-assistant/home-assistant/pull/20145
|
||||
[#20147]: https://github.com/home-assistant/home-assistant/pull/20147
|
||||
[#20150]: https://github.com/home-assistant/home-assistant/pull/20150
|
||||
[#20155]: https://github.com/home-assistant/home-assistant/pull/20155
|
||||
[#20158]: https://github.com/home-assistant/home-assistant/pull/20158
|
||||
[#20160]: https://github.com/home-assistant/home-assistant/pull/20160
|
||||
[#20167]: https://github.com/home-assistant/home-assistant/pull/20167
|
||||
[#20173]: https://github.com/home-assistant/home-assistant/pull/20173
|
||||
[#20180]: https://github.com/home-assistant/home-assistant/pull/20180
|
||||
[#20181]: https://github.com/home-assistant/home-assistant/pull/20181
|
||||
[#20183]: https://github.com/home-assistant/home-assistant/pull/20183
|
||||
[#20196]: https://github.com/home-assistant/home-assistant/pull/20196
|
||||
[#20231]: https://github.com/home-assistant/home-assistant/pull/20231
|
||||
[#20233]: https://github.com/home-assistant/home-assistant/pull/20233
|
||||
[#20247]: https://github.com/home-assistant/home-assistant/pull/20247
|
||||
[#20263]: https://github.com/home-assistant/home-assistant/pull/20263
|
||||
[#20264]: https://github.com/home-assistant/home-assistant/pull/20264
|
||||
[#20278]: https://github.com/home-assistant/home-assistant/pull/20278
|
||||
[#20281]: https://github.com/home-assistant/home-assistant/pull/20281
|
||||
[#20298]: https://github.com/home-assistant/home-assistant/pull/20298
|
||||
[#20303]: https://github.com/home-assistant/home-assistant/pull/20303
|
||||
[#20312]: https://github.com/home-assistant/home-assistant/pull/20312
|
||||
[#20322]: https://github.com/home-assistant/home-assistant/pull/20322
|
||||
[#20328]: https://github.com/home-assistant/home-assistant/pull/20328
|
||||
[@Adminiuga]: https://github.com/Adminiuga
|
||||
[@Anonym-tsk]: https://github.com/Anonym-tsk
|
||||
[@BaQs]: https://github.com/BaQs
|
||||
[@BoboTiG]: https://github.com/BoboTiG
|
||||
[@Kane610]: https://github.com/Kane610
|
||||
[@MartinHjelmare]: https://github.com/MartinHjelmare
|
||||
[@OttoWinter]: https://github.com/OttoWinter
|
||||
[@RealArtemiy]: https://github.com/RealArtemiy
|
||||
[@Rendili]: https://github.com/Rendili
|
||||
[@ReneNulschDE]: https://github.com/ReneNulschDE
|
||||
[@RomRider]: https://github.com/RomRider
|
||||
[@SNoof85]: https://github.com/SNoof85
|
||||
[@abmantis]: https://github.com/abmantis
|
||||
[@achatham]: https://github.com/achatham
|
||||
[@adrum]: https://github.com/adrum
|
||||
[@amelchio]: https://github.com/amelchio
|
||||
[@andrewsayre]: https://github.com/andrewsayre
|
||||
[@arigilder]: https://github.com/arigilder
|
||||
[@armills]: https://github.com/armills
|
||||
[@arsaboo]: https://github.com/arsaboo
|
||||
[@bachya]: https://github.com/bachya
|
||||
[@balloob]: https://github.com/balloob
|
||||
[@basbl]: https://github.com/basbl
|
||||
[@carstenschroeder]: https://github.com/carstenschroeder
|
||||
[@cdkonecny]: https://github.com/cdkonecny
|
||||
[@cliffordwhansen]: https://github.com/cliffordwhansen
|
||||
[@cvwillegen]: https://github.com/cvwillegen
|
||||
[@damarco]: https://github.com/damarco
|
||||
[@dmulcahey]: https://github.com/dmulcahey
|
||||
[@dshokouhi]: https://github.com/dshokouhi
|
||||
[@ehendrix23]: https://github.com/ehendrix23
|
||||
[@eliseomartelli]: https://github.com/eliseomartelli
|
||||
[@emontnemery]: https://github.com/emontnemery
|
||||
[@exxamalte]: https://github.com/exxamalte
|
||||
[@fabaff]: https://github.com/fabaff
|
||||
[@finish06]: https://github.com/finish06
|
||||
[@fredrike]: https://github.com/fredrike
|
||||
[@fronzbot]: https://github.com/fronzbot
|
||||
[@grea09]: https://github.com/grea09
|
||||
[@iamtpage]: https://github.com/iamtpage
|
||||
[@jarlebh]: https://github.com/jarlebh
|
||||
[@jkeljo]: https://github.com/jkeljo
|
||||
[@kellerza]: https://github.com/kellerza
|
||||
[@kennedyshead]: https://github.com/kennedyshead
|
||||
[@keslerm]: https://github.com/keslerm
|
||||
[@koomik]: https://github.com/koomik
|
||||
[@larsvinc]: https://github.com/larsvinc
|
||||
[@ledor473]: https://github.com/ledor473
|
||||
[@mikeage]: https://github.com/mikeage
|
||||
[@mindigmarton]: https://github.com/mindigmarton
|
||||
[@mitchellrj]: https://github.com/mitchellrj
|
||||
[@mopolus]: https://github.com/mopolus
|
||||
[@mxworm]: https://github.com/mxworm
|
||||
[@oblogic7]: https://github.com/oblogic7
|
||||
[@pbalogh77]: https://github.com/pbalogh77
|
||||
[@pnbruckner]: https://github.com/pnbruckner
|
||||
[@pvizeli]: https://github.com/pvizeli
|
||||
[@quazzie]: https://github.com/quazzie
|
||||
[@reefab]: https://github.com/reefab
|
||||
[@rohankapoorcom]: https://github.com/rohankapoorcom
|
||||
[@rolfberkenbosch]: https://github.com/rolfberkenbosch
|
||||
[@royduin]: https://github.com/royduin
|
||||
[@rymsha]: https://github.com/rymsha
|
||||
[@rytilahti]: https://github.com/rytilahti
|
||||
[@sander76]: https://github.com/sander76
|
||||
[@scarface-4711]: https://github.com/scarface-4711
|
||||
[@scop]: https://github.com/scop
|
||||
[@sdague]: https://github.com/sdague
|
||||
[@shred86]: https://github.com/shred86
|
||||
[@so3n]: https://github.com/so3n
|
||||
[@soberstadt]: https://github.com/soberstadt
|
||||
[@soldag]: https://github.com/soldag
|
||||
[@starkillerOG]: https://github.com/starkillerOG
|
||||
[@syssi]: https://github.com/syssi
|
||||
[@tgerla]: https://github.com/tgerla
|
||||
[@therve]: https://github.com/therve
|
||||
[@thomasdelaet]: https://github.com/thomasdelaet
|
||||
[@thomasloven]: https://github.com/thomasloven
|
||||
[@ttroy50]: https://github.com/ttroy50
|
||||
[@vaidyasr]: https://github.com/vaidyasr
|
||||
[@vincent-k]: https://github.com/vincent-k
|
||||
[abode docs]: /components/abode/
|
||||
[ads docs]: /components/ads/
|
||||
[alarm_control_panel docs]: /components/alarm_control_panel/
|
||||
[alarm_control_panel.alarmdotcom docs]: /components/alarm_control_panel.alarmdotcom/
|
||||
[alarm_control_panel.arlo docs]: /components/alarm_control_panel.arlo/
|
||||
[alarm_control_panel.elkm1 docs]: /components/alarm_control_panel.elkm1/
|
||||
[alarm_control_panel.homekit_controller docs]: /components/alarm_control_panel.homekit_controller/
|
||||
[alarm_control_panel.mqtt docs]: /components/alarm_control_panel.mqtt/
|
||||
[alexa docs]: /components/alexa/
|
||||
[automation.geo_location docs]: /docs/automation/trigger/#geo_location-trigger
|
||||
[automation.interval docs]: /docs/automation/trigger/#interval-trigger
|
||||
[automation.time docs]: /docs/automation/trigger/#time-trigger
|
||||
[binary_sensor.fibaro docs]: /components/binary_sensor.fibaro/
|
||||
[binary_sensor.hive docs]: /components/binary_sensor.hive/
|
||||
[binary_sensor.workday docs]: /components/binary_sensor.workday/
|
||||
[binary_sensor.xiaomi_aqara docs]: /components/binary_sensor.xiaomi_aqara/
|
||||
[blink docs]: /components/blink/
|
||||
[camera.proxy docs]: /components/camera.proxy/
|
||||
[camera.xiaomi docs]: /components/camera.xiaomi/
|
||||
[camera.zoneminder docs]: /components/camera.zoneminder/
|
||||
[climate.hive docs]: /components/climate.hive/
|
||||
[climate.mqtt docs]: /components/climate.mqtt/
|
||||
[climate.sensibo docs]: /components/climate.sensibo/
|
||||
[cloud docs]: /components/cloud/
|
||||
[cover.fibaro docs]: /components/cover.fibaro/
|
||||
[cover.homekit_controller docs]: /components/cover.homekit_controller/
|
||||
[cover.mqtt docs]: /components/cover.mqtt/
|
||||
[deconz docs]: /components/deconz/
|
||||
[device_tracker docs]: /components/device_tracker/
|
||||
[doorbird docs]: /components/doorbird/
|
||||
[emulated_roku docs]: /components/emulated_roku/
|
||||
[esphome docs]: /components/esphome/
|
||||
[fan.mqtt docs]: /components/fan.mqtt/
|
||||
[fan.xiaomi_miio docs]: /components/fan.xiaomi_miio/
|
||||
[fibaro docs]: /components/fibaro/
|
||||
[geo_location docs]: /components/geo_location/
|
||||
[geofency docs]: /components/geofency/
|
||||
[gpslogger docs]: /components/gpslogger/
|
||||
[greeneye_monitor docs]: /components/greeneye_monitor/
|
||||
[hassio docs]: /components/hassio/
|
||||
[hive docs]: /components/hive/
|
||||
[homekit_controller docs]: /components/homekit_controller/
|
||||
[homematicip_cloud docs]: /components/homematicip_cloud/
|
||||
[ihc docs]: /components/ihc/
|
||||
[image_processing.tensorflow docs]: /components/image_processing.tensorflow/
|
||||
[influxdb docs]: /components/influxdb/
|
||||
[konnected docs]: /components/konnected/
|
||||
[light.fibaro docs]: /components/light.fibaro/
|
||||
[light.hive docs]: /components/light.hive/
|
||||
[light.homematicip_cloud docs]: /components/light.homematicip_cloud/
|
||||
[light.mqtt docs]: /components/light.mqtt/
|
||||
[light.rpi_gpio_pwm docs]: /components/light.rpi_gpio_pwm/
|
||||
[light.tradfri docs]: /components/light.tradfri/
|
||||
[locative docs]: /components/locative/
|
||||
[lock.homekit_controller docs]: /components/lock.homekit_controller/
|
||||
[lock.mqtt docs]: /components/lock.mqtt/
|
||||
[lock.nuki docs]: /components/lock.nuki/
|
||||
[lock.zwave docs]: /components/lock.zwave/
|
||||
[mailgun docs]: /components/mailgun/
|
||||
[media_player.anthemav docs]: /components/media_player.anthemav/
|
||||
[media_player.nad docs]: /components/media_player.nad/
|
||||
[media_player.roku docs]: /components/media_player.roku/
|
||||
[media_player.songpal docs]: /components/media_player.songpal/
|
||||
[mqtt docs]: /components/mqtt/
|
||||
[mysensors docs]: /components/mysensors/
|
||||
[neato docs]: /components/neato/
|
||||
[notify docs]: /components/notify/
|
||||
[octoprint docs]: /components/octoprint/
|
||||
[openuv docs]: /components/openuv/
|
||||
[plant docs]: /components/plant/
|
||||
[rainmachine docs]: /components/rainmachine/
|
||||
[remote.harmony docs]: /components/remote.harmony/
|
||||
[remote.roku docs]: /components/remote.roku/
|
||||
[roku docs]: /components/roku/
|
||||
[scene.fibaro docs]: /components/scene.fibaro/
|
||||
[scene.hunterdouglas_powerview docs]: /components/scene.hunterdouglas_powerview/
|
||||
[sensor.ambient_station docs]: /components/sensor.ambient_station/
|
||||
[sensor.blink docs]: /components/sensor.blink/
|
||||
[sensor.darksky docs]: /components/sensor.darksky/
|
||||
[sensor.dublin_bus_transport docs]: /components/sensor.dublin_bus_transport/
|
||||
[sensor.fail2ban docs]: /components/sensor.fail2ban/
|
||||
[sensor.fibaro docs]: /components/sensor.fibaro/
|
||||
[sensor.flunearyou docs]: /components/sensor.flunearyou/
|
||||
[sensor.freebox docs]: /components/sensor.freebox/
|
||||
[sensor.gtt docs]: /components/sensor.gtt/
|
||||
[sensor.hive docs]: /components/sensor.hive/
|
||||
[sensor.imap_email_content docs]: /components/sensor.imap_email_content/
|
||||
[sensor.influxdb docs]: /components/sensor.influxdb/
|
||||
[sensor.jewish_calendar docs]: /components/sensor.jewish_calendar/
|
||||
[sensor.lastfm docs]: /components/sensor.lastfm/
|
||||
[sensor.min_max docs]: /components/sensor.min_max/
|
||||
[sensor.mqtt docs]: /components/sensor.mqtt/
|
||||
[sensor.mychevy docs]: /components/sensor.mychevy/
|
||||
[sensor.nest docs]: /components/sensor.nest/
|
||||
[sensor.postnl docs]: /components/sensor.postnl/
|
||||
[sensor.prezzibenzina docs]: /components/sensor.prezzibenzina/
|
||||
[sensor.rest docs]: /components/sensor.rest/
|
||||
[sensor.sma docs]: /components/sensor.sma/
|
||||
[sensor.snmp docs]: /components/sensor.snmp/
|
||||
[sensor.tautulli docs]: /components/sensor.tautulli/
|
||||
[sensor.vasttrafik docs]: /components/sensor.vasttrafik/
|
||||
[sensor.zoneminder docs]: /components/sensor.zoneminder/
|
||||
[simplisafe docs]: /components/simplisafe/
|
||||
[sonos docs]: /components/sonos/
|
||||
[switch.fibaro docs]: /components/switch.fibaro/
|
||||
[switch.hive docs]: /components/switch.hive/
|
||||
[switch.mqtt docs]: /components/switch.mqtt/
|
||||
[switch.snmp docs]: /components/switch.snmp/
|
||||
[switch.tradfri docs]: /components/switch.tradfri/
|
||||
[switch.xiaomi_miio docs]: /components/switch.xiaomi_miio/
|
||||
[switch.zoneminder docs]: /components/switch.zoneminder/
|
||||
[tahoma docs]: /components/tahoma/
|
||||
[tellduslive docs]: /components/tellduslive/
|
||||
[tts docs]: /components/tts/
|
||||
[unifi docs]: /components/unifi/
|
||||
[vacuum docs]: /components/vacuum/
|
||||
[vacuum.mqtt docs]: /components/vacuum.mqtt/
|
||||
[vacuum.neato docs]: /components/vacuum.neato/
|
||||
[waterfurnace docs]: /components/waterfurnace/
|
||||
[wink docs]: /components/wink/
|
||||
[zha docs]: /components/zha/
|
||||
[zoneminder docs]: /components/zoneminder/
|
||||
[zwave docs]: /components/zwave/
|
Before Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 41 KiB |
@ -3,106 +3,11 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Home Assistant Demo</title>
|
||||
<meta name="description" content="Open-source home automation platform running on Python 3 and Polymer.">
|
||||
<link rel='manifest' href='/demo/manifest.json' />
|
||||
<link rel='shortcut icon' href='/demo/favicon.ico' />
|
||||
<link rel='icon' type='image/png'
|
||||
href='/demo/favicon-192x192.png' sizes='192x192'>
|
||||
<link rel='apple-touch-icon' sizes='180x180'
|
||||
href='/demo/favicon-apple-180x180.png'>
|
||||
<meta name='apple-mobile-web-app-capable' content='yes'>
|
||||
<meta name='mobile-web-app-capable' content='yes'>
|
||||
<meta http-equiv="refresh" content="0;url=https://demo.home-assistant.io/" />
|
||||
<meta name='viewport' content='width=device-width,
|
||||
user-scalable=no' />
|
||||
<meta name='theme-color' content='#03a9f4'>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Roboto', 'Noto', sans-serif;
|
||||
font-weight: 300;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
text-rendering: optimizeLegibility;
|
||||
}
|
||||
|
||||
#ha-init-skeleton {
|
||||
display: -webkit-flex;
|
||||
display: flex;
|
||||
-webkit-flex-direction: column;
|
||||
-webkit-justify-content: center;
|
||||
-webkit-align-items: center;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
margin-bottom: 83px;
|
||||
font-family: Roboto, sans-serif;
|
||||
font-size: 0pt;
|
||||
transition: font-size 2s;
|
||||
}
|
||||
|
||||
#ha-init-skeleton paper-spinner {
|
||||
height: 28px;
|
||||
margin-top: 16px;
|
||||
}
|
||||
|
||||
#ha-init-skeleton a {
|
||||
color: #03A9F4;
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#ha-init-skeleton.error {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
#ha-init-skeleton.error img,
|
||||
#ha-init-skeleton.error paper-spinner {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
function initError() {
|
||||
document
|
||||
.getElementById('ha-init-skeleton')
|
||||
.classList.add('error');
|
||||
};
|
||||
window.noAuth = true;
|
||||
window.Polymer = {lazyRegister: true, useNativeCSSProperties: true, dom: 'shady'}
|
||||
</script>
|
||||
</head>
|
||||
<body fullbleed>
|
||||
<div id='ha-init-skeleton'>
|
||||
<img src='/static/favicon-192x192.png' height='192'>
|
||||
<paper-spinner active></paper-spinner>
|
||||
Home Assistant had trouble<br>connecting to the server.<br><br><a href='/demo/'>TRY AGAIN</a>
|
||||
</div>
|
||||
<script>
|
||||
var webComponentsSupported = (
|
||||
'registerElement' in document &&
|
||||
'import' in document.createElement('link') &&
|
||||
'content' in document.createElement('template'));
|
||||
if (!webComponentsSupported) {
|
||||
var script = document.createElement('script')
|
||||
script.async = true
|
||||
script.onerror = initError;
|
||||
script.src = '/demo/webcomponents-lite.min.js'
|
||||
document.head.appendChild(script)
|
||||
}
|
||||
</script>
|
||||
<home-assistant auth='no_password_set' icons='demo'></home-assistant>
|
||||
<script src='/demo/data.js'></script>
|
||||
<script src='/demo/core.js'></script>
|
||||
<link rel='import' href='/demo/frontend.html' onerror='initError()' async />
|
||||
<link rel='import' href='/static/mdi-demo.html' async />
|
||||
<script>
|
||||
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
|
||||
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
|
||||
g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
|
||||
s.parentNode.insertBefore(g,s)}(document,'script'));
|
||||
</script>
|
||||
<body>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,13 +0,0 @@
|
||||
{
|
||||
"name": "Home Assistant",
|
||||
"short_name": "Assistant",
|
||||
"start_url": "/demo/",
|
||||
"display": "standalone",
|
||||
"icons": [
|
||||
{
|
||||
"src": "\/static\/favicon-192x192.png",
|
||||
"sizes": "192x192",
|
||||
"type": "image\/png"
|
||||
}
|
||||
]
|
||||
}
|
@ -1,2 +0,0 @@
|
||||
<html><head><meta charset="UTF-8"></head><body><dom-module id="ha-panel-dev-info"><template><style include="iron-positioning ha-style">:host{background-color:#fff;-ms-user-select:initial;-webkit-user-select:initial;-moz-user-select:initial}.content{padding:24px}.about{text-align:center;line-height:2em}.version{@apply(--paper-font-headline)}.develop{@apply(--paper-font-subhead)}.about a{color:var(--dark-primary-color)}.error-log-intro{margin-top:16px;border-top:1px solid var(--light-primary-color);padding-top:16px}paper-icon-button{float:right}.error-log{@apply(--paper-font-code1)
|
||||
clear: both;white-space:pre-wrap}</style><app-header-layout has-scrolling-region=""><app-header fixed=""><app-toolbar><ha-menu-button narrow="[[narrow]]" show-menu="[[showMenu]]"></ha-menu-button><div main-title="">About</div></app-toolbar></app-header><div class="content fit"><div class="about"><p class="version"><a href="https://www.home-assistant.io"><img src="/static/icons/favicon-192x192.png" height="192"></a><br>Home Assistant<br>[[hassVersion]]</p><p class="develop"><a href="https://www.home-assistant.io/developers/credits/" target="_blank">Developed by a bunch of awesome people.</a></p><p>Published under the MIT license<br>Source: <a href="https://github.com/balloob/home-assistant" target="_blank">server</a> — <a href="https://github.com/balloob/home-assistant-polymer" target="_blank">frontend-ui</a> — <a href="https://github.com/balloob/home-assistant-js" target="_blank">frontend-core</a></p><p>Built using <a href="https://www.python.org">Python 3</a>, <a href="https://www.polymer-project.org" target="_blank">Polymer [[polymerVersion]]</a>, <a href="https://optimizely.github.io/nuclear-js/" target="_blank">NuclearJS [[nuclearVersion]]</a><br>Icons by <a href="https://www.google.com/design/icons/" target="_blank">Google</a> and <a href="https://MaterialDesignIcons.com" target="_blank">MaterialDesignIcons.com</a>.</p></div><p class="error-log-intro">The following errors have been logged this session:<paper-icon-button icon="mdi:refresh" on-tap="refreshErrorLog"></paper-icon-button></p><div class="error-log">[[errorLog]]</div></div></app-header-layout></template></dom-module><script>Polymer({is:"ha-panel-dev-info",behaviors:[window.hassBehavior],properties:{hass:{type:Object},narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1},hassVersion:{type:String,bindNuclear:function(r){return r.configGetters.serverVersion}},polymerVersion:{type:String,value:Polymer.version},nuclearVersion:{type:String,value:"1.3.0"},errorLog:{type:String,value:""}},attached:function(){this.refreshErrorLog()},refreshErrorLog:function(r){r&&r.preventDefault(),this.errorLog="Loading error log…",this.hass.errorLogActions.fetchErrorLog().then(function(r){this.errorLog=r||"No errors have been reported."}.bind(this))}})</script></body></html>
|
@ -1 +0,0 @@
|
||||
<html><head><meta charset="UTF-8"></head><body><dom-module id="ha-panel-iframe"><template><style include="ha-style">iframe{border:0;width:100%;height:calc(100% - 64px)}</style><app-toolbar><ha-menu-button narrow="[[narrow]]" show-menu="[[showMenu]]"></ha-menu-button><div main-title="">[[panel.title]]</div></app-toolbar><iframe src="[[panel.config.url]]" sandbox="allow-forms allow-popups allow-pointer-lock allow-same-origin allow-scripts"></iframe></template></dom-module><script>Polymer({is:"ha-panel-iframe",properties:{panel:{type:Object},narrow:{type:Boolean},showMenu:{type:Boolean}}})</script></body></html>
|
Before Width: | Height: | Size: 28 KiB |
12
source/demo/webcomponents-lite.min.js
vendored
BIN
source/images/blog/2019-01-lovelace/demo.png
Normal file
After Width: | Height: | Size: 68 KiB |
BIN
source/images/blog/2019-01-release-86/demo.png
Normal file
After Width: | Height: | Size: 107 KiB |
BIN
source/images/blog/2019-01-release-86/zha.png
Normal file
After Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.1 KiB |
BIN
source/images/supported_brands/gpslogger.png
Executable file
After Width: | Height: | Size: 26 KiB |