Merge pull request #19161 from home-assistant/release-notes-2021.9

This commit is contained in:
Paulus Schoutsen 2021-09-01 11:14:42 -07:00 committed by GitHub
commit b1afd2e059
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
67 changed files with 3935 additions and 657 deletions

View File

@ -18,6 +18,7 @@ source/_integrations/aemet.markdown @noltari
source/_integrations/agent_dvr.markdown @ispysoftware
source/_integrations/airly.markdown @bieniu
source/_integrations/airnow.markdown @asymworks
source/_integrations/airtouch4.markdown @LonePurpleWolf
source/_integrations/airvisual.markdown @bachya
source/_integrations/alarmdecoder.markdown @ajschmidt8
source/_integrations/alexa.markdown @home-assistant/cloud @ochlocracy
@ -27,6 +28,7 @@ source/_integrations/alpha_vantage.markdown @fabaff
source/_integrations/ambee.markdown @frenck
source/_integrations/ambiclimate.markdown @danielhiversen
source/_integrations/ambient_station.markdown @bachya
source/_integrations/amcrest.markdown @flacjacket
source/_integrations/analytics.markdown @home-assistant/core @ludeeus
source/_integrations/androidtv.markdown @JeffLIrion
source/_integrations/apache_kafka.markdown @bachya
@ -107,7 +109,6 @@ source/_integrations/dexcom.markdown @gagebenne
source/_integrations/dhcp.markdown @bdraco
source/_integrations/dht.markdown @thegardenmonkey
source/_integrations/digital_ocean.markdown @fabaff
source/_integrations/directv.markdown @ctalkington
source/_integrations/discogs.markdown @thibmaek
source/_integrations/doorbird.markdown @oblogic7 @bdraco
source/_integrations/dsmr.markdown @Robbie1221 @frenck
@ -149,6 +150,7 @@ source/_integrations/filter.markdown @dgomes
source/_integrations/fireservicerota.markdown @cyberjunky
source/_integrations/firmata.markdown @DaAwesomeP
source/_integrations/fixer.markdown @fabaff
source/_integrations/fjaraskupan.markdown @elupus
source/_integrations/flick_electric.markdown @ZephireNZ
source/_integrations/flipr.markdown @cnico
source/_integrations/flo.markdown @dmulcahey
@ -174,6 +176,7 @@ source/_integrations/geo_rss_events.markdown @exxamalte
source/_integrations/geonetnz_quakes.markdown @exxamalte
source/_integrations/geonetnz_volcano.markdown @exxamalte
source/_integrations/gios.markdown @bieniu
source/_integrations/github.markdown @timmo001 @ludeeus
source/_integrations/gitter.markdown @fabaff
source/_integrations/glances.markdown @fabaff @engrbm87
source/_integrations/goalzero.markdown @tkdrob
@ -184,7 +187,7 @@ source/_integrations/gpsd.markdown @fabaff
source/_integrations/gree.markdown @cmroche
source/_integrations/greeneye_monitor.markdown @jkeljo
source/_integrations/group.markdown @home-assistant/core
source/_integrations/growatt_server.markdown @indykoning @muppet3000
source/_integrations/growatt_server.markdown @indykoning @muppet3000 @JasperPlant
source/_integrations/guardian.markdown @bachya
source/_integrations/habitica.markdown @ASMfreaK @leikoilja
source/_integrations/harmony.markdown @ehendrix23 @bramkragten @bdraco @mkeesey
@ -303,10 +306,11 @@ source/_integrations/msteams.markdown @peroyvind
source/_integrations/mullvad.markdown @meichthys
source/_integrations/mutesync.markdown @currentoor
source/_integrations/my.markdown @home-assistant/core
source/_integrations/myq.markdown @bdraco
source/_integrations/myq.markdown @bdraco @ehendrix23
source/_integrations/mysensors.markdown @MartinHjelmare @functionpointer
source/_integrations/mystrom.markdown @fabaff
source/_integrations/nam.markdown @bieniu
source/_integrations/nanoleaf.markdown @milanmeu
source/_integrations/neato.markdown @dshokouhi @Santobert
source/_integrations/nederlandse_spoorwegen.markdown @YarmoM
source/_integrations/nello.markdown @pschmitt
@ -321,6 +325,7 @@ source/_integrations/nfandroidtv.markdown @tkdrob
source/_integrations/nightscout.markdown @marciogranzotto
source/_integrations/nilu.markdown @hfurubotten
source/_integrations/nissan_leaf.markdown @filcole
source/_integrations/nmap_tracker.markdown @bdraco
source/_integrations/nmbs.markdown @thibmaek
source/_integrations/no_ip.markdown @fabaff
source/_integrations/noaa_tides.markdown @jdelaney72
@ -354,6 +359,7 @@ source/_integrations/orangepi_gpio.markdown @pascallj
source/_integrations/oru.markdown @bvlaicu
source/_integrations/ovo_energy.markdown @timmo001
source/_integrations/ozw.markdown @cgarwood @marcelveldt @MartinHjelmare
source/_integrations/p1_monitor.markdown @klaasnicolaas
source/_integrations/panel_custom.markdown @home-assistant/frontend
source/_integrations/panel_iframe.markdown @home-assistant/frontend
source/_integrations/pcal9535a.markdown @Shulyaka
@ -394,6 +400,7 @@ source/_integrations/rainmachine.markdown @bachya
source/_integrations/random.markdown @fabaff
source/_integrations/recollect_waste.markdown @bachya
source/_integrations/rejseplanen.markdown @DarkFox
source/_integrations/renault.markdown @epenet
source/_integrations/repetier.markdown @MTrab
source/_integrations/rflink.markdown @javicalle
source/_integrations/rfxtrx.markdown @danielhiversen @elupus @RobBie1221
@ -485,7 +492,7 @@ source/_integrations/synology_dsm.markdown @hacf-fr @Quentame @mib1185
source/_integrations/synology_srm.markdown @aerialls
source/_integrations/syslog.markdown @fabaff
source/_integrations/system_bridge.markdown @timmo001
source/_integrations/tado.markdown @michaelarnauts @bdraco @noltari
source/_integrations/tado.markdown @michaelarnauts @noltari
source/_integrations/tag.markdown @balloob @dmulcahey
source/_integrations/tahoma.markdown @philklei
source/_integrations/tankerkoenig.markdown @guillempages
@ -507,6 +514,8 @@ source/_integrations/toon.markdown @frenck
source/_integrations/totalconnect.markdown @austinmroczek
source/_integrations/tplink.markdown @rytilahti @thegardenmonkey
source/_integrations/traccar.markdown @ludeeus
source/_integrations/tractive.markdown @Danielhiversen @zhulik @bieniu
source/_integrations/tradfri.markdown @janiversen
source/_integrations/trafikverket_train.markdown @endor-force
source/_integrations/trafikverket_weatherstation.markdown @endor-force
source/_integrations/transmission.markdown @engrbm87 @JPHutchins
@ -521,8 +530,9 @@ source/_integrations/upb.markdown @gwww
source/_integrations/upc_connect.markdown @pvizeli @fabaff
source/_integrations/upcloud.markdown @scop
source/_integrations/updater.markdown @home-assistant/core
source/_integrations/upnp.markdown @StevenLooman
source/_integrations/upnp.markdown @StevenLooman @ehendrix23
source/_integrations/uptimerobot.markdown @ludeeus
source/_integrations/usb.markdown @bdraco
source/_integrations/usgs_earthquakes_feed.markdown @exxamalte
source/_integrations/utility_meter.markdown @dgomes
source/_integrations/velbus.markdown @Cereal2nd @brefra
@ -558,13 +568,13 @@ source/_integrations/worldclock.markdown @fabaff
source/_integrations/xbox.markdown @hunterjm
source/_integrations/xbox_live.markdown @MartinHjelmare
source/_integrations/xiaomi_aqara.markdown @danielhiversen @syssi
source/_integrations/xiaomi_miio.markdown @rytilahti @syssi @starkillerOG
source/_integrations/xiaomi_miio.markdown @rytilahti @syssi @starkillerOG @bieniu
source/_integrations/xiaomi_tv.markdown @simse
source/_integrations/xmpp.markdown @fabaff @flowolf
source/_integrations/yale_smart_alarm.markdown @gjohansson-ST
source/_integrations/yamaha_musiccast.markdown @vigonotion @micha91
source/_integrations/yandex_transport.markdown @rishatik92 @devbis
source/_integrations/yeelight.markdown @rytilahti @zewelor @shenxn
source/_integrations/yeelight.markdown @rytilahti @zewelor @shenxn @starkillerOG
source/_integrations/yeelightsunflower.markdown @lindsaymarkward
source/_integrations/yi.markdown @bachya
source/_integrations/youless.markdown @gjong

View File

@ -107,9 +107,9 @@ social:
# Home Assistant release details
current_major_version: 2021
current_minor_version: 8
current_patch_version: 8
date_released: 2021-08-18
current_minor_version: 9
current_patch_version: 0
date_released: 2021-09-01
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.

View File

