Merge branch 'rc' into current
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
@ -10,7 +10,7 @@
|
||||
|
||||
## Type of change
|
||||
<!--
|
||||
What types of changes does your PR introduce to our documention/website?
|
||||
What types of changes does your PR introduce to our documentation/website?
|
||||
Put an `x` in the boxes that apply. You can also fill these out after
|
||||
creating the PR.
|
||||
-->
|
||||
|
@ -237,7 +237,6 @@ source/_integrations/openuv.markdown @bachya
|
||||
source/_integrations/openweathermap.markdown @fabaff
|
||||
source/_integrations/orangepi_gpio.markdown @pascallj
|
||||
source/_integrations/oru.markdown @bvlaicu
|
||||
source/_integrations/owlet.markdown @oblogic7
|
||||
source/_integrations/panel_custom.markdown @home-assistant/frontend
|
||||
source/_integrations/panel_iframe.markdown @home-assistant/frontend
|
||||
source/_integrations/pcal9535a.markdown @Shulyaka
|
||||
|
@ -100,9 +100,9 @@ social:
|
||||
|
||||
# Home Assistant release details
|
||||
current_major_version: 0
|
||||
current_minor_version: 104
|
||||
current_patch_version: 3
|
||||
date_released: 2020-01-21
|
||||
current_minor_version: 105
|
||||
current_patch_version: 0
|
||||
date_released: 2020-02-05
|
||||
|
||||
# Either # or the anchor link to latest release notes in the blog post.
|
||||
# Must be prefixed with a # and have double quotes around it.
|
||||
|
@ -63,7 +63,6 @@ automation:
|
||||
|
||||
# Send a notification via Pushover with the event of a Xiaomi cube. Custom event from the Xiaomi component.
|
||||
- alias: 'Xiaomi Cube Action'
|
||||
hide_entity: false
|
||||
initial_state: false
|
||||
trigger:
|
||||
platform: event
|
||||
|
@ -1,184 +0,0 @@
|
||||
---
|
||||
title: "Group Visibility"
|
||||
description: "Instructions on how to change group visibility using automations."
|
||||
redirect_from: /topics/group_visibility/
|
||||
---
|
||||
|
||||
After filling Home Assistant with all your precious home automation devices, you usually end up with a cluttered interface and lots of groups that are not interesting in your current context. What if you just want to show groups that are interesting _now_ and hide the rest? That's when group visibility comes to play.
|
||||
|
||||
## Changing visibility of a group
|
||||
|
||||
To change visibility of a group, use the service `group.set_visibility`, pass the group name as `entity_id` and use `visible` to decide whether the group should be shown or hidden.
|
||||
|
||||
```yaml
|
||||
service: group.set_visibility
|
||||
entity_id: group.basement
|
||||
data:
|
||||
visible: false
|
||||
```
|
||||
|
||||
<div class='note'>
|
||||
If a sensor belongs to only one group and that group is hidden, the sensor will "jump" to the top of the web interface. Add the sensor to an additional (visible) group if you do not want this to happen.
|
||||
</div>
|
||||
|
||||
## Automations
|
||||
|
||||
First you should decide under which circumstances a group should be visible or not. Depending on the complexity, you might have to write two automations: one that hides the group and another that shows it.
|
||||
|
||||
In this example, the group `group.basement` is hidden when the sun sets and shown again when it rises:
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
trigger:
|
||||
platform: sun
|
||||
event: sunset
|
||||
action:
|
||||
service: group.set_visibility
|
||||
entity_id: group.basement
|
||||
data:
|
||||
visible: false
|
||||
|
||||
automation 2:
|
||||
trigger:
|
||||
platform: sun
|
||||
event: sunrise
|
||||
action:
|
||||
service: group.set_visibility
|
||||
entity_id: group.basement
|
||||
data:
|
||||
visible: true
|
||||
```
|
||||
|
||||
## Easier automations
|
||||
|
||||
One of the most common uses cases are to show groups during certain times of day, maybe commuting information during a work day morning or light switches when it is getting dark. The complexity of automations needed to make this happen will quickly get out of hand. So, one way to make the automations easier is to create a sensor that alters its state depending on time of day. One way of doing that is using a `command_line` sensor and a script:
|
||||
|
||||
```python
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from datetime import time, datetime
|
||||
|
||||
|
||||
def mk_occasion(name, start, end, days=None):
|
||||
s = start.split(":")
|
||||
e = end.split(":")
|
||||
return {
|
||||
"name": name,
|
||||
"start": time(int(s[0]), int(s[1]), int(s[2])),
|
||||
"end": time(int(e[0]), int(e[1]), int(e[2])),
|
||||
"days": days,
|
||||
}
|
||||
|
||||
|
||||
# Matching is done from top to bottom
|
||||
OCCASIONS = [
|
||||
# More specific occasions
|
||||
mk_occasion("work_morning", "06:00:00", "07:10:00", range(5)),
|
||||
# General matching
|
||||
mk_occasion("weekday", "00:00:00", "23:59:59", range(5)),
|
||||
mk_occasion("weekend", "00:00:00", "23:59:59", [5, 6]),
|
||||
]
|
||||
|
||||
|
||||
def get_current_occasion(occasion_list, default_occasion="normal"):
|
||||
now = datetime.now()
|
||||
for occasion in OCCASIONS:
|
||||
if occasion["start"] <= now.time() <= occasion["end"] and (
|
||||
occasion["days"] is None or now.weekday() in occasion["days"]
|
||||
):
|
||||
return occasion["name"]
|
||||
return default_occasion
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
print(get_current_occasion(OCCASIONS))
|
||||
```
|
||||
|
||||
This script will output "work_morning" from 06:00-07:10 during weekdays (Monday-Friday), "weekday" during all other time from Monday-Friday and "weekend" on Saturdays and Sundays. Adjust according to your needs. To create the sensor, just add it like this:
|
||||
|
||||
```yaml
|
||||
sensor:
|
||||
- platform: command_line
|
||||
name: Occasion
|
||||
command: "python3 occasion.py"
|
||||
```
|
||||
<div class='note'>
|
||||
If you are using docker to run Home Assistant then the occasion.py script will be placed under /config. Your command should instead be: command: "python3 /config/occasion.py"
|
||||
</div>
|
||||
|
||||
|
||||
To simplify things, we create a Home Assistant script that changes the visibility of a group, but also verifies that an entity is in a specific state:
|
||||
|
||||
```yaml
|
||||
script:
|
||||
group_visibility:
|
||||
sequence:
|
||||
- service: group.set_visibility
|
||||
data_template:
|
||||
entity_id: '{% raw %}{{ entity_id }}{% endraw %}'
|
||||
visible: '{% raw %}{{ is_state(cond, visible_state) }}{% endraw %}'
|
||||
```
|
||||
|
||||
The last part is writing an automation that hides or shows the group:
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
- alias: Work morning
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: sensor.occasion
|
||||
- platform: homeassistant
|
||||
event: start
|
||||
action:
|
||||
service: script.group_visibility
|
||||
data:
|
||||
entity_id: group.work_sensors
|
||||
cond: sensor.occasion
|
||||
visible_state: 'work_morning'
|
||||
```
|
||||
|
||||
Our previously defined script will be called if `sensor.occasion` changes state OR when Home Assistant has started. The group `group.work_sensors` will be shown when `sensor.occasion` changes state to "work_morning" and hidden otherwise.
|
||||
|
||||
### The complete example
|
||||
|
||||
```yaml
|
||||
group:
|
||||
default_view:
|
||||
entities:
|
||||
- group.work_sensors
|
||||
|
||||
# Only visible when it's time to go to work
|
||||
work_sensors:
|
||||
name: Time to go to work
|
||||
entities:
|
||||
- sensor.something1
|
||||
- sensor.something2
|
||||
|
||||
sensor:
|
||||
- platform: command_line
|
||||
name: Occasion
|
||||
command: "python3 occasion.py"
|
||||
|
||||
script:
|
||||
group_visibility:
|
||||
sequence:
|
||||
- service: group.set_visibility
|
||||
data_template:
|
||||
entity_id: '{% raw %}{{ entity_id }}{% endraw %}'
|
||||
visible: '{% raw %}{{ is_state(cond, visible_state) }}{% endraw %}'
|
||||
|
||||
automation:
|
||||
- alias: Work morning
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: sensor.occasion
|
||||
- platform: homeassistant
|
||||
event: start
|
||||
action:
|
||||
service: script.group_visibility
|
||||
data:
|
||||
entity_id: group.work_sensors
|
||||
cond: sensor.occasion
|
||||
visible_state: 'work_morning'
|
||||
```
|
@ -37,7 +37,7 @@ payload_template: {{ states('device_tracker.paulus') }}
|
||||
```yaml
|
||||
topic: home-assistant/light/1/state
|
||||
payload: "{\"Status\":\"off\", \"Data\":\"something\"}"
|
||||
```
|
||||
```
|
||||
|
||||
Example of how to use `qos` and `retain`:
|
||||
|
||||
@ -47,3 +47,16 @@ payload: on
|
||||
qos: 2
|
||||
retain: true
|
||||
```
|
||||
|
||||
### Service `mqtt.dump`
|
||||
|
||||
Listen to the specified topic matcher and dumps all received messages within a specific duration into the file `mqtt_dump.txt` in your config folder. This is useful when debugging a problem.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `topic` | no | Topic to dump. Can contain a wildcard (`#` or `+`).
|
||||
| `duration` | no | Duration in seconds that we will listen for messages. Default is 5 seconds.
|
||||
|
||||
```yaml
|
||||
topic: openzwave/#
|
||||
```
|
||||
|
@ -54,10 +54,6 @@
|
||||
{% active_link /docs/configuration/secrets/ Storing Secrets %}
|
||||
</li>
|
||||
<li>{% active_link /docs/configuration/templating/ Templating %}</li>
|
||||
<li>
|
||||
{% active_link /docs/configuration/group_visibility/ Group
|
||||
Visibility %}
|
||||
</li>
|
||||
<li>
|
||||
{% active_link /docs/configuration/platform_options/ Entity
|
||||
component platform options %}
|
||||
|
@ -14,6 +14,7 @@
|
||||
<h1 class="title delta">Advanced</h1>
|
||||
<ul class='divided sidebar-menu'>
|
||||
<li>{% active_link /lovelace/how-it-works/ How it works %}</li>
|
||||
<li>{% active_link /lovelace/header-footer/ Headers & Footers %}</li>
|
||||
<li>{% active_link /lovelace/yaml-mode/ YAML mode %}</li>
|
||||
<li>{% active_link /lovelace/views/ Views %}</li>
|
||||
<li><a href='https://developers.home-assistant.io/docs/en/lovelace_custom_card.html'>Developing Custom Cards <i icon='icon-external-link'></i></a></li>
|
||||
|
104
source/_integrations/alarm_control_panel.template.markdown
Normal file
@ -0,0 +1,104 @@
|
||||
---
|
||||
title: "Template Alarm Control Panel"
|
||||
description: "Instructions on how to integrate Template Alarm Control Panels into Home Assistant."
|
||||
ha_category:
|
||||
- Alarm
|
||||
ha_release: 0.105
|
||||
ha_iot_class: "Local Push"
|
||||
logo: home-assistant.png
|
||||
ha_qa_scale: internal
|
||||
---
|
||||
|
||||
The `template` integrations creates alarm control panels that combine integrations or adds pre-processing logic to actions.
|
||||
|
||||
There are several powerful ways to use this integration, including grouping existing integrations into a simpler integrations, or adding logic that Home Assistant will execute when accessed.
|
||||
|
||||
For example, if you want to expose a true alarm panel to Google Home, Alexa, or Homekit - but limit its ability to disarm when there's no one home, you can do that using a template.
|
||||
|
||||
Another use case could be grouping a series of sensors and services together to represent various "armed" and "disarmed" states and actions.
|
||||
|
||||
This can simplify the GUI and make it easier to write automations.
|
||||
|
||||
In optimistic mode, the alarm control panel will immediately change state after every command. Otherwise, the alarm control panel will wait for state confirmation from the template. Try to enable it, if experiencing incorrect operation.
|
||||
|
||||
## Configuration
|
||||
|
||||
To enable a Template Alarm Control Panel in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
{% raw %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
alarm_control_panel:
|
||||
- platform: template
|
||||
panels:
|
||||
safe_alarm_panel:
|
||||
value_template: "{{ states('alarm_control_panel.real_alarm') }}"
|
||||
arm_away:
|
||||
service: alarm_control_panel.alarm_arm_away
|
||||
data:
|
||||
entity_id: alarm_control_panel.real_alarm
|
||||
code: !secret alarm_code
|
||||
arm_home:
|
||||
service: alarm_control_panel.alarm_arm_home
|
||||
data:
|
||||
entity_id: alarm_control_panel.real_alarm
|
||||
code: !secret alarm_code
|
||||
disarm:
|
||||
- condition: state
|
||||
entity_id: device_tracker.paulus
|
||||
state: 'home'
|
||||
- service: alarm_control_panel.alarm_arm_home
|
||||
data:
|
||||
entity_id: alarm_control_panel.real_alarm
|
||||
code: !secret alarm_code
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
||||
{% configuration %}
|
||||
panels:
|
||||
description: List of your panels.
|
||||
required: true
|
||||
type: map
|
||||
keys:
|
||||
alarm_control_panel_name:
|
||||
description: The slug of the panel.
|
||||
required: true
|
||||
type: map
|
||||
keys:
|
||||
name:
|
||||
description: Name to use in the frontend.
|
||||
required: false
|
||||
type: string
|
||||
default: Template Alarm Control Panel
|
||||
value_template:
|
||||
description: "Defines a template to set the state of the alarm panel. Only the states `armed_away`, `armed_home`, `armed_night`, `disarmed`, `triggered` and `unavailable` are used."
|
||||
required: false
|
||||
type: template
|
||||
disarm:
|
||||
description: Defines an action to run when the alarm is disarmed.
|
||||
required: false
|
||||
type: action
|
||||
arm_away:
|
||||
description: Defines an action to run when the alarm is armed to away mode.
|
||||
required: false
|
||||
type: action
|
||||
arm_home:
|
||||
description: Defines an action to run when the alarm is armed to home mode.
|
||||
required: false
|
||||
type: action
|
||||
arm_night:
|
||||
description: Defines an action to run when the alarm is armed to night mode.
|
||||
required: false
|
||||
type: action
|
||||
{% endconfiguration %}
|
||||
|
||||
|
||||
|
||||
|
||||
## Considerations
|
||||
|
||||
If you are using the state of a integration that takes extra time to load, the Template Alarm Control Panel may get an `unknown` state during startup. This results in error messages in your log file until that integration has completed loading. If you use `is_state()` function in your template, you can avoid this situation.
|
||||
|
||||
For example, you would replace {% raw %}`{{ states.switch.source.state == 'on' }}`{% endraw %} with this equivalent that returns `true`/`false` and never gives an unknown result: {% raw %}`{{ is_state('switch.source', 'on') }}`{% endraw %}
|
@ -77,10 +77,15 @@ get_sources:
|
||||
default: true
|
||||
type: boolean
|
||||
apps:
|
||||
description: A dictionary where the keys are app IDs and the values are app names that will be displayed in the UI; see example below. ([These app names](https://github.com/JeffLIrion/python-androidtv/blob/5c39196ade3f88ab453b205fd15b32472d3e0482/androidtv/constants.py#L267-L283) are configured in the backend package and do not need to be included in your configuration.)
|
||||
description: A dictionary where the keys are app IDs and the values are app names that will be displayed in the UI; see example below. If a name is not provided, the app will never be shown in the sources list. ([These app names](https://github.com/JeffLIrion/python-androidtv/blob/5c39196ade3f88ab453b205fd15b32472d3e0482/androidtv/constants.py#L267-L283) are configured in the backend package and do not need to be included in your configuration.)
|
||||
required: false
|
||||
default: {}
|
||||
type: map
|
||||
exclude_unnamed_apps:
|
||||
description: If this is true, then only the apps you specify in the `apps` configuration parameter and [those specified in the backend library](https://github.com/JeffLIrion/python-androidtv/blob/5c39196ade3f88ab453b205fd15b32472d3e0482/androidtv/constants.py#L267-L283) will be shown in the sources list.
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
device_class:
|
||||
description: "The type of device: `auto` (detect whether it is an Android TV or Fire TV device), `androidtv`, or `firetv`."
|
||||
required: false
|
||||
@ -107,15 +112,19 @@ turn_off_command:
|
||||
# Example configuration.yaml entry
|
||||
media_player:
|
||||
# Use the Python ADB implementation with a user-provided key to setup an
|
||||
# Android TV device. Provide an app name, override the default turn on/off
|
||||
# commands, and provide custom state detection rules.
|
||||
# Android TV device. Provide some app names and don't display other apps
|
||||
# in the sources menu. Override the default turn on/off commands, and
|
||||
# provide custom state detection rules.
|
||||
- platform: androidtv
|
||||
name: Android TV
|
||||
device_class: androidtv
|
||||
host: 192.168.0.222
|
||||
adbkey: "/config/android/adbkey"
|
||||
exclude_unnamed_apps: true
|
||||
apps:
|
||||
com.amazon.tv.launcher: "Fire TV"
|
||||
some.background.app: # this will never show up in the sources list
|
||||
another.background.app: "" # this will also never show up in the sources list
|
||||
turn_on_command: "input keyevent 3"
|
||||
turn_off_command: "input keyevent 223"
|
||||
state_detection_rules:
|
||||
|
@ -11,23 +11,18 @@ ha_codeowners:
|
||||
---
|
||||
|
||||
Please see the [docs section](/docs/automation/) for in-depth
|
||||
documentation on how to use the automation component.
|
||||
documentation on how to use the automation integration.
|
||||
|
||||
<p class='img'>
|
||||
<img src='{{site_root}}/images/screenshots/automation-switches.png' />
|
||||
</p>
|
||||
|
||||
This allows one to reload the automation without restarting Home Assistant
|
||||
itself. If you don't want to see the automation rule in your frontend use
|
||||
`hide_entity: true` to hide it.
|
||||
|
||||
You can also use `initial_state: 'false'` so that the automation
|
||||
is not automatically turned on after a Home Assistant reboot.
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
- alias: Door alarm
|
||||
hide_entity: true
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: state
|
||||
|
@ -106,6 +106,12 @@ delta:
|
||||
required: false
|
||||
default: 600
|
||||
type: integer
|
||||
country_code:
|
||||
description: You can (optionally) specify the country code (NL or BE) of the
|
||||
country to display on the camera.
|
||||
required: false
|
||||
default: NL
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
### The `name` Variable
|
||||
|
@ -1,48 +0,0 @@
|
||||
---
|
||||
title: Cisco Spark
|
||||
description: Instructions on how to add CiscoSpark notifications to Home Assistant.
|
||||
logo: ciscospark.png
|
||||
ha_category:
|
||||
- Notifications
|
||||
ha_release: '0.40'
|
||||
ha_codeowners:
|
||||
- '@fbradyirl'
|
||||
---
|
||||
|
||||
The `ciscospark` notification platform allows you to deliver notifications from Home Assistant to [Cisco Spark](https://ciscospark.com/).
|
||||
|
||||
To use this notification platform you need to get a developer token. To obtain a token visit [Spark for Developers](https://developer.ciscospark.com/index.html)
|
||||
|
||||
At this time you also need to specify the `Cisco Spark` `roomid`. The `roomid` can also be found at [Spark for Developers](https://developer.ciscospark.com/index.html). Just look in the Documentation under Rooms.
|
||||
|
||||
In order to get notified for all new messages in the room you will need to create a bot. This will post the messages from the bot and mark them as new for you which will alert you. If you use your own personal token the messages are added to the room but no notification is triggered.
|
||||
Once you have created the bot through the new App menu you will need to add the bot to the room that you are a member of as well. Now use the bot access token in your configuration below.
|
||||
|
||||
To enable the Cisco Spark notification in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
notify:
|
||||
- name: NOTIFIER_NAME
|
||||
platform: ciscospark
|
||||
token: YOUR_DEVELOPER_TOKEN
|
||||
roomid: CISCO_SPARK_ROOMID
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
name:
|
||||
description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
|
||||
required: false
|
||||
default: notify
|
||||
type: string
|
||||
token:
|
||||
description: Your development token.
|
||||
required: true
|
||||
type: string
|
||||
roomid:
|
||||
description: The Room ID.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
To use notifications, please see the [getting started with automation page](/getting-started/automation/).
|
57
source/_integrations/derivative.markdown
Normal file
@ -0,0 +1,57 @@
|
||||
---
|
||||
title: "Derivative Sensor"
|
||||
description: "Instructions on how to integrate Derivative Sensor into Home Assistant."
|
||||
ha_category:
|
||||
- Utility
|
||||
- Energy
|
||||
ha_release: 0.105
|
||||
ha_iot_class: Local Push
|
||||
logo: derivative.png
|
||||
ha_qa_scale: internal
|
||||
---
|
||||
|
||||
The `derivative` platform provides the numerical derivative or numerical differentiation of the values provided by a source sensor. Derivative sensors are updated upon changes of the **source**. Fast sampling source sensors provide better results.
|
||||
|
||||
## Configuration
|
||||
|
||||
To enable Derivative Sensor in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: derivative
|
||||
source: sensor.current_speed
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
source:
|
||||
description: The entity ID of the sensor providing numeric readings
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
description: Name to use in the frontend.
|
||||
required: false
|
||||
default: source entity ID meter
|
||||
type: string
|
||||
round:
|
||||
description: Round the calculated derivative value to at most N decimal places.
|
||||
required: false
|
||||
default: 3
|
||||
type: integer
|
||||
unit_prefix:
|
||||
description: Metric unit to prefix the derivative result. Available units are k, M, G, T.
|
||||
required: false
|
||||
default: None
|
||||
type: string
|
||||
unit_time:
|
||||
description: SI unit of time to integrate over. Available units are s, min, h, d.
|
||||
required: false
|
||||
default: h
|
||||
type: string
|
||||
unit:
|
||||
description: Unit of Measurement to be used for the derivative.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
If 'unit' is set then 'unit_prefix' and 'unit_time' are ignored.
|
@ -23,7 +23,6 @@ device_tracker:
|
||||
password: YOUR_PASSWORD
|
||||
new_device_defaults:
|
||||
track_new_devices: true
|
||||
hide_if_away: false
|
||||
```
|
||||
|
||||
The following optional parameters can be used with any platform:
|
||||
@ -36,7 +35,6 @@ The following optional parameters can be used with any platform:
|
||||
|----------------------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `interval_seconds` | 12 | Seconds between each scan for new devices |
|
||||
| `consider_home` | 180 | Seconds to wait till marking someone as not home after not being seen. This parameter is most useful for households with Apple iOS devices that go into sleep mode while still at home to conserve battery life. iPhones will occasionally drop off the network and then re-appear. `consider_home` helps prevent false alarms in presence detection when using IP scanners such as Nmap. `consider_home` accepts various time representations, (e.g., the following all represents 3 minutes: `180`, `0:03`, `0:03:00`) |
|
||||
| `new_device_defaults`| | Default values for new discovered devices. Available options `track_new_devices` (default: `true`), `hide_if_away` (default: `false`) |
|
||||
|
||||
<div class='note'>
|
||||
|
||||
@ -78,7 +76,6 @@ devicename:
|
||||
mac: EA:AA:55:E7:C6:94
|
||||
picture: https://www.home-assistant.io/images/favicon-192x192.png
|
||||
track: true
|
||||
hide_if_away: false
|
||||
```
|
||||
|
||||
<div class='note warning'>
|
||||
@ -95,7 +92,6 @@ In the example above, `devicename` refers to the detected name of the device. F
|
||||
| `icon` | mdi:account | An icon for this device (use as an alternative to `picture`). |
|
||||
| `gravatar` | None | An email address for the device's owner. If provided, it will override `picture`. |
|
||||
| `track` | [uses platform setting] | If `yes`/`on`/`true` then the device will be tracked. Otherwise its location and state will not update. |
|
||||
| `hide_if_away` | false | If `yes`/`on`/`true` then the device will be hidden if it is not at home. |
|
||||
| `consider_home` | [uses platform setting] | Seconds to wait till marking someone as not home after not being seen. Allows you to override the global `consider_home` setting from the platform configuration on a per device level. |
|
||||
|
||||
## Device states
|
||||
|
@ -169,3 +169,4 @@ Note: currently only the 2018 dyson fans are supported(TP04 and DP04).
|
||||
- Pure Cool link (desk and tower)
|
||||
- Pure Hot+cool link (see climate part) for thermal control
|
||||
- Pure Cool 2018 Models (TP04 and DP04)
|
||||
- Pure Cool Cryptomic (TP06)
|
||||
|
@ -42,9 +42,4 @@ port:
|
||||
required: false
|
||||
default: 8096 (No SSL), 8920 (SSL)
|
||||
type: integer
|
||||
auto_hide:
|
||||
description: Automatically hide devices that are unavailable from the Home Assistant Interface.
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
{% endconfiguration %}
|
||||
|
@ -5,7 +5,8 @@ logo: honeywell.png
|
||||
ha_category:
|
||||
- Hub
|
||||
- Climate
|
||||
ha_release: 0.8
|
||||
- Water Heater
|
||||
ha_release: 0.80
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_codeowners:
|
||||
- '@zxdavb'
|
||||
@ -13,26 +14,27 @@ ha_codeowners:
|
||||
|
||||
The `evohome` integration links Home Assistant with all _non-US_ [Honeywell Total Connect Comfort (TCC)](https://international.mytotalconnectcomfort.com/Account/Login) CH/DHW systems, such as:
|
||||
|
||||
- The Honeywell evohome CH/DHW system, and
|
||||
- The Honeywell Round Thermostat
|
||||
- the Honeywell evohome CH/DHW system, and
|
||||
- the Honeywell Round Thermostat
|
||||
- the Honeywell Mobile Access Kit
|
||||
|
||||
It does not support the home security functionality of TCC.
|
||||
|
||||
It uses v2 of the [evohome-client](https://github.com/watchforstock/evohome-client) client library.
|
||||
It uses the [evohome-async](https://github.com/zxdavb/evohome-async) client library.
|
||||
|
||||
Honeywell removed support for higher-precision temperatures from the v2 API, and thus reported temperatures are rounded up to the nearest 0.5C.
|
||||
If your system is compatible with this integration, then you will be able to access it via [https://international.mytotalconnectcomfort.com/](https://international.mytotalconnectcomfort.com/) (note the `international`).
|
||||
|
||||
### evohome
|
||||
### Evohome
|
||||
|
||||
evohome is a multi-zone system. Each zone is represented as a **Climate** device: it will expose the zone's operating mode, temperature and setpoint.
|
||||
Evohome is a multi-zone system. Each zone is represented as a **Climate** entity: it will expose the zone's operating mode, temperature and setpoint.
|
||||
|
||||
The controller/location is also represented as a **Climate** device: it will expose the location's operating mode (see below for details). Note that the controller's current temperature is calculated as an average of all the Zones.
|
||||
The location (controller) is also represented as a **Climate** entity: it will expose the location's operating mode (see below for details). Note that the entity's current temperature is calculated as an average of all the Zones.
|
||||
|
||||
The DHW controller is represented as a **WaterHeater** device: It will report its current temperature (but not target temperature), and it can be turned on or off.
|
||||
The DHW controller is represented as a **WaterHeater** entity: It will report its current temperature, and it can be turned on or off. The setpoint is not reported, and cannot cannot be changed.
|
||||
|
||||
### Round Thermostat
|
||||
|
||||
Although Round Thermostat is, strictly speaking, a Controller and a single zone, they are merged into a single **Climate** device.
|
||||
Such systems usually have only one Round Thermostat, although they can have two. Systems with one such thermostat are merged into a single **Climate** entity. Systems with two thermostats will have a 3rd entity for the TCC locations, much like evohome, above.
|
||||
|
||||
## Configuration
|
||||
|
||||
@ -55,7 +57,7 @@ password:
|
||||
required: true
|
||||
type: string
|
||||
location_idx:
|
||||
description: Used to select which location to use, if your login has access to more than one location. Multiple locations at one time are not supported.
|
||||
description: Used to select which location to use, if your login has access to more than one location. Multiple locations at one time are not officially supported.
|
||||
required: false
|
||||
type: integer
|
||||
default: 0
|
||||
@ -66,29 +68,55 @@ scan_interval:
|
||||
default: 300
|
||||
{% endconfiguration %}
|
||||
|
||||
This is an IoT cloud-polling device, and the recommended `scan_interval` is 180 seconds. Testing has indicated that this is a safe interval that - by itself - shouldn't cause you to be rate-limited by Honeywell.
|
||||
This is an IoT cloud-polling integration, and the recommended `scan_interval` is 180 seconds. Testing has indicated that this is a safe interval that - by itself - shouldn't cause you to be rate-limited by Honeywell.
|
||||
|
||||
## Operating modes, and inheritance
|
||||
## System modes, Zone overrides and Inheritance
|
||||
|
||||
Zones support only three setpoint modes: **FollowSchedule**, **TemporaryOverride**, and **PermanentOverride**.
|
||||
Evohome locations support up to six distinct operating modes: **Auto**, **AutoWithEco**, **Away**, **DayOff**, **HeatingOff**, and **Custom**. Not all evohome systems support all modes.
|
||||
|
||||
Mostly, the zone 'inherits' its functional operating mode from the controller (the actual algorithm for this is a little complicated).
|
||||
Zones support three setpoint modes: **FollowSchedule**, **TemporaryOverride**, and **PermanentOverride** but 'inherit' an operating mode from their location (the actual algorithm for this is a little more complicated than indicated below - please see your vendor's documentation).
|
||||
|
||||
The evohome controller supports seven distinct system modes: **Auto**, **AutoWithEco**, **Away**, **DayOff**, **HeatingOff**, and **Custom**; **AutoWithReset** is a hidden mode that will revert all zones to **FollowSchedule** mode.
|
||||
For **FollowSchedule**, a zone's `temperature` (target temperature, a.k.a setpoint) is a function of its scheduled temperature and its inherited mode. For example, **AutoWithEco** would be scheduled temperature less 3C.
|
||||
|
||||
If the zone is in **FollowSchedule** mode, its `temperature` (target temperature) is a function of its scheduled temperature and its functional mode - for example, **AutoWithEco** is scheduled temperature less 3C.
|
||||
If the location is set to **HeatingOff** (temperature set to a minimum) or **Away** (temperature set to 12C), then the zones will inherit that setpoint regardless of their own mode. For **Away**, the DHW controller will also be turned off.
|
||||
|
||||
If the controller is set to **HeatingOff** (target temperature to a minimum) or **Away** (target temperature to 12C), then the zones will inherit that mode regardless of their own setpoint mode.
|
||||
If the zone's temperature is changed, then it will be a **TemporaryOverride** that will revert to **FollowSchedule** at the next scheduled setpoint (or in an hour, if there is no such schedule). Zones can be switched between the two override modes without changing the target temperature.
|
||||
|
||||
If the zone's temperature is changed, then it will be a **TemporaryOverride** that will revert to **FollowSchedule** at the next scheduled setpoint. Once this is done, the zone can be switched to **PermanentOverride** mode.
|
||||
Some locations have a hidden mode, **AutoWithReset**, that will behave as **Auto**, and will reset all zones to **FollowSchedule**.
|
||||
|
||||
In Home Assistant, all this is done via `HVAC_MODE` and `PRESET_MODE` (but also see `systemModeStatus`, `setpointStatus`, below).
|
||||
In Home Assistant schema, all this is done via a combination of `HVAC_MODE` and `PRESET_MODE` (but also see the state attributes `systemModeStatus` and `setpointStatus`, below).
|
||||
|
||||
## Service Calls
|
||||
|
||||
This integration provide service calls to expose the full functionality of evohome beyond the limitations of Home Assistant's standardised schema. Mostly, this relates to specifying the duration of mode changes, after which time the entities revert to **Auto** or **FollowSchedule** (for locations and zones, respectively).
|
||||
|
||||
### evohome.set_system_mode
|
||||
|
||||
This service call is used to set the system `mode`, either indefinitely, or for a set period of time, after which it will revert to **Auto** mode.
|
||||
|
||||
For some modes, such as **Away**, the duration is in `days`, where 1 day will revert after midnight, and 2 days reverts at midnight tomorrow. For other modes, such as **AutoWithEco**, the duration is in `hours`.
|
||||
|
||||
### evohome.reset_system
|
||||
|
||||
This service call is used to set the system to **AutoWithReset**, and reset all the zones to **FollowSchedule**.
|
||||
|
||||
### evohome.refresh_system
|
||||
|
||||
This service call is used to pull the latest state data from the vendor's servers.
|
||||
|
||||
### evohome.set_zone_override
|
||||
|
||||
This service call is used to set the `temperature` of a zone as identified by its `entity_id`. This change can either be indefinite, or for a set period of time, after which it will revert to **FollowSchedule**. The duration can be in `minutes` from the current time, or `until` a specified time within the next 24 hours.
|
||||
|
||||
### evohome.clear_zone_override
|
||||
|
||||
This service call is used to set a zone, as identified by its `entity_id`, to **FollowSchedule**.
|
||||
|
||||
## Useful Jinja Templates
|
||||
|
||||
The actual operating mode of evohome entities can be tracked via their state attributes, which includes a JSON data structure for the current state called `status`.
|
||||
|
||||
For the Controller, see `system_mode_status`:
|
||||
For the location (controller), see `system_mode_status`:
|
||||
|
||||
{% raw %}
|
||||
```text
|
||||
|
@ -94,7 +94,6 @@ To help detect and debug flic button clicks, you can use this automation that se
|
||||
```yaml
|
||||
automation:
|
||||
- alias: FLIC Html5 notify on every click
|
||||
hide_entity: false
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: flic_click
|
||||
|
@ -9,12 +9,6 @@ ha_release: '0.10'
|
||||
|
||||
The `fritz` platform offers presence detection by looking at connected devices to a [AVM Fritz!Box](https://avm.de/produkte/fritzbox/) based router.
|
||||
|
||||
## Setup
|
||||
|
||||
<div class='note warning'>
|
||||
If not running Home Assistant via Hass.io or Docker it might be necessary to install additional packages: <code>sudo apt-get install python3-lxml libxslt-dev libxml2-dev zlib1g-dev</code>
|
||||
If you installed Home Assistant in a virtualenv, run the following commands inside it: <code>pip3 install lxml</code>; be patient this will take a while.</div>
|
||||
|
||||
## Configuration
|
||||
|
||||
To use an Fritz!Box router in your installation, add the following to your `configuration.yaml` file:
|
||||
|
@ -11,23 +11,6 @@ ha_iot_class: Local Polling
|
||||
The `fritzbox_callmonitor` sensor monitors the call monitor exposed by [AVM Fritz!Box](https://avm.de/produkte/fritzbox/) routers on TCP port 1012. It will assume the values `idle`, `ringing`, `dialing` or `talking` with the phone numbers involved contained in the state attributes.
|
||||
It can also access the internal phone book of the router to look up the names corresponding to the phone numbers and store them in the state attributes.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
To build the package you have to install some dependencies first.
|
||||
|
||||
```bash
|
||||
$ sudo apt-get update
|
||||
$ sudo apt-get install libxml2-dev libxslt-dev \
|
||||
python3-setuptools zlib1g-dev build-essential
|
||||
```
|
||||
|
||||
If you installed Home Assistant in a virtualenv, also run the following command inside it.
|
||||
Be patient this will take a while.
|
||||
|
||||
```bash
|
||||
pip3 install lxml
|
||||
```
|
||||
|
||||
## Setup
|
||||
|
||||
To activate the call monitor on your Fritz!Box, dial #96\*5\* from any phone connected to it.
|
||||
|
@ -10,11 +10,6 @@ ha_iot_class: Local Polling
|
||||
|
||||
The `fritzbox_netmonitor` sensor monitors the network statistics exposed by [AVM Fritz!Box](https://avm.de/produkte/fritzbox/) routers.
|
||||
|
||||
<div class='note warning'>
|
||||
If not running Home Assistant via Hass.io or Docker it might be necessary to install additional packages: <code>sudo apt-get install libxslt-dev libxml2-dev python3-lxml</code>
|
||||
If you are working with the All-in-One installation, you may also need to execute also within your virtual environment the command <code>pip3 install lxml</code>; be patient this will take a while.
|
||||
</div>
|
||||
|
||||
To use the Fritz!Box network monitor in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
@ -42,7 +37,6 @@ The following statistics will be exposed as attributes.
|
||||
|:----------------------|:------------------------------------------------------------|
|
||||
|is_linked |True if the FritzBox is physically linked to the provider |
|
||||
|is_connected |True if the FritzBox has established an internet-connection |
|
||||
|wan_access_type |Connection-type, can be `DSL` or `Cable` |
|
||||
|external_ip |External IP address |
|
||||
|uptime |Uptime in seconds |
|
||||
|bytes_sent |Bytes sent |
|
||||
|
110
source/_integrations/garmin_connect.markdown
Normal file
@ -0,0 +1,110 @@
|
||||
---
|
||||
title: Garmin Connect
|
||||
description: Instructions on how to configure the Garmin Connect integration for Home Assistant.
|
||||
logo: garmin_connect.png
|
||||
ha_category:
|
||||
- Health
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_release: 0.105
|
||||
ha_codeowners:
|
||||
- '@cyberjunky'
|
||||
---
|
||||
|
||||
The Garmin Connect sensor allows you to expose data from [Garmin Connect](https://connect.garmin.com) to Home Assistant.
|
||||
|
||||
## Configuration
|
||||
|
||||
|
||||
To add Garmin Connect to your installation, go to Configuration >> Integrations in the UI and enable the Garmin Connect integration by entering your credentials.
|
||||
|
||||
After succesful login a standard set of sensors are enabled.
|
||||
You can enable more if needed by using the Integrations page.
|
||||
|
||||
|
||||
Please be aware that Garmin Connect has very low rate limits, max. once every ~10 minutes.
|
||||
|
||||
|
||||
## Available Sensors
|
||||
|
||||
Not every sensor holds meaningful values, it depends on the tracking device you use, and the apps you have connected.
|
||||
|
||||
Enabled by default:
|
||||
|
||||
```text
|
||||
Total Steps
|
||||
Daily Step Goal
|
||||
Total KiloCalories
|
||||
Active KiloCalories
|
||||
BMR KiloCalories
|
||||
Consumed KiloCalories
|
||||
Burned KiloCalories
|
||||
Total Distance Mtr
|
||||
Active Time
|
||||
Sedentary Time
|
||||
Sleeping Time
|
||||
Awake Duration
|
||||
Sleep Duration
|
||||
Floors Ascended
|
||||
Floors Descended
|
||||
Floors Ascended Goal
|
||||
Min Heart Rate
|
||||
Max Heart Rate
|
||||
Resting Heart Rate
|
||||
Avg Stress Level
|
||||
Max Stress Level
|
||||
Rest Stress Duration
|
||||
Activity Stress Duration
|
||||
Uncat. Stress Duration
|
||||
Total Stress Duration
|
||||
Low Stress Duration
|
||||
Medium Stress Duration
|
||||
High Stress Duration
|
||||
Body Battery Charged
|
||||
Body Battery Drained
|
||||
Body Battery Highest
|
||||
Body Battery Lowest
|
||||
Body Battery Most Recent
|
||||
Average SPO2
|
||||
Lowest SPO2
|
||||
Latest SPO2
|
||||
Highest Respiration
|
||||
Lowest Respiration
|
||||
Latest Respiration
|
||||
```
|
||||
|
||||
|
||||
Disabled by default:
|
||||
|
||||
```text
|
||||
Remaining KiloCalories
|
||||
Net Remaining KiloCalories
|
||||
Net Calorie Goal
|
||||
Wellness Start Time
|
||||
Wellness End Time
|
||||
Wellness Description
|
||||
Wellness Distance Mtr
|
||||
Wellness Active KiloCalories
|
||||
Wellness KiloCalories
|
||||
Highly Active Time
|
||||
Floors Ascended Mtr
|
||||
Floors Descended Mtr
|
||||
Min Avg Heart Rate
|
||||
Max Avg Heart Rate
|
||||
Abnormal HR Counts
|
||||
Last 7 Days Avg Heart Rate
|
||||
Stress Qualifier
|
||||
Stress Duration
|
||||
Stress Percentage
|
||||
Rest Stress Percentage
|
||||
Activity Stress Percentage
|
||||
Uncat. Stress Percentage
|
||||
Low Stress Percentage
|
||||
Medium Stress Percentage
|
||||
High Stress Percentage
|
||||
Latest SPO2 Time
|
||||
Average Altitude
|
||||
Moderate Intensity
|
||||
Vigorous Intensity
|
||||
Intensity Goal
|
||||
Latest Respiration Update
|
||||
```
|
@ -30,7 +30,13 @@ Each zone controlled by your Genius Hub will be exposed as either a:
|
||||
|
||||
Currently, there is no support for altering zone schedules, although entities can be switched to/from geniushub modes that utilize schedules.
|
||||
|
||||
There are limitations due to the differences between the Genius Hub and Home Assisatnt schemas (e.g. HA has no **Footprint** mode) - see below for more details.
|
||||
There are limitations due to the differences between the Genius Hub and Home Assistant schemas (e.g. HA has no **Footprint** mode) - use the service handlers, below, for this functionality.
|
||||
|
||||
### Service Handlers
|
||||
|
||||
Home Assistant is obligated to place restrictions upon integrations such as **geniushub** to maintain compatibility with other ecosystems (e.g. Google Home) and so not all of the **geniushub** functionality is available via the web UI. Some of this missing functionality is exposed via integration-specific service handlers:
|
||||
- `set_zone_override`: change the zone's setpoint _for a specified duration_ (up to 24h), and
|
||||
- `set_zone_mode`: change the zone's mode to one of `off`, `timer` or (if supported by the zone) `footprint`
|
||||
|
||||
### Climate and Water Heater Entities
|
||||
|
||||
@ -43,18 +49,17 @@ GH mode | HA Operation | HA Preset
|
||||
**Override** | Heat | Boost
|
||||
**Footprint** | Heat | Activity
|
||||
|
||||
Note that `Boost` mode may
|
||||
|
||||
Note that **Footprint** mode is only available to **Radiator** zones that have room sensors.
|
||||
**Footprint** mode is only available to **Radiator** zones that have room sensors.
|
||||
|
||||
### Switch Entities
|
||||
|
||||
Switch entities will report back their state; other properties are available via their state attributes. Currently, HA switches do not have modes/presets, so the Home Assistant state will be reported as:
|
||||
|
||||
Switch entities will report back their state; other properties are available via their state attributes. Currently, HA switches do not have modes/presets, so the Home Assistant `state` will be *reported* as:
|
||||
- `On` for **Override** \ **On**, and
|
||||
- `Off` otherwise (NB: the zone could still be 'on', e.g. with **Timer** mode)
|
||||
|
||||
If you turn a Switch entity `Off` via HA, it will revert to **Timer** mode.
|
||||
Note: if you turn a Switch entity `Off` via Home Assistant's web UI, it will revert to **Timer** mode - this may not be the behaviour you are expecting.
|
||||
|
||||
Individual smart plugs are not yet exposed as switches - you can create one zone per smart plug as a work-around.
|
||||
|
||||
### Devices
|
||||
|
||||
@ -158,7 +163,7 @@ value_template: "{{ state_attr('climate.genius_zone_12', 'status').occupied }}"
|
||||
|
||||
To set up this integration, add one of the following to your **configuration.yaml** file.
|
||||
|
||||
If required, you can switch between one Option and the other and, as the `unique_id` remains consistent, state history will be preserved. This assumes that the correct MAC address is provided for Option 2, below. If a wrong MAC address was provided for Option 1, then the MAC address can be overridden for Option 1 to maintain these links within the entity registry.
|
||||
If required, you can switch between one Option and the other and, as the `unique_id` remains consistent, state history will be preserved. This assumes that the correct MAC address is provided for Option 2, below. If a wrong MAC address was provided for Option 1, then the MAC address can be overridden for Option 1 to maintain these links within the entity registry.
|
||||
|
||||
### Option 1: hub hostname/address with user credentials
|
||||
|
||||
@ -173,7 +178,7 @@ The hub does not have to be in the same subnet as your Home Assistant server.
|
||||
|
||||
### Option 2: hub token only
|
||||
|
||||
This option is recommended only if Ootion 1 does not work. The MAC address should match that written on the back of the Hub.
|
||||
This option is recommended only if Option 1 does not work. The MAC address should match that written on the back of the Hub.
|
||||
|
||||
- Requires a **hub token** obtained from [my.geniushub.co.uk/tokens](https://my.geniushub.co.uk/tokens).
|
||||
- Uses the v1 API - which is well-documented.
|
||||
|
@ -34,6 +34,9 @@ greeneye_monitor:
|
||||
temperature_sensors:
|
||||
- number: 1
|
||||
name: back_porch_temperature
|
||||
voltage:
|
||||
- number: 1
|
||||
name: house_volts
|
||||
```
|
||||
|
||||
By default, GEM will send updates every 5 seconds. That's a lot of data, and the databases used by the [`recorder`](/integrations/recorder) integration for history don't do well with that much data, so it is recommended to configure the [`influxdb`](/integrations/influxdb) integration and exclude the GEM sensors from `recorder`.
|
||||
@ -70,6 +73,18 @@ monitors:
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
voltage:
|
||||
description: Configuration for voltage sensor
|
||||
required: false
|
||||
keys:
|
||||
number:
|
||||
description: A channel number that exists in the GEM. There is only one voltage sensor on current models of the GEM.
|
||||
required: true
|
||||
type: integer
|
||||
name:
|
||||
description: The name that should be used for the voltage sensor in Home Assistant.
|
||||
required: true
|
||||
type: string
|
||||
temperature_sensors:
|
||||
description: Configuration for temperature sensors
|
||||
required: false
|
||||
|
@ -10,7 +10,7 @@ ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
---
|
||||
|
||||
Groups allow the user to combine multiple entities into one.
|
||||
Groups allow the user to combine multiple entities into one.
|
||||
|
||||
Check the **States** <img src='/images/screenshots/developer-tool-states-icon.png' class='no-shadow' height='38' /> page from the **Developer Tools** and browse the **Current entities:** listing for all available entities.
|
||||
|
||||
@ -48,16 +48,7 @@ all:
|
||||
type: boolean
|
||||
default: false
|
||||
icon:
|
||||
description: The icon that shows in the front end. **The rest of this only applies to the deprecated UI `/states`**. If the group is a view, this icon will show at the top in the frontend instead of the name. If the group is a view and both name and icon have been specified, the icon will appear at the top of the frontend and the name will be displayed as the mouse-over text.
|
||||
required: false
|
||||
type: string
|
||||
view:
|
||||
description: "**Only applies to the deprecated UI `/states`**. If yes then the entry will be shown as a view (tab) at the top. Groups that are set to `view: true` cannot be used as entities in other views. *Does not apply to Lovelace.*"
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
control:
|
||||
description: "**This is only a feature in generated mode of Lovelace** If value set to `hidden` the group switch will be hidden."
|
||||
description: The icon that shows in the front end.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
@ -65,76 +56,3 @@ control:
|
||||
## Group behavior
|
||||
|
||||
By default when any member of a group is `on` then the group will also be `on`. Similarly with a device tracker, when any member of the group is `home` then the group is `home`. If you set the `all` option to `true` though, this behavior is inverted and all members of the group have to be `on` for the group to turn on as well.
|
||||
|
||||
---
|
||||
|
||||
## Old user interface
|
||||
|
||||
This section only applies if you've not moved off the deprecated `/states` user interface.
|
||||
|
||||
A group can be promoted to a **view** by setting `view: true` under the group definition. This will make the group available as a new tab in the frontend.
|
||||
|
||||
By default, every group appears in the HOME tab. If you create a group `default_view` it will REPLACE the contents of the HOME tab so you can customize the HOME tab as you wish.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
group:
|
||||
default_view:
|
||||
view: true
|
||||
icon: mdi:home
|
||||
entities:
|
||||
- group.kitchen
|
||||
- group.awesome_people
|
||||
- group.climate
|
||||
kitchen:
|
||||
name: Kitchen
|
||||
entities:
|
||||
- switch.kitchen_pin_3
|
||||
upstairs:
|
||||
name: Kids
|
||||
icon: mdi:account-multiple
|
||||
view: true
|
||||
entities:
|
||||
- input_boolean.notify_home
|
||||
- camera.demo_camera
|
||||
- device_tracker.demo_paulus
|
||||
- group.garden
|
||||
climate:
|
||||
name: Climate
|
||||
view: false
|
||||
entities:
|
||||
- sensor.bedroom_temp
|
||||
- sensor.porch_temp
|
||||
awesome_people:
|
||||
name: Awesome People
|
||||
view: false
|
||||
entities:
|
||||
- device_tracker.dad_smith
|
||||
- device_tracker.mom_smith
|
||||
```
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/blog/2016-01-release-12/views.png'>
|
||||
Example of groups shown as views in the frontend.
|
||||
</p>
|
||||
|
||||
If all entities in a group are switches or lights then Home Assistant adds a switch at the top of the card that turns them all on/off at once. If you want to hide this switch, set `control` to `hidden`.
|
||||
|
||||
You can create views (tabs) that contain other groups (but not other groups which are marked as `view: true`).
|
||||
Notice in the example below that in order to refer to the group "Living Room", you use `group.living_room` (lowercase and spaces replaced with underscores).
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry that shows two groups, referred to in a view group (tab)
|
||||
Living Room:
|
||||
control: hidden
|
||||
entities:
|
||||
- light.light_family_1
|
||||
- binary_sensor.motion_living
|
||||
Bedroom: light.light_bedroom, switch.sleeping
|
||||
Rooms:
|
||||
view: true
|
||||
name: Rooms
|
||||
entities:
|
||||
- group.living_room
|
||||
- group.bedroom
|
||||
```
|
||||
|
@ -10,6 +10,11 @@ ha_codeowners:
|
||||
- '@andrey-git'
|
||||
---
|
||||
|
||||
<div class='note'>
|
||||
This integration is deprecated and pending removal in Home Assistant 0.107.0,
|
||||
as it was only used by the old states UI (not our current Lovelace UI).
|
||||
</div>
|
||||
|
||||
<p class='img'>
|
||||
<img src='{{site_root}}/images/screenshots/history_graph.png' />
|
||||
</p>
|
||||
|
@ -14,6 +14,7 @@ ha_category:
|
||||
ha_iot_class: Cloud Push
|
||||
ha_release: 0.66
|
||||
ha_config_flow: true
|
||||
ha_quality_scale: platinum
|
||||
ha_codeowners:
|
||||
- '@SukramJ'
|
||||
---
|
||||
@ -288,6 +289,8 @@ Push button devices are only available with a battery sensor. This is due to a l
|
||||
It's not possible to detect a key press event on these devices at the moment.
|
||||
|
||||
* Remote Control - 8 buttons (*HmIP-RC8*)
|
||||
* Wall-mount Remote Control for brand switches - 2-button (*HmIP-BRC2*)
|
||||
* Motion Detector for 55mm frames - indoor (HmIP-SMI55)(Push button)
|
||||
* Wall-mount Remote Control - 2-button (*HmIP-WRC2*)
|
||||
* Wall-mount Remote Control - 6-button (*HmIP-WRC6*)
|
||||
* Key Ring Remote Control - 4 buttons (*HmIP-KRC4*)
|
||||
|
@ -1,65 +0,0 @@
|
||||
---
|
||||
title: Hook
|
||||
description: Instructions on how to integrate the Hook Smart Home Hub into Home Assistant.
|
||||
logo: hook.png
|
||||
ha_category:
|
||||
- Switch
|
||||
ha_iot_class: Assumed State
|
||||
ha_release: 0.34
|
||||
---
|
||||
|
||||
The `hook` integration allows you to control the Hook Smart Home Hub from within Home Assistant.
|
||||
|
||||
Hook allows you to control cheap mains electrical outlets, like these ones at [Amazon](https://amzn.to/2WVZdGG).
|
||||
|
||||
In short, Hook is an RF to Wi-Fi bridge, controlling devices that receive commands at 315MHz and 433MHz. Unfortunately, this does not allow Hook to determine if the command was successful, so the state is assumed.
|
||||
|
||||
Hook provides a simple [REST API](https://app.swaggerhub.com/api/rahilj/GetHook_RestAPI/v1). This Home Assistant integration reads in devices that have been set up in the official app.
|
||||
|
||||
## Configuration
|
||||
|
||||
Configure with either your username/password or your API token for the official app.
|
||||
|
||||
To enable this platform in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
switch:
|
||||
- platform: hook
|
||||
username: YOUR_E_MAIL_ADDRESS
|
||||
password: YOUR_HOOK
|
||||
```
|
||||
|
||||
Or
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
switch:
|
||||
- platform: hook
|
||||
token: YOUR_API_TOKEN
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
username:
|
||||
description: The email address associated with your Hook Smart Home Hub.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: The password for your Hook Smart Home Hub.
|
||||
required: true
|
||||
type: string
|
||||
token:
|
||||
description: The API token for your Hook Smart Home Hub.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
Extra debug logging is available, if you need it.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
logger:
|
||||
default: error
|
||||
logs:
|
||||
homeassistant.components.switch.hook: debug
|
||||
```
|
@ -56,10 +56,6 @@ password:
|
||||
description: Your iCloud account password.
|
||||
required: true
|
||||
type: string
|
||||
account_name:
|
||||
description: A friendly name for your iCloud account. If this isn't given, it will use the part before the `@` of the username.
|
||||
required: false
|
||||
type: string
|
||||
max_interval:
|
||||
description: Maximum interval in minutes between subsequent location updates. This tracker uses dynamic intervals for requesting location updates. When the iPhone is stationary, the interval will eventually be set to `max_interval` to save battery. When the iPhone starts moving again, the interval will be dynamically updated to 1 min. Note that updating interval to 1 min might be delayed by maximum `max_interval` minutes. Minimum value is 1 min.
|
||||
required: false
|
||||
|
@ -54,7 +54,6 @@ input_text:
|
||||
description: Initial value when Home Assistant starts.
|
||||
required: false
|
||||
type: string
|
||||
default: empty
|
||||
icon:
|
||||
description: Icon to display in front of the input element in the frontend.
|
||||
required: false
|
||||
|
@ -69,10 +69,16 @@ Time sensor states are represented as ISO8601 formatted *UTC time*.
|
||||
For easier use in automations, all time sensors have a `timestamp` attribute, which returns the UNIX timestamp.
|
||||
|
||||
- first_light: First light of dawn (Alot Hashachar - עלות השחר).
|
||||
- gra_end_shma: Last time for reading of the Shma according to the GR"A.
|
||||
- talit: Earliest time for tallit and tefillin
|
||||
- gra_end_shma: Last time for reading of the Shma according to the Gr"a.
|
||||
- mga_end_shma: Last time for reading of the Shma according to the MG"A.
|
||||
- gra_end_tefilla: Last time for full shacharit according to the Gr"a.
|
||||
- mga_end_tefilla: Last time for full shacharit according to the MG"A.
|
||||
- big_mincha: Earliest time for Mincha (Mincha Gedola)
|
||||
- little_mincha: Preferable earliest time for Mincha (Mincha Ketana)
|
||||
- plag_mincha: Time of the Plag Hamincha.
|
||||
- first_stars: Time at which the first stars are visible (Tset Hakochavim - צאת הכוכבים).
|
||||
- sunset: Sunset (Shkiya)
|
||||
- first_stars: Time at which the first stars are visible (Tseit Hakochavim - צאת הכוכבים).
|
||||
- upcoming_shabbat_candle_lighting: The time of candle lighting for either the current Shabbat (if it is currently Shabbat) or the immediately upcoming Shabbat.
|
||||
- upcoming_shabbat_havdalah: The time of havdalah for either the current Shabbat (if it is currently Shabbat) or the immediately upcoming Shabbat. If it is currently a three-day holiday, this value *could* be None (i.e. if holiday is Sat./Sun./Mon. and it's Saturday, there will be no shabbat_havdalah value. See comments in hdate library for details.)
|
||||
- upcoming_candle_lighting: The time of candle lighting for either the current Shabbat OR Yom Tov, or the immediately upcoming Shabbat OR Yom Tov. If, for example, today is Sunday, and Rosh Hashana is Monday night through Wednesday night, this reports the candle lighting for Rosh Hashana on Monday night. This avoids a situation of triggering pre-candle-lighting automations while it is currently Yom Tov. To always get the Shabbat times, use the upcoming_shabbat_candle_lighting sensor.
|
||||
|
@ -67,6 +67,11 @@ standby_time:
|
||||
description: The speakers automatically turn to standby mode after either `20` or `60` minutes. Leave out for the speaker to never go into standby mode.
|
||||
required: false
|
||||
type: integer
|
||||
supports_on:
|
||||
description: LS50 Wireless with a serial number below LS50W13074K24L/R2G do not support turning on the speakers over the network. Set this to false if you have an older model.
|
||||
default: true
|
||||
required: false
|
||||
type: integer
|
||||
{% endconfiguration %}
|
||||
|
||||
## Advanced configuration example
|
||||
|
@ -277,6 +277,26 @@ script:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
#### Simple script to play a smart playlist
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
script:
|
||||
play_kodi_smp:
|
||||
alias: Turn on the silly box with random Firefighter Sam episode
|
||||
sequence:
|
||||
- alias: TV on
|
||||
service: media_player.turn_on
|
||||
data:
|
||||
entity_id: media_player.kodi
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
entity_id: media_player.kodi
|
||||
media_content_type: DIRECTORY
|
||||
media_content_id: special://profile/playlists/video/feuerwehrmann_sam.xsp
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
#### Trigger a Kodi video library update
|
||||
|
||||
```yaml
|
||||
|
@ -25,8 +25,9 @@ light:
|
||||
lights:
|
||||
theater_lights:
|
||||
friendly_name: "Theater Lights"
|
||||
level_template: "{{ sensor.theater_brightness.attributes.lux|int }}"
|
||||
value_template: "{{ sensor.theater_brightness.attributes.lux|int > 0 }}"
|
||||
level_template: "{{ state_attr('sensor.theater_brightness', 'lux')|int }}"
|
||||
value_template: "{{ state_attr('sensor.theater_brightness', 'lux')|int > 0 }}"
|
||||
temperature_template: "{{states('input_number.temperature_input') | int}}"
|
||||
turn_on:
|
||||
service: script.theater_lights_on
|
||||
turn_off:
|
||||
@ -35,6 +36,11 @@ light:
|
||||
service: script.theater_lights_level
|
||||
data_template:
|
||||
brightness: "{{ brightness }}"
|
||||
set_temperature:
|
||||
service: input_number.set_value
|
||||
data_template:
|
||||
value: "{{ color_temp }}"
|
||||
entity_id: input_number.temperature_input
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
@ -63,6 +69,11 @@ light:
|
||||
required: false
|
||||
type: template
|
||||
default: optimistic
|
||||
temperature_template:
|
||||
description: Defines a template to get the color temperature of the light.
|
||||
required: false
|
||||
type: template
|
||||
default: optimistic
|
||||
icon_template:
|
||||
description: Defines a template for an icon or picture, e.g. showing a different icon for different states.
|
||||
required: false
|
||||
@ -84,6 +95,10 @@ light:
|
||||
description: Defines an action to run when the light is given a brightness command.
|
||||
required: false
|
||||
type: action
|
||||
set_temperature:
|
||||
description: Defines an action to run when the light is given a color temperature command.
|
||||
required: false
|
||||
type: action
|
||||
{% endconfiguration %}
|
||||
|
||||
## Considerations
|
||||
|
@ -31,24 +31,34 @@ port:
|
||||
type: integer
|
||||
default: 59125
|
||||
codec:
|
||||
description: "The audio codec. Supported codecs are `aiff`, `au` and `wav`."
|
||||
description: "The audio codec. Supported codecs are `AIFF_FILE`, `AU_FILE` and `WAVE_FILE`."
|
||||
required: false
|
||||
type: string
|
||||
default: "`wav`"
|
||||
default: "`WAVE_FILE`"
|
||||
voice:
|
||||
description: The speaker voice.
|
||||
required: false
|
||||
type: string
|
||||
default: "`cmu-slt-hsmm`"
|
||||
language:
|
||||
description: "The language to use. Supported languages are `de`, `en-GB`, `en-US`, `fr`, `it`, `lb`, `ru`, `sv`, `te` and `tr`."
|
||||
description: "The language to use. Supported languages are `de`, `en_GB`, `en_US`, `fr`, `it`, `lb`, `ru`, `sv`, `te` and `tr`."
|
||||
required: false
|
||||
type: string
|
||||
default: "`en-US`"
|
||||
default: "`en_US`"
|
||||
effect:
|
||||
description: "A dictionary of effects which should be applied to the speach output."
|
||||
required: false
|
||||
type: map
|
||||
{% endconfiguration %}
|
||||
|
||||
See [documentation](http://mary.dfki.de/documentation/index.html) for details.
|
||||
|
||||
## Speach effects
|
||||
|
||||
For more information about the different effects take a look at the demo page of your MaryTTS installation (http://localhost:59125/).
|
||||
|
||||
There you can read about each effect and also test them on the fly.
|
||||
|
||||
## Full configuration example
|
||||
|
||||
A full configuration sample including optional variables:
|
||||
@ -59,7 +69,19 @@ tts:
|
||||
- platform: marytts
|
||||
host: 'localhost'
|
||||
port: 59125
|
||||
codec: 'wav'
|
||||
codec: 'WAVE_FILE'
|
||||
voice: 'cmu-slt-hsmm'
|
||||
language: 'en-US'
|
||||
language: 'en_US'
|
||||
effect:
|
||||
Volume: "amount:2.0;",
|
||||
TractScaler: "amount:1.5;",
|
||||
F0Scale: "f0Scale:2.0;",
|
||||
F0Add: "f0Add:50.0;",
|
||||
Rate: "durScale:1.5;",
|
||||
Robot: "amount:100.0;",
|
||||
Whisper: "amount:100.0;",
|
||||
Stadium: "amount:100.0",
|
||||
Chorus: "delay1:466;amp1:0.54;delay2:600;amp2:-0.10;delay3:250;amp3:0.30",
|
||||
FIRFilter: "type:3;fc1:500.0;fc2:2000.0",
|
||||
JetPilot: ""
|
||||
```
|
||||
|
@ -31,17 +31,24 @@ Go to **IP** -> **Services** -> **API** and enable it.
|
||||
|
||||
Make sure that port 8728 or the port you choose is accessible from your network.
|
||||
|
||||
To use a MikroTik router in your installation, add the following to your `configuration.yaml` file:
|
||||
Home Assistant offers Mikrotik integration through **Configuration** -> **Integrations** -> **Mikrotik**.
|
||||
It also allows importing from the `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
mikrotik:
|
||||
- host: IP_ADDRESS
|
||||
- name: Mikrotik
|
||||
host: IP_ADDRESS
|
||||
username: ROUTEROS_USERNAME
|
||||
password: ROUTEROS_PASSWORD
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
name:
|
||||
description: The name of your Mikrotik device.
|
||||
required: true
|
||||
default: Mikrotik
|
||||
type: string
|
||||
host:
|
||||
description: The IP address of your MikroTik device.
|
||||
required: true
|
||||
@ -54,42 +61,33 @@ password:
|
||||
description: The password of the given user account on the MikroTik device.
|
||||
required: true
|
||||
type: string
|
||||
login_method:
|
||||
description: The login method to use on the MikroTik device. The `plain` method is used by default, if you have an older RouterOS Version than 6.43, use `token` as the login method.
|
||||
required: false
|
||||
type: string
|
||||
options: plain, token
|
||||
default: plain
|
||||
port:
|
||||
description: RouterOS API port.
|
||||
required: false
|
||||
default: 8728 (or 8729 if SSL is enabled)
|
||||
type: integer
|
||||
ssl:
|
||||
verify_ssl:
|
||||
description: Use SSL to connect to the API.
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
method:
|
||||
description: Override autodetection of device scanning method. Can be `wireless` to use local wireless registration, `capsman` for capsman wireless registration, or `dhcp` for DHCP leases.
|
||||
required: false
|
||||
type: string
|
||||
arp_ping:
|
||||
description: Use ARP ping with DHCP method for device scanning.
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
force_dhcp:
|
||||
description: Force use of DHCP server list for devices to be tracked.
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
detection_time:
|
||||
description: How long since the last seen time before the device is marked away, specified in seconds.
|
||||
required: false
|
||||
default: 300
|
||||
type: integer
|
||||
{% endconfiguration %}
|
||||
|
||||
<div class='note info'>
|
||||
|
||||
As of version 6.43 of RouterOS Mikrotik introduced a new login method (plain) in addition to the old login method (token). With Version 6.45.1 the old token login method got deprecated.
|
||||
In order to support both login mechanisms, the new config option `login_method` has been introduced. If this option is not set, the component will try to login with the plain method first and the token method if that fails.
|
||||
That can cause log entries on the router like `login failure for user homeassistant from 192.168.23.10 via api` but doesn't keep the component from working.
|
||||
To get rid of these entries, set the `login_method` to `plain` for Routers with OS versions > 6.43 or `token` for routers with OS versions < 6.43.
|
||||
|
||||
</div>
|
||||
|
||||
## Use a certificate
|
||||
|
||||
To use SSL to connect to the API (via `api-ssl` instead of `api` service) further configuration is required at RouterOS side. You have to upload or generate a certificate and configure `api-ssl` service to use it. Here is an example of a self-signed certificate:
|
||||
@ -128,16 +126,6 @@ mikrotik:
|
||||
password: YOUR_PASSWORD
|
||||
ssl: true
|
||||
arp_ping: true
|
||||
method: dhcp
|
||||
track_devices: true
|
||||
|
||||
- host: 192.168.88.2
|
||||
username: homeassistant
|
||||
password: YOUR_PASSWORD
|
||||
ssl: true
|
||||
port: 8729
|
||||
method: capsman
|
||||
track_devices: true
|
||||
force_dhcp: true
|
||||
detection_time: 30
|
||||
```
|
||||
|
||||
See the [device tracker integration page](/integrations/device_tracker/) for instructions on how to configure the people to be tracked.
|
||||
|
@ -44,7 +44,7 @@ This allows you to connect to the MQTT broker with user `homeassistant` and pass
|
||||
|
||||
- [Certificate](/docs/mqtt/certificate/)
|
||||
- [Discovery](/docs/mqtt/discovery/)
|
||||
- [Publish service](/docs/mqtt/service/)
|
||||
- [Publish & Dump services](/docs/mqtt/service/)
|
||||
- [Birth and last will messages](/docs/mqtt/birth_will/)
|
||||
- [Testing your setup](/docs/mqtt/testing/)
|
||||
- [Logging](/docs/mqtt/logging/)
|
||||
|
@ -10,16 +10,15 @@ ha_release: 0.57
|
||||
|
||||
This sensor will provide you with time table information of the [Nederlandse Spoorwegen](https://www.ns.nl/) train service in the Netherlands.
|
||||
|
||||
You must create an application [here](https://www.ns.nl/ews-aanvraagformulier/) to obtain a `password`.
|
||||
To obtain an API key, create an account on the [NS API-Portaal](https://apiportal.ns.nl/) and obtain an API key for the `Reisinformatie` API which is part of the `Ns-App` product.
|
||||
|
||||
Add the data to your `configuration.yaml` file as shown in the example:
|
||||
The `nederlandse_spoorwegen` integration can be configured using `configuration.yaml` as shown below:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: nederlandse_spoorwegen
|
||||
email: you@example.com
|
||||
password: !secret ns_password
|
||||
api_key: NS_API_KEY
|
||||
routes:
|
||||
- name: Rotterdam-Amsterdam
|
||||
from: Rtd
|
||||
@ -31,16 +30,12 @@ sensor:
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
email:
|
||||
description: The email address you used to request the API password.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: The API password provided by the Nederlandse Spoorwegen.
|
||||
api_key:
|
||||
description: The API key provided by the Nederlandse Spoorwegen.
|
||||
required: true
|
||||
type: string
|
||||
routes:
|
||||
description: List of traveling routes.
|
||||
description: List of travel routes.
|
||||
required: false
|
||||
type: list
|
||||
keys:
|
||||
@ -49,15 +44,15 @@ routes:
|
||||
required: true
|
||||
type: string
|
||||
from:
|
||||
description: The start station.
|
||||
description: The departure station.
|
||||
required: true
|
||||
type: string
|
||||
to:
|
||||
description: Direction of the traveling.
|
||||
description: The arrival station.
|
||||
required: true
|
||||
type: string
|
||||
via:
|
||||
description: Optional other station you wish to visit in between.
|
||||
description: A station the route needs to pass through.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
@ -30,45 +30,27 @@ To enable the Netatmo component, add the following lines to your `configuration.
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
netatmo:
|
||||
api_key: YOUR_CLIENT_ID
|
||||
secret_key: YOUR_CLIENT_SECRET
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
client_id: YOUR_CLIENT_ID
|
||||
client_secret: YOUR_CLIENT_SECRET
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
api_key:
|
||||
client_id:
|
||||
description: The `client id` from your Netatmo app.
|
||||
required: true
|
||||
type: string
|
||||
secret_key:
|
||||
client_secret:
|
||||
description: The `client secret` from your Netatmo app.
|
||||
required: true
|
||||
type: integer
|
||||
username:
|
||||
description: Username for the Netatmo account.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: Password for the Netatmo account.
|
||||
required: true
|
||||
type: string
|
||||
discovery:
|
||||
description: Whether to discover Netatmo devices automatically. Set it to False, if you want to choose which Netatmo device you want to add. Do not use discovery and manual configuration at the same time.
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
webhooks:
|
||||
description: Enable webhooks for instant events of the Welcome and Presence cameras.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
{% endconfiguration %}
|
||||
|
||||
Once that is configured you can enable it from the integrations page.
|
||||
|
||||
### Get API and Secret Key
|
||||
|
||||
To get your API credentials, you have to declare a new application in the [Netatmo Developer Page](https://dev.netatmo.com/). Sign in using your username and password from your regular Netatmo account.
|
||||
Click on 'Create an App' at the top of the page.
|
||||
Open the [app creator](https://dev.netatmo.com/apps/createanapp#form) form.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/screenshots/netatmo_create.png' />
|
||||
@ -85,315 +67,22 @@ That's it. You can copy and paste your new `client id` and `client secret` in yo
|
||||
<img src='/images/screenshots/netatmo_api.png' />
|
||||
</p>
|
||||
|
||||
### Webhooks
|
||||
|
||||
The Welcome and Presence cameras can send instant events to Home Assistant by using webhooks. There are different types of events, each with slightly different data attached. To enable the webhooks add `webhooks: true` to your configuration. It is also required to have your camera enabled in Home Assistant. You can do this either by manually setting up the [platform](/integrations/netatmo#camera) or by enabeling [discovery](/integrations/netatmo/#discovery).
|
||||
|
||||
To be able to receive events from Netatmo, your Home Assistant instance needs to be accessible from the web ([Hass.io instructions](/addons/duckdns/)) and you need to have the base_url configured for the HTTP integration ([docs](/integrations/http/#base_url)).
|
||||
|
||||
Events coming in from Netatmo will be available as events in Home Assistant and are fired as netatmo_*, along with their data. You can use this event to trigger automations.
|
||||
|
||||
#### Events
|
||||
|
||||
The following events are available:
|
||||
|
||||
- netatmo_person (Welcome)
|
||||
- netatmo_movement (Welcome & Presence)
|
||||
- netatmo_human (Presence)
|
||||
- netatmo_animal (Presence)
|
||||
- netatmo_vehicle (Presence)
|
||||
- netatmo_other (Welcome & Presence)
|
||||
|
||||
All events (except `netatmo_other`) contain the following attributes:
|
||||
|
||||
| Attribute | Description |
|
||||
| --------- | ----------- |
|
||||
| event_type | Type of event. E.G. `movement`.
|
||||
| home_name | Name of the home the camera belongs to.
|
||||
| camera_id | MAC address of the camera.
|
||||
| message | Message describing what has been seen by the camera.
|
||||
|
||||
The Presence camera additionally has these attributes:
|
||||
|
||||
| Attribute | Description |
|
||||
| --------- | ----------- |
|
||||
| snapshot_url | URL to a picture of the full frame of the event.
|
||||
| vignette_url | URL to a picture cropped down to the area of interest.
|
||||
|
||||
The Welcome camera additionally has these attributes for `netatmo_person` events:
|
||||
|
||||
| Attribute | Description |
|
||||
| --------- | ----------- |
|
||||
| id | ID of the person that has been seen.
|
||||
| name | Name of the person that has been seen.
|
||||
| is_known | Boolean value if the person is known.
|
||||
| face_url | URL to a picture of the person.
|
||||
|
||||
The `netatmo_other` event passes all the webhook data through for all webhook events that don't match any of the above. Set the [level of logging](/integrations/logger/) for the `netatmo` integration to `debug` to view the data in the Home Assistant logs.
|
||||
|
||||
### Services (only for webhooks)
|
||||
|
||||
There are two services to manually add and drop the webhooks. This might be useful if your webhook has been banned and you want to readd the webhook without restarting Home Assistant.
|
||||
|
||||
| Service | Description |
|
||||
| ------- | ----------- |
|
||||
| addwebhook | Subscribe to webhooks. By default the automatically generated URL will be used. But you can pass `{"url": "https://yourdomain.com/yourwebhook/"}` as service data to the service call if you want to use a manually created [webhook trigger](/docs/automation/trigger/#webhook-trigger). In this case you have to manually process the data that is sent by Netatmo.
|
||||
| dropwebhook | Unsubscribe existing webhooks.
|
||||
|
||||
## Binary Sensor
|
||||
|
||||
This integration allows you to get the latest event seen by the camera.
|
||||
|
||||
### Binary Sensor Advanced configuration
|
||||
|
||||
If you want to select a specific sensor,
|
||||
set discovery to `false` for [netatmo](/integrations/netatmo/)
|
||||
and add the following lines to your `configuration.yaml`:
|
||||
|
||||
{% configuration %}
|
||||
home:
|
||||
description: Will use the cameras of this home only.
|
||||
required: false
|
||||
type: string
|
||||
timeout:
|
||||
description: >
|
||||
The Welcome/Presence binary sensors will
|
||||
stay on for X seconds after detection.
|
||||
required: false
|
||||
type: integer
|
||||
default: 90
|
||||
cameras:
|
||||
description: List of cameras entity IDs to display.
|
||||
required: false
|
||||
type: list
|
||||
welcome_sensors:
|
||||
description: >
|
||||
List of monitored conditions. Possible values are
|
||||
'Someone known', 'Someone unknown' and 'Motion'.
|
||||
required: false
|
||||
type: list
|
||||
presence_sensors:
|
||||
description: >
|
||||
List of monitored conditions. Possible values are 'Outdoor motion',
|
||||
'Outdoor human', 'Outdoor animal' and 'Outdoor vehicle'.
|
||||
required: false
|
||||
type: list
|
||||
{% endconfiguration %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
binary_sensor:
|
||||
platform: netatmo
|
||||
home: home_name
|
||||
timeout: 90
|
||||
cameras:
|
||||
- camera_name1
|
||||
welcome_sensors:
|
||||
- Someone known
|
||||
- Someone unknown
|
||||
- Motion
|
||||
presence_sensors:
|
||||
- Outdoor motion
|
||||
- Outdoor human
|
||||
- Outdoor animal
|
||||
- Outdoor vehicle
|
||||
```
|
||||
|
||||
If **home** and **cameras** is not provided, all cameras will be used.
|
||||
If multiple cameras are available then each monitored conditions
|
||||
If multiple cameras are available then each monitored condition
|
||||
will create a specific sensor for each camera
|
||||
|
||||
## Camera
|
||||
|
||||
The `netatmo` camera platform is consuming the information provided by a [Netatmo](https://www.netatmo.com) camera. This integration allows you to view the current photo created by the Camera.
|
||||
|
||||
### Camera Advanced configuration
|
||||
|
||||
If you want to select a specific camera,
|
||||
set discovery to `false` for [netatmo](/integrations/netatmo/)
|
||||
and add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
camera:
|
||||
- platform: netatmo
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
home:
|
||||
description: Will display the cameras of this home only.
|
||||
required: false
|
||||
type: string
|
||||
cameras:
|
||||
description: Cameras to use. Multiple entities allowed.
|
||||
required: false
|
||||
type: list
|
||||
keys:
|
||||
camera_name:
|
||||
description: Name of the camera to display.
|
||||
quality:
|
||||
description: Quality of the live stream. (`'high'`, `'medium'`, `'low'` or `'poor'`)
|
||||
required: false
|
||||
type: string
|
||||
default: high
|
||||
{% endconfiguration %}
|
||||
|
||||
If **home** and **cameras** are not provided, all cameras will be displayed. For more control over your cameras check the configuration sample below.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
camera:
|
||||
platform: netatmo
|
||||
home: home_name
|
||||
quality: medium
|
||||
cameras:
|
||||
- camera_name1
|
||||
- camera_name2
|
||||
```
|
||||
|
||||
### Services (only for camera)
|
||||
|
||||
The services below permit to control whether the camera should monitor and alert on motion detection. Also, it allows to control the status of the flood light (only for Presence model).
|
||||
|
||||
| Service | Description |
|
||||
| ------- | ----------- |
|
||||
| enable_motion_detection | Enable motion detection and alert.
|
||||
| disable_motion_detection | Disable motion detection and alert.
|
||||
| set_light_auto | Presence model only : Set flood light on automatic mode.
|
||||
| set_light_on | Presence model only : Set flood light on.
|
||||
| set_light_off | Presence model only : Set flood light off.
|
||||
The `netatmo` camera platform is consuming the information provided by a [Netatmo](https://www.netatmo.com) camera. This integration allows you to view the current live stream created by the Camera.
|
||||
|
||||
## Climate
|
||||
|
||||
The `netatmo` thermostat platform is consuming the information provided by a [Netatmo Smart Thermostat](https://www.netatmo.com/product/energy/thermostat) thermostat. This integration allows you to view the current temperature and setpoint.
|
||||
|
||||
### Camera Advanced configuration
|
||||
|
||||
If you want to select specific homes or specific rooms,
|
||||
set discovery to `false` for [netatmo](/integrations/netatmo/)
|
||||
and add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
climate:
|
||||
- platform: netatmo
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
homes:
|
||||
description: Will display the thermostats of the homes listed.
|
||||
required: false
|
||||
type: list
|
||||
keys:
|
||||
name:
|
||||
required: true
|
||||
description: The home name.
|
||||
rooms:
|
||||
description: Rooms to be displayed. Multiple entities allowed.
|
||||
required: false
|
||||
type: [list, string]
|
||||
description: List of the names of the rooms to be displayed.
|
||||
{% endconfiguration %}
|
||||
|
||||
If **homes** and **rooms** are not provided, all thermostats will be displayed.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
climate:
|
||||
platform: netatmo
|
||||
homes:
|
||||
- name: home1_name
|
||||
rooms:
|
||||
- room1_name
|
||||
- room2_name
|
||||
- name: home2_name
|
||||
rooms:
|
||||
- room3_name
|
||||
- room4_name
|
||||
- room5_name
|
||||
```
|
||||
|
||||
## Sensor
|
||||
|
||||
The `netatmo` sensor platform is consuming the information provided by a [Netatmo Weather Station](https://www.netatmo.com/en-us/weather/weatherstation), a
|
||||
[Netatmo Home Coach](https://www.netatmo.com/en-us/aircare/homecoach) [Netatmo](https://www.netatmo.com) device or the public sensors of others available via the [Netatmo API](https://weathermap.netatmo.com/) even if you don't own a Netatmo device.
|
||||
|
||||
Public sensors have to be set up manually.
|
||||
|
||||
## Advanced sensor configuration
|
||||
|
||||
If you want to select a specific sensor, set discovery to False for [netatmo](/integrations/netatmo/) and add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
# Personal sensors
|
||||
- platform: netatmo
|
||||
station: STATION_NAME
|
||||
modules:
|
||||
- module_name1
|
||||
- module_name2
|
||||
|
||||
# Public sensor
|
||||
- platform: netatmo
|
||||
areas:
|
||||
- lat_ne: 40.719
|
||||
lon_ne: -73.735
|
||||
lat_sw: 40.552
|
||||
lon_sw: -74.105
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
station:
|
||||
required: false
|
||||
description: The name of the weather station. Needed if several stations are associated with the account.
|
||||
type: string
|
||||
modules:
|
||||
required: false
|
||||
description: Modules to use. Multiple entries allowed. Please check the next section about how to retrieve the module names.
|
||||
type: list
|
||||
keys:
|
||||
module_name:
|
||||
type: list
|
||||
required: true
|
||||
description: Name of the module.
|
||||
areas:
|
||||
description: The list contains one or more areas to add as sensors.
|
||||
required: false
|
||||
type: map
|
||||
keys:
|
||||
lat_ne:
|
||||
description: Latitude of north-eastern corner of area.
|
||||
required: true
|
||||
type: string
|
||||
lon_ne:
|
||||
description: Longitude of north-eastern corner of area.
|
||||
required: true
|
||||
type: string
|
||||
lat_sw:
|
||||
description: Latitude of south-western corner of area.
|
||||
required: true
|
||||
type: string
|
||||
lon_sw:
|
||||
description: Longitude of south-western corner of area.
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
description: Name of the sensor.
|
||||
required: false
|
||||
type: string
|
||||
default: Netatmo Public Data
|
||||
mode:
|
||||
description: "How to calculate the value of the sensor if there are multiple stations reporting data. Accepts `max` or `avg`."
|
||||
required: false
|
||||
type: string
|
||||
default: avg
|
||||
{% endconfiguration %}
|
||||
|
||||
## Find your modules name
|
||||
|
||||
You can find your modules name in your [online NetAtmo account](https://my.netatmo.com/app/station). These names can be found and changed in parameters. You have to provide these name in your Home Assistant `configuration.yaml` file.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/screenshots/netatmo_module.png' />
|
||||
</p>
|
||||
The `netatmo` sensor platform is consuming the information provided by a [Netatmo Weather Station](https://www.netatmo.com/en-us/weather/weatherstation) or a
|
||||
[Netatmo Home Coach](https://www.netatmo.com/en-us/aircare/homecoach) [Netatmo](https://www.netatmo.com) device.
|
||||
|
@ -10,9 +10,34 @@ ha_iot_class: Local Polling
|
||||
|
||||
The `openhome` platform allows you to connect an [Openhome Compliant Renderer](http://openhome.org/) to Home Assistant such as a [Linn Products Ltd](https://www.linn.co.uk) HiFi streamer. It will allow you to control media playback, volume, source and see the current playing item. Openhome devices should be discovered by using the [the discovery component](/integrations/discovery/), their device names are taken from the name of the room configured on the device.
|
||||
|
||||
### Example configuration.yaml entry
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
discovery:
|
||||
media_player:
|
||||
- platform: openhome
|
||||
```
|
||||
|
||||
### Example local audio playback action
|
||||
|
||||
```yaml
|
||||
action:
|
||||
- service: media_player.play_media
|
||||
data_template:
|
||||
entity_id:
|
||||
- media_player.linn_bedroom
|
||||
media_content_id: "http://172.24.32.13/Doorbell.mp3"
|
||||
media_content_type: music
|
||||
```
|
||||
|
||||
### Example web stream playback action
|
||||
|
||||
```yaml
|
||||
- service: media_player.play_media
|
||||
data_template:
|
||||
entity_id:
|
||||
- media_player.linn_bedroom
|
||||
media_content_id: "http://media-ice.musicradio.com:80/ClassicFMMP3"
|
||||
media_content_type: music
|
||||
```
|
||||
|
||||
|
@ -21,32 +21,17 @@ To generate an API key,
|
||||
[simply log in to the OpenUV website](https://www.openuv.io/auth/google).
|
||||
|
||||
<div class='note warning'>
|
||||
|
||||
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.
|
||||
|
||||
</div>
|
||||
|
||||
<div class='note warning'>
|
||||
|
||||
Each use of the `update_data` service will consume 1 or 2 API calls, depending
|
||||
on which monitored conditions are configured.
|
||||
|
||||
If the OpenUV integration is configured through the Home Assistant UI (via the
|
||||
`Configuration >> Integrations` panel), each service call will consume 2 API
|
||||
calls from the daily quota.
|
||||
|
||||
If the OpenUV integration is configured via `configuration.yaml`, service calls
|
||||
will consume 2 API calls if `monitored_conditions` contains both
|
||||
`uv_protection_window` and any other condition; any other scenarios will only
|
||||
consume 1 API call.
|
||||
|
||||
Ensure that you understand these specifications when calling the `update_data`
|
||||
service.
|
||||
|
||||
Each use of the `update_data` service will consume 2 API calls from the daily quota
|
||||
(since it performs the same tasks as back-to-back calls of the `update_uv_index_data` and
|
||||
the `update_protection_data` services).
|
||||
</div>
|
||||
|
||||
## Configuration
|
||||
@ -64,82 +49,26 @@ api_key:
|
||||
description: The OpenUV API key.
|
||||
required: true
|
||||
type: string
|
||||
binary_sensors:
|
||||
description: The binary sensor-related configuration options.
|
||||
elevation:
|
||||
description: The elevation of the monitored location; if ommitted, the value specified in `configuration.yaml` will be used.
|
||||
required: false
|
||||
type: map
|
||||
keys:
|
||||
monitored_conditions:
|
||||
description: The conditions to create sensors from.
|
||||
required: false
|
||||
type: list
|
||||
default: all
|
||||
keys:
|
||||
uv_protection_window:
|
||||
description: Displays if UV protection (sunscreen, etc.) is recommended at the current date and time.
|
||||
sensors:
|
||||
description: The sensor-related configuration options.
|
||||
type: float
|
||||
latitude:
|
||||
description: The latitude of the monitored location; if ommitted, the value specified in `configuration.yaml` will be used.
|
||||
required: false
|
||||
type: map
|
||||
keys:
|
||||
monitored_conditions:
|
||||
description: The conditions to create sensors from.
|
||||
required: false
|
||||
type: list
|
||||
default: all
|
||||
keys:
|
||||
current_ozone_level:
|
||||
description: The current ozone level in du (Dobson Units).
|
||||
current_uv_index:
|
||||
description: The current UV index.
|
||||
current_uv_level:
|
||||
description: "The level of current UV index, which is calculated based on [UV Index Levels & Colors](https://www.openuv.io/kb/uv-index-levels-colors)."
|
||||
max_uv_index:
|
||||
description: The maximum UV index that will be encountered that day (at solar noon).
|
||||
safe_exposure_time_type_1:
|
||||
description: The approximate exposure time for skin type I.
|
||||
safe_exposure_time_type_2:
|
||||
description: The approximate exposure time for skin type II.
|
||||
safe_exposure_time_type_3:
|
||||
description: The approximate exposure time for skin type III.
|
||||
safe_exposure_time_type_4:
|
||||
description: The approximate exposure time for skin type IV.
|
||||
safe_exposure_time_type_5:
|
||||
description: The approximate exposure time for skin type V.
|
||||
safe_exposure_time_type_6:
|
||||
description: The approximate exposure time for skin type VI.
|
||||
type: float
|
||||
longitude:
|
||||
description: The longitude of the monitored location; if ommitted, the value specified in `configuration.yaml` will be used.
|
||||
required: false
|
||||
type: float
|
||||
{% endconfiguration %}
|
||||
|
||||
## The 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).
|
||||
|
||||
## 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:
|
||||
|
||||
```yaml
|
||||
openuv:
|
||||
api_key: YOUR_OPENUV_API_KEY
|
||||
binary_sensors:
|
||||
monitored_conditions:
|
||||
- uv_protection_window
|
||||
sensors:
|
||||
monitored_conditions:
|
||||
- current_ozone_level
|
||||
- current_uv_index
|
||||
- current_uv_level
|
||||
- max_uv_index
|
||||
- safe_exposure_time_type_1
|
||||
- safe_exposure_time_type_2
|
||||
- safe_exposure_time_type_3
|
||||
- safe_exposure_time_type_4
|
||||
- safe_exposure_time_type_5
|
||||
- safe_exposure_time_type_6
|
||||
```
|
||||
|
||||
<div 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
|
||||
@ -182,7 +111,7 @@ automation:
|
||||
service: openuv.update_data
|
||||
```
|
||||
|
||||
Update only the sensors every 20 minutes while the sun is at least 10 degrees above the horizon:
|
||||
Update the UV index data every 20 minutes while the sun is at least 10 degrees above the horizon:
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
|
@ -1,57 +0,0 @@
|
||||
---
|
||||
title: Owlet
|
||||
description: Instructions on how to integrate Owlet baby monitor into Home Assistant.
|
||||
logo: owlet.svg
|
||||
ha_category:
|
||||
- Health
|
||||
- Binary Sensor
|
||||
- Sensor
|
||||
ha_release: 0.89
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_codeowners:
|
||||
- '@oblogic7'
|
||||
---
|
||||
|
||||
[Owlet Care](https://owletcare.com/) baby monitors check your baby's oxygen level and heart rate while sleeping.
|
||||
|
||||
Configuring this integration will enable tracking of heart rate, oxygen level, motion and base station connection status. Battery status is available as an attribute on oxygen and heart rate sensors.
|
||||
|
||||
This integration enables the following platforms automatically:
|
||||
|
||||
#### Binary Sensors
|
||||
|
||||
- Base Station Status
|
||||
- Motion
|
||||
|
||||
#### Sensors
|
||||
|
||||
- Heart rate
|
||||
- Oxygen level
|
||||
|
||||
### Configuration
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
owlet:
|
||||
username: OWLET_USER
|
||||
password: OWLET_PASSWORD
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
username:
|
||||
description: Your Owlet account user ID.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: Your Owlet account password.
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
description: Custom name for your Owlet device.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
<p class='warning'>
|
||||
The intended purpose of this integration is to enable data logging and automations such as battery status updates and charging reminders. This integration should not replace the Owlet app nor should it be used for life-critical notifications.
|
||||
</p>
|
@ -1,44 +0,0 @@
|
||||
---
|
||||
title: PostNL
|
||||
description: Instructions on how to set up PostNL sensors within Home Assistant.
|
||||
logo: postnl.png
|
||||
ha_category:
|
||||
- Postal Service
|
||||
ha_release: 0.69
|
||||
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. The packages are available in the shipments attribute.
|
||||
|
||||
## Configuration
|
||||
|
||||
To enable this sensor, add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
sensor:
|
||||
- platform: postnl
|
||||
username: POSTNL_USERNAME
|
||||
password: POSTNL_PASSWORD
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
name:
|
||||
description: Sensor name
|
||||
required: false
|
||||
default: "postnl"
|
||||
type: string
|
||||
username:
|
||||
description: Account username of jouw.postnl.nl
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: Account password of jouw.postnl.nl
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
<div class='note warning'>
|
||||
This integration is not affiliated with PostNL and retrieves data from the endpoints of the mobile application. Use at your own risk.
|
||||
</div>
|
@ -205,16 +205,17 @@ Emulate button press on PlayStation 4. This emulates the commands available for
|
||||
|
||||
Full list of supported commands.
|
||||
|
||||
| Command | Button Emulated |
|
||||
| -------- | ---------------- |
|
||||
| `ps` | PS (PlayStation) |
|
||||
| `option` | Option |
|
||||
| `enter` | Enter |
|
||||
| `back` | Back |
|
||||
| `up` | Swipe Up |
|
||||
| `down` | Swipe Down |
|
||||
| `left` | Swipe Left |
|
||||
| `right` | Swipe Right |
|
||||
| Command | Button Emulated |
|
||||
| --------- | ------------------ |
|
||||
| `ps` | PS (PlayStation) |
|
||||
| `ps_hold` | PS Hold/Long Press |
|
||||
| `option` | Option |
|
||||
| `enter` | Enter |
|
||||
| `back` | Back |
|
||||
| `up` | Swipe Up |
|
||||
| `down` | Swipe Down |
|
||||
| `left` | Swipe Left |
|
||||
| `right` | Swipe Right |
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
|
@ -46,7 +46,7 @@ host:
|
||||
port:
|
||||
description: The port that Pulseaudio is listening on.
|
||||
required: false
|
||||
default: 4713
|
||||
default: 4712
|
||||
type: integer
|
||||
buffer_size:
|
||||
description: How much data to load from Pulseaudio at once.
|
||||
|
@ -33,21 +33,6 @@ rainmachine:
|
||||
password: YOUR_PASSWORD
|
||||
```
|
||||
|
||||
To configure additional functionality, add configuration options beneath a `binary_sensor`, `sensor`, and/or `switches` key within the `rainmachine` sections of `configuration.yaml` as below:
|
||||
|
||||
```yaml
|
||||
rainmachine:
|
||||
controllers:
|
||||
- ip_address: 192.168.1.100
|
||||
password: YOUR_PASSWORD
|
||||
binary_sensors:
|
||||
# binary sensor configuration options...
|
||||
sensors:
|
||||
# sensor configuration options...
|
||||
switches:
|
||||
# switch configuration options...
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
ip_address:
|
||||
description: The IP address or hostname of your RainMachine unit.
|
||||
@ -72,36 +57,11 @@ scan_interval:
|
||||
required: false
|
||||
type: integer
|
||||
default: 60
|
||||
binary_sensors:
|
||||
description: Binary sensor-related configuration options.
|
||||
zone_run_time:
|
||||
description: The default number of seconds that a zone should run when turned on.
|
||||
required: false
|
||||
type: map
|
||||
keys:
|
||||
monitored_conditions:
|
||||
description: The conditions to create sensors from.
|
||||
required: false
|
||||
type: list
|
||||
default: all (`extra_water_on_hot_days`, `flow_sensor`, `freeze`, `freeze_protection`, `hourly`, `month`, `raindelay`, `rainsensor`, `weekday`)
|
||||
sensors:
|
||||
description: Sensor-related configuration options.
|
||||
required: false
|
||||
type: map
|
||||
keys:
|
||||
monitored_conditions:
|
||||
description: The conditions to create sensors from.
|
||||
required: false
|
||||
type: list
|
||||
default: all (`flow_sensor_clicks_cubic_meter`, `flow_sensor_consumed_liters`, `flow_sensor_start_index`, `flow_sensor_watering_clicks`,`freeze_protect_temp`)
|
||||
switches:
|
||||
description: Switch-related configuration options.
|
||||
required: false
|
||||
type: map
|
||||
keys:
|
||||
zone_run_time:
|
||||
description: The default number of seconds that a zone should run when turned on.
|
||||
required: false
|
||||
type: integer
|
||||
default: 600
|
||||
type: integer
|
||||
default: 600
|
||||
{% endconfiguration %}
|
||||
|
||||
## Services
|
||||
|
@ -47,11 +47,6 @@ timeout:
|
||||
required: false
|
||||
type: integer
|
||||
default: 30
|
||||
hidden:
|
||||
description: Hide the entity from UI. There is currently no reason to show the entity in UI as turning it off or on does nothing.
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
commands:
|
||||
description: A list of commands
|
||||
required: false
|
||||
@ -74,7 +69,6 @@ remote:
|
||||
token: YOUR_TOKEN
|
||||
slot: 1
|
||||
timeout: 30
|
||||
hidden: false
|
||||
commands:
|
||||
activate_towel_heater:
|
||||
command:
|
||||
|
@ -79,12 +79,12 @@ sensor:
|
||||
To have your Home Assistant installation remind you of upcoming waste collections, combine the `rova` platform with some [Automations](/docs/automation/) and a [notification platform](/integrations/notify/).
|
||||
|
||||
{% raw %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry for Rova waste collection reminder
|
||||
automation:
|
||||
- id: rova-garbage-bio-reminder
|
||||
alias: 'Send Rova Bio waste collection reminder'
|
||||
hide_entity: true
|
||||
trigger:
|
||||
- platform: time
|
||||
at: '19:00:00'
|
||||
@ -98,6 +98,7 @@ automation:
|
||||
data:
|
||||
message: 'Reminder: put out biowaste bin'
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
||||
<div class='note warning'>
|
||||
|
25
source/_integrations/safe_mode.markdown
Normal file
@ -0,0 +1,25 @@
|
||||
---
|
||||
title: Safe Mode
|
||||
description: Allows Home Assistant to start up in safe mode.
|
||||
ha_category: []
|
||||
ha_release: 0.105
|
||||
logo: home-assistant.png
|
||||
ha_quality_scale: internal
|
||||
---
|
||||
|
||||
The `safe_mode` integration is an internally used integration by the
|
||||
Home Assistant Core.
|
||||
|
||||
You don't have to configure it in any way since it is automatically always
|
||||
available when Home Assistant needs it.
|
||||
|
||||
If, during startup, Home Assistant has problems reading your configuration,
|
||||
it will still continue to start using bit and pieces from the configuration
|
||||
of the last time it did start.
|
||||
|
||||
When this happens, Home Assistant will start in "Safe mode" using this
|
||||
integration. In this mode, nothing is loaded, but it does give you access to
|
||||
the Home Assistant frontend, settings and add-ons.
|
||||
|
||||
This gives you the possibility to correct the issue and restart Home Assistant
|
||||
to re-try.
|
@ -6,6 +6,7 @@ ha_category:
|
||||
- Media Player
|
||||
ha_release: 0.13
|
||||
ha_iot_class: Local Polling
|
||||
ha_config_flow: true
|
||||
ha_codeowners:
|
||||
- '@escoand'
|
||||
---
|
||||
@ -14,49 +15,57 @@ The `samsungtv` platform allows you to control a [Samsung Smart TV](https://www.
|
||||
|
||||
### Setup
|
||||
|
||||
Go to the integrations page in your config and click on new integration -> Samsung TV.
|
||||
If you have enabled [ssdp](/integrations/ssdp) discovery and your TV is on, it's likely that you just have to confirm the detected device.
|
||||
|
||||
When the TV is first connected, you will need to accept Home Assistant on the TV to allow communication.
|
||||
|
||||
### Configuration
|
||||
### YAML Configuration
|
||||
|
||||
To add a TV to your installation without relying on the [discovery component](/integrations/discovery/), add the following to your `configuration.yaml` file:
|
||||
YAML configuration is around for people that prefer YAML.
|
||||
To use a TV add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
media_player:
|
||||
- platform: samsungtv
|
||||
host: IP_ADDRESS
|
||||
samsungtv:
|
||||
- host: IP_ADDRESS
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
host:
|
||||
description: "The IP of the Samsung Smart TV, e.g., `192.168.0.10`."
|
||||
description: "The hostname or IP of the Samsung Smart TV, e.g., `192.168.0.10`."
|
||||
required: true
|
||||
type: string
|
||||
port:
|
||||
description: The port of the Samsung Smart TV. If set to 8001, the new websocket connection will be used (required for 2016+ TVs) - for installs other than Hass.io or Docker you may need to install a Python package, see below.
|
||||
required: false
|
||||
type: integer
|
||||
default: 55000
|
||||
default: automatically detected
|
||||
name:
|
||||
description: The name you would like to give to the Samsung Smart TV.
|
||||
required: false
|
||||
type: string
|
||||
timeout:
|
||||
description: The timeout for communication with the TV in seconds.
|
||||
turn_on_action:
|
||||
description: "Defines an [action](/docs/automation/action/) to turn the TV on."
|
||||
required: false
|
||||
type: time
|
||||
default: 0 (no timeout)
|
||||
mac:
|
||||
description: "The MAC address of the Samsung Smart TV, e.g., `00:11:22:33:44:55:66`. Required for power on support via wake on lan."
|
||||
required: false
|
||||
type: string
|
||||
broadcast_address:
|
||||
description: The broadcast address on which to send the Wake-On-Lan packet.
|
||||
required: false
|
||||
default: 255.255.255.255
|
||||
type: string
|
||||
type: list
|
||||
{% endconfiguration %}
|
||||
|
||||
#### Wake up TV
|
||||
|
||||
To wake up the TV when switched off you can use the [wake-on-lan](/integrations/wake_on_lan/) integration and call a service. This is not possible with every device.
|
||||
|
||||
```yaml
|
||||
wake_on_lan:
|
||||
|
||||
samsungtv:
|
||||
- host: IP_ADDRESS
|
||||
turn_on_action:
|
||||
- service: wake_on_lan.send_magic_packet
|
||||
data:
|
||||
mac: "11:22:33:44:55:66"
|
||||
```
|
||||
|
||||
### Supported models
|
||||
|
||||
If your model is not on the list then give it a test, if everything works correctly then add it to the list on [GitHub](https://github.com/home-assistant/home-assistant.io/tree/current/source/_integrations/samsungtv.markdown).
|
||||
@ -148,16 +157,14 @@ None of the 2014 (H) and 2015 (J) model series (e.g., J5200) will work, since Sa
|
||||
Changing channels can be done by calling the `media_player.play_media` service
|
||||
with the following payload:
|
||||
|
||||
```javascript
|
||||
{
|
||||
"entity_id": "media_player.office_tv",
|
||||
"media_content_id": "590",
|
||||
"media_content_type": "channel"
|
||||
}
|
||||
```yaml
|
||||
entity_id: media_player.samsung_tv
|
||||
media_content_id: 590
|
||||
media_content_type: channel
|
||||
```
|
||||
#### Selecting a source
|
||||
|
||||
Source selection is not yet implemented.
|
||||
It's possible to switch between the 2 sources `TV` and `HDMI`.
|
||||
|
||||
### Hass.io
|
||||
|
||||
|
21
source/_integrations/search.markdown
Normal file
@ -0,0 +1,21 @@
|
||||
---
|
||||
title: Search
|
||||
description: Internal search module for Home Assistant.
|
||||
ha_category: []
|
||||
ha_release: 0.105
|
||||
logo: home-assistant.png
|
||||
ha_quality_scale: internal
|
||||
---
|
||||
|
||||
The `search` integration is an internally used integration by the
|
||||
Home Assistant Core.
|
||||
|
||||
All data stored in Home Assistant is interconnected, making it a graph.
|
||||
This means it can be searched as a graph.
|
||||
|
||||
This integration allows the internals of Home Assistant to search for
|
||||
relations between things like areas, devices, entities, configuration entries,
|
||||
scenes, scripts and automations.
|
||||
|
||||
The search integration is automatically loaded with the Home Assistant frontend
|
||||
and does not need to be configured separately.
|
52
source/_integrations/sighthound.markdown
Normal file
@ -0,0 +1,52 @@
|
||||
---
|
||||
title: "Sighthound"
|
||||
description: "Detect people with Sighthound Cloud."
|
||||
logo: sighthound-logo.png
|
||||
ha_category:
|
||||
- Image Processing
|
||||
ha_release: 0.105
|
||||
ha_iot_class: Cloud Polling
|
||||
---
|
||||
|
||||
Detect people in camera images using [Sighthound Cloud](https://www.sighthound.com/products/cloud). The Sighthound Developer tier (free for non-commercial use) allows 5000 images to be processed per month. If you need more processing per month you will need to sign up for a production account (i.e., a Basic or Pro account).
|
||||
|
||||
This integration adds an image processing entity where the state of the entity is the number of people detected in an image. For each person detected, an `sighthound.person_detected` event is fired. The event data includes the entity_id of the image processing entity firing the event, and the bounding box around the detected person.
|
||||
|
||||
**Note** that by default the component will not automatically scan images, but requires you to call the `image_processing.scan` service e.g. using an automation triggered by motion.
|
||||
|
||||
## Configuration
|
||||
|
||||
To enable this platform in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
image_processing:
|
||||
- platform: sighthound
|
||||
api_key: some_key
|
||||
source:
|
||||
- entity_id: camera.my_cam
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
api_key:
|
||||
description: Your Sighthound Cloud API key.
|
||||
required: true
|
||||
type: string
|
||||
account_type:
|
||||
description: If you have a paid account, used `prod`.
|
||||
required: false
|
||||
type: string
|
||||
source:
|
||||
description: The list of image sources.
|
||||
required: true
|
||||
type: map
|
||||
keys:
|
||||
entity_id:
|
||||
description: A camera entity id to get a picture from.
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
description: This parameter allows you to override the name of your `image_processing` entity.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
@ -55,56 +55,40 @@ entity.
|
||||
|
||||
Remove a SimpliSafe PIN (by label or PIN value).
|
||||
|
||||
| Service Data Attribute | Optional | Description |
|
||||
|---------------------------|----------|---------------------------------------------|
|
||||
| `system_id` | no | The ID of a SimpliSafe system |
|
||||
| `label_or_pin` | no | The PIN label or value to remove |
|
||||
|
||||
### `simplisafe.set_alarm_duration`
|
||||
|
||||
Set the duration (in seconds) of an active alarm.
|
||||
|
||||
| Service Data Attribute | Optional | Description |
|
||||
|---------------------------|----------|---------------------------------------------|
|
||||
| `system_id` | no | The ID of a SimpliSafe system |
|
||||
| `duration` | no | The number of seconds to sound the alarm |
|
||||
|
||||
### `simplisafe.set_delay`
|
||||
|
||||
Set a duration for how long the base station should delay when transitioning between states.
|
||||
|
||||
| Service Data Attribute | Optional | Description |
|
||||
|---------------------------|----------|---------------------------------------------|
|
||||
| `system_id` | no | The ID of a SimpliSafe system |
|
||||
| `arrival_state` | no | The target "arrival" state (away, home) |
|
||||
| `transition` | no | The system state transition to affect (entry, exit) |
|
||||
| `seconds` | no | The number of seconds to delay |
|
||||
|
||||
### `simplisafe.set_light`
|
||||
|
||||
Turn the base station light on/off.
|
||||
|
||||
| Service Data Attribute | Optional | Description |
|
||||
|---------------------------|----------|---------------------------------------------|
|
||||
| `system_id` | no | The ID of a SimpliSafe system |
|
||||
| `light_state` | no | True for on, False for off |
|
||||
| Service Data Attribute | Optional | Description |
|
||||
| ---------------------- | -------- | -------------------------------- |
|
||||
| `system_id` | no | The ID of a SimpliSafe system |
|
||||
| `label_or_pin` | no | The PIN label or value to remove |
|
||||
|
||||
### `simplisafe.set_pin`
|
||||
|
||||
Set a SimpliSafe PIN.
|
||||
|
||||
| Service Data Attribute | Optional | Description |
|
||||
|---------------------------|----------|---------------------------------------------|
|
||||
| `system_id` | no | The ID of the system to remove the PIN from |
|
||||
| `label` | no | The label to show in the SimpliSafe UI |
|
||||
| `pin` | no | The PIN value to use |
|
||||
| Service Data Attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ------------------------------------------- |
|
||||
| `system_id` | no | The ID of the system to remove the PIN from |
|
||||
| `label` | no | The label to show in the SimpliSafe UI |
|
||||
| `pin` | no | The PIN value to use |
|
||||
|
||||
### `simplisafe.set_volume_property`
|
||||
### `simplisafe.system_properties`
|
||||
|
||||
Set a level for one of the base station's various volumes.
|
||||
Set one or more system properties.
|
||||
|
||||
| Service Data Attribute | Optional | Description |
|
||||
|---------------------------|----------|---------------------------------------------|
|
||||
| `system_id` | no | The ID of a SimpliSafe system |
|
||||
| `volume_property` | no | The volume property to set (alarm, chime, voice_prompt) |
|
||||
| `volume` | no | A volume (off, low, medium, high) |
|
||||
For any property denoting a volume, the following values should be used:
|
||||
|
||||
* Off: `0`
|
||||
* Low: `1`
|
||||
* Medium: `2`
|
||||
* High: `3`
|
||||
|
||||
| Service Data Attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ---------------------------------------------------------------------------- |
|
||||
| `system_id` | no | The ID of a SimpliSafe system |
|
||||
| `alarm_duration` | yes | The number of seconds a triggered alarm should sound |
|
||||
| `chime_volume` | yes | The volume of the door chime |
|
||||
| `entry_delay_away` | yes | The number of seconds to delay triggering when entering with an "away" state |
|
||||
| `entry_delay_home` | yes | The number of seconds to delay triggering when entering with a "home" state |
|
||||
| `exit_delay_away` | yes | The number of seconds to delay triggering when exiting with an "away" state |
|
||||
| `exit_delay_home` | yes | The number of seconds to delay triggering when exiting with a "home" state |
|
||||
| `light` | yes | Whether the light on the base station should display when armed |
|
||||
| `voice_prompt_volume` | yes | The volume of the base station's voice prompts |
|
||||
|
87
source/_integrations/sms.markdown
Normal file
@ -0,0 +1,87 @@
|
||||
---
|
||||
title: "SMS notifications via GSM modem"
|
||||
description: "SMS notification via GSM modem."
|
||||
icon: gammu.png
|
||||
ha_category:
|
||||
- Notifications
|
||||
ha_release: 0.105
|
||||
ha_iot_class: Local Polling
|
||||
ha_config_flow: false
|
||||
ha_codeowners:
|
||||
- '@ocalvo'
|
||||
---
|
||||
|
||||
The `sms` integration allows having a local execution SMS notification via [Gammu](https://wammu.eu/gammu/). This is ideal when the internet is offline or when the power goes out.
|
||||
|
||||
This integration provides the following platforms:
|
||||
- Notify
|
||||
|
||||
## Configuration
|
||||
|
||||
To enable those notifications in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sms:
|
||||
device: /dev/ttyUSB2
|
||||
|
||||
notify:
|
||||
- platform: sms
|
||||
name: sms_person1
|
||||
recipient: PHONE_NUMBER
|
||||
- platform: sms
|
||||
name: sms_person2
|
||||
recipient: PHONE_NUMBER
|
||||
```
|
||||
{% configuration %}
|
||||
device:
|
||||
description: The gsm modem device.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
To use notifications, please see the [getting started with automation page](/getting-started/automation/).
|
||||
|
||||
If the ingegration is used in HassOS then version [3.6](https://github.com/home-assistant/hassos/releases/tag/3.6) or higher is required.
|
||||
|
||||
For installations not running on Hass.io or Docker, you must install `gammu-dev` package:
|
||||
|
||||
```bash
|
||||
sudo apt-get install libgammu-dev
|
||||
```
|
||||
|
||||
Before running for the first time, check that the modem is recognized by the system by running:
|
||||
|
||||
```bash
|
||||
ls -l /dev/*USB*
|
||||
```
|
||||
|
||||
Note: In Hass.io you need to install the SSH add-on.
|
||||
|
||||
## Required Hardware
|
||||
|
||||
You will need a USB GSM stick modem.
|
||||
|
||||
### List of modems known to work
|
||||
|
||||
- [Huawei E3372-510](https://www.amazon.com/gp/product/B01N6P3HI2/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1)(
|
||||
Need to unlock it using [this guide](http://blog.asiantuntijakaveri.fi/2015/07/convert-huawei-e3372h-153-from.html))
|
||||
|
||||
[List of modems that may work](https://www.asus.com/event/networks_3G4G_support/)
|
||||
|
||||
### Note about Raspberry PI 4
|
||||
|
||||
On Raspberry PI 4, you need a udev rule in the config USB stick, for the [Huawei E3372-510 stick](https://www.amazon.com/gp/product/B01N6P3HI2/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1) for it to be recognized.
|
||||
|
||||
Set this content in file `udev\10-gsm-modem.rules` in the configuration USB:
|
||||
|
||||
```txt
|
||||
ACTION=="add" \
|
||||
, ATTRS{idVendor}=="12d1" \
|
||||
, ATTRS{idProduct}=="14fe" \
|
||||
, RUN+="/sbin/usb_modeswitch -X -v 12d1 -p 14fe"
|
||||
```
|
||||
|
||||
## More details:
|
||||
|
||||
- [Original thread discussion](https://community.home-assistant.io/t/send-sms-with-usb-gsm-modem-when-alarm-triggered/28942/38)
|
@ -6,51 +6,46 @@ ha_category:
|
||||
- Media Player
|
||||
ha_release: 0.43
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_config_flow: true
|
||||
ha_quality_scale: silver
|
||||
ha_codeowners:
|
||||
- '@frenck'
|
||||
---
|
||||
|
||||
The `spotify` media player platform allows you to control
|
||||
[Spotify](https://www.spotify.com/) playback from Home Assistant.
|
||||
The `spotify` media player integration allows you to control [Spotify](https://www.spotify.com/) playback from Home Assistant.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Spotify account
|
||||
- Spotify application, properly configured (see below)
|
||||
- Spotify application, properly configured (see below).
|
||||
|
||||
<div class='note'>
|
||||
Controlling the Spotify integration (pause, play, next, etc.) requires a Premium account. If you do not have a Premium account, the integration in the frontend will not show the controls.
|
||||
Controlling the Spotify integration (pause, play, next, etc.) requires a Premium account.
|
||||
If you do not have a Premium account, the integration in the frontend will not show the controls.
|
||||
</div>
|
||||
|
||||
To create the required Spotify application:
|
||||
|
||||
- Login to [Spotify Developer](https://developer.spotify.com)
|
||||
- Visit the [My Applications](https://developer.spotify.com/my-applications/#!/applications) page
|
||||
- Select **Create An App**. Enter any name and description. Once your application is created, view it and copy your **Client ID** and **Client Secret**, which are used in the Home Assistant configuration file.
|
||||
- Login to [Spotify Developer](https://developer.spotify.com).
|
||||
- Visit the [My Applications](https://developer.spotify.com/my-applications/#!/applications) page.
|
||||
- Select **Create An App**. Enter any name and description.
|
||||
- Once your application is created, view it and copy your **Client ID** and **Client Secret**, which are used in the Home Assistant configuration file.
|
||||
- Add a **Redirect URI** in one of the following forms:
|
||||
|
||||
If you are not using SSL:
|
||||
`http://<your_home_assistant_url_or_local_ip>/api/spotify`
|
||||
|
||||
If you are using SSL:
|
||||
`https://<your_home_assistant_url_or_local_ip>/api/spotify`
|
||||
|
||||
- If you are not using SSL: `http://<your_home_assistant_url_or_local_ip>/auth/external/callback`
|
||||
- If you are using SSL: `https://<your_home_assistant_url_or_local_ip>/auth/external/callback`
|
||||
- Click **Save** after adding the URI.
|
||||
|
||||
If you are using an externally accessible address you will likely also need to set the `base_url` attribute of the [HTTP Component](/integrations/http/). This should be set using the same base URL as the redirect URI, e.g., if you used a domain name (not local IP) in the redirect, then use the same domain name in your `base_url`.
|
||||
If you are using an externally accessible address, you will likely also need to set the `base_url` attribute of the [HTTP Integration](/integrations/http/). This should be set using the same base URL as the redirect URI, e.g., if you used a domain name (not local IP) in the redirect, then use the same domain name in your `base_url`.
|
||||
|
||||
## Configuration
|
||||
|
||||
To add Spotify to your installation,
|
||||
add the following to your `configuration.yaml` file:
|
||||
To add Spotify to your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
media_player:
|
||||
- platform: spotify
|
||||
client_id: YOUR_CLIENT_ID
|
||||
client_secret: YOUR_CLIENT_SECRET
|
||||
aliases:
|
||||
abc123def456: 'Living Room'
|
||||
9183abas000: 'Bed Room'
|
||||
spotify:
|
||||
client_id: YOUR_CLIENT_ID
|
||||
client_secret: YOUR_CLIENT_SECRET
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
@ -62,72 +57,21 @@ client_secret:
|
||||
description: Client Secret from your Spotify application.
|
||||
required: true
|
||||
type: string
|
||||
cache_path:
|
||||
description: Path to cache authentication token.
|
||||
required: false
|
||||
type: string
|
||||
default: .spotify-token-cache
|
||||
aliases:
|
||||
description: "Dictionary of device ids to be aliased, handy for devices that Spotify cannot properly determine the device name of. New devices will be logged to the `info` channel for ease of aliasing."
|
||||
required: false
|
||||
type: map
|
||||
name:
|
||||
description: The name of the device used in the frontend.
|
||||
required: false
|
||||
type: string
|
||||
default: Spotify
|
||||
{% endconfiguration %}
|
||||
|
||||
## Setup
|
||||
## Activating the Spotify integration
|
||||
|
||||
After the prerequisites and configuration are complete, restart Home Assistant.
|
||||
Under notifications a **Spotify** configurator element will be available. Click on "Link Spotify account" and follow the instructions to
|
||||
authorize Home Assistant to access your Spotify account. A Spotify media player
|
||||
will then appear. If you are prompted to download a file after completing
|
||||
authorization, discard the download. It is not needed.
|
||||
After you have set up the above:
|
||||
|
||||
## Sources
|
||||
The sources are based on if you have streamed to these devices before in
|
||||
Spotify. If you don't have any sources, then simply stream from your phone to
|
||||
another device in your house: Bluetooth, echo, etc. Once you do, the sources will
|
||||
show up in the Spotify developer console as a device to cast/stream to.
|
||||
Go to https://developer.spotify.com and login. Click on "Console" in top menu and then "Player" in the left menu. Select "/v1/me/player/devices" in the list. Then click "Get token", accept the terms and click "Try it". Your active Spotify devices will then be listed in the right panel, beneath the curl-line (for example, "name": "Web Player (Chrome)").
|
||||
These names can then be used in for example an input selector:
|
||||
- Go to the integrations page in the Home Assistant frontend
|
||||
- Go to **Integrations**
|
||||
- Add a new **Spotify** integration.
|
||||
- Follow the steps shown to authenticate Home Assistant with your Spotify account.
|
||||
|
||||
```yaml
|
||||
spotify_source:
|
||||
name: 'Source:'
|
||||
options:
|
||||
- Spotifyd@rock64
|
||||
- Web Player (Chrome)
|
||||
```
|
||||
## URI Links For Playlists
|
||||
|
||||
The devices won't show up in the dev-console as sources unless they are powered on as well.
|
||||
|
||||
## URI Links For Playlists/Etc.
|
||||
You can send playlists to spotify via the `"media_content_type": "playlist"` and something like (depending on your content ID)
|
||||
`"media_content_id": "spotify:user:spotify:playlist:37i9dQZF1DWSkkUxEhrBdF"`
|
||||
which are part of the
|
||||
[media_player.play_media](/integrations/media_player/#service-media_playerplay_media)
|
||||
service. You can test this from the services
|
||||
control panel in the Home Assistant frontend.
|
||||
|
||||
## Services
|
||||
Extra services besides the default ones in component [Media Player component](/integrations/media_player/).
|
||||
|
||||
### Service `play_playlist`
|
||||
|
||||
Play a Spotify playlist with an option to start on a random position of the playlist.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `media_content_id` | no | Spotify URI of playlist. Must be playlist kind of URI.
|
||||
| `random_song` | yes | True to select random song at start, False to start from beginning.
|
||||
|
||||
|
||||
The above playlist example is a URI link to the "Reggae Infusions" playlist.
|
||||
[This support document from Spotify](https://support.spotify.com/us/article/sharing-music/)
|
||||
explains how to get this URI value to use for playlists in the Spotify component.
|
||||
You can send playlists to Spotify using the `"media_content_type": "playlist"`, which are part of the
|
||||
[media_player.play_media](/integrations/media_player/#service-media_playerplay_media) service.
|
||||
|
||||
## Unsupported Devices
|
||||
|
||||
|
@ -27,3 +27,4 @@ The following integrations are automatically discovered by the SSDP integration:
|
||||
- [deCONZ](../deconz/)
|
||||
- [Huawei LTE](../huawei_lte/)
|
||||
- [Philips Hue](../hue/)
|
||||
- [Samsung TV](../samsungtv/)
|
||||
|
@ -50,6 +50,10 @@ password:
|
||||
description: The password of the user to connect to the Synology NAS.
|
||||
required: true
|
||||
type: string
|
||||
api_version:
|
||||
description: Define DSM version to allow backward compatibility with 5.x. Value can be `5` for DSM 5.x or `6` for DSM 6.x or later.
|
||||
type: integer
|
||||
required: false
|
||||
ssl:
|
||||
description: Determine if HTTPS should be used.
|
||||
required: false
|
||||
@ -109,9 +113,9 @@ monitored_conditions:
|
||||
disk_status:
|
||||
description: Displays the status of the hard disk (creates a new entry for each disk).
|
||||
disk_exceed_bad_sector_thr:
|
||||
description: Displays true / false to indicate if the hard disk exceeded the maximum bad sector threshold (creates a new entry for each disk).
|
||||
description: Displays true / false to indicate if the hard disk exceeded the maximum bad sector threshold (creates a new entry for each disk). (Does not work with DSM 5.x)
|
||||
disk_below_remain_life_thr:
|
||||
description: Displays true / false to indicate if the hard disk dropped below the remain life threshold (creates a new entry for each disk).
|
||||
description: Displays true / false to indicate if the hard disk dropped below the remain life threshold (creates a new entry for each disk). (Does not work with DSM 5.x)
|
||||
disk_temp:
|
||||
description: Displays the temperature of the hard disk (creates a new entry for each disk, uses the unit_system to display in C or F).
|
||||
volume_status:
|
||||
@ -130,9 +134,6 @@ monitored_conditions:
|
||||
description: Displays the maximum temperature of all disks in the volume (creates a new entry for each volume).
|
||||
{% endconfiguration %}
|
||||
|
||||
<div class='note'>
|
||||
After booting Home Assistant it can take up to 15 minutes for the sensors to show up. This is due to the fact that sensors are created after Home Assistant has fully been initialized.
|
||||
</div>
|
||||
|
||||
<div class='note warning'>
|
||||
This sensor will wake up your Synology NAS if it's in hibernation mode.
|
||||
|
@ -223,7 +223,6 @@ Simple ping pong example.
|
||||
|
||||
```yaml
|
||||
alias: 'Telegram bot that reply pong to ping'
|
||||
hide_entity: true
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: telegram_command
|
||||
@ -301,7 +300,6 @@ Text repeater:
|
||||
{% raw %}
|
||||
```yaml
|
||||
- alias: 'Telegram bot that repeats text'
|
||||
hide_entity: true
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: telegram_text
|
||||
@ -323,7 +321,6 @@ Message editor:
|
||||
{% raw %}
|
||||
```yaml
|
||||
- alias: 'Telegram bot that edits the last sent message'
|
||||
hide_entity: true
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: telegram_callback
|
||||
@ -355,7 +352,6 @@ Keyboard editor:
|
||||
{% raw %}
|
||||
```yaml
|
||||
- alias: 'Telegram bot that edits the keyboard'
|
||||
hide_entity: true
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: telegram_callback
|
||||
@ -380,7 +376,6 @@ Only acknowledges the 'NO' answer:
|
||||
{% raw %}
|
||||
```yaml
|
||||
- alias: 'Telegram bot that simply acknowledges'
|
||||
hide_entity: true
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: telegram_callback
|
||||
@ -399,7 +394,6 @@ Telegram callbacks also support arguments and commands the same way as normal me
|
||||
{% raw %}
|
||||
```yaml
|
||||
- alias: 'Telegram bot repeats arguments on callback query'
|
||||
hide_entity: true
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: telegram_callback
|
||||
|
@ -18,8 +18,9 @@ Currently supported services are:
|
||||
- `return_to_base`
|
||||
- `locate`
|
||||
- `clean_spot`
|
||||
- `set_fan_speed`
|
||||
- remote control of your robot.
|
||||
- `set_fan_speed`
|
||||
Fan speeds: `Silent`, `Standard`, `Medium`, `Turbo` and `Gentle` (exclusively for mopping).
|
||||
- `remote_control_*` (of your robot)
|
||||
- `xiaomi_clean_zone`
|
||||
|
||||
## Configuration
|
||||
|
@ -6,6 +6,7 @@ ha_category:
|
||||
- Media Player
|
||||
ha_release: 0.49
|
||||
ha_iot_class: Local Polling
|
||||
ha_config_flow: true
|
||||
ha_codeowners:
|
||||
- '@raman325'
|
||||
---
|
||||
@ -32,16 +33,16 @@ and note its IP address and port number. If you have trouble finding a device yo
|
||||
|
||||
## Pairing
|
||||
|
||||
Before adding your device to Home Assistant, you may need to pair it manually. In particular, it is unclear how a sound bar would notify you of a valid auth token. In this case, it might be best to first skip the pairing process entirely, specify a `device_class` of `soundbar` in your configuration, and try interacting with the entity to see if you have any success. If the media player controls aren't working, and if specifying different ports as mentioned above doesn't work, you will need to find a way to obtain the auth token during this process.
|
||||
Before adding your device to Home Assistant, you may need to pair it manually. In particular, it is unclear how a sound bar would notify you of a valid auth token. In this case, it might be best to first skip the pairing process entirely, specify a `device_class` of `speaker` in your configuration, and try interacting with the entity to see if you have any success. If the media player controls aren't working, and if specifying different ports as mentioned above doesn't work, you will need to find a way to obtain the auth token during this process.
|
||||
|
||||
To obtain an auth token, follow these steps:
|
||||
|
||||
Make sure that your device is on before continuing.
|
||||
|
||||
| Parameter | Description |
|
||||
|:----------------|:---------------------|
|
||||
| `ip` | `IP Address:Port` (obtained from the previous section) |
|
||||
| `device_type` | The type of device you are connecting to. Options are `tv` or `soundbar` |
|
||||
| Parameter | Description |
|
||||
| :------------ | :---------------------------------------------------------------------- |
|
||||
| `ip` | IP address (possibly including port) obtained from the previous section |
|
||||
| `device_type` | The type of device you are connecting to. Options are `tv` or `speaker` |
|
||||
|
||||
Enter the following command to initiate pairing:
|
||||
|
||||
@ -51,10 +52,10 @@ $ pyvizio --ip={ip:port} --device_type={device_type} pair
|
||||
|
||||
Initiation will show you two different values:
|
||||
|
||||
| Value | Description |
|
||||
|:----------------|:---------------------|
|
||||
| Value | Description |
|
||||
| :-------------- | :------------------------------------------------------------------------------------------------------ |
|
||||
| Challenge type | Usually it should be `"1"`. If not, use the additional parameter `--ch_type=your_type` in the next step |
|
||||
| Challenge token | Token required to finalize pairing in the next step |
|
||||
| Challenge token | Token required to finalize pairing in the next step |
|
||||
|
||||
At this point, a PIN code should be displayed at the top of your TV. With all these values, you can now finish pairing:
|
||||
|
||||
@ -70,10 +71,9 @@ To add your Vizio TV to your installation, add the following to your `configurat
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
media_player:
|
||||
- platform: vizio
|
||||
host: "DEVICE_IP:DEVICE_PORT"
|
||||
access_token: YOUR_AUTH_TOKEN
|
||||
vizio:
|
||||
- host: "DEVICE_IP:DEVICE_PORT"
|
||||
access_token: AUTH_TOKEN
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
@ -81,15 +81,25 @@ host:
|
||||
description: "`IP Address:Port` for your device (port is optional but recommended)."
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
description: Nickname for your device that will be used to generate the device's entity ID. If multiple Vizio devices are configured, the value must be unique for each entry.
|
||||
required: false
|
||||
type: string
|
||||
default: Vizio SmartCast
|
||||
access_token:
|
||||
description: Authentication token you received in the last step of the pairing process (if applicable).
|
||||
required: false
|
||||
type: string
|
||||
device_class:
|
||||
description: "The class of your device. Valid options are `tv` or `soundbar`."
|
||||
description: The class of your device. Valid options are `tv` or `speaker`
|
||||
required: false
|
||||
type: string
|
||||
default: tv
|
||||
volume_step:
|
||||
description: The number of steps that the volume will be increased or decreased by at a time.
|
||||
required: false
|
||||
type: integer
|
||||
default: 1
|
||||
{% endconfiguration %}
|
||||
|
||||
## Notes and limitations
|
||||
|
@ -14,7 +14,10 @@ The `weblink` integration allows you to display links in the Home Assistant fron
|
||||
|
||||
<div class='note'>
|
||||
|
||||
The below documentation applies to the classic "States" user interface. Starting with Home Assistant 0.86, Lovelace is the new default interface. For information on configuring weblinks in Lovelace please follow [these instructions](/lovelace/entities/#weblink) instead.
|
||||
The below documentation applies to the classic "States" user interface.
|
||||
The `weblink` integration has been **deprecated** and pending for removal in Home Assistant 0.107.0.
|
||||
|
||||
Starting with Home Assistant 0.86, Lovelace is the new default interface. For information on configuring weblinks in Lovelace please follow [these instructions](/lovelace/entities/#weblink) instead.
|
||||
|
||||
</div>
|
||||
|
||||
|
@ -42,11 +42,6 @@ name:
|
||||
description: The name you would like to give to the LG webOS Smart TV.
|
||||
required: false
|
||||
type: string
|
||||
standby_connection:
|
||||
description: Keep connection alive when TV is in standby (this should be set to true if and only if the "Standby+" option is enabled in the TV UI.)
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
turn_on_action:
|
||||
description: Defines an [action](/docs/automation/action/) to turn the TV on.
|
||||
required: false
|
||||
@ -71,7 +66,6 @@ A full configuration example will look like the sample below:
|
||||
webostv:
|
||||
host: 192.168.0.10
|
||||
name: Living Room TV
|
||||
standby_connection: true
|
||||
turn_on_action:
|
||||
service: persistent_notification.create
|
||||
data:
|
||||
@ -168,7 +162,19 @@ The behaviour of the next and previous buttons is different depending on the act
|
||||
- if the source is 'LiveTV' (television): next/previous buttons act as channel up/down
|
||||
- otherwise: next/previous buttons act as next/previous track
|
||||
|
||||
## Services
|
||||
### Sound output
|
||||
|
||||
The current sound output of the TV can be found under the state attributes.
|
||||
To change the sound output, the following service is available:
|
||||
|
||||
#### Service `webostv.select_sound_output`
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | --------------------------------------- |
|
||||
| `entity_id` | no | Target a specific webostv media player. |
|
||||
| `sound_output` | no | Name of the sound output to switch to. |
|
||||
|
||||
### Generic commands and buttons
|
||||
|
||||
Available services: `button`, `command`
|
||||
|
||||
|
@ -10,6 +10,7 @@ ha_category:
|
||||
- Lock
|
||||
- Sensor
|
||||
- Switch
|
||||
- Cover
|
||||
ha_release: 0.44
|
||||
ha_iot_class: Local Polling
|
||||
featured: true
|
||||
@ -20,16 +21,17 @@ ha_codeowners:
|
||||
---
|
||||
|
||||
[Zigbee Home Automation](https://zigbee.org/zigbee-for-developers/applicationstandards/zigbeehomeautomation/)
|
||||
integration for Home Assistant allows you to connect many off-the-shelf Zigbee based devices to Home Assistant, using one of the available Zigbee radio modules compatible with [zigpy](https://github.com/zigpy/zigpy) (an open source Python library implementing a Zigbee stack, which in turn relies on separate libraries which can each interface a with Zigbee radio module a different manufacturer).
|
||||
integration for Home Assistant allows you to connect many off-the-shelf Zigbee based devices to Home Assistant, using one of the available Zigbee radio modules that is compatible with [zigpy](https://github.com/zigpy/zigpy) (an open source Python library implementing a Zigbee stack, which in turn relies on separate libraries which can each interface a with Zigbee radio module a different manufacturer).
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
- Binary Sensor
|
||||
- Sensor
|
||||
- Cover
|
||||
- Fan
|
||||
- Light
|
||||
- Lock
|
||||
- Sensor
|
||||
- Switch
|
||||
- Fan
|
||||
|
||||
## ZHA exception and deviation handling
|
||||
|
||||
|
@ -39,7 +39,7 @@ zone:
|
||||
{% configuration %}
|
||||
name:
|
||||
description: The friendly name of the zone.
|
||||
required: false
|
||||
required: true
|
||||
type: string
|
||||
latitude:
|
||||
description: The latitude of the center point of the zone.
|
||||
|
@ -67,6 +67,18 @@ format:
|
||||
required: false
|
||||
description: "How the state should be formatted. Currently only used for timestamp sensors. Valid values are: `relative`, `total`, `date`, `time` and `datetime`."
|
||||
type: string
|
||||
header:
|
||||
required: false
|
||||
description: Header widget to render. See [header documentation](/lovelace/header-footer/).
|
||||
type: map
|
||||
footer:
|
||||
required: false
|
||||
description: Footer widget to render. See [footer documentation](/lovelace/header-footer/).
|
||||
type: map
|
||||
action_name:
|
||||
required: false
|
||||
description: Button label. (Only applies to `script` and `scene` rows)
|
||||
type: string
|
||||
tap_action:
|
||||
required: false
|
||||
description: Action to take on tap
|
||||
@ -222,6 +234,42 @@ hide_if_unavailable:
|
||||
default: false
|
||||
{% endconfiguration %}
|
||||
|
||||
### Conditional
|
||||
|
||||
Special row that displays based on entity states.
|
||||
|
||||
{% configuration %}
|
||||
type:
|
||||
required: true
|
||||
description: conditional
|
||||
type: string
|
||||
conditions:
|
||||
required: true
|
||||
description: List of entity IDs and matching states.
|
||||
type: list
|
||||
keys:
|
||||
entity:
|
||||
required: true
|
||||
description: HA entity ID.
|
||||
type: string
|
||||
state:
|
||||
required: false
|
||||
description: Entity state is equal to this value.*
|
||||
type: string
|
||||
state_not:
|
||||
required: false
|
||||
description: Entity state is unequal to this value.*
|
||||
type: string
|
||||
row:
|
||||
required: true
|
||||
description: Row to display if all conditions match.
|
||||
type: map
|
||||
{% endconfiguration %}
|
||||
|
||||
*one is required (`state` or `state_not`)
|
||||
|
||||
Note: Conditions with more than one entity are treated as an 'and' condition. This means that for the card to show, *all* entities must meet the state requirements set.
|
||||
|
||||
### Divider
|
||||
|
||||
{% configuration %}
|
||||
@ -280,6 +328,9 @@ Entity rows:
|
||||
type: entities
|
||||
title: Entities card sample
|
||||
show_header_toggle: true
|
||||
header:
|
||||
image: 'https://www.home-assistant.io/images/lovelace/header-footer/balloons-header.png'
|
||||
type: picture
|
||||
entities:
|
||||
- entity: alarm_control_panel.alarm
|
||||
name: Alarm Panel
|
||||
|
@ -28,7 +28,7 @@ As you might have noticed, this release has been delayed by 5 days. This was due
|
||||
|
||||
### Hide automation rules
|
||||
|
||||
Since 0.28 [automation rules](/blog/2016/09/10/notify-group-reload-api-pihole/#reload-automation-rules) can be reloaded directly from the frontend. By default all automation rules are shown. If you want to [hide an automation rule](/getting-started/automation-create-first/), use `hide_entity: true`.
|
||||
Since 0.28 [automation rules](/blog/2016/09/10/notify-group-reload-api-pihole/#reload-automation-rules) can be reloaded directly from the frontend.
|
||||
|
||||
### All changes
|
||||
|
||||
|
@ -36,14 +36,14 @@ The support for multiple hosts is a result of allowing mixed configurations with
|
||||
|
||||
This release includes a new [websockets][websockets] based API by [@balloob] to power the next generation of Home Assistant frontends. The current frontend has been partly migrated to use it and will be further migrated in the future.
|
||||
|
||||
## All changes
|
||||
## All changes
|
||||
|
||||
- New services and improved device support for [HomeMatic][homematic] ([@pvizeli], [@danielperna84])
|
||||
- Device tracker: New support for [GPSLogger][gpslogger] ([@dainok])
|
||||
- Sensor: Support for [Sonarr][sonarr] ([@hborawski])
|
||||
- Sensor: [World Air Quality Index][waqi] sensor ([@valentinalexeev], [@fabaff])
|
||||
- Sensor: Support for [Dutch Smart Meter Requirements][dsmr] ([@aequitas])
|
||||
- Switch: [Hook][hook] support by hooksmarthome.com ([@dasos])
|
||||
- Switch: Hook support by hooksmarthome.com ([@dasos])
|
||||
- Camera: Integration for [Nest cameras][nest-cam] ([@technicalpickles])
|
||||
- Light: Support for light effects ([@Diaoul])
|
||||
- Sensor: New [Threshold][threshold] sensor ([@fabaff])
|
||||
@ -212,7 +212,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
[gpslogger]: /integrations/gpslogger
|
||||
[harmony]: /integrations/harmony
|
||||
[homematic]: /integrations/homematic/
|
||||
[hook]: /integrations/hook
|
||||
[nest-cam]: /integrations/nest#camera
|
||||
[nest]: /integrations/nest/
|
||||
[nginx]: /ecosystem/nginx/
|
||||
@ -226,4 +225,3 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
[threshold]: /integrations/threshold
|
||||
[websockets]: /developers/websocket_api/
|
||||
[waqi]: /integrations/waqi
|
||||
|
||||
|
@ -93,7 +93,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
- Upgrade paho-mqtt to 1.2.3 ([@fabaff] - [#7214])
|
||||
- Workround for wemo subscription bug. ([@pavoni] - [#7245]) ([wemo docs]) ([switch.wemo docs])
|
||||
- Fix telegram webhooks ([@MartinHjelmare] - [#7236]) ([telegram_bot docs]) ([telegram_bot.webhooks docs])
|
||||
- Work around bad content-type in Hook api response ([@KlaasH] - [#7267]) ([switch.hook docs])
|
||||
- Work around bad content-type in Hook api response ([@KlaasH] - [#7267])
|
||||
- Recorder: Check for ENTITY_ID key that contains None value ([@balloob] - [#7287]) ([recorder docs])
|
||||
|
||||
## Release 0.43.2 - April 27
|
||||
@ -492,7 +492,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
[@KlaasH]: https://github.com/KlaasH
|
||||
[cover.zwave docs]: /integrations/zwave#cover
|
||||
[recorder docs]: /integrations/recorder/
|
||||
[switch.hook docs]: /integrations/hook
|
||||
[switch.wemo docs]: /integrations/wemo
|
||||
[telegram_bot docs]: /integrations/telegram_chatbot/
|
||||
[telegram_bot.webhooks docs]: /integrations/telegram_webhooks
|
||||
|
@ -114,7 +114,7 @@ influxdb:
|
||||
- Don't use len(SEQUENCE) as condition value ([@fabaff] - [#7249])
|
||||
- Workround for wemo subscription bug. ([@pavoni] - [#7245]) ([wemo docs]) ([switch.wemo docs])
|
||||
- Fix telegram webhooks ([@MartinHjelmare] - [#7236]) ([telegram_bot docs]) ([telegram_bot.webhooks docs])
|
||||
- Work around bad content-type in Hook api response ([@KlaasH] - [#7267]) ([switch.hook docs])
|
||||
- Work around bad content-type in Hook api response ([@KlaasH] - [#7267])
|
||||
- Rfxtrx upgrade lib 0.18 ([@danielhiversen] - [#7273]) ([rfxtrx docs])
|
||||
- WIP: HassIO allow to access to container logs. ([@pvizeli] - [#7271])
|
||||
- Update aiolifx ([@amelchio] - [#7279]) ([light.lifx docs])
|
||||
@ -483,7 +483,6 @@ influxdb:
|
||||
[sensor.zamg docs]: /integrations/zamg#sensor
|
||||
[sensor.zha docs]: /integrations/zha
|
||||
[switch.flux docs]: /integrations/flux
|
||||
[switch.hook docs]: /integrations/hook
|
||||
[switch.thinkingcleaner docs]: /integrations/thinkingcleaner#switch
|
||||
[switch.wemo docs]: /integrations/wemo
|
||||
[switch.zha docs]: /integrations/zha
|
||||
|
@ -18,7 +18,7 @@ Not much time to write a great intro this time as we're hanging out at PyCon! So
|
||||
- Support Xiaomi Mijia Bluetooth Wireless Temperature and Humidity Sensor ([@ratcashdev] - [#13955]) ([sensor.mitemp_bt docs]) (new-platform)
|
||||
- Move RainMachine to component/hub model ([@bachya] - [#14085]) ([rainmachine docs]) ([switch.rainmachine docs]) (breaking change) (new-platform)
|
||||
- Add Social Blade Sensor ([@meauxt] - [#14060]) ([sensor.socialblade docs]) ([sensor.uscis docs]) (new-platform)
|
||||
- Add PostNL sensor (Dutch Postal Services) ([@iMicknl] - [#12366]) ([sensor.postnl docs]) (new-platform)
|
||||
- Add PostNL sensor (Dutch Postal Services) ([@iMicknl] - [#12366]) (new-platform)
|
||||
- Issue/add template fans ([@giangvo] - [#12027]) ([fan.template docs]) (new-platform)
|
||||
- Matrix Chatbot ([@tinloaf] - [#13355]) ([matrix docs]) ([notify docs]) (breaking change) (new-platform)
|
||||
|
||||
@ -145,7 +145,7 @@ rainmachine:
|
||||
- Fix Hue color state for missing xy ([@amelchio] - [#14230]) ([light.hue docs])
|
||||
- Add support for tracking devices on Netgear access points ([@MatMaul] - [#13331]) ([device_tracker docs])
|
||||
- WUnderground unique ids ([@OttoWinter] - [#13311]) ([sensor.wunderground docs])
|
||||
- Add PostNL sensor (Dutch Postal Services) ([@iMicknl] - [#12366]) ([sensor.postnl docs]) (new-platform)
|
||||
- Add PostNL sensor (Dutch Postal Services) ([@iMicknl] - [#12366]) (new-platform)
|
||||
- python_openzwave update config service ([@perosb] - [#12060]) ([zwave docs])
|
||||
- Add unique_id to zwave node entity ([@andrey-git] - [#14201]) ([zwave docs])
|
||||
- Add prereqs for HomeKit Controller ([@marthoc] - [#14172])
|
||||
@ -453,7 +453,6 @@ rainmachine:
|
||||
[sensor.mitemp_bt docs]: /integrations/mitemp_bt
|
||||
[sensor.mqtt docs]: /integrations/sensor.mqtt/
|
||||
[sensor.pollen docs]: /integrations/iqvia
|
||||
[sensor.postnl docs]: /integrations/postnl
|
||||
[sensor.qnap docs]: /integrations/qnap
|
||||
[sensor.socialblade docs]: /integrations/socialblade
|
||||
[sensor.sql docs]: /integrations/sql
|
||||
|
@ -154,7 +154,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
- Added option to block Osram Lightify individual lights in the same way that groups can be ([@austinlg96] - [#14470]) ([light.osramlightify docs])
|
||||
- Upgrade directpy to 0.5 ([@Bahnburner] - [#14750]) ([media_player.directv docs])
|
||||
- Update syntax of platform random ([@fabaff] - [#14767]) ([binary_sensor.random docs]) ([sensor.random docs])
|
||||
- Update postnl api to 1.0.2 ([@iMicknl] - [#14769]) ([sensor.postnl docs])
|
||||
- Update postnl api to 1.0.2 ([@iMicknl] - [#14769])
|
||||
- Remove swagger file ([@fabaff] - [#14762])
|
||||
- Update syntax ([@fabaff] - [#14771]) ([sensor.version docs])
|
||||
- Update syntax ([@fabaff] - [#14768]) ([sensor.worldclock docs])
|
||||
@ -389,7 +389,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
[sensor.netatmo docs]: /integrations/netatmo#sensor
|
||||
[sensor.netdata docs]: /integrations/netdata
|
||||
[sensor.onewire docs]: /integrations/onewire
|
||||
[sensor.postnl docs]: /integrations/postnl
|
||||
[sensor.rainmachine docs]: /integrations/rainmachine
|
||||
[sensor.random docs]: /integrations/random#sensor
|
||||
[sensor.shodan docs]: /integrations/shodan
|
||||
|
@ -41,7 +41,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
## Breaking Changes
|
||||
|
||||
- The `pi_hole` sensor is now limited to `ads_blocked_today` by default and will no longer show all available data. Use [`monitored_conditions`](/integrations/pi_hole#monitored_conditions) to list the sensors you want. ([@fabaff] - [#15014]) ([sensor.pi_hole docs]) (breaking change)
|
||||
- Update PostNL unit of measure to `packages` to align with UPS ([@keesschollaart81] - [#15023]) ([sensor.postnl docs]) (breaking change)
|
||||
- Update PostNL unit of measure to `packages` to align with UPS ([@keesschollaart81] - [#15023]) (breaking change)
|
||||
- Various attributes have been relocated to sensors that make more sense; additionally, some names are corrected. More info in [#14963] ([@bachya] - [#14963]) ([sensor.pollen docs]) (breaking change)
|
||||
- The filter option for prometheus was aligned with other components ([@alexbarcelo] - [#13738]) ([prometheus docs]) (breaking change)
|
||||
- Change some operation_modes for Z-Wave climate devices to comply with Home Assistant standards and compatibility with Google Home, Alexa and HomeKit. ([@cdce8p] - [#15162]) ([climate.zwave docs]) (breaking change)
|
||||
@ -70,7 +70,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
- Switch nuimo to a hopefully working pypi version ([@andrey-git] - [#15006]) ([nuimo_controller docs])
|
||||
- Remove typing ([@fabaff] - [#15018])
|
||||
- Add support for Homekit battery service ([@schmittx] - [#14288]) ([homekit docs])
|
||||
- Update PostNL unit of measure to align with UPS ([@keesschollaart81] - [#15023]) ([sensor.postnl docs]) (breaking change)
|
||||
- Update PostNL unit of measure to align with UPS ([@keesschollaart81] - [#15023]) (breaking change)
|
||||
- Expose Wemo component availability to Home Assistant ([@gstorer] - [#14995]) ([light.wemo docs])
|
||||
- Improve volume support for Vizio Smartcast ([@JeffLIrion] - [#14981]) ([media_player.vizio docs])
|
||||
- Upgrade requests to 2.19.1 ([@fabaff] - [#15019])
|
||||
@ -312,7 +312,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
[sensor.loopenergy docs]: /integrations/loopenergy
|
||||
[sensor.pi_hole docs]: /integrations/pi_hole
|
||||
[sensor.pollen docs]: /integrations/iqvia
|
||||
[sensor.postnl docs]: /integrations/postnl
|
||||
[sensor.waze_travel_time docs]: /integrations/waze_travel_time
|
||||
[sensor.xiaomi_miio docs]: /integrations/sensor.xiaomi_miio/
|
||||
[switch.anel_pwrctrl docs]: /integrations/anel_pwrctrl
|
||||
|
@ -31,7 +31,6 @@ After research, the following integrations have been impacted. Although the odds
|
||||
- [notify.prowl](/integrations/prowl)
|
||||
- [rest_command](/integrations/rest_command/)
|
||||
- [scene.lifx_cloud](/integrations/lifx_cloud)
|
||||
- [switch.hook](/integrations/hook)
|
||||
- [switch.rest](/integrations/switch.rest/)
|
||||
- [telegram_bot.polling](/integrations/telegram_polling)
|
||||
- [tts.voicerss](/integrations/voicerss)
|
||||
|
@ -132,7 +132,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
- 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)
|
||||
- PostNL attributes are updated, contain now more information ([@basbl] - [#18334]) (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)
|
||||
@ -244,7 +244,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
- 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)
|
||||
- Expose more information about shipments by PostNL ([@basbl] - [#18334]) (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])
|
||||
@ -687,7 +687,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
[sensor.mqtt docs]: /integrations/sensor.mqtt/
|
||||
[sensor.mychevy docs]: /integrations/mychevy
|
||||
[sensor.nest docs]: /integrations/nest#sensor
|
||||
[sensor.postnl docs]: /integrations/postnl
|
||||
[sensor.prezzibenzina docs]: /integrations/prezzibenzina
|
||||
[sensor.rest docs]: /integrations/rest
|
||||
[sensor.sma docs]: /integrations/sma#sensors
|
||||
|
@ -39,7 +39,7 @@ __Existing SmartThings configuration entries will be removed,__ including the Sm
|
||||
- Rewrite of Toon component ([@frenck] - [#21186]) ([toon docs]) (breaking change) (new-platform)
|
||||
- Times of The Day Binary Sensor ([@kstaniek] - [#20068]) ([binary_sensor.tod docs]) (new-platform)
|
||||
- Add switch platform for Danfoss Air and additional sensors. ([@JonasPed] - [#21046]) ([danfoss_air docs]) (new-platform)
|
||||
- Owlet baby monitor component ([@oblogic7] - [#21108]) ([owlet docs]) (new-platform)
|
||||
- Owlet baby monitor component ([@oblogic7] - [#21108]) (new-platform)
|
||||
- deCONZ thermostat support ([@Kane610] - [#20586]) ([deconz docs]) (new-platform)
|
||||
- Added device tracker support for Ubee Router ([@mzdrale] - [#19586]) ([device_tracker docs]) (new-platform)
|
||||
- Add LCN cover platform ([@alengwenus] - [#20288]) ([lcn docs]) ([cover.lcn docs]) (new-platform)
|
||||
@ -185,8 +185,8 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
- Config Entry migrations ([@andrewsayre] - [#20888])
|
||||
- Refactor http CachingStaticResource ([@awarecan] - [#21062]) ([http docs])
|
||||
- Add index parameter to scrape sensor ([@davidbb] - [#21084]) ([sensor.scrape docs])
|
||||
- Owlet baby monitor component ([@oblogic7] - [#21108]) ([owlet docs]) (new-platform)
|
||||
- Order imports ([@fabaff] - [#21117]) ([owlet docs])
|
||||
- Owlet baby monitor component ([@oblogic7] - [#21108]) (new-platform)
|
||||
- Order imports ([@fabaff] - [#21117])
|
||||
- Add Groups to Homematic IP ([@SukramJ] - [#21076]) ([homematicip_cloud docs])
|
||||
- Remove outdated url pattern match support for static file hosting ([@awarecan] - [#21109]) ([http docs])
|
||||
- Upgrade pytest to 4.2.1 ([@scop] - [#21112])
|
||||
@ -668,7 +668,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
[netatmo docs]: /integrations/netatmo/
|
||||
[nissan_leaf docs]: /integrations/nissan_leaf/
|
||||
[notify docs]: /integrations/notify/
|
||||
[owlet docs]: /integrations/owlet/
|
||||
[person docs]: /integrations/person/
|
||||
[point docs]: /integrations/point/
|
||||
[prometheus docs]: /integrations/prometheus/
|
||||
|
@ -351,7 +351,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
- Fix manifest codeowners ([@cdce8p] - [#22871]) ([cover docs]) ([demo docs])
|
||||
- Added REQUIREMENTS back to Ambient ([@bachya] - [#22875]) ([ambient_station docs])
|
||||
- Minor sensor fixes ([@robbiet480] - [#22884]) ([mobile_app docs])
|
||||
- add myself as codeowner ([@fbradyirl] - [#22885]) ([cisco_ios docs]) ([cisco_mobility_express docs]) ([cisco_webex_teams docs]) ([ciscospark docs]) ([enigma2 docs]) ([hikvisioncam docs]) ([luci docs])
|
||||
- add myself as codeowner ([@fbradyirl] - [#22885]) ([cisco_ios docs]) ([cisco_mobility_express docs]) ([cisco_webex_teams docs]) ([enigma2 docs]) ([hikvisioncam docs]) ([luci docs])
|
||||
- Bump pypi module version for enigma2 ([@fbradyirl] - [#22886])
|
||||
- Add zwave network key validator ([@cgtobi] - [#22785]) ([zwave docs])
|
||||
- force_update=False (not None) ([@akasma74] - [#22867]) ([rflink docs])
|
||||
@ -978,7 +978,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
[cisco_ios docs]: /integrations/cisco_ios/
|
||||
[cisco_mobility_express docs]: /integrations/cisco_mobility_express/
|
||||
[cisco_webex_teams docs]: /integrations/cisco_webex_teams/
|
||||
[ciscospark docs]: /integrations/ciscospark/
|
||||
[citybikes docs]: /integrations/citybikes/
|
||||
[cloud docs]: /integrations/cloud/
|
||||
[command_line docs]: /integrations/command_line/
|
||||
|
@ -455,7 +455,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
- Add more ebusd Vaillant "bai" sensors ([@sashao] - [#26750]) ([ebusd docs])
|
||||
- Add xbox live custom update interval ([@MartinHjelmare] - [#26939]) ([xbox_live docs])
|
||||
- Guard against non supported entities ([@balloob] - [#26941]) ([alexa docs])
|
||||
- Bump pyowlet to 1.0.3 ([@jaburges] - [#26892]) ([owlet docs])
|
||||
- Bump pyowlet to 1.0.3 ([@jaburges] - [#26892])
|
||||
- Revert Nest HVAC mode when disabling Eco mode ([@joe248] - [#26934]) ([nest docs])
|
||||
- Fix ecobee integration ([@marthoc] - [#26951]) ([ecobee docs])
|
||||
- Add CO2 level reading for Kaiterra integration ([@Michsior14] - [#26935]) ([kaiterra docs])
|
||||
@ -955,7 +955,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
[opentherm_gw docs]: /integrations/opentherm_gw/
|
||||
[openuv docs]: /integrations/openuv/
|
||||
[otp docs]: /integrations/otp/
|
||||
[owlet docs]: /integrations/owlet/
|
||||
[persistent_notification docs]: /integrations/persistent_notification/
|
||||
[pi_hole docs]: /integrations/pi_hole/
|
||||
[plex docs]: /integrations/plex/
|
||||
|
@ -633,7 +633,7 @@ The **holiday name** sensor has been renamed to **holiday**. ([@tsvi] - [#27654]
|
||||
- Move imports in comfoconnect component ([@Bouni] - [#27886]) ([comfoconnect docs])
|
||||
- Move imports in coinmarketcap component ([@Bouni] - [#27885]) ([coinmarketcap docs])
|
||||
- Move imports in coinbase component ([@Bouni] - [#27884]) ([coinbase docs])
|
||||
- Move imports in ciscospark component ([@Bouni] - [#27879]) ([ciscospark docs])
|
||||
- Move imports in ciscospark component ([@Bouni] - [#27879])
|
||||
- Move imports in cisco_webex_teams component ([@Bouni] - [#27878]) ([cisco_webex_teams docs])
|
||||
- Move imports in cmus component ([@Bouni] - [#27883]) ([cmus docs])
|
||||
- Move imports in cloud component ([@Bouni] - [#27881]) ([cloud docs])
|
||||
@ -1586,7 +1586,6 @@ The **holiday name** sensor has been renamed to **holiday**. ([@tsvi] - [#27654]
|
||||
[cisco_ios docs]: /integrations/cisco_ios/
|
||||
[cisco_mobility_express docs]: /integrations/cisco_mobility_express/
|
||||
[cisco_webex_teams docs]: /integrations/cisco_webex_teams/
|
||||
[ciscospark docs]: /integrations/ciscospark/
|
||||
[cloud docs]: /integrations/cloud/
|
||||
[cmus docs]: /integrations/cmus/
|
||||
[co2signal docs]: /integrations/co2signal/
|
||||
|
@ -197,7 +197,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
- Fix Repetier integration entity indexing ([@MTrab] - [#28766]) ([repetier docs]) (beta fix)
|
||||
- Fix HomematicIP Cloud Alarm Control Panel support for basic mode ([@SukramJ] - [#28778]) ([homematicip_cloud docs]) (beta fix)
|
||||
- Fix Swisscom empty response received ([@LeoCal] - [#28782]) ([swisscom docs]) (beta fix)
|
||||
- Fix broken postnl sensor ([@peternijssen] - [#28794]) ([postnl docs]) (beta fix)
|
||||
- Fix broken postnl sensor ([@peternijssen] - [#28794]) (beta fix)
|
||||
- Updated frontend to 20191115.0 ([@bramkragten] - [#28797]) ([frontend docs]) (beta fix)
|
||||
- Fix Comfoconnect errors during startup ([@michaelarnauts] - [#28802]) ([comfoconnect docs]) (beta fix)
|
||||
- Fix miio air quality sensor ([@valkjsaaa] - [#28828]) ([xiaomi_miio docs]) (beta fix)
|
||||
@ -485,7 +485,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
- Fix Repetier integration entity indexing ([@MTrab] - [#28766]) ([repetier docs]) (beta fix)
|
||||
- Fix HomematicIP Cloud Alarm Control Panel support for basic mode ([@SukramJ] - [#28778]) ([homematicip_cloud docs]) (beta fix)
|
||||
- Fix Swisscom empty response received ([@LeoCal] - [#28782]) ([swisscom docs]) (beta fix)
|
||||
- Fix broken postnl sensor ([@peternijssen] - [#28794]) ([postnl docs]) (beta fix)
|
||||
- Fix broken postnl sensor ([@peternijssen] - [#28794]) (beta fix)
|
||||
- Updated frontend to 20191115.0 ([@bramkragten] - [#28797]) ([frontend docs]) (beta fix)
|
||||
- Fix Comfoconnect errors during startup ([@michaelarnauts] - [#28802]) ([comfoconnect docs]) (beta fix)
|
||||
- Fix miio air quality sensor ([@valkjsaaa] - [#28828]) ([xiaomi_miio docs]) (beta fix)
|
||||
@ -925,7 +925,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
[plex docs]: /integrations/plex/
|
||||
[plugwise docs]: /integrations/plugwise/
|
||||
[point docs]: /integrations/point/
|
||||
[postnl docs]: /integrations/postnl/
|
||||
[proxy docs]: /integrations/proxy/
|
||||
[ps4 docs]: /integrations/ps4/
|
||||
[qrcode docs]: /integrations/qrcode/
|
||||
|
@ -715,7 +715,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
- Add Emulated Hue code owner ([@NobleKangaroo] - [#29319]) ([emulated_hue docs])
|
||||
- Broadlink remote ([@felipediel] - [#26528]) ([broadlink docs]) (new-platform)
|
||||
- Move imports to top for python_script ([@springstan] - [#29331]) ([python_script docs])
|
||||
- Move imports to top for postnl ([@springstan] - [#29330]) ([postnl docs])
|
||||
- Move imports to top for postnl ([@springstan] - [#29330])
|
||||
- Move imports to top for prezzibenzina ([@springstan] - [#29329]) ([prezzibenzina docs])
|
||||
- Move imports to top for quantum_gateway ([@springstan] - [#29327]) ([quantum_gateway docs])
|
||||
- Move imports to top for qnap ([@springstan] - [#29326]) ([qnap docs])
|
||||
@ -738,7 +738,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
- Move imports to top for pencom ([@springstan] - [#29348]) ([pencom docs])
|
||||
- Include telegram_bot message id for all messages ([@luca-angemi] - [#29315]) ([telegram_bot docs])
|
||||
- Ignore state of climate entities in prometheus ([@springstan] - [#29346]) ([prometheus docs])
|
||||
- Move imports to top for owlet ([@springstan] - [#29352]) ([owlet docs])
|
||||
- Move imports to top for owlet ([@springstan] - [#29352])
|
||||
- Rendering complex template objects to leave non-template values alone ([@balloob] - [#29353])
|
||||
- Move imports to top for opple ([@springstan] - [#29372]) ([opple docs])
|
||||
- Move imports to top for orvibo ([@springstan] - [#29371]) ([orvibo docs])
|
||||
@ -1665,7 +1665,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
[openuv docs]: /integrations/openuv/
|
||||
[opple docs]: /integrations/opple/
|
||||
[orvibo docs]: /integrations/orvibo/
|
||||
[owlet docs]: /integrations/owlet/
|
||||
[owntracks docs]: /integrations/owntracks/
|
||||
[panasonic_viera docs]: /integrations/panasonic_viera/
|
||||
[pencom docs]: /integrations/pencom/
|
||||
@ -1674,7 +1673,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
[plex docs]: /integrations/plex/
|
||||
[plum_lightpad docs]: /integrations/plum_lightpad/
|
||||
[point docs]: /integrations/point/
|
||||
[postnl docs]: /integrations/postnl/
|
||||
[prezzibenzina docs]: /integrations/prezzibenzina/
|
||||
[prometheus docs]: /integrations/prometheus/
|
||||
[proxmoxve docs]: /integrations/proxmoxve/
|
||||
|
1406
source/_posts/2020-02-05-release-105.markdown
Normal file
@ -821,7 +821,6 @@
|
||||
/components/sensor.pocketcasts /integrations/pocketcasts
|
||||
/components/sensor.point /integrations/point#sensor
|
||||
/components/sensor.pollen /integrations/iqvia
|
||||
/components/sensor.postnl /integrations/postnl
|
||||
/components/sensor.prezzibenzina /integrations/prezzibenzina
|
||||
/components/sensor.pushbullet /integrations/pushbullet#sensor
|
||||
/components/sensor.pvoutput /integrations/pvoutput
|
||||
@ -988,7 +987,6 @@
|
||||
/components/switch.homekit_controller /integrations/homekit_controller
|
||||
/components/switch.homematic /integrations/homematic
|
||||
/components/switch.homematicip_cloud /integrations/homematicip_cloud
|
||||
/components/switch.hook /integrations/hook
|
||||
/components/switch.hydrawise /integrations/hydrawise#switch
|
||||
/components/switch.ihc /integrations/ihc#switch
|
||||
/components/switch.insteon /integrations/insteon
|
||||
@ -1439,7 +1437,6 @@
|
||||
/components/homematicip_cloud /integrations/homematicip_cloud
|
||||
/components/homeworks /integrations/homeworks
|
||||
/components/honeywell /integrations/honeywell
|
||||
/components/hook /integrations/hook
|
||||
/components/horizon /integrations/horizon
|
||||
/components/hp_ilo /integrations/hp_ilo
|
||||
/components/html5 /integrations/html5
|
||||
@ -1676,7 +1673,6 @@
|
||||
/components/orvibo /integrations/orvibo
|
||||
/components/osramlightify /integrations/osramlightify
|
||||
/components/otp /integrations/otp
|
||||
/components/owlet /integrations/owlet
|
||||
/components/owntracks /integrations/owntracks
|
||||
/components/panasonic_bluray /integrations/panasonic_bluray
|
||||
/components/panasonic_viera /integrations/panasonic_viera
|
||||
@ -1702,7 +1698,6 @@
|
||||
/components/pocketcasts /integrations/pocketcasts
|
||||
/components/point /integrations/point
|
||||
/components/polling /integrations/telegram_polling
|
||||
/components/postnl /integrations/postnl
|
||||
/components/prezzibenzina /integrations/prezzibenzina
|
||||
/components/proliphix /integrations/proliphix
|
||||
/components/prometheus /integrations/prometheus
|
||||
|
BIN
source/images/blog/2020-02-0.105/components.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
source/images/blog/2020-02-0.105/device-info-page.png
Normal file
After Width: | Height: | Size: 158 KiB |
BIN
source/images/blog/2020-02-0.105/entities-card-header-footer.png
Normal file
After Width: | Height: | Size: 109 KiB |
BIN
source/images/blog/2020-02-0.105/out-of-control.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
source/images/blog/2020-02-0.105/safe-mode.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
source/images/blog/2020-02-0.105/supervisor.png
Normal file
After Width: | Height: | Size: 127 KiB |
BIN
source/images/blog/2020-02-0.105/zone-editor.gif
Normal file
After Width: | Height: | Size: 5.5 MiB |
BIN
source/images/blog/2020-02-0.105/zone-editor.png
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
source/images/lovelace/header-footer/balloons-header.png
Normal file
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 2.7 KiB |
BIN
source/images/supported_brands/derivative.png
Normal file
After Width: | Height: | Size: 6.8 KiB |
BIN
source/images/supported_brands/gammu.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
source/images/supported_brands/garmin_connect.png
Normal file
After Width: | Height: | Size: 5.0 KiB |
Before Width: | Height: | Size: 1.8 KiB |
@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 143 38"><style>.a{fill:#FFF;}.b{fill:currentColor;}</style><title> Page 1@3x</title><desc> Created with Sketch.</desc><defs><polygon points="0 0.9 0 39 38.1 39 38.1 0.9"/></defs><g fill="currentColor"><g transform="translate(-120 -21)translate(120 20)"><path d="M38 20L38 20C38 20 38 20 38 20" class="a logo-word"/><path d="M38 20L38 20 36.5 21.3C36.5 21.3 37.5 20.4 38 20" class="a logo-word"/><path d="M57.6 13C54.4 13 52.6 16.1 52.6 20.9 52.6 25.7 54.4 28.8 57.6 28.8 60.9 28.8 62.7 25.7 62.7 20.9 62.7 16.1 60.9 13 57.6 13M57.6 34.8C49.8 34.8 44.6 29.2 44.6 20.9 44.6 12.6 49.8 7 57.7 7 65.5 7 70.7 12.6 70.7 20.8 70.7 29.1 65.5 34.8 57.6 34.8" class="b logo-word"/><polygon points="94.6 34.3 87.7 34.3 85.6 24.8 83.4 34.3 76.5 34.3 71.6 14.8 78.9 14.8 80.9 25.1 82.9 15.1 89.3 15.1 91.4 25.1 93.3 15.1 99.6 15.1" class="b logo-word"/><polygon points="101.1 34.3 101.1 7.3 108 6.2 108 34.3" class="b logo-word"/><path d="M138.6 34.6C134.2 34.6 131 32.9 131 27.6L131 20.6 128.6 20.6 128.6 15.1 131 15.1 131 9.6 137.9 8.5 137.9 15.1 142.4 15.1 142.4 20.6 137.9 20.6 137.9 26.5C137.9 28.1 138.7 28.7 140.2 28.7 140.6 28.7 141.9 28.6 142.4 28.5L142.4 34.1C141.3 34.4 140.3 34.6 138.6 34.6" class="b logo-word"/><path d="M118.8 18.9C117.4 18.9 116.5 20.3 116.4 23.1L121.1 23.1C121.1 20.3 120.2 18.9 118.8 18.9M127.5 26.6L116.6 26.6C116.9 29.1 118.7 29.9 120.9 29.9 122.8 29.9 125.2 29 127.4 27.9L127.4 32.8C125.3 34 122.9 34.7 120 34.7 113.9 34.7 109.7 31.6 109.7 24.8 109.7 18.5 113.6 14.7 119 14.7 121 14.7 123 15.1 124.6 16.5 126.1 17.7 127 19.2 127.4 21.1 127.7 22.7 127.7 24.5 127.5 26.6" class="b logo-word"/><g transform="translate(0 0.053)"><mask fill="currentColor"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#path-1"/></mask><path d="M26 24.7C24.6 24.7 23.3 24.3 22.1 23.6L19.5 26.3C19.3 26.4 19.1 26.5 19 26.5 18.8 26.5 18.6 26.4 18.4 26.3L15.8 23.7C14.7 24.3 13.3 24.7 11.9 24.7 7.6 24.7 4.1 21.2 4.1 16.9 4.1 12.6 7.6 9.1 11.9 9.1 15 9.1 17.7 10.9 19 13.6 20.2 10.9 22.9 9.1 26 9.1 30.3 9.1 33.8 12.6 33.8 16.9 33.8 21.2 30.3 24.7 26 24.7M38 20.4C38 20.3 38 20.3 38 20.3 38.1 20.2 38.1 20.1 38.1 20 38.1 15.4 36.4 11 33.5 7.6L34.8 4.9C34.9 4.7 34.9 4.4 34.7 4.2 34.6 4 34.3 3.9 34.1 3.9L30 4.4C26.8 2.1 23 0.9 19 0.9 15.1 0.9 11.3 2.1 8.1 4.4L4 3.9C3.7 3.9 3.5 4 3.3 4.2 3.2 4.4 3.2 4.7 3.3 4.9L4.6 7.6C1.6 11 0 15.4 0 20 0 20.1 0 20.3 0 20.4L0 20.4C0 20.4 0 20.4 0 20.5L1.4 21.6C3.4 23.5 5.5 25.3 8 27 12.9 30.4 12.8 33.5 12.1 36.2L11.6 37.4 11.6 37.4 11.6 37.5C11.6 37.5 11.6 37.5 11.6 37.5 13.9 38.4 16.4 39 19 39 21.6 39 24.1 38.5 26.3 37.5 26.3 37.5 26.3 37.5 26.3 37.5 26.3 37.5 26.3 37.5 26.3 37.5L25.8 36.2C25.1 33.5 25 30.4 29.9 27 32.4 25.3 34.5 23.5 36.5 21.6 36.5 21.6 37.5 20.7 38 20.4 38 20.4 38 20.4 38 20.4" mask="url(#mask-2)" class="b"/></g><path d="M37.8 22.5L36.1 24C34.5 25.4 32.7 26.8 30.7 28.2 26.7 31 26.6 33.4 27.1 35.6 27.1 35.6 27.3 36.2 27.6 36.9L27.6 36.9C27.6 37 27.7 37 27.7 37 27.7 37 27.7 36.9 27.7 36.9 27.7 36.9 27.7 36.9 27.7 37L27.7 36.9C33.2 34.1 37.1 28.8 37.9 22.5 37.9 22.5 37.8 22.5 37.8 22.5" class="b"/><path d="M10.8 35.6C11.3 33.4 11.2 31 7.2 28.2 5.2 26.8 3.4 25.4 1.8 24L0.2 22.8C1.1 28.9 4.9 34.1 10.2 36.9 10.6 36.2 10.8 35.6 10.8 35.6" class="b"/><path d="M19 24.9L17 22.9C17.8 22.2 18.5 21.3 19 20.3 19.5 21.3 20.1 22.1 21 22.9L19 24.9Z" class="b"/><path d="M15.2 18.3C14.2 19.1 13.1 19.5 11.9 19.5 10.7 19.5 9.6 19.1 8.7 18.3 8.4 18.1 7.9 18.2 7.7 18.5 7.4 18.8 7.5 19.2 7.8 19.5 9 20.4 10.4 20.9 11.9 20.9 13.4 20.9 14.9 20.4 16 19.5 16.4 19.2 16.4 18.8 16.2 18.5 15.9 18.2 15.5 18.1 15.2 18.3M5.6 16.9C5.6 13.4 8.5 10.6 12 10.6 15.3 10.6 18 13.1 18.3 16.3 18.4 16.7 18.4 17.2 18.3 17.6 18 20.8 15.3 23.3 12 23.3 8.5 23.3 5.6 20.5 5.6 16.9" class="b"/><path d="M25.8 36.3C25.8 36.3 25.8 36.3 25.8 36.3 25.8 36.3 25.8 36.3 25.8 36.3" class="b"/><path d="M27.7 37L27.6 36.9C27.7 36.9 27.7 36.9 27.7 37" class="b"/><path d="M10.2 36.9C10.2 36.9 10.2 36.9 10.2 36.9L10.2 36.9Z" class="b"/><path d="M29.2 18.3C28.2 19.1 27.1 19.5 25.9 19.5 24.7 19.5 23.6 19.1 22.7 18.3 22.4 18.1 21.9 18.2 21.7 18.5 21.4 18.8 21.5 19.2 21.8 19.5 23 20.4 24.4 20.9 25.9 20.9 27.4 20.9 28.9 20.4 30 19.5 30.4 19.2 30.4 18.8 30.2 18.5 29.9 18.2 29.5 18.1 29.2 18.3M26.1 10.6C29.6 10.6 32.5 13.4 32.5 16.9 32.5 20.5 29.6 23.3 26.1 23.3 22.8 23.3 20.1 20.8 19.7 17.6 19.7 17.3 19.7 16.8 19.7 16.3 20.1 13.1 22.8 10.6 26.1 10.6" class="b"/></g></g></svg>
|
Before Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 7.0 KiB |