Merge branch 'rc' into current
17
CODEOWNERS
@ -26,6 +26,7 @@ source/_integrations/alpha_vantage.markdown @fabaff
|
|||||||
source/_integrations/ambiclimate.markdown @danielhiversen
|
source/_integrations/ambiclimate.markdown @danielhiversen
|
||||||
source/_integrations/ambient_station.markdown @bachya
|
source/_integrations/ambient_station.markdown @bachya
|
||||||
source/_integrations/amcrest.markdown @pnbruckner
|
source/_integrations/amcrest.markdown @pnbruckner
|
||||||
|
source/_integrations/analytics.markdown @home-assistant/core @ludeeus
|
||||||
source/_integrations/androidtv.markdown @JeffLIrion
|
source/_integrations/androidtv.markdown @JeffLIrion
|
||||||
source/_integrations/apache_kafka.markdown @bachya
|
source/_integrations/apache_kafka.markdown @bachya
|
||||||
source/_integrations/api.markdown @home-assistant/core
|
source/_integrations/api.markdown @home-assistant/core
|
||||||
@ -36,7 +37,7 @@ source/_integrations/arcam_fmj.markdown @elupus
|
|||||||
source/_integrations/arduino.markdown @fabaff
|
source/_integrations/arduino.markdown @fabaff
|
||||||
source/_integrations/arest.markdown @fabaff
|
source/_integrations/arest.markdown @fabaff
|
||||||
source/_integrations/arris_tg2492lg.markdown @vanbalken
|
source/_integrations/arris_tg2492lg.markdown @vanbalken
|
||||||
source/_integrations/asuswrt.markdown @kennedyshead
|
source/_integrations/asuswrt.markdown @kennedyshead @ollo69
|
||||||
source/_integrations/atag.markdown @MatsNL
|
source/_integrations/atag.markdown @MatsNL
|
||||||
source/_integrations/aten_pe.markdown @mtdcr
|
source/_integrations/aten_pe.markdown @mtdcr
|
||||||
source/_integrations/atome.markdown @baqs
|
source/_integrations/atome.markdown @baqs
|
||||||
@ -135,7 +136,7 @@ source/_integrations/esphome.markdown @OttoWinter
|
|||||||
source/_integrations/essent.markdown @TheLastProject
|
source/_integrations/essent.markdown @TheLastProject
|
||||||
source/_integrations/evohome.markdown @zxdavb
|
source/_integrations/evohome.markdown @zxdavb
|
||||||
source/_integrations/ezviz.markdown @baqs
|
source/_integrations/ezviz.markdown @baqs
|
||||||
source/_integrations/faadelays.markdown @ntilley905
|
source/_integrations/faa_delays.markdown @ntilley905
|
||||||
source/_integrations/fastdotcom.markdown @rohankapoorcom
|
source/_integrations/fastdotcom.markdown @rohankapoorcom
|
||||||
source/_integrations/file.markdown @fabaff
|
source/_integrations/file.markdown @fabaff
|
||||||
source/_integrations/filter.markdown @dgomes
|
source/_integrations/filter.markdown @dgomes
|
||||||
@ -169,13 +170,11 @@ source/_integrations/google_cloud.markdown @lufton
|
|||||||
source/_integrations/gpsd.markdown @fabaff
|
source/_integrations/gpsd.markdown @fabaff
|
||||||
source/_integrations/gree.markdown @cmroche
|
source/_integrations/gree.markdown @cmroche
|
||||||
source/_integrations/greeneye_monitor.markdown @jkeljo
|
source/_integrations/greeneye_monitor.markdown @jkeljo
|
||||||
source/_integrations/griddy.markdown @bdraco
|
|
||||||
source/_integrations/group.markdown @home-assistant/core
|
source/_integrations/group.markdown @home-assistant/core
|
||||||
source/_integrations/growatt_server.markdown @indykoning
|
source/_integrations/growatt_server.markdown @indykoning
|
||||||
source/_integrations/guardian.markdown @bachya
|
source/_integrations/guardian.markdown @bachya
|
||||||
source/_integrations/habitica.markdown @ASMfreaK @leikoilja
|
source/_integrations/habitica.markdown @ASMfreaK @leikoilja
|
||||||
source/_integrations/harmony.markdown @ehendrix23 @bramkragten @bdraco @mkeesey
|
source/_integrations/harmony.markdown @ehendrix23 @bramkragten @bdraco @mkeesey
|
||||||
source/_integrations/hdmi_cec.markdown @newAM
|
|
||||||
source/_integrations/heatmiser.markdown @andylockran
|
source/_integrations/heatmiser.markdown @andylockran
|
||||||
source/_integrations/heos.markdown @andrewsayre
|
source/_integrations/heos.markdown @andrewsayre
|
||||||
source/_integrations/here_travel_time.markdown @eifinger
|
source/_integrations/here_travel_time.markdown @eifinger
|
||||||
@ -186,11 +185,11 @@ source/_integrations/history.markdown @home-assistant/core
|
|||||||
source/_integrations/hive.markdown @Rendili @KJonline
|
source/_integrations/hive.markdown @Rendili @KJonline
|
||||||
source/_integrations/hlk_sw16.markdown @jameshilliard
|
source/_integrations/hlk_sw16.markdown @jameshilliard
|
||||||
source/_integrations/home_connect.markdown @DavidMStraub
|
source/_integrations/home_connect.markdown @DavidMStraub
|
||||||
|
source/_integrations/home_plus_control.markdown @chemaaa
|
||||||
source/_integrations/homeassistant.markdown @home-assistant/core
|
source/_integrations/homeassistant.markdown @home-assistant/core
|
||||||
source/_integrations/homekit.markdown @bdraco
|
source/_integrations/homekit.markdown @bdraco
|
||||||
source/_integrations/homekit_controller.markdown @Jc2k
|
source/_integrations/homekit_controller.markdown @Jc2k
|
||||||
source/_integrations/homematic.markdown @pvizeli @danielperna84
|
source/_integrations/homematic.markdown @pvizeli @danielperna84
|
||||||
source/_integrations/homematicip_cloud.markdown @SukramJ
|
|
||||||
source/_integrations/http.markdown @home-assistant/core
|
source/_integrations/http.markdown @home-assistant/core
|
||||||
source/_integrations/huawei_lte.markdown @scop @fphammerle
|
source/_integrations/huawei_lte.markdown @scop @fphammerle
|
||||||
source/_integrations/huawei_router.markdown @abmantis
|
source/_integrations/huawei_router.markdown @abmantis
|
||||||
@ -388,6 +387,7 @@ source/_integrations/samsungtv.markdown @escoand
|
|||||||
source/_integrations/scene.markdown @home-assistant/core
|
source/_integrations/scene.markdown @home-assistant/core
|
||||||
source/_integrations/schluter.markdown @prairieapps
|
source/_integrations/schluter.markdown @prairieapps
|
||||||
source/_integrations/scrape.markdown @fabaff
|
source/_integrations/scrape.markdown @fabaff
|
||||||
|
source/_integrations/screenlogic.markdown @dieselrabbit
|
||||||
source/_integrations/script.markdown @home-assistant/core
|
source/_integrations/script.markdown @home-assistant/core
|
||||||
source/_integrations/search.markdown @home-assistant/core
|
source/_integrations/search.markdown @home-assistant/core
|
||||||
source/_integrations/sense.markdown @kbickar
|
source/_integrations/sense.markdown @kbickar
|
||||||
@ -418,12 +418,12 @@ source/_integrations/smarttub.markdown @mdz
|
|||||||
source/_integrations/smarty.markdown @z0mbieprocess
|
source/_integrations/smarty.markdown @z0mbieprocess
|
||||||
source/_integrations/sms.markdown @ocalvo
|
source/_integrations/sms.markdown @ocalvo
|
||||||
source/_integrations/smtp.markdown @fabaff
|
source/_integrations/smtp.markdown @fabaff
|
||||||
|
source/_integrations/solaredge.markdown @frenck
|
||||||
source/_integrations/solaredge_local.markdown @drobtravels @scheric
|
source/_integrations/solaredge_local.markdown @drobtravels @scheric
|
||||||
source/_integrations/solarlog.markdown @Ernst79
|
source/_integrations/solarlog.markdown @Ernst79
|
||||||
source/_integrations/solax.markdown @squishykid
|
source/_integrations/solax.markdown @squishykid
|
||||||
source/_integrations/soma.markdown @ratsept
|
source/_integrations/soma.markdown @ratsept
|
||||||
source/_integrations/somfy.markdown @tetienne
|
source/_integrations/somfy.markdown @tetienne
|
||||||
source/_integrations/somfy_mylink.markdown @bdraco
|
|
||||||
source/_integrations/sonarr.markdown @ctalkington
|
source/_integrations/sonarr.markdown @ctalkington
|
||||||
source/_integrations/songpal.markdown @rytilahti @shenxn
|
source/_integrations/songpal.markdown @rytilahti @shenxn
|
||||||
source/_integrations/sonos.markdown @cgtobi
|
source/_integrations/sonos.markdown @cgtobi
|
||||||
@ -439,7 +439,7 @@ source/_integrations/starline.markdown @anonym-tsk
|
|||||||
source/_integrations/statistics.markdown @fabaff
|
source/_integrations/statistics.markdown @fabaff
|
||||||
source/_integrations/stiebel_eltron.markdown @fucm
|
source/_integrations/stiebel_eltron.markdown @fucm
|
||||||
source/_integrations/stookalert.markdown @fwestenberg
|
source/_integrations/stookalert.markdown @fwestenberg
|
||||||
source/_integrations/stream.markdown @hunterjm @uvjustin
|
source/_integrations/stream.markdown @hunterjm @uvjustin @allenporter
|
||||||
source/_integrations/stt.markdown @pvizeli
|
source/_integrations/stt.markdown @pvizeli
|
||||||
source/_integrations/subaru.markdown @G-Two
|
source/_integrations/subaru.markdown @G-Two
|
||||||
source/_integrations/suez_water.markdown @ooii
|
source/_integrations/suez_water.markdown @ooii
|
||||||
@ -497,7 +497,7 @@ source/_integrations/usgs_earthquakes_feed.markdown @exxamalte
|
|||||||
source/_integrations/utility_meter.markdown @dgomes
|
source/_integrations/utility_meter.markdown @dgomes
|
||||||
source/_integrations/velbus.markdown @Cereal2nd @brefra
|
source/_integrations/velbus.markdown @Cereal2nd @brefra
|
||||||
source/_integrations/velux.markdown @Julius2342
|
source/_integrations/velux.markdown @Julius2342
|
||||||
source/_integrations/vera.markdown @vangorra
|
source/_integrations/vera.markdown @pavoni
|
||||||
source/_integrations/verisure.markdown @frenck
|
source/_integrations/verisure.markdown @frenck
|
||||||
source/_integrations/versasense.markdown @flamm3blemuff1n
|
source/_integrations/versasense.markdown @flamm3blemuff1n
|
||||||
source/_integrations/version.markdown @fabaff @ludeeus
|
source/_integrations/version.markdown @fabaff @ludeeus
|
||||||
@ -509,6 +509,7 @@ source/_integrations/vizio.markdown @raman325
|
|||||||
source/_integrations/vlc_telnet.markdown @rodripf @dmcc
|
source/_integrations/vlc_telnet.markdown @rodripf @dmcc
|
||||||
source/_integrations/volkszaehler.markdown @fabaff
|
source/_integrations/volkszaehler.markdown @fabaff
|
||||||
source/_integrations/volumio.markdown @OnFreund
|
source/_integrations/volumio.markdown @OnFreund
|
||||||
|
source/_integrations/wake_on_lan.markdown @ntilley905
|
||||||
source/_integrations/waqi.markdown @andrey-git
|
source/_integrations/waqi.markdown @andrey-git
|
||||||
source/_integrations/watson_tts.markdown @rutkai
|
source/_integrations/watson_tts.markdown @rutkai
|
||||||
source/_integrations/weather.markdown @fabaff
|
source/_integrations/weather.markdown @fabaff
|
||||||
|
@ -105,9 +105,9 @@ social:
|
|||||||
|
|
||||||
# Home Assistant release details
|
# Home Assistant release details
|
||||||
current_major_version: 2021
|
current_major_version: 2021
|
||||||
current_minor_version: 3
|
current_minor_version: 4
|
||||||
current_patch_version: 4
|
current_patch_version: 0
|
||||||
date_released: 2021-03-12
|
date_released: 2021-04-07
|
||||||
|
|
||||||
# Either # or the anchor link to latest release notes in the blog post.
|
# Either # or the anchor link to latest release notes in the blog post.
|
||||||
# Must be prefixed with a # and have double quotes around it.
|
# Must be prefixed with a # and have double quotes around it.
|
||||||
|
@ -1,26 +1,10 @@
|
|||||||
---
|
---
|
||||||
title: "Automation Templating"
|
title: "Automation Trigger Variables"
|
||||||
description: "Advanced automation documentation using templating."
|
description: "List all available variables made available by triggers."
|
||||||
---
|
---
|
||||||
|
|
||||||
Automations support [templating](/docs/configuration/templating/) in the same way as scripts do. In addition to the [Home Assistant template extensions](/docs/configuration/templating/#home-assistant-template-extensions) available to scripts, the `trigger` template variable is available.
|
Automations support [templating](/docs/configuration/templating/) in the same way as scripts do. In addition to the [Home Assistant template extensions](/docs/configuration/templating/#home-assistant-template-extensions) available to scripts, the `trigger` template variable is available.
|
||||||
|
|
||||||
<div class='note'>
|
|
||||||
|
|
||||||
Be aware that if you reference a `trigger` state object in templates of an automation' `action` or `condition` sections, attempting to test that automation by calling the `automation.trigger` service or by clicking EXECUTE in the More Info box for the automation will not work. This is because the trigger state object doesn't exist in those contexts. One way to test automations like these is to manually check that the templates work as expected by pasting them in {% my developer_template title="Developer Tools > Template" %} together with your trigger's definition like:
|
|
||||||
|
|
||||||
{%raw%}
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
{% set trigger={'to_state':{'state': 'heat'}} %}
|
|
||||||
{% set option = trigger.to_state.state %}
|
|
||||||
{{ 'on' if option == 'heat' else 'off' }}
|
|
||||||
```
|
|
||||||
|
|
||||||
{%endraw%}
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
## Available Trigger Data
|
## Available Trigger Data
|
||||||
|
|
||||||
The following tables show the available trigger data per platform.
|
The following tables show the available trigger data per platform.
|
||||||
|
@ -3,13 +3,24 @@ title: "Automation Trigger"
|
|||||||
description: "All the different ways how automations can be triggered."
|
description: "All the different ways how automations can be triggered."
|
||||||
---
|
---
|
||||||
|
|
||||||
## What are triggers
|
|
||||||
|
|
||||||
Triggers are what starts the processing of an automation rule. When _any_ of the automation's triggers becomes true (trigger _fires_), Home Assistant will validate the [conditions](/docs/automation/condition/), if any, and call the [action](/docs/automation/action/).
|
Triggers are what starts the processing of an automation rule. When _any_ of the automation's triggers becomes true (trigger _fires_), Home Assistant will validate the [conditions](/docs/automation/condition/), if any, and call the [action](/docs/automation/action/).
|
||||||
|
|
||||||
An automation can be triggered by an event, with a certain entity state, at a given time, and more. These can be specified directly or more flexible via templates. It is also possible to specify multiple triggers for one automation.
|
An automation can be triggered by an event, with a certain entity state, at a given time, and more. These can be specified directly or more flexible via templates. It is also possible to specify multiple triggers for one automation.
|
||||||
|
|
||||||
The following sections introduce all trigger types and further details to get started.
|
- [Event trigger](#event-trigger)
|
||||||
|
- [Home Assistant trigger](#home-assistant-trigger)
|
||||||
|
- [MQTT trigger](#mqtt-trigger)
|
||||||
|
- [Numeric state trigger](#numeric-state-trigger)
|
||||||
|
- [State trigger](#state-trigger)
|
||||||
|
- [Sun trigger](#sun-trigger)
|
||||||
|
- [Tag trigger](#tag-trigger)
|
||||||
|
- [Template trigger](#template-trigger)
|
||||||
|
- [Time trigger](#time-trigger)
|
||||||
|
- [Time pattern trigger](#time-pattern-trigger)
|
||||||
|
- [Webhook trigger](#webhook-trigger)
|
||||||
|
- [Zone trigger](#zone-trigger)
|
||||||
|
- [Geolocation trigger](#geolocation-trigger)
|
||||||
|
- [Device triggers](#device-triggers)
|
||||||
|
|
||||||
## Trigger variables
|
## Trigger variables
|
||||||
|
|
||||||
|
@ -1,52 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Updater"
|
|
||||||
description: "Details what the updater integration is reporting about your Home Assistant instance."
|
|
||||||
---
|
|
||||||
|
|
||||||
Starting with 0.31 the [updater component](/integrations/updater/) sends an optional report about Home Assistant instance.
|
|
||||||
|
|
||||||
If you want to opt-in to include integration information, add `include_used_components` to your configuration. This will allow the Home Assistant developers to focus development efforts on the most popular components.
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
updater:
|
|
||||||
include_used_components: true
|
|
||||||
```
|
|
||||||
|
|
||||||
We are only collecting this information to better understand our user base to provide better long term support and feature development.
|
|
||||||
|
|
||||||
| Name | Description | Example | Data Source |
|
|
||||||
| --------------------- | ------------------------------------------ | ---------------------------------- | -------------- |
|
|
||||||
| `arch` | CPU Architecture | `x86_64` | Local Instance |
|
|
||||||
| `distribution` | Linux Distribution name (only Linux) | `Ubuntu` | Local Instance |
|
|
||||||
| `docker` | True if running inside Docker | `false` | Local Instance |
|
|
||||||
| `first_seen_datetime` | First time instance ID was submitted | `2016-10-22T19:56:03.542Z` | Update Server |
|
|
||||||
| `geo_city` | GeoIP determined city | `Oakland` | Update Server |
|
|
||||||
| `geo_country_code` | GeoIP determined country code | `US` | Update Server |
|
|
||||||
| `geo_country_name` | GeoIP determined country name | `United States` | Update Server |
|
|
||||||
| `geo_latitude` | GeoIP determined latitude | `37.8047` | Update Server |
|
|
||||||
| `geo_longitude` | GeoIP determined longitude | `-122.2124` | Update Server |
|
|
||||||
| `geo_metro_code` | GeoIP determined metro code | `807` | Update Server |
|
|
||||||
| `geo_region_code` | GeoIP determined region code | `CA` | Update Server |
|
|
||||||
| `geo_region_name` | GeoIP determined region name | `California` | Update Server |
|
|
||||||
| `geo_time_zone` | GeoIP determined time zone | `America/Los_Angeles` | Update Server |
|
|
||||||
| `geo_zip_code` | GeoIP determined zip code | `94602` | Update Server |
|
|
||||||
| `last_seen_datetime` | Most recent time instance ID was submitted | `2016-10-22T19:56:03.542Z` | Update Server |
|
|
||||||
| `os_name` | Operating system name | `Darwin` | Local Instance |
|
|
||||||
| `os_version` | Operating system version | `10.12` | Local Instance |
|
|
||||||
| `python_version` | Python version | `3.5.2` | Local Instance |
|
|
||||||
| `timezone` | Timezone | `America/Los_Angeles` | Local Instance |
|
|
||||||
| `user_agent` | User agent used to submit analytics | `python-requests/2.11.1` | Local Instance |
|
|
||||||
| `uuid` | Unique identifier | `10321ee6094d4a2ebb5ed55c675d5f5e` | Local Instance |
|
|
||||||
| `version` | Home Assistant version | `0.31.0` | Local Instance |
|
|
||||||
| `virtualenv` | True if running inside virtualenv | `true` | Local Instance |
|
|
||||||
|
|
||||||
In addition to the above collected data, the server will also use your IP address to do a geographic IP address lookup to determine a general geographic area that your address is located in. To be extremely, extremely clear about this bit: __The Home Assistant updater does not: store your IP address in a database and also does not submit the location information from your `configuration.yaml`.__
|
|
||||||
|
|
||||||
Our tests showed that at best, we get 4 digits of accuracy on your IP address location which is a 5 mile radius of your actual IP location, assuming that it is even correct in the first place (geo IP lookups are very hit or miss).
|
|
||||||
|
|
||||||
The server also adds two timestamps to the data:
|
|
||||||
|
|
||||||
- the original date your instance UUID was first seen
|
|
||||||
- the timestamp of the last time we have seen your instance
|
|
||||||
|
|
||||||
We will never publicly expose individual gathered data. We might however publish aggregated stats about our user base (example: 70% of all users use Linux). We will never sell or allow the use of this information for non-Home Assistant development purposes.
|
|
@ -158,8 +158,13 @@ Supported abbreviations:
|
|||||||
'on_cmd_type': 'on_command_type',
|
'on_cmd_type': 'on_command_type',
|
||||||
'opt': 'optimistic',
|
'opt': 'optimistic',
|
||||||
'osc_cmd_t': 'oscillation_command_topic',
|
'osc_cmd_t': 'oscillation_command_topic',
|
||||||
|
'osc_cmd_tpl': 'oscillation_command_template',
|
||||||
'osc_stat_t': 'oscillation_state_topic',
|
'osc_stat_t': 'oscillation_state_topic',
|
||||||
'osc_val_tpl': 'oscillation_value_template',
|
'osc_val_tpl': 'oscillation_value_template',
|
||||||
|
'pct_cmd_t': 'percentage_command_topic',
|
||||||
|
'pct_cmd_tpl': 'percentage_command_template',
|
||||||
|
'pct_stat_t': 'percentage_state_topic',
|
||||||
|
'pct_val_tpl': 'percentage_value_template',
|
||||||
'pl': 'payload',
|
'pl': 'payload',
|
||||||
'pl_arm_away': 'payload_arm_away',
|
'pl_arm_away': 'payload_arm_away',
|
||||||
'pl_arm_home': 'payload_arm_home',
|
'pl_arm_home': 'payload_arm_home',
|
||||||
@ -169,16 +174,12 @@ Supported abbreviations:
|
|||||||
'pl_cln_sp': 'payload_clean_spot',
|
'pl_cln_sp': 'payload_clean_spot',
|
||||||
'pl_cls': 'payload_close',
|
'pl_cls': 'payload_close',
|
||||||
'pl_disarm': 'payload_disarm',
|
'pl_disarm': 'payload_disarm',
|
||||||
'pl_hi_spd': 'payload_high_speed',
|
|
||||||
'pl_home': 'payload_home',
|
'pl_home': 'payload_home',
|
||||||
'pl_lock': 'payload_lock',
|
'pl_lock': 'payload_lock',
|
||||||
'pl_loc': 'payload_locate',
|
'pl_loc': 'payload_locate',
|
||||||
'pl_lo_spd': 'payload_low_speed',
|
|
||||||
'pl_med_spd': 'payload_medium_speed',
|
|
||||||
'pl_not_avail': 'payload_not_available',
|
'pl_not_avail': 'payload_not_available',
|
||||||
'pl_not_home': 'payload_not_home',
|
'pl_not_home': 'payload_not_home',
|
||||||
'pl_off': 'payload_off',
|
'pl_off': 'payload_off',
|
||||||
'pl_off_spd': 'payload_off_speed',
|
|
||||||
'pl_on': 'payload_on',
|
'pl_on': 'payload_on',
|
||||||
'pl_open': 'payload_open',
|
'pl_open': 'payload_open',
|
||||||
'pl_osc_off': 'payload_oscillation_off',
|
'pl_osc_off': 'payload_oscillation_off',
|
||||||
@ -196,6 +197,11 @@ Supported abbreviations:
|
|||||||
'pow_cmd_t': 'power_command_topic',
|
'pow_cmd_t': 'power_command_topic',
|
||||||
'pow_stat_t': 'power_state_topic',
|
'pow_stat_t': 'power_state_topic',
|
||||||
'pow_stat_tpl': 'power_state_template',
|
'pow_stat_tpl': 'power_state_template',
|
||||||
|
'pr_mode_cmd_t': 'preset_mode_command_topic',
|
||||||
|
'pr_mode_cmd_tpl': 'preset_mode_command_template',
|
||||||
|
'pr_mode_stat_t': 'preset_mode_state_topic',
|
||||||
|
'pr_mode_val_tpl': 'preset_mode_value_template',
|
||||||
|
'pr_modes': 'preset_modes',
|
||||||
'r_tpl': 'red_template',
|
'r_tpl': 'red_template',
|
||||||
'ret': 'retain',
|
'ret': 'retain',
|
||||||
'rgb_cmd_tpl': 'rgb_command_template',
|
'rgb_cmd_tpl': 'rgb_command_template',
|
||||||
@ -209,10 +215,8 @@ Supported abbreviations:
|
|||||||
'set_pos_t': 'set_position_topic',
|
'set_pos_t': 'set_position_topic',
|
||||||
'pos_t': 'position_topic',
|
'pos_t': 'position_topic',
|
||||||
'pos_tpl': 'position_template',
|
'pos_tpl': 'position_template',
|
||||||
'spd_cmd_t': 'speed_command_topic',
|
'spd_rng_min': 'speed_range_min',
|
||||||
'spd_stat_t': 'speed_state_topic',
|
'spd_rng_max': 'speed_range_max',
|
||||||
'spd_val_tpl': 'speed_value_template',
|
|
||||||
'spds': 'speeds',
|
|
||||||
'src_type': 'source_type',
|
'src_type': 'source_type',
|
||||||
'stat_clsd': 'state_closed',
|
'stat_clsd': 'state_closed',
|
||||||
'stat_closing': 'state_closing',
|
'stat_closing': 'state_closing',
|
||||||
@ -277,6 +281,7 @@ Supported abbreviations for device registry configuration:
|
|||||||
'mf': 'manufacturer',
|
'mf': 'manufacturer',
|
||||||
'mdl': 'model',
|
'mdl': 'model',
|
||||||
'sw': 'sw_version',
|
'sw': 'sw_version',
|
||||||
|
'sa': 'suggested_area',
|
||||||
```
|
```
|
||||||
|
|
||||||
## Support by third-party tools
|
## Support by third-party tools
|
||||||
|
@ -122,7 +122,6 @@
|
|||||||
<b>{% active_link /docs/backend/ Backend %}</b>
|
<b>{% active_link /docs/backend/ Backend %}</b>
|
||||||
<ul>
|
<ul>
|
||||||
<li>{% active_link /docs/backend/database/ Database %}</li>
|
<li>{% active_link /docs/backend/database/ Database %}</li>
|
||||||
<li>{% active_link /docs/backend/updater/ Updater %}</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
|
@ -113,6 +113,10 @@ device:
|
|||||||
description: "The name of the device."
|
description: "The name of the device."
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
suggested_area:
|
||||||
|
description: 'Suggest an area if the device isn’t in one yet.'
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
sw_version:
|
sw_version:
|
||||||
description: "The firmware version of the device."
|
description: "The firmware version of the device."
|
||||||
required: false
|
required: false
|
||||||
@ -121,6 +125,10 @@ device:
|
|||||||
description: "Identifier of a device that routes messages between this device and Home Assistant. Examples of such devices are hubs, or parent devices of a sub-device. This is used to show device topology in Home Assistant."
|
description: "Identifier of a device that routes messages between this device and Home Assistant. Examples of such devices are hubs, or parent devices of a sub-device. This is used to show device topology in Home Assistant."
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
icon:
|
||||||
|
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
|
||||||
|
required: false
|
||||||
|
type: icon
|
||||||
json_attributes_template:
|
json_attributes_template:
|
||||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
||||||
required: false
|
required: false
|
||||||
|
@ -117,6 +117,10 @@ binary_sensors:
|
|||||||
description: "Return `on` when a motion is detected, `off` when not. Motion detection is enabled by default for most cameras, if this functionality is not working check that it is enabled in Settings > Events > Video Detection. Uses streaming method (see [below](#streaming-vs-polled-binary-sensors))."
|
description: "Return `on` when a motion is detected, `off` when not. Motion detection is enabled by default for most cameras, if this functionality is not working check that it is enabled in Settings > Events > Video Detection. Uses streaming method (see [below](#streaming-vs-polled-binary-sensors))."
|
||||||
motion_detected_polled:
|
motion_detected_polled:
|
||||||
description: "Return `on` when a motion is detected, `off` when not. Motion detection is enabled by default for most cameras, if this functionality is not working check that it is enabled in Settings > Events > Video Detection. Uses polled method (see [below](#streaming-vs-polled-binary-sensors))."
|
description: "Return `on` when a motion is detected, `off` when not. Motion detection is enabled by default for most cameras, if this functionality is not working check that it is enabled in Settings > Events > Video Detection. Uses polled method (see [below](#streaming-vs-polled-binary-sensors))."
|
||||||
|
crossline_detected:
|
||||||
|
description: "Return `on` when a tripwire tripping is detected, `off` when not. Uses streaming method (see [below](#streaming-vs-polled-binary-sensors))."
|
||||||
|
crossline_detected_polled:
|
||||||
|
description: "Return `on` when a tripwire is tripping is detected, `off` when not. Uses polled method (see [below](#streaming-vs-polled-binary-sensors))."
|
||||||
online:
|
online:
|
||||||
description: "Return `on` when camera is available (i.e., responding to commands), `off` when not."
|
description: "Return `on` when camera is available (i.e., responding to commands), `off` when not."
|
||||||
sensors:
|
sensors:
|
||||||
@ -377,6 +381,7 @@ amcrest:
|
|||||||
password: YOUR_PASSWORD
|
password: YOUR_PASSWORD
|
||||||
binary_sensors:
|
binary_sensors:
|
||||||
- motion_detected
|
- motion_detected
|
||||||
|
- crossline_detected
|
||||||
- online
|
- online
|
||||||
sensors:
|
sensors:
|
||||||
- sdcard
|
- sdcard
|
||||||
|
151
source/_integrations/analytics.markdown
Normal file
@ -0,0 +1,151 @@
|
|||||||
|
---
|
||||||
|
title: Analytics
|
||||||
|
description: Share system analytics and diagnostics
|
||||||
|
ha_category:
|
||||||
|
- Other
|
||||||
|
ha_release: 2021.4
|
||||||
|
ha_iot_class: Cloud Push
|
||||||
|
ha_quality_scale: internal
|
||||||
|
ha_codeowners:
|
||||||
|
- '@home-assistant/core'
|
||||||
|
- '@ludeeus'
|
||||||
|
ha_domain: analytics
|
||||||
|
---
|
||||||
|
|
||||||
|
Home Assistant allows users to share their usage data via the analytics integration. The aggregated data is available at <https://analytics.home-assistant.io>. It is used to influence Home Assistant development priorities and to convince manufacturers to add local control and privacy-focused features.
|
||||||
|
|
||||||
|
## Data Collection
|
||||||
|
|
||||||
|
The information sent depends on what you opt-in to. You can opt-in during onboarding and by going to **{% my general title="Configuration >> General" %}**.
|
||||||
|
|
||||||
|
**{% my general badge %}**
|
||||||
|
|
||||||
|
When enabled, data will be sent 15 minutes after each start, and every 24h after startup. Sent data is printed to your log.
|
||||||
|
|
||||||
|
### Basic analytics
|
||||||
|
|
||||||
|
This includes:
|
||||||
|
|
||||||
|
- Unique identifier for your system (to ensure each installation is counted once)
|
||||||
|
- Home Assistant version
|
||||||
|
- Home Assistant installation type
|
||||||
|
- Your country (derived server-side from your IP-address)
|
||||||
|
|
||||||
|
If your system includes the Supervisor, this will also contain:
|
||||||
|
|
||||||
|
- If your installation is supported
|
||||||
|
- If your installation is healthy
|
||||||
|
|
||||||
|
{% details Example payload %}
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"uuid": "12a3456bc78d90123ef4567g789012h3",
|
||||||
|
"version": "2021.4.0",
|
||||||
|
"installation_type": "Home Assistant OS",
|
||||||
|
"supervisor": {
|
||||||
|
"healthy": true,
|
||||||
|
"supported": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
{% enddetails %}
|
||||||
|
|
||||||
|
### Usage analytics
|
||||||
|
|
||||||
|
_Requires basic analytics to be enabled._
|
||||||
|
|
||||||
|
This includes:
|
||||||
|
|
||||||
|
- The names of all your integrations
|
||||||
|
|
||||||
|
If your system includes the Supervisor, this will also contain:
|
||||||
|
|
||||||
|
- For each add-on
|
||||||
|
- Name
|
||||||
|
- Version
|
||||||
|
- If protection mode is enabled
|
||||||
|
- If auto update is enabled
|
||||||
|
|
||||||
|
{% details Example payload %}
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"uuid": "12a3456bc78d90123ef4567g789012h3",
|
||||||
|
"version": "2021.4.0",
|
||||||
|
"installation_type": "Home Assistant OS",
|
||||||
|
"supervisor": {
|
||||||
|
"healthy": true,
|
||||||
|
"supported": true
|
||||||
|
},
|
||||||
|
"integrations": ["awesome_integration"],
|
||||||
|
"addons": [
|
||||||
|
{
|
||||||
|
"slug": "awesome_addon",
|
||||||
|
"protected": true,
|
||||||
|
"version": "1.0.0",
|
||||||
|
"auto_update": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
{% enddetails %}
|
||||||
|
|
||||||
|
### Statistics
|
||||||
|
|
||||||
|
_Requires basic analytics to be enabled._
|
||||||
|
|
||||||
|
This includes:
|
||||||
|
|
||||||
|
- Number of integrations
|
||||||
|
- Number of users
|
||||||
|
- Number of entities
|
||||||
|
- Number of automations
|
||||||
|
|
||||||
|
If your system includes the Supervisor, this will also contain:
|
||||||
|
|
||||||
|
- Number of installed add-ons
|
||||||
|
|
||||||
|
{% details Example payload %}
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"uuid": "12a3456bc78d90123ef4567g789012h3",
|
||||||
|
"version": "2021.4.0",
|
||||||
|
"installation_type": "Home Assistant OS",
|
||||||
|
"supervisor": {
|
||||||
|
"healthy": true,
|
||||||
|
"supported": true
|
||||||
|
},
|
||||||
|
"state_count": 1,
|
||||||
|
"automation_count": 2,
|
||||||
|
"integration_count": 3,
|
||||||
|
"addon_count": 4,
|
||||||
|
"user_count": 5
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
{% enddetails %}
|
||||||
|
|
||||||
|
### Diagnostics
|
||||||
|
|
||||||
|
If enabled, a crash report will be collected when an unexpected error occurs and uploaded to [Sentry](https://sentry.io). These reports will help fix bugs and improve performance and stability.
|
||||||
|
|
||||||
|
Crash reports are only visible to the Home Assistant Core developers. This feature is currently limited to the Supervisor.
|
||||||
|
|
||||||
|
## Data storage & processing
|
||||||
|
|
||||||
|
All data is received and processed by the Home Assistant Analytics Receiver ([source](https://github.com/home-assistant/analytics.home-assistant.io)).
|
||||||
|
|
||||||
|
When your installation sends a payload, that payload includes a unique identifier. This identifier is used to make sure that your installation is only counted once.
|
||||||
|
|
||||||
|
Your data is securely stored in [CloudFlare's Key-Value store](https://www.cloudflare.com/products/workers-kv/). It will be stored for a maximum of 60 days since the last update. Only aggregated data is made publicly available.
|
||||||
|
|
||||||
|
This is an example of how the information is stored:
|
||||||
|
{% configuration_basic %}
|
||||||
|
"uuid:12a3456bc78d90123ef4567g789012h3":
|
||||||
|
description: "{'version': '2021.4.0', 'installation_type': 'Home Assistant OS', 'country': 'NO'}"
|
||||||
|
|
||||||
|
{% endconfiguration_basic %}
|
@ -10,6 +10,7 @@ ha_config_flow: true
|
|||||||
ha_iot_class: Local Polling
|
ha_iot_class: Local Polling
|
||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@kennedyshead'
|
- '@kennedyshead'
|
||||||
|
- '@ollo69'
|
||||||
ha_domain: asuswrt
|
ha_domain: asuswrt
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- device_tracker
|
- device_tracker
|
||||||
|
@ -8,7 +8,7 @@ ha_category:
|
|||||||
- Camera
|
- Camera
|
||||||
- Lock
|
- Lock
|
||||||
ha_release: 0.64
|
ha_release: 0.64
|
||||||
ha_iot_class: Cloud Polling
|
ha_iot_class: Cloud Push
|
||||||
ha_config_flow: true
|
ha_config_flow: true
|
||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@bdraco'
|
- '@bdraco'
|
||||||
|
@ -1,87 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Modbus Binary Sensor"
|
|
||||||
description: "Instructions on how to set up Modbus binary sensors within Home Assistant."
|
|
||||||
ha_category:
|
|
||||||
- Binary Sensor
|
|
||||||
ha_release: 0.28
|
|
||||||
ha_iot_class: Local Push
|
|
||||||
ha_domain: modbus
|
|
||||||
---
|
|
||||||
|
|
||||||
The `modbus` binary sensor allows you to gather data from [Modbus](http://www.modbus.org/) coils.
|
|
||||||
|
|
||||||
## Configuration
|
|
||||||
|
|
||||||
To use your Modbus binary sensors in your installation, add the following to your `configuration.yaml` file:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
# Example configuration.yaml entry
|
|
||||||
binary_sensor:
|
|
||||||
- platform: modbus
|
|
||||||
inputs:
|
|
||||||
- name: Sensor1
|
|
||||||
hub: hub1
|
|
||||||
slave: 1
|
|
||||||
address: 100
|
|
||||||
- name: Sensor2
|
|
||||||
hub: hub1
|
|
||||||
slave: 1
|
|
||||||
address: 110
|
|
||||||
input_type: discrete_input
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
inputs:
|
|
||||||
description: The array contains a list of coils and discrete inputs to read from.
|
|
||||||
required: true
|
|
||||||
type: [map, list]
|
|
||||||
keys:
|
|
||||||
name:
|
|
||||||
description: Name of the sensor.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
hub:
|
|
||||||
description: The name of the hub.
|
|
||||||
required: false
|
|
||||||
default: modbus_hub
|
|
||||||
type: string
|
|
||||||
slave:
|
|
||||||
description: The number of the slave (Optional for TCP and UDP Modbus).
|
|
||||||
required: true
|
|
||||||
type: integer
|
|
||||||
address:
|
|
||||||
description: Coil or discrete input Modbus address.
|
|
||||||
required: true
|
|
||||||
type: integer
|
|
||||||
input_type:
|
|
||||||
description: Modbus input type (coil, discrete_input), default coil.
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
device_class:
|
|
||||||
description: The [type/class](/integrations/binary_sensor/#device-class) of the binary sensor to set the icon in the frontend.
|
|
||||||
required: false
|
|
||||||
type: device_class
|
|
||||||
default: None
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
It's possible to change the default 30 seconds scan interval for the sensor updates as shown in the [Platform options](/docs/configuration/platform_options/#scan-interval) documentation.
|
|
||||||
|
|
||||||
## Full example
|
|
||||||
|
|
||||||
Example a sensor with a 10 seconds scan interval:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
binary_sensor:
|
|
||||||
- platform: modbus
|
|
||||||
scan_interval: 10
|
|
||||||
inputs:
|
|
||||||
- name: Sensor1
|
|
||||||
hub: hub1
|
|
||||||
slave: 1
|
|
||||||
address: 100
|
|
||||||
- name: Sensor2
|
|
||||||
hub: hub1
|
|
||||||
slave: 1
|
|
||||||
address: 110
|
|
||||||
input_type: discrete_input
|
|
||||||
```
|
|
@ -84,6 +84,10 @@ device:
|
|||||||
description: The name of the device.
|
description: The name of the device.
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
suggested_area:
|
||||||
|
description: 'Suggest an area if the device isn’t in one yet.'
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
sw_version:
|
sw_version:
|
||||||
description: The firmware version of the device.
|
description: The firmware version of the device.
|
||||||
required: false
|
required: false
|
||||||
@ -105,6 +109,10 @@ force_update:
|
|||||||
required: false
|
required: false
|
||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
|
icon:
|
||||||
|
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
|
||||||
|
required: false
|
||||||
|
type: icon
|
||||||
json_attributes_template:
|
json_attributes_template:
|
||||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
||||||
required: false
|
required: false
|
||||||
|
@ -18,6 +18,7 @@ ha_platforms:
|
|||||||
- binary_sensor
|
- binary_sensor
|
||||||
- camera
|
- camera
|
||||||
- sensor
|
- sensor
|
||||||
|
ha_dhcp: true
|
||||||
---
|
---
|
||||||
|
|
||||||
The `blink` integration lets you view camera images and motion events from [Blink](https://blinkforhome.com/) camera and security systems.
|
The `blink` integration lets you view camera images and motion events from [Blink](https://blinkforhome.com/) camera and security systems.
|
||||||
|
@ -16,6 +16,7 @@ ha_platforms:
|
|||||||
- remote
|
- remote
|
||||||
- sensor
|
- sensor
|
||||||
- switch
|
- switch
|
||||||
|
ha_dhcp: true
|
||||||
---
|
---
|
||||||
|
|
||||||
The Broadlink integration allows you to control and monitor Broadlink universal remotes, smart plugs, power strips, switches and sensors. The following devices are supported:
|
The Broadlink integration allows you to control and monitor Broadlink universal remotes, smart plugs, power strips, switches and sensors. The following devices are supported:
|
||||||
|
@ -77,6 +77,10 @@ device:
|
|||||||
description: The name of the device.
|
description: The name of the device.
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
suggested_area:
|
||||||
|
description: 'Suggest an area if the device isn’t in one yet.'
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
sw_version:
|
sw_version:
|
||||||
description: The firmware version of the device.
|
description: The firmware version of the device.
|
||||||
required: false
|
required: false
|
||||||
@ -85,6 +89,10 @@ device:
|
|||||||
description: 'Identifier of a device that routes messages between this device and Home Assistant. Examples of such devices are hubs, or parent devices of a sub-device. This is used to show device topology in Home Assistant.'
|
description: 'Identifier of a device that routes messages between this device and Home Assistant. Examples of such devices are hubs, or parent devices of a sub-device. This is used to show device topology in Home Assistant.'
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
icon:
|
||||||
|
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
|
||||||
|
required: false
|
||||||
|
type: icon
|
||||||
json_attributes_template:
|
json_attributes_template:
|
||||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`."
|
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`."
|
||||||
required: false
|
required: false
|
||||||
|
@ -1,125 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Modbus Climate"
|
|
||||||
description: "Instructions how to integrate a Modbus thermostat within Home Assistant."
|
|
||||||
ha_category:
|
|
||||||
- Climate
|
|
||||||
ha_release: 0.68
|
|
||||||
ha_iot_class: Local Polling
|
|
||||||
ha_domain: modbus
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
The `modbus` thermostat allows you to use a sensor value (current temperature) and target value (target temperature) from [Modbus](http://www.modbus.org/) registers.
|
|
||||||
|
|
||||||
## Configuration
|
|
||||||
|
|
||||||
To use your Modbus thermostat in your installation, add the following to your `configuration.yaml` file:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
# Example configuration.yaml entry
|
|
||||||
modbus:
|
|
||||||
- name: hub1
|
|
||||||
type: tcp
|
|
||||||
host: IP_ADDRESS
|
|
||||||
port: 502
|
|
||||||
|
|
||||||
climates:
|
|
||||||
- name: Watlow F4T
|
|
||||||
slave: 1
|
|
||||||
data_type: uint
|
|
||||||
data_count: 1
|
|
||||||
scale: 0.1
|
|
||||||
offset: 0
|
|
||||||
precision: 1
|
|
||||||
max_temp: 30
|
|
||||||
min_temp: 15
|
|
||||||
temp_step: 1
|
|
||||||
target_temp_register: 2782
|
|
||||||
current_temp_register: 27586
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
name:
|
|
||||||
description: Name of the device
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
slave:
|
|
||||||
description: The number of the slave (Optional for tcp and upd Modbus, use 1).
|
|
||||||
required: true
|
|
||||||
type: integer
|
|
||||||
target_temp_register:
|
|
||||||
description: Register number for target temperature (Setpoint).
|
|
||||||
required: true
|
|
||||||
type: integer
|
|
||||||
current_temp_register:
|
|
||||||
description: Register number for current temperature (Process value).
|
|
||||||
required: true
|
|
||||||
type: integer
|
|
||||||
current_temp_register_type:
|
|
||||||
description: Modbus register type (holding, input) for current temperature, default holding.
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
default: holding
|
|
||||||
data_type:
|
|
||||||
description: Response representation (int, uint, float, custom). If float selected, value will converted to IEEE 754 floating point format.
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
default: float
|
|
||||||
structure:
|
|
||||||
description: "If `data_type` is custom specified a double-quoted Python struct is expected here, to format the string to unpack the value. See Python documentation for details. Example: `>i`."
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
default: ">f"
|
|
||||||
data_count:
|
|
||||||
description: Number of registers to read.
|
|
||||||
required: false
|
|
||||||
type: integer
|
|
||||||
default: 2
|
|
||||||
precision:
|
|
||||||
description: Number of valid decimals.
|
|
||||||
required: false
|
|
||||||
type: integer
|
|
||||||
default: 1
|
|
||||||
scale:
|
|
||||||
description: Scale factor (output = scale * value + offset).
|
|
||||||
required: false
|
|
||||||
type: float
|
|
||||||
default: 1
|
|
||||||
offset:
|
|
||||||
description: Final offset (output = scale * value + offset).
|
|
||||||
required: false
|
|
||||||
type: float
|
|
||||||
default: 0
|
|
||||||
max_temp:
|
|
||||||
description: Maximum setpoint temperature.
|
|
||||||
required: false
|
|
||||||
type: integer
|
|
||||||
default: 35
|
|
||||||
min_temp:
|
|
||||||
description: Maximum setpoint temperature.
|
|
||||||
required: false
|
|
||||||
type: integer
|
|
||||||
default: 5
|
|
||||||
temp_step:
|
|
||||||
description: The supported step size a target temperature can be increased/decreased.
|
|
||||||
required: false
|
|
||||||
type: float
|
|
||||||
default: 0.5
|
|
||||||
temperature_unit:
|
|
||||||
description: Temperature unit reported by the current_temp_register. C or F
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
default: C
|
|
||||||
scan_interval:
|
|
||||||
description: Defines the update interval of the sensor in seconds.
|
|
||||||
required: false
|
|
||||||
type: integer
|
|
||||||
default: 15
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
|
|
||||||
### Services
|
|
||||||
|
|
||||||
| Service | Description |
|
|
||||||
| ------- | ----------- |
|
|
||||||
| set_temperature | Set Temperature. Requires `value` to be passed in, which is the desired target temperature. `value` should be in the same type as `data_type` |
|
|
@ -116,6 +116,10 @@ device:
|
|||||||
description: 'The name of the device.'
|
description: 'The name of the device.'
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
suggested_area:
|
||||||
|
description: 'Suggest an area if the device isn’t in one yet.'
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
sw_version:
|
sw_version:
|
||||||
description: 'The firmware version of the device.'
|
description: 'The firmware version of the device.'
|
||||||
required: false
|
required: false
|
||||||
@ -170,6 +174,10 @@ initial:
|
|||||||
required: false
|
required: false
|
||||||
type: integer
|
type: integer
|
||||||
default: 21
|
default: 21
|
||||||
|
icon:
|
||||||
|
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
|
||||||
|
required: false
|
||||||
|
type: icon
|
||||||
json_attributes_template:
|
json_attributes_template:
|
||||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
||||||
required: false
|
required: false
|
||||||
|
@ -1,210 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Modbus Cover"
|
|
||||||
description: "Instructions on how to integrate Modbus covers into Home Assistant."
|
|
||||||
ha_category:
|
|
||||||
- Cover
|
|
||||||
ha_release: 0.116
|
|
||||||
ha_iot_class: Local Polling
|
|
||||||
ha_domain: modbus
|
|
||||||
---
|
|
||||||
|
|
||||||
The `modbus` cover platform allows you to control [Modbus](http://www.modbus.org/) covers (such as blinds, a roller shutter, or a garage door).
|
|
||||||
|
|
||||||
## Configuration
|
|
||||||
|
|
||||||
At the moment, we support the opening and closing of a cover. You can control your covers either using coils or holding registers.
|
|
||||||
|
|
||||||
Cover that uses the `coil` attribute is not able to determine intermediary states such as opening and closing. Coil stores only two states — "0" means cover closed, and "1" implies cover open. To allow detecting intermediary states, we added an optional `status_register` attribute. It will enable you to write your command (e.g., to open a cover) into a coil, and read current cover status back through the register. Additionally, you can specify values for `state_open`, `state_opening`, `state_closed`, and `state_closing` attributes. These will be matched with the value read from the `status_register`.
|
|
||||||
|
|
||||||
If your cover uses holding register to send commands (defined by the `register` attribute), it can also read the intermediary states. To adjust which value represents what state, you can fine-tune the optional state attributes, like `state_open`. These optional state values are also used for specifying values written into the register. If you specify an optional status_register attribute, cover states will be read from status_register instead of the register used for sending commands.
|
|
||||||
|
|
||||||
To use Modbus covers in your installation, add the following to your `configuration.yaml` file:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
# Example configuration.yaml entry
|
|
||||||
modbus:
|
|
||||||
- name: hub1
|
|
||||||
type: tcp
|
|
||||||
host: IP_ADDRESS
|
|
||||||
port: 502
|
|
||||||
|
|
||||||
covers:
|
|
||||||
- name: Door1
|
|
||||||
device_class: door
|
|
||||||
scan_interval: 1
|
|
||||||
coil: 0
|
|
||||||
- name: Door2
|
|
||||||
device_class: door
|
|
||||||
scan_interval: 1
|
|
||||||
coil: 1
|
|
||||||
status_register: 1
|
|
||||||
- name: Door3
|
|
||||||
slave: 2
|
|
||||||
device_class: door
|
|
||||||
scan_interval: 1
|
|
||||||
register: 0
|
|
||||||
state_open: 1
|
|
||||||
state_closed: 0
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
covers:
|
|
||||||
description: The array contains a list of all your Modbus covers.
|
|
||||||
required: true
|
|
||||||
type: map
|
|
||||||
keys:
|
|
||||||
slave:
|
|
||||||
description: The number of the slave (can be omitted for tcp and udp Modbus).
|
|
||||||
required: false
|
|
||||||
default: 1
|
|
||||||
type: integer
|
|
||||||
name:
|
|
||||||
description: Name of the switch.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
coil:
|
|
||||||
description: Coil address; can be omitted if a register attribute is specified. Coil and register attributes are mutually exclusive, and you need to always specify one of them.
|
|
||||||
required: true
|
|
||||||
type: integer
|
|
||||||
register:
|
|
||||||
description: Holding register address; can be omitted if a coil attribute is specified. Coil and register attributes are mutually exclusive, and you need to always specify one of them.
|
|
||||||
required: true
|
|
||||||
type: integer
|
|
||||||
status_register:
|
|
||||||
description: An address of an register, from which all the cover states will be read. If you specified `register` attribute, and not `status_register` attribute, your main register will also be used as a status register.
|
|
||||||
required: false
|
|
||||||
type: integer
|
|
||||||
status_register_type:
|
|
||||||
description: Modbus register type (holding, input), default holding.
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
state_open:
|
|
||||||
description: A value in `status_register` or `register` representing an open cover. If your configuration uses an `register` attribute, this value will be also written into a holding register to open the cover.
|
|
||||||
required: false
|
|
||||||
default: 1
|
|
||||||
type: integer
|
|
||||||
state_closed:
|
|
||||||
description: A value in `status_register` or `register` representing a closed cover. If your configuration uses an `register` attribute, this value will be also written into a holding register to close the cover.
|
|
||||||
required: false
|
|
||||||
default: 0
|
|
||||||
type: integer
|
|
||||||
state_opening:
|
|
||||||
description: A value in `status_register` or `register` telling us that the cover is opening at the moment. Note that this state should be also supported on your connected Modbus cover. If it won't write this intermediary state into the register, this state won't be detected.
|
|
||||||
required: false
|
|
||||||
default: 2
|
|
||||||
type: integer
|
|
||||||
state_closing:
|
|
||||||
description: A value in `status_register` or `register` telling us that the cover is closing at the moment. Note that this state should be also supported on your connected Modbus cover. If it won't write this intermediary state into the register, this state won't be detected.
|
|
||||||
required: false
|
|
||||||
default: 2
|
|
||||||
type: integer
|
|
||||||
device_class:
|
|
||||||
description: The [type/class](/integrations/cover/#device-class) of the cover to set the icon in the frontend.
|
|
||||||
required: false
|
|
||||||
type: device_class
|
|
||||||
default: None
|
|
||||||
scan_interval:
|
|
||||||
description: Defines the update interval of the sensor in seconds.
|
|
||||||
required: false
|
|
||||||
type: integer
|
|
||||||
default: 15
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
## Examples
|
|
||||||
|
|
||||||
In this section, you find some real-life examples of how to use this light.
|
|
||||||
|
|
||||||
### Modbus cover controlled by a coil
|
|
||||||
|
|
||||||
This example shows a configuration for a Modbus cover controlled using a coil. Intermediary states like opening/closing are not supported. The cover state is polled from Modbus every 10 seconds.
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
modbus:
|
|
||||||
- name: hub1
|
|
||||||
type: tcp
|
|
||||||
host: IP_ADDRESS
|
|
||||||
port: 502
|
|
||||||
|
|
||||||
covers:
|
|
||||||
- name: Door1
|
|
||||||
slave: 1
|
|
||||||
coil: 1
|
|
||||||
device_class: door
|
|
||||||
scan_interval: 10
|
|
||||||
- name: Door2
|
|
||||||
slave: 2
|
|
||||||
coil: 2
|
|
||||||
device_class: door
|
|
||||||
scan_interval: 10
|
|
||||||
```
|
|
||||||
|
|
||||||
### Modbus cover controlled by a coil, it's state is read from the register
|
|
||||||
|
|
||||||
This example shows a configuration for a Modbus cover controlled using a coil. Actual cover state is read from the `status_register`. We've also specified register values to match with the states open/opening/closed/closing. The cover state is polled from Modbus every 10 seconds.
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
modbus:
|
|
||||||
- name: hub1
|
|
||||||
type: tcp
|
|
||||||
host: IP_ADDRESS
|
|
||||||
port: 502
|
|
||||||
|
|
||||||
covers:
|
|
||||||
- name: Door1
|
|
||||||
slave: 1
|
|
||||||
device_class: door
|
|
||||||
scan_interval: 10
|
|
||||||
coil: 1
|
|
||||||
status_register: 1
|
|
||||||
status_register_type: input
|
|
||||||
state_opening: 1
|
|
||||||
state_open: 2
|
|
||||||
state_closing: 3
|
|
||||||
state_closed: 4
|
|
||||||
```
|
|
||||||
|
|
||||||
### Modbus cover controlled by a holding register
|
|
||||||
|
|
||||||
This example shows a configuration for a Modbus cover controlled using a holding register, from which we also read current cover state. We've also specified register values to match with the states open/opening/closed/closing. The cover state is polled from Modbus every 10 seconds.
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
modbus:
|
|
||||||
- name: hub1
|
|
||||||
type: tcp
|
|
||||||
host: IP_ADDRESS
|
|
||||||
port: 502
|
|
||||||
|
|
||||||
covers:
|
|
||||||
- name: Door1
|
|
||||||
slave: 1
|
|
||||||
device_class: door
|
|
||||||
scan_interval: 10
|
|
||||||
register: 1
|
|
||||||
state_opening: 1
|
|
||||||
state_open: 2
|
|
||||||
state_closing: 3
|
|
||||||
state_closed: 4
|
|
||||||
```
|
|
||||||
|
|
||||||
### Modbus cover controlled by a holding register, it's state is read from the status register
|
|
||||||
|
|
||||||
This example shows a configuration for a Modbus cover controlled using a holding register. However, cover state is read from a `status_register`. In this case, we've specified only values for `state_open` and `state_closed`, for the rest, default values are used. The cover state is polled from Modbus every 10 seconds.
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
modbus:
|
|
||||||
- name: hub1
|
|
||||||
type: tcp
|
|
||||||
host: IP_ADDRESS
|
|
||||||
port: 502
|
|
||||||
|
|
||||||
covers:
|
|
||||||
- name: Door1
|
|
||||||
slave: 1
|
|
||||||
device_class: door
|
|
||||||
scan_interval: 10
|
|
||||||
register: 1
|
|
||||||
status_register: 2
|
|
||||||
register_type: holding
|
|
||||||
state_open: 1
|
|
||||||
state_closed: 0
|
|
||||||
```
|
|
@ -94,6 +94,10 @@ device:
|
|||||||
description: The name of the device.
|
description: The name of the device.
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
suggested_area:
|
||||||
|
description: 'Suggest an area if the device isn’t in one yet.'
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
sw_version:
|
sw_version:
|
||||||
description: The firmware version of the device.
|
description: The firmware version of the device.
|
||||||
required: false
|
required: false
|
||||||
@ -106,6 +110,10 @@ device_class:
|
|||||||
description: Sets the [class of the device](/integrations/cover/), changing the device state and icon that is displayed on the frontend.
|
description: Sets the [class of the device](/integrations/cover/), changing the device state and icon that is displayed on the frontend.
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
icon:
|
||||||
|
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
|
||||||
|
required: false
|
||||||
|
type: icon
|
||||||
json_attributes_template:
|
json_attributes_template:
|
||||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
||||||
required: false
|
required: false
|
||||||
|
@ -133,6 +133,10 @@ device:
|
|||||||
description: The name of the device.
|
description: The name of the device.
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
suggested_area:
|
||||||
|
description: 'Suggest an area if the device isn’t in one yet.'
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
sw_version:
|
sw_version:
|
||||||
description: The firmware version of the device.
|
description: The firmware version of the device.
|
||||||
required: false
|
required: false
|
||||||
@ -142,7 +146,7 @@ device:
|
|||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
icon:
|
icon:
|
||||||
description: The icon for the device tracker.
|
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
|
||||||
required: false
|
required: false
|
||||||
type: icon
|
type: icon
|
||||||
json_attributes_template:
|
json_attributes_template:
|
||||||
|
@ -68,6 +68,10 @@ device:
|
|||||||
description: The name of the device.
|
description: The name of the device.
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
suggested_area:
|
||||||
|
description: 'Suggest an area if the device isn’t in one yet.'
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
sw_version:
|
sw_version:
|
||||||
description: The firmware version of the device.
|
description: The firmware version of the device.
|
||||||
required: false
|
required: false
|
||||||
|
@ -2,6 +2,9 @@
|
|||||||
title: Rheem EcoNet Products
|
title: Rheem EcoNet Products
|
||||||
description: Instructions on how to integrate Rheem EcoNet water heaters into Home Assistant.
|
description: Instructions on how to integrate Rheem EcoNet water heaters into Home Assistant.
|
||||||
ha_category:
|
ha_category:
|
||||||
|
- Binary Sensor
|
||||||
|
- Climate
|
||||||
|
- Sensor
|
||||||
- Water Heater
|
- Water Heater
|
||||||
ha_release: 0.61
|
ha_release: 0.61
|
||||||
ha_iot_class: Cloud Push
|
ha_iot_class: Cloud Push
|
||||||
@ -12,10 +15,36 @@ ha_codeowners:
|
|||||||
ha_config_flow: true
|
ha_config_flow: true
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- binary_sensor
|
- binary_sensor
|
||||||
|
- climate
|
||||||
- sensor
|
- sensor
|
||||||
- water_heater
|
- water_heater
|
||||||
---
|
---
|
||||||
|
|
||||||
The `econet` water heater platform is consuming the information provided by a [EcoNet enabled Rheem water heater](https://www.rheem.com/EcoNet/Home). This platform allows you to set the temperature, the operation mode, and away mode. It also provides access to several device sensors depending on your model of water heater.
|
The EcoNet integration is consuming the information provided by a [EcoNet enabled Rheem water heater or thermostat](https://www.rheem.com/EcoNet/Home).
|
||||||
|
|
||||||
{% include integrations/config_flow.md %}
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
|
## Platforms
|
||||||
|
|
||||||
|
EcoNet devices may be represented by one or more platforms.
|
||||||
|
|
||||||
|
- [Binary Sensor](#binary-sensor)
|
||||||
|
- [Climate](#climate)
|
||||||
|
- [Sensor](#sensor)
|
||||||
|
- [Water Heater](#water-heater)
|
||||||
|
|
||||||
|
### Binary Sensor
|
||||||
|
|
||||||
|
The EcoNet Binary Sensor platform lets you view binary states of sensors associated with your EcoNet thermostat or water heater. For example, if the device is currently running.
|
||||||
|
|
||||||
|
### Climate
|
||||||
|
|
||||||
|
The EcoNet Climate platform lets you control your EcoNet thermostat. Multi-zone HVAC systems will have 1 Climate entity per zone.
|
||||||
|
|
||||||
|
### Sensor
|
||||||
|
|
||||||
|
The EcoNet Sensor platform lets you view sensors associated with your EcoNet thermostat or water heater. For example, alert count or available hot water.
|
||||||
|
|
||||||
|
### Water Heater
|
||||||
|
|
||||||
|
The EcoNet Water Heater platform lets you control your EcoNet water heater. Water Heaters do not report the current water temperature.
|
||||||
|
@ -9,6 +9,8 @@ ha_config_flow: true
|
|||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@ntilley905'
|
- '@ntilley905'
|
||||||
ha_domain: faa_delays
|
ha_domain: faa_delays
|
||||||
|
ha_platforms:
|
||||||
|
- binary_sensor
|
||||||
---
|
---
|
||||||
|
|
||||||
The FAA Delays integration collects and displays information about delays at US Airports based on the
|
The FAA Delays integration collects and displays information about delays at US Airports based on the
|
||||||
|
@ -56,6 +56,10 @@ availability_topic:
|
|||||||
description: The MQTT topic subscribed to receive availability (online/offline) updates. Must not be used together with `availability`.
|
description: The MQTT topic subscribed to receive availability (online/offline) updates. Must not be used together with `availability`.
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
command_template:
|
||||||
|
description: Defines a [template](/docs/configuration/templating/#processing-incoming-data) to generate the payload to send to `command_topic`.
|
||||||
|
required: false
|
||||||
|
type: template
|
||||||
command_topic:
|
command_topic:
|
||||||
description: The MQTT topic to publish commands to change the fan state.
|
description: The MQTT topic to publish commands to change the fan state.
|
||||||
required: true
|
required: true
|
||||||
@ -85,6 +89,10 @@ device:
|
|||||||
description: The name of the device.
|
description: The name of the device.
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
suggested_area:
|
||||||
|
description: 'Suggest an area if the device isn’t in one yet.'
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
sw_version:
|
sw_version:
|
||||||
description: The firmware version of the device.
|
description: The firmware version of the device.
|
||||||
required: false
|
required: false
|
||||||
@ -93,6 +101,10 @@ device:
|
|||||||
description: 'Identifier of a device that routes messages between this device and Home Assistant. Examples of such devices are hubs, or parent devices of a sub-device. This is used to show device topology in Home Assistant.'
|
description: 'Identifier of a device that routes messages between this device and Home Assistant. Examples of such devices are hubs, or parent devices of a sub-device. This is used to show device topology in Home Assistant.'
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
icon:
|
||||||
|
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
|
||||||
|
required: false
|
||||||
|
type: icon
|
||||||
json_attributes_template:
|
json_attributes_template:
|
||||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
||||||
required: false
|
required: false
|
||||||
@ -111,6 +123,10 @@ optimistic:
|
|||||||
required: false
|
required: false
|
||||||
type: boolean
|
type: boolean
|
||||||
default: "`true` if no state topic defined, else `false`."
|
default: "`true` if no state topic defined, else `false`."
|
||||||
|
oscillation_command_template:
|
||||||
|
description: Defines a [template](/docs/configuration/templating/#processing-incoming-data) to generate the payload to send to `oscillation_command_topic`.
|
||||||
|
required: false
|
||||||
|
type: template
|
||||||
oscillation_command_topic:
|
oscillation_command_topic:
|
||||||
description: The MQTT topic to publish commands to change the oscillation state.
|
description: The MQTT topic to publish commands to change the oscillation state.
|
||||||
required: false
|
required: false
|
||||||
@ -128,21 +144,6 @@ payload_available:
|
|||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
default: online
|
default: online
|
||||||
payload_high_speed:
|
|
||||||
description: The payload that represents the fan's high speed.
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
default: high
|
|
||||||
payload_low_speed:
|
|
||||||
description: The payload that represents the fan's low speed.
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
default: low
|
|
||||||
payload_medium_speed:
|
|
||||||
description: The payload that represents the fan's medium speed.
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
default: medium
|
|
||||||
payload_not_available:
|
payload_not_available:
|
||||||
description: The payload that represents the unavailable state.
|
description: The payload that represents the unavailable state.
|
||||||
required: false
|
required: false
|
||||||
@ -168,6 +169,43 @@ payload_oscillation_on:
|
|||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
default: oscillate_on
|
default: oscillate_on
|
||||||
|
percentage_command_template:
|
||||||
|
description: Defines a [template](/docs/configuration/templating/#processing-incoming-data) to generate the payload to send to `percentage_command_topic`.
|
||||||
|
required: false
|
||||||
|
type: template
|
||||||
|
percentage_command_topic:
|
||||||
|
description: The MQTT topic to publish commands to change the fan speed state based on a percentage.
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
percentage_state_topic:
|
||||||
|
description: The MQTT topic subscribed to receive fan speed based on percentage.
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
percentage_value_template:
|
||||||
|
description: Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from fan percentage speed.
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
preset_mode_command_template:
|
||||||
|
description: Defines a [template](/docs/configuration/templating/#processing-incoming-data) to generate the payload to send to `preset_mode_command_topic`.
|
||||||
|
required: false
|
||||||
|
type: template
|
||||||
|
preset_mode_command_topic:
|
||||||
|
description: The MQTT topic to publish commands to change the preset mode.
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
preset_mode_state_topic:
|
||||||
|
description: The MQTT topic to publish commands to change the preset mode.
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
preset_mode_value_template:
|
||||||
|
description: Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the preset_mode payload.
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
preset_modes:
|
||||||
|
description: List of preset modes this fan is capable of running at. Common examples include `auto`, `smart`, `whoosh`, `eco` and `breeze`.
|
||||||
|
required: false
|
||||||
|
type: [list]
|
||||||
|
default: []
|
||||||
qos:
|
qos:
|
||||||
description: The maximum QoS level of the state topic.
|
description: The maximum QoS level of the state topic.
|
||||||
required: false
|
required: false
|
||||||
@ -178,22 +216,16 @@ retain:
|
|||||||
required: false
|
required: false
|
||||||
type: boolean
|
type: boolean
|
||||||
default: true
|
default: true
|
||||||
speed_command_topic:
|
speed_range_min:
|
||||||
description: The MQTT topic to publish commands to change speed state.
|
description: The minimum of numeric output range (`off` not included, so `speed_range_min` - 1 represents 0%).
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: integer
|
||||||
speed_state_topic:
|
default: 1
|
||||||
description: The MQTT topic subscribed to receive speed state updates.
|
speed_range_max:
|
||||||
|
description: The maximum of numeric output range (representing 100%).
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: integer
|
||||||
speed_value_template:
|
default: 100
|
||||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the speed payload."
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
speeds:
|
|
||||||
description: "List of speeds this fan is capable of running at. Valid entries are `off`, `low`, `medium` and `high`."
|
|
||||||
required: false
|
|
||||||
type: [string, list]
|
|
||||||
state_topic:
|
state_topic:
|
||||||
description: The MQTT topic subscribed to receive state updates.
|
description: The MQTT topic subscribed to receive state updates.
|
||||||
required: false
|
required: false
|
||||||
@ -220,10 +252,10 @@ In this section you find some real-life examples of how to use this fan.
|
|||||||
|
|
||||||
### Full configuration
|
### Full configuration
|
||||||
|
|
||||||
The example below shows a full configuration for a MQTT fan.
|
The example below shows a full configuration for a MQTT fan using percentage and preset modes.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Example configuration.yaml entry
|
# Example using percentage based speeds with preset modes configuration.yaml
|
||||||
fan:
|
fan:
|
||||||
- platform: mqtt
|
- platform: mqtt
|
||||||
name: "Bedroom Fan"
|
name: "Bedroom Fan"
|
||||||
@ -231,19 +263,49 @@ fan:
|
|||||||
command_topic: "bedroom_fan/on/set"
|
command_topic: "bedroom_fan/on/set"
|
||||||
oscillation_state_topic: "bedroom_fan/oscillation/state"
|
oscillation_state_topic: "bedroom_fan/oscillation/state"
|
||||||
oscillation_command_topic: "bedroom_fan/oscillation/set"
|
oscillation_command_topic: "bedroom_fan/oscillation/set"
|
||||||
speed_state_topic: "bedroom_fan/speed/state"
|
percentage_state_topic: "bedroom_fan/speed/percentage_state"
|
||||||
speed_command_topic: "bedroom_fan/speed/set"
|
percentage_command_topic: "bedroom_fan/speed/percentage"
|
||||||
|
preset_mode_state_topic: "bedroom_fan/speed/preset_mode_state"
|
||||||
|
preset_mode_command_topic: "bedroom_fan/speed/preset_mode"
|
||||||
|
preset_modes:
|
||||||
|
- "auto"
|
||||||
|
- "smart"
|
||||||
|
- "whoosh"
|
||||||
|
- "eco"
|
||||||
|
- "breeze"
|
||||||
qos: 0
|
qos: 0
|
||||||
payload_on: "true"
|
payload_on: "true"
|
||||||
payload_off: "false"
|
payload_off: "false"
|
||||||
payload_oscillation_on: "true"
|
payload_oscillation_on: "true"
|
||||||
payload_oscillation_off: "false"
|
payload_oscillation_off: "false"
|
||||||
payload_low_speed: "low"
|
speed_range_min: 1
|
||||||
payload_medium_speed: "medium"
|
speed_range_max: 100
|
||||||
payload_high_speed: "high"
|
|
||||||
speeds:
|
|
||||||
- "off"
|
|
||||||
- low
|
|
||||||
- medium
|
|
||||||
- high
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
{% raw %}}
|
||||||
|
|
||||||
|
This example demonstrates how to use command templates with JSON output.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# Example configuration.yaml
|
||||||
|
# Example using command templates
|
||||||
|
fan:
|
||||||
|
- platform: mqtt
|
||||||
|
name: "Bedroom Fan"
|
||||||
|
command_topic: "bedroom_fan/on/set"
|
||||||
|
command_template: "{ state: '{{ value }}'}"
|
||||||
|
oscillation_command_topic: "bedroom_fan/oscillation/set"
|
||||||
|
oscillation_command_template: "{ oscillation: '{{ value }}'}"
|
||||||
|
percentage_command_topic: "bedroom_fan/speed/percentage"
|
||||||
|
percentage_command_template: "{ percentage: '{{ value }}'}"
|
||||||
|
preset_mode_command_topic: "bedroom_fan/speed/preset_mode"
|
||||||
|
preset_mode_command_template: "{ preset_mode: '{{ value }}'}"
|
||||||
|
preset_modes:
|
||||||
|
- "auto"
|
||||||
|
- "smart"
|
||||||
|
- "whoosh"
|
||||||
|
- "eco"
|
||||||
|
- "breeze"
|
||||||
|
```
|
||||||
|
|
||||||
|
{% endraw %}
|
@ -17,6 +17,7 @@ ha_platforms:
|
|||||||
- device_tracker
|
- device_tracker
|
||||||
- sensor
|
- sensor
|
||||||
- switch
|
- switch
|
||||||
|
ha_zeroconf: true
|
||||||
---
|
---
|
||||||
|
|
||||||
The `freebox` integration allows you to observe and control [Freebox router](https://www.free.fr/).
|
The `freebox` integration allows you to observe and control [Freebox router](https://www.free.fr/).
|
||||||
|
@ -13,6 +13,7 @@ ha_config_flow: true
|
|||||||
ha_homekit: true
|
ha_homekit: true
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- cover
|
- cover
|
||||||
|
- sensor
|
||||||
---
|
---
|
||||||
|
|
||||||
The `gogogate2` cover platform lets you control Gogogate2 and iSmartGate enabled garage doors and gates through Home Assistant. Device names in Home Assistant are generated based on the names defined in the GogoGate2 or iSmartGate mobile app.
|
The `gogogate2` cover platform lets you control Gogogate2 and iSmartGate enabled garage doors and gates through Home Assistant. Device names in Home Assistant are generated based on the names defined in the GogoGate2 or iSmartGate mobile app.
|
||||||
|
@ -29,6 +29,11 @@ port:
|
|||||||
required: false
|
required: false
|
||||||
type: integer
|
type: integer
|
||||||
default: 2003
|
default: 2003
|
||||||
|
protocol:
|
||||||
|
description: "Type of communication protocol: `tcp` or `udp`."
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
default: tcp
|
||||||
prefix:
|
prefix:
|
||||||
description: Prefix is the metric prefix in graphite.
|
description: Prefix is the metric prefix in graphite.
|
||||||
required: false
|
required: false
|
||||||
|
@ -1,53 +0,0 @@
|
|||||||
---
|
|
||||||
title: Griddy Power
|
|
||||||
description: Instructions on how to integrate griddy real-time electricity prices into Home Assistant.
|
|
||||||
ha_category:
|
|
||||||
- Energy
|
|
||||||
- Sensor
|
|
||||||
ha_release: 0.107
|
|
||||||
ha_iot_class: Cloud Polling
|
|
||||||
ha_config_flow: true
|
|
||||||
ha_codeowners:
|
|
||||||
- '@bdraco'
|
|
||||||
ha_domain: griddy
|
|
||||||
ha_platforms:
|
|
||||||
- sensor
|
|
||||||
---
|
|
||||||
|
|
||||||
The `griddy` integration allows you to integrate your [Griddy](https://griddy.com/) price data into Home Assistant.
|
|
||||||
|
|
||||||
There is currently support for the following device types within Home Assistant:
|
|
||||||
|
|
||||||
- Sensor
|
|
||||||
|
|
||||||
## Prerequisites
|
|
||||||
|
|
||||||
You will need your Griddy Load Zone to use this module.
|
|
||||||
|
|
||||||
{% include integrations/config_flow.md %}
|
|
||||||
|
|
||||||
### Sensor
|
|
||||||
|
|
||||||
The current price for the Load Zone will appear as a sensor:
|
|
||||||
|
|
||||||
- LZ_XXXXX Price Now
|
|
||||||
|
|
||||||
### Example Automation
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
- id: '1572630019168'
|
|
||||||
alias: "Stop Tesla Charging if Power Price Spikes"
|
|
||||||
description: ""
|
|
||||||
trigger:
|
|
||||||
- above: '30'
|
|
||||||
entity_id: sensor.lz_houston_price_now
|
|
||||||
platform: numeric_state
|
|
||||||
condition:
|
|
||||||
- condition: zone
|
|
||||||
entity_id: device_tracker.my_tesla
|
|
||||||
zone: zone.home
|
|
||||||
action:
|
|
||||||
- service: switch.turn_off
|
|
||||||
target:
|
|
||||||
entity_id: switch.my_tesla_charger_switch
|
|
||||||
```
|
|
@ -6,8 +6,6 @@ ha_category:
|
|||||||
ha_release: 0.23
|
ha_release: 0.23
|
||||||
ha_iot_class: Local Push
|
ha_iot_class: Local Push
|
||||||
ha_domain: hdmi_cec
|
ha_domain: hdmi_cec
|
||||||
ha_codeowners:
|
|
||||||
- '@newAM'
|
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- switch
|
- switch
|
||||||
---
|
---
|
||||||
|
@ -22,37 +22,23 @@ ha_platforms:
|
|||||||
- sensor
|
- sensor
|
||||||
- switch
|
- switch
|
||||||
- water_heater
|
- water_heater
|
||||||
|
ha_config_flow: true
|
||||||
---
|
---
|
||||||
|
|
||||||
The `hive` integration is the main integration to set up and integrate all supported Hive devices. Once configured with the minimum required details it will detect and add all Hive devices into Home Assistant, including support for multi-zone heating.
|
The Hive integration for Home Assistant allows you to interact with supported devices and services offered by
|
||||||
|
[hivehome.com](https://www.hivehome.com)
|
||||||
|
|
||||||
This integration uses the Hive website [https://my.hivehome.com](https://my.hivehome.com) credentials, you will need to use the same username and password you use on the Hive website to configure this Hive integration in Home Assistant.
|
This Hive integration uses the same username and password you use on the [Hive website](https://sso.hivehome.com) to configure it within Home Assistant, 2FA authentication is also supported. Once configured Home Assistant will detect and add all Hive devices, including support for multi-zone heating.
|
||||||
|
|
||||||
To add your Hive devices into your Home Assistant installation, add the following to your `configuration.yaml` file:
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
```yaml
|
|
||||||
# Example configuration.yaml entry
|
|
||||||
hive:
|
|
||||||
username: YOUR_USERNAME
|
|
||||||
password: YOUR_PASSWORD
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
## Options
|
||||||
username:
|
|
||||||
description: Your username from [https://my.hivehome.com](https://my.hivehome.com).
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
password:
|
|
||||||
description: Your password from [https://my.hivehome.com](https://my.hivehome.com).
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
scan_interval:
|
|
||||||
description: The time in minutes between Hive API calls
|
|
||||||
required: false
|
|
||||||
type: integer
|
|
||||||
default: 2
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
|
Menu: *Configuration* > *Integrations* > *Select your new integration* > *Press the options button*
|
||||||
|
|
||||||
|
- **Scan Interval**: Update the scan interval allowing the integration to poll for data more frequently (Cannot be set lower than 30 seconds).
|
||||||
|
|
||||||
## Services
|
## Services
|
||||||
|
|
||||||
### Service `hive.boost_heating`
|
### Service `hive.boost_heating`
|
||||||
|
91
source/_integrations/home_plus_control.markdown
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
---
|
||||||
|
title: Legrand Home+ Control
|
||||||
|
description: Instructions on how to integrate Legrand Home+ Control into Home Assistant.
|
||||||
|
ha_category:
|
||||||
|
- Switch
|
||||||
|
ha_release: 2021.4
|
||||||
|
ha_iot_class: Cloud Polling
|
||||||
|
ha_codeowners:
|
||||||
|
- '@chemaaa'
|
||||||
|
ha_config_flow: true
|
||||||
|
ha_domain: home_plus_control
|
||||||
|
ha_platforms:
|
||||||
|
- switch
|
||||||
|
---
|
||||||
|
|
||||||
|
The Home+ Control integration platform allows you to control a range of Legrand in-wall switches and power outlets that have smart home functionality thanks to their "with Netatmo" capabilities.
|
||||||
|
|
||||||
|
This integration works against the Home+ Control API, which is one of the many APIs offered through the [*Works with Legrand*](https://developer.legrand.com/) program. The API is capable of managing "Legrand/Btcino with Netatmo" devices, such as light switches, power outlets and rolling shutters.
|
||||||
|
|
||||||
|
The devices that this API can manage are offered in different designs across different countries. The details of these can be found [here](https://developer.legrand.com/solutions/wiring-devices-with-netatmo/).
|
||||||
|
|
||||||
|
This Home+ Control integration for Home Assistant currently has support for the following devices:
|
||||||
|
- Light switches
|
||||||
|
- Power outlets
|
||||||
|
|
||||||
|
In both cases, the devices are modeled as on/off switches within Home Assistant.
|
||||||
|
|
||||||
|
This integration has been tested to work with the following range of Legrand products:
|
||||||
|
- Valena Next™ with Netatmo
|
||||||
|
|
||||||
|
|
||||||
|
## Authentication
|
||||||
|
|
||||||
|
Before you are able to configure the Legrand Home + Control integration into Home Assistant, you must register with the *Works with Legrand* platform.
|
||||||
|
|
||||||
|
These Legrand APIs rely on Oauth2 authentication, so you must follow these steps to obtain the necessary authentication parameters:
|
||||||
|
|
||||||
|
1. Register an account at <https://developer.legrand.com>.
|
||||||
|
2. Create a subscription to the *Starter Kit* (currently the only subscription available) and this will generate your `SUBSCRIPTION_KEY`.
|
||||||
|
3. Register an application, where you will have to define a name, a redirect URL and the scopes of your application. When selecting the scopes, be sure to include all of the `.read` scopes, as well as the `light.write` and `plug.write` scopes to be able to control these modules from the integration.
|
||||||
|
|
||||||
|
Once the registered application is confirmed, you should receive an email containing the `CLIENT_IDENTIFIER` and the `CLIENT_SECRET` which you will be using to set up the authentication flows. The application confirmation email is usually received within a few hours of having issued the request.
|
||||||
|
|
||||||
|
Finally, to set up Oauth2 authentication in Home Assistant you should add the following information to your `configuration.yaml` file:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# Example configuration.yaml entry
|
||||||
|
home_plus_control:
|
||||||
|
client_id: CLIENT_IDENTIFIER
|
||||||
|
client_secret: CLIENT_SECRET
|
||||||
|
subscription_key: SUBSCRIPTION_KEY
|
||||||
|
```
|
||||||
|
|
||||||
|
{% configuration %}
|
||||||
|
client_id:
|
||||||
|
description: Client identifier for your registered application on the *Works with Legrand* platform. Received via email.
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
client_secret:
|
||||||
|
description: Client secret for your registered application on the *Works with Legrand* platform. Received via email.
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
subscription_key:
|
||||||
|
description: Subscription identifier for your registered account on the *Works with Legrand* platform. Provided upon registration.
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
{% endconfiguration %}
|
||||||
|
|
||||||
|
|
||||||
|
At this point, you are now ready to add the Home+ Control integration to your Home Assistant instance as described in the [Configuration](#configuration) section.
|
||||||
|
|
||||||
|
|
||||||
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
|
|
||||||
|
## API Nomenclature
|
||||||
|
|
||||||
|
Within the context of the Home+ Control API you may come across the following terms:
|
||||||
|
|
||||||
|
* *Plant*: This is the term used to represent a *home* that holds the Legrand devices. In practice, a *plant* is represented by the *Legrand Home+ Control* gateway that acts as the central hub of the rest of the devices in the home network (uses Zigbee).
|
||||||
|
* *Module*: This is the term used to represent a generic device within the *plant*, i.e., a light, a plug, a remote, etc.
|
||||||
|
* *Light*: This is the term used to represent a light switch (or a micro-module). It is not modeled as your usual light entity because there are no brightness, color, etc. controls. It is modeled as an on/off switch.
|
||||||
|
* *Plug*: This is the term used to represent a power outlet.
|
||||||
|
|
||||||
|
Other devices that are mentioned in the API, but that are not currently supported by this integration are: *remotes* (wireless switches), *heaters* and *automations*.
|
||||||
|
|
||||||
|
## API Limitations
|
||||||
|
|
||||||
|
As described in the [authentication](#authentication) section, this integration requires you to set up a subscription in the *Works with Legrand* platform.
|
||||||
|
|
||||||
|
Currently, end-users only have access to the *Starter Kit* subscription which has a major limitation in the number of allowed API requests that are allowed - only 500 API calls per day (counter is reset at 00:00 every day). If this daily quota is ever exceeded, the API will report `403 Forbidden` HTTP responses.
|
@ -21,6 +21,16 @@ The `homeassistant` integration provides services for controlling Home Assistant
|
|||||||
|
|
||||||
Reads the configuration files and checks them for correctness, but **does not** load them into Home Assistant. Creates a persistent notification and log entry if errors are found.
|
Reads the configuration files and checks them for correctness, but **does not** load them into Home Assistant. Creates a persistent notification and log entry if errors are found.
|
||||||
|
|
||||||
|
### Service `homeassistant.reload_config_entry`
|
||||||
|
|
||||||
|
Reloads an integration config entry.
|
||||||
|
|
||||||
|
| Service data attribute | Description |
|
||||||
|
|---------------------------|-------------------------------------------------------|
|
||||||
|
| `entity_id` | List of entity ids used to reference a config entry. |
|
||||||
|
| `area_id` | List of area ids used to reference a config entry. |
|
||||||
|
| `device_id` | List of device ids used to reference a config entry. |
|
||||||
|
|
||||||
### Service `homeassistant.reload_core_config`
|
### Service `homeassistant.reload_core_config`
|
||||||
|
|
||||||
Reloads the core configuration under `homeassistant:` and all linked files. Once loaded the new configuration is applied. New `customize:` information will be applied the next time the state of the entity gets updated.
|
Reloads the core configuration under `homeassistant:` and all linked files. Once loaded the new configuration is applied. New `customize:` information will be applied the next time the state of the entity gets updated.
|
||||||
|
@ -57,7 +57,7 @@ homekit:
|
|||||||
linked_battery_sensor: sensor.living_room_motion_battery
|
linked_battery_sensor: sensor.living_room_motion_battery
|
||||||
low_battery_threshold: 31
|
low_battery_threshold: 31
|
||||||
light.kitchen_table:
|
light.kitchen_table:
|
||||||
name: "Kitchen Table Light"
|
name: Kitchen Table Light
|
||||||
lock.front_door:
|
lock.front_door:
|
||||||
code: 1234
|
code: 1234
|
||||||
media_player.living_room:
|
media_player.living_room:
|
||||||
@ -69,9 +69,9 @@ homekit:
|
|||||||
switch.bedroom_outlet:
|
switch.bedroom_outlet:
|
||||||
type: outlet
|
type: outlet
|
||||||
camera.back_porch:
|
camera.back_porch:
|
||||||
support_audio: true
|
support_audio: True
|
||||||
- name: "HASS Bridge 2"
|
- name: HASS Bridge 2
|
||||||
port: 56332
|
port: 21065
|
||||||
filter:
|
filter:
|
||||||
include_domains:
|
include_domains:
|
||||||
- light
|
- light
|
||||||
@ -83,16 +83,11 @@ homekit:
|
|||||||
required: true
|
required: true
|
||||||
type: map
|
type: map
|
||||||
keys:
|
keys:
|
||||||
auto_start:
|
|
||||||
description: Flag if the HomeKit Server should start automatically after the Home Assistant Core Setup is done. ([Disable Auto Start](#disable-auto-start))
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: true
|
|
||||||
port:
|
port:
|
||||||
description: Port for the HomeKit extension. If you are adding more than one instance they need to have different values for port.
|
description: Port for the HomeKit extension. If you are adding more than one instance they need to have different values for port.
|
||||||
required: false
|
required: false
|
||||||
type: integer
|
type: integer
|
||||||
default: 51827
|
default: 21063
|
||||||
name:
|
name:
|
||||||
description: Need to be individual for each instance of Home Assistant using the integration on the same local network. Between `3` and `25` characters. Alphanumeric and spaces allowed.
|
description: Need to be individual for each instance of Home Assistant using the integration on the same local network. Between `3` and `25` characters. Alphanumeric and spaces allowed.
|
||||||
required: false
|
required: false
|
||||||
@ -304,12 +299,6 @@ Currently, this integration uses the `entity_id` to generate a unique `accessory
|
|||||||
|
|
||||||
The HomeKit Accessory Protocol Specification only allows a maximum of 150 unique accessories (`aid`) per bridge. Be mindful of this when configuring the filter(s). If you plan on exceeding the 150 devices limit, it is possible to create multiple bridges. If you need specific configuration for some entities via `entity_config` be sure to add them to a bridge configured via `YAML`.
|
The HomeKit Accessory Protocol Specification only allows a maximum of 150 unique accessories (`aid`) per bridge. Be mindful of this when configuring the filter(s). If you plan on exceeding the 150 devices limit, it is possible to create multiple bridges. If you need specific configuration for some entities via `entity_config` be sure to add them to a bridge configured via `YAML`.
|
||||||
|
|
||||||
### Persistence Storage
|
|
||||||
|
|
||||||
Unfortunately, `HomeKit` doesn't support any persistent storage - only the configuration for accessories that are added to the `Home Assistant Bridge` are kept. To avoid problems, it is recommended to use an automation to always start `HomeKit` with at least the same entities setup. If, for some reason, some entities are not set up, their configuration will be deleted. (State unknown or similar will not cause any issues.)
|
|
||||||
|
|
||||||
A common situation might be if you decide to disable parts of the configuration for testing. Please make sure to disable `auto start` and `turn off` the `Start HomeKit` automation (if you have one).
|
|
||||||
|
|
||||||
### Multiple HomeKit instances
|
### Multiple HomeKit instances
|
||||||
|
|
||||||
If you create a HomeKit integration via the UI (i.e., **Configuration** >> **Integrations**), it must be configured via the UI **only**. While the UI only offers limited configuration options at the moment, any attempt to configure a HomeKit instance created in the UI via the `configuration.yaml` file will result in another instance of HomeKit running on a different port.
|
If you create a HomeKit integration via the UI (i.e., **Configuration** >> **Integrations**), it must be configured via the UI **only**. While the UI only offers limited configuration options at the moment, any attempt to configure a HomeKit instance created in the UI via the `configuration.yaml` file will result in another instance of HomeKit running on a different port.
|
||||||
@ -318,7 +307,7 @@ It is recommended to only edit a HomeKit instance in the UI that was created in
|
|||||||
|
|
||||||
### Accessory mode
|
### Accessory mode
|
||||||
|
|
||||||
When exposing a Camera or Television media player (a `media_player` with device class `tv`) to HomeKit, `mode` must be set to `accessory`, and the include filter should be setup to only include a single entity.
|
When exposing a Camera, Activity based remote (a `remote` that supports activities), Lock, or Television media player (a `media_player` with device class `tv`) to HomeKit, `mode` must be set to `accessory`, and the include filter should be setup to only include a single entity.
|
||||||
|
|
||||||
To quickly add all accessory modes entities in the UI:
|
To quickly add all accessory modes entities in the UI:
|
||||||
|
|
||||||
@ -338,10 +327,6 @@ To add a single entity in accessory mode:
|
|||||||
5. Complete the options flow
|
5. Complete the options flow
|
||||||
6. [Pair the accessory](#setup).
|
6. [Pair the accessory](#setup).
|
||||||
|
|
||||||
## Disable Auto Start
|
|
||||||
|
|
||||||
It is not needed (anymore) to disable `Auto Start` for all accessories to be available for `HomeKit` as Home Assistant restores all entities on start instantly.
|
|
||||||
|
|
||||||
## Configure Filter
|
## Configure Filter
|
||||||
|
|
||||||
By default, no entity will be excluded. To limit which entities are being exposed to `HomeKit`, you can use the `filter` parameter. Keep in mind only [supported components](#supported-components) can be added.
|
By default, no entity will be excluded. To limit which entities are being exposed to `HomeKit`, you can use the `filter` parameter. Keep in mind only [supported components](#supported-components) can be added.
|
||||||
@ -397,7 +382,7 @@ Restart your Home Assistant instance. This feature requires running an mDNS forw
|
|||||||
If you have a firewall configured on your Home Assistant system, make sure you open the following ports:
|
If you have a firewall configured on your Home Assistant system, make sure you open the following ports:
|
||||||
|
|
||||||
- UDP: 5353
|
- UDP: 5353
|
||||||
- TCP: 51827 (or the configured/used `port` in the integration settings).
|
- TCP: 21063 (or the configured/used `port` in the integration settings).
|
||||||
|
|
||||||
## Supported Components
|
## Supported Components
|
||||||
|
|
||||||
@ -555,10 +540,6 @@ Pairing works fine when the filter is set to only include `demo.demo`, but fails
|
|||||||
|
|
||||||
### Issues during normal use
|
### Issues during normal use
|
||||||
|
|
||||||
#### Some of my devices don't show up - Z-Wave / Discovery
|
|
||||||
|
|
||||||
See [disable auto start](#disable-auto-start)
|
|
||||||
|
|
||||||
#### My entity doesn't show up
|
#### My entity doesn't show up
|
||||||
|
|
||||||
Check if the domain of your entity is [supported](#supported-components). If it is, check your [filter](#configure-filter) settings. Make sure the spelling is correct, especially if you use `include_entities`.
|
Check if the domain of your entity is [supported](#supported-components). If it is, check your [filter](#configure-filter) settings. Make sure the spelling is correct, especially if you use `include_entities`.
|
||||||
|
@ -14,8 +14,6 @@ ha_iot_class: Cloud Push
|
|||||||
ha_release: 0.66
|
ha_release: 0.66
|
||||||
ha_config_flow: true
|
ha_config_flow: true
|
||||||
ha_quality_scale: platinum
|
ha_quality_scale: platinum
|
||||||
ha_codeowners:
|
|
||||||
- '@SukramJ'
|
|
||||||
ha_domain: homematicip_cloud
|
ha_domain: homematicip_cloud
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- alarm_control_panel
|
- alarm_control_panel
|
||||||
|
@ -32,8 +32,9 @@ All configuration options are offered from the frontend. Choose `Options` under
|
|||||||
relevant entry on the `Integrations` page.
|
relevant entry on the `Integrations` page.
|
||||||
|
|
||||||
Options supported:
|
Options supported:
|
||||||
- **priority**: The priority for color and effects, make sure this is lower then the streaming sources priority in hyperion itself (typically lower than 200 is appropriate).
|
- **Priority**: The priority for color and effects, make sure this is lower then the streaming sources priority in hyperion itself (typically lower than 200 is appropriate).
|
||||||
|
- **Effects to hide**: An optional selection of effects to hide from the light effects
|
||||||
|
list. New effects added to the Hyperion server will be shown by default.
|
||||||
## Hyperion Instances
|
## Hyperion Instances
|
||||||
|
|
||||||
This integration supports multiple Hyperion instances running on a single Hyperion
|
This integration supports multiple Hyperion instances running on a single Hyperion
|
||||||
|
@ -122,3 +122,23 @@ logger:
|
|||||||
```
|
```
|
||||||
|
|
||||||
This will help you to find network connection issues etc.
|
This will help you to find network connection issues etc.
|
||||||
|
|
||||||
|
## Services
|
||||||
|
|
||||||
|
### Service `izone.airflow_min`
|
||||||
|
|
||||||
|
Set the minimum airflow for a particular zone.
|
||||||
|
|
||||||
|
| Service data attribute | Optional | Description |
|
||||||
|
| ---------------------- | -------- | ----------- |
|
||||||
|
| `entity_id` | yes | izone Zone entity. For example `climate.bed_2`
|
||||||
|
| `airflow` | no | Airflow percent in 5% increments
|
||||||
|
|
||||||
|
### Service `izone.airflow_max`
|
||||||
|
|
||||||
|
Set the maximum airflow for a particular zone.
|
||||||
|
|
||||||
|
| Service data attribute | Optional | Description |
|
||||||
|
| ---------------------- | -------- | ----------- |
|
||||||
|
| `entity_id` | yes | izone Zone entity. For example `climate.bed_2`
|
||||||
|
| `airflow` | no | Airflow percent in 5% increments
|
||||||
|
@ -58,13 +58,13 @@ There is currently support for the following device types within Home Assistant:
|
|||||||
|
|
||||||
## Basic Configuration
|
## Basic Configuration
|
||||||
|
|
||||||
To use your KNX bus in your installation, add the following lines to your `configuration.yaml` file:
|
To use your KNX devices from Home Assistant, add the following lines to your `configuration.yaml` file:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
knx:
|
knx:
|
||||||
```
|
```
|
||||||
|
|
||||||
In order to make use of the various platforms that KNX offers you will need to add the relevant configuration sections to your setup. This could either all be in the Home Assistant main `configuration.yaml` file, or in a separate YAML file that you include in the main file or even be split into multiple dedicated files as shown below:
|
In order to make use of the various platforms that KNX offers you will need to add the relevant configuration sections to your setup. This could either all be in the Home Assistant main `configuration.yaml` file, or in a separate YAML file that you include in the main file or even be split into multiple dedicated files. See [Splitting up the configuration](/docs/configuration/splitting_configuration/).
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
knx:
|
knx:
|
||||||
@ -79,18 +79,7 @@ knx:
|
|||||||
|
|
||||||
Please see the dedicated platform sections below about how to configure them correctly.
|
Please see the dedicated platform sections below about how to configure them correctly.
|
||||||
|
|
||||||
Alternatively, if you want to use the [XKNX](https://xknx.io/) library abstraction (e.g., to re-use the configuration also for other scripted tools outside of Home Assistant):
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
knx:
|
|
||||||
config_file: "/path/to/xknx.yaml"
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
config_file:
|
|
||||||
description: The path for XKNX configuration file. See [xknx.io](https://xknx.io/configuration) for details.
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
individual_address:
|
individual_address:
|
||||||
description: The KNX individual address (IA) that shall be used for routing or if a tunneling server doesn't assign an IA at connection.
|
description: The KNX individual address (IA) that shall be used for routing or if a tunneling server doesn't assign an IA at connection.
|
||||||
required: false
|
required: false
|
||||||
@ -118,6 +107,33 @@ state_updater:
|
|||||||
type: boolean
|
type: boolean
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
|
### Group addresses
|
||||||
|
|
||||||
|
Group addresses are configured as strings or integers in the format "1/2/3" for 3-level GA-structure, "1/2" for 2-level GA-structure or "1" for free GA-structure.
|
||||||
|
|
||||||
|
The HA KNX integration uses configured `state_address` or `*_state_address` to update the state of a function. These addresses are read by GroupValueRead requests on startup and when there was no incoming telegram for one hour (default `sync_state`).
|
||||||
|
|
||||||
|
It is possible to configure passive/listening group addresses for all functions of every KNX platform (except `expose` and `notify`). This allows having multiple group addresses to update the state of its function (e.g., the brightness of a light). When group addresses are configured as a list of strings, the first item is the active sending or state-reading address and the rest is registered as passive addresses. This schema behaves like in ETS configuration where the first is the "sending" address and others are just for updating the communication object.
|
||||||
|
|
||||||
|
If your KNX device provides active state communication objects it is advised to use `*_state_address` instead of passive addresses as it reduces configuration complexity and avoids wrong states (e.g., when channels are logically locked).
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
knx:
|
||||||
|
switch:
|
||||||
|
- name: "Switch without passive addresses"
|
||||||
|
address: "1/1/1" # this is the address that will be sent to
|
||||||
|
state_address: "8/8/8" # this is the address GroupValueRead requests are sent to
|
||||||
|
- name: "Switch with passive addresses"
|
||||||
|
address:
|
||||||
|
- "1/1/1" # this is the address that will be sent to
|
||||||
|
- "1/1/2" # this and following are passive addresses
|
||||||
|
- "1/1/3"
|
||||||
|
state_address:
|
||||||
|
- "8/8/8" # this is the address GroupValueRead requests are sent to
|
||||||
|
- "8/8/2" # this and following are passive addresses
|
||||||
|
- "8/8/3"
|
||||||
|
```
|
||||||
|
|
||||||
## Connection
|
## Connection
|
||||||
|
|
||||||
Under normal conditions no connection configuration should be needed. The integration will auto-detect KNX/IP interfaces and connect to one. This requires multicast communication to work in your environment.
|
Under normal conditions no connection configuration should be needed. The integration will auto-detect KNX/IP interfaces and connect to one. This requires multicast communication to work in your environment.
|
||||||
@ -145,6 +161,11 @@ local_ip:
|
|||||||
description: IP address of the local interface.
|
description: IP address of the local interface.
|
||||||
type: string
|
type: string
|
||||||
required: false
|
required: false
|
||||||
|
route_back:
|
||||||
|
description: When True the KNXnet/IP Server shall use the IP address and the port number from the IP package received as the target IP address or port number for the response to the KNXnet/IP Client (for NAT / Docker).
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
required: false
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
### Routing
|
### Routing
|
||||||
@ -267,7 +288,7 @@ The `knx.event_register` service can be used to register (or unregister) group a
|
|||||||
address:
|
address:
|
||||||
description: Group address that shall be added or removed.
|
description: Group address that shall be added or removed.
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: [string, list]
|
||||||
remove:
|
remove:
|
||||||
description: If `True` the group address will be removed.
|
description: If `True` the group address will be removed.
|
||||||
required: false
|
required: false
|
||||||
@ -363,7 +384,7 @@ knx:
|
|||||||
state_address:
|
state_address:
|
||||||
description: KNX group address of the binary sensor. *DPT 1*
|
description: KNX group address of the binary sensor. *DPT 1*
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: [string, list]
|
||||||
name:
|
name:
|
||||||
description: A name for this device used within Home Assistant.
|
description: A name for this device used within Home Assistant.
|
||||||
required: false
|
required: false
|
||||||
@ -569,7 +590,7 @@ name:
|
|||||||
temperature_address:
|
temperature_address:
|
||||||
description: KNX group address for reading current room temperature from KNX bus. *DPT 9.001*
|
description: KNX group address for reading current room temperature from KNX bus. *DPT 9.001*
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: [string, list]
|
||||||
temperature_step:
|
temperature_step:
|
||||||
description: Defines the step size in Kelvin for each step of setpoint_shift.
|
description: Defines the step size in Kelvin for each step of setpoint_shift.
|
||||||
required: false
|
required: false
|
||||||
@ -578,19 +599,19 @@ temperature_step:
|
|||||||
target_temperature_address:
|
target_temperature_address:
|
||||||
description: KNX group address for setting target temperature. *DPT 9.001*
|
description: KNX group address for setting target temperature. *DPT 9.001*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
target_temperature_state_address:
|
target_temperature_state_address:
|
||||||
description: KNX group address for reading current target temperature from KNX bus. *DPT 9.001*
|
description: KNX group address for reading current target temperature from KNX bus. *DPT 9.001*
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: [string, list]
|
||||||
setpoint_shift_address:
|
setpoint_shift_address:
|
||||||
description: KNX address for setpoint_shift. *DPT 6.010 or DPT 9.002 based on setpoint_shift_mode*
|
description: KNX address for setpoint_shift. *DPT 6.010 or DPT 9.002 based on setpoint_shift_mode*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
setpoint_shift_state_address:
|
setpoint_shift_state_address:
|
||||||
description: KNX address for reading setpoint_shift. *DPT 6.010 or DPT 9.002 based on setpoint_shift_mode*
|
description: KNX address for reading setpoint_shift. *DPT 6.010 or DPT 9.002 based on setpoint_shift_mode*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
setpoint_shift_mode:
|
setpoint_shift_mode:
|
||||||
description: Defines the internal device DPT used. Either 'DPT6010' or 'DPT9002'.
|
description: Defines the internal device DPT used. Either 'DPT6010' or 'DPT9002'.
|
||||||
required: false
|
required: false
|
||||||
@ -609,51 +630,51 @@ setpoint_shift_max:
|
|||||||
operation_mode_address:
|
operation_mode_address:
|
||||||
description: KNX address for setting operation mode (Frost protection/night/comfort). *DPT 20.102*
|
description: KNX address for setting operation mode (Frost protection/night/comfort). *DPT 20.102*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
operation_mode_state_address:
|
operation_mode_state_address:
|
||||||
description: KNX address for reading operation mode. *DPT 20.102*
|
description: KNX address for reading operation mode. *DPT 20.102*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
controller_status_address:
|
controller_status_address:
|
||||||
description: KNX address for HVAC controller status (in accordance with KNX AN 097/07 rev 3).
|
description: KNX address for HVAC controller status (in accordance with KNX AN 097/07 rev 3).
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
controller_status_state_address:
|
controller_status_state_address:
|
||||||
description: KNX address for reading HVAC controller status.
|
description: KNX address for reading HVAC controller status.
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
controller_mode_address:
|
controller_mode_address:
|
||||||
description: KNX address for setting HVAC controller modes. *DPT 20.105*
|
description: KNX address for setting HVAC controller modes. *DPT 20.105*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
controller_mode_state_address:
|
controller_mode_state_address:
|
||||||
description: KNX address for reading HVAC control mode. *DPT 20.105*
|
description: KNX address for reading HVAC control mode. *DPT 20.105*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
heat_cool_address:
|
heat_cool_address:
|
||||||
description: KNX address for switching between heat/cool mode. *DPT 1.100*
|
description: KNX address for switching between heat/cool mode. *DPT 1.100*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
heat_cool_state_address:
|
heat_cool_state_address:
|
||||||
description: KNX address for reading heat/cool mode. *DPT 1.100*
|
description: KNX address for reading heat/cool mode. *DPT 1.100*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
operation_mode_frost_protection_address:
|
operation_mode_frost_protection_address:
|
||||||
description: KNX address for switching on/off frost/heat protection mode. *DPT 1*
|
description: KNX address for switching on/off frost/heat protection mode. *DPT 1*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
operation_mode_night_address:
|
operation_mode_night_address:
|
||||||
description: KNX address for switching on/off night mode. *DPT 1*
|
description: KNX address for switching on/off night mode. *DPT 1*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
operation_mode_comfort_address:
|
operation_mode_comfort_address:
|
||||||
description: KNX address for switching on/off comfort mode. *DPT 1*
|
description: KNX address for switching on/off comfort mode. *DPT 1*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
operation_mode_standby_address:
|
operation_mode_standby_address:
|
||||||
description: KNX address for switching on/off standby mode. *DPT 1*
|
description: KNX address for switching on/off standby mode. *DPT 1*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
operation_modes:
|
operation_modes:
|
||||||
description: Overrides the supported operation modes. Provide the supported `preset_mode` values for your device.
|
description: Overrides the supported operation modes. Provide the supported `preset_mode` values for your device.
|
||||||
required: false
|
required: false
|
||||||
@ -665,7 +686,7 @@ controller_modes:
|
|||||||
on_off_address:
|
on_off_address:
|
||||||
description: KNX address for switching the climate device on/off. *DPT 1*
|
description: KNX address for switching the climate device on/off. *DPT 1*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
on_off_invert:
|
on_off_invert:
|
||||||
description: Value for switching the climate device on/off is inverted.
|
description: Value for switching the climate device on/off is inverted.
|
||||||
required: false
|
required: false
|
||||||
@ -674,7 +695,7 @@ on_off_invert:
|
|||||||
on_off_state_address:
|
on_off_state_address:
|
||||||
description: KNX address for gathering the current state (on/off) of the climate device. *DPT 1*
|
description: KNX address for gathering the current state (on/off) of the climate device. *DPT 1*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
min_temp:
|
min_temp:
|
||||||
description: Override the minimum temperature.
|
description: Override the minimum temperature.
|
||||||
required: false
|
required: false
|
||||||
@ -719,31 +740,31 @@ name:
|
|||||||
move_long_address:
|
move_long_address:
|
||||||
description: KNX group address for moving the cover full up or down. *DPT 1*
|
description: KNX group address for moving the cover full up or down. *DPT 1*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
move_short_address:
|
move_short_address:
|
||||||
description: KNX group address for moving the cover short time up or down. Used by some covers also as the means to stop the cover, if no dedicated `stop_address` exists on the actuator. *DPT 1*
|
description: KNX group address for moving the cover short time up or down. Used by some covers also as the means to stop the cover, if no dedicated `stop_address` exists on the actuator. *DPT 1*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
stop_address:
|
stop_address:
|
||||||
description: KNX group address for stopping the current movement from the cover. *DPT 1*
|
description: KNX group address for stopping the current movement from the cover. *DPT 1*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
position_address:
|
position_address:
|
||||||
description: KNX group address for moving the cover to the dedicated position. *DPT 5.001*
|
description: KNX group address for moving the cover to the dedicated position. *DPT 5.001*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
position_state_address:
|
position_state_address:
|
||||||
description: Separate KNX group address for requesting the current position of the cover. *DPT 5.001*
|
description: Separate KNX group address for requesting the current position of the cover. *DPT 5.001*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
angle_address:
|
angle_address:
|
||||||
description: KNX group address for moving the cover to the dedicated angle. *DPT 5.001*
|
description: KNX group address for moving the cover to the dedicated angle. *DPT 5.001*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
angle_state_address:
|
angle_state_address:
|
||||||
description: Separate KNX group address for requesting the current angle of cover. *DPT 5.001*
|
description: Separate KNX group address for requesting the current angle of cover. *DPT 5.001*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
travelling_time_down:
|
travelling_time_down:
|
||||||
description: Time cover needs to travel down in seconds. Needed to calculate the intermediate positions of cover while traveling.
|
description: Time cover needs to travel down in seconds. Needed to calculate the intermediate positions of cover while traveling.
|
||||||
required: false
|
required: false
|
||||||
@ -796,19 +817,19 @@ name:
|
|||||||
address:
|
address:
|
||||||
description: KNX group address for setting the percentage or step of the fan. *DPT 5.001* or *DPT 5.010*
|
description: KNX group address for setting the percentage or step of the fan. *DPT 5.001* or *DPT 5.010*
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: [string, list]
|
||||||
state_address:
|
state_address:
|
||||||
description: KNX group address for retrieving the percentage or step of the fan. *DPT 5.001* or *DPT 5.010*
|
description: KNX group address for retrieving the percentage or step of the fan. *DPT 5.001* or *DPT 5.010*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
oscillation_address:
|
oscillation_address:
|
||||||
description: KNX group address for switching the fan oscillation on or off. *DPT 1*
|
description: KNX group address for switching the fan oscillation on or off. *DPT 1*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
oscillation_state_address:
|
oscillation_state_address:
|
||||||
description: KNX group address for retrieving the state of the fan oscillation. *DPT 1*
|
description: KNX group address for retrieving the state of the fan oscillation. *DPT 1*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
max_step:
|
max_step:
|
||||||
description: The maximum amount of steps for a step-controlled fan. If set, the integration will convert percentages to steps automatically.
|
description: The maximum amount of steps for a step-controlled fan. If set, the integration will convert percentages to steps automatically.
|
||||||
required: false
|
required: false
|
||||||
@ -838,11 +859,11 @@ knx:
|
|||||||
address:
|
address:
|
||||||
description: KNX group address for switching the light on and off. *DPT 1.001*
|
description: KNX group address for switching the light on and off. *DPT 1.001*
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: [string, list]
|
||||||
state_address:
|
state_address:
|
||||||
description: KNX group address for retrieving the switch state of the light. *DPT 1.001*
|
description: KNX group address for retrieving the switch state of the light. *DPT 1.001*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
name:
|
name:
|
||||||
description: A name for this device used within Home Assistant.
|
description: A name for this device used within Home Assistant.
|
||||||
required: false
|
required: false
|
||||||
@ -850,27 +871,27 @@ name:
|
|||||||
brightness_address:
|
brightness_address:
|
||||||
description: KNX group address for setting the brightness of the light in percent (absolute dimming). *DPT 5.001*
|
description: KNX group address for setting the brightness of the light in percent (absolute dimming). *DPT 5.001*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
brightness_state_address:
|
brightness_state_address:
|
||||||
description: KNX group address for retrieving the brightness of the light in percent. *DPT 5.001*
|
description: KNX group address for retrieving the brightness of the light in percent. *DPT 5.001*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
color_address:
|
color_address:
|
||||||
description: KNX group address for setting the RGB color of the light. *DPT 232.600*
|
description: KNX group address for setting the RGB color of the light. *DPT 232.600*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
color_state_address:
|
color_state_address:
|
||||||
description: KNX group address for retrieving the RGB color of the light. *DPT 232.600*
|
description: KNX group address for retrieving the RGB color of the light. *DPT 232.600*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
rgbw_address:
|
rgbw_address:
|
||||||
description: KNX group address for setting the RGBW color of the light. *DPT 251.600*
|
description: KNX group address for setting the RGBW color of the light. *DPT 251.600*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
rgbw_state_address:
|
rgbw_state_address:
|
||||||
description: KNX group address for retrieving the RGBW color of the light. *DPT 251.600*
|
description: KNX group address for retrieving the RGBW color of the light. *DPT 251.600*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
individual_colors:
|
individual_colors:
|
||||||
description: Used when the actuator only supports individual group addresses for colors. When `address` is specified for all 3 (or 4) individual colors the root `address` key can be omitted.
|
description: Used when the actuator only supports individual group addresses for colors. When `address` is specified for all 3 (or 4) individual colors the root `address` key can be omitted.
|
||||||
required: false
|
required: false
|
||||||
@ -883,21 +904,19 @@ individual_colors:
|
|||||||
keys:
|
keys:
|
||||||
address:
|
address:
|
||||||
description: KNX group address to switch the red component. *DPT 1.001*
|
description: KNX group address to switch the red component. *DPT 1.001*
|
||||||
type: string
|
type: [string, list]
|
||||||
required: false
|
required: false
|
||||||
state_address:
|
state_address:
|
||||||
description: KNX group address for the state of the red component. *DPT 1.001*
|
description: KNX group address for the state of the red component. *DPT 1.001*
|
||||||
type: string
|
type: [string, list]
|
||||||
required: false
|
required: false
|
||||||
brightness_address:
|
brightness_address:
|
||||||
description: KNX group address to set the brightness of the red component. *DPT 5.001*
|
description: KNX group address to set the brightness of the red component. *DPT 5.001*
|
||||||
type: string
|
type: [string, list]
|
||||||
required: true
|
required: true
|
||||||
brightness_state_address:
|
brightness_state_address:
|
||||||
description: KNX group address for the current brightness of the red component. *DPT 5.001*
|
description: KNX group address for the current brightness of the red component. *DPT 5.001*
|
||||||
type: string
|
type: [string, list]
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
required: false
|
required: false
|
||||||
green:
|
green:
|
||||||
description: Group addresses for the green component. Same keys available as for red component above.
|
description: Group addresses for the green component. Same keys available as for red component above.
|
||||||
@ -914,11 +933,11 @@ individual_colors:
|
|||||||
color_temperature_address:
|
color_temperature_address:
|
||||||
description: KNX group address for setting the color temperature of the light. *DPT 5.001 or 7.600 based on color_temperature_mode*
|
description: KNX group address for setting the color temperature of the light. *DPT 5.001 or 7.600 based on color_temperature_mode*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
color_temperature_state_address:
|
color_temperature_state_address:
|
||||||
description: KNX group address for retrieving the color temperature of the light. *DPT 5.001 or 7.600 based on color_temperature_mode*
|
description: KNX group address for retrieving the color temperature of the light. *DPT 5.001 or 7.600 based on color_temperature_mode*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
color_temperature_mode:
|
color_temperature_mode:
|
||||||
description: Color temperature group address data type. `absolute` color temperature in Kelvin. *color_temperature_address -> DPT 7.600*. `relative` color temperature in percent cold white (0% warmest; 100% coldest). *color_temperature_address -> DPT 5.001*
|
description: Color temperature group address data type. `absolute` color temperature in Kelvin. *color_temperature_address -> DPT 7.600*. `relative` color temperature in percent cold white (0% warmest; 100% coldest). *color_temperature_address -> DPT 5.001*
|
||||||
required: false
|
required: false
|
||||||
@ -996,7 +1015,7 @@ knx:
|
|||||||
address:
|
address:
|
||||||
description: KNX group address of the notification. *DPT 16.000*
|
description: KNX group address of the notification. *DPT 16.000*
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: [string, list]
|
||||||
name:
|
name:
|
||||||
description: A name for this device used within Home Assistant.
|
description: A name for this device used within Home Assistant.
|
||||||
required: false
|
required: false
|
||||||
@ -1020,7 +1039,7 @@ knx:
|
|||||||
address:
|
address:
|
||||||
description: KNX group address for the scene. *DPT 17.001*
|
description: KNX group address for the scene. *DPT 17.001*
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: [string, list]
|
||||||
scene_number:
|
scene_number:
|
||||||
description: KNX scene number to be activated (range 1..64 ).
|
description: KNX scene number to be activated (range 1..64 ).
|
||||||
required: true
|
required: true
|
||||||
@ -1062,7 +1081,7 @@ knx:
|
|||||||
state_address:
|
state_address:
|
||||||
description: KNX group address of the sensor.
|
description: KNX group address of the sensor.
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: [string, list]
|
||||||
type:
|
type:
|
||||||
description: A type from the value types table below must be defined. The DPT of the group address should match the expected KNX DPT to be parsed correctly.
|
description: A type from the value types table below must be defined. The DPT of the group address should match the expected KNX DPT to be parsed correctly.
|
||||||
required: true
|
required: true
|
||||||
@ -1268,7 +1287,7 @@ knx:
|
|||||||
address:
|
address:
|
||||||
description: KNX group address for switching the switch on/off. *DPT 1*
|
description: KNX group address for switching the switch on/off. *DPT 1*
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: [string, list]
|
||||||
name:
|
name:
|
||||||
description: A name for this device used within Home Assistant.
|
description: A name for this device used within Home Assistant.
|
||||||
required: false
|
required: false
|
||||||
@ -1277,7 +1296,7 @@ name:
|
|||||||
state_address:
|
state_address:
|
||||||
description: Separate KNX group address for retrieving the switch state. *DPT 1*
|
description: Separate KNX group address for retrieving the switch state. *DPT 1*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
invert:
|
invert:
|
||||||
description: Invert the telegrams payload before processing or sending.
|
description: Invert the telegrams payload before processing or sending.
|
||||||
required: false
|
required: false
|
||||||
@ -1324,55 +1343,55 @@ name:
|
|||||||
address_temperature:
|
address_temperature:
|
||||||
description: KNX group address for reading current outside temperature from KNX bus. *DPT 9.001*
|
description: KNX group address for reading current outside temperature from KNX bus. *DPT 9.001*
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: [string, list]
|
||||||
address_brightness_south:
|
address_brightness_south:
|
||||||
description: KNX group address for reading current brightness to south coordinate from KNX bus. *DPT 9.004*
|
description: KNX group address for reading current brightness to south coordinate from KNX bus. *DPT 9.004*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
address_brightness_west:
|
address_brightness_west:
|
||||||
description: KNX group address for reading current brightness to west coordinate from KNX bus. *DPT 9.004*
|
description: KNX group address for reading current brightness to west coordinate from KNX bus. *DPT 9.004*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
address_brightness_east:
|
address_brightness_east:
|
||||||
description: KNX group address for reading current brightness to east coordinate from KNX bus. *DPT 9.004*
|
description: KNX group address for reading current brightness to east coordinate from KNX bus. *DPT 9.004*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
address_brightness_north:
|
address_brightness_north:
|
||||||
description: KNX group address for reading current brightness to north coordinate from KNX bus. *DPT 9.004*
|
description: KNX group address for reading current brightness to north coordinate from KNX bus. *DPT 9.004*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
address_wind_bearing:
|
address_wind_bearing:
|
||||||
description: KNX group address for reading current wind bearing from KNX bus. *DPT 5.003*
|
description: KNX group address for reading current wind bearing from KNX bus. *DPT 5.003*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
address_wind_speed:
|
address_wind_speed:
|
||||||
description: KNX group address for reading current wind speed from KNX bus. *DPT 9.005*
|
description: KNX group address for reading current wind speed from KNX bus. *DPT 9.005*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
address_rain_alarm:
|
address_rain_alarm:
|
||||||
description: KNX group address for reading if rain alarm is on/off.
|
description: KNX group address for reading if rain alarm is on/off.
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
address_frost_alarm:
|
address_frost_alarm:
|
||||||
description: KNX group address for reading if frost alarm is on/off.
|
description: KNX group address for reading if frost alarm is on/off.
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
address_wind_alarm:
|
address_wind_alarm:
|
||||||
description: KNX group address for reading if wind alarm is on/off.
|
description: KNX group address for reading if wind alarm is on/off.
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
address_day_night:
|
address_day_night:
|
||||||
description: KNX group address for reading if it's day/night.
|
description: KNX group address for reading if it's day/night.
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
address_air_pressure:
|
address_air_pressure:
|
||||||
description: KNX address reading current air pressure. *DPT 9.006*
|
description: KNX address reading current air pressure. *DPT 9.006*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
address_humidity:
|
address_humidity:
|
||||||
description: KNX address for reading current humidity. *DPT 9.007*
|
description: KNX address for reading current humidity. *DPT 9.007*
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: [string, list]
|
||||||
create_sensors:
|
create_sensors:
|
||||||
description: If true, dedicated sensor entities are created for all configured properties.
|
description: If true, dedicated sensor entities are created for all configured properties.
|
||||||
required: false
|
required: false
|
||||||
|
@ -15,6 +15,7 @@ The `mqtt` light platform lets you control your MQTT enabled lights through one
|
|||||||
| Function | [`default`](#default-schema) | [`json`](#json-schema) | [`template`](#template-schema) |
|
| Function | [`default`](#default-schema) | [`json`](#json-schema) | [`template`](#template-schema) |
|
||||||
|-------------------|------------------------------------------------------------|----------------------------------------------------------------------|------------------------------------------------------------------------------|
|
|-------------------|------------------------------------------------------------|----------------------------------------------------------------------|------------------------------------------------------------------------------|
|
||||||
| Brightness | ✔ | ✔ | ✔ |
|
| Brightness | ✔ | ✔ | ✔ |
|
||||||
|
| Color mode | | ✔ | |
|
||||||
| Color temperature | ✔ | ✔ | ✔ |
|
| Color temperature | ✔ | ✔ | ✔ |
|
||||||
| Effects | ✔ | ✔ | ✔ |
|
| Effects | ✔ | ✔ | ✔ |
|
||||||
| Flashing | ✘ | ✔ | ✔ |
|
| Flashing | ✘ | ✔ | ✔ |
|
||||||
@ -138,6 +139,10 @@ device:
|
|||||||
description: 'The name of the device.'
|
description: 'The name of the device.'
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
suggested_area:
|
||||||
|
description: 'Suggest an area if the device isn’t in one yet.'
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
sw_version:
|
sw_version:
|
||||||
description: 'The firmware version of the device.'
|
description: 'The firmware version of the device.'
|
||||||
required: false
|
required: false
|
||||||
@ -177,6 +182,10 @@ hs_value_template:
|
|||||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the HS value."
|
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the HS value."
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
icon:
|
||||||
|
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
|
||||||
|
required: false
|
||||||
|
type: icon
|
||||||
json_attributes_template:
|
json_attributes_template:
|
||||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
||||||
required: false
|
required: false
|
||||||
@ -389,16 +398,19 @@ light:
|
|||||||
|
|
||||||
The `mqtt` light platform with JSON schema lets you control a MQTT-enabled light that can receive [JSON](https://en.wikipedia.org/wiki/JSON) messages.
|
The `mqtt` light platform with JSON schema lets you control a MQTT-enabled light that can receive [JSON](https://en.wikipedia.org/wiki/JSON) messages.
|
||||||
|
|
||||||
This schema supports on/off, brightness, RGB colors, XY colors, color temperature, transitions, short/long flashing and white values. The messages sent to/from the lights look similar to this, omitting fields when they aren't needed:
|
This schema supports on/off, brightness, RGB colors, XY colors, color temperature, transitions, short/long flashing and white values. The messages sent to/from the lights look similar to this, omitting fields when they aren't needed. The `color_mode` will not be present in messages sent to the light. It is optional in messages received from the light, but can be used to disambiguate the current mode in the light. In the example below, `color_mode` is set to `rgb` and `color_temp`, `color.c`, `color.w`, color.x`, `color.y`, `color.h`, `color.s` will all be ignored:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"brightness": 255,
|
"brightness": 255,
|
||||||
|
"color_mode": "rgb",
|
||||||
"color_temp": 155,
|
"color_temp": 155,
|
||||||
"color": {
|
"color": {
|
||||||
"r": 255,
|
"r": 255,
|
||||||
"g": 180,
|
"g": 180,
|
||||||
"b": 200,
|
"b": 200,
|
||||||
|
"c": 100,
|
||||||
|
"w": 50,
|
||||||
"x": 0.406,
|
"x": 0.406,
|
||||||
"y": 0.301,
|
"y": 0.301,
|
||||||
"h": 344.0,
|
"h": 344.0,
|
||||||
@ -466,8 +478,8 @@ brightness_scale:
|
|||||||
required: false
|
required: false
|
||||||
type: integer
|
type: integer
|
||||||
default: 255
|
default: 255
|
||||||
color_temp:
|
color_mode:
|
||||||
description: Flag that defines if the light supports color temperature.
|
description: Flag that defines if the light supports color modes.
|
||||||
required: false
|
required: false
|
||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
@ -523,11 +535,10 @@ flash_time_short:
|
|||||||
required: false
|
required: false
|
||||||
type: integer
|
type: integer
|
||||||
default: 2
|
default: 2
|
||||||
hs:
|
icon:
|
||||||
description: Flag that defines if the light supports HS colors.
|
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
|
||||||
required: false
|
required: false
|
||||||
type: boolean
|
type: icon
|
||||||
default: false
|
|
||||||
json_attributes_template:
|
json_attributes_template:
|
||||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
||||||
required: false
|
required: false
|
||||||
@ -574,11 +585,6 @@ retain:
|
|||||||
required: false
|
required: false
|
||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
rgb:
|
|
||||||
description: Flag that defines if the light supports RGB colors.
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
schema:
|
schema:
|
||||||
description: The schema to use. Must be `json` to select the JSON schema".
|
description: The schema to use. Must be `json` to select the JSON schema".
|
||||||
required: false
|
required: false
|
||||||
@ -588,20 +594,14 @@ state_topic:
|
|||||||
description: The MQTT topic subscribed to receive state updates.
|
description: The MQTT topic subscribed to receive state updates.
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
supported_color_modes:
|
||||||
|
description: A list of color modes supported by the list. This is required if `color_mode` is `True`. Possible color modes are `onoff`, `brightness`, `color_temp`, `hs`, `xy`, `rgb`, `rgbw`, `rgbww`.
|
||||||
|
required: false
|
||||||
|
type: list
|
||||||
unique_id:
|
unique_id:
|
||||||
description: An ID that uniquely identifies this light. If two lights have the same unique ID, Home Assistant will raise an exception.
|
description: An ID that uniquely identifies this light. If two lights have the same unique ID, Home Assistant will raise an exception.
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
white_value:
|
|
||||||
description: Flag that defines if the light supports white values.
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
xy:
|
|
||||||
description: Flag that defines if the light supports XY colors.
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
<div class='note warning'>
|
<div class='note warning'>
|
||||||
@ -633,7 +633,8 @@ light:
|
|||||||
state_topic: "home/rgb1"
|
state_topic: "home/rgb1"
|
||||||
command_topic: "home/rgb1/set"
|
command_topic: "home/rgb1/set"
|
||||||
brightness: true
|
brightness: true
|
||||||
rgb: true
|
color_mode: true
|
||||||
|
supported_color_modes: ["rgb"]
|
||||||
```
|
```
|
||||||
|
|
||||||
### Brightness and no RGB support
|
### Brightness and no RGB support
|
||||||
@ -649,6 +650,8 @@ light:
|
|||||||
state_topic: "home/rgb1"
|
state_topic: "home/rgb1"
|
||||||
command_topic: "home/rgb1/set"
|
command_topic: "home/rgb1/set"
|
||||||
brightness: true
|
brightness: true
|
||||||
|
color_mode: true
|
||||||
|
supported_color_modes: ["brightness"]
|
||||||
```
|
```
|
||||||
|
|
||||||
### Brightness Scaled
|
### Brightness Scaled
|
||||||
@ -664,6 +667,8 @@ light:
|
|||||||
command_topic: "home/light/set"
|
command_topic: "home/light/set"
|
||||||
brightness: true
|
brightness: true
|
||||||
brightness_scale: 4095
|
brightness_scale: 4095
|
||||||
|
color_mode: true
|
||||||
|
supported_color_modes: ["brightness"]
|
||||||
```
|
```
|
||||||
|
|
||||||
Home Assistant will then convert its 8bit value in the message to and from the device:
|
Home Assistant will then convert its 8bit value in the message to and from the device:
|
||||||
@ -677,7 +682,7 @@ Home Assistant will then convert its 8bit value in the message to and from the d
|
|||||||
|
|
||||||
### HS Color
|
### HS Color
|
||||||
|
|
||||||
To use a light with hue+saturation as the color model, set `hs` to `true` in the platform configuration:
|
To use a light with hue+saturation as the color model, set `supported_color_modes` to `["hs"]` in the platform configuration:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
light:
|
light:
|
||||||
@ -686,7 +691,8 @@ light:
|
|||||||
name: mqtt_json_hs_light
|
name: mqtt_json_hs_light
|
||||||
state_topic: "home/light"
|
state_topic: "home/light"
|
||||||
command_topic: "home/light/set"
|
command_topic: "home/light/set"
|
||||||
hs: true
|
color_mode: true
|
||||||
|
supported_color_modes: ["hs"]
|
||||||
```
|
```
|
||||||
|
|
||||||
Home Assistant expects the hue values to be in the range 0 to 360 and the saturation values to be scaled from 0 to 100. For example, the following is a blue color shade:
|
Home Assistant expects the hue values to be in the range 0 to 360 and the saturation values to be scaled from 0 to 100. For example, the following is a blue color shade:
|
||||||
@ -694,6 +700,7 @@ Home Assistant expects the hue values to be in the range 0 to 360 and the satura
|
|||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"state": "ON",
|
"state": "ON",
|
||||||
|
"color_mode": "hs",
|
||||||
"color": {
|
"color": {
|
||||||
"h": 24.0,
|
"h": 24.0,
|
||||||
"s": 100.0
|
"s": 100.0
|
||||||
@ -714,8 +721,8 @@ light:
|
|||||||
state_topic: "home/rgbw1"
|
state_topic: "home/rgbw1"
|
||||||
command_topic: "home/rgbw1/set"
|
command_topic: "home/rgbw1/set"
|
||||||
brightness: true
|
brightness: true
|
||||||
rgb: true
|
color_mode: true
|
||||||
white_value: true
|
supported_color_modes: ["rgbw"]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
@ -854,6 +861,10 @@ green_template:
|
|||||||
description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract green color from the state payload value."
|
description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract green color from the state payload value."
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
icon:
|
||||||
|
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
|
||||||
|
required: false
|
||||||
|
type: icon
|
||||||
json_attributes_template:
|
json_attributes_template:
|
||||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
||||||
required: false
|
required: false
|
||||||
|
@ -85,6 +85,10 @@ device:
|
|||||||
description: 'The name of the device.'
|
description: 'The name of the device.'
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
suggested_area:
|
||||||
|
description: 'Suggest an area if the device isn’t in one yet.'
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
sw_version:
|
sw_version:
|
||||||
description: 'The firmware version of the device.'
|
description: 'The firmware version of the device.'
|
||||||
required: false
|
required: false
|
||||||
@ -93,6 +97,10 @@ device:
|
|||||||
description: 'Identifier of a device that routes messages between this device and Home Assistant. Examples of such devices are hubs, or parent devices of a sub-device. This is used to show device topology in Home Assistant.'
|
description: 'Identifier of a device that routes messages between this device and Home Assistant. Examples of such devices are hubs, or parent devices of a sub-device. This is used to show device topology in Home Assistant.'
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
icon:
|
||||||
|
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
|
||||||
|
required: false
|
||||||
|
type: icon
|
||||||
json_attributes_template:
|
json_attributes_template:
|
||||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
||||||
required: false
|
required: false
|
||||||
|
@ -88,6 +88,14 @@ where **namespace** is the *<component_namespace>* currently logging.
|
|||||||
'<component_namespace>':
|
'<component_namespace>':
|
||||||
description: Logger namespace of the component. See [log_level](#log-levels).
|
description: Logger namespace of the component. See [log_level](#log-levels).
|
||||||
type: string
|
type: string
|
||||||
|
filters:
|
||||||
|
description: Regular Expression logging filters.
|
||||||
|
required: false
|
||||||
|
type: map
|
||||||
|
keys:
|
||||||
|
'<component_namespace>':
|
||||||
|
description: Logger namespace of the component and a list of Regular Expressions. See [Log Filters](#log-filters).
|
||||||
|
type: list
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
In the example, do note the difference between 'glances_api' and 'homeassistant.components.glances' namespaces,
|
In the example, do note the difference between 'glances_api' and 'homeassistant.components.glances' namespaces,
|
||||||
@ -110,6 +118,26 @@ Possible log severity levels, listed in order from most severe to least severe,
|
|||||||
- debug
|
- debug
|
||||||
- notset
|
- notset
|
||||||
|
|
||||||
|
### Log Filters
|
||||||
|
|
||||||
|
Service-specific Regular Expression filters for logs. A message is omitted if it matches the Regular Expression.
|
||||||
|
|
||||||
|
An example configuration might look like this:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# Example configuration.yaml entry
|
||||||
|
logger:
|
||||||
|
default: info
|
||||||
|
logs:
|
||||||
|
custom_components.my_integration: critical
|
||||||
|
filters:
|
||||||
|
custom_component.my_integartion:
|
||||||
|
- "HTTP 429" # Filter all HTTP 429 errors
|
||||||
|
- "Request to .*unreliable.com.* Timed Out"
|
||||||
|
homeassistant.components.nws:
|
||||||
|
- "^Error handling request$"
|
||||||
|
```
|
||||||
|
|
||||||
## Services
|
## Services
|
||||||
|
|
||||||
### Service `set_default_level`
|
### Service `set_default_level`
|
||||||
|
@ -175,3 +175,18 @@ default_room:
|
|||||||
The target room has to be precreated, the room id can be obtained from the rooms settings dialog. Rooms by default have a canonical id of the form `"!<randomid>:homeserver.tld"`, but can also be allocated aliases like `"#roomname:homeserver.tld"`. Make sure to use quotes around the room id or alias to escape special characters (`!`, and `#`) in YAML. The notifying account may need to be invited to the room, depending on the individual rooms policies.
|
The target room has to be precreated, the room id can be obtained from the rooms settings dialog. Rooms by default have a canonical id of the form `"!<randomid>:homeserver.tld"`, but can also be allocated aliases like `"#roomname:homeserver.tld"`. Make sure to use quotes around the room id or alias to escape special characters (`!`, and `#`) in YAML. The notifying account may need to be invited to the room, depending on the individual rooms policies.
|
||||||
|
|
||||||
To use notifications, please see the [getting started with automation page](/getting-started/automation/).
|
To use notifications, please see the [getting started with automation page](/getting-started/automation/).
|
||||||
|
|
||||||
|
### Images in notification
|
||||||
|
|
||||||
|
It is possible to send images with notifications. To do so, add a list of paths in the notification `data`.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# Example of notification with images
|
||||||
|
action:
|
||||||
|
service: notify.matrix_notify
|
||||||
|
data:
|
||||||
|
message: "Test with images"
|
||||||
|
data:
|
||||||
|
images:
|
||||||
|
- /path/to/picture.jpg
|
||||||
|
```
|
||||||
|
@ -14,7 +14,7 @@ Interacts with media players on your network.
|
|||||||
## Services
|
## Services
|
||||||
|
|
||||||
### Media control services
|
### Media control services
|
||||||
Available services: `turn_on`, `turn_off`, `toggle`, `volume_up`, `volume_down`, `volume_set`, `volume_mute`, `media_play_pause`, `media_play`, `media_pause`, `media_stop`, `media_next_track`, `media_previous_track`, `clear_playlist`, `shuffle_set`, `repeat_set`, `play_media`, `select_source`, `select_sound_mode`
|
Available services: `turn_on`, `turn_off`, `toggle`, `volume_up`, `volume_down`, `volume_set`, `volume_mute`, `media_play_pause`, `media_play`, `media_pause`, `media_stop`, `media_next_track`, `media_previous_track`, `clear_playlist`, `shuffle_set`, `repeat_set`, `play_media`, `select_source`, `select_sound_mode`, `join`, `unjoin`
|
||||||
|
|
||||||
| Service data attribute | Optional | Description |
|
| Service data attribute | Optional | Description |
|
||||||
| ---------------------- | -------- | ------------------------------------------------ |
|
| ---------------------- | -------- | ------------------------------------------------ |
|
||||||
@ -156,6 +156,21 @@ Currently only supported on [Sonos](/integrations/sonos), [Spotify](/integration
|
|||||||
| `entity_id` | yes | Target a specific media player. For example `media_player.kitchen`|
|
| `entity_id` | yes | Target a specific media player. For example `media_player.kitchen`|
|
||||||
| `repeat` | no | `off`/`all`/`one` for setting repeat mode |
|
| `repeat` | no | `off`/`all`/`one` for setting repeat mode |
|
||||||
|
|
||||||
|
#### Service `media_player.join`
|
||||||
|
|
||||||
|
Allows to group media players together for synchronous playback. Only works on supported multiroom audio systems.
|
||||||
|
|
||||||
|
| Service data attribute | Optional | Description |
|
||||||
|
| ---------------------- | -------- | ---------------------------------------------------- |
|
||||||
|
| `entity_id` | yes | The media player entity whose playback will be expanded to the players specified in `group_members`. |
|
||||||
|
| `group_members` | no | The player entities which will be synced with the playback from `entity_id`. |
|
||||||
|
|
||||||
|
#### Service `media_player.unjoin`
|
||||||
|
|
||||||
|
| Service data attribute | Optional | Description |
|
||||||
|
| ---------------------- | -------- | ---------------------------------------------------- |
|
||||||
|
| `entity_id` | yes | Unjoin this media player from any player groups. |
|
||||||
|
|
||||||
### Device Class
|
### Device Class
|
||||||
|
|
||||||
The way media players are displayed in the frontend can be modified in the [customize section](/getting-started/customizing-devices/). The following device classes are supported for media players:
|
The way media players are displayed in the frontend can be modified in the [customize section](/getting-started/customizing-devices/). The following device classes are supported for media players:
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: Modbus
|
title: Modbus
|
||||||
description: Instructions on how to integrate Modbus within Home Assistant.
|
description: Instructions on how to integrate Modbus and platforms.
|
||||||
ha_category:
|
ha_category:
|
||||||
- Hub
|
- Hub
|
||||||
ha_release: pre 0.7
|
ha_release: pre 0.7
|
||||||
@ -23,7 +23,16 @@ It supports various types of devices which can be controlled over serial, TCP, a
|
|||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
The configuration for adding modbus to your installation depends on the connection type, either a network or serial connection.
|
How to add modbus to your installation depends on the connection type, either a network or serial connection.
|
||||||
|
|
||||||
|
Platforms:
|
||||||
|
- binary_sensor
|
||||||
|
- climate
|
||||||
|
- cover
|
||||||
|
- sensor
|
||||||
|
- switch
|
||||||
|
|
||||||
|
are all defined as part of the modbus configuration. The old configuration style, (having each outside the modbus configuration is still supported, but will cause a warning, and will be removed in a later release).
|
||||||
|
|
||||||
### Network connection
|
### Network connection
|
||||||
|
|
||||||
@ -32,40 +41,40 @@ For a network connection, add the following to your `configuration.yaml` file:
|
|||||||
```yaml
|
```yaml
|
||||||
# Example configuration.yaml entry for a TCP connection
|
# Example configuration.yaml entry for a TCP connection
|
||||||
modbus:
|
modbus:
|
||||||
name: hub1
|
- name: hub1
|
||||||
type: tcp
|
type: tcp
|
||||||
host: IP_ADDRESS
|
host: IP_ADDRESS
|
||||||
port: 2020
|
port: 502
|
||||||
```
|
```
|
||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
|
||||||
description: Type of the connection to Modbus. Possible values are `tcp` (Modbus TCP protocol according to "MODBUS Messaging Implementation Guide version 1.0b" provided by Schneider Automation.), `udp`(Modbus TCP form, but using UDP for transport. It removes the overheads required for TCP.) and `rtuovertcp` (Modbus RTU message transmitted with a TCP/IP wrapper and sent over a network instead of serial lines.).
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
host:
|
|
||||||
description: The IP address of your Modbus device, e.g., 192.168.1.1.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
port:
|
|
||||||
description: The network port for the communication.
|
|
||||||
required: true
|
|
||||||
type: integer
|
|
||||||
name:
|
|
||||||
description: Name for this hub. Must be unique, so it is required when setting up multiple instances.
|
|
||||||
required: false
|
|
||||||
default: modbus_hub
|
|
||||||
type: string
|
|
||||||
timeout:
|
|
||||||
description: Timeout for slave response in seconds.
|
|
||||||
required: false
|
|
||||||
default: 3
|
|
||||||
type: integer
|
|
||||||
delay:
|
delay:
|
||||||
description: Time to sleep in seconds after connecting and before sending messages. Some modbus-tcp servers need a short delay typically 1-2 seconds in order to prepare the communication. If a server accepts connecting, but there is no response to the requests send, this parameter might help.
|
description: Time to sleep in seconds after connecting and before sending messages. Some modbus-tcp servers need a short delay typically 1-2 seconds in order to prepare the communication. If a server accepts connecting, but there is no response to the requests send, this parameter might help.
|
||||||
required: false
|
required: false
|
||||||
default: 0
|
default: 0
|
||||||
type: integer
|
type: integer
|
||||||
|
host:
|
||||||
|
description: The IP address of your Modbus device, e.g., 192.168.1.1.
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: Name for this hub. Must be unique, so it is required when setting up multiple instances.
|
||||||
|
required: false
|
||||||
|
default: modbus_hub
|
||||||
|
type: string
|
||||||
|
port:
|
||||||
|
description: The network port for the communication.
|
||||||
|
required: true
|
||||||
|
type: integer
|
||||||
|
timeout:
|
||||||
|
description: Timeout for slave response in seconds.
|
||||||
|
required: false
|
||||||
|
default: 3
|
||||||
|
type: integer
|
||||||
|
type:
|
||||||
|
description: Type of the connection to Modbus. Possible values are `tcp` (Modbus TCP protocol according to "MODBUS Messaging Implementation Guide version 1.0b" provided by Schneider Automation.), `udp`(Modbus TCP form, but using UDP for transport. It removes the overheads required for TCP.) and `rtuovertcp` (Modbus RTU message transmitted with a TCP/IP wrapper and sent over a network instead of serial lines.).
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
### Serial connection
|
### Serial connection
|
||||||
@ -75,58 +84,661 @@ For a serial connection, add the following to your `configuration.yaml` file:
|
|||||||
```yaml
|
```yaml
|
||||||
# Example configuration.yaml entry for a serial connection
|
# Example configuration.yaml entry for a serial connection
|
||||||
modbus:
|
modbus:
|
||||||
name: hub1
|
- name: hub1
|
||||||
type: serial
|
type: serial
|
||||||
method: rtu
|
method: rtu
|
||||||
port: /dev/ttyUSB0
|
port: /dev/ttyUSB0
|
||||||
baudrate: 9600
|
baudrate: 9600
|
||||||
stopbits: 1
|
stopbits: 1
|
||||||
bytesize: 8
|
bytesize: 8
|
||||||
parity: N
|
parity: N
|
||||||
```
|
```
|
||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
|
||||||
description: "Type of the connection to Modbus, needs to be `serial` for this setup."
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
method:
|
|
||||||
description: "Method of the connection to Modbus, either `rtu` or `ascii`."
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
port:
|
|
||||||
description: The port where your Modbus device is connected to your Home Assistant host.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
baudrate:
|
baudrate:
|
||||||
description: The speed for the serial connection.
|
description: The speed for the serial connection.
|
||||||
required: true
|
required: true
|
||||||
type: integer
|
type: integer
|
||||||
stopbits:
|
|
||||||
description: "The stopbits for the serial connection, either `1` or `2`."
|
|
||||||
required: true
|
|
||||||
type: integer
|
|
||||||
bytesize:
|
bytesize:
|
||||||
description: "The bytesize for the serial connection; can be `5`, `6`, `7` or `8`."
|
description: "The bytesize for the serial connection; can be `5`, `6`, `7` or `8`."
|
||||||
required: true
|
required: true
|
||||||
type: integer
|
type: integer
|
||||||
parity:
|
delay:
|
||||||
description: "The parity for the serial connection; can be `E`, `O` or `N`."
|
description: Time to sleep in seconds after connecting and before sending messages. Some modbus servers need a short delay typically 1-2 seconds in order to prepare the communication. If a server accepts connecting, but there is no response to the requests send, this parameter might help.
|
||||||
|
required: false
|
||||||
|
default: 0
|
||||||
|
type: integer
|
||||||
|
method:
|
||||||
|
description: "Method of the connection to Modbus, either `rtu` or `ascii`."
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
description: Name for this hub. Must be unique, so it is required when setting up multiple instances.
|
description: Name for this hub. Must be unique, so it is required when setting up multiple instances.
|
||||||
required: false
|
required: false
|
||||||
default: default
|
default: modbus_hub
|
||||||
type: string
|
type: string
|
||||||
|
parity:
|
||||||
|
description: "The parity for the serial connection; can be `E`, `O` or `N`."
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
port:
|
||||||
|
description: The port where your Modbus device is connected to your Home Assistant host.
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
stopbits:
|
||||||
|
description: "The stopbits for the serial connection, either `1` or `2`."
|
||||||
|
required: true
|
||||||
|
type: integer
|
||||||
timeout:
|
timeout:
|
||||||
description: Timeout for slave response in seconds.
|
description: Timeout for slave response in seconds.
|
||||||
required: false
|
required: false
|
||||||
default: 3
|
default: 3
|
||||||
type: integer
|
type: integer
|
||||||
|
type:
|
||||||
|
description: "Type of the connection to Modbus, needs to be `serial` for this setup."
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
### Multiple connections
|
### Configuring platform binary sensor
|
||||||
|
|
||||||
|
The `modbus` binary sensor allows you to gather data from [Modbus](http://www.modbus.org/) coils with state ON/OFF.
|
||||||
|
|
||||||
|
To use your Modbus binary sensors in your installation, add the following to your `configuration.yaml` file:
|
||||||
|
```yaml
|
||||||
|
# Example configuration.yaml entry for binary_sensor configuration
|
||||||
|
modbus:
|
||||||
|
- name: hub1
|
||||||
|
type: tcp
|
||||||
|
host: IP_ADDRESS
|
||||||
|
port: 502
|
||||||
|
binary_sensors:
|
||||||
|
- name: Sensor1
|
||||||
|
slave: 1
|
||||||
|
address: 100
|
||||||
|
- name: Sensor2
|
||||||
|
address: 110
|
||||||
|
input_type: discrete_input
|
||||||
|
```
|
||||||
|
{% configuration %}
|
||||||
|
binary_sensors:
|
||||||
|
description: A list of all binary_sensors available in this modbus instance.
|
||||||
|
required: false
|
||||||
|
type: [map]
|
||||||
|
keys:
|
||||||
|
device_class:
|
||||||
|
description: Device class to be used for the UI (e.g. "door").
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
input_type:
|
||||||
|
description: type of adddress (holding/discrete/coil)
|
||||||
|
required: false
|
||||||
|
default: holding
|
||||||
|
type: integer
|
||||||
|
name:
|
||||||
|
description: Name for this binary_sensor. Must be unique.
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
scan_interval:
|
||||||
|
description: Defines the update interval of the sensor in seconds.
|
||||||
|
required: false
|
||||||
|
type: integer
|
||||||
|
default: 15
|
||||||
|
slave:
|
||||||
|
description: The number of the slave.
|
||||||
|
required: false
|
||||||
|
type: integer
|
||||||
|
{% endconfiguration %}
|
||||||
|
|
||||||
|
|
||||||
|
### Configuring platform climate
|
||||||
|
|
||||||
|
To use your Modbus thermostat in your installation, add the following to your `configuration.yaml` file:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# Example configuration.yaml entry
|
||||||
|
modbus:
|
||||||
|
- name: hub1
|
||||||
|
type: tcp
|
||||||
|
host: IP_ADDRESS
|
||||||
|
port: 502
|
||||||
|
climates:
|
||||||
|
- name: Watlow F4T
|
||||||
|
slave: 1
|
||||||
|
data_type: uint
|
||||||
|
data_count: 1
|
||||||
|
scale: 0.1
|
||||||
|
offset: 0
|
||||||
|
precision: 1
|
||||||
|
max_temp: 30
|
||||||
|
min_temp: 15
|
||||||
|
temp_step: 1
|
||||||
|
target_temp_register: 2782
|
||||||
|
current_temp_register: 27586
|
||||||
|
```
|
||||||
|
|
||||||
|
{% configuration %}
|
||||||
|
climates:
|
||||||
|
description: A list of all climates available in this modbus instance.
|
||||||
|
required: false
|
||||||
|
type: [map]
|
||||||
|
keys:
|
||||||
|
current_temp_register:
|
||||||
|
description: Register number for current temperature (Process value).
|
||||||
|
required: true
|
||||||
|
type: integer
|
||||||
|
current_temp_register_type:
|
||||||
|
description: Modbus register type (holding, input) for current temperature, default holding.
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
default: holding
|
||||||
|
data_count:
|
||||||
|
description: Number of registers to read.
|
||||||
|
required: false
|
||||||
|
type: integer
|
||||||
|
default: 2
|
||||||
|
data_type:
|
||||||
|
description: Response representation (int, uint, float, custom). If float selected, value will converted to IEEE 754 floating point format.
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
default: float
|
||||||
|
min_temp:
|
||||||
|
description: Maximum setpoint temperature.
|
||||||
|
required: false
|
||||||
|
type: integer
|
||||||
|
default: 5
|
||||||
|
name:
|
||||||
|
description: Name of the device
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
offset:
|
||||||
|
description: Final offset (output = scale * value + offset).
|
||||||
|
required: false
|
||||||
|
type: float
|
||||||
|
default: 0
|
||||||
|
precision:
|
||||||
|
description: Number of valid decimals.
|
||||||
|
required: false
|
||||||
|
type: integer
|
||||||
|
default: 1
|
||||||
|
scale:
|
||||||
|
description: Scale factor (output = scale * value + offset).
|
||||||
|
required: false
|
||||||
|
type: float
|
||||||
|
default: 1
|
||||||
|
scan_interval:
|
||||||
|
description: Defines the update interval of the sensor in seconds.
|
||||||
|
required: false
|
||||||
|
type: integer
|
||||||
|
default: 15
|
||||||
|
slave:
|
||||||
|
description: The number of the slave (Optional for tcp and upd Modbus, use 1).
|
||||||
|
required: true
|
||||||
|
type: integer
|
||||||
|
structure:
|
||||||
|
description: "If `data_type` is custom specified a double-quoted Python struct is expected here, to format the string to unpack the value. See Python documentation for details. Example: `>i`."
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
default: ">f"
|
||||||
|
target_temp_register:
|
||||||
|
description: Register number for target temperature (Setpoint).
|
||||||
|
required: true
|
||||||
|
type: integer
|
||||||
|
temp_step:
|
||||||
|
description: The supported step size a target temperature can be increased/decreased.
|
||||||
|
required: false
|
||||||
|
type: float
|
||||||
|
default: 0.5
|
||||||
|
temperature_unit:
|
||||||
|
description: Temperature unit reported by the current_temp_register. C or F
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
default: C
|
||||||
|
{% endconfiguration %}
|
||||||
|
|
||||||
|
#### Services
|
||||||
|
|
||||||
|
| Service | Description |
|
||||||
|
| ------- | ----------- |
|
||||||
|
| set_temperature | Set Temperature. Requires `value` to be passed in, which is the desired target temperature. `value` should be in the same type as `data_type` |
|
||||||
|
|
||||||
|
### Configuring platform cover
|
||||||
|
|
||||||
|
The `modbus` cover platform allows you to control [Modbus](http://www.modbus.org/) covers (such as blinds, a roller shutter, or a garage door).
|
||||||
|
|
||||||
|
At the moment, we support the opening and closing of a cover. You can control your covers either using coils or holding registers.
|
||||||
|
|
||||||
|
Cover that uses the `coil` attribute is not able to determine intermediary states such as opening and closing. Coil stores only two states — "0" means cover closed, and "1" implies cover open. To allow detecting intermediary states, we added an optional `status_register` attribute. It will enable you to write your command (e.g., to open a cover) into a coil, and read current cover status back through the register. Additionally, you can specify values for `state_open`, `state_opening`, `state_closed`, and `state_closing` attributes. These will be matched with the value read from the `status_register`.
|
||||||
|
|
||||||
|
If your cover uses holding register to send commands (defined by the `register` attribute), it can also read the intermediary states. To adjust which value represents what state, you can fine-tune the optional state attributes, like `state_open`. These optional state values are also used for specifying values written into the register. If you specify an optional status_register attribute, cover states will be read from status_register instead of the register used for sending commands.
|
||||||
|
|
||||||
|
To use Modbus covers in your installation, add the following to your `configuration.yaml` file:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# Example configuration.yaml entry
|
||||||
|
modbus:
|
||||||
|
- name: hub1
|
||||||
|
type: tcp
|
||||||
|
host: IP_ADDRESS
|
||||||
|
port: 502
|
||||||
|
covers:
|
||||||
|
- name: Door1
|
||||||
|
device_class: door
|
||||||
|
scan_interval: 1
|
||||||
|
coil: 0
|
||||||
|
- name: Door2
|
||||||
|
device_class: door
|
||||||
|
scan_interval: 1
|
||||||
|
coil: 1
|
||||||
|
status_register: 1
|
||||||
|
- name: Door3
|
||||||
|
slave: 2
|
||||||
|
device_class: door
|
||||||
|
scan_interval: 1
|
||||||
|
register: 0
|
||||||
|
state_open: 1
|
||||||
|
state_closed: 0
|
||||||
|
```
|
||||||
|
|
||||||
|
{% configuration %}
|
||||||
|
covers:
|
||||||
|
description: The array contains a list of all your Modbus covers.
|
||||||
|
required: true
|
||||||
|
type: map
|
||||||
|
keys:
|
||||||
|
coil:
|
||||||
|
description: Coil address; can be omitted if a register attribute is specified. Coil and register attributes are mutually exclusive, and you need to always specify one of them.
|
||||||
|
required: true
|
||||||
|
type: integer
|
||||||
|
device_class:
|
||||||
|
description: The [type/class](/integrations/cover/#device-class) of the cover to set the icon in the frontend.
|
||||||
|
required: false
|
||||||
|
type: device_class
|
||||||
|
default: None
|
||||||
|
name:
|
||||||
|
description: Name of the switch.
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
register:
|
||||||
|
description: Holding register address; can be omitted if a coil attribute is specified. Coil and register attributes are mutually exclusive, and you need to always specify one of them.
|
||||||
|
required: true
|
||||||
|
type: integer
|
||||||
|
scan_interval:
|
||||||
|
description: Defines the update interval of the sensor in seconds.
|
||||||
|
required: false
|
||||||
|
type: integer
|
||||||
|
default: 15
|
||||||
|
slave:
|
||||||
|
description: The number of the slave (can be omitted for tcp and udp Modbus).
|
||||||
|
required: false
|
||||||
|
default: 1
|
||||||
|
type: integer
|
||||||
|
state_open:
|
||||||
|
description: A value in `status_register` or `register` representing an open cover. If your configuration uses an `register` attribute, this value will be also written into a holding register to open the cover.
|
||||||
|
required: false
|
||||||
|
default: 1
|
||||||
|
type: integer
|
||||||
|
state_closed:
|
||||||
|
description: A value in `status_register` or `register` representing a closed cover. If your configuration uses an `register` attribute, this value will be also written into a holding register to close the cover.
|
||||||
|
required: false
|
||||||
|
default: 0
|
||||||
|
type: integer
|
||||||
|
state_opening:
|
||||||
|
description: A value in `status_register` or `register` telling us that the cover is opening at the moment. Note that this state should be also supported on your connected Modbus cover. If it won't write this intermediary state into the register, this state won't be detected.
|
||||||
|
required: false
|
||||||
|
default: 2
|
||||||
|
type: integer
|
||||||
|
state_closing:
|
||||||
|
description: A value in `status_register` or `register` telling us that the cover is closing at the moment. Note that this state should be also supported on your connected Modbus cover. If it won't write this intermediary state into the register, this state won't be detected.
|
||||||
|
required: false
|
||||||
|
default: 2
|
||||||
|
type: integer
|
||||||
|
status_register:
|
||||||
|
description: An address of an register, from which all the cover states will be read. If you specified `register` attribute, and not `status_register` attribute, your main register will also be used as a status register.
|
||||||
|
required: false
|
||||||
|
type: integer
|
||||||
|
status_register_type:
|
||||||
|
description: Modbus register type (holding, input), default holding.
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
{% endconfiguration %}
|
||||||
|
|
||||||
|
#### Example: Modbus cover controlled by a coil
|
||||||
|
|
||||||
|
This example shows a configuration for a Modbus cover controlled using a coil. Intermediary states like opening/closing are not supported. The cover state is polled from Modbus every 10 seconds.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
modbus:
|
||||||
|
- name: hub1
|
||||||
|
type: tcp
|
||||||
|
host: IP_ADDRESS
|
||||||
|
port: 502
|
||||||
|
covers:
|
||||||
|
- name: Door1
|
||||||
|
slave: 1
|
||||||
|
coil: 1
|
||||||
|
device_class: door
|
||||||
|
scan_interval: 10
|
||||||
|
- name: Door2
|
||||||
|
slave: 2
|
||||||
|
coil: 2
|
||||||
|
device_class: door
|
||||||
|
scan_interval: 10
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Example: Modbus cover controlled by a coil, it's state is read from the register
|
||||||
|
|
||||||
|
This example shows a configuration for a Modbus cover controlled using a coil. Actual cover state is read from the `status_register`. We've also specified register values to match with the states open/opening/closed/closing. The cover state is polled from Modbus every 10 seconds.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
modbus:
|
||||||
|
- name: hub1
|
||||||
|
type: tcp
|
||||||
|
host: IP_ADDRESS
|
||||||
|
port: 502
|
||||||
|
covers:
|
||||||
|
- name: Door1
|
||||||
|
slave: 1
|
||||||
|
device_class: door
|
||||||
|
scan_interval: 10
|
||||||
|
coil: 1
|
||||||
|
status_register: 1
|
||||||
|
status_register_type: input
|
||||||
|
state_opening: 1
|
||||||
|
state_open: 2
|
||||||
|
state_closing: 3
|
||||||
|
state_closed: 4
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Example: Modbus cover controlled by a holding register
|
||||||
|
|
||||||
|
This example shows a configuration for a Modbus cover controlled using a holding register, from which we also read current cover state. We've also specified register values to match with the states open/opening/closed/closing. The cover state is polled from Modbus every 10 seconds.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
modbus:
|
||||||
|
- name: hub1
|
||||||
|
type: tcp
|
||||||
|
host: IP_ADDRESS
|
||||||
|
port: 502
|
||||||
|
covers:
|
||||||
|
- name: Door1
|
||||||
|
slave: 1
|
||||||
|
device_class: door
|
||||||
|
scan_interval: 10
|
||||||
|
register: 1
|
||||||
|
state_opening: 1
|
||||||
|
state_open: 2
|
||||||
|
state_closing: 3
|
||||||
|
state_closed: 4
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Example: Modbus cover controlled by a holding register, it's state is read from the status register
|
||||||
|
|
||||||
|
This example shows a configuration for a Modbus cover controlled using a holding register. However, cover state is read from a `status_register`. In this case, we've specified only values for `state_open` and `state_closed`, for the rest, default values are used. The cover state is polled from Modbus every 10 seconds.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
modbus:
|
||||||
|
- name: hub1
|
||||||
|
type: tcp
|
||||||
|
host: IP_ADDRESS
|
||||||
|
port: 502
|
||||||
|
|
||||||
|
covers:
|
||||||
|
- name: Door1
|
||||||
|
slave: 1
|
||||||
|
device_class: door
|
||||||
|
scan_interval: 10
|
||||||
|
register: 1
|
||||||
|
status_register: 2
|
||||||
|
register_type: holding
|
||||||
|
state_open: 1
|
||||||
|
state_closed: 0
|
||||||
|
```
|
||||||
|
|
||||||
|
### Configuring platform sensor
|
||||||
|
|
||||||
|
The `modbus` cover platform allows you to control [Modbus](http://www.modbus.org/) covers (such as blinds, a roller shutter, or a garage door).
|
||||||
|
|
||||||
|
|
||||||
|
The `modbus` sensor allows you to gather data from [Modbus](http://www.modbus.org/) registers.
|
||||||
|
|
||||||
|
To use your Modbus sensors in your installation, add the following to your `configuration.yaml` file:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# Example configuration.yaml entry
|
||||||
|
modbus:
|
||||||
|
- name: hub1
|
||||||
|
type: tcp
|
||||||
|
host: IP_ADDRESS
|
||||||
|
port: 502
|
||||||
|
sensors:
|
||||||
|
- name: Sensor1
|
||||||
|
unit_of_measurement: °C
|
||||||
|
slave: 1
|
||||||
|
address: 100
|
||||||
|
- name: Sensor2
|
||||||
|
unit_of_measurement: mg
|
||||||
|
slave: 1
|
||||||
|
register: 110
|
||||||
|
count: 2
|
||||||
|
- name: Sensor3
|
||||||
|
unit_of_measurement: °C
|
||||||
|
slave: 1
|
||||||
|
address: 120
|
||||||
|
input_type: input
|
||||||
|
data_type: float
|
||||||
|
scale: 0.01
|
||||||
|
offset: -273.16
|
||||||
|
precision: 2
|
||||||
|
```
|
||||||
|
|
||||||
|
{% configuration %}
|
||||||
|
sensors:
|
||||||
|
description: The array contains a list of all your Modbus sensors.
|
||||||
|
required: true
|
||||||
|
type: map
|
||||||
|
keys:
|
||||||
|
address:
|
||||||
|
description: Register number.
|
||||||
|
required: true
|
||||||
|
type: integer
|
||||||
|
count:
|
||||||
|
description: Number of registers to read.
|
||||||
|
required: false
|
||||||
|
type: integer
|
||||||
|
default: 1
|
||||||
|
data_type:
|
||||||
|
description: Response representation (int, uint, float, string, custom). If float selected, value will be converted to IEEE 754 floating point format.
|
||||||
|
required: false
|
||||||
|
default: int
|
||||||
|
type: string
|
||||||
|
device_class:
|
||||||
|
description: The [type/class](/integrations/sensor/#device-class) of the sensor to set the icon in the frontend.
|
||||||
|
required: false
|
||||||
|
type: device_class
|
||||||
|
default: None
|
||||||
|
input_type:
|
||||||
|
description: Modbus register type (holding, input), default holding.
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: Name of the sensor.
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
offset:
|
||||||
|
description: Final offset (output = scale * value + offset).
|
||||||
|
required: false
|
||||||
|
default: 0
|
||||||
|
type: float
|
||||||
|
precision:
|
||||||
|
description: Number of valid decimals.
|
||||||
|
required: false
|
||||||
|
default: 0
|
||||||
|
type: integer
|
||||||
|
reverse_order:
|
||||||
|
description: Reverse the order of registers when count >1.
|
||||||
|
required: false
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
scale:
|
||||||
|
description: Scale factor (output = scale * value + offset).
|
||||||
|
required: false
|
||||||
|
default: 1
|
||||||
|
type: float
|
||||||
|
scan_interval:
|
||||||
|
description: Defines the update interval of the sensor in seconds.
|
||||||
|
required: false
|
||||||
|
type: integer
|
||||||
|
default: 15
|
||||||
|
slave:
|
||||||
|
description: The number of the slave (Optional for tcp and upd Modbus).
|
||||||
|
required: true
|
||||||
|
type: integer
|
||||||
|
structure:
|
||||||
|
description: "If `data_type` is custom specified a double-quoted Python struct is expected here, to format the string to unpack the value. See Python documentation for details. Example: `>i`."
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
unit_of_measurement:
|
||||||
|
description: Unit to attach to value.
|
||||||
|
required: false
|
||||||
|
type: integer
|
||||||
|
{% endconfiguration %}
|
||||||
|
|
||||||
|
<div class='note'>
|
||||||
|
|
||||||
|
If you specify scale or offset as floating point values, double precision floating point arithmetic will be used to calculate final value. This can cause loss of precision for values that are larger than 2^53.
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
#### Full example
|
||||||
|
|
||||||
|
Example a temperature sensor with a 10 seconds scan interval:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
modbus:
|
||||||
|
- name: hub1
|
||||||
|
type: tcp
|
||||||
|
host: IP_ADDRESS
|
||||||
|
port: 502
|
||||||
|
sensors:
|
||||||
|
- name: Room_1
|
||||||
|
slave: 10
|
||||||
|
address: 0
|
||||||
|
input_type: holding
|
||||||
|
unit_of_measurement: °C
|
||||||
|
count: 1
|
||||||
|
scale: 0.1
|
||||||
|
offset: 0
|
||||||
|
precision: 1
|
||||||
|
data_type: integer
|
||||||
|
```
|
||||||
|
|
||||||
|
### Configuring platform switch
|
||||||
|
|
||||||
|
The `modbus` switch platform allows you to control [Modbus](http://www.modbus.org/) coils or registers.
|
||||||
|
|
||||||
|
To use your Modbus switches in your installation, add the following to your `configuration.yaml` file:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# Example configuration.yaml entry
|
||||||
|
modbus:
|
||||||
|
- name: hub1
|
||||||
|
type: tcp
|
||||||
|
host: IP_ADDRESS
|
||||||
|
port: 502
|
||||||
|
switches:
|
||||||
|
- name: Switch1
|
||||||
|
address: 13
|
||||||
|
input_type: coil
|
||||||
|
- name: Switch2
|
||||||
|
slave: 2
|
||||||
|
address: 14
|
||||||
|
input_type: coil
|
||||||
|
- name: Register1
|
||||||
|
address: 11
|
||||||
|
command_on: 1
|
||||||
|
command_off: 0
|
||||||
|
```
|
||||||
|
|
||||||
|
{% configuration %}
|
||||||
|
switches:
|
||||||
|
description: The array contains a list of all your Modbus switches.
|
||||||
|
required: true
|
||||||
|
type: map
|
||||||
|
keys:
|
||||||
|
address:
|
||||||
|
description: Coil number or register
|
||||||
|
required: true
|
||||||
|
type: integer
|
||||||
|
command_on:
|
||||||
|
description: Value to write to turn on the switch.
|
||||||
|
required: true
|
||||||
|
type: integer
|
||||||
|
command_off:
|
||||||
|
description: Value to write to turn off the switch.
|
||||||
|
required: true
|
||||||
|
type: integer
|
||||||
|
input_type:
|
||||||
|
description: type of adddress (holding/discrete/coil)
|
||||||
|
required: false
|
||||||
|
default: holding
|
||||||
|
type: integer
|
||||||
|
name:
|
||||||
|
description: Name of the switch.
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
scan_interval:
|
||||||
|
description: Defines the update interval of the sensor in seconds.
|
||||||
|
required: false
|
||||||
|
type: integer
|
||||||
|
default: 15
|
||||||
|
slave:
|
||||||
|
description: The number of the slave (can be omitted for tcp and udp Modbus).
|
||||||
|
required: true
|
||||||
|
type: integer
|
||||||
|
state_on:
|
||||||
|
description: Register value when switch is on.
|
||||||
|
required: false
|
||||||
|
default: same as command_on
|
||||||
|
type: integer
|
||||||
|
state_off:
|
||||||
|
description: Register value when switch is off.
|
||||||
|
required: false
|
||||||
|
default: same as command_off
|
||||||
|
type: integer
|
||||||
|
verify_register:
|
||||||
|
description: Register to readback.
|
||||||
|
required: false
|
||||||
|
default: same as register
|
||||||
|
type: string
|
||||||
|
verify_state:
|
||||||
|
description: Define if is possible to readback the status of the switch.
|
||||||
|
required: false
|
||||||
|
default: true
|
||||||
|
type: boolean
|
||||||
|
{% endconfiguration %}
|
||||||
|
|
||||||
|
#### Full example
|
||||||
|
|
||||||
|
Example switches, for which the state is polled from Modbus every 10 seconds.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
modbus:
|
||||||
|
- name: hub1
|
||||||
|
type: tcp
|
||||||
|
host: IP_ADDRESS
|
||||||
|
port: 502
|
||||||
|
switches:
|
||||||
|
- name: Switch1
|
||||||
|
slave: 1
|
||||||
|
address: 13
|
||||||
|
input_type: coil
|
||||||
|
- name: Switch2
|
||||||
|
slave: 2
|
||||||
|
address: 14
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Multiple connections
|
||||||
|
|
||||||
Multiple connections are possible, add something like the following to your `configuration.yaml` file:
|
Multiple connections are possible, add something like the following to your `configuration.yaml` file:
|
||||||
|
|
||||||
|
@ -104,6 +104,7 @@ The following attributes can be placed inside `data` for extended functionality.
|
|||||||
| `priority` | For recipients which supports priority, the message will be highlighted accordingly.<br>Available values: `lowest`, `low`, `normal`, `high`, `highest`.
|
| `priority` | For recipients which supports priority, the message will be highlighted accordingly.<br>Available values: `lowest`, `low`, `normal`, `high`, `highest`.
|
||||||
| `images` | Array of images to attach (see item properties below).
|
| `images` | Array of images to attach (see item properties below).
|
||||||
| `files` | Array of files to attach (see item properties below).
|
| `files` | Array of files to attach (see item properties below).
|
||||||
|
| `token` | Notify.Events channel token (in case you want to override the channel to get this message to).
|
||||||
|
|
||||||
Every item of images and files has the following properties:
|
Every item of images and files has the following properties:
|
||||||
|
|
||||||
|
@ -88,7 +88,7 @@ device:
|
|||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
icon:
|
icon:
|
||||||
description: Icon for the number.
|
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
|
||||||
required: false
|
required: false
|
||||||
type: icon
|
type: icon
|
||||||
json_attributes_template:
|
json_attributes_template:
|
||||||
|
@ -59,16 +59,16 @@ The precision and floor_temperature settings that were supported in configuratio
|
|||||||
|
|
||||||
The OpenTherm Gateway can be further configured through the integration settings in the web interface
|
The OpenTherm Gateway can be further configured through the integration settings in the web interface
|
||||||
The following options are available:
|
The following options are available:
|
||||||
{% configuration %}
|
{% configuration_basic %}
|
||||||
Precision:
|
Read Precision:
|
||||||
description: "The desired precision for this device. Can be used to match your actual thermostat's precision. Set to `0` to use the default value for your unit preference."
|
description: "The desired read precision for this device. Used to display the current temperature on the climate entity. Can be used to match your actual thermostat's precision. Set to `0` to use the default value for your unit preference."
|
||||||
type: float
|
Set Precision:
|
||||||
default: "`0.5` for Celsius and `1.0` for Fahrenheit."
|
description: "The desired set precision for this device. Used as step size for setting temperature setpoint from the climate entity. Can be used to match your actual thermostat's precision. Set to `0` to use the default value for your unit preference."
|
||||||
|
Temporary Setpoint Override Mode:
|
||||||
|
description: "The desired setpoint override mode. When Temporary Setpoint Override Mode is set to on, the thermostat will be able to cancel the setpoint override after a program change. When the option is set to off, the Setpoint Override Mode will be ‘Constant’ and a manual temperature adjustment on the thermostat is needed to cancel the setpoint override."
|
||||||
Floor Temperature:
|
Floor Temperature:
|
||||||
description: "Some thermostats round all temperatures down to the lower value according to their precision. Default behavior for Home Assistant is to round temperatures to the nearest value. Enable this setting to override this behavior and round to the lower value according to the configured precision."
|
description: "Some thermostats round all temperatures down to the lower value according to their precision. Default behavior for Home Assistant is to round temperatures to the nearest value. Enable this setting to override this behavior and round to the lower value according to the configured precision."
|
||||||
type: boolean
|
{% endconfiguration_basic %}
|
||||||
default: Disabled
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
## Services
|
## Services
|
||||||
|
|
||||||
|
@ -43,35 +43,61 @@ not be activated yet.
|
|||||||
| Mode | Forecast mode, `hourly` for a three-hour forecast, `daily` for daily forecast using a paid API tier, `onecall_hourly` for an hourly forecast up to 2 days, or `onecall_daily` for a daily forecast up to 7 days (ideal for the free tier). |
|
| Mode | Forecast mode, `hourly` for a three-hour forecast, `daily` for daily forecast using a paid API tier, `onecall_hourly` for an hourly forecast up to 2 days, or `onecall_daily` for a daily forecast up to 7 days (ideal for the free tier). |
|
||||||
| Language | Language for receiving data (only for `sensor`) |
|
| Language | Language for receiving data (only for `sensor`) |
|
||||||
|
|
||||||
The integration creates weather entity and also sensors for all available conditions.
|
The integration creates a weather entity as well as sensors for supported weather conditions.
|
||||||
Selecting a `onecall` mode with the free tier leverages the One Call API, resulting in updates every 5 minutes and is recommended for both hourly and daily forecast.
|
Selecting a `onecall` forecast mode with the free tier leverages the One Call API, resulting in updates every 5 minutes and is recommended for both hourly and daily forecast.
|
||||||
|
|
||||||
For each condition `sensor` entity will be created with id:
|
A `sensor` entity will be created for each supported condition. Their ids will follow the format:
|
||||||
|
|
||||||
`sensor.<integration name>_<monitored condition>`
|
`sensor.<integration name>_<monitored condition>`
|
||||||
|
|
||||||
Sensor prints information in language which was selected for integration.
|
Sensors provide data in the language that was selected when configuring the integration.
|
||||||
|
|
||||||
All conditions:
|
|
||||||
|
|
||||||
| Condition | Description |
|
|
||||||
| :------------- | :----------------------------------- |
|
|
||||||
| `weather` | A human-readable text summary. |
|
|
||||||
| `temperature` | Current temperature. |
|
|
||||||
| `wind_speed` | Wind speed. |
|
|
||||||
| `wind_bearing` | Wind bearing. |
|
|
||||||
| `humidity` | Relative humidity. |
|
|
||||||
| `pressure` | Sea-level air pressure in millibars. |
|
|
||||||
| `clouds` | Description of cloud coverage. |
|
|
||||||
| `rain` | Rain volume. |
|
|
||||||
| `snow` | Snow volume. |
|
|
||||||
| `condition` | Current weather condition code. |
|
|
||||||
| `weather_code` | Current weather code. |
|
|
||||||
|
|
||||||
<div class='note'>
|
<div class='note'>
|
||||||
|
|
||||||
Weather entity always will have English language. Home Assistant translate it to user language automatically.
|
The Weather entity provides data only in English. Home Assistant automatically translates it to the language configured for the frontend.
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
## Supported Weather Conditions
|
||||||
|
|
||||||
|
### Current Weather Conditions
|
||||||
|
|
||||||
|
| Condition | Description |
|
||||||
|
| :----------------------- | :------------------------------------------------------------------------------------------------------------------------------ |
|
||||||
|
| `cloud_coverage` | Cloudiness, %. |
|
||||||
|
| `condition` | [Weather condition](https://developers.home-assistant.io/docs/core/entity/weather/#recommended-values-for-state-and-condition). |
|
||||||
|
| `dew_point` | Atmospheric temperature below which water droplets begin to condense and dew can form, ºC. |
|
||||||
|
| `feels_like_temperature` | Temperature accounting for the human perception of weather, ºC. |
|
||||||
|
| `humidity` | Humidity, %. |
|
||||||
|
| `precipitation_kind` | The kind of precipitation (Rain, Snow, Snow and Rain, None) for the last hour. |
|
||||||
|
| `pressure` | Atmospheric pressure at sea level, hPa. |
|
||||||
|
| `rain` | Rain volume for the last hour, mm. |
|
||||||
|
| `snow` | Snow volume for the last hour, mm. |
|
||||||
|
| `temperature` | Temperature, ºC. |
|
||||||
|
| `uv_index` | UV Index. |
|
||||||
|
| `weather` | A human-readable description of the [weather condition](https://openweathermap.org/weather-conditions#Weather-Condition-Codes-2). |
|
||||||
|
| `weather_code` | ID of the [weather condition](https://openweathermap.org/weather-conditions#Weather-Condition-Codes-2). |
|
||||||
|
| `wind_bearing` | Wind direction, degrees (meteorological). |
|
||||||
|
| `wind_speed` | Wind speed, metre/sec. |
|
||||||
|
|
||||||
|
### Forecast Weather Conditions
|
||||||
|
|
||||||
|
<div class='note'>
|
||||||
|
|
||||||
|
The time period these sensors use depends on the forecast mode selected when configuring the integration: `hourly` or `onecall_hourly` will show conditions for the current hour of the day, while `daily` or `onecall_daily` will show conditions for the current day.
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
| Condition | Description |
|
||||||
|
| :----------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| `forecast_condition` | [Weather condition](https://developers.home-assistant.io/docs/core/entity/weather/#recommended-values-for-state-and-condition) for the forecast's time period. |
|
||||||
|
| `forecast_precipitation` | Combined Rain and Snow volume for the forecast's time period, mm. |
|
||||||
|
| `forecast_precipitation_probability` | Probability of precipitation for the forecast's time period. |
|
||||||
|
| `forecast_pressure` | Atmospheric pressure at sea level for the forecast's time period, hPa. |
|
||||||
|
| `forecast_temperature` | Maximum temperature for the day. |
|
||||||
|
| `forecast_temperature_low` | Minimum temperature for the day. |
|
||||||
|
| `forecast_time` | Time of the forecasted data. |
|
||||||
|
| `forecast_wind_bearing` | Wind direction for the forecast's time period, degrees (meteorological). |
|
||||||
|
| `forecast_wind_speed` | Wind speed for the forecast's time period, metre/sec. |
|
||||||
|
|
||||||
Details about the API are available in the [OpenWeatherMap documentation](https://openweathermap.org/api).
|
Details about the API are available in the [OpenWeatherMap documentation](https://openweathermap.org/api).
|
||||||
|
@ -3,19 +3,27 @@ title: Panasonic Viera
|
|||||||
description: Instructions on how to integrate a Panasonic Viera TV with Home Assistant.
|
description: Instructions on how to integrate a Panasonic Viera TV with Home Assistant.
|
||||||
ha_category:
|
ha_category:
|
||||||
- Media Player
|
- Media Player
|
||||||
|
- Remote
|
||||||
ha_release: 0.17
|
ha_release: 0.17
|
||||||
ha_iot_class: Local Polling
|
ha_iot_class: Local Polling
|
||||||
ha_domain: panasonic_viera
|
ha_domain: panasonic_viera
|
||||||
ha_config_flow: true
|
ha_config_flow: true
|
||||||
|
ha_platforms:
|
||||||
|
- remote
|
||||||
---
|
---
|
||||||
|
|
||||||
The `panasonic_viera` platform allows you to control a Panasonic Viera TV.
|
The `panasonic_viera` platform allows you to control a Panasonic Viera TV.
|
||||||
|
|
||||||
|
There is currently support for the following device types within Home Assistant:
|
||||||
|
|
||||||
|
- Media Player
|
||||||
|
- [Remote](#remote)
|
||||||
|
|
||||||
{% include integrations/config_flow.md %}
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
If your TV needs to be paired, you will be prompted to type the PIN code that will be displayed on it.
|
If your TV needs to be paired, you will be prompted to type the PIN code that will be displayed on it.
|
||||||
|
|
||||||
To allow your TV to be turned on or controlled while off, enable `Powered On By Apps` in the TV Settings: **Network > TV Remote App Settings**
|
To allow your TV to be turned on or controlled while off, enable `Powered On By Apps` in your settings (if available): **Network > TV Remote App Settings**
|
||||||
|
|
||||||
## Manual configuration
|
## Manual configuration
|
||||||
|
|
||||||
@ -89,6 +97,23 @@ script:
|
|||||||
entity_id: media_player.living_room_tv
|
entity_id: media_player.living_room_tv
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Remote
|
||||||
|
|
||||||
|
When the integration is configured, two entities will be created: a `media_player` and a `remote`. The remote allows you to send key commands to your TV with the `remote.send_command` service.
|
||||||
|
|
||||||
|
Some of the known valid key values are:
|
||||||
|
|
||||||
|
- `up`
|
||||||
|
- `down`
|
||||||
|
- `left`
|
||||||
|
- `right`
|
||||||
|
- `select`
|
||||||
|
- `home`
|
||||||
|
- `back`
|
||||||
|
- `power`
|
||||||
|
|
||||||
|
The list with all known valid keys can be found [here](https://github.com/florianholzapfel/panasonic-viera/blob/521cefadc8e1543514ce41d3d49e9218d1c2302d/panasonic_viera/__init__.py#L35). Additionally, you can also send custom commands, such as `"NRC_HOME-ONOFF"` (which is the same as `home`).
|
||||||
|
|
||||||
### Currently known supported models
|
### Currently known supported models
|
||||||
|
|
||||||
- TC-P50ST50
|
- TC-P50ST50
|
||||||
|
@ -3,12 +3,15 @@ title: Philips TV
|
|||||||
description: Instructions on how to add Philips TVs to Home Assistant.
|
description: Instructions on how to add Philips TVs to Home Assistant.
|
||||||
ha_category:
|
ha_category:
|
||||||
- Media Player
|
- Media Player
|
||||||
|
- Remote
|
||||||
ha_iot_class: Local Polling
|
ha_iot_class: Local Polling
|
||||||
ha_release: 0.34
|
ha_release: 0.34
|
||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@elupus'
|
- '@elupus'
|
||||||
ha_domain: philips_js
|
ha_domain: philips_js
|
||||||
ha_config_flow: true
|
ha_config_flow: true
|
||||||
|
ha_platforms:
|
||||||
|
- remote
|
||||||
---
|
---
|
||||||
|
|
||||||
The `philips_js` platform allows you to control Philips TVs which expose the [jointSPACE](http://jointspace.sourceforge.net/) JSON-API.
|
The `philips_js` platform allows you to control Philips TVs which expose the [jointSPACE](http://jointspace.sourceforge.net/) JSON-API.
|
||||||
@ -41,4 +44,75 @@ Also, note that version 6 of the API needs to be authenticated by a PIN code dis
|
|||||||
|
|
||||||
### Turn on device
|
### Turn on device
|
||||||
|
|
||||||
The Philips TV does not always support turning on via the API. You can either turn it on via IR blaster or on some models WOL. To trigger this command from the entities, the integration exposes a `device trigger` that can be setup to execute when the `media_player` is asked to turn on.
|
The Philips TV does not always support turning on via the API. You can either turn it on via IR blaster or on som models WOL. To trigger this command from the entities, the integration exposes a `device trigger` that can be setup to execute when the `media_player` is asked to turn on.
|
||||||
|
|
||||||
|
### Remote
|
||||||
|
|
||||||
|
The integration provides a remote entity for sending remote key presses directly to the TV. The following list of commands are available for use with the `remote.send_command` service.
|
||||||
|
|
||||||
|
| Command | Comment |
|
||||||
|
| ---------------- | ----------------------------------------- |
|
||||||
|
| Standby | |
|
||||||
|
| CursorUp | |
|
||||||
|
| CursorDown | |
|
||||||
|
| CursorLeft | |
|
||||||
|
| CursorRight | |
|
||||||
|
| Confirm | |
|
||||||
|
| Back | |
|
||||||
|
| Exit | |
|
||||||
|
| WatchTV | |
|
||||||
|
| Home | |
|
||||||
|
| Source | |
|
||||||
|
| List | |
|
||||||
|
| Find | |
|
||||||
|
| Options | |
|
||||||
|
| Adjust | |
|
||||||
|
| RedColour | |
|
||||||
|
| GreenColour | |
|
||||||
|
| YellowColour | |
|
||||||
|
| BlueColour | |
|
||||||
|
| Play | |
|
||||||
|
| PlayPause | Mapped to same as Play on Android devices |
|
||||||
|
| Pause | |
|
||||||
|
| FastForward | |
|
||||||
|
| Stop | |
|
||||||
|
| Rewind | |
|
||||||
|
| Record | |
|
||||||
|
| ChannelStepUp | |
|
||||||
|
| ChannelStepDown | |
|
||||||
|
| Digit0 | |
|
||||||
|
| Digit1 | |
|
||||||
|
| Digit2 | |
|
||||||
|
| Digit3 | |
|
||||||
|
| Digit4 | |
|
||||||
|
| Digit5 | |
|
||||||
|
| Digit6 | |
|
||||||
|
| Digit7 | |
|
||||||
|
| Digit8 | |
|
||||||
|
| Digit9 | |
|
||||||
|
| Dot | |
|
||||||
|
| VolumeUp | |
|
||||||
|
| VolumeDown | |
|
||||||
|
| Mute | |
|
||||||
|
| Teletext | |
|
||||||
|
| Subtitle | |
|
||||||
|
| ClosedCaption | |
|
||||||
|
| TvGuide | |
|
||||||
|
| Info | |
|
||||||
|
| AmbilightOnOff | |
|
||||||
|
| Viewmode | |
|
||||||
|
| 3dFormat | |
|
||||||
|
| Multiview | |
|
||||||
|
| PictureStyle | |
|
||||||
|
| 3dDepth | |
|
||||||
|
| SoundStyle | |
|
||||||
|
| SurroundMode | |
|
||||||
|
| HeadphonesVolume | |
|
||||||
|
| 2PlayerGaming | |
|
||||||
|
| Setup | |
|
||||||
|
| WhiteColour | |
|
||||||
|
| PowerOn | |
|
||||||
|
| PowerOff | Mapped to same as Standby on Android |
|
||||||
|
| Online | |
|
||||||
|
| SmartTV | |
|
||||||
|
| PhilipsMenu | |
|
||||||
|
@ -15,7 +15,7 @@ ha_platforms:
|
|||||||
- sensor
|
- sensor
|
||||||
---
|
---
|
||||||
|
|
||||||
The Plex integration allows you to connect Home Assistant to a [Plex Media Server](https://plex.tv). Once configured, actively streaming [Plex Clients](https://www.plex.tv/apps-devices/) show up as [Media Players](/integrations/media_player/) and report playback status via a [Sensor](/integrations/sensor/) in Home Assistant. Media Players will allow you to control media playback and see the current playing item.
|
The Plex integration allows you to connect Home Assistant to a [Plex Media Server](https://plex.tv). Once configured, actively streaming [Plex Clients](https://www.plex.tv/apps-devices/) show up as [Media Players](/integrations/media_player/) and report playback status and library sizes via [Sensors](/integrations/sensor/) in Home Assistant. Media Players will allow you to control media playback and see the current playing item.
|
||||||
|
|
||||||
Support for playing music directly on linked [Sonos](/integrations/sonos/) speakers is available for users with an active [Plex Pass](https://www.plex.tv/plex-pass/) subscription. More information [here](#sonos-playback).
|
Support for playing music directly on linked [Sonos](/integrations/sonos/) speakers is available for users with an active [Plex Pass](https://www.plex.tv/plex-pass/) subscription. More information [here](#sonos-playback).
|
||||||
|
|
||||||
@ -56,7 +56,16 @@ Alternatively, you can manually configure a Plex server connection by selecting
|
|||||||
|
|
||||||
## Sensor
|
## Sensor
|
||||||
|
|
||||||
The Plex sensor platform monitors activity on a given Plex Media Server. The sensor state provides the a count of users currently watching media from the Plex server. Clicking the sensor shows who is watching what media.
|
The activity sensor provides a count of users currently watching media from the Plex server. Clicking the sensor shows details for the active users and media streams.
|
||||||
|
|
||||||
|
The library sensors show a count of items in each library. Depending on the library contents, the sensor will show extra detail in its attributes. For example, a library sensor for TV shows will represent the total number of episodes in the library and its attributes will also report the number of shows and seasons it contains.
|
||||||
|
|
||||||
|
<div class='note info'>
|
||||||
|
|
||||||
|
The library sensors are disabled by default, but can be enabled via the Plex integration page.
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
## Media Player
|
## Media Player
|
||||||
|
|
||||||
|
@ -76,16 +76,21 @@ The Point only supports a Arm/Disarm action, so it is only `Arm Away` that is im
|
|||||||
|
|
||||||
Each Point exposes the following binary sensors:
|
Each Point exposes the following binary sensors:
|
||||||
|
|
||||||
|
- **alarm**: `On` means alarm sound was recognised, `Off` means normal
|
||||||
- **battery**: `On` means low, `Off` means normal
|
- **battery**: `On` means low, `Off` means normal
|
||||||
- **button_press**: `On` means the button was pressed, `Off` means normal
|
- **button_press**: `On` means the button was pressed, `Off` means normal
|
||||||
- **cold**: `On` means cold, `Off` means normal
|
- **cold**: `On` means cold, `Off` means normal
|
||||||
- **connectivity**: `On` means connected, `Off` means disconnected
|
- **connectivity**: `On` means connected, `Off` means disconnected
|
||||||
- **dry**: `On` means too dry, `Off` means normal
|
- **dry**: `On` means too dry, `Off` means normal
|
||||||
|
- **glass**: `On` means the sound of glass break was detected, `Off` means normal
|
||||||
- **heat**: `On` means hot, `Off` means normal
|
- **heat**: `On` means hot, `Off` means normal
|
||||||
- **light**: `On` means light detected, `Off` means no light
|
- **light**: `On` means light detected, `Off` means no light
|
||||||
- **moisture**: `On` means moisture detected (wet), `Off` means no moisture (dry)
|
- **moisture**: `On` means moisture detected (wet), `Off` means no moisture (dry)
|
||||||
|
- **motion**: `On` means motion was detected, `Off` means no motion
|
||||||
|
- **noise**: `On` means noise was detected, `Off` means noise levels have gone back to normal
|
||||||
- **sound**: `On` means sound detected, `Off` means no sound (clear)
|
- **sound**: `On` means sound detected, `Off` means no sound (clear)
|
||||||
- **tamper**: `On` means the point was removed or attached, `Off` means normal
|
- **tamper**: `On` means the point was removed, `Off` means normal
|
||||||
|
- **tamper_old**: `On` means the point was removed or attached, `Off` means normal (this is only supported on some "old" devices)
|
||||||
|
|
||||||
<div class="note">
|
<div class="note">
|
||||||
|
|
||||||
|
@ -179,3 +179,16 @@ When looking into the metrics on the Prometheus side, there will be:
|
|||||||
- The [client library](https://github.com/prometheus/client_python) provided metrics, which are a bunch of **process_\*** and also a single pseudo-metric **python_info** which contains (not as value but as labels) information about the Python version of the client, i.e., the Home Assistant Python interpreter.
|
- The [client library](https://github.com/prometheus/client_python) provided metrics, which are a bunch of **process_\*** and also a single pseudo-metric **python_info** which contains (not as value but as labels) information about the Python version of the client, i.e., the Home Assistant Python interpreter.
|
||||||
|
|
||||||
Typically, you will only be interested in the first set of metrics.
|
Typically, you will only be interested in the first set of metrics.
|
||||||
|
|
||||||
|
## Metrics in unavailable or unknown states
|
||||||
|
|
||||||
|
When the Prometheus exporter starts (typically when Home Assistant starts), all non-excluded entities in an unavailable or unknown state are not be exported until they are available again. If the entity goes into state unavailable or unknown again, the value exported will always be the latest known one.
|
||||||
|
|
||||||
|
While an entity is in those states, the `entity_available` corresponding metric is set to 0. This metric can be used to filter out values while the entity is unavailable or in an unknown state thanks to a [recording rule](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/).
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- record: "known_temperature_c"
|
||||||
|
expr: "temperature_c unless entity_available == 0"
|
||||||
|
```
|
||||||
|
@ -40,8 +40,9 @@ api_key:
|
|||||||
|
|
||||||
The following attributes can be placed `data` for extended functionality.
|
The following attributes can be placed `data` for extended functionality.
|
||||||
|
|
||||||
| Service data attribute | Optional | Description |
|
| Service data attribute | Optional | Default | Description |
|
||||||
| ---------------------- | -------- | ----------- |
|
| ---------------------- | -------- | ------- | ----------- |
|
||||||
| `priority` | yes | Priority level, for more info refer to the [Prowl API documentation](https://www.prowlapp.com/api.php#add). |
|
| `priority` | yes | 0 | Priority level, for more info refer to the [Prowl API documentation](https://www.prowlapp.com/api.php#add). |
|
||||||
|
| `url` | yes | n/a | URL to be attached, for more info refer to the [Prowl API documentation](https://www.prowlapp.com/api.php#add). |
|
||||||
|
|
||||||
To use notifications, please see the [getting started with automation page](/getting-started/automation/).
|
To use notifications, please see the [getting started with automation page](/getting-started/automation/).
|
||||||
|
@ -76,12 +76,13 @@ The above `python_script` can be called using the following YAML as an input.
|
|||||||
|
|
||||||
## Documenting your Python scripts
|
## Documenting your Python scripts
|
||||||
|
|
||||||
You can add descriptions for your Python scripts that will be shown in the Call Services tab of the Developer Options page. To do so, simply create a `services.yaml` file in your `<config>/python_scripts` folder. Using the above Python script as an example, the `services.yaml` file would look like:
|
You can add names and descriptions for your Python scripts that will be shown in the frontend. To do so, simply create a `services.yaml` file in your `<config>/python_scripts` folder. Using the above Python script as an example, the `services.yaml` file would look like:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# services.yaml
|
# services.yaml
|
||||||
turn_on_light:
|
turn_on_light:
|
||||||
description: Turn on a light and set its color.
|
name: Turn on light
|
||||||
|
description: Turn on a specific light and set its color.
|
||||||
fields:
|
fields:
|
||||||
entity_id:
|
entity_id:
|
||||||
description: The light that will be turned on.
|
description: The light that will be turned on.
|
||||||
|
@ -210,6 +210,7 @@ Note that purging will not immediately decrease disk space usage but it will sig
|
|||||||
| ---------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| ---------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| `keep_days` | yes | The number of history days to keep in recorder database (defaults to the integration `purge_keep_days` configuration) |
|
| `keep_days` | yes | The number of history days to keep in recorder database (defaults to the integration `purge_keep_days` configuration) |
|
||||||
| `repack` | yes | When using SQLite or PostgreSQL this will rewrite the entire database. When using MySQL or MariaDB it will optimize or recreate the events and states tables. This is a heavy operation that can cause slowdowns and increased disk space usage while it runs. Only supported by SQLite, PostgreSQL, MySQL and MariaDB. |
|
| `repack` | yes | When using SQLite or PostgreSQL this will rewrite the entire database. When using MySQL or MariaDB it will optimize or recreate the events and states tables. This is a heavy operation that can cause slowdowns and increased disk space usage while it runs. Only supported by SQLite, PostgreSQL, MySQL and MariaDB. |
|
||||||
|
| `apply_filter` | yes | Apply entity_id and event_type filter in addition to time based purge. Useful in combination with `include` / `exclude` filter to remove falsely added states and events. Combine with `repack: true` to reduce database size. |
|
||||||
|
|
||||||
### Service `disable`
|
### Service `disable`
|
||||||
|
|
||||||
|
32
source/_integrations/screenlogic.markdown
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
---
|
||||||
|
title: Pentair ScreenLogic
|
||||||
|
description: Instructions on how to integrate a ScreenLogic gateway within Home Assistant.
|
||||||
|
ha_release: '2021.4'
|
||||||
|
ha_category:
|
||||||
|
- Hub
|
||||||
|
- Binary Sensor
|
||||||
|
- Climate
|
||||||
|
- Sensor
|
||||||
|
- Switch
|
||||||
|
ha_iot_class: Local Polling
|
||||||
|
ha_config_flow: true
|
||||||
|
ha_dhcp: true
|
||||||
|
ha_codeowners:
|
||||||
|
- '@dieselrabbit'
|
||||||
|
ha_domain: screenlogic
|
||||||
|
ha_platforms:
|
||||||
|
- binary_sensor
|
||||||
|
- climate
|
||||||
|
- sensor
|
||||||
|
- switch
|
||||||
|
---
|
||||||
|
|
||||||
|
The Pentair ScreenLogic integration allows you to integrate your Pentair Intellitouch or EasyTouch pool controller with Home Assistant via the [Pentair ScreenLogic](https://www.pentair.com/en-us/products/residential/pool-spa-equipment/pool-automation/screenlogic2_interfaceforintellitouchandeasytouchautomationsystems.html) gateway.
|
||||||
|
|
||||||
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
|
## Options
|
||||||
|
|
||||||
|
ScreenLogic options are set via **Configuration** -> **Integrations** -> **Pentair ScreenLogic** -> **Options**.
|
||||||
|
|
||||||
|
* Seconds between scans - How many seconds between each polling of the ScreenLogic gateway.
|
@ -11,7 +11,7 @@ ha_domain: script
|
|||||||
ha_iot_class:
|
ha_iot_class:
|
||||||
---
|
---
|
||||||
|
|
||||||
The `script` integration allows users to specify a sequence of actions to be executed by Home Assistant. These are run when you turn the script on. The script integration will create an entity for each script and allow them to be controlled via services.
|
The script integration allows users to specify a sequence of actions to be executed by Home Assistant. These are run when you turn the script on. The script integration will create an entity for each script and allow them to be controlled via services.
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
@ -62,21 +62,41 @@ variables:
|
|||||||
description: The value of the variable. Any YAML is valid. Templates can also be used to pass a value to the variable.
|
description: The value of the variable. Any YAML is valid. Templates can also be used to pass a value to the variable.
|
||||||
type: any
|
type: any
|
||||||
fields:
|
fields:
|
||||||
description: "Information about the parameters that the script uses; see the [Passing variables to scripts](#passing-variables-to-scripts) section below. Please note: In order for this description to be displayed in the Services tab of the Developer Tools, the script description must be defined as well."
|
description: "Information about the script field parameters; see the [Passing variables to scripts](#passing-variables-to-scripts) section below. Please note: In order for this description to be displayed in the Services tab of the Developer Tools, the script description must be defined as well."
|
||||||
required: false
|
required: false
|
||||||
default: {}
|
default: {}
|
||||||
type: map
|
type: map
|
||||||
keys:
|
keys:
|
||||||
PARAMETER_NAME:
|
FIELD_NAME:
|
||||||
description: A parameter used by this script.
|
description: A parameter field used by this script. All sub-options are only used for creating a representation of this script in the UI.
|
||||||
type: map
|
type: map
|
||||||
keys:
|
keys:
|
||||||
|
name:
|
||||||
|
description: The name of this script parameter field.
|
||||||
|
type: string
|
||||||
description:
|
description:
|
||||||
description: A description of PARAMETER_NAME.
|
description: A description of this of this script parameter.
|
||||||
type: string
|
type: string
|
||||||
|
advanced:
|
||||||
|
description: Marks this field as an advanced parameter. This causes it only to be shown in the UI, when the user has advanced mode enabled.
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
required:
|
||||||
|
description: Mark if this field is required. This is a UI only feature.
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
example:
|
example:
|
||||||
description: An example value for PARAMETER_NAME.
|
description: An example value. This will only be shown in table of options available in the Services tab of the Developer Tools.
|
||||||
type: string
|
type: string
|
||||||
|
default:
|
||||||
|
description: The default value for this field, as shown in the UI.
|
||||||
|
type: any
|
||||||
|
selector:
|
||||||
|
description: >
|
||||||
|
The [selector](/docs/blueprint/selectors/) to use for this input. A
|
||||||
|
selector defines how the input is displayed in the frontend UI.
|
||||||
|
type: selector
|
||||||
|
required: false
|
||||||
mode:
|
mode:
|
||||||
description: "Controls what happens when script is invoked while it is still running from one or more previous invocations. See [Script Modes](#script-modes)."
|
description: "Controls what happens when script is invoked while it is still running from one or more previous invocations. See [Script Modes](#script-modes)."
|
||||||
required: false
|
required: false
|
||||||
@ -125,8 +145,15 @@ script:
|
|||||||
turn_on_entity: group.living_room
|
turn_on_entity: group.living_room
|
||||||
fields:
|
fields:
|
||||||
minutes:
|
minutes:
|
||||||
|
name: Minutes
|
||||||
description: "The amount of time to wait before turning on the living room lights"
|
description: "The amount of time to wait before turning on the living room lights"
|
||||||
example: 1
|
selector:
|
||||||
|
number:
|
||||||
|
min: 0
|
||||||
|
max: 60
|
||||||
|
step: 1
|
||||||
|
unit_of_measurement: minutes
|
||||||
|
mode: slider
|
||||||
# If called again while still running (probably in delay step), start over.
|
# If called again while still running (probably in delay step), start over.
|
||||||
mode: restart
|
mode: restart
|
||||||
sequence:
|
sequence:
|
||||||
|
@ -1,145 +0,0 @@
|
|||||||
---
|
|
||||||
title: Modbus Sensor
|
|
||||||
description: "Instructions on how to integrate Modbus sensors into Home Assistant."
|
|
||||||
ha_category:
|
|
||||||
- Sensor
|
|
||||||
ha_release: pre 0.7
|
|
||||||
ha_iot_class: Local Push
|
|
||||||
ha_domain: modbus
|
|
||||||
---
|
|
||||||
|
|
||||||
The `modbus` sensor allows you to gather data from [Modbus](http://www.modbus.org/) registers.
|
|
||||||
|
|
||||||
## Configuration
|
|
||||||
|
|
||||||
To use your Modbus sensors in your installation, add the following to your `configuration.yaml` file:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
# Example configuration.yaml entry
|
|
||||||
sensor:
|
|
||||||
platform: modbus
|
|
||||||
registers:
|
|
||||||
- name: Sensor1
|
|
||||||
hub: hub1
|
|
||||||
unit_of_measurement: °C
|
|
||||||
slave: 1
|
|
||||||
register: 100
|
|
||||||
- name: Sensor2
|
|
||||||
hub: hub1
|
|
||||||
unit_of_measurement: mg
|
|
||||||
slave: 1
|
|
||||||
register: 110
|
|
||||||
count: 2
|
|
||||||
- name: Sensor3
|
|
||||||
hub: hub1
|
|
||||||
unit_of_measurement: °C
|
|
||||||
slave: 1
|
|
||||||
register: 120
|
|
||||||
register_type: input
|
|
||||||
data_type: float
|
|
||||||
scale: 0.01
|
|
||||||
offset: -273.16
|
|
||||||
precision: 2
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
registers:
|
|
||||||
description: The array contains a list of relevant registers to read from.
|
|
||||||
required: true
|
|
||||||
type: map
|
|
||||||
keys:
|
|
||||||
name:
|
|
||||||
description: Name of the sensor.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
hub:
|
|
||||||
description: The name of the hub.
|
|
||||||
required: false
|
|
||||||
default: modbus_hub
|
|
||||||
type: string
|
|
||||||
slave:
|
|
||||||
description: The number of the slave (Optional for tcp and upd Modbus).
|
|
||||||
required: true
|
|
||||||
type: integer
|
|
||||||
register:
|
|
||||||
description: Register number.
|
|
||||||
required: true
|
|
||||||
type: integer
|
|
||||||
register_type:
|
|
||||||
description: Modbus register type (holding, input), default holding.
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
unit_of_measurement:
|
|
||||||
description: Unit to attach to value.
|
|
||||||
required: false
|
|
||||||
type: integer
|
|
||||||
device_class:
|
|
||||||
description: The [type/class](/integrations/sensor/#device-class) of the sensor to set the icon in the frontend.
|
|
||||||
required: false
|
|
||||||
type: device_class
|
|
||||||
default: None
|
|
||||||
count:
|
|
||||||
description: Number of registers to read.
|
|
||||||
required: false
|
|
||||||
type: integer
|
|
||||||
default: 1
|
|
||||||
reverse_order:
|
|
||||||
description: Reverse the order of registers when count >1.
|
|
||||||
required: false
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
scale:
|
|
||||||
description: Scale factor (output = scale * value + offset).
|
|
||||||
required: false
|
|
||||||
default: 1
|
|
||||||
type: float
|
|
||||||
offset:
|
|
||||||
description: Final offset (output = scale * value + offset).
|
|
||||||
required: false
|
|
||||||
default: 0
|
|
||||||
type: float
|
|
||||||
precision:
|
|
||||||
description: Number of valid decimals.
|
|
||||||
required: false
|
|
||||||
default: 0
|
|
||||||
type: integer
|
|
||||||
data_type:
|
|
||||||
description: Response representation (int, uint, float, string, custom). If float selected, value will be converted to IEEE 754 floating point format.
|
|
||||||
required: false
|
|
||||||
default: int
|
|
||||||
type: string
|
|
||||||
structure:
|
|
||||||
description: "If `data_type` is custom specified a double-quoted Python struct is expected here, to format the string to unpack the value. See Python documentation for details. Example: `>i`."
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
It's possible to change the default 30 seconds scan interval for the sensor updates as shown in the [Platform options](/docs/configuration/platform_options/#scan-interval) documentation.
|
|
||||||
|
|
||||||
<div class='note'>
|
|
||||||
|
|
||||||
If you specify scale or offset as floating point values, double precision floating point arithmetic will be used to calculate final value. This can cause loss of precision for values that are larger than 2^53.
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
### Full example
|
|
||||||
|
|
||||||
Example a temperature sensor with a 10 seconds scan interval:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
sensor:
|
|
||||||
- platform: modbus
|
|
||||||
scan_interval: 10
|
|
||||||
registers:
|
|
||||||
- name: Room_1
|
|
||||||
hub: hub1
|
|
||||||
slave: 10
|
|
||||||
register: 0
|
|
||||||
register_type: holding
|
|
||||||
unit_of_measurement: °C
|
|
||||||
count: 1
|
|
||||||
scale: 0.1
|
|
||||||
offset: 0
|
|
||||||
precision: 1
|
|
||||||
data_type: integer
|
|
||||||
```
|
|
@ -75,6 +75,10 @@ device:
|
|||||||
description: The name of the device.
|
description: The name of the device.
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
suggested_area:
|
||||||
|
description: 'Suggest an area if the device isn’t in one yet.'
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
sw_version:
|
sw_version:
|
||||||
description: The firmware version of the device.
|
description: The firmware version of the device.
|
||||||
required: false
|
required: false
|
||||||
@ -99,7 +103,7 @@ force_update:
|
|||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
icon:
|
icon:
|
||||||
description: The icon for the sensor.
|
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
|
||||||
required: false
|
required: false
|
||||||
type: icon
|
type: icon
|
||||||
json_attributes_template:
|
json_attributes_template:
|
||||||
|
@ -10,6 +10,8 @@ ha_domain: solaredge
|
|||||||
ha_dhcp: true
|
ha_dhcp: true
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- sensor
|
- sensor
|
||||||
|
ha_codeowners:
|
||||||
|
- '@frenck'
|
||||||
---
|
---
|
||||||
|
|
||||||
The `solaredge` platform uses the [SolarEdge Monitoring API](https://www.solaredge.com/sites/default/files/se_monitoring_api.pdf) to allow you to get details from your SolarEdge solar power setup and integrate these in your Home Assistant installation.
|
The `solaredge` platform uses the [SolarEdge Monitoring API](https://www.solaredge.com/sites/default/files/se_monitoring_api.pdf) to allow you to get details from your SolarEdge solar power setup and integrate these in your Home Assistant installation.
|
||||||
|
@ -8,8 +8,6 @@ ha_release: 0.92
|
|||||||
ha_iot_class: Assumed State
|
ha_iot_class: Assumed State
|
||||||
ha_domain: somfy_mylink
|
ha_domain: somfy_mylink
|
||||||
ha_config_flow: true
|
ha_config_flow: true
|
||||||
ha_codeowners:
|
|
||||||
- '@bdraco'
|
|
||||||
ha_dhcp: true
|
ha_dhcp: true
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- cover
|
- cover
|
||||||
|
@ -9,6 +9,7 @@ ha_quality_scale: internal
|
|||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@hunterjm'
|
- '@hunterjm'
|
||||||
- '@uvjustin'
|
- '@uvjustin'
|
||||||
|
- '@allenporter'
|
||||||
ha_domain: stream
|
ha_domain: stream
|
||||||
---
|
---
|
||||||
|
|
||||||
|
@ -1,137 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Modbus Switch"
|
|
||||||
description: "Instructions on how to integrate Modbus switches into Home Assistant."
|
|
||||||
ha_category:
|
|
||||||
- Switch
|
|
||||||
ha_release: pre 0.7
|
|
||||||
ha_iot_class: Local Push
|
|
||||||
ha_domain: modbus
|
|
||||||
---
|
|
||||||
|
|
||||||
The `modbus` switch platform allows you to control [Modbus](http://www.modbus.org/) coils or registers.
|
|
||||||
|
|
||||||
## Configuration
|
|
||||||
|
|
||||||
To use your Modbus switches in your installation, add the following to your `configuration.yaml` file:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
# Example configuration.yaml entry
|
|
||||||
switch:
|
|
||||||
platform: modbus
|
|
||||||
coils:
|
|
||||||
- name: Switch1
|
|
||||||
hub: hub1
|
|
||||||
slave: 1
|
|
||||||
coil: 13
|
|
||||||
- name: Switch2
|
|
||||||
slave: 2
|
|
||||||
coil: 14
|
|
||||||
registers:
|
|
||||||
- name: Register1
|
|
||||||
hub: hub1
|
|
||||||
slave: 1
|
|
||||||
register: 11
|
|
||||||
command_on: 1
|
|
||||||
command_off: 0
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
coils:
|
|
||||||
description: A list of relevant coils to read from/write to.
|
|
||||||
required: false
|
|
||||||
type: map
|
|
||||||
keys:
|
|
||||||
hub:
|
|
||||||
description: The name of the hub.
|
|
||||||
required: false
|
|
||||||
default: default
|
|
||||||
type: string
|
|
||||||
slave:
|
|
||||||
description: The number of the slave (can be omitted for tcp and udp Modbus).
|
|
||||||
required: true
|
|
||||||
type: integer
|
|
||||||
name:
|
|
||||||
description: Name of the switch.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
coil:
|
|
||||||
description: Coil number.
|
|
||||||
required: true
|
|
||||||
type: integer
|
|
||||||
registers:
|
|
||||||
description: A list of relevant registers to read from/write to.
|
|
||||||
required: false
|
|
||||||
type: map
|
|
||||||
keys:
|
|
||||||
hub:
|
|
||||||
description: The hub to use.
|
|
||||||
required: false
|
|
||||||
default: default
|
|
||||||
type: string
|
|
||||||
slave:
|
|
||||||
description: The number of the slave (can be omitted for tcp and udp Modbus).
|
|
||||||
required: true
|
|
||||||
type: integer
|
|
||||||
name:
|
|
||||||
description: Name of the switch.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
register:
|
|
||||||
description: Register number.
|
|
||||||
required: true
|
|
||||||
type: integer
|
|
||||||
command_on:
|
|
||||||
description: Value to write to turn on the switch.
|
|
||||||
required: true
|
|
||||||
type: integer
|
|
||||||
command_off:
|
|
||||||
description: Value to write to turn off the switch.
|
|
||||||
required: true
|
|
||||||
type: integer
|
|
||||||
verify_state:
|
|
||||||
description: Define if is possible to readback the status of the switch.
|
|
||||||
required: false
|
|
||||||
default: true
|
|
||||||
type: boolean
|
|
||||||
verify_register:
|
|
||||||
description: Register to readback.
|
|
||||||
required: false
|
|
||||||
default: same as register
|
|
||||||
type: string
|
|
||||||
register_type:
|
|
||||||
description: Modbus register types are holding or input.
|
|
||||||
required: false
|
|
||||||
default: holding
|
|
||||||
type: string
|
|
||||||
state_on:
|
|
||||||
description: Register value when switch is on.
|
|
||||||
required: false
|
|
||||||
default: same as command_on
|
|
||||||
type: integer
|
|
||||||
state_off:
|
|
||||||
description: Register value when switch is off.
|
|
||||||
required: false
|
|
||||||
default: same as command_off
|
|
||||||
type: integer
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
It's possible to change the default 30 seconds scan interval for the switch state updates as shown in the [Platform options](/docs/configuration/platform_options/#scan-interval) documentation.
|
|
||||||
|
|
||||||
### Full example
|
|
||||||
|
|
||||||
Example switches, for which the state is polled from Modbus every 10 seconds.
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
switch:
|
|
||||||
platform: modbus
|
|
||||||
scan_interval: 10
|
|
||||||
coils:
|
|
||||||
- name: Switch1
|
|
||||||
hub: hub1
|
|
||||||
slave: 1
|
|
||||||
coil: 13
|
|
||||||
- name: Switch2
|
|
||||||
hub: hub1
|
|
||||||
slave: 2
|
|
||||||
coil: 14
|
|
||||||
```
|
|
@ -85,6 +85,10 @@ device:
|
|||||||
description: The name of the device.
|
description: The name of the device.
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
suggested_area:
|
||||||
|
description: 'Suggest an area if the device isn’t in one yet.'
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
sw_version:
|
sw_version:
|
||||||
description: The firmware version of the device.
|
description: The firmware version of the device.
|
||||||
required: false
|
required: false
|
||||||
@ -94,7 +98,7 @@ device:
|
|||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
icon:
|
icon:
|
||||||
description: Icon for the switch.
|
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
|
||||||
required: false
|
required: false
|
||||||
type: icon
|
type: icon
|
||||||
json_attributes_template:
|
json_attributes_template:
|
||||||
|
@ -8,6 +8,7 @@ ha_category:
|
|||||||
- Water Heater
|
- Water Heater
|
||||||
- Presence Detection
|
- Presence Detection
|
||||||
- Sensor
|
- Sensor
|
||||||
|
- Weather
|
||||||
ha_release: 0.41
|
ha_release: 0.41
|
||||||
ha_iot_class: Cloud Polling
|
ha_iot_class: Cloud Polling
|
||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
@ -34,6 +35,7 @@ There is currently support for the following device types within Home Assistant:
|
|||||||
- Water Heater - for water heater zones.
|
- Water Heater - for water heater zones.
|
||||||
- [Presence Detection](#presence-detection)
|
- [Presence Detection](#presence-detection)
|
||||||
- Sensor - for some additional information of the zones.
|
- Sensor - for some additional information of the zones.
|
||||||
|
- Weather - for information about the current weather at the location of your Tado home.
|
||||||
|
|
||||||
{% include integrations/config_flow.md %}
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
|
@ -49,6 +49,10 @@ device:
|
|||||||
description: The name of the device.
|
description: The name of the device.
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
suggested_area:
|
||||||
|
description: 'Suggest an area if the device isn’t in one yet.'
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
sw_version:
|
sw_version:
|
||||||
description: The firmware version of the device.
|
description: The firmware version of the device.
|
||||||
required: false
|
required: false
|
||||||
|
@ -23,7 +23,22 @@ ha_platforms:
|
|||||||
- weather
|
- weather
|
||||||
---
|
---
|
||||||
|
|
||||||
The `template` platform supports sensors which get their values from other entities.
|
The `template` integration allows creating entities which derive their values from other entities. This is done by defining [templates](/docs/configuration/templating/) for each property of an entity, like the name or the state. Entities are updated automatically whenever a value that a template relies on changes.
|
||||||
|
|
||||||
|
For template sensors it's also possible to derive the state from [automation triggers](#configuration-for-trigger-based-template-sensors).
|
||||||
|
|
||||||
|
Available template platforms:
|
||||||
|
|
||||||
|
- [Alarm_control_panel](/integrations/alarm_control_panel.template/)
|
||||||
|
- [Binary_sensor](/integrations/binary_sensor.template/)
|
||||||
|
- [Cover](/integrations/cover.template/)
|
||||||
|
- [Fan](/integrations/fan.template/)
|
||||||
|
- [Light](/integrations/light.template/)
|
||||||
|
- [Lock](/integrations/lock.template/)
|
||||||
|
- Sensor (this page)
|
||||||
|
- [Switch](/integrations/switch.template/)
|
||||||
|
- [Vacuum](/integrations/vacuum.template/)
|
||||||
|
- [Weather](/integrations/weather.template/)
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
@ -49,7 +64,7 @@ sensor:
|
|||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
sensors:
|
sensors:
|
||||||
description: List of your sensors.
|
description: Map of your sensors.
|
||||||
required: true
|
required: true
|
||||||
type: map
|
type: map
|
||||||
keys:
|
keys:
|
||||||
@ -90,7 +105,7 @@ sensor:
|
|||||||
"attribute: template":
|
"attribute: template":
|
||||||
description: The attribute and corresponding template.
|
description: The attribute and corresponding template.
|
||||||
required: true
|
required: true
|
||||||
type: template
|
type: template
|
||||||
availability_template:
|
availability_template:
|
||||||
description: Defines a template to get the `available` state of the component. If the template returns `true`, the device is `available`. If the template returns any other value, the device will be `unavailable`. If `availability_template` is not configured, the component will always be `available`.
|
description: Defines a template to get the `available` state of the component. If the template returns `true`, the device is `available`. If the template returns any other value, the device will be `unavailable`. If `availability_template` is not configured, the component will always be `available`.
|
||||||
required: false
|
required: false
|
||||||
@ -103,6 +118,106 @@ sensor:
|
|||||||
default: None
|
default: None
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
|
## Configuration for trigger-based template sensors
|
||||||
|
|
||||||
|
Trigger-based template sensors allow the user to define [an automation trigger][trigger-doc] for a group of template sensors. Whenever the trigger fires, the template sensor will re-render and it will have access to [the trigger data](/docs/automation/templating/) in the templates. This feature is a great way to create data based on webhook data, or have sensors be updated based on a time-schedule.
|
||||||
|
|
||||||
|
Trigger-based template entities are defined in YAML directly under the `template:` key. You can define multiple configuration blocks as a list. Each block defines one or more triggers and the sensors that should be updated when the trigger fires.
|
||||||
|
|
||||||
|
Trigger-based entities do not automatically update when states referenced in the templates change. This functionality can be added by defining a [state trigger](/docs/automation/trigger/#state-trigger) for each entity that you want to trigger updates.
|
||||||
|
|
||||||
|
{% raw %}
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# Example configuration entry
|
||||||
|
template:
|
||||||
|
- trigger:
|
||||||
|
- platform: webhook
|
||||||
|
webhook_id: my-super-secret-webhook-id
|
||||||
|
sensor:
|
||||||
|
- name: "Webhook Temperature"
|
||||||
|
state: "{{ trigger.json.temperature }}"
|
||||||
|
- name: "Webhook Humidity"
|
||||||
|
state: "{{ trigger.json.humidity }}"
|
||||||
|
```
|
||||||
|
|
||||||
|
{% endraw %}
|
||||||
|
|
||||||
|
You can test this trigger entity with the following CURL command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl --header "Content-Type: application/json" \
|
||||||
|
--request POST \
|
||||||
|
--data '{"temperature": 5, "humidity": 34}' \
|
||||||
|
http://homeassistant.local:8123/api/webhook/my-super-secret-webhook-id
|
||||||
|
```
|
||||||
|
|
||||||
|
<p class='note'>Configuration under the <code>template:</code> key uses a different format compared to the platform configuration.</p>
|
||||||
|
|
||||||
|
{% configuration %}
|
||||||
|
trigger:
|
||||||
|
description: The trigger configuration for this entity. [See trigger documentation](/docs/automation/trigger)
|
||||||
|
required: true
|
||||||
|
type: list
|
||||||
|
unique_id:
|
||||||
|
description: The unique ID for this trigger. This will be prefixed to all unique IDs of all entities in this block.
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
sensor:
|
||||||
|
description: List of sensors to create from the trigger data.
|
||||||
|
required: true
|
||||||
|
type: map
|
||||||
|
keys:
|
||||||
|
state:
|
||||||
|
description: Defines a template to get the state of the sensor.
|
||||||
|
required: true
|
||||||
|
type: template
|
||||||
|
name:
|
||||||
|
description: Defines a template to get the name of the sensor.
|
||||||
|
required: false
|
||||||
|
type: template
|
||||||
|
unique_id:
|
||||||
|
description: An ID that uniquely identifies this sensor. Will be combined with the unique ID of the configuration block if available.
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
unit_of_measurement:
|
||||||
|
description: "Defines the units of measurement of the sensor, if any. This will also influence the graphical presentation in the history visualization as a continuous value. Sensors with missing `unit_of_measurement` are showing as discrete values."
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
default: None
|
||||||
|
icon:
|
||||||
|
description: Defines a template for the icon of the sensor.
|
||||||
|
required: false
|
||||||
|
type: template
|
||||||
|
picture:
|
||||||
|
description: Defines a template for the entity picture of the sensor.
|
||||||
|
required: false
|
||||||
|
type: template
|
||||||
|
attributes:
|
||||||
|
description: Defines templates for attributes of the sensor.
|
||||||
|
required: false
|
||||||
|
type: map
|
||||||
|
keys:
|
||||||
|
"attribute: template":
|
||||||
|
description: The attribute and corresponding template.
|
||||||
|
required: true
|
||||||
|
type: template
|
||||||
|
availability:
|
||||||
|
description: Defines a template to get the `available` state of the component. If the template returns `true`, the device is `available`. If the template returns any other value, the device will be `unavailable`. If not configured, the component will always be `available`.
|
||||||
|
required: false
|
||||||
|
type: template
|
||||||
|
default: true
|
||||||
|
device_class:
|
||||||
|
description: Sets the class of the device, changing the device state and icon that is displayed on the UI (see below). It does not set the `unit_of_measurement`.
|
||||||
|
required: false
|
||||||
|
type: device_class
|
||||||
|
default: None
|
||||||
|
{% endconfiguration %}
|
||||||
|
|
||||||
|
<p class='note'>It's currently only possible to define trigger-based entities via the top-level configuration. These entities are not yet included when reloading template entities.</p>
|
||||||
|
|
||||||
|
[trigger-doc]: /docs/automation/trigger
|
||||||
|
|
||||||
## Considerations
|
## Considerations
|
||||||
|
|
||||||
### Startup
|
### Startup
|
||||||
|
@ -59,6 +59,8 @@ Plugs are type `switch` when autodiscovery has been disabled.
|
|||||||
|
|
||||||
### Bulbs
|
### Bulbs
|
||||||
|
|
||||||
|
Other bulbs may also work, but with limited color temperatures. If you find a bulb isn't reaching the full-color temperature boundaries, submit a bug report.
|
||||||
|
|
||||||
- LB100
|
- LB100
|
||||||
- LB110
|
- LB110
|
||||||
- LB120
|
- LB120
|
||||||
@ -66,7 +68,10 @@ Plugs are type `switch` when autodiscovery has been disabled.
|
|||||||
- LB230
|
- LB230
|
||||||
- KL110
|
- KL110
|
||||||
- KL120
|
- KL120
|
||||||
|
- KL125
|
||||||
- KL130
|
- KL130
|
||||||
|
- KB130
|
||||||
|
- KL430
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
|
@ -15,8 +15,6 @@ ha_platforms:
|
|||||||
|
|
||||||
The `updater` binary sensor will check daily for new releases. The state will be "on" when an update is available. Otherwise, the state will be "off". The newer version, as well as the link to the release notes, are attributes of the updater.
|
The `updater` binary sensor will check daily for new releases. The state will be "on" when an update is available. Otherwise, the state will be "off". The newer version, as well as the link to the release notes, are attributes of the updater.
|
||||||
|
|
||||||
The updater integration will also collect basic information about the running Home Assistant instance and its environment. The information includes the current Home Assistant version, the time zone, Python version and operating system information. No identifiable information (i.e., IP address, GPS coordinates, etc.) will ever be collected. If you are concerned about your privacy, you are welcome to scrutinize the Python [source code](https://github.com/home-assistant/home-assistant/tree/dev/homeassistant/components/updater).
|
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
This integration is by default enabled, unless you've disabled or removed the [`default_config:`](/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually:
|
This integration is by default enabled, unless you've disabled or removed the [`default_config:`](/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually:
|
||||||
@ -25,38 +23,6 @@ This integration is by default enabled, unless you've disabled or removed the [`
|
|||||||
updater:
|
updater:
|
||||||
```
|
```
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
reporting:
|
|
||||||
description: Whether or not to share system information when checking for updates.
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: true
|
|
||||||
include_used_components:
|
|
||||||
description: Whether or not to report the integrations that you are using in Home Assistant.
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
For further information about the Updater's data, please check the [detailed overview](/docs/backend/updater/). If you choose not to share any information when checking for updates, you can set `reporting: false`.
|
|
||||||
|
|
||||||
It is possible to report the integrations that you are using to the Home Assistant developers. This will help them focus on improving the popular ones. To enable this option, you have to add `include_used_components: true`.
|
|
||||||
|
|
||||||
```json
|
|
||||||
"components": [
|
|
||||||
"apcupsd",
|
|
||||||
"api",
|
|
||||||
"automation",
|
|
||||||
"binary_sensor",
|
|
||||||
"binary_sensor.zwave",
|
|
||||||
"camera",
|
|
||||||
"camera.uvc",
|
|
||||||
"config",
|
|
||||||
"config.core",
|
|
||||||
...
|
|
||||||
]
|
|
||||||
```
|
|
||||||
|
|
||||||
## Notification
|
## Notification
|
||||||
|
|
||||||
For an added bonus, an automation integration can be created to send a message with a notifier when that state of this component's entity changes.
|
For an added bonus, an automation integration can be created to send a message with a notifier when that state of this component's entity changes.
|
||||||
|
@ -113,6 +113,10 @@ fan_speed_topic:
|
|||||||
description: The MQTT topic subscribed to receive fan speed values from the vacuum.
|
description: The MQTT topic subscribed to receive fan speed values from the vacuum.
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
icon:
|
||||||
|
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
|
||||||
|
required: false
|
||||||
|
type: icon
|
||||||
json_attributes_template:
|
json_attributes_template:
|
||||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
||||||
required: false
|
required: false
|
||||||
@ -348,6 +352,10 @@ device:
|
|||||||
description: The name of the device.
|
description: The name of the device.
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
suggested_area:
|
||||||
|
description: 'Suggest an area if the device isn’t in one yet.'
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
sw_version:
|
sw_version:
|
||||||
description: The firmware version of the device.
|
description: The firmware version of the device.
|
||||||
required: false
|
required: false
|
||||||
|
@ -16,7 +16,7 @@ ha_iot_class: Local Polling
|
|||||||
ha_config_flow: true
|
ha_config_flow: true
|
||||||
ha_domain: vera
|
ha_domain: vera
|
||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@vangorra'
|
- '@pavoni'
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- binary_sensor
|
- binary_sensor
|
||||||
- climate
|
- climate
|
||||||
|
@ -21,6 +21,8 @@ ha_platforms:
|
|||||||
- lock
|
- lock
|
||||||
- sensor
|
- sensor
|
||||||
- switch
|
- switch
|
||||||
|
ha_config_flow: true
|
||||||
|
ha_dhcp: true
|
||||||
---
|
---
|
||||||
|
|
||||||
Home Assistant has support to integrate your [Verisure](https://www.verisure.com/) devices.
|
Home Assistant has support to integrate your [Verisure](https://www.verisure.com/) devices.
|
||||||
@ -34,75 +36,7 @@ There is currently support for the following device types within Home Assistant:
|
|||||||
- Lock
|
- Lock
|
||||||
- Binary Sensor (Door & Window)
|
- Binary Sensor (Door & Window)
|
||||||
|
|
||||||
## Configuration
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
To integrate Verisure with Home Assistant, add the following section to your `configuration.yaml` file:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
# Example configuration.yaml entry
|
|
||||||
verisure:
|
|
||||||
username: USERNAME
|
|
||||||
password: PASSWORD
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
username:
|
|
||||||
description: The username to Verisure mypages.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
password:
|
|
||||||
description: The password to Verisure mypages.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
alarm:
|
|
||||||
description: Set to `true` to show alarm, `false` to disable.
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: true
|
|
||||||
hygrometers:
|
|
||||||
description: Set to `true` to show hygrometers, `false` to disable.
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: true
|
|
||||||
smartplugs:
|
|
||||||
description: Set to `true` to show smartplugs, `false` to disable.
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: true
|
|
||||||
locks:
|
|
||||||
description: Set to `true` to show locks, `false` to disable.
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: true
|
|
||||||
default_lock_code:
|
|
||||||
description: Code that will be used to lock or unlock, if none is supplied.
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
thermometers:
|
|
||||||
description: Set to `true` to show thermometers, `false` to disable.
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: true
|
|
||||||
mouse:
|
|
||||||
description: Set to `true` to show mouse detectors, `false` to disable.
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: true
|
|
||||||
door_window:
|
|
||||||
description: Set to `true` to show doors and windows, `false` to disable.
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: true
|
|
||||||
code_digits:
|
|
||||||
description: Number of digits in PIN code.
|
|
||||||
required: false
|
|
||||||
type: integer
|
|
||||||
default: 4
|
|
||||||
giid:
|
|
||||||
description: The GIID of your installation (If you have more then one alarm system). To find the GIID for your systems run `python verisure.py` EMAIL PASSWORD installations'.
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
## 2 Factor Authentication Prerequisite
|
## 2 Factor Authentication Prerequisite
|
||||||
|
|
||||||
|
@ -34,17 +34,17 @@ name:
|
|||||||
type: string
|
type: string
|
||||||
default: "`Current Version` in case of `source: local`, `Latest Version` otherwise."
|
default: "`Current Version` in case of `source: local`, `Latest Version` otherwise."
|
||||||
beta:
|
beta:
|
||||||
description: Flag to indicate that it will check for beta versions, only supported for the sources `pypi`, `hassio` and `docker`.
|
description: Flag to indicate that it will check for beta versions, only supported for the sources `pypi`, `supervisor` and `container`.
|
||||||
required: false
|
required: false
|
||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
image:
|
image:
|
||||||
description: The image you want to check against, this is only supported for `hassio` and `docker`, see full list under.
|
description: The image you want to check against, this is only supported for `supervisor` and `container`, see full list under.
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
default: default
|
default: default
|
||||||
source:
|
source:
|
||||||
description: The source you want to check against, possible values are `local`, `pypi`, `hassio`, `haio` and `docker`.
|
description: The source you want to check against, possible values are `local`, `pypi`, `supervisor`, `haio` and `container`.
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
default: local
|
default: local
|
||||||
|
@ -52,7 +52,7 @@ circuit:
|
|||||||
required: false
|
required: false
|
||||||
type: integer
|
type: integer
|
||||||
heating_type:
|
heating_type:
|
||||||
description: One of `generic`, `gas` or `heatpump`. Specifying the heating_type provides additional attributes and sensors specific for the heating system.
|
description: One of `generic`, `gas`, `heatpump` or `fuelcell`. Specifying the heating_type provides additional attributes and sensors specific for the heating system.
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
default: generic
|
default: generic
|
||||||
|
@ -9,6 +9,8 @@ ha_iot_class: Local Push
|
|||||||
ha_domain: wake_on_lan
|
ha_domain: wake_on_lan
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- switch
|
- switch
|
||||||
|
ha_codeowners:
|
||||||
|
- '@ntilley905'
|
||||||
---
|
---
|
||||||
|
|
||||||
The `wake_on_lan` integration enables the ability to send _magic packets_ to [Wake on LAN](https://en.wikipedia.org/wiki/Wake-on-LAN) capable devices to turn them on.
|
The `wake_on_lan` integration enables the ability to send _magic packets_ to [Wake on LAN](https://en.wikipedia.org/wiki/Wake-on-LAN) capable devices to turn them on.
|
||||||
@ -83,7 +85,7 @@ name:
|
|||||||
default: Wake on LAN
|
default: Wake on LAN
|
||||||
type: string
|
type: string
|
||||||
host:
|
host:
|
||||||
description: The IP address or hostname to check the state of the device (on/off).
|
description: The IP address or hostname to check the state of the device (on/off). If this is not provided, the state of the switch will be assumed based on the last action that was taken.
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
turn_off:
|
turn_off:
|
||||||
|
@ -56,6 +56,10 @@ humidity_template:
|
|||||||
description: The current humidity.
|
description: The current humidity.
|
||||||
required: true
|
required: true
|
||||||
type: template
|
type: template
|
||||||
|
attribution_template:
|
||||||
|
description: The attribution to be shown in the frontend.
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
pressure_template:
|
pressure_template:
|
||||||
description: The current air pressure.
|
description: The current air pressure.
|
||||||
required: false
|
required: false
|
||||||
@ -64,6 +68,18 @@ wind_speed_template:
|
|||||||
description: The current wind speed.
|
description: The current wind speed.
|
||||||
required: false
|
required: false
|
||||||
type: template
|
type: template
|
||||||
|
wind_bearing_template:
|
||||||
|
description: The current wind bearing.
|
||||||
|
required: false
|
||||||
|
type: template
|
||||||
|
ozone_template:
|
||||||
|
description: The current ozone level.
|
||||||
|
required: false
|
||||||
|
type: template
|
||||||
|
visibility_template:
|
||||||
|
description: The current visibility.
|
||||||
|
required: false
|
||||||
|
type: template
|
||||||
forecast_template:
|
forecast_template:
|
||||||
description: Daily forecast data.
|
description: Daily forecast data.
|
||||||
required: false
|
required: false
|
||||||
|
@ -36,8 +36,7 @@ The `xiaomi_miio` integration supports the following devices:
|
|||||||
- [Xiaomi Gateway](#xiaomi-gateway)
|
- [Xiaomi Gateway](#xiaomi-gateway)
|
||||||
- [Xiaomi device tracker (Xiaomi Mi WiFi Repeater 2)](#xiaomi-device-tracker-xiaomi-mi-wifi-repeater-2)
|
- [Xiaomi device tracker (Xiaomi Mi WiFi Repeater 2)](#xiaomi-device-tracker-xiaomi-mi-wifi-repeater-2)
|
||||||
- [Xiaomi Air Purifier and Humidifier](#xiaomi-air-purifier-and-humidifier)
|
- [Xiaomi Air Purifier and Humidifier](#xiaomi-air-purifier-and-humidifier)
|
||||||
- [Xiaomi Air Quality Index Monitor](#xiaomi-air-quality-index-monitor)
|
- [Xiaomi Air Quality Monitor](#xiaomi-air-quality-monitor)
|
||||||
- [Xiaomi Mi Air Quality Monitor](#xiaomi-mi-air-quality-monitor)
|
|
||||||
- [Xiaomi IR Remote](#xiaomi-ir-remote)
|
- [Xiaomi IR Remote](#xiaomi-ir-remote)
|
||||||
- [Xiaomi Mi Robot Vacuum](#xiaomi-mi-robot-vacuum)
|
- [Xiaomi Mi Robot Vacuum](#xiaomi-mi-robot-vacuum)
|
||||||
- [Xiaomi Philips Light](#xiaomi-philips-light)
|
- [Xiaomi Philips Light](#xiaomi-philips-light)
|
||||||
@ -239,6 +238,26 @@ These subdevices are fully implemented in HomeAssistant:
|
|||||||
| -------------------------------- | ----------------------- | --------------- | ------------------------------------------------ |
|
| -------------------------------- | ----------------------- | --------------- | ------------------------------------------------ |
|
||||||
| Weather sensor | lumi.sensor_ht | WSDCGQ01LM | readout `temperature` and `humidity` |
|
| Weather sensor | lumi.sensor_ht | WSDCGQ01LM | readout `temperature` and `humidity` |
|
||||||
| Weather sensor | lumi.weather.v1 | WSDCGQ11LM | readout `temperature`, `humidity` and `pressure` |
|
| Weather sensor | lumi.weather.v1 | WSDCGQ11LM | readout `temperature`, `humidity` and `pressure` |
|
||||||
|
| Wall switch single | lumi.ctrl_ln1 | QBKG11LM | load_power, status, turn_on, turn_off, toggle |
|
||||||
|
| Wall switch single | lumi.ctrl_ln1.aq1 | QBKG11LM | load_power, status, turn_on, turn_off, toggle |
|
||||||
|
| Wall switch no neutral | lumi.ctrl_neutral1.v1 | QBKG04LM | status, turn_on, turn_off, toggle |
|
||||||
|
| Wall switch double | lumi.ctrl_ln2 | QBKG12LM | load_power, status, turn_on, turn_off, toggle |
|
||||||
|
| Wall switch double | lumi.ctrl_ln2.aq1 | QBKG12LM | load_power, status, turn_on, turn_off, toggle |
|
||||||
|
| Wall switch double no neutral | lumi.ctrl_neutral2 | QBKG03LM | status, turn_on, turn_off, toggle |
|
||||||
|
| D1 wall switch triple | lumi.switch.n3acn3 | QBKG26LM | load_power, status, turn_on, turn_off, toggle |
|
||||||
|
| D1 wall switch triple no neutral | lumi.switch.l3acn3 | QBKG25LM | load_power, status, turn_on, turn_off, toggle |
|
||||||
|
| Wall outlet | lumi.ctrl_86plug.v1 | QBCZ11LM | status, turn_on, turn_off, toggle |
|
||||||
|
| Wall outlet | lumi.ctrl_86plug.aq1 | QBCZ11LM | load_power, status, turn_on, turn_off, toggle |
|
||||||
|
| Plug | lumi.plug | ZNCZ02LM | load_power, status, turn_on, turn_off, toggle |
|
||||||
|
| Relay | lumi.relay.c2acn01 | LLKZMK11LM | load_power, status, turn_on, turn_off, toggle |
|
||||||
|
| Smart bulb E27 | lumi.light.aqcn02 | ZNLDP12LM | on/off, brightness, color temperature |
|
||||||
|
| IKEA smart bulb E27 white | ikea.light.led1545g12 | LED1545G12 | on/off, brightness, color temperature |
|
||||||
|
| IKEA smart bulb E27 white | ikea.light.led1546g12 | LED1546G12 | on/off, brightness, color temperature |
|
||||||
|
| IKEA smart bulb E12 white | ikea.light.led1536g5 | LED1536G5 | on/off, brightness, color temperature |
|
||||||
|
| IKEA smart bulb GU10 white | ikea.light.led1537r6 | LED1537R6 | on/off, brightness, color temperature |
|
||||||
|
| IKEA smart bulb E27 white | ikea.light.led1623g12 | LED1623G12 | on/off, brightness, color temperature |
|
||||||
|
| IKEA smart bulb GU10 white | ikea.light.led1650r5 | LED1650R5 | on/off, brightness, color temperature |
|
||||||
|
| IKEA smart bulb E12 white | ikea.light.led1649c5 | LED1649C5 | on/off, brightness, color temperature |
|
||||||
|
|
||||||
### Recognized subdevices (not yet implemented)
|
### Recognized subdevices (not yet implemented)
|
||||||
|
|
||||||
@ -266,18 +285,6 @@ These subdevices are recognized by the python-miio code but are still being work
|
|||||||
| Remote switch double | lumi.sensor_86sw2.v1 | WXKG02LM 2016 |
|
| Remote switch double | lumi.sensor_86sw2.v1 | WXKG02LM 2016 |
|
||||||
| Remote switch double | lumi.remote.b286acn01 | WXKG02LM 2018 |
|
| Remote switch double | lumi.remote.b286acn01 | WXKG02LM 2018 |
|
||||||
| D1 remote switch double | lumi.remote.b286acn02 | WXKG07LM |
|
| D1 remote switch double | lumi.remote.b286acn02 | WXKG07LM |
|
||||||
| Wall switch single | lumi.ctrl_ln1 | QBKG11LM |
|
|
||||||
| Wall switch single | lumi.ctrl_ln1.aq1 | QBKG11LM |
|
|
||||||
| Wall switch no neutral | lumi.ctrl_neutral1.v1 | QBKG04LM |
|
|
||||||
| Wall switch double | lumi.ctrl_ln2 | QBKG12LM |
|
|
||||||
| Wall switch double | lumi.ctrl_ln2.aq1 | QBKG12LM |
|
|
||||||
| Wall switch double no neutral | lumi.ctrl_neutral2 | QBKG03LM |
|
|
||||||
| D1 wall switch triple | lumi.switch.n3acn3 | QBKG26LM |
|
|
||||||
| D1 wall switch triple no neutral | lumi.switch.l3acn3 | QBKG25LM |
|
|
||||||
| Wall outlet | lumi.ctrl_86plug.v1 | QBCZ11LM |
|
|
||||||
| Wall outlet | lumi.ctrl_86plug.aq1 | QBCZ11LM |
|
|
||||||
| Plug | lumi.plug | ZNCZ02LM |
|
|
||||||
| Relay | lumi.relay.c2acn01 | LLKZMK11LM |
|
|
||||||
| Curtain | lumi.curtain | ZNCLDJ11LM |
|
| Curtain | lumi.curtain | ZNCLDJ11LM |
|
||||||
| Curtain | lumi.curtain.aq2 | ZNGZDJ11LM |
|
| Curtain | lumi.curtain.aq2 | ZNGZDJ11LM |
|
||||||
| Curtain B1 | lumi.curtain.hagl04 | ZNCLDJ12LM |
|
| Curtain B1 | lumi.curtain.hagl04 | ZNCLDJ12LM |
|
||||||
@ -285,14 +292,6 @@ These subdevices are recognized by the python-miio code but are still being work
|
|||||||
| Door lock S2 | lumi.lock.acn02 | ZNMS12LM |
|
| Door lock S2 | lumi.lock.acn02 | ZNMS12LM |
|
||||||
| Door lock S2 pro | lumi.lock.acn03 | ZNMS13LM |
|
| Door lock S2 pro | lumi.lock.acn03 | ZNMS13LM |
|
||||||
| Vima cylinder lock | lumi.lock.v1 | A6121 |
|
| Vima cylinder lock | lumi.lock.v1 | A6121 |
|
||||||
| Smart bulb E27 | lumi.light.aqcn02 | ZNLDP12LM |
|
|
||||||
| IKEA smart bulb E27 white | ikea.light.led1545g12 | LED1545G12 |
|
|
||||||
| IKEA smart bulb E27 white | ikea.light.led1546g12 | LED1546G12 |
|
|
||||||
| IKEA smart bulb E12 white | ikea.light.led1536g5 | LED1536G5 |
|
|
||||||
| IKEA smart bulb GU10 white | ikea.light.led1537r6 | LED1537R6 |
|
|
||||||
| IKEA smart bulb E27 white | ikea.light.led1623g12 | LED1623G12 |
|
|
||||||
| IKEA smart bulb GU10 white | ikea.light.led1650r5 | LED1650R5 |
|
|
||||||
| IKEA smart bulb E12 white | ikea.light.led1649c5 | LED1649C5 |
|
|
||||||
| Thermostat S2 | lumi.airrtc.tcpecn02 | KTWKQ03ES |
|
| Thermostat S2 | lumi.airrtc.tcpecn02 | KTWKQ03ES |
|
||||||
|
|
||||||
## Xiaomi device tracker (Xiaomi Mi WiFi Repeater 2)
|
## Xiaomi device tracker (Xiaomi Mi WiFi Repeater 2)
|
||||||
@ -350,6 +349,13 @@ Supported devices:
|
|||||||
| Air Humidifier CB1 | zhimi.humidifier.cb1 | |
|
| Air Humidifier CB1 | zhimi.humidifier.cb1 | |
|
||||||
| Air Fresh VA2 | zhimi.airfresh.va2 | |
|
| Air Fresh VA2 | zhimi.airfresh.va2 | |
|
||||||
|
|
||||||
|
|
||||||
|
### Configuration
|
||||||
|
|
||||||
|
Please follow the instructions on [Retrieving the Access Token](/integrations/xiaomi_miio/#retrieving-the-access-token) to get the API token to use during configuration flow setup.
|
||||||
|
|
||||||
|
To add a Xiaomi Air Purifier to your installation, click Configuration in the sidebar, then click Integrations and then click the + icon in the lower right and find xiaomi_miio. You will then be presented with a form in which you will need to fill in the “IP address” and 32 characters “token”. After you click submit, you will have the opportunity to select the area that your devices are located.
|
||||||
|
|
||||||
### Features
|
### Features
|
||||||
|
|
||||||
### Air Purifier 2 et al.
|
### Air Purifier 2 et al.
|
||||||
@ -677,37 +683,6 @@ This model uses newer MiOT communication protocol.
|
|||||||
- `motor_speed`
|
- `motor_speed`
|
||||||
- `extra_features`
|
- `extra_features`
|
||||||
|
|
||||||
Please follow the instructions on [Retrieving the Access Token](/integrations/xiaomi_miio/#retrieving-the-access-token) to get the API token to use in the `configuration.yaml` file.
|
|
||||||
|
|
||||||
To add a Xiaomi Air Purifier to your installation, add the following to your `configuration.yaml` file:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
fan:
|
|
||||||
# Example configuration.yaml entry
|
|
||||||
- platform: xiaomi_miio
|
|
||||||
host: 192.168.130.66
|
|
||||||
token: YOUR_TOKEN
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
host:
|
|
||||||
description: The IP address of your miio fan.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
token:
|
|
||||||
description: The API token of your miio fan.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
name:
|
|
||||||
description: The name of your miio fan.
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
default: Xiaomi Air Purifier
|
|
||||||
model:
|
|
||||||
description: The model of your miio fan. See the table above for valid values (f.e. `zhimi.airpurifier.v2`). This setting can be used to bypass the device model detection and is recommended if your device isn't always available.
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
### Platform Services
|
### Platform Services
|
||||||
|
|
||||||
@ -893,91 +868,29 @@ Check if the device is in the same subnet as the Home Assistant instance. Otherw
|
|||||||
|
|
||||||
If it's not possible to use VLANs for some reason, your last resort may be using NAT translation, between the IPs.
|
If it's not possible to use VLANs for some reason, your last resort may be using NAT translation, between the IPs.
|
||||||
|
|
||||||
## Xiaomi Air Quality Index Monitor
|
## Xiaomi Air Quality Monitor
|
||||||
|
|
||||||
The `xiaomi_miio` sensor platform is observing your Xiaomi Mi Air Quality Monitor (PM2.5) and reporting the air quality index.
|
The `xiaomi_miio` Air Quality Monitor is observing your Xiaomi Mi Air Quality Monitor (PM2.5) and reporting the air quality index and other values.
|
||||||
|
|
||||||
Currently, the supported features are:
|
Currently, the supported features are:
|
||||||
|
|
||||||
- Air Quality Index (AQI)
|
- Air Quality Index (AQI)
|
||||||
|
- Particulate matter 2.5
|
||||||
- Attributes
|
- Attributes
|
||||||
- power
|
- power
|
||||||
- charging
|
- charging
|
||||||
- battery
|
- battery
|
||||||
- time_stat
|
- time_stat
|
||||||
|
|
||||||
Please follow the instructions on [Retrieving the Access Token](/integrations/xiaomi_miio/#retrieving-the-access-token) to get the API token.
|
|
||||||
|
|
||||||
### Configuration
|
|
||||||
|
|
||||||
To add a Xiaomi Mi Air Quality Monitor to your installation, add the following to your `configuration.yaml` file:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
# Example configuration.yaml entry
|
|
||||||
sensor:
|
|
||||||
- platform: xiaomi_miio
|
|
||||||
host: IP_ADDRESS
|
|
||||||
token: YOUR_TOKEN
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
host:
|
|
||||||
description: The IP address of your miio device.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
token:
|
|
||||||
description: The API token of your miio device.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
name:
|
|
||||||
description: The name of your miio device.
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
default: Xiaomi Miio Sensor
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
## Xiaomi Mi Air Quality Monitor
|
|
||||||
|
|
||||||
The `xiaomi_miio` sensor platform is observing your Xiaomi Mi Air Quality Monitor and reporting the air quality values.
|
|
||||||
|
|
||||||
Currently, the supported features are:
|
|
||||||
|
|
||||||
- Particulate matter 2.5
|
|
||||||
- Attributes
|
|
||||||
- carbon_dioxide_equivalent
|
- carbon_dioxide_equivalent
|
||||||
- total_volatile_organic_compounds
|
- total_volatile_organic_compounds
|
||||||
- temperature
|
- temperature
|
||||||
- humidity
|
- humidity
|
||||||
|
|
||||||
Please follow the instructions on [Retrieving the Access Token](/integrations/xiaomi_miio/#retrieving-the-access-token) to get the API token.
|
|
||||||
|
|
||||||
### Configuration
|
### Configuration
|
||||||
|
|
||||||
To add a Xiaomi Mi Air Quality Monitor to your installation, add the following to your `configuration.yaml` file:
|
Please follow the instructions on [Retrieving the Access Token](/integrations/xiaomi_miio/#retrieving-the-access-token) to get the API token to use during configuration flow setup.
|
||||||
|
|
||||||
```yaml
|
To add a Xiaomi Mi Air Quality Monitor to your installation, click Configuration in the sidebar, then click Integrations and then click the + icon in the lower right and find xiaomi_miio. You will then be presented with a form in which you will need to fill in the “IP address” and 32 characters “token”. After you click submit, you will have the opportunity to select the area that your devices are located.
|
||||||
# Example configuration.yaml entry
|
|
||||||
air_quality:
|
|
||||||
- platform: xiaomi_miio
|
|
||||||
host: IP_ADDRESS
|
|
||||||
token: YOUR_TOKEN
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
host:
|
|
||||||
description: The IP address of your miio device.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
token:
|
|
||||||
description: The API token of your miio device.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
name:
|
|
||||||
description: The name of your miio device.
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
default: Xiaomi Miio Air Quality Monitor
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
## Xiaomi IR Remote
|
## Xiaomi IR Remote
|
||||||
|
|
||||||
@ -1513,6 +1426,12 @@ It seems to be the case that Numbers 1..15 are used to number the intitial segme
|
|||||||
|
|
||||||
The `xiaomi_miio` platform allows you to control the state of your Xiaomi Philips LED Ball Lamp, Xiaomi Philips Zhirui LED Bulb E14 Candle Lamp, Xiaomi Philips Zhirui Downlight, Xiaomi Philips LED Ceiling Lamp, Xiaomi Philips Eyecare Lamp 2, Xiaomi Philips Moonlight Bedside Lamp and Philips Zhirui Desk Lamp.
|
The `xiaomi_miio` platform allows you to control the state of your Xiaomi Philips LED Ball Lamp, Xiaomi Philips Zhirui LED Bulb E14 Candle Lamp, Xiaomi Philips Zhirui Downlight, Xiaomi Philips LED Ceiling Lamp, Xiaomi Philips Eyecare Lamp 2, Xiaomi Philips Moonlight Bedside Lamp and Philips Zhirui Desk Lamp.
|
||||||
|
|
||||||
|
Please follow the instructions on [Retrieving the Access Token](/integrations/xiaomi_miio/#retrieving-the-access-token) to get the API token to use during configuration flow setup.
|
||||||
|
|
||||||
|
### Configuration
|
||||||
|
|
||||||
|
To add a Xiaomi Philips Light to your installation, click Configuration in the sidebar, then click Integrations and then click the + icon in the lower right and find xiaomi_miio. You will then be presented with a form in which you will need to fill in the “IP address” and 32 characters “token”. After you click submit, you will have the opportunity to select the area that your devices are located.
|
||||||
|
|
||||||
### Features
|
### Features
|
||||||
|
|
||||||
### Philips LED Ball Lamp, Philips Zhirui LED Candle Lamp and Philips Zhirui Downlight
|
### Philips LED Ball Lamp, Philips Zhirui LED Candle Lamp and Philips Zhirui Downlight
|
||||||
@ -1597,40 +1516,6 @@ Supported models: `philips.light.moonlight`
|
|||||||
- brand_sleep
|
- brand_sleep
|
||||||
- brand
|
- brand
|
||||||
|
|
||||||
Please follow the instructions on [Retrieving the Access Token](/integrations/xiaomi_miio/#retrieving-the-access-token) to get the API token to use in the `configuration.yaml` file.
|
|
||||||
|
|
||||||
To add a Xiaomi Philips Light to your installation, add the following to your `configuration.yaml` file:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
# Example configuration.yaml entries
|
|
||||||
light:
|
|
||||||
- platform: xiaomi_miio
|
|
||||||
name: Xiaomi Philips Smart LED Ball
|
|
||||||
host: 192.168.130.67
|
|
||||||
token: YOUR_TOKEN
|
|
||||||
model: philips.light.bulb
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
host:
|
|
||||||
description: The IP address of your miio light.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
token:
|
|
||||||
description: The API token of your miio light.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
name:
|
|
||||||
description: The name of your miio light.
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
default: Xiaomi Philips Light
|
|
||||||
model:
|
|
||||||
description: The model of your light. Valid values are `philips.light.sread1`, `philips.light.ceiling`, `philips.light.zyceiling`, `philips.light.moonlight`, `philips.light.bulb`, `philips.light.candle`, `philips.light.candle2`, `philips.light.mono1` and `philips.light.downlight`. This setting can be used to bypass the device model detection and is recommended if your device isn't always available.
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
### Platform Services
|
### Platform Services
|
||||||
|
|
||||||
### Service `xiaomi_miio.light_set_scene`
|
### Service `xiaomi_miio.light_set_scene`
|
||||||
|
@ -30,10 +30,10 @@ zeroconf:
|
|||||||
type: map
|
type: map
|
||||||
keys:
|
keys:
|
||||||
default_interface:
|
default_interface:
|
||||||
description: By default, `zeroconf` will attempt to bind to all interfaces. For systems running using network isolation or similar, this may result in `zeroconf` being unavailable. Change this option to `true` if `zeroconf` does not function.
|
description: By default, `zeroconf` will broadcast on the default interface. For systems that require broadcasting `mdns` on all interfaces, change this option to `false` if `zeroconf` does not function.
|
||||||
required: false
|
required: false
|
||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: true
|
||||||
ipv6:
|
ipv6:
|
||||||
description: By default, `zeroconf` will enable IPv6 support. If your network has trouble with IPv6 being enabled, you can set this option to `false`.
|
description: By default, `zeroconf` will enable IPv6 support. If your network has trouble with IPv6 being enabled, you can set this option to `false`.
|
||||||
required: false
|
required: false
|
||||||
|
@ -30,6 +30,7 @@ ha_platforms:
|
|||||||
- lock
|
- lock
|
||||||
- sensor
|
- sensor
|
||||||
- switch
|
- switch
|
||||||
|
ha_zeroconf: true
|
||||||
---
|
---
|
||||||
|
|
||||||
The ZHA (Zigbee Home Automation) integration allows you to connect many off-the-shelf [Zigbee based devices](https://zigbeealliance.org) directly to Home Assistant, using one of the many available Zigbee coordinators.
|
The ZHA (Zigbee Home Automation) integration allows you to connect many off-the-shelf [Zigbee based devices](https://zigbeealliance.org) directly to Home Assistant, using one of the many available Zigbee coordinators.
|
||||||
@ -267,12 +268,45 @@ from the same group:
|
|||||||
|
|
||||||
### Service `zha.remove`
|
### Service `zha.remove`
|
||||||
|
|
||||||
This service remove an existing device from the network.
|
This service removes an existing device from the network.
|
||||||
|
|
||||||
| Data | Optional | Description |
|
| Data | Optional | Description |
|
||||||
| ---- | ---- | ----------- |
|
| ---- | ---- | ----------- |
|
||||||
| `ieee` | no | IEEE address of the device to remove
|
| `ieee` | no | IEEE address of the device to remove
|
||||||
|
|
||||||
|
### Service `zha.set_lock_user_code`
|
||||||
|
|
||||||
|
This service sets a lock code on a Zigbee lock.
|
||||||
|
|
||||||
|
| Data | Optional | Description |
|
||||||
|
| --------- | ---- | ----------- |
|
||||||
|
| `code_slot` | no | Which lock code slot to store the code. Ex. 1-32 will work for Kwikset 954
|
||||||
|
| `user_code` | no | Code to set on the lock. Ex. Kwikset accepts numbers 4-8 digits in length
|
||||||
|
|
||||||
|
### Service `zha.clear_lock_user_code`
|
||||||
|
|
||||||
|
This service clears a lock code from a Zigbee lock.
|
||||||
|
|
||||||
|
| Data | Optional | Description |
|
||||||
|
| --------- | ---- | ----------- |
|
||||||
|
| `code_slot` | no | Which lock code slot to clear
|
||||||
|
|
||||||
|
### Service `zha.enable_lock_user_code`
|
||||||
|
|
||||||
|
This service enables a lock code on a Zigbee lock.
|
||||||
|
|
||||||
|
| Data | Optional | Description |
|
||||||
|
| --------- | ---- | ----------- |
|
||||||
|
| `code_slot` | no | Which lock code slot to enable
|
||||||
|
|
||||||
|
### Service `zha.disable_lock_user_code`
|
||||||
|
|
||||||
|
This service disables a lock code on a Zigbee lock.
|
||||||
|
|
||||||
|
| Data | Optional | Description |
|
||||||
|
| --------- | ---- | ----------- |
|
||||||
|
| `code_slot` | no | Which lock code slot to disable
|
||||||
|
|
||||||
## Adding devices
|
## Adding devices
|
||||||
|
|
||||||
To add a new device:
|
To add a new device:
|
||||||
|
@ -31,7 +31,7 @@ ha_platforms:
|
|||||||
|
|
||||||
This integration allows you to control a Z-Wave network via the [Z-Wave JS](https://zwave-js.github.io/node-zwave-js/#/) driver. This is our recommended Z-Wave integration for Home Assistant.
|
This integration allows you to control a Z-Wave network via the [Z-Wave JS](https://zwave-js.github.io/node-zwave-js/#/) driver. This is our recommended Z-Wave integration for Home Assistant.
|
||||||
|
|
||||||
Please review the limitations [below](/integrations/zwave_js/#current-limitations) before you get started as a few devices still may not work or only work partially.
|
Please review the limitations [below](/integrations/zwave_js/#current-limitations) before you get started as a few devices still may not work or only work partially.
|
||||||
|
|
||||||
## Quick start (Home Assistant including Supervisor)
|
## Quick start (Home Assistant including Supervisor)
|
||||||
|
|
||||||
@ -57,7 +57,7 @@ Advanced users: Make sure that the server started successfully by inspecting the
|
|||||||
|
|
||||||
### Service `zwave_js.set_config_parameter`
|
### Service `zwave_js.set_config_parameter`
|
||||||
|
|
||||||
This service will update a configuration parameter. At this time, it is not possible to update multiple partial parameters in a single call, but we hope to add support for that in the future.
|
This service will update a configuration parameter. To update multiple partial parameters in a single call, use the `zwave_js.bulk_set_partial_config_parameters` service.
|
||||||
|
|
||||||
| Service Data Attribute | Required | Description |
|
| Service Data Attribute | Required | Description |
|
||||||
|------------------------ |----------- |------------------------------------------------------------------------------------------------------------------------------------------- |
|
|------------------------ |----------- |------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
@ -72,6 +72,7 @@ This service will update a configuration parameter. At this time, it is not poss
|
|||||||
Let's use parameter 31 for [this device](https://devices.zwave-js.io/?jumpTo=0x000c:0x0203:0x0001:0.0) as an example to show examples of different ways that the `LED 1 Blink Status (bottom)` partial parameter can be set. Note that in places where we are using different values for the same key, the different values are interchangeable across the examples. We can, for instance, use `1` or `Blink` interchangeably for the `value` in all of the examples.
|
Let's use parameter 31 for [this device](https://devices.zwave-js.io/?jumpTo=0x000c:0x0203:0x0001:0.0) as an example to show examples of different ways that the `LED 1 Blink Status (bottom)` partial parameter can be set. Note that in places where we are using different values for the same key, the different values are interchangeable across the examples. We can, for instance, use `1` or `Blink` interchangeably for the `value` in all of the examples.
|
||||||
|
|
||||||
Example 1:
|
Example 1:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: zwave_js.set_config_parameter
|
service: zwave_js.set_config_parameter
|
||||||
target:
|
target:
|
||||||
@ -83,6 +84,7 @@ data:
|
|||||||
```
|
```
|
||||||
|
|
||||||
Example 2:
|
Example 2:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: zwave_js.set_config_parameter
|
service: zwave_js.set_config_parameter
|
||||||
target:
|
target:
|
||||||
@ -94,16 +96,77 @@ data:
|
|||||||
```
|
```
|
||||||
|
|
||||||
Example 3:
|
Example 3:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: zwave_js.set_config_parameter
|
service: zwave_js.set_config_parameter
|
||||||
target:
|
target:
|
||||||
entity_id: switch.fan
|
entity_id: switch.fan
|
||||||
data:
|
data:
|
||||||
entity_id: switch.fan
|
entity_id: switch.fan
|
||||||
parameter: "LED 1 Blink Status (bottom)"
|
parameter: "LED 1 Blink Status (bottom)"
|
||||||
value: "Blink"
|
value: "Blink"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Service `zwave_js.bulk_set_partial_config_parameters`
|
||||||
|
|
||||||
|
This service will bulk set multiple partial configuration parameters. Be warned that correctly using this service requires advanced knowledge of Z-Wave to use correctly.
|
||||||
|
|
||||||
|
| Service Data Attribute | Required | Description |
|
||||||
|
|------------------------ |----------- |------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| `entity_id` | no | Entity (or list of entities) to set the configuration parameter on. At least one `entity_id` or `device_id` must be provided. |
|
||||||
|
| `device_id` | no | ID of device to set the configuration parameter on. At least one `entity_id` or `device_id` must be provided. |
|
||||||
|
| `parameter` | yes | The parameter number or the name of the property. The name of the property is case sensitive. |
|
||||||
|
| `value` | yes | Either the raw integer value that you want to set for the entire parameter, or a dictionary where the keys are the bitmasks (in integer or hex form) and the values are the value you want to set on each partial. Note that when using a dictionary, and bitmasks that are not provided will be set to their currently cached values. |
|
||||||
|
|
||||||
|
#### Examples of bulk setting partial parameter values
|
||||||
|
|
||||||
|
Let's use parameter 21 for [this device](https://devices.zwave-js.io/?jumpTo=0x031e:0x000a:0x0001:0.0) as an example to show how partial parameters can be bulk set. In this case, we want to set `0xff` to `127`, `0x7f00` to `10`, and `0x8000` to `1` (or the raw value of `4735`).
|
||||||
|
|
||||||
|
<div class='note'>
|
||||||
|
|
||||||
|
When using the dictionary format to map the partial parameter to values, the cached values for the missing partial parameters will be used. So in examples 2 and 3, the service would use the cached value for partial parameters `0xff0000`, `0x3f000000`, and `0x40000000` because new values haven't been specified. If you send the raw integer value, it is assumed that you have calculated the full value, so in example 1, partial parameters `0xff0000`, `0x3f000000`, and `0x40000000` would all be set to `0`.
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
Example 1:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
service: zwave_js.bulk_set_partial_config_parameters
|
||||||
|
target:
|
||||||
|
entity_id: switch.fan
|
||||||
|
data:
|
||||||
|
parameter: 21
|
||||||
|
value: 4735
|
||||||
|
```
|
||||||
|
|
||||||
|
Example 2:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
service: zwave_js.bulk_set_partial_config_parameters
|
||||||
|
target:
|
||||||
|
entity_id: switch.fan
|
||||||
|
data:
|
||||||
|
parameter: 21
|
||||||
|
value:
|
||||||
|
0xff: 127
|
||||||
|
0x7f00: 10
|
||||||
|
0x8000: 1
|
||||||
|
```
|
||||||
|
|
||||||
|
Example 3:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
service: zwave_js.bulk_set_partial_config_parameters
|
||||||
|
target:
|
||||||
|
entity_id: switch.fan
|
||||||
|
data:
|
||||||
|
parameter: 21
|
||||||
|
value:
|
||||||
|
255: 127
|
||||||
|
32512: 10
|
||||||
|
32768: 1
|
||||||
|
```
|
||||||
|
|
||||||
### Service `zwave_js.refresh_value`
|
### Service `zwave_js.refresh_value`
|
||||||
|
|
||||||
This service will refresh the value(s) for an entity. This service will generate extra traffic on your Z-Wave network and should be used sparingly. Updates from devices on battery may take some time to be received.
|
This service will refresh the value(s) for an entity. This service will generate extra traffic on your Z-Wave network and should be used sparingly. Updates from devices on battery may take some time to be received.
|
||||||
@ -113,6 +176,21 @@ This service will refresh the value(s) for an entity. This service will generate
|
|||||||
| `entity_id` | yes | Entity or list of entities to refresh values for. |
|
| `entity_id` | yes | Entity or list of entities to refresh values for. |
|
||||||
| `refresh_all_values` | no | Whether all values should be refreshed. If `false`, only the primary value will be refreshed. If `true`, all watched values will be refreshed. |
|
| `refresh_all_values` | no | Whether all values should be refreshed. If `false`, only the primary value will be refreshed. If `true`, all watched values will be refreshed. |
|
||||||
|
|
||||||
|
### Service `zwave_js.set_value`
|
||||||
|
|
||||||
|
This service will set a value on a Z-Wave device. It is for advanced use cases where you need to modify the state of a node and can't do it using native Home Assistant entity functionality. Be warned that correctly using this service requires advanced knowledge of Z-Wave. The service provides minimal validation and blindly calls the Z-Wave JS API, so if you are having trouble using it, it is likely because you are providing an incorrect value somewhere. To set a config parameter, you should use the `zwave_js.set_config_parameter` or `zwave_js.bulk_set_partial_config_parameters` services instead of this one.
|
||||||
|
|
||||||
|
| Service Data Attribute | Required | Description |
|
||||||
|
|------------------------ |---------- |-------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| `entity_id` | no | Entity (or list of entities) to set the configuration parameter on. At least one `entity_id` or `device_id` must be provided. |
|
||||||
|
| `device_id` | no | ID of device to set the configuration parameter on. At least one `entity_id` or `device_id` must be provided. |
|
||||||
|
| `command_class` | yes | ID of Command Class that you want to set the value for. |
|
||||||
|
| `property` | yes | ID of Property that you want to set the value for. |
|
||||||
|
| `property_key` | no | ID of Property Key that you want to set the value for. |
|
||||||
|
| `endpoint` | no | ID of Endpoint that you want to set the value for. |
|
||||||
|
| `value` | yes | The new value that you want to set. |
|
||||||
|
| `wait_for_result` | no | Boolean that indicates whether or not to wait for a response from the node. If not included in the payload, the integration will decide whether to wait or not. If set to `true`, note that the service call can take a while if setting a value on an asleep battery device. |
|
||||||
|
|
||||||
### Service `zwave_js.set_lock_usercode`
|
### Service `zwave_js.set_lock_usercode`
|
||||||
|
|
||||||
This service will set the usercode of a lock to X at code slot Y.
|
This service will set the usercode of a lock to X at code slot Y.
|
||||||
@ -136,33 +214,58 @@ Valid code slots are between 1-254.
|
|||||||
|
|
||||||
## Events
|
## Events
|
||||||
|
|
||||||
Events are fired when you press a button on a remote (aka Central Scene support) or when a stateless value is being signalled by a device. You can test what events come in using the event {% my developer_events title="developer tools in Home Assistant" %} and subscribe to `zwave_js_event`. Once you know what the event data looks like, you can use this to create automations.
|
There are two types of events that are fired, notification events and value notification events. You can test what events come in using the event {% my developer_events title="developer tools in Home Assistant" %} and subscribing to the `zwave_js_notification` or `zwave_js_value_notification` events respectively. Once you know what the event data looks like, you can use this to create automations.
|
||||||
|
|
||||||
### Node events (Notification)
|
### Node events (Notification)
|
||||||
|
|
||||||
These are events fired by the device using the notification command class. The `parameters` attribute in the example below is optional, and when it is included, the keys in the attribute will vary depending on the event.
|
Check the [Z-Wave JS notification event documentation](https://zwave-js.github.io/node-zwave-js/#/api/node?id=quotnotificationquot) for an explanation of the notification event data. These events fire with the `zwave_js_notification` event type.
|
||||||
|
|
||||||
|
#### Notification Command Class
|
||||||
|
|
||||||
|
These are notification events fired by devices using the Notification command class. The `parameters` attribute in the example below is optional, and when it is included, the keys in the attribute will vary depending on the event.
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"type": "notification",
|
|
||||||
"domain": "zwave_js",
|
"domain": "zwave_js",
|
||||||
"node_id": 1,
|
"node_id": 1,
|
||||||
"home_id": "974823419",
|
"home_id": "974823419",
|
||||||
"device_id": "ad8098fe80980974",
|
"device_id": "ad8098fe80980974",
|
||||||
"label": "Keypad lock operation",
|
"command_class": 113,
|
||||||
|
"command_class_name": "Notification",
|
||||||
|
"type": 6,
|
||||||
|
"event": 5,
|
||||||
|
"label": "Access Control",
|
||||||
|
"event_label": "Keypad lock operation",
|
||||||
"parameters": {"userId": 1}
|
"parameters": {"userId": 1}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### Entry Control Command Class
|
||||||
|
|
||||||
|
These are notification events fired by devices using the Entry Control command class.
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"domain": "zwave_js",
|
||||||
|
"node_id": 1,
|
||||||
|
"home_id": "974823419",
|
||||||
|
"device_id": "ad8098fe80980974",
|
||||||
|
"command_class": 111,
|
||||||
|
"command_class_name": "Entry Control",
|
||||||
|
"event_type": 6,
|
||||||
|
"data_type": 5,
|
||||||
|
"event_data": "555"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
## Scene events (Value Notification)
|
## Scene events (Value Notification)
|
||||||
|
|
||||||
Value Notifications are used for stateless values, like `Central Scenes` and `Scene Activation`.
|
Value Notifications are used for stateless values, like `Central Scenes` and `Scene Activation`. These events fire with the `zwave_js_value_notification` event type.
|
||||||
|
|
||||||
Value Notification example:
|
Value Notification example:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"type": "value_notification",
|
|
||||||
"domain": "zwave_js",
|
"domain": "zwave_js",
|
||||||
"node_id": 1,
|
"node_id": 1,
|
||||||
"home_id": "974823419",
|
"home_id": "974823419",
|
||||||
@ -185,7 +288,6 @@ Value Notification example:
|
|||||||
As this integration is still in the early stages there are some important limitations to be aware of.
|
As this integration is still in the early stages there are some important limitations to be aware of.
|
||||||
|
|
||||||
- While support for the most common devices is working, some command classes are not yet (fully) implemented in Z-Wave JS. You can track the status [here](https://github.com/zwave-js/node-zwave-js/issues/6).
|
- While support for the most common devices is working, some command classes are not yet (fully) implemented in Z-Wave JS. You can track the status [here](https://github.com/zwave-js/node-zwave-js/issues/6).
|
||||||
- Configuration of Z-Wave nodes within the Home Assistant UI is not yet implemented, but a [service](#service-zwave_js.set_config_parameter) is available with limited configuration capabilities. If the service doesn't meet your needs, you will need to use another tool, such as [zwavejs2mqtt](https://github.com/zwave-js/zwavejs2mqtt), to manage device configuration.
|
|
||||||
- There currently is no migration path available from any of the other Z-Wave implementations in Home Assistant. Your Z-Wave network is however stored on your stick so migrating will only require you to redo your device and entity naming.
|
- There currently is no migration path available from any of the other Z-Wave implementations in Home Assistant. Your Z-Wave network is however stored on your stick so migrating will only require you to redo your device and entity naming.
|
||||||
|
|
||||||
You can keep track of the Roadmap for the Z-Wave JS integration [here](https://github.com/home-assistant-libs/zwave-js-server-python/issues/56).
|
You can keep track of the Roadmap for the Z-Wave JS integration [here](https://github.com/home-assistant-libs/zwave-js-server-python/issues/56).
|
||||||
|
2589
source/_posts/2021-04-07-release-20214.markdown
Normal file
@ -1073,14 +1073,19 @@
|
|||||||
/components/xiaomi /integrations/xiaomi_aqara
|
/components/xiaomi /integrations/xiaomi_aqara
|
||||||
/integrations/air_quality.xiaomi_miio /integrations/xiaomi_miio
|
/integrations/air_quality.xiaomi_miio /integrations/xiaomi_miio
|
||||||
/integrations/alarm_control_panel.xiaomi_miio /integrations/xiaomi_miio
|
/integrations/alarm_control_panel.xiaomi_miio /integrations/xiaomi_miio
|
||||||
|
/integrations/binary_sensor.modbus /integrations/modbus
|
||||||
|
/integrations/climate.modbus /integrations/modbus
|
||||||
|
/integrations/cover.modbus /integrations/modbus
|
||||||
/integrations/fan.xiaomi_miio /integrations/xiaomi_miio
|
/integrations/fan.xiaomi_miio /integrations/xiaomi_miio
|
||||||
/integrations/light.xiaomi_miio /integrations/xiaomi_miio
|
/integrations/light.xiaomi_miio /integrations/xiaomi_miio
|
||||||
|
/integrations/lovelace /lovelace
|
||||||
/integrations/remote.xiaomi_miio /integrations/xiaomi_miio
|
/integrations/remote.xiaomi_miio /integrations/xiaomi_miio
|
||||||
/integrations/sensor.websocket_api /integrations/websocket_api
|
/integrations/sensor.websocket_api /integrations/websocket_api
|
||||||
|
/integrations/sensor.modbus /integrations/modbus
|
||||||
/integrations/sensor.xiaomi_miio /integrations/xiaomi_miio
|
/integrations/sensor.xiaomi_miio /integrations/xiaomi_miio
|
||||||
|
/integrations/switch.modbus /integrations/modbus
|
||||||
/integrations/switch.xiaomi_miio /integrations/xiaomi_miio
|
/integrations/switch.xiaomi_miio /integrations/xiaomi_miio
|
||||||
/integrations/vacuum.xiaomi_miio /integrations/xiaomi_miio
|
/integrations/vacuum.xiaomi_miio /integrations/xiaomi_miio
|
||||||
/integrations/lovelace /lovelace
|
|
||||||
|
|
||||||
# Renaming components to integrations
|
# Renaming components to integrations
|
||||||
/components /integrations
|
/components /integrations
|
||||||
@ -2015,6 +2020,7 @@
|
|||||||
# Moved documentation
|
# Moved documentation
|
||||||
/details/database /docs/backend/database
|
/details/database /docs/backend/database
|
||||||
/details/updater /docs/backend/updater
|
/details/updater /docs/backend/updater
|
||||||
|
/docs/backend/updater /integrations/analytics
|
||||||
/docs/ecosystem/ios/ https://companion.home-assistant.io/
|
/docs/ecosystem/ios/ https://companion.home-assistant.io/
|
||||||
/docs/ecosystem/ios/devices_file https://companion.home-assistant.io/
|
/docs/ecosystem/ios/devices_file https://companion.home-assistant.io/
|
||||||
/docs/ecosystem/ios/integration https://companion.home-assistant.io/docs/integrations/integrations
|
/docs/ecosystem/ios/integration https://companion.home-assistant.io/docs/integrations/integrations
|
||||||
@ -2287,3 +2293,4 @@
|
|||||||
/components/sensor.coinmarketcap /more-info/removed-integration 301
|
/components/sensor.coinmarketcap /more-info/removed-integration 301
|
||||||
/components/coinmarketcap /more-info/removed-integration 301
|
/components/coinmarketcap /more-info/removed-integration 301
|
||||||
/integrations/coinmarketcap /more-info/removed-integration 301
|
/integrations/coinmarketcap /more-info/removed-integration 301
|
||||||
|
/integrations/griddy /more-info/removed-integration 301
|
||||||
|
BIN
source/images/blog/2021-04/analytics.png
Normal file
After Width: | Height: | Size: 78 KiB |
BIN
source/images/blog/2021-04/automation-tracing.png
Normal file
After Width: | Height: | Size: 77 KiB |
BIN
source/images/blog/2021-04/enable-analytics.png
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
source/images/blog/2021-04/filters.png
Normal file
After Width: | Height: | Size: 66 KiB |
BIN
source/images/blog/2021-04/number-format.png
Normal file
After Width: | Height: | Size: 69 KiB |
BIN
source/images/blog/2021-04/scripts-selectors.png
Normal file
After Width: | Height: | Size: 91 KiB |
BIN
source/images/blog/2021-04/social.png
Normal file
After Width: | Height: | Size: 97 KiB |
BIN
source/images/blog/2021-04/undefined.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
source/images/blog/2021-04/zwave-device.png
Normal file
After Width: | Height: | Size: 79 KiB |