@ -232,6 +232,41 @@ The same thing can also be expressed as a filter:
{% endraw %}
### Areas
- `area_id(lookup_value)` returns the area ID for a given device ID, entity ID, or area name. Can also be used as a filter.
- `area_name(lookup_value)` returns the area name for a given device ID, entity ID, or area ID. Can also be used as a filter.
#### Areas examples
{% raw %}
```text
{{ area_id('Living Room') }} # deadbeefdeadbeefdeadbeefdeadbeef
```
```text
{{ area_id('my_device_id') }} # deadbeefdeadbeefdeadbeefdeadbeef
```
```text
{{ area_id('sensor.sony') }} # deadbeefdeadbeefdeadbeefdeadbeef
```
```text
{{ area_name('deadbeefdeadbeefdeadbeefdeadbeef') }} # Living Room
```
```text
{{ area_name('my_device_id') }} # Living Room
```
```text
{{ area_name('sensor.sony') }} # Living Room
```
{% endraw %}
### Time
`now()` and `utcnow()` are not supported in [limited templates](#limited-templates).

View File

@ -13,6 +13,8 @@ Home Assistant is an open platform and so home energy management is not restrict
- [Integrate your energy use from the electricity grid](/docs/energy/electricity-grid/)
- [Integrate your solar panels](/docs/energy/solar-panels/)
- [Integrate your home batteries](/docs/energy/battery/)
- [Integrate your gas consumption](/docs/energy/gas/)
- [Integrate individual devices](/docs/energy/individual-devices/)
<img src='/images/docs/energy/energy-overview.png' alt='Visual representation of how all different energy forms relate.' style='border: 0;box-shadow: none;'>

View File

@ -0,0 +1,28 @@
---
title: "Integrating your home batteries"
description: "Learn how to add information about your home batteries to Home Assistant home energy management."
---
A home battery allows homes to store energy when you are either producing more solar power than you're using, or store energy from the grid if the current price is low.
Home Assistant allows you to track how much energy flows from/to your battery.
## Hardware
Home Assistant will need to know the amount of energy flowing from/to your batteries. This data can be tracked in various ways.
### Provided by the battery
Some battery vendors have an API to integrate the data into your Home Assistant instance. An example is [Tesla Powerwall](/integrations/powerwall/).
### Using a CT clamp sensor
CT clamp sensors measure your energy usage by looking at the current passing through an electrical wire. This makes it possible to calculate the energy usage. In Home Assistant we have support for off-the-shelf CT clamp sensors and you can build your own.
The off-the-shelf solution that we advise is the [Shelly EM](https://shop.shelly.cloud/shelly-em-2-x-120a-clamp-wifi-smart-home-automation?tracking=A7FsiPIfUWsFpnfKHa8SRyUYLXjr2hPq). The device has a local API, updates are pushed to Home Assistant and it has a high quality integration.
You can build your own using ESPHome's [CT Clamp Current sensor](https://esphome.io/components/sensor/ct_clamp.html) or energy meter sensors like the [ATM90E32](https://esphome.io/components/sensor/atm90e32.html). For the DIY route, check out [this video by digiblur](https://www.youtube.com/watch?v=n2XZzciz0s4) to get started.
_Attention! Installing CT clamp sensor devices requires opening your electrical cabinet. This work should be done by someone familiar with electrical wiring. Your qualified installer will know how to do this._
_Disclaimer: Some links on this page are affiliate links._

View File

@ -0,0 +1,25 @@
---
title: "Integrating your gas usage"
description: "Learn how to add information about your gas usage to Home Assistant home energy management."
---
Some homes are connected to gas. Gas is being used to heat water, cook and heat up the home.
Home Assistant allows you to track your gas usage and easily compare it against your energy usage for the same period of time.
## Hardware
Home Assistant will need to know the amount of gas that is being consumed.
### Connect to your meter
The best way to get this data is directly from your gas meter that sits between your house and the grid. In certain countries these meters contain standardized ways of reading out the information locally or provide this information via the electricity meter.
#### Connect using a P1 port
The P1 port is a standardized port on electricity meters in the Netherlands, Belgium and Luxembourg which also provides gas consumption information. A P1 reader can connect to this port and receive real-time information.
We have worked with creator [Marcel Zuidwijk](https://www.zuidwijk.com) to develop [SlimmeLezer](https://www.slimmelezer.nl). It's an affordable P1 reader powered by [ESPHome](https://esphome.io) that will seamlessly integrate this information in Home Assistant. It is being sold on [his website](https://www.slimmelezer.nl) and the firmware is open source [on GitHub](https://github.com/zuidwijk/dsmr).
![Photo of SlimmeLezer attached to a smart electricity meter](/images/docs/energy/slimmelezer.jpg)

View File

@ -0,0 +1,23 @@
---
title: AirTouch 4
description: Instructions on how to integrate the AirTouch 4 A/C controller into Home Assistant.
ha_category: Climate
ha_release: 2021.9
ha_iot_class: Local Polling
ha_config_flow: true
ha_codeowners:
- '@LonePurpleWolf'
ha_domain: airtouch4
ha_platforms:
- climate
---
The AirTouch 4 integration allows you to control Ducted Air Conditioning Systems that are using the [AirTouch 4](https://www.airtouch.net.au/airtouch/airtouch-4/) Controller. Currently, this integration only supports AirTouch 4 controllers with the Individual Temperature Control (ITC) modules.
{% include integrations/config_flow.md %}
## Entities
### Climate
The integration will create a climate entity for each zone that is temperature-controlled.

View File

@ -13,6 +13,8 @@ ha_platforms:
- binary_sensor
- camera
- sensor
ha_codeowners:
- '@flacjacket'
---
The `amcrest` camera platform allows you to integrate your [Amcrest](https://amcrest.com/) or Dahua IP camera or doorbell in Home Assistant.

View File

@ -66,6 +66,7 @@ The full list of supported binary sensor device classes is below
- **safety**: `on` means unsafe, `off` means safe
- **smoke**: `on` means smoke detected, `off` means no smoke (clear)
- **sound**: `on` means sound detected, `off` means no sound (clear)
- **update**: `on` means update available, `off` means up-to-date
- **vibration**: `on` means vibration detected, `off` means no vibration (clear)
- **window**: `on` means open, `off` means closed

View File

@ -87,7 +87,7 @@ The next time you run or restart Home Assistant, you should find a new notificat
## Calendar Configuration
With every restart all calendars of the configured Google account will get pulled and added to the `google_calendars.yaml` and preconfigured as a single entity. By setting the 'track' variable to `true` the calendar will get monitored for new events which can be used for automations and its content is shown on the 'Calendar' dashboard (mind 'max_results' is set to 5 by default).
With every restart all calendars of the configured Google account will get pulled and added to the `google_calendars.yaml` and preconfigured as a single entity. By setting the 'track' variable to `true` the calendar will get monitored for new events which can be used for automations and its content is shown on the 'Calendar' dashboard.
A basic entry for a single calendar looks like:
@ -97,7 +97,6 @@ A basic entry for a single calendar looks like:
- device_id: test_everything
name: Give me everything
track: true
max_results: 10
```
From this, we will get a binary sensor `calendar.test_everything` triggered by any event on the calendar and will show the next 10 events on the 'Calendar' dashboard.
@ -172,11 +171,6 @@ entities:
required: false
type: boolean
default: true
max_results:
description: "Max number of entries to retrieve"
required: false
type: integer
default: 5
{% endconfiguration %}

View File

@ -23,7 +23,7 @@ The ClimaCell integration allows you to obtain weather, air quality, pollen, and
You can obtain a free API key by signing up with [ClimaCell](https://developer.climacell.co/sign-up?_ga=2.137889264.1908484805.1591592950-510691096.1591288729).
The integration will automatically set the refresh interval based on the number of ClimaCell integrations that are using the same API key for a given Home Assistant instance. The integration currently assumes you are using a free account so the max requests per day is 500 (the refresh interval is calculated such that you should only use up around 90% of the quota). If you want to use a paid account to increase the number of max requests and increase the update frequency, please open a Home Assistant issue for the integration.
The integration will automatically set the refresh interval based on the number of ClimaCell integrations that are using the same API key for a given Home Assistant instance. The integration currently assumes you are using a free account so the max requests per day is 100 (the refresh interval is calculated such that you should only use up around 90% of the quota). If you want to use a paid account to increase the number of max requests and increase the update frequency, please open a Home Assistant issue for the integration.
## Supported Forecast Types

View File

@ -39,6 +39,7 @@ This integration is a meta-component and configures a default set of integration
- [Tag](/integrations/tag/) (`tag`)
- [Timer](/integrations/timer/) (`timer`)
- [Updater](/integrations/updater/) (`updater`)
- [USB](/integrations/usb/) (`usb`)
- [Webhooks](/integrations/webhook) (`webhook`)
- [Zero-configuration networking (zeroconf)](/integrations/zeroconf/) (`zeroconf`)
- [Zone](/integrations/zone/) (`zone`)

View File

@ -8,8 +8,6 @@ ha_release: 0.25
ha_iot_class: Local Polling
ha_domain: directv
ha_config_flow: true
ha_codeowners:
- '@ctalkington'
ha_quality_scale: gold
ha_ssdp: true
ha_platforms:

View File

@ -21,7 +21,6 @@ Home Assistant can discover and automatically configure [zeroconf](https://en.wi
* [Linn / Openhome](/integrations/openhome)
* [Logitech Harmony Hub](/integrations/harmony)
* [Logitech Media Server (Squeezebox)](/integrations/squeezebox)
* [Nanoleaf](/integrations/nanoleaf)
* [NETGEAR routers](/integrations/netgear)
* [Philips Hue](/integrations/hue)
* [SABnzbd downloader](/integrations/sabnzbd)
@ -76,7 +75,6 @@ Valid values for ignore are:
* `frontier_silicon`: Frontier Silicon internet radios
* `harmony`: Logitech Harmony Hub
* `logitech_mediaserver`: Logitech Media Server (Squeezebox)
* `nanoleaf_aurora`: Nanoleaf
* `netgear_router`: NETGEAR routers
* `octoprint`: Octoprint
* `openhome`: Linn / Openhome

View File

@ -15,17 +15,39 @@ ha_platforms:
- sensor
---
A sensor platform for Dutch Smart Meters which comply to DSMR (Dutch Smart Meter Requirements), also known as 'Slimme meter' or 'P1 poort'.
A sensor platform for Belgian, Dutch, Luxembourg and Swedish Smart Meters which comply to DSMR (Dutch Smart Meter Requirements), also known as 'Slimme meter' or 'P1 poort'. Swedish meters with a 'HAN port' are not supported by this integration.
- Currently support DSMR V2.2, V3, V4, V5, V5 Belgian and V5 Smarty through the [dsmr_parser](https://github.com/ndokter/dsmr_parser) module by Nigel Dokter.
- Currently support DSMR V2.2, V3, V4, V5, Belgian V5 variant, Luxembourg V5 variant (Smarty) and the Swedish V5 variant through the [dsmr_parser](https://github.com/ndokter/dsmr_parser) module by Nigel Dokter.
- For official information about DSMR refer to: [DSMR Document](https://www.netbeheernederland.nl/dossiers/slimme-meter-15)
- For official information about the P1 port refer to: [P1 Companion Standard](https://www.netbeheernederland.nl/_upload/Files/Slimme_meter_15_a727fce1f1.pdf)
- For unofficial hardware connection examples refer to: [Domoticx](http://domoticx.com/p1-poort-slimme-meter-hardware/)
- For official information about the Swedish variant refer to: [Swedish specification](https://www.energiforetagen.se/globalassets/energiforetagen/det-erbjuder-vi/kurser-och-konferenser/elnat/branschrekommendation-lokalt-granssnitt-v2_0-201912.pdf).
<p class='img'>
<img src='/images/screenshots/dsmr.png' />
</p>
### Configuration
- For Belgian meters, choose DSMR version `5B`
- For Dutch meters, choose DSMR version `2.2`, `4`, or `5`
- For Luxembourg meters, choose DSMR version `5L`
- For Swedish meters, choose DSMR version `5S`
### Options
To configure options for DSMR integration go to **Configuration** >> **Integrations** and press **Options** on the DSMR card.
#### Time between updates
Typically the smart meter sends new data every 5-10 seconds. This value defines the minimum time between entity updates in seconds. Setting this value to 0 will update entities each time data is received from the smart meter.
<div class='note warning'>
Reducing the default time between updates will increase the amount of events generated and can potentially flood the system with events.
</div>
### Supported meters
This integration is known to work for:
- Iskra ME382 / MT382 (DSMR 2.2)
@ -37,14 +59,24 @@ This integration is known to work for:
- Sagemcom XS210 ESMR5
- Ziv E0058 ESMR5
USB serial converters:
### Connecting to the meter
Connection can be done directly to the meter via a USB to serial connector, or through a serial to network proxy
#### USB serial converters:
- Cheap (Banggood/ebay) Generic PL2303
- [Smartmeter Webshop](https://sites.google.com/site/nta8130p1smartmeter/webshop)
- [SOS Solutions](https://www.sossolutions.nl/slimme-meter-kabel)
- [AliExpress](https://nl.aliexpress.com/item/32945187155.html)
Serial to network proxies:
Docker users have to allow Docker access to the USB to seriacl converter by adding `--device /dev/ttyUSB21:/dev/ttyUSB21` to the run command:
```hass
$ docker run --device /dev/ttyUSB0:/dev/ttyUSB0 -d --name="home-assistant" -v /home/USERNAME/hass:/config -v /etc/localtime:/etc/localtime:ro --net=host {{ site.installation.container.base }}
```
#### Serial to network proxies:
- [ser2net](http://ser2net.sourceforge.net)
@ -66,30 +98,14 @@ or
2001:raw:600:/dev/ttyUSB0:9600 EVEN 1STOPBIT 7DATABITS XONXOFF LOCAL -RTSCTS
```
Docker users have to allow Docker access to the device by adding `--device /dev/ttyUSB21:/dev/ttyUSB21` to the run command:
```hass
$ docker run --device /dev/ttyUSB0:/dev/ttyUSB0 -d --name="home-assistant" -v /home/USERNAME/hass:/config -v /etc/localtime:/etc/localtime:ro --net=host {{ site.installation.container.base }}
```
### Options
To configure options for DSMR integration go to **Configuration** >> **Integrations** and press **Options** on the DSMR card.
#### Time between updates
Typically the smart meter sends new data every 5-10 seconds. This value defines the minimum time between entity updates in seconds. Setting this value to 0 will update entities each time data is received from the smart meter.
<div class='note warning'>
Reducing the default time between updates will increase the amount of events generated and can potentially flood the system with events.
</div>
### Technical overview
DSMR is a standard to which Dutch smartmeters must comply. It specifies that the smartmeter must send out a 'telegram' every 10 seconds (every second for DSMR 5.0 devices) over a serial port.
The contents of this telegram differ between version but they generally consist of lines with 'obis' (Object Identification System, a numerical ID for a value) followed with the value and unit.
Smart meters in Belgium, Luxembourg and Sweden provided telegrams with largely the same contents.
This module sets up an asynchronous reading loop using the `dsmr_parser` module which waits for a complete telegram, parser it and puts it on an async queue as a dictionary of `obis`/object mapping. The numeric value and unit of each value can be read from the objects attributes. Because the `obis` are know for each DSMR version the Entities for this integration are create during bootstrap.
Another loop (DSMR class) is setup which reads the telegram queue, stores/caches the latest telegram and notifies the Entities that the telegram has been updated.

View File

@ -0,0 +1,42 @@
---
title: Fjäråskupan
description: Instructions on how to configure fjäråskupan integration.
ha_category:
- Binary Sensor
- Fan
- Light
ha_release: 2021.9
ha_iot_class: Local Polling
ha_config_flow: true
ha_codeowners:
- '@elupus'
ha_domain: fjaraskupan
ha_platforms:
- binary_sensor
- fan
- light
- sensor
---
[Fjäråskupan](https://fjaraskupan.se/) allows you to control your Bluetooth equipped kitchen fan.
There is currently support for the following device types within Home Assistant:
- Binary Sensor
- Fan
- Light
The integration allow control of fan speeds, lights and after cooking timer for kitchen fans.
{% include integrations/config_flow.md %}
## Debugging integration
If you have problems with the integration you can add debug prints to the log.
```yaml
logger:
default: info
logs:
homeassistant.components.fjaraskupan: debug
```

View File

@ -24,7 +24,11 @@ sensor:
- platform: fronius
resource: FRONIUS_URL
monitored_conditions:
- sensor_type: logger_info
- sensor_type: inverter
scope: system
- sensor_type: meter
device: 1
```
{% configuration %}
@ -56,6 +60,14 @@ monitored_conditions:
Each sensor type chosen as monitored condition adds a set of sensors to Home Assistant.
- `logger_info`
General information about the Fronius Datalogger. Not available on "Gen24" devices.
- The serial number and software and hardware platforms
- The current price of energy consumed from the grid ("cash factor")
- The current price of energy returned to the grid ("delivery factor")
- `power_flow`
Cumulative data such as the energy produced in the current day or year and overall produced energy.
@ -100,10 +112,11 @@ sensor:
- platform: fronius
resource: FRONIUS_URL
monitored_conditions:
- sensor_type: logger_info
- sensor_type: inverter
device: 1
scope: system
- sensor_type: meter
device: 3
device: 1
- sensor_type: storage
device: 0
- sensor_type: power_flow

View File

@ -8,6 +8,9 @@ ha_iot_class: Cloud Polling
ha_domain: github
ha_platforms:
- sensor
ha_codeowners:
- '@timmo001'
- '@ludeeus'
---
The GitHub sensor allows you to monitor your favorite [GitHub](https://github.com/) repositories. Monitored information includes the amount of stargazers, forks, open issues and pull requests, the latest commit message, and more.

View File

@ -8,6 +8,7 @@ ha_release: 0.116
ha_config_flow: true
ha_dhcp: true
ha_domain: goalzero
ha_quality_scale: silver
ha_platforms:
- binary_sensor
- sensor

View File

@ -9,6 +9,7 @@ ha_iot_class: Cloud Polling
ha_codeowners:
- '@indykoning'
- '@muppet3000'
- '@JasperPlant'
ha_domain: growatt_server
ha_platforms:
- sensor

View File

@ -149,3 +149,10 @@ action:
- light.living_room
- switch.coffe_pot
```
### Service `homeassistant.save_persistent_states`
Save the persistent states (for entities derived from RestoreEntity) immediately.
Maintain the normal periodic saving interval.
Normally these states are saved at startup, every 15 minutes and at shutdown.

View File

@ -256,6 +256,10 @@ homekit:
type: string
default: libopus
available options: copy, libopus
devices:
description: Include device triggers for all matching device ids. Configuration in the UI via Options is recommended instead.
required: false
type: list
{% endconfiguration %}
## Setup
@ -415,6 +419,13 @@ The following integrations are currently supported:
| sensor | LightSensor | All sensors that have `lm` or `lx` as their `unit_of_measurement` or `illuminance` as their `device_class` |
| switch | Switch | Represented as a switch by default but can be changed by using `type` within `entity_config`. |
| water_heater | WaterHeater | All `water_heater` devices. |
| device_automation | DeviceTriggerAccessory | All devices that support triggers. |
# Device Triggers
Devices that support triggers can be added to the bridge by accessing options for the bridge in **{% my integrations title="Configuration >> Integrations" %}**.
Bridged device triggers are represented as a single press button on stateless programmable switches. This allows a HomeKit automation to run when a device trigger fires. Because the iOS Home app currently only shows the number of the button and not the name, users may find it easier to identify the name of the button in the `Eve for HomeKit` app.
## iOS Remote Widget

View File

@ -0,0 +1,19 @@
---
title: IoTaWatt
description: Instructions on how to integrate IoTaWatt into Home Assistant.
ha_release: 2021.9
ha_category:
- Energy
ha_iot_class: Local Polling
ha_config_flow: true
ha_domain: iotawatt
ha_codeowners:
- '@gtdiehl'
ha_platforms:
- sensor
---
A sensor platform for the [IoTaWatt](https://www.iotawatt.com/) Open WiFi Electricity Monitor. It
will collect data from the Current Transformer Clamps (Input CTs) and any Outputs that are defined on the IoTaWatt
and create them as sensors in Home Assistant.
{% include integrations/config_flow.md %}

View File

@ -698,6 +698,11 @@ controller_modes:
description: Overrides the supported controller modes. Provide the supported `hvac_mode` values for your device.
required: false
type: list
default_controller_mode:
description: Overrides the default controller mode. Any Home Assistant `hvac_mode` can be configured. This can, for example, be set to "cool" for cooling-only devices.
required: false
default: "heat"
type: string
on_off_address:
description: KNX address for switching the climate device on/off. *DPT 1*
required: false
@ -1335,6 +1340,10 @@ always_callback:
required: false
type: boolean
default: false
state_class:
description: Sets the [state_class](https://developers.home-assistant.io/docs/core/entity/sensor#available-state-classes) of the sensor.
required: false
type: string
{% endconfiguration %}
### Value Types
@ -1505,6 +1514,7 @@ knx:
state_address: "6/2/1"
sync_state: every 60
type: temperature
state_class: measurement
```
## Switch

View File

@ -20,6 +20,7 @@ The integration will accept the following commands from your Alarm Panel via the
- `ARM_HOME`
- `ARM_AWAY`
- `ARM_NIGHT`
- `ARM_VACATION`
When the state of the manual alarm changes, Home Assistant will publish one of the following states to the `state_topic`:
@ -27,6 +28,7 @@ When the state of the manual alarm changes, Home Assistant will publish one of t
- 'armed_home'
- 'armed_away'
- 'armed_night'
- 'armed_vacation'
- 'pending'
- 'triggered'
@ -90,7 +92,7 @@ disarm_after_trigger:
required: false
type: boolean
default: false
armed_home/armed_away/armed_night/disarmed/triggered:
armed_home/armed_away/armed_night/armed_vacation/disarmed/triggered:
description: State specific settings
required: false
type: list
@ -147,6 +149,11 @@ payload_arm_night:
required: false
type: string
default: ARM_NIGHT
payload_arm_vacation:
description: The payload to set armed-vacation mode on this Alarm Panel.
required: false
type: string
default: ARM_VACATION
{% endconfiguration %}
## Examples
@ -188,6 +195,7 @@ To change the state of the alarm, publish one of the following messages to the `
- `ARM_HOME`
- `ARM_AWAY`
- `ARM_NIGHT`
- `ARM_VACATION`
To receive state updates from HA, subscribe to the `state_topic`. Home Assistant will publish a new message whenever the state changes:
@ -195,5 +203,6 @@ To receive state updates from HA, subscribe to the `state_topic`. Home Assistant
- `armed_home`
- `armed_away`
- `armed_night`
- `armed_vacation`
- `pending`
- `triggered`

View File

@ -177,5 +177,3 @@ The way media players are displayed in the frontend can be modified in the [cust
- `tv`: Device is a television type device.
- `speaker`: Device is speaker or stereo type device.
- `receiver`: Device is audio video receiver type device taking audio and outputting to speakers and video to some display.

View File

@ -18,7 +18,7 @@ ha_platforms:
- light
- sensor
- switch
ha_quality_scale: silver
ha_quality_scale: gold
---
[Modbus](http://www.modbus.org/) is a serial communication protocol to control PLCs (Programmable Logic Controller) and RTUs (Remote Terminal Unit). The integration adheres strictly to the [protocol specification](https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf).
@ -52,6 +52,11 @@ delay:
required: false
default: 0
type: integer
message_wait_milliseconds:
description: Time to wait in milliseconds between requests.
required: false
default: 30 for serial connection, 0 for everything else.
type: integer
name:
description: Name for this hub. Must be unique, so it is required when setting up multiple instances.
required: false
@ -215,6 +220,11 @@ modbus:
```
{% configuration %}
lazy_error_count:
description: Number of messages with error received before setting entity to unavailable. This parameter can be used to prevent spontaneous errors to ruin statistic graphs.
required: false
type: integer
default: 0
name:
description: Name for the platform entity which must be unique within the platform.
required: true
@ -842,6 +852,10 @@ sensors:
description: Unit to attach to value.
required: false
type: integer
state_class:
description: The [state_class](https://developers.home-assistant.io/docs/core/entity/sensor#available-state-classes) of the sensor.
required: false
type: string
{% endconfiguration %}
<div class='note'>
@ -866,6 +880,7 @@ modbus:
address: 0
input_type: holding
unit_of_measurement: °C
state_class: measurement
count: 1
scale: 0.1
offset: 0

View File

@ -4,20 +4,23 @@ description: Instructions on how to integrate MyQ-Enabled garage door covers int
ha_category:
- Cover
- Binary Sensor
- Light
ha_release: 0.39
ha_iot_class: Cloud Polling
ha_config_flow: true
ha_codeowners:
- '@bdraco'
- '@ehendrix23'
ha_domain: myq
ha_homekit: true
ha_platforms:
- binary_sensor
- cover
- light
ha_dhcp: true
---
The MyQ integration lets you control MyQ-Enabled garage doors through Home Assistant. Device names in Home Assistant are generated based on the names defined in your MyQ Device mobile app.
The MyQ integration lets you control MyQ-Enabled garage doors and/or lamps through Home Assistant. Device names in Home Assistant are generated based on the names defined in your MyQ Device mobile app.
{% include integrations/config_flow.md %}
@ -29,6 +32,11 @@ Your MyQ gateway will appear as a binary sensor that shows if the device is conn
Garage doors and gates linked to your `MyQ` account will appear as covers.
### Light
Lamps linked to your `MyQ` account will appear as lights.
## Using HomeKit controller for local control - ***No Apple device required***
If you have a [`819LMB`](https://www.liftmaster.com/myq-home-bridge/p/G819LMB) or [`MYQ-G0303-SP`](https://www.chamberlain.com/myq-g0303-sp/p/MYQ-G0303-SP), Home Assistant can speak HomeKit Accessory Protocol and control the device over the local network without the need to access to the cloud service. As a bonus, updates are push and near-instantaneous.

View File

@ -1,56 +1,22 @@
---
title: Nanoleaf
description: Instructions how to integrate Nanoleaf Light Panels into Home Assistant.
description: Instructions how to integrate Nanoleaf Panels into Home Assistant.
ha_category:
- Light
ha_codeowners:
- '@milanmeu'
ha_config_flow: true
ha_homekit: true
ha_iot_class: Local Polling
ha_release: 0.67
ha_domain: nanoleaf
ha_platforms:
- light
ha_zeroconf: true
---
### Configuration Sample
The Nanoleaf integration allows you to control and monitor Nanoleaf Light Panels, Canvas and Shapes.
The Nanoleaf integration allows you to control [Nanoleaf Light Panels](https://nanoleaf.me) from Home Assistant. Note that for full control of Nanoleaf devices, particularly effects, make sure they are set up as instructed on this page and not as a HomeKit device.
This integration does not support the Nanoleaf Remote and Essentials lights.
The preferred way to set up this platform is by enabling the [discovery component](/integrations/discovery/). Make sure to press and hold the *ON* button for 5 seconds (the LED will start flashing) on your Nanoleaf Lights while Home Assistant is starting.
To configure the Nanoleaf lights manually, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
light:
- platform: nanoleaf
host: 192.168.1.10
token: xxxxxxxxxxxxxxxxxxxxx
```
{% configuration %}
host:
description: IP address or host-name of the device, e.g., 192.168.1.10.
required: true
type: string
token:
description: The *auth* token that you get via *POST* to */api/v1/new*
required: true
type: string
name:
description: Name of the component, make this unique if you have multiple Light Panels
required: false
type: string
default: Nanoleaf
{% endconfiguration %}
### Getting The Auth Token
1. Make sure that your Nanoleaf Light Panel is fully patched (as of the time of writing the latest version was 3.0.8 for Aurora and 1.2.0 for Canvas)
2. Hold down the *ON* button on the Panel for 5 seconds; the LED will start flashing
3. Issue a *POST* request to the API endpoint, e.g., via `$ curl -i -X POST http://192.168.1.155:16021/api/v1/new`
4. The output should include the auth token like *{"auth_token":"xxxxxxxxxxxxxxxxxxxxx"}*, copy the resulting token into your configuration
If you get a 403 Forbidden message, you probably did not press the *ON* button long enough. The time-frame to get a valid token is only 30 seconds, so you have to be quick to issue the curl request.
### Using the Nanoleaf Device
The Nanoleaf device is a standard light, so can be used with standard Home Assistant Light services for automations and scripts. For full details see the [Light Integrations Page.](/integrations/light/) Of particular interest for Nanoleaf devices is using the `effect` in service calls, to choose the pattern/effect that the lights display.
{% include integrations/config_flow.md %}

View File

@ -8,6 +8,9 @@ ha_iot_class: Local Polling
ha_domain: nmap_tracker
ha_platforms:
- device_tracker
ha_config_flow: true
ha_codeowners:
- '@bdraco'
---
As an alternative to the router-based device tracking, it is possible to directly scan the network for devices by using Nmap. The IP addresses to scan can be specified in any format that Nmap understands, including the network-prefix notation (`192.168.1.1/24`) and the range notation (`192.168.1.1-255`).
@ -24,66 +27,7 @@ On a Fedora host run `sudo dnf -y install nmap`.
</div>
Host detection is done via Nmap's "fast scan" (`-F`) of the most frequently used 100 ports, with a host timeout of 5 seconds.
To use this device tracker in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
device_tracker:
- platform: nmap_tracker
hosts: 192.168.1.0/24
```
{% configuration %}
hosts:
description: The network address to scan (in any supported Nmap format). Mixing subnets and IPs is possible.
required: true
type: string
home_interval:
description: The number of minutes Nmap will not scan this device, assuming it is home, in order to preserve the device battery.
required: false
type: integer
exclude:
description: Hosts not to include in Nmap scanning. Scanning the host where Home Assistant is running can cause problems (websocket error and authentication failures), so excluding that host is a good idea.
required: false
type: list
scan_options:
description: Configurable scan options for Nmap.
required: false
default: -F --host-timeout 5s
type: string
{% endconfiguration %}
## Examples
A full example for the `nmap` tracker could look like the following sample:
```yaml
# Example configuration.yaml entry for Nmap
# One whole subnet, and skipping two specific IPs.
device_tracker:
- platform: nmap_tracker
hosts: 192.168.1.0/24
home_interval: 10
exclude:
- 192.168.1.12
- 192.168.1.13
```
```yaml
# Example configuration.yaml for Nmap
# One subnet, and two specific IPs in another subnet.
device_tracker:
- platform: nmap_tracker
hosts:
- 192.168.1.0/24
- 10.0.0.2
- 10.0.0.15
```
In the above example, Nmap will be call with the process:
`nmap -oX - 192.168.1.1/24 10.0.0.2 10.0.0.15 -F --host-timeout 5s`
{% include integrations/config_flow.md %}
An example of how the Nmap scanner can be customized:
@ -95,12 +39,6 @@ On Linux systems (such as Hass.io) you can extend the functionality of Nmap, wit
sudo setcap cap_net_raw,cap_net_admin,cap_net_bind_service+eip /usr/bin/nmap
```
And you can set up the device tracker as
```yaml
- platform: nmap_tracker
hosts: 192.168.1.1-25
scan_options: " --privileged -sn "
```
And you can set up the device tracker scan options with `--privileged -sn`
See the [device tracker integration page](/integrations/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -18,6 +18,12 @@ ha_platforms:
The `openuv` integration displays UV and Ozone data from [openuv.io](https://www.openuv.io/).
<div class='note warning'>
The guidelines within this documentation constitute estimates and are intended to help
informed decision making. They should not replace analysis, advice or diagnosis from a
trained medical professional.
</div>
## Generating an API Key
To generate an API key,
@ -47,7 +53,17 @@ the `update_protection_data` services).
| Current UV Index | Sensor | UV Index (numerical value) |
| Current UV Level | Sensor | UV Level (as literal) |
| Max UV Index | Sensor | max UV Index for the day (at solar noon) |
| Protection Window | Binary Sensor | 'On' when protection window is needed |
| Protection Window | Binary Sensor | whether sunblock protection should be used |
### Protection Window
The Protection Window binary sensor will be `on` when sunblock protection should be used.
By default, this occurs anytime the UV index is above 3.5. This behavior can be
configured via the config entry options within the UI. Two parameters are given:
* `Starting UV index for the protection window`: the UV index that, when passed, indicates protection should be utilized
* `Ending UV index for the protection window`: the UV index that, when passed, indicates protection is no longer required
### The Fitzpatrick Scale
@ -55,12 +71,6 @@ The approximate number of minutes of a particular skin type can be exposed to
the sun before burning/tanning starts is based on the
[Fitzpatrick scale](https://en.wikipedia.org/wiki/Fitzpatrick_scale).
<div class='note warning'>
The above guidelines constitute estimates and are intended to help informed
decision making. They should not replace analysis, advice or diagnosis from a
trained medical professional.
</div>
OpenUV integration provide sensors for safe exposure time (in minutes) based on skin type:
- Skin Type 1 Safe Exposure Time

View File

@ -0,0 +1,56 @@
---
title: P1 Monitor
description: Instructions on how to integrate P1 Monitor within Home Assistant.
ha_category:
- Energy
ha_release: 2021.9
ha_iot_class: Local Polling
ha_config_flow: true
ha_codeowners:
- '@klaasnicolaas'
ha_domain: p1_monitor
ha_platforms:
- sensor
ha_quality_scale: platinum
---
The P1 Monitor integration integrates the [P1 Monitor](https://www.ztatz.nl/p1-monitor/)
API platform with Home Assistant.
P1 Monitor is a platform that allows you to read the data from your smart meter via the serial port (P1), such as your energy consumption, but also that of gas or a water meter.
{% include integrations/config_flow.md %}
## Sensors
The P1 Monitor platform mainly provides sensors that you can use in your
[energy dashboard](/energy).
**Note** that by default, the gas consumption entities are disabled, so if you want to use them, you need to enable them manually.
### SmartMeter
Read out what your meter readings are for energy consumption/yield, see what your current power consumption is and in which tariff period you are currently.
- Gas Consumption (m3)
- Power Consumption / Production (W)
- Energy Consumption Low/High (kWh)
- Energy Production Low/High (kwH)
- Energy Tariff Period (low / high)
### Phases
See per phase what your voltage, current and power consumption/production is.
- Voltage phases L1/2/3 (V)
- Current Phases L1/2/3 (A)
- Power consumed phases L1/2/3 (W)
- Power Produced phases L1/2/3 (W)
### Settings
You can use the rates set in P1 Monitor for your calculations in Home Assistant.
- Gas Consumption Price
- Energy Consumption Price Low/High
- Energy Production Price Low/High

View File

@ -3,6 +3,7 @@ title: Tesla Powerwall
description: Instructions on how to integrate Tesla Power Walls into Home Assistant.
ha_category:
- Binary Sensor
- Energy
- Sensor
ha_release: 0.108
ha_iot_class: Local Polling

View File

@ -144,6 +144,14 @@ This service will not be available if only a Generation 1 controller is on the a
| ---------------------- | -------- | ----------- |
| `devices` | yes | Name of the controller(s) to resume. If not given, will resume all paused controllers on the account.
### Service `rachio.stop_watering`
Stops all currently running schedules.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `devices` | yes | Name of the controller(s) to stop. If not given, will stop all running controllers on the account.
## Examples
In this section, you find some real-life examples of how to use this switch.

View File

@ -1,5 +1,5 @@
---
title: Rainforest Eagle-200
title: Rainforest Eagle
description: Instructions on how to setup the Rainforest Eagle with Home Assistant.
ha_category:
- Energy
@ -12,35 +12,11 @@ ha_codeowners:
ha_domain: rainforest_eagle
ha_platforms:
- sensor
ha_config_flow: true
ha_dhcp: true
---
A `sensor` platform for the Rainforest Automation's [Eagle-200](https://rainforestautomation.com/rfa-z114-eagle-200/)
and [Legacy Eagle](https://rainforestautomation.com/support/rfa-z109-eagle-support/) energy gateways.
Integrate energy usage and price from the Rainforest Automation's [Eagle-200](https://rainforestautomation.com/rfa-z114-eagle-200/)
and [Legacy Eagle](https://rainforestautomation.com/support/rfa-z109-eagle-support/) energy gateways. The price will only be included if it is provided by the electricity meter. If you picked an electricity plan in the app, the price data will not be available.
## Configuration
To enable this sensor, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: rainforest_eagle
ip_address: IP_FOR_EAGLE
cloud_id: CLOUD_ID_FROM_EAGLE
install_code: INSTALL_CODE_FROM_EAGLE
```
{% configuration %}
ip_address:
description: The local IP address of your Eagle device.
required: true
type: string
cloud_id:
description: The Cloud ID that is printed on the bottom of the Eagle
required: true
type: string
install_code:
description: "The Install Code that is printed on the bottom of the Eagle. Use the full Install Code with no spaces (e.g., `1a2b3c4d5a6b7c8d`)"
required: true
type: string
{% endconfiguration %}
{% include integrations/config_flow.md %}

View File

@ -3,18 +3,24 @@ title: Renault
description: Instructions on how to integrate Renault car into Home Assistant.
ha_category:
- Car
- Binary Sensor
- Sensor
ha_release: 2021.8
ha_iot_class: Cloud Polling
ha_config_flow: true
ha_codeowners: '@epenet'
ha_codeowners:
- '@epenet'
ha_domain: renault
ha_platforms:
- binary_sensor
- sensor
---
The Renault integration offers integration with the **MyRenault** cloud service and provides sensors such as charger state and temperature.
This integration provides the following platforms:
- Binary sensors - such as plug and charge status.
- Sensors - such as battery level, outside temperature, odometer, estimated range, and charging rate.
## Prerequisites

View File

@ -17,21 +17,31 @@ Some of these sensors are built-in to Home Assistant, some are created automatic
The type of data a sensor returns impacts how it is displayed in the frontend. This is controlled by the sensor's device class designation. Built-in sensors and many created from an integration will have this designation predefined. Those can be modified in the [customize section](/docs/configuration/customizing-devices/). When manually creating a new sensor the device class may be optionally assigned. A full list of available sensor device classes is below:
- **None**: Generic sensor. This is the default and doesn't need to be set.
- **aqi**: Air Quality Index
- **battery**: Percentage of battery that is left.
- **carbon_dioxide**: Carbon Dioxide in CO2 (Smoke)
- **carbon_monoxide**: Carbon Monoxide in CO (Gas CNG/LPG)
- **current**: Current in A.
- **energy**: Energy in Wh or kWh.
- **humidity**: Percentage of humidity in the air.
- **illuminance**: The current light level in lx or lm.
- **monetary**: The monetary value.
- **signal_strength**: Signal strength in dB or dBm.
- **temperature**: Temperature in °C or °F.
- **power**: Power in W or kW.
- **nitrogen_dioxide**: Concentration of Nitrogen Dioxide in µg/m³
- **nitrogen_monoxide**: Concentration of Nitrogen Monoxide in µg/m³
- **nitrous_oxide**: Concentration of Nitrous Oxide in µg/m³
- **ozone**: Concentration of Ozone in µg/m³
- **pm1**: Concentration of particulate matter less than 1 micrometer in µg/m³
- **pm10**: Concentration of particulate matter less than 10 micrometers in µg/m³
- **pm25**: Concentration of particulate matter less than 2.5 micrometers in µg/m³
- **power_factor**: Power factor in %.
- **power**: Power in W or kW.
- **pressure**: Pressure in hPa or mbar.
- **signal_strength**: Signal strength in dB or dBm.
- **sulphur_dioxide**: Concentration of sulphur dioxide in µg/m³
- **temperature**: Temperature in °C or °F.
- **timestamp**: Datetime object or timestamp string (ISO 8601).
- **volatile_organic_compounds**: Concentration of volatile organic compounds in µg/m³.
- **voltage**: Voltage in V.
- **carbon_monoxide**: Carbon Monoxide in CO (Gas CNG/LPG)
- **carbon_dioxide**: Carbon Dioxide in CO2 (Smoke)
<p class='img'>
<img src='/images/screenshots/sensor_device_classes_icons.png' />

View File

@ -166,6 +166,29 @@ shelly:
coap_port: 12345
```
## Light transition
Shelly lights supporting light transition:
- Shelly Bulb RGBW
- Shelly DUO
- Shelly Dimmer
- Shelly Dimmer 2
- Shelly RGBW2
- Shelly Vintage
<div class="note">
Firmware 1.11 or later is required.
</div>
<div class="note">
The firmware limits the transition time to 5 seconds.
</div>
## Known issues and limitations
- Only supports firmware 1.8 and later

View File

@ -52,6 +52,10 @@ Marks all items as completed in the shopping list. It does not remove the items.
Marks all items as incomplete in the shopping list.
### Service `shopping_list.clear_completed_items`
Clear completed items from the shopping list.
## Using in Automations
The simplest way use shopping list with automations (e.g., when entering a zone with shops) is to create a notification that can be clicked to open the shopping list.

View File

@ -31,11 +31,11 @@ Turn the siren on.
There are three optional input parameters that can be passed into the service call depending on whether or not your device supports them. Check the device's integration documentation for more details.
| Parameter Name | Input Type
|---------------- |-------------------------
| `tone` | `string` or `integer`
| `duration` | `integer`
| `volume_level` | `float` between 0 and 1
| Parameter Name | Input Type | Notes |
|---------------- |-------------------------|-------------------------------------------------------------------------------------|
| `tone` | `string` or `integer` | When the `available_tones` property is a map, either the key or value can be used. |
| `duration` | `integer` | |
| `volume_level` | `float` between 0 and 1 | |
### Service `siren.turn_off`

View File

@ -66,12 +66,12 @@ The following sensors are available in the library:
| consumption_month | kWh | Total consumption for the month from all of the consumption meters. |
| consumption_year | kWh | Total consumption for the year from all of the consumption meters. |
| consumption_total | kWh | Accumulated total consumption from all consumption meters. |
| total_power | Wp | Installed generator power. |
| installed_peak_power | W | Installed solar peak power. |
| alternator_loss | W | Altenator loss (equals to power_dc - power_ac) |
| capacity | % | Capacity (equals to power_dc / total power) |
| efficiency | % W/Wp | Efficiency (equals to power_ac / power_dc |
| efficiency | % | Efficiency (equals to power_ac / power_dc) |
| power_available | W | Available power (equals to power_ac - consumption_ac) |
| usage | | Usage (equals to consumption_ac / power_ac) |
| usage | % | Usage (equals to consumption_ac / power_ac) |
<div class='note'>
The solarlog integration is using the sunwatcher pypi package to get the data from your Solar-Log device. The last five sensors are not reported by your Solar-Log device directly, but are computed by the sunwatcher package.

View File

@ -5,7 +5,7 @@ ha_category:
- Sensor
- System Monitor
ha_release: 2021.6
ha_iot_class: Local Polling
ha_iot_class: Local Push
ha_config_flow: true
ha_codeowners:
- '@timmo001'
@ -80,7 +80,7 @@ Open a URL or file on the server using the default application.
service: system_bridge.open
data:
bridge: "device"
path: "C:\image.jpg"
path: "C:\\image.jpg"
```
```yaml

View File

@ -13,7 +13,6 @@ ha_release: 0.41
ha_iot_class: Cloud Polling
ha_codeowners:
- '@michaelarnauts'
- '@bdraco'
- '@noltari'
ha_domain: tado
ha_config_flow: true

View File

@ -19,7 +19,9 @@ ha_platforms:
- fan
- light
- lock
- number
- sensor
- select
- switch
- vacuum
- weather
@ -27,7 +29,7 @@ ha_platforms:
The `template` integration allows creating entities which derive their values from other data. This is done by specifying [templates](/docs/configuration/templating/) for properties of an entity, like the name or the state.
Sensors and binary (on/off) sensors are covered on this page. For other types, please see the specific pages:
Sensors, binary (on/off) sensors, numbers and selects are covered on this page. For other types, please see the specific pages:
- [Alarm Control Panel](/integrations/alarm_control_panel.template/)
- [Cover](/integrations/cover.template/)
@ -38,7 +40,7 @@ Sensors and binary (on/off) sensors are covered on this page. For other types, p
- [Vacuum](/integrations/vacuum.template/)
- [Weather](/integrations/weather.template/)
Sensor and binary sensor template entities are defined in your YAML configuration files, directly under the `template:` key and cannot be configured via the UI. You can define multiple configuration blocks as a list. Each block defines sensors and/or binary sensor entities and can contain an optional update trigger.
Sensor, binary sensor, number and select template entities are defined in your YAML configuration files, directly under the `template:` key and cannot be configured via the UI. You can define multiple configuration blocks as a list. Each block defines sensor/binary sensor/number/select entities and can contain an optional update trigger.
_For old sensor/binary sensor configuration format, [see below](#legacy-binary-sensor-configuration-format)._
@ -145,14 +147,6 @@ binary_sensor:
required: false
type: map
keys:
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. This allows changing the `name`, `icon` and `entity_id` from the web interface.
required: false
type: string
icon:
description: Defines a template for the icon of the sensor.
required: false
@ -170,16 +164,83 @@ binary_sensor:
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
number:
description: List of numbers
required: true
type: map
keys:
state:
description: Template for the number's current value.
required: true
type: template
set_value:
description: Defines an action to run when the number value changes.
required: true
type: action
step:
description: Template for the number's increment/decrement step.
required: true
type: template
min:
description: Template for the number's minimum value.
required: false
type: template
default: 0.0
max:
description: Template for the number's maximum value.
required: false
type: template
default: 100.0
optimistic:
description: Flag that defines if number works in optimistic mode.
required: false
type: boolean
default: false
select:
description: List of selects
required: true
type: map
keys:
state:
description: Template for the select's current value.
required: true
type: template
select_option:
description: Defines an action to run to select an option from the `options` list.
required: true
type: action
options:
description: Template for the select's available options.
required: true
type: template
optimistic:
description: Flag that defines if select works in optimistic mode.
required: false
type: boolean
default: false
"[all sensor, binary sensor, number, select entities]":
description: Fields that can be used above for sensors, binary sensors, numbers, and selects.
required: false
type: map
keys:
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. This allows changing the `name`, `icon` and `entity_id` from the web interface.
required: false
type: string
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
{% endconfiguration %}

View File

@ -0,0 +1,33 @@
---
title: Tractive
description: Instructions on how to integrate Tractive within Home Assistant.
ha_category:
- Presence Detection
ha_release: 2021.9
ha_iot_class: Cloud Push
ha_config_flow: true
ha_codeowners:
- '@Danielhiversen'
- '@zhulik'
- '@bieniu'
ha_domain: tractive
ha_platforms:
- device_tracker
- sensor
---
[Tractive](https://tractive.com/en/) is an Austrian company that develops real-time location trackers for pets and other animals using GPS and GSM technology.
The Tractive integration allows you to monitor locations of your pets from within Home Assistant and set up automations based on the information.
## Prerequisites
To use the integration you must be a premium tractive client.
{% include integrations/config_flow.md %}
## Integration Entities
The Tractive integration adds one device tracker and several sensors per registered pet:
![Tractive device tracker](/images/integrations/tractive/device_tracker.png)

View File

@ -17,6 +17,8 @@ ha_platforms:
- light
- sensor
- switch
ha_codeowners:
- '@janiversen'
---
The `tradfri` integration allows you to connect your IKEA Trådfri Gateway to Home Assistant. The gateway can control compatible Zigbee-based lights (certified Zigbee Light Link products) connected to it. Home Assistant will automatically discover the gateway's presence on your local network if `discovery:` is present in your `configuration.yaml` file.

View File

@ -88,7 +88,7 @@ device_class:
The Universal Media Player will primarily imitate one of its `children`. The Universal Media Player will control the first child on the list that is active (not idle/off). The Universal Media Player will also inherit its state from the first active child if a `state_template` is not provided. Entities in the `children:` list must be media players, but the state template can contain any entity.
It is recommended that the command `turn_on`, the command `turn_off`, and the attribute `state` all be provided together. The `state` attribute indicates if the media player is on or off. If `state` indicates the media player is off, this status will take precedence over the states of the children. If all the children are idle/off and `state` is on, the Universal Media Player's state will be on.
It is recommended that the command `turn_on`, the command `turn_off`, and the attribute `state` all be provided together. The `state` attribute indicates if the media player is on or off. If `state` indicates the media player is off, this status will take precedence over the states of the children. If all the children are idle/off and `state` is on, the Universal Media Player's state will be on. If not provided, the `toggle` command will delegate to `turn_on` or `turn_off` based on the `state`.
It is also recommended that the command `volume_up`, the command `volume_down`, the command `volume_mute`, and the attribute `is_volume_muted` all be provided together. The attribute `is_volume_muted` should return either True or the on state when the volume is muted. The `volume_mute` service should toggle the mute setting.

View File

@ -3,22 +3,26 @@ title: UPnP/IGD
description: Internet Gateway Device (IGD) Protocol for Home Assistant.
ha_category:
- Network
- Binary Sensor
- Sensor
ha_release: 0.18
ha_iot_class: Local Polling
ha_config_flow: true
ha_codeowners:
- '@StevenLooman'
- '@ehendrix23'
ha_domain: upnp
ha_ssdp: true
ha_platforms:
- binary_sensor
- sensor
---
The `upnp` integration enables you to collect network statistics from your router such as bytes in/out and packets in/out. This information is provided by the [UPnP](https://en.wikipedia.org/wiki/Universal_Plug_and_Play)/[Internet Gateway Device (IGD) Protocol](https://en.wikipedia.org/wiki/Internet_Gateway_Device_Protocol) if enabled on your router.
The `upnp` integration enables you to collect network statistics from your router such as bytes in/out and packets in/out and WAN connectivity status. This information is provided by the [UPnP](https://en.wikipedia.org/wiki/Universal_Plug_and_Play)/[Internet Gateway Device (IGD) Protocol](https://en.wikipedia.org/wiki/Internet_Gateway_Device_Protocol) if enabled on your router.
There is currently support for the following device types within Home Assistant:
- **Binary Sensor** - If router is connected to the WAN.
- **Sensor** - Allows to get the network statistics from your router such as bytes in/out and packets in/out.
Please note that UPnP or NAT-PMP needs to be enabled on your router for this integration to work.

View File

@ -10,28 +10,14 @@ ha_codeowners:
ha_domain: uptimerobot
ha_platforms:
- binary_sensor
ha_quality_scale: platinum
ha_config_flow: true
---
The `uptimerobot` binary sensor platform allows you get the status for all of your monitors from your account on [Uptime Robot]( https://uptimerobot.com).
The `uptimerobot` integration provides binary sensors to get the status for all of your monitors from your account on [Uptime Robot]( https://uptimerobot.com).
## Configuration
To enable the sensor, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
binary_sensor:
- platform: uptimerobot
api_key: YOUR_API_KEY
```
{% configuration %}
api_key:
description: Your Uptime Robot API key.
required: true
type: string
{% endconfiguration %}
All the data will be fetched from [Uptime Robot](https://uptimerobot.com).
{% include integrations/config_flow.md %}
To get your API key, go to [My Settings](https://uptimerobot.com/dashboard#mySettings) on the Uptime Robot website, at the bottom you will find your "Read-Only API Key".
All the data will be fetched from [Uptime Robot](https://uptimerobot.com).

View File

@ -0,0 +1,27 @@
---
title: USB Discovery
description: Discover usb devices on the host.
ha_category:
- Utility
ha_iot_class: Local Push
ha_release: 2021.9
ha_domain: usb
ha_quality_scale: internal
ha_codeowners:
- '@bdraco'
---
The USB Discovery integration will watch the host for USB devices. Discovered integrations will show up in the discovered section on the integrations page in the configuration panel.
- On all supported systems, devices are detected at startup.
- On Linux systems that have functional `udev` support, including Home Assistant Operating System, devices are detected as soon as they are plugged in.
- On non-Linux systems or systems without `udev` support, devices are detected when visiting the integrations page and during onboarding.
## 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:
```yaml
# Example configuration.yaml entry
usb:
```

View File

@ -54,6 +54,10 @@ offset:
default: 0
type: time
type: integer
cron:
description: This option is *mutually exclusive* of `cycle` and `offset`. It provides an advanced method of defining when should the counter be reset. It follows common [crontab syntax](https://crontab.guru).
required: true
type: string
net_consumption:
description: Set this to True if you would like to treat the source as a net meter. This will allow your counter to go both positive and negative.
required: false

View File

@ -53,6 +53,3 @@ source:
### Supported images for Home Assistant
`default`, `qemux86`, `qemux86-64`, `qemuarm`, `qemuarm-64`, `generic-x86-64`, `raspberrypi`, `raspberrypi2`, `raspberrypi3`, `raspberrypi3-64`, `raspberrypi4`, `raspberrypi4-64`, `tinker`, `odroid-c2`, `odroid-n2`, `odroid-xu`

View File

@ -33,6 +33,10 @@ ha_platforms:
---
[Wink](https://www.wink.com/) is a home automation hub that can control a whole wide range of devices on the market. Or, as they say in their own words:
<div class="note warning">
The Wink integration has been marked deprecated and is pending removal in Home Assistant Core 2021.12.
It is considered impossible to obtain the needed API keys to use this integration. The developer portal has been taken down and support has confirmed to their users they won't be allowing new applications.
</div>
<blockquote>
Wink offers one, quick and simple way to connect people with the products they rely on every day in their home.

File diff suppressed because it is too large Load Diff

View File

@ -27,3 +27,33 @@ The Yamaha MusicCast integration implements the grouping services. There are som
- It is not possible to let mediaplayer entities of the same device (e.g., different zones) be in distinct groups.
- If a non-main zone is the master of a group, it is not possible to let other mediaplayers of the same device join this group.
## Play Media functionality
The MusicCast integration supports the Home Assistant media browser for all streaming services, your device supports. For services such as Deezer, you have to log in using the official MusicCast app. In addition, local HTTP URLs can be played back using this service. This includes the Home Assistant text to text services.
It is also possible to recall NetUSB presets using the play media service. To do so "presets:<preset_num>" has to be used as `media_content_id` in the service call.
### Examples:
This is an example service call that plays an audio file from a web server on the local network (like the Home Assistant built-in webserver):
```yaml
service: media_player.play_media
target:
entity_id: media_player.sonos
data:
media_content_type: "music"
media_content_id: "http://192.168.188.18:8123/local/sound_files/doorbell-front.mp3"
```
This example call shows how to call netusb preset 1:
```yaml
service: media_player.play_media
target:
entity_id: media_player.buro
data:
media_content_id: "presets:1"
media_content_type: "music"
```

View File

@ -4,18 +4,20 @@ description: Instructions on how to setup Yeelight Wifi devices within Home Assi
ha_category:
- Light
ha_release: 0.32
ha_iot_class: Local Polling
ha_iot_class: Local Push
ha_config_flow: true
ha_codeowners:
- '@rytilahti'
- '@zewelor'
- '@shenxn'
- '@starkillerOG'
ha_domain: yeelight
ha_platforms:
- binary_sensor
- light
ha_homekit: true
ha_dhcp: true
ha_quality_scale: platinum
---
The `yeelight` integration allows you to control your Yeelight Wi-Fi bulbs with Home Assistant.

View File

@ -145,6 +145,8 @@ A list of available device paths can be found in **Supervisor** > **System** > *
Press `Submit`. The success dialog will appear or an error will be displayed in the popup. An error is likely if Home Assistant can't access the USB device or your device is not up to date. Refer to [Troubleshooting](#troubleshooting) below for more information.
### ZiGate or Sonoff ZBBridge Devices
If you are use ZiGate or Sonoff ZBBridge you have to use some special usb_path configuration:
- ZiGate USB TTL or DIN: `/dev/ttyUSB0` or `auto` to auto discover the zigate
@ -152,6 +154,19 @@ If you are use ZiGate or Sonoff ZBBridge you have to use some special usb_path c
- Wifi Zigate : `socket://[IP]:[PORT]` for example `socket://192.168.1.10:9999`
- Sonoff ZBBridge : `socket://[IP]:[PORT]` for example `socket://192.168.1.11:8888`
### Discovery via USB or Zeroconf
Some devices can be auto-discovered, which can simplify the ZHA setup process. The following devices have been tested with discovery and offer a quick setup experience:
| Device | Discovery Method | Identifier |
| -------| ---------------- | ---------- |
| [ConBee II](https://phoscon.de/en/conbee2) | USB | 1CF1:0030 |
| [Nortek HUSBZB-1](https://www.nortekcontrol.com/products/2gig/husbzb-1-gocontrol-quickstick-combo/) | USB | 10C4:8A2A |
| [slae.sh CC2652RB development stick](https://slae.sh/projects/cc2652/) | USB | 10C4:EA60 |
| [Tube Zigbee Coordinator](https://www.tubeszb.com/) | Zeroconf | tube_zb_gw_cc2652p2.local. |
Additional devices in the [Known working Zigbee radio modules](#known-working-zigbee-radio-modules) list may be discoverable, however, only devices that have been confirmed discoverable are listed above.
## Configuration - YAML
For more advanced configuration, you can modify `configuration.yaml` and restart Home Assistant

View File

@ -11,6 +11,7 @@ ha_category:
- Light
- Lock
- Number
- Select
- Sensor
- Siren
- Switch
@ -29,6 +30,7 @@ ha_platforms:
- lock
- number
- sensor
- select
- siren
- switch
---
@ -45,6 +47,19 @@ Note: A new network key is automatically generated for you. If this Z-Wave stick
If you do not run Home Assistant OS (the default installation type) or Home Assistant Supervised, please see the [advanced installation instructions](#advanced-installation-instructions).
### Discovery via USB
Some devices can be auto-discovered, which can simplify the Z-Wave JS setup process. The following devices have been tested with discovery, and offer a quick setup experience:
| Device | Identifier | Vendor |
| -------| ---------- | ------ |
| Aeotec Z-Stick Gen5+ | 0658:0200 | https://aeotec.com/z-wave-usb-stick/ |
| Nortek HUSBZB-1 | 10C4:8A2A | https://www.nortekcontrol.com/products/2gig/husbzb-1-gocontrol-quickstick-combo/ |
| Zooz ZST10 | 10C4:EA60 | https://www.getzooz.com/zooz-zst10-s2-stick.html |
| Z-WaveMe UZB | 0658:0200 | https://z-wave.me/products/uzb/ |
Additional devices may be discoverable, however only devices that have been confirmed discoverable are listed above.
## Using Z-Wave
When the Z-Wave integration starts up, it will interview your entire Z-Wave network. Depending on the number of devices paired with the Z-Wave stick, this can take a while. Information about your devices is stored in cache files by Z-Wave JS. Be aware that (re)starting the Z-Wave server will cause your network to be (partially) unresponsive until the interview process is done.
@ -65,8 +80,9 @@ This service will update a configuration parameter. To update multiple partial p
| 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. |
| `entity_id` | no | Entity (or list of entities) to set the configuration parameter on. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
| `device_id` | no | Device ID (or list of device IDs) to set the configuration parameter on. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
| `area_id` | no | Area ID (or list of area IDs) for devices/entities to set the configuration parameter on. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
| `parameter` | yes | The parameter number or the name of the property. The name of the property is case sensitive. |
| `bitmask` | no | The bitmask for a partial parameter in hex (0xff) or decimal (255) format. If the name of the parameter is provided, this is not needed. |
| `value` | yes | The target value for the parameter as the integer value or the state label. The state label is case sensitive. |
@ -117,8 +133,9 @@ This service will bulk set multiple partial configuration parameters. Be warned
| 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. |
| `entity_id` | no | Entity (or list of entities) to bulk set partial configuration parameters on. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
| `device_id` | no | Device ID (or list of device IDs) to bulk set partial configuration parameters on. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
| `area_id` | no | Area ID (or list of area IDs) for devices/entities to bulk set partial configuration parameters on. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
| `parameter` | yes | The parameter number 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 either the bitmasks (in integer or hex form) or the partial parameter name and the values are the value you want to set on each partial (either the integer value or a named state when applicable). Note that when using a dictionary, and bitmasks that are not provided will be set to their currently cached values. |
@ -214,8 +231,9 @@ This service will set a value on a Z-Wave device. It is for advanced use cases w
| 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. |
| `entity_id` | no | Entity (or list of entities) to set the value on. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
| `device_id` | no | Device ID (or list of device IDs) to set the value on. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
| `area_id` | no | Area ID (or list of area IDs) for devices/entities to set the value on. At least one `entity_id`, `device_id`, or `area_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. |
@ -230,8 +248,9 @@ This service will set a value on multiple Z-Wave devices using multicast. It is
| Service Data Attribute | Required | Description |
|------------------------ |---------- |-------------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | no | Entity (or list of entities) to set the configuration parameter on. At least two `entity_id` or `device_id` must be provided if not broadcasting the command. |
| `device_id` | no | ID of device (or list of device IDs) to set the configuration parameter on. At least two `entity_id` or `device_id` must be provided if not broadcasting the command. |
| `entity_id` | no | Entity (or list of entities) to set the value on via multicast. At least two `entity_id` or `device_id` must be resolved if not broadcasting the command. |
| `device_id` | no | Device ID (or list of device IDs) to set the value on via multicast. At least two `entity_id` or `device_id` must be resolved if not broadcasting the command. |
| `area_id` | no | Area ID (or list of area IDs) for devices/entities to set the value on via multicast. At least two `entity_id` or `device_id` must be resolved if not broadcasting the command. |
| `broadcast` | no | Boolean that indicates whether you want the message to be broadcast to all nodes on the network. If you have only one Z-Wave JS network configured, you do not need to provide a `device_id` or `entity_id` when this is set to true. When you have multiple Z-Wave JS networks configured, you MUST provide at least one `device_id` or `entity_id` so the service knows which network to target. |
| `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. |
@ -246,8 +265,9 @@ Calling this service forces Z-Wave JS to try to reach a node. This can be used t
| Service Data Attribute | Required | Description |
|------------------------ |---------- |-------------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | no | Entity (or list of entities) to ping. At least one `entity_id` or `device_id` must be provided. |
| `device_id` | no | ID of device to ping. At least one `entity_id` or `device_id` must be provided. |
| `entity_id` | no | Entity (or list of entities) to ping. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
| `device_id` | no | Device ID (or list of device IDs) to ping. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
| `area_id` | no | Area ID (or list of area IDs) for devices/entities to ping. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
This service can be used in tandem with the node status sensor (disabled by default) to track the node's status and fire the command when needed. Here's an example automation that would ping a node when the node status sensor state has changed to dead and remained dead for 30 minutes. Note that this may be useful for some devices but will definitely not be useful for all. In cases where it is not useful, all you will be doing is generating additional traffic on your Z-Wave network which could slow down communication.
@ -411,6 +431,58 @@ action:
entity_id: switch.in_wall_dual_relay_switch_2, switch.in_wall_dual_relay_switch_3
```
## Automations
### Device automations
Z-Wave JS has support for device triggers and conditions. To use a device automation, use the automation UI to select the "Device" trigger/condition type, and then pick your Z-Wave JS device. Under trigger/condition types, you will see Z-Wave JS specific entries.
### `zwave_js.value_updated` trigger
Z-Wave JS provides the `zwave_js.value_updated` trigger platform which can be used to trigger automations on any Z-Wave JS value update, including Z-Wave values that aren't supported in Home Assistant via entities. While they can't be authored from the automation UI, they can be authored in YAML directly in your `configuration.yaml`.
```yaml
# Example automation trigger that fires whenever the `latchStatus` value changes from `closed` to `opened` on the three devices (devices will be derived from an entity ID).
trigger:
platform: zwave_js.value_updated
# At least one `device_id` or `entity_id` must be provided
device_id: 45d7d3230dbb7441473ec883dab294d4 # Garage Door Lock device ID
entity_id:
- lock.front_lock
- lock.back_door
# `property` and `command_class` are required
command_class: 98 # Door Lock CC
property: "latchStatus"
# `property_key` and `endpoint` are optional
property_key: null
endpoint: 0
# `from` and `to` will both accept lists of values and the trigger will fire if the value update matches any of the listed values
from:
- "closed"
- "jammed"
to: "opened"
```
#### Available Trigger Data
In addition to the [standard automation trigger data](docs/automation/templating/#all), the `zwave_js.value_updated` trigger platform has additional trigger data available for use.
| Template variable | Data |
|------------------------------|--------------------------------------------------------------------------------------------|
| `trigger.device_id` | Device ID for the device in the device registry. |
| `trigger.node_id` | Z-Wave node ID. |
| `trigger.command_class` | Command class ID. |
| `trigger.command_class_name` | Command class name. |
| `trigger.property` | Z-Wave Value's property. |
| `trigger.property_name` | Z-Wave Value's property name. |
| `trigger.property_key` | Z-Wave Value's property key. |
| `trigger.property_key_name` | Z-Wave Value's property key name. |
| `trigger.endpoint` | Z-Wave Value's endpoint. |
| `trigger.previous_value` | The previous value for this Z-Wave value (translated to a state name when possible). |
| `trigger.previous_value_raw` | The raw previous value for this Z-Wave value (the key of the state when a state is named). |
| `trigger.current_value` | The current value for this Z-Wave value (translated to a state name when possible). |
| `trigger.current_value_raw` | The raw current value for this Z-Wave value (the key of the state when a state is named). |
## Current Limitations
- 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).

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 342 KiB

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB