Merge pull request #20137 from home-assistant/rc

This commit is contained in:
Franck Nijhof 2021-11-03 17:26:35 +01:00 committed by GitHub
commit 1b8995d4b4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
100 changed files with 4279 additions and 1879 deletions

View File

@ -271,7 +271,6 @@
"Vultr", "Vultr",
"WebDAV", "WebDAV",
"WeMo", "WeMo",
"Wink",
"WLED", "WLED",
"WWLLN", "WWLLN",
"Xiaomi", "Xiaomi",

View File

@ -65,10 +65,10 @@ source/_integrations/blink.markdown @fronzbot
source/_integrations/blueprint.markdown @home-assistant/core source/_integrations/blueprint.markdown @home-assistant/core
source/_integrations/bmp280.markdown @belidzs source/_integrations/bmp280.markdown @belidzs
source/_integrations/bmw_connected_drive.markdown @gerard33 @rikroe source/_integrations/bmw_connected_drive.markdown @gerard33 @rikroe
source/_integrations/bond.markdown @prystupa @joshs85 source/_integrations/bond.markdown @bdraco @prystupa @joshs85
source/_integrations/bosch_shc.markdown @tschamm source/_integrations/bosch_shc.markdown @tschamm
source/_integrations/braviatv.markdown @bieniu @Drafteed source/_integrations/braviatv.markdown @bieniu @Drafteed
source/_integrations/broadlink.markdown @danielhiversen @felipediel source/_integrations/broadlink.markdown @danielhiversen @felipediel @L-I-Am
source/_integrations/brother.markdown @bieniu source/_integrations/brother.markdown @bieniu
source/_integrations/brunt.markdown @eavanvalkenburg source/_integrations/brunt.markdown @eavanvalkenburg
source/_integrations/bsblan.markdown @liudger source/_integrations/bsblan.markdown @liudger
@ -104,7 +104,7 @@ source/_integrations/debugpy.markdown @frenck
source/_integrations/deconz.markdown @Kane610 source/_integrations/deconz.markdown @Kane610
source/_integrations/delijn.markdown @bollewolle @Emilv2 source/_integrations/delijn.markdown @bollewolle @Emilv2
source/_integrations/demo.markdown @home-assistant/core source/_integrations/demo.markdown @home-assistant/core
source/_integrations/denonavr.markdown @scarface-4711 @starkillerOG source/_integrations/denonavr.markdown @ol-iver @starkillerOG
source/_integrations/derivative.markdown @afaucogney source/_integrations/derivative.markdown @afaucogney
source/_integrations/device_automation.markdown @home-assistant/core source/_integrations/device_automation.markdown @home-assistant/core
source/_integrations/devolo_home_control.markdown @2Fake @Shutgun source/_integrations/devolo_home_control.markdown @2Fake @Shutgun
@ -127,7 +127,7 @@ source/_integrations/ecovacs.markdown @OverloadUT
source/_integrations/edl21.markdown @mtdcr source/_integrations/edl21.markdown @mtdcr
source/_integrations/efergy.markdown @tkdrob source/_integrations/efergy.markdown @tkdrob
source/_integrations/egardia.markdown @jeroenterheerdt source/_integrations/egardia.markdown @jeroenterheerdt
source/_integrations/eight_sleep.markdown @mezz64 source/_integrations/eight_sleep.markdown @mezz64 @raman325
source/_integrations/elgato.markdown @frenck source/_integrations/elgato.markdown @frenck
source/_integrations/elkm1.markdown @gwww @bdraco source/_integrations/elkm1.markdown @gwww @bdraco
source/_integrations/elv.markdown @majuss source/_integrations/elv.markdown @majuss
@ -139,13 +139,12 @@ source/_integrations/enigma2.markdown @fbradyirl
source/_integrations/enocean.markdown @bdurrer source/_integrations/enocean.markdown @bdurrer
source/_integrations/enphase_envoy.markdown @gtdiehl source/_integrations/enphase_envoy.markdown @gtdiehl
source/_integrations/entur_public_transport.markdown @hfurubotten source/_integrations/entur_public_transport.markdown @hfurubotten
source/_integrations/environment_canada.markdown @michaeldavie source/_integrations/environment_canada.markdown @gwww @michaeldavie
source/_integrations/ephember.markdown @ttroy50 source/_integrations/ephember.markdown @ttroy50
source/_integrations/epson.markdown @pszafer source/_integrations/epson.markdown @pszafer
source/_integrations/epsonworkforce.markdown @ThaStealth source/_integrations/epsonworkforce.markdown @ThaStealth
source/_integrations/eq3btsmart.markdown @rytilahti source/_integrations/eq3btsmart.markdown @rytilahti
source/_integrations/esphome.markdown @OttoWinter @jesserockz source/_integrations/esphome.markdown @OttoWinter @jesserockz
source/_integrations/essent.markdown @TheLastProject
source/_integrations/evohome.markdown @zxdavb source/_integrations/evohome.markdown @zxdavb
source/_integrations/ezviz.markdown @RenierM26 @baqs source/_integrations/ezviz.markdown @RenierM26 @baqs
source/_integrations/faa_delays.markdown @ntilley905 source/_integrations/faa_delays.markdown @ntilley905
@ -162,6 +161,7 @@ source/_integrations/flo.markdown @dmulcahey
source/_integrations/flock.markdown @fabaff source/_integrations/flock.markdown @fabaff
source/_integrations/flume.markdown @ChrisMandich @bdraco source/_integrations/flume.markdown @ChrisMandich @bdraco
source/_integrations/flunearyou.markdown @bachya source/_integrations/flunearyou.markdown @bachya
source/_integrations/flux_led.markdown @icemanch
source/_integrations/forecast_solar.markdown @klaasnicolaas @frenck source/_integrations/forecast_solar.markdown @klaasnicolaas @frenck
source/_integrations/forked_daapd.markdown @uvjustin source/_integrations/forked_daapd.markdown @uvjustin
source/_integrations/fortios.markdown @kimfrellsen source/_integrations/fortios.markdown @kimfrellsen
@ -169,7 +169,7 @@ source/_integrations/foscam.markdown @skgsergio
source/_integrations/freebox.markdown @hacf-fr @Quentame source/_integrations/freebox.markdown @hacf-fr @Quentame
source/_integrations/freedompro.markdown @stefano055415 source/_integrations/freedompro.markdown @stefano055415
source/_integrations/fritz.markdown @mammuth @AaronDavidSchneider @chemelli74 source/_integrations/fritz.markdown @mammuth @AaronDavidSchneider @chemelli74
source/_integrations/fritzbox.markdown @mib1185 source/_integrations/fritzbox.markdown @mib1185 @flabbamann
source/_integrations/fronius.markdown @nielstron source/_integrations/fronius.markdown @nielstron
source/_integrations/frontend.markdown @home-assistant/frontend source/_integrations/frontend.markdown @home-assistant/frontend
source/_integrations/garages_amsterdam.markdown @klaasnicolaas source/_integrations/garages_amsterdam.markdown @klaasnicolaas
@ -196,6 +196,7 @@ source/_integrations/growatt_server.markdown @indykoning @muppet3000 @JasperPlan
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 @Aohzan source/_integrations/harmony.markdown @ehendrix23 @bramkragten @bdraco @mkeesey @Aohzan
source/_integrations/hassio.markdown @home-assistant/supervisor
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
@ -214,9 +215,8 @@ source/_integrations/homematic.markdown @pvizeli @danielperna84
source/_integrations/honeywell.markdown @rdfurman source/_integrations/honeywell.markdown @rdfurman
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/hue.markdown @balloob @frenck source/_integrations/hue.markdown @balloob @frenck
source/_integrations/huisbaasje.markdown @denniss17 source/_integrations/huisbaasje.markdown @dennisschroer
source/_integrations/humidifier.markdown @home-assistant/core @Shulyaka source/_integrations/humidifier.markdown @home-assistant/core @Shulyaka
source/_integrations/hunterdouglas_powerview.markdown @bdraco source/_integrations/hunterdouglas_powerview.markdown @bdraco
source/_integrations/hvv_departures.markdown @vigonotion source/_integrations/hvv_departures.markdown @vigonotion
@ -272,6 +272,7 @@ source/_integrations/litterrobot.markdown @natekspencer
source/_integrations/local_ip.markdown @issacg source/_integrations/local_ip.markdown @issacg
source/_integrations/logger.markdown @home-assistant/core source/_integrations/logger.markdown @home-assistant/core
source/_integrations/logi_circle.markdown @evanjd source/_integrations/logi_circle.markdown @evanjd
source/_integrations/lookin.markdown @ANMalko
source/_integrations/loopenergy.markdown @pavoni source/_integrations/loopenergy.markdown @pavoni
source/_integrations/luci.markdown @mzdrale source/_integrations/luci.markdown @mzdrale
source/_integrations/luftdaten.markdown @fabaff source/_integrations/luftdaten.markdown @fabaff
@ -320,7 +321,6 @@ source/_integrations/nam.markdown @bieniu
source/_integrations/nanoleaf.markdown @milanmeu source/_integrations/nanoleaf.markdown @milanmeu
source/_integrations/neato.markdown @dshokouhi @Santobert source/_integrations/neato.markdown @dshokouhi @Santobert
source/_integrations/nederlandse_spoorwegen.markdown @YarmoM source/_integrations/nederlandse_spoorwegen.markdown @YarmoM
source/_integrations/nello.markdown @pschmitt
source/_integrations/ness_alarm.markdown @nickw444 source/_integrations/ness_alarm.markdown @nickw444
source/_integrations/nest.markdown @allenporter source/_integrations/nest.markdown @allenporter
source/_integrations/netatmo.markdown @cgtobi source/_integrations/netatmo.markdown @cgtobi
@ -345,10 +345,11 @@ source/_integrations/nsw_rural_fire_service_feed.markdown @exxamalte
source/_integrations/nuki.markdown @pschmitt @pvizeli @pree source/_integrations/nuki.markdown @pschmitt @pvizeli @pree
source/_integrations/numato.markdown @clssn source/_integrations/numato.markdown @clssn
source/_integrations/number.markdown @home-assistant/core @Shulyaka source/_integrations/number.markdown @home-assistant/core @Shulyaka
source/_integrations/nut.markdown @bdraco source/_integrations/nut.markdown @bdraco @ollo69
source/_integrations/nws.markdown @MatthewFlamm source/_integrations/nws.markdown @MatthewFlamm
source/_integrations/nzbget.markdown @chriscla source/_integrations/nzbget.markdown @chriscla
source/_integrations/obihai.markdown @dshokouhi source/_integrations/obihai.markdown @dshokouhi
source/_integrations/octoprint.markdown @rfleming71
source/_integrations/ohmconnect.markdown @robbiet480 source/_integrations/ohmconnect.markdown @robbiet480
source/_integrations/ombi.markdown @larssont source/_integrations/ombi.markdown @larssont
source/_integrations/omnilogic.markdown @oliver84 @djtimca @gentoosu source/_integrations/omnilogic.markdown @oliver84 @djtimca @gentoosu
@ -407,6 +408,7 @@ source/_integrations/rainforest_eagle.markdown @gtdiehl @jcalbert
source/_integrations/rainmachine.markdown @bachya source/_integrations/rainmachine.markdown @bachya
source/_integrations/random.markdown @fabaff source/_integrations/random.markdown @fabaff
source/_integrations/recollect_waste.markdown @bachya source/_integrations/recollect_waste.markdown @bachya
source/_integrations/recorder.markdown @home-assistant/core
source/_integrations/rejseplanen.markdown @DarkFox source/_integrations/rejseplanen.markdown @DarkFox
source/_integrations/renault.markdown @epenet source/_integrations/renault.markdown @epenet
source/_integrations/repetier.markdown @MTrab source/_integrations/repetier.markdown @MTrab
@ -481,7 +483,7 @@ source/_integrations/srp_energy.markdown @briglx
source/_integrations/starline.markdown @anonym-tsk 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 @frenck
source/_integrations/stream.markdown @hunterjm @uvjustin @allenporter 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
@ -517,7 +519,6 @@ source/_integrations/tile.markdown @bachya
source/_integrations/time_date.markdown @fabaff source/_integrations/time_date.markdown @fabaff
source/_integrations/tmb.markdown @alemuro source/_integrations/tmb.markdown @alemuro
source/_integrations/todoist.markdown @boralyl source/_integrations/todoist.markdown @boralyl
source/_integrations/toon.markdown @frenck
source/_integrations/totalconnect.markdown @austinmroczek source/_integrations/totalconnect.markdown @austinmroczek
source/_integrations/tplink.markdown @rytilahti @thegardenmonkey source/_integrations/tplink.markdown @rytilahti @thegardenmonkey
source/_integrations/traccar.markdown @ludeeus source/_integrations/traccar.markdown @ludeeus
@ -527,7 +528,7 @@ source/_integrations/trafikverket_train.markdown @endor-force
source/_integrations/trafikverket_weatherstation.markdown @endor-force source/_integrations/trafikverket_weatherstation.markdown @endor-force
source/_integrations/transmission.markdown @engrbm87 @JPHutchins source/_integrations/transmission.markdown @engrbm87 @JPHutchins
source/_integrations/tts.markdown @pvizeli source/_integrations/tts.markdown @pvizeli
source/_integrations/tuya.markdown @Tuya @zlinoliver @METISU source/_integrations/tuya.markdown @Tuya @zlinoliver @METISU @frenck
source/_integrations/twentemilieu.markdown @frenck source/_integrations/twentemilieu.markdown @frenck
source/_integrations/twinkly.markdown @dr1rrb source/_integrations/twinkly.markdown @dr1rrb
source/_integrations/ubus.markdown @noltari source/_integrations/ubus.markdown @noltari
@ -545,6 +546,7 @@ source/_integrations/utility_meter.markdown @dgomes
source/_integrations/vallox.markdown @andre-richter source/_integrations/vallox.markdown @andre-richter
source/_integrations/velbus.markdown @Cereal2nd @brefra source/_integrations/velbus.markdown @Cereal2nd @brefra
source/_integrations/velux.markdown @Julius2342 source/_integrations/velux.markdown @Julius2342
source/_integrations/venstar.markdown @garbled1
source/_integrations/vera.markdown @pavoni 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
@ -554,7 +556,7 @@ source/_integrations/vicare.markdown @oischinger
source/_integrations/vilfo.markdown @ManneW source/_integrations/vilfo.markdown @ManneW
source/_integrations/vivotek.markdown @HarlemSquirrel source/_integrations/vivotek.markdown @HarlemSquirrel
source/_integrations/vizio.markdown @raman325 source/_integrations/vizio.markdown @raman325
source/_integrations/vlc_telnet.markdown @rodripf @dmcc source/_integrations/vlc_telnet.markdown @rodripf @dmcc @MartinHjelmare
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/wake_on_lan.markdown @ntilley905

View File

@ -107,9 +107,9 @@ social:
# Home Assistant release details # Home Assistant release details
current_major_version: 2021 current_major_version: 2021
current_minor_version: 10 current_minor_version: 11
current_patch_version: 7 current_patch_version: 0
date_released: 2021-11-01 date_released: 2021-11-03
# 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.

View File

@ -43,10 +43,6 @@ http:
ifttt: ifttt:
key: ["nope"] key: ["nope"]
wink:
access_token: ["wouldn't you"]
refresh_token: ["like to know"]
zwave: zwave:
usb_path: "/dev/ttyUSB0" usb_path: "/dev/ttyUSB0"
config_path: "/usr/local/share/python-openzwave/config" config_path: "/usr/local/share/python-openzwave/config"

View File

@ -237,33 +237,43 @@ The same thing can also be expressed as a filter:
- `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_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. - `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.
- `area_entities(area_name_or_id)` returns the list of entity IDs tied to a given area ID or name. Can also be used as a filter.
- `area_devices(area_name_or_id)` returns the list of device IDs tied to a given area ID or name. Can also be used as a filter.
#### Areas examples #### Areas examples
{% raw %} {% raw %}
```text ```text
{{ area_id('Living Room') }} # deadbeefdeadbeefdeadbeefdeadbeef {{ area_id('Living Room') }} # 'deadbeefdeadbeefdeadbeefdeadbeef'
``` ```
```text ```text
{{ area_id('my_device_id') }} # deadbeefdeadbeefdeadbeefdeadbeef {{ area_id('my_device_id') }} # 'deadbeefdeadbeefdeadbeefdeadbeef'
``` ```
```text ```text
{{ area_id('sensor.sony') }} # deadbeefdeadbeefdeadbeefdeadbeef {{ area_id('sensor.sony') }} # 'deadbeefdeadbeefdeadbeefdeadbeef'
``` ```
```text ```text
{{ area_name('deadbeefdeadbeefdeadbeefdeadbeef') }} # Living Room {{ area_name('deadbeefdeadbeefdeadbeefdeadbeef') }} # 'Living Room'
``` ```
```text ```text
{{ area_name('my_device_id') }} # Living Room {{ area_name('my_device_id') }} # 'Living Room'
``` ```
```text ```text
{{ area_name('sensor.sony') }} # Living Room {{ area_name('sensor.sony') }} # 'Living Room'
```
```text
{{ area_entities('deadbeefdeadbeefdeadbeefdeadbeef') }} # ['sensor.sony']
```
```text
{{ area_devices('Living Room') }} # ['my_device_id']
``` ```
{% endraw %} {% endraw %}
@ -278,6 +288,17 @@ The same thing can also be expressed as a filter:
- `utcnow()` returns a datetime object of the current time in the UTC timezone. - `utcnow()` returns a datetime object of the current time in the UTC timezone.
- For specific values: `utcnow().second`, `utcnow().minute`, `utcnow().hour`, `utcnow().day`, `utcnow().month`, `utcnow().year`, `utcnow().weekday()` and `utcnow().isoweekday()`. - For specific values: `utcnow().second`, `utcnow().minute`, `utcnow().hour`, `utcnow().day`, `utcnow().month`, `utcnow().year`, `utcnow().weekday()` and `utcnow().isoweekday()`.
- Using `utcnow()` will cause templates to be refreshed at the start of every new minute. - Using `utcnow()` will cause templates to be refreshed at the start of every new minute.
- `today_at(value)` converts a string containing a military time format to a datetime object with today's date in your time zone.
{% raw %}
```yaml
# Is the current time past 10:15?
{{ now() > today_at("10:15") }}
```
{% endraw %}
- `as_datetime()` converts a string containing a timestamp to a datetime object. - `as_datetime()` converts a string containing a timestamp to a datetime object.
- `as_timestamp(value, default)` converts datetime object or string to UNIX timestamp. If that fails, returns the `default` value, or if omitted `None`. This function also be used as a filter. - `as_timestamp(value, default)` converts datetime object or string to UNIX timestamp. If that fails, returns the `default` value, or if omitted `None`. This function also be used as a filter.
- `as_local()` converts datetime object to local time. This function also be used as a filter. - `as_local()` converts datetime object to local time. This function also be used as a filter.
@ -525,6 +546,7 @@ The numeric functions and filters will not fail if the input is not a valid numb
- `round(1, "half", default)` will always round to the nearest .5 value. `precision` should be 1 for this mode - `round(1, "half", default)` will always round to the nearest .5 value. `precision` should be 1 for this mode
- Filter `[x, y, ...] | max` will obtain the largest item in a sequence. - Filter `[x, y, ...] | max` will obtain the largest item in a sequence.
- Filter `[x, y, ...] | min` will obtain the smallest item in a sequence. - Filter `[x, y, ...] | min` will obtain the smallest item in a sequence.
- Filter `[x, y, ...] | average` will return the average value of the sequence.
- Filter `value_one|bitwise_and(value_two)` perform a bitwise and(&) operation with two values. - Filter `value_one|bitwise_and(value_two)` perform a bitwise and(&) operation with two values.
- Filter `value_one|bitwise_or(value_two)` perform a bitwise or(\|) operation with two values. - Filter `value_one|bitwise_or(value_two)` perform a bitwise or(\|) operation with two values.
- Filter `ord` will return for a string of length one an integer representing the Unicode code point of the character when the argument is a Unicode object, or the value of the byte when the argument is an 8-bit string. - Filter `ord` will return for a string of length one an integer representing the Unicode code point of the character when the argument is a Unicode object, or the value of the byte when the argument is an 8-bit string.

View File

@ -290,6 +290,7 @@ Supported abbreviations:
Supported abbreviations for device registry configuration: Supported abbreviations for device registry configuration:
```txt ```txt
'cu': 'configuration_url'
'cns': 'connections', 'cns': 'connections',
'ids': 'identifiers', 'ids': 'identifiers',
'name': 'name', 'name': 'name',

View File

@ -108,6 +108,23 @@ data:
``` ```
{% endraw %} {% endraw %}
You can use a template returning a native dictionary as well, which is useful if the attributes to be set depend on the situation.
{% raw %}
```yaml
service: climate.set_temperature
data: >
{% if states('sensor.temperature_living') < 19 %}
{"hvac_mode": "heat", "temperature": 19 }
{% else %}
{"hvac_mode": "auto" }
{% endif %}
```
{% endraw %}
### `homeassistant` services ### `homeassistant` services
There are four `homeassistant` services that aren't tied to any single domain, these are: There are four `homeassistant` services that aren't tied to any single domain, these are:

View File

@ -14,6 +14,7 @@ ha_platforms:
- climate - climate
- cover - cover
- sensor - sensor
- select
- switch - switch
--- ---
@ -52,6 +53,10 @@ The `advantage_air` binary sensor platform will create a binary sensor for each
The `advantage_air` switch platform will create a switch entity to toggle fresh air mode, if it is supported. The `advantage_air` switch platform will create a switch entity to toggle fresh air mode, if it is supported.
### Select
The `advantage_air` select platform allows you to change the zone used for the "MyZone" feature.
## Services ## Services
### Service `advantage_air.set_time_to` ### Service `advantage_air.set_time_to`

View File

@ -67,7 +67,7 @@ availability_topic:
required: false required: false
type: string type: string
code: code:
description: If defined, specifies a code to enable or disable the alarm in the frontend. description: If defined, specifies a code to enable or disable the alarm in the frontend. Note that the code is validated locally and blocks sending MQTT messages to the remote device. For remote code validation, the code can be configured to either of the special values `REMOTE_CODE` (numeric code) or `REMOTE_CODE_TEXT` (text code). In this case, local code validation is bypassed but the frontend will still show a numeric or text code dialog. Use `command_template` to send the code to the remote device. Example configurations for remote code validation [can be found here](./#configurations-with-remote-code-validation).
required: false required: false
type: string type: string
code_arm_required: code_arm_required:
@ -94,6 +94,10 @@ device:
required: false required: false
type: map type: map
keys: keys:
configuration_url:
description: 'A link to the webpage that can manage the configuration of this device. Can be either an HTTP or HTTPS link.'
required: false
type: string
connections: connections:
description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": [["mac", "02:5b:26:a8:dc:12"]]`.' description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": [["mac", "02:5b:26:a8:dc:12"]]`.'
required: false required: false
@ -131,6 +135,11 @@ enabled_by_default:
required: false required: false
type: boolean type: boolean
default: true default: true
entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
default: None
icon: icon:
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity." description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
required: false required: false
@ -211,3 +220,64 @@ value_template:
required: false required: false
type: template type: template
{% endconfiguration %} {% endconfiguration %}
## Examples
In this section you find some real-life examples of how to use this alarm control panel.
### Configuration with local code validation
The example below shows a full configuration with local code validation.
{% raw %}
```yaml
# Example using text based code with local validation configuration.yaml
alarm_control_panel:
- platform: mqtt
name: "Alarm Panel With Numeric Keypad"
state_topic: "alarmdecoder/panel"
value_template: "{{value_json.state}}"
command_topic: "alarmdecoder/panel/set"
code: mys3cretc0de
```
{% endraw %}
### Configurations with remote code validation
The example below shows a full configuration with local code validation and `command_template`.
{% raw %}
```yaml
# Example using text code with remote validation configuration.yaml
alarm_control_panel:
- platform: mqtt
name: "Alarm Panel With Text Code Dialog"
state_topic: "alarmdecoder/panel"
value_template: "{{ value_json.state }}"
command_topic: "alarmdecoder/panel/set"
code: REMOTE_CODE_TEXT
command_template: "{ action: '{{ action }}', code: '{{ code }}'}"
```
```yaml
# Example using numeric code with remote validation configuration.yaml
alarm_control_panel:
- platform: mqtt
name: "Alarm Panel With Numeric Keypad"
state_topic: "alarmdecoder/panel"
value_template: "{{ value_json.state }}"
command_topic: "alarmdecoder/panel/set"
code: REMOTE_CODE
command_template: "{ action: '{{ action }}', code: '{{ code }}'}"
```
{% endraw %}
<div class='note warning'>
When your MQTT connection is not secured, this will send your secret code over the network unprotected!
</div>

View File

@ -17,10 +17,18 @@ The `arcam_fmj` integration allows you to control [Arcam FMJ Receivers](https://
Supported devices: Supported devices:
- SR 250
- AVR 380 - AVR 380
- AVR 390
- AVR 450 - AVR 450
- AVR 550
- AVR 750 - AVR 750
- Likely other AVRs - AVR 850
- AVR 860
- AV 860
- SA 10
- SA 20
- SA 30
{% include integrations/config_flow.md %} {% include integrations/config_flow.md %}

View File

@ -1,5 +1,5 @@
--- ---
title: Aurora ABB Solar PV title: Aurora ABB PowerOne Solar PV
description: Instructions on how to integrate an Aurora ABB Powerone solar inverter within Home Assistant. description: Instructions on how to integrate an Aurora ABB Powerone solar inverter within Home Assistant.
ha_category: ha_category:
- Sensor - Sensor
@ -11,6 +11,7 @@ ha_codeowners:
ha_domain: aurora_abb_powerone ha_domain: aurora_abb_powerone
ha_platforms: ha_platforms:
- sensor - sensor
ha_config_flow: true
--- ---
This implements a direct RS485 connection to a solar inverter in the This implements a direct RS485 connection to a solar inverter in the
@ -20,44 +21,14 @@ The inverter was formerly made by PowerOne who got taken over by ABB.
The TCP/IP method of communicating with inverters is supported by the The TCP/IP method of communicating with inverters is supported by the
Python library, but not by this implementation in this integration. Python library, but not by this implementation in this integration.
This integration provides a single sensor which reports the live power output This integration creates the inverter as a device with two sensors, reporting live power output in Watts and device temperature.
in watts.
Note the PV inverter will be unresponsive to communications when in darkness, Note the PV inverter will be unresponsive to communications when in darkness,
so the value 'unknown' will be displayed during the night. so the sensors will report 'Unavailable' during the night.
## Configuration The RS485 connection can be made using a low-cost USB-RS485 converter. It works using a 2-wire interface but an interface with a separate ground reference may be more reliable.
Add the following to your `configuration.yaml` file: {% include integrations/config_flow.md %}
```yaml The inverter will need to be on (i.e. in daylight) and connected correctly in order to do the first-time setup. Normally it is sufficient to select the correct serial port and leave the default address `2`.
# Example configuration.yaml entry
sensor:
- platform: aurora_abb_powerone
device: "SERIAL_PORT"
```
{% configuration %}
device:
description: The serial port your RS485 adapter is connected to.
required: true
type: string
address:
description: The address of the inverter - only need to set this if you have changed your inverter away from the default address of 2.
required: false
type: integer
default: 2
name:
description: Name of the sensor to use in the frontend.
required: false
default: Solar PV
type: string
{% endconfiguration %}
```yaml
# Example configuration.yaml entry for aurora_abb_powerone platform
sensor:
- platform: aurora_abb_powerone
address: 2
device: "/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0"
```

View File

@ -63,10 +63,11 @@ The full list of supported binary sensor device classes is below
- **power**: `on` means power detected, `off` means no power - **power**: `on` means power detected, `off` means no power
- **presence**: `on` means home, `off` means away - **presence**: `on` means home, `off` means away
- **problem**: `on` means problem detected, `off` means no problem (OK) - **problem**: `on` means problem detected, `off` means no problem (OK)
- **running**: `on` means running, `off` means not running
- **safety**: `on` means unsafe, `off` means safe - **safety**: `on` means unsafe, `off` means safe
- **smoke**: `on` means smoke detected, `off` means no smoke (clear) - **smoke**: `on` means smoke detected, `off` means no smoke (clear)
- **sound**: `on` means sound detected, `off` means no sound (clear) - **sound**: `on` means sound detected, `off` means no sound (clear)
- **update**: `on` means update available, `off` means up-to-date - **tamper**: `on` means tampering detected, `off` means no tampering (clear)
- **vibration**: `on` means vibration detected, `off` means no vibration (clear) - **vibration**: `on` means vibration detected, `off` means no vibration (clear)
- **window**: `on` means open, `off` means closed - **window**: `on` means open, `off` means closed

View File

@ -64,6 +64,10 @@ device:
required: false required: false
type: map type: map
keys: keys:
configuration_url:
description: 'A link to the webpage that can manage the configuration of this device. Can be either an HTTP or HTTPS link.'
required: false
type: string
connections: connections:
description: "A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `'connections': ['mac', '02:5b:26:a8:dc:12']`." description: "A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `'connections': ['mac', '02:5b:26:a8:dc:12']`."
required: false required: false
@ -105,6 +109,11 @@ enabled_by_default:
required: false required: false
type: boolean type: boolean
default: true default: true
entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
default: None
expire_after: expire_after:
description: Defines the number of seconds after the sensor's state expires, if it's not updated. After expiry, the sensor's state becomes `unavailable`. description: Defines the number of seconds after the sensor's state expires, if it's not updated. After expiry, the sensor's state becomes `unavailable`.
required: false required: false

View File

@ -86,7 +86,7 @@ name:
type: string type: string
default: REST Binary Sensor default: REST Binary Sensor
device_class: device_class:
description: Sets the [class of the device](/integrations/binary_sensor/), changing the device state and icon that is displayed on the frontend. description: Sets the [class of the device](/integrations/binary_sensor/#device-class), changing the device state and icon that is displayed on the frontend.
required: false required: false
type: string type: string
value_template: value_template:

View File

@ -147,6 +147,10 @@ The air condition of the vehicle can be activated with the service `bmw_connecte
What exactly is started here depends on the type of vehicle. It might range from just ventilation over auxiliary heating to real air conditioning. If your vehicle is equipped with auxiliary heating, only trigger this service if the vehicle is parked in a location where it is safe to use it (e.g., not in an underground parking or closed garage). What exactly is started here depends on the type of vehicle. It might range from just ventilation over auxiliary heating to real air conditioning. If your vehicle is equipped with auxiliary heating, only trigger this service if the vehicle is parked in a location where it is safe to use it (e.g., not in an underground parking or closed garage).
Some newer cars also support stopping an active air conditioning with the service `bmw_connected_drive.deactivate_air_conditioning`.
This will only work if you have the option to stop the AC in the *MyBMW* app. If your car doesn't support this service, nothing will happen.
The vehicle is identified via the parameter `vin`. The vehicle is identified via the parameter `vin`.
### Sound the horn ### Sound the horn

View File

@ -11,6 +11,7 @@ ha_iot_class: Local Push
ha_release: 0.113 ha_release: 0.113
ha_domain: bond ha_domain: bond
ha_codeowners: ha_codeowners:
- '@bdraco'
- '@prystupa' - '@prystupa'
- '@joshs85' - '@joshs85'
ha_config_flow: true ha_config_flow: true

View File

@ -10,9 +10,11 @@ ha_iot_class: Local Polling
ha_codeowners: ha_codeowners:
- '@danielhiversen' - '@danielhiversen'
- '@felipediel' - '@felipediel'
- '@L-I-Am'
ha_domain: broadlink ha_domain: broadlink
ha_config_flow: true ha_config_flow: true
ha_platforms: ha_platforms:
- light
- remote - remote
- sensor - sensor
- switch - switch

View File

@ -57,6 +57,10 @@ device:
required: false required: false
type: map type: map
keys: keys:
configuration_url:
description: 'A link to the webpage that can manage the configuration of this device. Can be either an HTTP or HTTPS link.'
required: false
type: string
connections: connections:
description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": ["mac", "02:5b:26:a8:dc:12"]`.' description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": ["mac", "02:5b:26:a8:dc:12"]`.'
required: false required: false
@ -94,6 +98,11 @@ enabled_by_default:
required: false required: false
type: boolean type: boolean
default: true default: true
entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
default: None
icon: icon:
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity." description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
required: false required: false

View File

@ -96,6 +96,10 @@ device:
required: false required: false
type: map type: map
keys: keys:
configuration_url:
description: 'A link to the webpage that can manage the configuration of this device. Can be either an HTTP or HTTPS link.'
required: false
type: string
connections: connections:
description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": [["mac", "02:5b:26:a8:dc:12"]]`.' description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": [["mac", "02:5b:26:a8:dc:12"]]`.'
required: false required: false
@ -133,6 +137,11 @@ enabled_by_default:
required: false required: false
type: boolean type: boolean
default: true default: true
entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
default: None
fan_mode_command_template: fan_mode_command_template:
description: A template to render the value sent to the `fan_mode_command_topic` with. description: A template to render the value sent to the `fan_mode_command_topic` with.
required: false required: false

View File

@ -74,6 +74,10 @@ device:
required: false required: false
type: map type: map
keys: keys:
configuration_url:
description: 'A link to the webpage that can manage the configuration of this device. Can be either an HTTP or HTTPS link.'
required: false
type: string
connections: connections:
description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": ["mac", "02:5b:26:a8:dc:12"]`.' description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": ["mac", "02:5b:26:a8:dc:12"]`.'
required: false required: false
@ -115,6 +119,11 @@ enabled_by_default:
required: false required: false
type: boolean type: boolean
default: true default: true
entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
default: None
icon: icon:
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity." description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
required: false required: false

View File

@ -29,6 +29,7 @@ ha_platforms:
- fan - fan
- light - light
- lock - lock
- number
- scene - scene
- sensor - sensor
- siren - siren

View File

@ -7,7 +7,7 @@ ha_iot_class: Local Polling
ha_release: 0.7.2 ha_release: 0.7.2
ha_domain: denonavr ha_domain: denonavr
ha_codeowners: ha_codeowners:
- '@scarface-4711' - '@ol-iver'
- '@starkillerOG' - '@starkillerOG'
ha_config_flow: true ha_config_flow: true
ha_ssdp: true ha_ssdp: true

View File

@ -113,6 +113,10 @@ device:
required: false required: false
type: map type: map
keys: keys:
configuration_url:
description: 'A link to the webpage that can manage the configuration of this device. Can be either an HTTP or HTTPS link.'
required: false
type: string
connections: connections:
description: "A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `'connections': ['mac', '02:5b:26:a8:dc:12']`." description: "A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `'connections': ['mac', '02:5b:26:a8:dc:12']`."
required: false required: false

View File

@ -48,6 +48,10 @@ device:
required: true required: true
type: map type: map
keys: keys:
configuration_url:
description: 'A link to the webpage that can manage the configuration of this device. Can be either an HTTP or HTTPS link.'
required: false
type: string
connections: connections:
description: "A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `'connections': ['mac', '02:5b:26:a8:dc:12']`." description: "A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `'connections': ['mac', '02:5b:26:a8:dc:12']`."
required: false required: false

View File

@ -12,6 +12,7 @@ ha_codeowners:
ha_domain: dlna_dmr ha_domain: dlna_dmr
ha_platforms: ha_platforms:
- media_player - media_player
ha_ssdp: true
--- ---
The `dlna_dmr` platform allows you to control a [DLNA Digital Media Renderer](https://www.dlna.org/), such as DLNA enabled TVs or radios. The `dlna_dmr` platform allows you to control a [DLNA Digital Media Renderer](https://www.dlna.org/), such as DLNA enabled TVs or radios.

View File

@ -4,6 +4,7 @@ description: Instructions on how to integrate Efergy devices within Home Assista
ha_category: ha_category:
- Energy - Energy
ha_release: pre 0.7 ha_release: pre 0.7
ha_config_flow: true
ha_iot_class: Cloud Polling ha_iot_class: Cloud Polling
ha_domain: efergy ha_domain: efergy
ha_platforms: ha_platforms:
@ -14,6 +15,8 @@ ha_codeowners:
Integrate your [Efergy](https://efergy.com) meter information into Home Assistant. Integrate your [Efergy](https://efergy.com) meter information into Home Assistant.
{% include integrations/config_flow.md %}
## Setup ## Setup
To get an app token: To get an app token:
@ -23,64 +26,17 @@ To get an app token:
3. Click on App tokens 3. Click on App tokens
4. Click "Add token" 4. Click "Add token"
## Configuration ## Integration Entities
To enable the sensor, add the following lines to your `configuration.yaml`: The following sensors will be created:
```yaml - **Power Usage**: Shows the aggregate instant value of power consumption. An entity will also be created for each sensor attached to the household. If only one sensor is detected, it will be disabled by default.
# Example configuration.yaml entry - **Daily Consumption**: Shows the current day's energy consumption. (disabled by default)
sensor: - **Weekly Consumption**: Shows the current week's energy consumption. (disabled by default)
- platform: efergy - **Monthly Consumption**: Shows the current month's energy consumption.
app_token: APP_TOKEN - **Yearly Consumption**: Shows the current year's energy consumption. (disabled by default)
utc_offset: UTC_OFFSET - **Energy Budget**: Shows the current status of the budget set for the month.
monitored_variables: - **Daily Cost**: Shows the current day's cost of consumption. (disabled by default)
- type: instant_readings - **Weekly Cost**: Shows the current week's cost of consumption. (disabled by default)
- type: budget - **Monthly Cost**: Shows the current month's cost of consumption.
- type: cost - **Yearly Cost**: Shows the current year's cost of consumption. (disabled by default)
period: day
currency: $
- type: amount
period: day
- type: current_values
```
{% configuration %}
app_token:
description: The App Token for your account.
required: true
type: string
utc_offset:
description: Some variables (currently only the daily_cost) require that the negative number of minutes your timezone is ahead/behind UTC time.
required: false
default: 0
type: string
monitored_variables:
description: Variables to monitor.
required: true
type: list
keys:
type:
description: Name of the variable.
required: true
type: list
keys:
instant_readings:
description: Instant energy consumption.
budget:
description: Monthly budget.
cost:
description: The cost for energy consumption (with the tariff that has been set in Efergy) over a given period.
amount:
description: The amount of energy consumed over a given period.
current_values:
description: This returns the current energy usage of each device on your account. If you only have one device in your account, this is effectively the same as `instant_readings`.
period:
description: Some variables take a period argument. Valid options are "day", "week", "month", and "year".
required: false
default: year
type: string
currency:
description: This is used to display the cost/period as the unit when monitoring the cost. It should correspond to the actual currency used in your dashboard.
required: false
type: string
{% endconfiguration %}

View File

@ -9,6 +9,7 @@ ha_release: 0.44
ha_iot_class: Cloud Polling ha_iot_class: Cloud Polling
ha_codeowners: ha_codeowners:
- '@mezz64' - '@mezz64'
- '@raman325'
ha_domain: eight_sleep ha_domain: eight_sleep
ha_platforms: ha_platforms:
- binary_sensor - binary_sensor

View File

@ -58,6 +58,15 @@ Force arm away and stay are available in 5.3.0 or higher.
Many features will work with lower versions of the ElkM1. Check the "ElkM1 RS232 Protocol" manual for details. Many features will work with lower versions of the ElkM1. Check the "ElkM1 RS232 Protocol" manual for details.
### ELK-M1XEP Version
The ELK-M1XEP is the Ethernet controller board for the ElkM1. If connecting the integration
in secure mode the version of the ELK-M1XEP determines which secure protocol is supported.
ELK-M1XEP versions less than 2.0.46 support TLS 1.0, while version 2.0.46 and above support
TLS 1.2. When adding the ElkM1 integration in the user interface use `secure` for TLS 1.0 and
use `TLS 1.2` for TLS 1.2. Note that ELK-M1XEP does not support auto-negotiation of the
version of the TLS protocol, the user must specify the TLS version to connect.
### Global Setting 35 ### Global Setting 35
The ElkM1 integration tracks the user number and name of the last user name to The ElkM1 integration tracks the user number and name of the last user name to
@ -150,15 +159,15 @@ elkm1:
{% configuration %} {% configuration %}
host: host:
description: Connection string to Elk of the form `<method>://<address>[:port]`. `<method>` is `elk` for non-secure connection, `elks` for secure connection, and `serial` for serial port connection. `<address>` is IP address or domain or for `serial` the serial port that the Elk is connected to. Optional `<port>` is the port to connect to on the Elk, defaulting to 2101 for `elk` and 2601 for `elks`. For `serial` method, _address_ is the path to the tty _/dev/ttyS1_ for example and `[:baud]` is the baud rate to connect with (Elk systems default to 115200 baud, but this can be changed during Elk system configuration). You may have multiple host sections for connecting multiple controllers. description: Connection string to Elk of the form `<method>://<address>[:port]`. `<method>` is `elk` for non-secure connection, `elks` for secure TLS 1.0 connection, `elksv1_2` for secure TLS 1.2 connection, and `serial` for serial port connection. `<address>` is IP address or domain or for `serial` the serial port that the Elk is connected to. Optional `<port>` is the port to connect to on the Elk, defaulting to 2101 for `elk` and 2601 for `elks` and `elksv1_2`. For `serial` method, _address_ is the path to the tty _/dev/ttyS1_ for example and `[:baud]` is the baud rate to connect with (Elk systems default to 115200 baud, but this can be changed during Elk system configuration). See ELK-M1XEP section above for information on selecting the appropriate secure version. You may have multiple host sections for connecting multiple controllers.
required: true required: true
type: string type: string
username: username:
description: Username to login to Elk. Only required if using `elks` connection method. description: Username to login to Elk. Required if using a secure connection method.
required: false required: false
type: string type: string
password: password:
description: Password to login to Elk. Only required if using `elks` connection method. description: Password to login to Elk. Required if using a secure connection method.
required: false required: false
type: string type: string
prefix: prefix:

View File

@ -5,216 +5,110 @@ ha_category:
- Weather - Weather
- Sensor - Sensor
- Camera - Camera
ha_release: 0.95
ha_iot_class: Cloud Polling
ha_codeowners:
- '@michaeldavie'
ha_domain: environment_canada
ha_platforms: ha_platforms:
- camera - camera
- sensor - sensor
- weather - weather
ha_release: 0.95
ha_iot_class: Cloud Polling
ha_codeowners:
- '@gwww'
- '@michaeldavie'
ha_domain: environment_canada
ha_config_flow: true
--- ---
The `environment_canada` weather platforms provide meteorological data for Canadian locations from [Environment Canada](https://weather.gc.ca/index_e.html). The Environment Canada integration provides meteorological data for Canadian locations from [Environment and Climate Change Canada](https://weather.gc.ca/index_e.html).
The following device types and data are supported: {% include integrations/config_flow.md %}
- [Location Selection](#location-selection)
- [Weather](#weather)
- [Sensor](#sensor)
- [Alert TTS Script](#alert-tts-script)
- [Camera](#camera)
## Location Selection ## Location Selection
The `weather` and `sensor` platforms automatically determine which weather station's data to use. However, as station coordinates provided by Environment Canada are somewhat imprecise, in some cases you may need to override the automatic selection to use the desired station. The integration automatically determines the closest weather station based on the latitude and longitude specified. If integration-specific coordinates are not provided, the coordinates configured for Home Assistant are used.
For these platforms, the location to use is determined according to the following hierarchy: You can also specify a weather station to use by providing a identification code of the form `AB/s0000123`, based on those listed in [this CSV file](https://dd.weather.gc.ca/citypage_weather/docs/site_list_towns_en.csv).
- Location ID specified in platform configuration (optional) ## Entities
- Closest station to latitude/longitude specified in platform configuration (optional)
- Closest station to latitude/longitude specified in Home Assistant configuration (default)
The `camera` platform dynamically builds imagery using a latitude/longitude as a center point. Radar station IDs are also supported for backwards compatibility. The integration will create the entities listed below. Note that many of the entities are disabled by default and can be enabled via the Configuration / Entities screen.
For this platform, the location to use is determined according to the following hierarchy: ### Weather
- Station ID specified in platform configuration (optional) - Current conditions and daily forecast
- Latitude/longitude specified in platform configuration (optional) - Current conditions and hourly forecast
- Latitude/longitude specified in Home Assistant configuration (default)
### Camera
## Weather - Loop of radar imagery from the last 3 hours
The `environment_canada` weather platform populates a weather card with Environment Canada current conditions and forecast [data](https://weather.gc.ca/canada_e.html). By default, the radar entity uses the rain layer from 1 April to 30 November and the snow layer from 1 December to 31 March.
To add Environment Canada weather to your installation, add the following to your `configuration.yaml` file: ### Sensors
```yaml #### Conditions and Forecasts
# Example configuration.yaml entry
weather:
- platform: environment_canada
```
- The platform checks for new data every 10 minutes, and the source data is typically updated hourly within 10 minutes after the hour. - Current condition
- If no name is given, the weather entity will be named `weather.<station_name>`. - Forecast summary
- The platform automatically determines which weather station to use based on the system's latitude/longitude settings. For greater precision, it is also possible to specify either: - [Icon code](https://dd.weather.gc.ca/citypage_weather/docs/Current_Conditions_Icons-Icones_conditions_actuelles.pdf) of current condition
- A specific station code of the form `AB/s0000123` based on those listed in [this CSV file](https://dd.weather.gc.ca/citypage_weather/docs/site_list_towns_en.csv), or - Barometric pressure
- A specific latitude/longitude - Pressure tendency
- Humidity
- Visibility
- UV index
{% configuration %} #### Temperature
latitude:
description: Part of a set of coordinates to use when finding the closest weather station.
required: inclusive
type: float
longitude:
description: Part of a set of coordinates to use when finding the closest weather station.
required: inclusive
type: float
station:
description: The station code of a specific weather station to use. Station codes must be in the form `AB/s0000123`, where `AB`is a provincial abbreviation and `s0000123` is a numeric station code. If provided, this station will be used and any latitude/longitude coordinates provided will be ignored.
required: false
type: string
name:
description: Name to be used for the entity ID, e.g., `weather.<name>`.
required: false
type: string
forecast:
description: Specify hourly or daily forecasts. Valid values are 'daily' and 'hourly'.
required: false
type: string
default: daily
{% endconfiguration %}
## Sensor - Temperature
- Wind chill
- Humidex
- Forecast high temperature
- Forecast low temperature
- Dewpoint
The `environment_canada` sensor platform creates sensors based on Environment Canada [current conditions](https://weather.gc.ca/canada_e.html) and [alerts](https://weather.gc.ca/warnings/index_e.html). #### Wind
To add Environment Canada sensors to your installation, add the desired lines from the following example to your `configuration.yaml` file: - Wind speed
- Wind gust
- Wind direction
- Wind bearing
```yaml #### Precipitation
# Example configuration.yaml entry
sensor:
- platform: environment_canada
```
- A sensor will be created for each of the following conditions, with a default name like `sensor.temperature`: - Probability of precipitation
- `temperature` - The current temperature, in ºC. - Precipitation yesterday
- `dew_point` - The current dewpoint, in ºC.
- `wind_chill` - The current wind chill, in ºC.
- `humidex` - The current humidex, in ºC.
- `air_quality_health_index` - The current Air Quality Health Index score
- `pressure` - The current air pressure, in kPa.
- `tendency` - The current air pressure tendency, e.g., "Rising".
- `humidity` - The current humidity, in %.
- `visibility` - The current visibility, in km.
- `condition` - A brief text statement of the current weather conditions, e.g., "Sunny".
- `icon_code` - A two-digit number corresponding to a condition icon, as specified in these [image to description](https://dd.weather.gc.ca/citypage_weather/docs/Current_Conditions_Icons-Icones_conditions_actuelles.pdf) and [code to description](https://dd.weather.gc.ca/citypage_weather/docs/current_conditions_icon_code_descriptions_e.csv) mappings.
- `wind_speed` - The current sustained wind speed, in km/h.
- `wind_gust` - The current wind gust, in km/h.
- `wind_direction` - The current cardinal wind direction, e.g., "SSW".
- `wind_bearing` - The current wind direction in degrees.
- `high_temperature` - The next forecast high temperature, in ºC.
- `low_temperature` - The next forecast low temperature, in ºC.
- `uv_index` - The next forecast UV index.
- `chance_of_precip` - The next forecast probability of precipitation, in %.
- `forecast` - A textual description of the next forecast period, e.g., "Tonight. Mainly cloudy. Low -12."
- `precipitation_yesterday` - The total amount of precipitation that fell the previous day.
- `warnings` - Current warning alerts.
- `watches` - Current watch alerts.
- `advisories` - Current advisory alerts.
- `statements` - Current special weather statements.
- `endings` - Alerts that have recently ended.
- The platform automatically determines which weather station to use based on the system's latitude/longitude settings. For greater precision, it is also possible to specify either:
- A specific station code of the form `AB/s0000123` based on those listed in [this CSV file](https://dd.weather.gc.ca/citypage_weather/docs/site_list_towns_en.csv), or
- A specific latitude/longitude
- In the case of multiple alerts in the same category, the titles of each are concatenated together with a pipe (`|`) separator.
{% configuration %} #### Alerts
latitude:
description: Part of a set of coordinates to use when finding the closest weather station.
required: inclusive
type: float
longitude:
description: Part of a set of coordinates to use when finding the closest weather station.
required: inclusive
type: float
station:
description: The station code of a specific weather station to use. If provided, this station will be used and any latitude/longitude coordinates provided will be ignored. Station codes must be in the form of `AB/s0000123`, where `AB`is a provincial abbreviation and `s0000123` is a numeric station code.
required: false
type: string
language:
description: Language to use for entity display names and textual data (English or French).
required: false
type: string
default: english
scan_interval:
description: The time between updates in seconds.
required: false
type: integer
default: 600
{% endconfiguration %}
### Alert TTS Script - Warnings
- Watches
- Advisories
- Statements
- Endings
If you would like to have alerts announced via a text-to-speech service, you can use a script similar to the following: The alert sensors use the number of current alerts as their state, with an attribute containing the title of each alert.
## Template Sensors
The configuration snippet below adds a useful [template sensors](/integrations/template/) showing the current "feels like" temperature among air temperature, humidex, and wind chill.
Replace `NAME` with the name used to configure your integration.
{% raw %} {% raw %}
```yaml ```yaml
weather_alert_tts: template:
sequence: - sensor:
- service: tts.amazon_polly_say - name: "Feels Like"
data: device_class: temperature
message: "{{ states('sensor.warnings') }} in effect." unit_of_measurement: "°C"
state: >
{% if not is_state('sensor.NAME_humidex', 'unknown') %}
{{ states('sensor.NAME_humidex') }}
{% elif not is_state('sensor.NAME_wind_chill', 'unknown') %}
{{ states('sensor.NAME_wind_chill') }}
{% else %}
{{ states('sensor.NAME_temperature') | round(0) }}
{% endif %}
``` ```
{% endraw %} {% endraw %}
## Camera
The `environment_canada` camera platform displays Environment Canada meteorological [radar imagery](https://weather.gc.ca/radar/index_e.html).
To add Environment Canada radar imagery to your installation, add the desired lines from the following example to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
camera:
- platform: environment_canada
```
- If no name is given, the camera entity will be named `camera.environment_canada_radar`.
- The platform dynamically builds imagery based on a latitude/longitude center point. This center point can be specified using:
- The latitude/longitude of the Home Assistant installation (default)
- A specific latitude/longitude for the platform (optional)
- A specific radar station ID from [this table](https://en.wikipedia.org/wiki/Canadian_weather_radar_network#List_of_radars). The code must be in the form `XXX` or `CXXXX`, i.e., remove the leading `C` only if the result forms a three-letter code, otherwise, include it. Valid values include `XFT` for Ottawa or `CASBV` for Montreal. (optional, for backwards compatibility)
{% configuration %}
latitude:
description: Part of a set of coordinates to use as the center point.
required: inclusive
type: float
longitude:
description: Part of a set of coordinates to use as the center point.
required: inclusive
type: float
station:
description: The station code of a specific radar station to use. If provided, this station will be used and any latitude/longitude coordinates provided will be ignored. Must be in the form `XXX` or `CXXXX`.
required: false
type: string
name:
description: Name to be used for the entity ID, e.g., `camera.<name>`.
required: false
type: string
loop:
description: Boolean setting to determine whether to display an animated GIF of images from the last 2 hours. If `false`, the latest still image will be displayed.
required: false
default: true
type: boolean
precip_type:
description: Determines whether to use the intensity bands for rain or snow. Valid values are RAIN and SNOW.
required: false
type: string
default: RAIN from April to October, SNOW from November to March
{% endconfiguration %}

View File

@ -1,37 +0,0 @@
---
title: Essent
description: Instructions on how to integrate Essent within Home Assistant.
ha_category:
- Energy
- Sensor
ha_release: 0.93
ha_iot_class: Cloud Polling
ha_codeowners:
- '@TheLastProject'
ha_domain: essent
ha_platforms:
- sensor
---
The `essent` platform uses [PyEssent](https://github.com/TheLastProject/PyEssent/) to communicate with the (undocumented) API of Dutch energy provider Essent. It provides sensors for each of your meters and tariffs, updated daily.
To add Essent to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: essent
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
{% configuration %}
username:
required: true
description: Your username for [Mijn Essent](https://www.essent.nl/content/particulier/klantenservice/mijn_essent/).
type: string
password:
required: true
description: Your password for [Mijn Essent](https://www.essent.nl/content/particulier/klantenservice/mijn_essent/).
type: string
{% endconfiguration %}

View File

@ -0,0 +1,44 @@
---
title: "Fan Group"
description: "Instructions how to setup grouped fans in Home Assistant."
ha_category:
- Fan
ha_release: 2021.11
ha_iot_class: Local Push
ha_quality_scale: internal
ha_domain: group
---
The `group` platform can create a fan that combines several fan entities into one.
To enable `Fan Groups` in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
fan:
- platform: group
entities:
- fan.lanai_west
- fan.lanai_south
- fan.lanai_east
```
{% configuration %}
entities:
description: List of all fan entities you want to control.
required: true
type: [string, list]
name:
description: Name to use in the frontend.
required: false
type: string
default: "Fan Group"
unique_id:
description: An ID that uniquely identifies this fan group. If two fans have the same unique ID, Home Assistant will raise an error.
required: false
type: string
{% endconfiguration %}
## Functionality
It works best if you group fans with the same supported features together (like support for `percentage`/`direction`/`oscillation`), but is not limited to it. In case you have bundled fans with different features together, the controls will only affect those fans that support the actions.

View File

@ -69,6 +69,10 @@ device:
required: false required: false
type: map type: map
keys: keys:
configuration_url:
description: 'A link to the webpage that can manage the configuration of this device. Can be either an HTTP or HTTPS link.'
required: false
type: string
connections: connections:
description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": [["mac", "02:5b:26:a8:dc:12"]]`.' description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": [["mac", "02:5b:26:a8:dc:12"]]`.'
required: false required: false
@ -106,6 +110,11 @@ enabled_by_default:
required: false required: false
type: boolean type: boolean
default: true default: true
entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
default: None
icon: icon:
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity." description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
required: false required: false

View File

@ -15,6 +15,7 @@ ha_platforms:
- binary_sensor - binary_sensor
- fan - fan
- light - light
- number
- sensor - sensor
--- ---

View File

@ -1,16 +1,25 @@
--- ---
title: Flux LED/MagicLight title: Flux LED/MagicHome
description: Instructions on how to setup Flux led/MagicHome/MagicLight within Home Assistant. description: Instructions on how to setup Flux led/MagicHome/MagicLight within Home Assistant.
ha_category: ha_category:
- Light - Light
ha_iot_class: Local Polling - Switch
ha_iot_class: Local Push
ha_release: 0.25 ha_release: 0.25
ha_domain: flux_led ha_domain: flux_led
ha_platforms: ha_platforms:
- light - light
- switch
ha_codeowners:
- '@icemanch'
ha_quality_scale: platinum
ha_config_flow: true
ha_dhcp: true
--- ---
The `flux_led` support is integrated into Home Assistant as a light platform. Several brands of both bulbs and controllers use the same protocol and they have the HF-LPB100 chipset in common. The chances are high that your bulb or controller (eg. WiFi LED CONTROLLER) will work if you can control the device with the MagicHome app. The Flux LED integration supports several brands of switches, bulbs, and controllers that use the same protocol and have the HF-LPB100 chipset in common. Chances are high that your bulb or controller (eg. WiFi LED CONTROLLER) will work with this integration if you can control the device with the MagicHome app.
This integration will provide local control over your LED lights/strips and can be configured to auto-scan your network for controllers or for you to manually configure individual lights by their IP address.
Example of bulbs: Example of bulbs:
@ -23,137 +32,19 @@ Examples of controllers:
- [Ledenet WiFi RGBW Controller](https://amzn.to/2WZKXNa) - [Ledenet WiFi RGBW Controller](https://amzn.to/2WZKXNa)
- [SUPERNIGHT WiFi Wireless LED Smart Controller](https://amzn.to/2WURx7w) - [SUPERNIGHT WiFi Wireless LED Smart Controller](https://amzn.to/2WURx7w)
## Configuration
To enable those lights, add the following lines to your `configuration.yaml` file:
```yaml {% include integrations/config_flow.md %}
# Example configuration.yaml entry
light:
- platform: flux_led
```
{% configuration %} After the devices have been added they can be configured with different effects listed below. These settings can be accessed by navigating to the integration settings in Configuration -> Integrations and selecting the "Flux Led/Magic Home" configuration for the bulb or controller.
automatic_add:
description: To enable the automatic addition of lights on startup.
required: false
default: false
type: boolean
devices:
description: A list of devices with their IP address.
required: false
type: list
keys:
name:
description: A friendly name for the device.
required: false
type: string
mode:
description: "The chosen brightness mode, options are: `rgbw`, `rgb` and `w`."
required: false
default: rgbw
type: string
protocol:
description: Set this to `ledenet` if you are using a ledenet bulb.
required: false
type: string
custom_effect:
description: A definition of the custom effect.
required: false
type: map
keys:
colors:
description: A list of 1 to 16 colors, used in the effect loop (see example below). Defined as three comma-separated integers between 0 and 255 that represent the color in RGB. There is no way to set brightness, but you can define lower RGB values to simulate lower brightness. E.g., if you want 50% red, define it as `[127,0,0]` instead of `[255,0,0]`.
required: true
type: list
speed_pct:
description: A speed in percents (100 being the fastest), at which controller will transition between the colors.
required: false
type: integer
default: 50
transition:
description: "A type of transition, which will be used to transition between the colors. Supported values are: `gradual`, `jump` and `strobe`."
required: false
type: string
default: gradual
{% endconfiguration %}
<div class='note'>
Depending on your controller or bulb type, there are two ways to configure brightness. **Custom Effect**\
The integration defaults to rgbw. If your device has a separate white channel, you do not need to specify anything else; changing the white value will adjust the brightness of white channel keeping rgb color constant. However, if your device does not have a separate white channel, you will need to set the mode to rgb. In this mode, the device will keep the same color, and adjust the rgb values to dim or brighten the color. A list of RGB colors can be entered to create an effect. The effect speed can be adjusted using the slider underneath.
</div> **Custom Effect Type**\
This determines the transition between each color.
### Example configuration
Will automatically search and add all lights on start up:
```yaml
# Example configuration.yaml entry
light:
- platform: flux_led
automatic_add: true
```
Will add two lights with given name and create an automation rule to randomly set color each 45 seconds:
```yaml
light:
# Example configuration.yaml entry
- platform: flux_led
devices:
192.168.0.106:
name: flux_lamppost
192.168.0.109:
name: flux_living_room_lamp
automation:
alias: random_flux_living_room_lamp
trigger:
platform: time_pattern
seconds: '/45'
action:
service: light.turn_on
data:
entity_id: light.flux_living_room_lamp
effect: random
```
Will add a light without the white mode:
```yaml
192.168.1.10:
name: NAME
mode: "rgb"
```
Will add a light with rgb+white mode (default). White and RGB channels can be adjusted independently using a slider and color picker respectively.
```yaml
192.168.1.10:
name: NAME
mode: "rgbw"
```
Will add a light with white mode only. This is useful when only W channel is connected to an RGBW controller and allows the white level to be controlled via brightness value.
```yaml
192.168.1.10:
name: NAME
mode: "w"
```
Some devices such as the Ledenet RGBW controller use a slightly different protocol for communicating the brightness to each color channel. If your device is only turning on or off but not changing color or brightness try adding the LEDENET protocol.
```yaml
light:
- platform: flux_led
devices:
192.168.1.10:
name: NAME
protocol: 'ledenet'
```
### Effects ### Effects
@ -170,23 +61,26 @@ The Flux LED light offers a number of effects which are not included in other li
| `gb_cross_fade` | Fades between green and blue. | | `gb_cross_fade` | Fades between green and blue. |
| `red_strobe`, `green_strobe`, `blue_strobe`, `yellow_strobe`, `cyan_strobe`, `purple_strobe`, `white_strobe` | Strobes the color indicated by the effect name. | | `red_strobe`, `green_strobe`, `blue_strobe`, `yellow_strobe`, `cyan_strobe`, `purple_strobe`, `white_strobe` | Strobes the color indicated by the effect name. |
| `random` | Chooses a random color by selecting random values for R, G, and B. | | `random` | Chooses a random color by selecting random values for R, G, and B. |
| `custom` | Custom effect (if defined, see below). |
Users can define their own custom effect. It consists of three parameters: a list of 1 to 16 colors, speed and type of transition. The controller will transition between the colors in a loop, with specified transition and speed. Here is an example of a custom effect that will quickly flash red, yellow, green, cyan, blue, magenta in a loop:
### Custom Effects - Service `flux_led.set_custom_effect`
The integration offers a custom service to enable you to set the lights to a custom light effect.
| Service data attribute | Description |
| ---------------------- | ----------- |
| `entity_id` | The entity_id of the LED light to set the effect on. |
| `colors` | List of RGB colors to transition between in your effect. (Max 16, Required) |
| `speed_pct` | The speed of the effect in % (0-100. Default 50) |
| `transition` | The transition effect you would like. Valid options are `gradual`, `jump`, or `strobe`. (Default `gradual`) |
```yaml ```yaml
light: #Example Service Call
- platform: flux_led entity_id: light.led_strip
devices:
192.168.1.10:
custom_effect:
speed_pct: 100
transition: 'strobe'
colors: colors:
- [255,0,0] - [255,0,0]
- [255,255,0]
- [0,255,0] - [0,255,0]
- [0,255,255]
- [0,0,255] - [0,0,255]
- [255,0,255] speed_pct: 80
transition: "jump"
``` ```

View File

@ -46,6 +46,7 @@ Currently supported services are Platform specific:
- `fritz.reconnect` - `fritz.reconnect`
- `fritz.reboot` - `fritz.reboot`
- `fritz.cleanup`
### Platform Services ### Platform Services
@ -53,8 +54,6 @@ Currently supported services are Platform specific:
Reboot the router. Reboot the router.
</div>
| Service data attribute | Optional | Description | | Service data attribute | Optional | Description |
| ---------------------- | -------- | -------------------------------------------------------------------------------------------------------------- | | ---------------------- | -------- | -------------------------------------------------------------------------------------------------------------- |
| `entity_id` | no | Only act on a specific router | | `entity_id` | no | Only act on a specific router |
@ -68,6 +67,15 @@ If you have a dynamic IP address, most likely it will change.
| ---------------------- | -------- | -------------------------------------------------------------------------------------------------------------- | | ---------------------- | -------- | -------------------------------------------------------------------------------------------------------------- |
| `entity_id` | no | Only act on a specific router | | `entity_id` | no | Only act on a specific router |
#### Service `fritz.cleanup`
Remove all stale devices from Home Assistant.
A device is identified as stale when it's still present on Home Assistant but not on the FRITZ!Box.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | -------------------------------------------------------------------------------------------------------------- |
| `entity_id` | no | Only act on a specific router |
## Integration Options ## Integration Options
It is possible to change some behaviors through the integration options. It is possible to change some behaviors through the integration options.

View File

@ -4,6 +4,7 @@ description: Instructions on how to integrate AVM Fritz!DECT components into Hom
ha_category: ha_category:
- Binary Sensor - Binary Sensor
- Climate - Climate
- Light
- Sensor - Sensor
- Switch - Switch
ha_release: 0.68 ha_release: 0.68
@ -14,10 +15,12 @@ ha_ssdp: true
ha_platforms: ha_platforms:
- binary_sensor - binary_sensor
- climate - climate
- light
- sensor - sensor
- switch - switch
ha_codeowners: ha_codeowners:
- '@mib1185' - '@mib1185'
- '@flabbamann'
--- ---
The AVM FRITZ!SmartHome integration for Home Assistant allows you to integrate [FRITZ!DECT](https://en.avm.de/products/fritzdect/) devices like switches, sensors and thermostats. The AVM FRITZ!SmartHome integration for Home Assistant allows you to integrate [FRITZ!DECT](https://en.avm.de/products/fritzdect/) devices like switches, sensors and thermostats.
@ -26,6 +29,7 @@ There is currently support for the following device types within Home Assistant:
- Binary Sensor - Binary Sensor
- Climate - Climate
- Light
- Sensor - Sensor
- Switch - Switch
@ -38,7 +42,9 @@ There is currently support for the following device types within Home Assistant:
- [FRITZ!Box 7430](https://en.avm.de/service/fritzbox/fritzbox-7430/overview/) - [FRITZ!Box 7430](https://en.avm.de/service/fritzbox/fritzbox-7430/overview/)
- [FRITZ!DECT 200](https://en.avm.de/products/fritzdect/fritzdect-200/) - [FRITZ!DECT 200](https://en.avm.de/products/fritzdect/fritzdect-200/)
- [FRITZ!DECT 301](https://en.avm.de/products/fritzdect/fritzdect-301/) - [FRITZ!DECT 301](https://en.avm.de/products/fritzdect/fritzdect-301/)
- [FRITZ!DECT 500](https://en.avm.de/products/fritzdect/fritzdect-500/)
- [Eurotronic Comet DECT](https://eurotronic.org/produkte/elektronische-heizkoerperthermostate/sparmatic-comet/) - [Eurotronic Comet DECT](https://eurotronic.org/produkte/elektronische-heizkoerperthermostate/sparmatic-comet/)
- [Magenta SmartHome LED E27](https://www.smarthome.de/geraete/smarthome-led-lampe-e27-farbig-weiss)
{% include integrations/config_flow.md %} {% include integrations/config_flow.md %}
@ -76,3 +82,11 @@ There are several attributes that can be useful for automations and templates.
| --------- | ----------- | | --------- | ----------- |
| `device_locked` | The state of the key lock at the device. | `device_locked` | The state of the key lock at the device.
| `locked` | The state of the lock for configuring the device via the app or the FRITZ!Box web interface. | `locked` | The state of the lock for configuring the device via the app or the FRITZ!Box web interface.
## Light
To get AVM FRITZ!DECT lightbulbs (e.g., FRITZ!DECT 500) follow the [configuration instructions](#configuration) above.
<div class='note'>
The FRITZ!DECT 500 lightbulb supports only 36 colors. When a color is picked in home assistant that is not supported by the device, a color that comes close will be activated.
</div>

View File

@ -21,3 +21,10 @@ ha_dhcp: true
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.
{% include integrations/config_flow.md %} {% include integrations/config_flow.md %}
### Supported Devices
- Gogogate 2
- ismartgate PRO
- ismartgate LITE
- ismartgate MINI

View File

@ -1,11 +1,13 @@
--- ---
title: "Google Calendar Event" title: Google Calendars
description: "Instructions on how to use Google Calendars in Home Assistant." description: Instructions on how to use Google Calendars in Home Assistant.
ha_category: ha_category:
- Calendar - Calendar
ha_iot_class: Cloud Polling ha_iot_class: Cloud Polling
ha_release: 0.33 ha_release: 0.33
ha_domain: google ha_domain: google
ha_platforms:
- calendar
--- ---
The `google` calendar platform allows you to connect to your The `google` calendar platform allows you to connect to your

View File

@ -12,6 +12,7 @@ ha_domain: group
ha_platforms: ha_platforms:
- binary_sensor - binary_sensor
- cover - cover
- fan
- light - light
- media_player - media_player
- notify - notify

View File

@ -1,15 +1,17 @@
--- ---
title: Supervisor title: Home Assistant Supervisor
description: Control Supervisor Add-ons and OS from Home Assistant description: Control Supervisor Add-ons and OS from Home Assistant
ha_category: ha_category:
- Binary Sensor - Binary Sensor
- Sensor - Sensor
ha_iot_class: Local Polling ha_iot_class: Local Polling
ha_release: 2021.4 ha_release: 0.42
ha_domain: hassio ha_domain: hassio
ha_platforms: ha_platforms:
- binary_sensor - binary_sensor
- sensor - sensor
ha_codeowners:
- '@home-assistant/supervisor'
--- ---
Supervisor integration allows you to monitor and control Supervisor add-ons and operating system from Home Assistant. Supervisor integration allows you to monitor and control Supervisor add-ons and operating system from Home Assistant.
@ -23,6 +25,8 @@ For each installed add-on Supervisor provides following sensors:
| ------- | ------------------ | ----------- | | ------- | ------------------ | ----------- |
| Version | no | Current version of the add-on | Version | no | Current version of the add-on
| Newest Version | no | Latest version of the add-on currently available | Newest Version | no | Latest version of the add-on currently available
| CPU Percent| no | The CPU Percent usage of the add-on
| Memory Percent| no | The Memory (RAM) Percent usage of the add-on
For Home Assistant OS Supervisor provides following sensors: For Home Assistant OS Supervisor provides following sensors:
@ -38,6 +42,7 @@ For each installed add-on Supervisor provides following binary sensors:
| Sensor | Enabled by default | Description | | Sensor | Enabled by default | Description |
| ------- | ------------------ | ----------- | | ------- | ------------------ | ----------- |
| Update Available | no | Whether there is an update available for this add-on | Update Available | no | Whether there is an update available for this add-on
| Running | no | Whether the add-on is running or not.
For Home Assistant OS Supervisor provides following binary sensors: For Home Assistant OS Supervisor provides following binary sensors:

View File

@ -1,47 +0,0 @@
---
title: Huawei Router
description: Instructions on how to integrate Huawei Routers into Home Assistant.
ha_category:
- Presence Detection
ha_iot_class: Local Polling
ha_release: 0.51
ha_codeowners:
- '@abmantis'
ha_domain: huawei_router
ha_platforms:
- device_tracker
---
The `huawei` device tracker platform offers presence detection by looking at connected devices to a [Huawei router](http://m.huawei.com/enmobile/enterprise/products/network/access/pon-one/hw-371813.htm).
Currently, this was only tested with the Huawei HG8245W5, HG8247H, HS8247W and HG8247Q Smart Router (used by Vodafone Portugal).
## Configuration
To use a Huawei router in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
device_tracker:
- platform: huawei_router
host: 192.168.1.1
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
{% configuration %}
host:
description: The IP address of your router, e.g., 192.168.1.1.
required: true
type: string
username:
description: The username to login into the router (the same used through the router's web interface).
required: true
type: string
password:
description: The password for the specified username.
required: true
type: string
{% endconfiguration %}
See the [device tracker integration page](/integrations/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -8,7 +8,7 @@ ha_release: 2021.2
ha_iot_class: Cloud Polling ha_iot_class: Cloud Polling
ha_config_flow: true ha_config_flow: true
ha_codeowners: ha_codeowners:
- '@denniss17' - '@dennisschroer'
ha_domain: huisbaasje ha_domain: huisbaasje
ha_platforms: ha_platforms:
- sensor - sensor

View File

@ -70,6 +70,10 @@ device:
required: false required: false
type: map type: map
keys: keys:
configuration_url:
description: 'A link to the webpage that can manage the configuration of this device. Can be either an HTTP or HTTPS link.'
required: false
type: string
connections: connections:
description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": [["mac", "02:5b:26:a8:dc:12"]]`.' description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": [["mac", "02:5b:26:a8:dc:12"]]`.'
required: false required: false
@ -112,6 +116,11 @@ enabled_by_default:
required: false required: false
type: boolean type: boolean
default: true default: true
entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
default: None
icon: icon:
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity." description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
required: false required: false

View File

@ -424,6 +424,11 @@ context_timeout:
required: false required: false
type: float type: float
default: None default: None
entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
default: None
{% endconfiguration %} {% endconfiguration %}
### Support for automations ### Support for automations
@ -724,6 +729,11 @@ max_temp:
description: Override the maximum temperature. description: Override the maximum temperature.
required: false required: false
type: float type: float
entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
default: None
{% endconfiguration %} {% endconfiguration %}
## Cover ## Cover
@ -810,6 +820,11 @@ 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
entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
default: None
{% endconfiguration %} {% endconfiguration %}
## Fan ## Fan
@ -855,6 +870,11 @@ 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
type: integer type: integer
entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
default: None
{% endconfiguration %} {% endconfiguration %}
## Light ## Light
@ -998,6 +1018,11 @@ max_kelvin:
required: false required: false
type: integer type: integer
default: 6000 default: 6000
entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
default: None
{% endconfiguration %} {% endconfiguration %}
Many KNX devices can change their state internally without a message to the switch address on the KNX bus, e.g., if you configure a scene or a timer on a channel. The optional `state_address` can be used to inform Home Assistant about these state changes. If a KNX message is seen on the bus addressed to the given `state_address` (in most cases from the light actuator), it will overwrite the state of the object. Many KNX devices can change their state internally without a message to the switch address on the KNX bus, e.g., if you configure a scene or a timer on a channel. The optional `state_address` can be used to inform Home Assistant about these state changes. If a KNX message is seen on the bus addressed to the given `state_address` (in most cases from the light actuator), it will overwrite the state of the object.
@ -1143,6 +1168,8 @@ knx:
type: temperature type: temperature
min: 20 min: 20
max: 24.5 max: 24.5
step: 0.1
mode: slider
``` ```
{% configuration %} {% configuration %}
@ -1175,6 +1202,20 @@ max:
description: Maximum value that can be sent. Defaults to the `type` DPT maximum value. description: Maximum value that can be sent. Defaults to the `type` DPT maximum value.
required: false required: false
type: float type: float
step:
description: Step value. Defaults to the step size defined for the DPT in the KNX specifications.
required: false
type: float
mode:
description: Specifies the mode used in the UI. `auto`, `box` or `slider` are valid.
required: false
type: string
default: auto
entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
default: None
{% endconfiguration %} {% endconfiguration %}
## Scene ## Scene
@ -1203,6 +1244,11 @@ 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
type: string type: string
entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
default: None
{% endconfiguration %} {% endconfiguration %}
## Select ## Select
@ -1288,6 +1334,11 @@ sync_state:
required: false required: false
type: [boolean, string, integer] type: [boolean, string, integer]
default: true default: true
entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
default: None
{% endconfiguration %} {% endconfiguration %}
## Sensor ## Sensor
@ -1344,6 +1395,11 @@ state_class:
description: Sets the [state_class](https://developers.home-assistant.io/docs/core/entity/sensor#available-state-classes) of the sensor. description: Sets the [state_class](https://developers.home-assistant.io/docs/core/entity/sensor#available-state-classes) of the sensor.
required: false required: false
type: string type: string
entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
default: None
{% endconfiguration %} {% endconfiguration %}
### Value Types ### Value Types
@ -1552,6 +1608,11 @@ respond_to_read:
required: false required: false
type: boolean type: boolean
default: false default: false
entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
default: None
{% endconfiguration %} {% endconfiguration %}
The optional `state_address` can be used to inform Home Assistant about state changes not triggered by a telegram to the `address` e.g., if you configure a timer on a channel. If a KNX message is seen on the bus addressed to the given state address, this will overwrite the state of the switch object. The optional `state_address` can be used to inform Home Assistant about state changes not triggered by a telegram to the `address` e.g., if you configure a timer on a channel. If a KNX message is seen on the bus addressed to the given state address, this will overwrite the state of the switch object.
@ -1648,6 +1709,11 @@ sync_state:
required: false required: false
type: boolean type: boolean
default: true default: true
entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
default: None
{% endconfiguration %} {% endconfiguration %}
## Troubleshooting / Common issues ## Troubleshooting / Common issues

View File

@ -128,6 +128,10 @@ device:
required: false required: false
type: map type: map
keys: keys:
configuration_url:
description: 'A link to the webpage that can manage the configuration of this device. Can be either an HTTP or HTTPS link.'
required: false
type: string
connections: connections:
description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": [["mac", "02:5b:26:a8:dc:12"]]`.' description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": [["mac", "02:5b:26:a8:dc:12"]]`.'
required: false required: false
@ -165,6 +169,11 @@ enabled_by_default:
required: false required: false
type: boolean type: boolean
default: true default: true
entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
default: None
effect_command_topic: effect_command_topic:
description: "The MQTT topic to publish commands to change the light's effect state." description: "The MQTT topic to publish commands to change the light's effect state."
required: false required: false
@ -497,6 +506,10 @@ device:
required: false required: false
type: map type: map
keys: keys:
configuration_url:
description: 'A link to the webpage that can manage the configuration of this device. Can be either an HTTP or HTTPS link.'
required: false
type: string
connections: connections:
description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": [["mac", "02:5b:26:a8:dc:12"]]`.' description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": [["mac", "02:5b:26:a8:dc:12"]]`.'
required: false required: false
@ -526,6 +539,11 @@ enabled_by_default:
required: false required: false
type: boolean type: boolean
default: true default: true
entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
default: None
effect: effect:
description: Flag that defines if the light supports effects. description: Flag that defines if the light supports effects.
required: false required: false
@ -835,6 +853,10 @@ device:
required: false required: false
type: map type: map
keys: keys:
configuration_url:
description: 'A link to the webpage that can manage the configuration of this device. Can be either an HTTP or HTTPS link.'
required: false
type: string
connections: connections:
description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": [["mac", "02:5b:26:a8:dc:12"]]`.' description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": [["mac", "02:5b:26:a8:dc:12"]]`.'
required: false required: false
@ -864,6 +886,11 @@ enabled_by_default:
required: false required: false
type: boolean type: boolean
default: true default: true
entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
default: None
effect_list: effect_list:
description: List of possible effects. description: List of possible effects.
required: false required: false

View File

@ -65,6 +65,10 @@ device:
required: false required: false
type: map type: map
keys: keys:
configuration_url:
description: 'A link to the webpage that can manage the configuration of this device. Can be either an HTTP or HTTPS link.'
required: false
type: string
connections: connections:
description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": [["mac", "02:5b:26:a8:dc:12"]]`.' description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": [["mac", "02:5b:26:a8:dc:12"]]`.'
required: false required: false
@ -102,6 +106,11 @@ enabled_by_default:
required: false required: false
type: boolean type: boolean
default: true default: true
entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
default: None
icon: icon:
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity." description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
required: false required: false

View File

@ -0,0 +1,27 @@
---
title: LOOKin
description: Instructions on how to integrate LookIN devices into Home Assistant.
ha_category:
- Climate
- Sensor
ha_release: 2021.11
ha_iot_class: Local Push
ha_codeowners:
- '@ANMalko'
ha_domain: lookin
ha_config_flow: true
ha_platforms:
- climate
- sensor
ha_zeroconf: true
---
Integrates LOOKin devices into Home Assistant.
[LOOKin](https://look-in.club/en/devices) focuses on providing devices that integrate with a local api and can be used internet free.
### Supported devices
LOOKin Remote2: internet free Wi-Fi+IR Smart Home Control
{% include integrations/config_flow.md %}

View File

@ -1,81 +0,0 @@
---
title: Lyft
description: How to integrate Lyft in Home Assistant
ha_category:
- Transport
ha_iot_class: Cloud Polling
ha_release: 0.41
ha_domain: lyft
ha_platforms:
- sensor
---
<div class="note warning">
The Lyft integration has been marked deprecated and is pending removal in Home Assistant Core 2021.10.
It is considered impossible to obtain the needed API keys to use this integration.
</div>
The `lyft` sensor will give you time and price estimates for all available [Lyft](https://lyft.com) products at the given `start_latitude` and `start_longitude`.The `ATTRIBUTES` are used to provide extra information about products, such as vehicle capacity and fare rates. If an `end_latitude` and `end_longitude` are specified, a price estimate will also be provided. One sensor will be created for each product at the given `start` location, for pickup time. A second sensor for each product, for estimated price, will be created if a destination is specified. The sensor is powered by the official Lyft [API](https://developer.lyft.com/docs).
You must create an application [here](https://www.lyft.com/developers/apps) to obtain a `client_id` and `client_secret`.
To enable this sensor, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: lyft
client_id: CLIENT_ID
client_secret: CLIENT_SECRET
```
{% configuration %}
client_id:
description: "A client id obtained from [developer.lyft.com](https://developer.lyft.com) after [creating an app](https://www.lyft.com/developers/apps)."
required: true
type: string
client_secret:
description: "A client secret obtained from [developer.lyft.com](https://developer.lyft.com) after [creating an app](https://www.lyft.com/developers/apps)."
required: true
type: string
start_latitude:
description: The starting latitude for a trip.
required: false
type: float
default: "The latitude defined under the `homeassistant` key in `configuration.yaml`."
start_longitude:
description: The starting longitude for a trip.
required: false
type: float
default: "The longitude defined under the `homeassistant` key in `configuration.yaml`."
end_latitude:
description: The ending latitude for a trip. While `end_latitude` is optional, providing an `end_latitude`/`end_longitude` allows price estimates as well as time.
required: false
type: float
end_longitude:
description: The ending longitude for a trip. While `end_longitude` is optional, providing an `end_latitude`/`end_longitude` allows price estimates as well as time.
required: false
type: float
product_ids:
description: A list of Lyft product IDs.
required: false
type: [list, string]
{% endconfiguration %}
A full configuration entry could look like the sample below:
```yaml
# Example configuration.yaml entry
sensor:
- platform: lyft
client_id: CLIENT_ID
client_secret: CLIENT_SECRET
start_latitude: 37.8116380
start_longitude: -122.2648050
end_latitude: 37.615223
end_longitude: -122.389977
product_ids:
- 'lyft'
- 'lyft_plus'
```

View File

@ -42,7 +42,7 @@ type:
description: "The voice type you want to use. Accepted values are listed as the service name mapping [in the documentation](https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/language-support#text-to-speech)." description: "The voice type you want to use. Accepted values are listed as the service name mapping [in the documentation](https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/language-support#text-to-speech)."
required: false required: false
type: string type: string
default: "`ZiraRUS`" default: "`JennyNeural`"
rate: rate:
description: "Change the rate of speaking in percentage. Example values: `25`, `50`." description: "Change the rate of speaking in percentage. Example values: `25`, `50`."
required: false required: false
@ -73,6 +73,8 @@ region:
Not all Azure regions support high-quality neural voices. Use [this overview](https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/regions#neural-and-standard-voices) to determine the availability of standard and neural voices by region/endpoint. Not all Azure regions support high-quality neural voices. Use [this overview](https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/regions#neural-and-standard-voices) to determine the availability of standard and neural voices by region/endpoint.
New users ([any newly created Azure Speech resource after August 31st, 2021](https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/text-to-speech#migrate-to-neural-voice)) can only use neural voices. Existing resources can continue using standard voices through August 31st, 2024.
</div> </div>
<div class='note'> <div class='note'>
@ -92,7 +94,7 @@ tts:
api_key: YOUR_API_KEY api_key: YOUR_API_KEY
language: en-gb language: en-gb
gender: Male gender: Male
type: George, Apollo type: RyanNeural
rate: 20 rate: 20
volume: -50 volume: -50
pitch: high pitch: high

View File

@ -111,3 +111,28 @@ If using separate VLANs, make sure the 238.0.0.18:32100 and 238.0.0.18:32101 por
For some routers "IGMP snooping" on the used wireless interface needs to be disabled to let the IGMP/multicast messages through. For some routers "IGMP snooping" on the used wireless interface needs to be disabled to let the IGMP/multicast messages through.
For Ubiquiti routers/access points the "Enable multicast enhancement (IGMPv3)" should be disabled. For Ubiquiti routers/access points the "Enable multicast enhancement (IGMPv3)" should be disabled.
### Bypassing UDP multicast
If UDP Multicast does not work in your setup (due to network limitations), this integration can be used in local polling mode.
Go to Settings -> Integrations -> on the already set up Motion Blinds integration click "configure" --> disable the "Wait for push" option (disabled by default).
The default update interval of the Motion Blinds integration is every 10 minutes. When UDP multicast pushes do not work, this polling interval can be a bit high.
To increase the polling interval:
Go to Settings -> Integrations -> on the already set up Motion Blinds integration click more options (three dots) and select "System options" -> disable "polling for updates".
Now create an automation with as trigger a time pattern and select your desired polling time.
As the action select "Call service" and select "Update entity", select one of the motion blinds covers as entity.
You only have to create one automation with only one motion blind cover as entity, the rest will update at the same time.
Example YAML automation for custom polling interval (every minute):
```yaml
alias: Motion blinds polling automation
mode: single
trigger:
- platform: time_pattern
minutes: "/1"
action:
- service: homeassistant.update_entity
target:
entity_id: cover.motion_shade
```

View File

@ -20,6 +20,7 @@ The Nettigo Air Monitor integration allows you to read temperature, humidity, pr
The integration currently has support for the following sensors: The integration currently has support for the following sensors:
- BME280 - BME280
- BMP180
- BMP280 - BMP280
- DHT22 - DHT22
- HECA - HECA

View File

@ -13,9 +13,10 @@ ha_domain: nanoleaf
ha_platforms: ha_platforms:
- light - light
ha_zeroconf: true ha_zeroconf: true
ha_ssdp: true
--- ---
The Nanoleaf integration allows you to control and monitor Nanoleaf Light Panels, Canvas and Shapes. The Nanoleaf integration allows you to control and monitor Nanoleaf Light Panels, Canvas, Shapes and Elements.
This integration does not support the Nanoleaf Remote and Essentials lights. This integration does not support the Nanoleaf Remote and Essentials lights.

View File

@ -1,58 +0,0 @@
---
title: Nello
description: Instructions on how to integrate Nello intercom devices.
ha_category:
- Lock
ha_release: 0.52
ha_iot_class: Cloud Polling
ha_codeowners:
- '@pschmitt'
ha_domain: nello
ha_platforms:
- lock
---
The `nello` platform allows you to control [Nello](https://www.nello.io) intercoms.
To get started you need to create a secondary Nello account and authorize it to access your lock(s).
<div class="note warning">
Be aware that if you use your main account for Home Assistant you may not be able to use it with the App.
</div>
## Configuration
To add your Nello locks to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
lock:
- platform: nello
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
{% configuration %}
username:
description: The username of your Nello account.
required: true
type: string
password:
description: The password of your Nello account.
required: true
type: string
{% endconfiguration %}
## Events
### Event `nello_bell_ring`
Every time someone rings the bell, a `nello_bell_ring` event will be fired.
Field | Description
----- | -----------
`address` | Postal address of the lock.
`date` | Date when the event occurred.
`description` | Human readable string describing the event.
`location_id` | Nello ID of the location where the bell has been rung.
`short_id` | Shorter Nello ID.

View File

@ -49,7 +49,7 @@ Home Assistant is integrated with the following devices through the SDM API:
- Display, Camera, and Doorbell Devices - Display, Camera, and Doorbell Devices
- The camera live stream is available as a `camera` entity - The camera live stream is available as a `camera` entity
- Device Triggers for use in automations such as Person detected, Motion detected and Doorbell pressed - Device Triggers for use in automations such as Person detected, Motion detected and Doorbell pressed
- Example devices: All Google Nest Cam models, Google Nest Hello Video Doorbell, Google Nest Hub Max - Example devices: All wired & battery Google Nest Cam models, wired & battery Nest Doorbells, and Google Nest Hub Max.
You are in control of the information and capabilities exposed to Home Assistant. You can authorize a single device, multiple devices, or different levels of functionality such as motion events, live streams, for any particular device. The integration is flexible enough to adapt based on what you allow. You are in control of the information and capabilities exposed to Home Assistant. You can authorize a single device, multiple devices, or different levels of functionality such as motion events, live streams, for any particular device. The integration is flexible enough to adapt based on what you allow.
@ -379,10 +379,12 @@ logger:
## Camera ## Camera
All Google Nest Cam models, Google Nest Hello Video Doorbell, Google Nest Hub Max expose a [CameraLiveStream](https://developers.google.com/nest/device-access/traits/device/camera-live-stream) via the SDM API, which returns a RTSP live stream which can be viewed from Home Assistant. All Google Nest Cam models, Google Nest Doorbell models, Google Nest Hub Max expose a [CameraLiveStream](https://developers.google.com/nest/device-access/traits/device/camera-live-stream) via the SDM API.
Given a camera named `Front Yard` then the camera is created with a name such as `camera.front_yard`. Given a camera named `Front Yard` then the camera is created with a name such as `camera.front_yard`.
Cameras either support an `RTSP` stream served via `HLS` by Home Assistant, or support a `WebRTC` stream. See the [Nest SDM API: CameraLiveStream Schema](https://developers.google.com/nest/device-access/traits/device/camera-live-stream) for details on which camera devices support which types of streams. WebRTC cameras do not support image previews or stream recording in Home Assistant as the stream communication is client-side, directly from the browser to the device.
## Climate ## Climate
All Google Nest Thermostat models are exposed as a `climate` entity that use the [Thermostat Traits](https://developers.google.com/nest/device-access/traits/device/thermostat-hvac) in the SDM API. State changes to the thermostat are reported to Home Assistant through the Cloud Pubsub subscriber. All Google Nest Thermostat models are exposed as a `climate` entity that use the [Thermostat Traits](https://developers.google.com/nest/device-access/traits/device/thermostat-hvac) in the SDM API. State changes to the thermostat are reported to Home Assistant through the Cloud Pubsub subscriber.

View File

@ -59,6 +59,10 @@ device:
required: false required: false
type: map type: map
keys: keys:
configuration_url:
description: 'A link to the webpage that can manage the configuration of this device. Can be either an HTTP or HTTPS link.'
required: false
type: string
connections: connections:
description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": ["mac", "02:5b:26:a8:dc:12"]`.' description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": ["mac", "02:5b:26:a8:dc:12"]`.'
required: false required: false
@ -96,6 +100,11 @@ enabled_by_default:
required: false required: false
type: boolean type: boolean
default: true default: true
entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
default: None
icon: icon:
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity." description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
required: false required: false
@ -127,6 +136,11 @@ 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`."
payload_reset:
description: A special payload that resets the state to `None` when received on the `state_topic`.
required: false
type: string
default: '"None"'
qos: qos:
description: The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages. description: The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages.
required: false required: false
@ -150,6 +164,10 @@ unique_id:
description: An ID that uniquely identifies this Number. If two Numbers have the same unique ID Home Assistant will raise an exception. description: An ID that uniquely identifies this Number. If two Numbers have the same unique ID Home Assistant will raise an exception.
required: false required: false
type: string type: string
unit_of_measurement:
description: Defines the unit of measurement of the sensor, if any.
required: false
type: string
value_template: value_template:
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the value." description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the value."
required: false required: false

View File

@ -9,6 +9,7 @@ ha_domain: nut
ha_config_flow: true ha_config_flow: true
ha_codeowners: ha_codeowners:
- '@bdraco' - '@bdraco'
- '@ollo69'
ha_zeroconf: true ha_zeroconf: true
ha_platforms: ha_platforms:
- sensor - sensor

View File

@ -1,13 +1,17 @@
--- ---
title: OctoPrint title: OctoPrint
description: Instructions on how to setup the OctoPrint in Home Assistant. description: Integration between OctoPrint and Home Assistant.
ha_category: ha_category:
- Hub
- Binary Sensor - Binary Sensor
- Sensor - Sensor
ha_config_flow: true
ha_release: 0.19 ha_release: 0.19
ha_codeowners:
- '@rfleming71'
ha_iot_class: Local Polling ha_iot_class: Local Polling
ha_domain: octoprint ha_domain: octoprint
ha_zeroconf: true
ha_ssdp: true
ha_platforms: ha_platforms:
- binary_sensor - binary_sensor
- sensor - sensor
@ -15,119 +19,30 @@ ha_platforms:
[OctoPrint](https://octoprint.org/) is a web interface for your 3D printer. This is the main integration to integrate OctoPrint sensors. [OctoPrint](https://octoprint.org/) is a web interface for your 3D printer. This is the main integration to integrate OctoPrint sensors.
There is currently support for the following device types within Home Assistant: {% include integrations/config_flow.md %}
- [Binary Sensor](#binary-sensor) ### API Key
- [Sensor](#sensor)
## Configuration The Octoprint integration will attempt to register itself via the [application keys plugin](https://docs.octoprint.org/en/master/bundledplugins/appkeys.html). After submitting the configuration UI in Home Assistant, open the Octoprint UI and click allow on the prompt.
To get started with the OctoPrint API, please follow the directions on their [site](https://docs.octoprint.org/en/master/api/general.html). Once OctoPrint is configured you will need to add your API key and host to your `configuration.yaml`. ## Binary Sensor
```yaml The OctoPrint integration provides the following binary sensors:
octoprint:
host: YOUR_OCTOPRINT_HOST
api_key: YOUR_API_KEY
```
{% configuration %} - Printing
host: - Print Error
description: IP address or hostname of Octoprint host.
required: true
type: string
api_key:
description: The retrieved API key.
required: true
type: string
name:
description: The name for this printer, must be unique if multiple printers are defined.
required: false
type: string
default: OctoPrint
port:
description: The port of the Octoprint server.
required: false
type: integer
default: 80
path:
description: The URL path of the Octoprint instance.
required: false
type: string
default: /
ssl:
description: Enable or disable SSL/TLS.
required: false
type: boolean
default: false
bed:
description: If the printer has a heated bed.
required: false
type: boolean
default: false
number_of_tools:
description: Number of temperature adjustable tools, e.g., nozzle.
required: false
type: integer
default: 0
sensors:
description: Configuration for the sensors.
required: false
type: map
keys:
monitored_conditions:
description: The sensors to activate.
type: list
default: all (`Current State`, `Temperatures`, `Job Percentage`, `Time Elapsed`, `Time Remaining`)
keys:
"Current State":
description: Text of current state.
"Temperatures":
description: Temperatures of all available tools, e.g., `print`, `head`, `print bed`, etc. These will be displayed as `tool0`, `tool1`, or `toolN` please refer to your OctoPrint frontend to associate the tool number with an actual device.
"Job Percentage":
description: Percentage of the job.
"Time Elapsed":
description: Time elapsed on current print job, in seconds.
"Time Remaining":
description: Time remaining on current print job, in seconds.
binary_sensors:
description: Configuration for the binary sensors.
required: false
type: map
keys:
monitored_conditions:
description: The sensors to activate.
type: list
default: all (`Printing`, `Printing Error`)
keys:
"Printing":
description: State of the printer.
"Printing Error":
description: Error while printing.
{% endconfiguration %}
<div class='note'> ## Sensor
If you are tracking temperature it is recommended to set `bed` and/or `number_of_tools` in your octoprint configuration. This will allow the octoprint sensors to load if the printer is offline during Home Assistant startup. The OctoPrint integration lets you monitor various states of your 3D printer and its print jobs.
Supported sensors:
</div> - Current Printer State
- Job Completed Percentage
- Estimated Finish Time
- Estimated Start Time
Example with multiple printers: ## Camera
```yaml
octoprint:
- host: YOUR_OCTOPRINT_HOST
api_key: YOUR_API_KEY
name: PRINTER_NAME_1
number_of_tools: 2
sensors:
monitored_conditions:
- 'Current State'
- 'Job Percentage'
- host: YOUR_OCTOPRINT_HOST
api_key: YOUR_API_KEY
name: PRINTER_NAME_2
number_of_tools: 1
```
If the OctoPrint host is equipped with a web camera it is possible to add this as well. If the OctoPrint host is equipped with a web camera it is possible to add this as well.
@ -138,38 +53,3 @@ camera:
still_image_url: http://YOUR_OCTOPRINT_HOST_IP/webcam/?action=snapshot still_image_url: http://YOUR_OCTOPRINT_HOST_IP/webcam/?action=snapshot
mjpeg_url: http://YOUR_OCTOPRINT_HOST_IP/webcam/?action=stream mjpeg_url: http://YOUR_OCTOPRINT_HOST_IP/webcam/?action=stream
``` ```
## Binary Sensor
The `octoprint` binary sensor platform let you monitor if your 3D printer is printing or if there was a printing error.
To set it up, add the following information to your `configuration.yaml` file:
```yaml
binary_sensor:
- platform: octoprint
monitored_conditions:
- Printing
- Printing Error
```
{% configuration %}
monitored_conditions:
description: States to monitor.
required: true
type: list
keys:
printing:
description: State of the printer.
printing error:
description: Error while printing.
name:
description: The name of the sensor.
required: false
type: string
default: OctoPrint
{% endconfiguration %}
## Sensor
The `octoprint` sensor platform let you monitor various states of your 3D printer and its print jobs.

View File

@ -32,6 +32,7 @@ Each 1-wire component data sheet describes the different properties the componen
| -------|:-----|:-----| | -------|:-----|:-----|
| 12 | [DS2406](https://datasheets.maximintegrated.com/en/ds/DS2406.pdf) | 2 sensed (sensed.A/B) <sup>[4](#note_4)</sup> | | 12 | [DS2406](https://datasheets.maximintegrated.com/en/ds/DS2406.pdf) | 2 sensed (sensed.A/B) <sup>[4](#note_4)</sup> |
| 29 | [DS2408](https://datasheets.maximintegrated.com/en/ds/DS2408.pdf) | 8 sensed (sensed.0-7) <sup>[4](#note_4)</sup> | | 29 | [DS2408](https://datasheets.maximintegrated.com/en/ds/DS2408.pdf) | 8 sensed (sensed.0-7) <sup>[4](#note_4)</sup> |
| 3A | [DS2413](https://datasheets.maximintegrated.com/en/ds/DS2413.pdf) | 2 sensed (sensed.A/B) <sup>[4](#note_4)</sup> |
#### Sensors: #### Sensors:
@ -55,6 +56,7 @@ Each 1-wire component data sheet describes the different properties the componen
| 05 | [DS2405](https://datasheets.maximintegrated.com/en/ds/DS2405.pdf) | 1 PIO <sup>[4](#note_4)</sup> | | 05 | [DS2405](https://datasheets.maximintegrated.com/en/ds/DS2405.pdf) | 1 PIO <sup>[4](#note_4)</sup> |
| 12 | [DS2406](https://datasheets.maximintegrated.com/en/ds/DS2406.pdf) | 2 latches (latch.A/B) and 2 PIOs (PIO.A/B) <sup>[4](#note_4)</sup> | | 12 | [DS2406](https://datasheets.maximintegrated.com/en/ds/DS2406.pdf) | 2 latches (latch.A/B) and 2 PIOs (PIO.A/B) <sup>[4](#note_4)</sup> |
| 29 | [DS2408](https://datasheets.maximintegrated.com/en/ds/DS2408.pdf) | 8 latches (latch.0-7) and 8 PIOs (PIO.0/7) <sup>[4](#note_4)</sup> | | 29 | [DS2408](https://datasheets.maximintegrated.com/en/ds/DS2408.pdf) | 8 latches (latch.0-7) and 8 PIOs (PIO.0/7) <sup>[4](#note_4)</sup> |
| 3A | [DS2413](https://datasheets.maximintegrated.com/en/ds/DS2413.pdf) | 2 PIOs (PIO.A/B) <sup>[4](#note_4)</sup> |
#### Bridges: #### Bridges:

View File

@ -11,10 +11,12 @@ ha_config_flow: true
ha_codeowners: ha_codeowners:
- '@danielhiversen' - '@danielhiversen'
ha_platforms: ha_platforms:
- binary_sensor
- cover - cover
- sensor
--- ---
The `opengarage` cover platform lets you control the open-source [OpenGarage.io](https://opengarage.io/) device through Home Assistant. The OpenGarage integration lets you control the open-source [OpenGarage.io](https://opengarage.io/) device through Home Assistant.
{% include integrations/config_flow.md %} {% include integrations/config_flow.md %}

View File

@ -79,6 +79,8 @@ As this platform supports different types of GPIO pinouts for difference Orange
| `zeroplus2` | Supports the Orange Pi Zero Plus 2 | | `zeroplus2` | Supports the Orange Pi Zero Plus 2 |
| `duo` | Supports the NanoPi Duo | | `duo` | Supports the NanoPi Duo |
| `neocore2` | Supports the NanoPi Neocore 2 | | `neocore2` | Supports the NanoPi Neocore 2 |
| `pi4` | Supports the Orange pi 4 |
| `pi4B` | Supports the Orange pi 4B |
## Additional steps ## Additional steps
@ -102,6 +104,8 @@ This integration uses interrupts to catch changes on your pins. However, it depe
You can find the pinouts of all the supported Orange Pi devices [here](https://pascalroeleven.nl/2020/04/13/orange-pi-gpio-pinouts/). The pinouts for the [NanoPi Duo](http://wiki.friendlyarm.com/wiki/index.php/NanoPi_Duo) and [NanoPi NEO Core2](http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO_Core2) can be found on the [FriendlyARM wiki](http://wiki.friendlyarm.com/). For example: If a pin is named PA01, the pin bank is PA. If this pin bank is in the following table after your chipset, this particular pin is supported. You can find the pinouts of all the supported Orange Pi devices [here](https://pascalroeleven.nl/2020/04/13/orange-pi-gpio-pinouts/). The pinouts for the [NanoPi Duo](http://wiki.friendlyarm.com/wiki/index.php/NanoPi_Duo) and [NanoPi NEO Core2](http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO_Core2) can be found on the [FriendlyARM wiki](http://wiki.friendlyarm.com/). For example: If a pin is named PA01, the pin bank is PA. If this pin bank is in the following table after your chipset, this particular pin is supported.
For the orange pi4 and pi4B, using the Rockchip RK3399 chip, a manual and technical doc can be found [here](https://drive.google.com/drive/folders/1QMU5n-7fCx28cQPH_lu2L0wrFWeC3G45).
| Chipset | Pin banks which support external interrupts | | Chipset | Pin banks which support external interrupts |
| ------- | ------------------------------------------- | | ------- | ------------------------------------------- |
| H2+ | PA, PG, PL | | H2+ | PA, PG, PL |
@ -123,3 +127,4 @@ In the table below you can see the number of usable pins for sensors per device.
| H6 (Lite 2, One Plus) | 3/17 | | H6 (Lite 2, One Plus) | 3/17 |
| H6 (PI 3) | 8/17 | | H6 (PI 3) | 8/17 |
| A64 (Win Plus) | 18/28 | | A64 (Win Plus) | 18/28 |
| RK3399 (PI4, PI4B) | 28/28 |

View File

@ -1,5 +1,5 @@
--- ---
title: OpenZWave (beta) title: OpenZWave (deprecated)
description: Instructions on how to integrate OpenZWave with Home Assistant. description: Instructions on how to integrate OpenZWave with Home Assistant.
ha_category: ha_category:
- Switch - Switch
@ -22,14 +22,15 @@ ha_platforms:
- switch - switch
--- ---
This integration allows you to utilize OpenZWave's ozwdaemon to control a Z-Wave network over MQTT.
<div class='note warning'> <div class='note warning'>
As of mid-2021 this integration, as well as the upstream ozwdaemon project, are not currently maintained. If you're starting out with Z-Wave in Home Assistant, we recommend that you use [the Z-Wave JS integration](/integrations/zwave_js). This integration is deprecated. We recommend using [the Z-Wave JS integration](/integrations/zwave_js).
The OpenZWave integration will no longer receive any updates. The technical dependencies may render this integration unusable in the future, at which time it may be removed.
</div> </div>
This integration allows you to utilize OpenZWave's ozwdaemon to control a Z-Wave network over MQTT.
## Requirements ## Requirements

View File

@ -14,6 +14,7 @@ ha_domain: plex
ha_platforms: ha_platforms:
- media_player - media_player
- sensor - sensor
ha_zeroconf: true
--- ---
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. 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.
@ -63,7 +64,7 @@ Alternatively, you can manually configure a Plex server connection by selecting
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 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. 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. The last added media item (movie, album, or episode) and a timestamp showing when it was added to its respective library are also provided.
In addition to the item count, the last added media item (movie, album, or episode) and a timestamp showing when it was added are also provided with each library sensor. In addition to the item count, the last added media item (movie, album, or episode) and a timestamp showing when it was added are also provided with each library sensor.
@ -103,9 +104,14 @@ By default, the Plex integration will create Media Player entities for all local
### Service `media_player.play_media` ### Service `media_player.play_media`
Plays a song, album, artist, playlist, TV show/season/episode, movie, or video on a connected client. Play media hosted on a Plex server on a Plex client or other supported device.
Required fields within the `media_content_id` payloads are marked as such, others are optional. Required fields within the `media_content_id` payloads are marked as such, others are optional. There are special parameters that can be added to any query:
- `shuffle`: Shuffles the playback order of the media. Accepts `1` or `true` to enable.
- `allow_multiple`: A search must find one specific item to succeed. This parameter accepts multiple matches in a search and enqueues all found items for playback. Accepts `1` or `true` to enable.
Simplified examples are provided for [music](#music), [TV episodes](#tv-episode), and [movies](#movie). See [advanced searches](#advanced-searches) for complex/smart search capabilities.
<div class='note info'> <div class='note info'>
@ -127,7 +133,7 @@ Refer to these links if casting to non-Plex players:
| Service data attribute | Description | | Service data attribute | Description |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | `entity_id` of the client | | `entity_id` | `entity_id` of the client |
| `media_content_id` | Quoted JSON containing:<br/><ul><li>`library_name` (Required)</li><li>`artist_name` (Required)</li><li>`album_name`</li><li>`track_name`</li><li>`track_number`</li><li>`shuffle` (0 or 1)</li></ul> | | `media_content_id` | Quoted JSON containing:<br/><ul><li>`library_name` (Required)</li><li>`artist_name` or `artist.title`</li><li>`album_name` or `album.title`</li><li>`track_name` or `track.title`</li><li>`track_number` or `track.index`</li><li>`shuffle` (0 or 1)</li><li>`allow_multiple` (0 or 1)</li></ul> |
| `media_content_type` | `MUSIC` | | `media_content_type` | `MUSIC` |
##### Examples: ##### Examples:
@ -163,7 +169,7 @@ media_content_id: '{ "playlist_name": "The Best of Disco", "shuffle": "1" }'
| Service data attribute | Description | | Service data attribute | Description |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | `entity_id` of the client | | `entity_id` | `entity_id` of the client |
| `media_content_id` | Quoted JSON containing:<br/><ul><li>`library_name` (Required)</li><li>`show_name` (Required)</li><li>`season_number`</li><li>`episode_number`</li><li>`shuffle` (0 or 1)</li></ul> | | `media_content_id` | Quoted JSON containing:<br/><ul><li>`library_name` (Required)</li><li>`show_name` or `show.title`</li><li>`season_number` or `season.index`</li><li>`episode_number` or `episode.index`</li><li>`shuffle` (0 or 1)</li><li>`allow_multiple` (0 or 1)</li></ul> |
| `media_content_type` | `EPISODE` | | `media_content_type` | `EPISODE` |
##### Examples: ##### Examples:
@ -184,12 +190,24 @@ media_content_id: '{ "library_name": "Kid TV", "show_name": "Sesame Street", "sh
| Service data attribute | Description | | Service data attribute | Description |
| ---------------------- | ------------------------------------------------------------------------------------------------------- | | ---------------------- | ------------------------------------------------------------------------------------------------------- |
| `entity_id` | `entity_id` of the client | | `entity_id` | `entity_id` of the client |
| `media_content_id` | Quoted JSON containing:<br/><ul><li>`library_name` (Required)</li><li>`title` (Required)</li><li>`<SEARCH_KEY>` (optional)</li></ul> | | `media_content_id` | Quoted JSON containing:<br/><ul><li>`library_name` (Required)</li><li>`title`</li></ul> |
| `media_content_type` | `movie` | | `media_content_type` | `movie` |
For movies it's usually sufficient to provide the title. However, if the title you provide has multiple matches (such as with remakes), more search keys may be necessary. These optional keys can be included in the `media_content_id` JSON payload to restrict the search: ##### Examples:
* `unwatched`: Restrict search to unwatched items only (`True`, `False`) ```yaml
entity_id: media_player.plex_player
media_content_type: movie
media_content_id: '{ "library_name": "Adult Movies", "title": "Blade" }'
```
#### Advanced Searches
Instead of searching for a specific known piece of media, many additional parameters are available to run more powerful searches. This can also be used when a simple search for a title has multiple matches, such as with movie remakes.
These are examples of optional keys that can be included in the `media_content_id` JSON payload customize the search:
* `unwatched`: Restrict search to unwatched items only (`true`, `false`)
* `actor`: Restrict search for movies that include a specific actor * `actor`: Restrict search for movies that include a specific actor
* `collection`: Restrict search within a named Plex collection ("Back to the Future", "Indiana Jones") * `collection`: Restrict search within a named Plex collection ("Back to the Future", "Indiana Jones")
* `contentRating`: Restrict search to a specific content rating ("PG", "R") * `contentRating`: Restrict search to a specific content rating ("PG", "R")
@ -200,27 +218,43 @@ For movies it's usually sufficient to provide the title. However, if the title y
* `resolution`: Restrict search to a specific video resolution (480, 720, 1080, "4k") * `resolution`: Restrict search to a specific video resolution (480, 720, 1080, "4k")
* `year`: Restrict search to a specific year * `year`: Restrict search to a specific year
##### Examples: More parameters and additional details can be found in the `plexapi` library [documentation](https://python-plexapi.readthedocs.io/en/latest/modules/library.html#plexapi.library.LibrarySection.search).
```yaml ##### Examples
entity_id: media_player.plex_player
media_content_type: movie
media_content_id: '{ "library_name": "Adult Movies", "title": "Blade" }'
```
```yaml Below are examples of advanced searches. All examples show what can be sent in the `media_content_id` parameter.
entity_id: media_player.plex_player
media_content_type: movie
media_content_id: '{ "library_name": "Adult Movies", "title": "The Manchurian Candidate", year=1962 }'
# Would find the original instead of the 2004 remake
```
"Lazy" searches are also possible: Note that some searches may require `"maxresults": 1` to limit the result to a single item. However, an "item" may be a group of media, such as an album, season, artist, show, etc.
```yaml
entity_id: media_player.plex_player The search will attempt to guess the type of media based on the search parameters by using the most specific media type provided. For example, a search using `artist.title` and `album.year` will search for albums for the artist that were released in a specific year. If you add `track.title` to the search, it will instead try to find the track. You may specify the type of media to search for with the `libtype` parameter which can be one of `movie`, `episode`, `season`, `show`, `track`, `album`, or `artist`. This could be useful if searching for an album where you only know the name of a specific track (see example below).
media_content_type: movie
media_content_id: '{ "library_name": "Adult Movies", "title": "die hard", year=1995 }' ```json
# Would find the sequel, "Die Hard: With a Vengeance" # Play the original instead of the 2004 remake:
{ "library_name": "Movies", "title": "The Manchurian Candidate", "year": 1962 }
# "Lazy" searches are also possible (would find the sequel, "Die Hard: With a Vengeance"):
{ "library_name": "Movies", "title": "die hard", "year": 1995 }
# Play for an artist's album where only a track name is known:
{ "library_name": "Music", "artist.title": "Stevie", "track.title": "Higher Ground" }
# Play all albums with "orange" in the title:
{ "library_name": "Music", "album.title": "orange", "allow_multiple": true }
# Watch the most recently added movie
{ "library_name": "Movies", "sort": "addedAt:desc", "maxresults": 1 }
# Play an unwatched movie from the "Bond" collection which was released in the 2000s
{ "library_name": "Movies", "collection": "Bond", "decade": 2000, "unwatched": true }
# Play the most recently added TV show which has been partially watched
{ "library_name": "TV Shows", "inProgress": true, "sort": "addedAt:desc", "maxresults": 1 }
# Listen to a random electronic album which was added over 3 years ago but hasn't been listened to for at least 3 months
{ "library_name": "Music", "addedAt<<": "3y", "album.genre": "Electronic", "album.lastViewedAt<<": "3mon", "sort": "random", "maxresults": 1 }
# Watch the worst rated movie from the 2000s starring either Nicolas Cage or Danny Devito
{ "library_name": "Movies", "actor": ["Nicolas Cage", "Danny DeVito"], "decade": 2000, "sort": "audienceRating:asc", "maxresults": 1 }
``` ```
### Compatibility ### Compatibility

View File

@ -34,63 +34,85 @@ Note that some entities are disabled by default. If you are missing a sensor or
## Services ## Services
Services accept either device IDs or entity IDs, depending on the nature of the service:
- Services that require a device ID as a target:
- `rainmachine.pause_watering`
- `rainmachine.push_weather_data`
- `rainmachine.stop_all`
- `rainmachine.unpause_watering`
- Services that require an entity ID as a target (note that the correct entity ID type must be provided, such as a program for a program-related service)
- `rainmachine.disable_program`
- `rainmachine.disable_zone`
- `rainmachine.enable_program`
- `rainmachine.enable_zone`
- `rainmachine.start_program`
- `rainmachine.start_zone`
- `rainmachine.stop_program`
- `rainmachine.stop_zone`
### `rainmachine.disable_program` ### `rainmachine.disable_program`
Disable a RainMachine program. This will mark the program switch as Disable a RainMachine program. This will mark the program switch as
`Unavailable` in the UI. `Unavailable` in the UI.
| Service Data Attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------------|
| `program_id ` | no | The program to disable |
### `rainmachine.disable_zone` ### `rainmachine.disable_zone`
Disable a RainMachine zone. This will mark the zone switch as Disable a RainMachine zone. This will mark the zone switch as
`Unavailable` in the UI. `Unavailable` in the UI.
| Service Data Attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------------|
| `zone_id ` | no | The program to disable |
### `rainmachine.enable_program` ### `rainmachine.enable_program`
Enable a RainMachine program. Enable a RainMachine program.
| Service Data Attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------------|
| `program_id ` | no | The program to enable |
### `rainmachine.enable_zone` ### `rainmachine.enable_zone`
Enable a RainMachine zone. Enable a RainMachine zone.
| Service Data Attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------------|
| `zone_id ` | no | The zone to enable |
### `rainmachine.pause_watering` ### `rainmachine.pause_watering`
Pause all watering activities for a number of seconds. Pause all watering activities for a number of seconds.
| Service Data Attribute | Optional | Description | | Service Data Attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------------| | ---------------------- | -------- | ------------------------------ |
| `seconds` | no | The number of seconds to pause | | `seconds` | no | The number of seconds to pause |
### `rainmachine.push_weather_data`
Push Weather Data from Home Assistant to the RainMachine device.
Local Weather Push service should be enabled from Settings > Weather > Developer tab for RainMachine to consider the values being sent. Units must be sent in metric; no conversions are performed by the integration. Note: RAIN and QPF values shouldn't be sent as cumulative values but the measured/forecasted values for each hour or day. The RainMachine Mixer will sum all RAIN or QPF values in the current day to have the day total RAIN or QPF.
See details of RainMachine API here:
<https://rainmachine.docs.apiary.io/#reference/weather-services/parserdata/post>
| Service Data Attribute | Optional | Description |
| ---------------------- | -------- | --------------------------------------------------------------------------------------------------------------------- |
| `timestamp` | no | UNIX Timestamp for the Weather Data. If omitted, the RainMachine device's local time at the time of the call is used. |
| `mintemp` | no | Minimum Temperature (°C) |
| `maxtemp` | no | Maximum Temperature (°C) |
| `temperature` | no | Current Temperature (°C) |
| `wind` | no | Wind Speed (m/s) |
| `solarrad` | no | Solar Radiation (MJ/m²/h) |
| `et` | no | Evapotranspiration (mm) |
| `qpf` | no | Quantitative Precipitation Forecast (mm), or QPF |
| `rain` | no | Measured Rainfail (mm) |
| `minrh` | no | Min Relative Humidity (%RH) |
| `maxrh` | no | Max Relative Humidity (%RH) |
| `condition` | no | Current weather condition code (WNUM). See [here][wnum reference] for options. |
| `pressure` | no | Barametric Pressure (kPa) |
| `dewpoint` | no | Dew Point (°C) |
### `rainmachine.start_program` ### `rainmachine.start_program`
Start a RainMachine program. Start a RainnMachine program.
| Service Data Attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------------|
| `program_id ` | no | The program to start |
### `rainmachine.start_zone` ### `rainmachine.start_zone`
Start a RainMachine zone for a set number of seconds. Start a RainMachine zone for a set number of seconds.
| Service Data Attribute | Optional | Description | | Service Data Attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------------| | ---------------------- | -------- | ---------------------------------------------------- |
| `zone_id` | no | The zone to start |
| `zone_run_time` | yes | The number of seconds to run; defaults to 60 seconds | | `zone_run_time` | yes | The number of seconds to run; defaults to 60 seconds |
### `rainmachine.stop_all` ### `rainmachine.stop_all`
@ -101,18 +123,10 @@ Stop all watering activities.
Stop a RainMachine program. Stop a RainMachine program.
| Service Data Attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------------|
| `program_id ` | no | The program to stop |
### `rainmachine.stop_zone` ### `rainmachine.stop_zone`
Stop a RainMachine zone. Stop a RainMachine zone.
| Service Data Attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------------|
| `zone_id ` | no | The zone to stop |
### `rainmachine.unpause_watering` ### `rainmachine.unpause_watering`
Unpause all watering activities. Unpause all watering activities.
@ -129,3 +143,5 @@ After Home Assistant loads, new switches will be added for every enabled program
- Zone On/Off: starts/stops a zone (using the `zone_run_time` parameter to determine how long to run for) - Zone On/Off: starts/stops a zone (using the `zone_run_time` parameter to determine how long to run for)
Programs and zones are linked. While a program is running, you will see both the program and zone switches turned on; turning either one off will turn the other one off (just like in the web app). Programs and zones are linked. While a program is running, you will see both the program and zone switches turned on; turning either one off will turn the other one off (just like in the web app).
[wnum reference]: https://github.com/sprinkler/rainmachine-developer-resources/blob/d47e1ad59dee59e34094ad41636ae289275eb973/sdk-parsers/RMDataFramework/rmWeatherData.py#L13

View File

@ -7,6 +7,8 @@ ha_release: pre 0.7
ha_quality_scale: internal ha_quality_scale: internal
ha_domain: recorder ha_domain: recorder
ha_iot_class: Local Push ha_iot_class: Local Push
ha_codeowners:
- '@home-assistant/core'
--- ---
The `recorder` integration is responsible for storing details in a database, which then are handled by the [`history`](/integrations/history/) integration. The `recorder` integration is responsible for storing details in a database, which then are handled by the [`history`](/integrations/history/) integration.

View File

@ -59,6 +59,11 @@ enabled_by_default:
required: false required: false
type: boolean type: boolean
default: true default: true
entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
default: None
icon: icon:
description: Icon for the scene. description: Icon for the scene.
required: false required: false

View File

@ -17,6 +17,7 @@ ha_domain: screenlogic
ha_platforms: ha_platforms:
- binary_sensor - binary_sensor
- climate - climate
- light
- sensor - sensor
- switch - switch
--- ---

View File

@ -63,6 +63,10 @@ device:
required: false required: false
type: map type: map
keys: keys:
configuration_url:
description: 'A link to the webpage that can manage the configuration of this device. Can be either an HTTP or HTTPS link.'
required: false
type: string
connections: connections:
description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": ["mac", "02:5b:26:a8:dc:12"]`.' description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": ["mac", "02:5b:26:a8:dc:12"]`.'
required: false required: false
@ -100,6 +104,11 @@ enabled_by_default:
required: false required: false
type: boolean type: boolean
default: true default: true
entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
default: None
icon: icon:
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity." description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
required: false required: false

View File

@ -55,6 +55,10 @@ device:
required: false required: false
type: map type: map
keys: keys:
configuration_url:
description: 'A link to the webpage that can manage the configuration of this device. Can be either an HTTP or HTTPS link.'
required: false
type: string
connections: connections:
description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": [["mac", "02:5b:26:a8:dc:12"]]`.' description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": [["mac", "02:5b:26:a8:dc:12"]]`.'
required: false required: false
@ -97,6 +101,11 @@ enabled_by_default:
required: false required: false
type: boolean type: boolean
default: true default: true
entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
default: None
expire_after: expire_after:
description: Defines the number of seconds after the sensor's state expires, if it's not updated. After expiry, the sensor's state becomes `unavailable`. description: Defines the number of seconds after the sensor's state expires, if it's not updated. After expiry, the sensor's state becomes `unavailable`.
required: false required: false

View File

@ -65,7 +65,11 @@ name:
type: string type: string
default: REST Sensor default: REST Sensor
device_class: device_class:
description: Sets the [class of the device](/integrations/sensor/), changing the device state and icon that is displayed on the frontend. description: Sets the [class of the device](/integrations/sensor#device-class), changing the device state and icon that is displayed on the frontend.
required: false
type: string
state_class:
description: The [state_class](https://developers.home-assistant.io/docs/core/entity/sensor#available-state-classes) of the sensor.
required: false required: false
type: string type: string
value_template: value_template:

View File

@ -27,7 +27,7 @@ There is currently support for the following device types within Home Assistant:
- **Freeze Sensor**: reports on the freeze sensor temperature*. - **Freeze Sensor**: reports on the freeze sensor temperature*.
- **Glass Break Sensor**: reports on the glass breakage sensor status*. - **Glass Break Sensor**: reports on the glass breakage sensor status*.
- **Lock**: reports on `Door Locks` and can be used to lock and unlock a lock. - **Lock**: reports on `Door Locks` and can be used to lock and unlock a lock.
- **Motion Sensor**: reports on motion detected. - **Motion Sensor**: reports on motion detected*.
- **Siren**: reports on the siren status*. - **Siren**: reports on the siren status*.
- **Smoke Detector**: reports on the smoke sensor status*. - **Smoke Detector**: reports on the smoke sensor status*.
- **Water Sensor**: reports on water sensor status*. - **Water Sensor**: reports on water sensor status*.
@ -36,6 +36,28 @@ There is currently support for the following device types within Home Assistant:
{% include integrations/config_flow.md %} {% include integrations/config_flow.md %}
## Getting an Authorization Code
<div class="note warning">
Because of a technical limitation, the below instructions will not work for iOS users as-is. It is recommended that you set up the SimpliSafe integration from a desktop browser. If you must use an iOS device, please ensure that the SimpliSafe app is not installed before beginning; the app can be re-installed after the integration is set up.
</div>
Starting in 2021, SimpliSafe has moved to a new authentication mechanism via its web app. Below are instructions on retrieving the authorization code needed to finish setting the integration up.
1. Initiate adding the integration via the instructions above.
2. When prompted, click the link that opens the SimpliSafe web app.
3. Input your SimpliSafe credentials. You will see "Verification Pending" leave this browser tab open.
4. Check your email for a message from SimpliSafe. When you have received that email, click "Verify Device" note that this will open a second browser tab/window.
5. After the verification is successful, return to the first browser tab/window. The browser will show an error about not being able to navigate to the page; ignore it.
At this stage, take a look at the address bar and note the `code` parameter at the very end of the URL:
```txt
com.simplisafe.mobile://auth.simplisafe.com/ios/com.simplisafe.mobile/callback?code=<CODE>
```
Copy/paste this code parameter into Home Assistant to finish setting up the integration.
## Services ## Services
Note that the `system_id` parameter required by the below service calls can be discovered Note that the `system_id` parameter required by the below service calls can be discovered
@ -45,7 +67,8 @@ entity.
### `simplisafe.clear_notifications` ### `simplisafe.clear_notifications`
Clear any existing notifications within the SimpliSafe cloud; this will mark existing Clear any existing notifications within the SimpliSafe cloud; this will mark existing
notifications as "read" in the SimpliSafe web and mobile apps. notifications as "read" in the SimpliSafe web and mobile apps, as well as prevent them
from triggering future `SIMPLISAFE_NOTIFICATION` events.
### `simplisafe.remove_pin` ### `simplisafe.remove_pin`
@ -91,6 +114,69 @@ For any property denoting a volume, the following values should be used:
## Events ## Events
### `SIMPLISAFE_EVENT`
`SIMPLISAFE_EVENT` events represent events that appear on the timeline of the SimpliSafe
web and mobile apps. When received, they come with event data that contains the
following keys:
* `changed_by`: the PIN that triggered the event (if appropriate)
* `event_type`: the type of event
* `info`: a human-friendly string describing the event in more detail
* `sensor_name`: the sensor that triggered the event (if appropriate)
* `sensor_serial`: the serial number of the sensor that triggered the event (if appropriate)
* `sensor_type`: the type of sensor that triggered the event (if appropriate)
* `system_id`: the system ID to which the event belongs
* `timestamp`: the UTC datetime at which the event was received
For example, when someone rings the doorbell, a
`SIMPLISAFE_EVENT` event will fire with the following event data:
```python
{
"event_type": "SIMPLISAFE_EVENT",
"data": {
"last_event_changed_by": "",
"last_event_type": "doorbell_detected",
"last_event_info": "Someone is at your \"Front Door\"",
"last_event_sensor_name": "Front Door",
"last_event_sensor_serial": "",
"last_event_sensor_type": "doorbell",
"system_id": [systemid],
"last_event_timestamp": "2021-01-28T22:01:32+00:00"
},
"origin": "LOCAL",
"time_fired": "2021-01-28T22:01:37.478539+00:00",
"context": {
"id": "[id]",
"parent_id": null,
"user_id": null
}
}
```
`last_event_type` can have the following values:
* `automatic_test`
* `camera_motion_detected`
* `doorbell_detected`
* `device_test`
* `secret_alert_triggered`
* `sensor_paired_and_named`
* `user_initiated_test`
To build an automation using one of these, use `SIMPLISAFE_EVENT`
as an event trigger, with `last_event_type` as the `event_data`.
For example, the following will trigger when the doorbell rings:
```yaml
trigger:
- platform: event
event_type: SIMPLISAFE_EVENT
event_data:
last_event_type: doorbell_detected
```
### `SIMPLISAFE_NOTIFICATION` ### `SIMPLISAFE_NOTIFICATION`
`SIMPLISAFE_NOTIFICATION` events represent system notifications that would appear in the `SIMPLISAFE_NOTIFICATION` events represent system notifications that would appear in the

View File

@ -25,6 +25,13 @@ The `sonos` integration allows you to control your [Sonos](https://www.sonos.com
{% include integrations/config_flow.md %} {% include integrations/config_flow.md %}
## Feature controls
Speaker-level features are exposed as `switch` entities which allow direct control and indicate if the features are currently enabled.
- **All devices**: Crossfade, Status Light, Touch Controls
- **Home theater devices**: Night Sound & Speech Enhancement
## Battery support ## Battery support
Battery sensors are fully supported for the `Sonos Roam` and `Sonos Move` devices on S2 firmware. `Sonos Move` speakers still on S1 firmware are supported but may update infrequently. Battery sensors are fully supported for the `Sonos Roam` and `Sonos Move` devices on S2 firmware. `Sonos Move` speakers still on S1 firmware are supported but may update infrequently.
@ -181,21 +188,6 @@ Update an existing Sonos alarm.
| `enabled` | yes | Boolean for whether or not to enable this alarm. | `enabled` | yes | Boolean for whether or not to enable this alarm.
| `include_linked_zones` | yes | Boolean that defines if the alarm also plays on grouped players. | `include_linked_zones` | yes | Boolean that defines if the alarm also plays on grouped players.
### Service `sonos.set_option`
Set Sonos speaker options.
Night Sound and Speech Enhancement modes are only supported when playing from the TV source of products like Sonos Playbar and Sonos Beam. Other speaker types will ignore these options.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of `entity_id`s that will have their options set.
| `buttons_enabled` | yes | Boolean to control the functioning of hardware buttons on the device.
| `crossfade` | yes | Boolean to control crossfading between songs.
| `night_sound` | yes | Boolean to control Night Sound mode.
| `speech_enhance` | yes | Boolean to control Speech Enhancement mode.
| `status_light` | yes | Boolean to control the Status (LED) Light.
### Service `sonos.play_queue` ### Service `sonos.play_queue`
Starts playing the Sonos queue. Starts playing the Sonos queue.

View File

@ -37,6 +37,7 @@ The following integrations are automatically discovered by the SSDP integration:
- [Keenetic NDMS2 Router](/integrations/keenetic_ndms2/) - [Keenetic NDMS2 Router](/integrations/keenetic_ndms2/)
- [Konnected.io](/integrations/konnected/) - [Konnected.io](/integrations/konnected/)
- [Logitech Harmony](/integrations/harmony/) - [Logitech Harmony](/integrations/harmony/)
- [OctoPrint](/integrations/octoprint/)
- [Philips Hue](/integrations/hue/) - [Philips Hue](/integrations/hue/)
- [Roku](/integrations/roku/) - [Roku](/integrations/roku/)
- [Samsung SyncThru Printer](/integrations/syncthru/) - [Samsung SyncThru Printer](/integrations/syncthru/)

View File

@ -8,31 +8,13 @@ ha_release: 0.104
ha_iot_class: Cloud Polling ha_iot_class: Cloud Polling
ha_codeowners: ha_codeowners:
- '@fwestenberg' - '@fwestenberg'
- '@frenck'
ha_domain: stookalert ha_domain: stookalert
ha_config_flow: true
ha_platforms: ha_platforms:
- binary_sensor - binary_sensor
--- ---
The `stookalert` sensor platform queries the [RIVM Stookalert](https://www.rivm.nl/stookalert) API for unfavorable weather conditions or poor air quality. With a Stookalert, the RIVM calls on people not to burn wood. This can prevent health problems in people in the area. The Stookalert integration queries the [RIVM Stookalert](https://www.rivm.nl/stookalert) API for unfavorable weather conditions or poor air quality. With a Stookalert, the RIVM calls on people not to burn wood. This can prevent health problems in people in the area.
## Configuration {% include integrations/config_flow.md %}
To enable the platform, add the following lines to your `configuration.yaml` file:
```yaml
binary_sensor:
- platform: stookalert
province: YOUR_NL_PROVINCE
```
{% configuration %}
province:
description: A province to use for the binary sensor's state. Currently only provinces in the Netherlands are supported. Valid values are `Drenthe`, `Flevoland`, `Friesland`, `Gelderland`, `Groningen`, `Limburg`, `Noord-Brabant`, `Noord-Holland`, `Overijssel`, `Utrecht`, `Zeeland` or `Zuid-Holland`.
required: true
type: string
name:
description: The sensor name to use in the frontend.
required: false
default: "Stookalert"
type: string
{% endconfiguration %}

View File

@ -65,6 +65,10 @@ device:
required: false required: false
type: map type: map
keys: keys:
configuration_url:
description: 'A link to the webpage that can manage the configuration of this device. Can be either an HTTP or HTTPS link.'
required: false
type: string
connections: connections:
description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": [["mac", "02:5b:26:a8:dc:12"]]`.' description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": [["mac", "02:5b:26:a8:dc:12"]]`.'
required: false required: false
@ -102,6 +106,11 @@ enabled_by_default:
required: false required: false
type: boolean type: boolean
default: true default: true
entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
default: None
icon: icon:
description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity." description: "[Icon](/docs/configuration/customizing-devices/#icon) for the entity."
required: false required: false

View File

@ -40,6 +40,10 @@ name:
required: false required: false
type: string type: string
default: REST Switch default: REST Switch
device_class:
description: Sets the [class of the device](/integrations/switch/#device-class), changing the device state and icon that is displayed on the frontend.
required: false
type: string
timeout: timeout:
description: Timeout for the request. description: Timeout for the request.
required: false required: false

View File

@ -41,6 +41,10 @@ This integration provides the following sensors:
| Name | Description | | Name | Description |
| ---------------------- | --------------------------------------------------- | | ---------------------- | --------------------------------------------------- |
| Battery | Battery level of the device | | Battery | Battery level of the device |
| Displays Connected | Number of displays connected |
| Display Resolution X | Display resolution (across) |
| Display Resolution Y | Display resolution (down) |
| Display Refresh Rate | Display refresh rate |
| CPU Speed | The current CPU speed | | CPU Speed | The current CPU speed |
| Filesystem(s) | Space used for each drive letter / filesystem mount | | Filesystem(s) | Space used for each drive letter / filesystem mount |
| GPU Memory Free | GPU memory free in GB | | GPU Memory Free | GPU memory free in GB |

View File

@ -29,6 +29,10 @@ device:
required: true required: true
type: map type: map
keys: keys:
configuration_url:
description: 'A link to the webpage that can manage the configuration of this device. Can be either an HTTP or HTTPS link.'
required: false
type: string
connections: connections:
description: "A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `'connections': ['mac', '02:5b:26:a8:dc:12']`." description: "A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `'connections': ['mac', '02:5b:26:a8:dc:12']`."
required: false required: false

View File

@ -147,10 +147,6 @@ binary_sensor:
required: false required: false
type: map type: map
keys: keys:
icon:
description: Defines a template for the icon of the sensor.
required: false
type: template
picture: picture:
description: Defines a template for the entity picture of the sensor. description: Defines a template for the entity picture of the sensor.
required: false required: false
@ -228,13 +224,17 @@ select:
type: map type: map
keys: keys:
name: name:
description: Defines a template to get the name of the sensor. description: Defines a template to get the name of the entity.
required: false required: false
type: template type: template
unique_id: 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. description: An ID that uniquely identifies this entity. 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 required: false
type: string type: string
icon:
description: Defines a template for the icon of the entity.
required: false
type: template
availability: availability:
description: Defines a template to get the `available` state of the entity. If the template either fails to render or returns either of `True`, `"1"`, `"true"`, `"yes"`, `"on"`, `"enable"` or a non-zero number, the entity is `available`. If the template returns any other value, the device will be `unavailable`. If not configured, the entity will always be `available`. Note that the string comparison not case sensitive; `"TrUe"` and `"yEs"` are allowed. description: Defines a template to get the `available` state of the entity. If the template either fails to render or returns either of `True`, `"1"`, `"true"`, `"yes"`, `"on"`, `"enable"` or a non-zero number, the entity is `available`. If the template returns any other value, the device will be `unavailable`. If not configured, the entity will always be `available`. Note that the string comparison not case sensitive; `"TrUe"` and `"yEs"` are allowed.
required: false required: false

View File

@ -10,8 +10,6 @@ ha_category:
ha_release: 0.56 ha_release: 0.56
ha_iot_class: Cloud Push ha_iot_class: Cloud Push
ha_config_flow: true ha_config_flow: true
ha_codeowners:
- '@frenck'
ha_domain: toon ha_domain: toon
ha_dhcp: true ha_dhcp: true
ha_platforms: ha_platforms:

View File

@ -10,10 +10,12 @@ ha_category:
- Light - Light
- Sensor - Sensor
- Switch - Switch
- Fan
ha_domain: tradfri ha_domain: tradfri
ha_homekit: true ha_homekit: true
ha_platforms: ha_platforms:
- cover - cover
- fan
- light - light
- sensor - sensor
- switch - switch
@ -80,4 +82,3 @@ Do not use the `api_key` variable in `configuration.yaml`. The API key is only n
## Known limitations ## Known limitations
- The TRÅDFRI Shortcut button, Remotes and motion sensor only send information about their battery status, no events, to Home Assistant and thus can't be used to automate with. If you want to automate with these devices, you need to use something like [ZHA](/integrations/zha/). - The TRÅDFRI Shortcut button, Remotes and motion sensor only send information about their battery status, no events, to Home Assistant and thus can't be used to automate with. If you want to automate with these devices, you need to use something like [ZHA](/integrations/zha/).

View File

@ -2,11 +2,20 @@
title: Tuya title: Tuya
description: Instructions on how to set up the Tuya hub within Home Assistant. description: Instructions on how to set up the Tuya hub within Home Assistant.
ha_category: ha_category:
- Binary Sensor
- Camera
- Climate - Climate
- Cover
- Doorbell
- Fan - Fan
- Humidifier
- Light - Light
- Number
- Scene - Scene
- Select
- Siren
- Switch - Switch
- Vacuum
ha_iot_class: Cloud Push ha_iot_class: Cloud Push
ha_release: 0.74 ha_release: 0.74
ha_config_flow: true ha_config_flow: true
@ -15,32 +24,36 @@ ha_codeowners:
- '@Tuya' - '@Tuya'
- '@zlinoliver' - '@zlinoliver'
- '@METISU' - '@METISU'
- '@tsutsuku' - '@frenck'
ha_platforms: ha_platforms:
- binary_sensor
- camera
- climate - climate
- cover
- fan - fan
- humidifier
- light - light
- number
- scene - scene
- sensor
- select
- siren
- switch - switch
- vacuum
ha_dhcp: true
--- ---
The Tuya integration allows integrating all Powered by Tuya devices you have added to the Tuya Smart and Tuya Smart Life apps. This integration is officially maintained by Tuya. The Tuya integration integrates all Powered by Tuya devices you have added to the Tuya Smart and Tuya Smart Life apps. Tuya officially maintains this integration.
## Supported platforms All Home Assistant platforms are supported by the Tuya integration, except the lock and remote platform.
- **Climate**: air conditioner, heater, thermostat.
- **Fan**: fan, air purifier, humidifier, dehumidifier.
- **Light**: light, light strip, ambient light, light string, humidifier's light, ceiling light.
- **Scene**: smart scene.
- **Switch**: switch, socket, power strip, smart kettle, breaker, pet water feeder, air purifier, diffuser.
## Configuration of the Tuya IoT Platform ## Configuration of the Tuya IoT Platform
### Prerequisites ### Prerequisites
- Your devices need to first be added in the [Tuya Smart or Smart Life app](https://developer.tuya.com/en/docs/iot/tuya-smart-app-smart-life-app-advantages?id=K989rqa49rluq#title-1-Download). - Your devices need first to be added in the [Tuya Smart or Smart Life app](https://developer.tuya.com/en/docs/iot/tuya-smart-app-smart-life-app-advantages?id=K989rqa49rluq#title-1-Download).
- You will also need to create an account in the [Tuya IoT Platform](https://iot.tuya.com/). - You will also need to create an account in the [Tuya IoT Platform](https://iot.tuya.com/).
This is a separate account to the one you made for the app. You cannot log in with your app's credentials. This is a separate account from the one you made for the app. You cannot log in with your app's credentials.
### Create a project ### Create a project
@ -49,7 +62,7 @@ This is a separate account to the one you made for the app. You cannot log in wi
3. On the page that appears, click `Create Cloud Project`. 3. On the page that appears, click `Create Cloud Project`.
4. In the `Create Cloud Project` dialog box, configure `Project Name`, `Description`, `Industry`, and `Data Center`. For the `Development Method` field, select `Smart Home` from the dropdown list. For the `Data Center` field, select the zone you are located in. 4. In the `Create Cloud Project` dialog box, configure `Project Name`, `Description`, `Industry`, and `Data Center`. For the `Development Method` field, select `Smart Home` from the dropdown list. For the `Data Center` field, select the zone you are located in.
![](/images/integrations/tuya/image_001.png) ![](/images/integrations/tuya/image_001.png)
5. Click `Create` to continue with project configuration. 5. Click `Create` to continue with the project configuration.
6. In Configuration Wizard, make sure you add `Device Status Notification` API. The list of API should look like this: 6. In Configuration Wizard, make sure you add `Device Status Notification` API. The list of API should look like this:
![](/images/integrations/tuya/image_002.png) ![](/images/integrations/tuya/image_002.png)
7. Click `Authorize`. 7. Click `Authorize`.

View File

@ -64,6 +64,14 @@ If Home Assistant and the UniFi controller are running on separate machines or V
## Services ## Services
### Service unifi.reconnect_client
Try to get a wireless client to reconnect to the network.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | --------------------------------------------------------------------------- |
| `device_id` | No | String representing a device ID related to a UniFi integration. |
### Service unifi.remove_clients ### Service unifi.remove_clients
Clean up clients on the UniFi Controller that has only been associated with the controller for a short period of time. The difference between first seen and last seen needs to be less than 15 minutes and the client can not have a fixed IP, hostname or name associated with it. Clean up clients on the UniFi Controller that has only been associated with the controller for a short period of time. The difference between first seen and last seen needs to be less than 15 minutes and the client can not have a fixed IP, hostname or name associated with it.

View File

@ -70,6 +70,10 @@ tariffs:
type: list type: list
{% endconfiguration %} {% endconfiguration %}
<p class='note warning'>
When using the `offset` configuration parameter, the defined period must not be longer then 28 days.
</p>
### Time period dictionary example ### Time period dictionary example
```yaml ```yaml

View File

@ -98,6 +98,11 @@ enabled_by_default:
required: false required: false
type: boolean type: boolean
default: true default: true
entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
required: false
type: string
default: None
error_template: error_template:
description: Defines a [template](/topics/templating/) to define potential error messages emitted by the vacuum. This is required if `error_topic` is set. description: Defines a [template](/topics/templating/) to define potential error messages emitted by the vacuum. This is required if `error_topic` is set.
required: false required: false
@ -337,6 +342,10 @@ device:
required: false required: false
type: map type: map
keys: keys:
configuration_url:
description: 'A link to the webpage that can manage the configuration of this device. Can be either an HTTP or HTTPS link.'
required: false
type: string
connections: connections:
description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": [["mac", "02:5b:26:a8:dc:12"]]`.' description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": [["mac", "02:5b:26:a8:dc:12"]]`.'
required: false required: false

View File

@ -8,6 +8,9 @@ ha_iot_class: Local Polling
ha_domain: venstar ha_domain: venstar
ha_platforms: ha_platforms:
- climate - climate
ha_codeowners:
- '@garbled1'
ha_config_flow: true
--- ---
The `venstar` climate platform allows you to control [Venstar](https://www.venstar.com/) thermostats from Home Assistant. The `venstar` climate platform allows you to control [Venstar](https://www.venstar.com/) thermostats from Home Assistant.
@ -36,16 +39,9 @@ Note - Please ensure that you update your thermostat to the latest firmware. Ini
Local API mode needs to be enabled via the thermostat's *Menu > WiFi > Local API Options > Local API - ON* Local API mode needs to be enabled via the thermostat's *Menu > WiFi > Local API Options > Local API - ON*
To set it up, add the following information to your `configuration.yaml` file: {% include integrations/config_flow.md %}
```yaml {% configuration_basic %}
# Example configuration.yaml entry
climate:
- platform: venstar
host: IP_OR_HOSTNAME_OF_THERMOSTAT
```
{% configuration %}
host: host:
description: Address of your thermostat, e.g., 192.168.1.32. description: Address of your thermostat, e.g., 192.168.1.32.
required: true required: true
@ -77,19 +73,4 @@ humidifier:
required: false required: false
type: boolean type: boolean
default: true default: true
{% endconfiguration %} {% endconfiguration_basic %}
## Full configuration sample
```yaml
# Example configuration.yaml entry
climate:
- platform: venstar
host: IP_OR_HOSTNAME_OF_THERMOSTAT
ssl: true
username: OPTIONAL_AUTH_USER_HERE
password: OPTIONAL_AUTH_PASS_HERE
pin: LOCKSCREEN_PIN
timeout: 5
humidifier: false
```

View File

@ -65,10 +65,6 @@ name:
required: false required: false
default: ViCare default: ViCare
type: string type: string
circuit:
description: Heating circuit of your heating device if multiple exist
required: false
type: integer
heating_type: heating_type:
description: One of `generic`, `gas`, `heatpump` or `fuelcell`. 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
@ -81,8 +77,7 @@ scan_interval:
type: integer type: integer
{% endconfiguration %} {% endconfiguration %}
Two components will be created: `climate.vicare_heating` and `water_heater.vicare_water` (for domestic hot water). Multiple device instances might be generated depending on the number of burners and/or circuits of your installation. If there is more than a single instance all devices are suffixed with the circuit or burner ID.
Unless you specify a `circuit` parameter, it will pick up the first heating circuit of your installation.
## Viessmann API limits ## Viessmann API limits
@ -136,7 +131,7 @@ Set the mode for the climate device as defined by Viessmann (see [set_hvac_mode]
| Service data attribute | Optional | Description | | Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- | | ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. To target all entities, use `all` keyword instead of entity_id. | `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. To target all entities, use `all` keyword instead of entity_id.
| `vicare_mode` | no | New value of ViCare mode, one of: "dhw", "dhwAndHeating", "dhwAndHeatingCooling", "forcedReduced", "forcedNormal" or "standby" | `vicare_mode` | no | New value of ViCare mode. For supported values see the `vicare_modes` attribute of the climate entity.
#### Service `set_preset_mode` #### Service `set_preset_mode`

View File

@ -8,6 +8,8 @@ ha_iot_class: Local Polling
ha_codeowners: ha_codeowners:
- '@rodripf' - '@rodripf'
- '@dmcc' - '@dmcc'
- '@MartinHjelmare'
ha_config_flow: true
ha_domain: vlc_telnet ha_domain: vlc_telnet
ha_platforms: ha_platforms:
- media_player - media_player
@ -15,39 +17,6 @@ ha_platforms:
The `vlc_telnet` platform allows you to control a [VLC media player](https://www.videolan.org/vlc/index.html) using the built in telnet interface. The `vlc_telnet` platform allows you to control a [VLC media player](https://www.videolan.org/vlc/index.html) using the built in telnet interface.
To add a VLC media player to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
media_player:
- platform: vlc_telnet
host: IP_ADDRESS
password: PASSWORD
```
{% configuration %}
name:
default: VLC-TELNET
description: The name to use in the frontend.
required: false
type: string
password:
description: The password to control the VLC through the telnet interface.
required: true
type: string
host:
description: The hostname or IP address where the VLC Player is running.
required: true
type: string
port:
default: 4212
description: The port number where the VLC Player is running.
required: false
type: integer
{% endconfiguration %}
Only the "music" media type is supported for now.
This service will control any instance of VLC player on the network with the telnet interface activated. This service will control any instance of VLC player on the network with the telnet interface activated.
To activate the telnet interface on your VLC Player please read the [official VLC documentation](https://wiki.videolan.org/Documentation:Modules/telnet/). Also remember to add a firewall rule allowing inbound connections for the port used in the device running VLC. To activate the telnet interface on your VLC Player please read the [official VLC documentation](https://wiki.videolan.org/Documentation:Modules/telnet/). Also remember to add a firewall rule allowing inbound connections for the port used in the device running VLC.
@ -55,21 +24,13 @@ In case the VLC is running on a host with a locale other than English, you may g
This is related to the different use of the decimal separator in other countries. This is related to the different use of the decimal separator in other countries.
Consider to set the locale to `en_US` before starting VLC. Consider to set the locale to `en_US` before starting VLC.
## Full configuration {% include integrations/config_flow.md %}
A full configuration for VLC could look like the one below: ## Services
```yaml When using the `media_player.play_media` service, only the "music" media type is supported for now.
# Example configuration.yaml entry
media_player:
- platform: vlc_telnet
name: Remote Player
host: 192.168.1.48
port: 4212
password: your-secure-password
```
## Home Assistant Add-on ## Home Assistant Add-on
You can run a VLC Media Player on your Home Assistant installation using the a community provided [add-on](https://github.com/rodripf/hassio-local-vlc). You can run a VLC Media Player on your Home Assistant installation using the official [VLC add-on](https://github.com/home-assistant/addons/blob/master/vlc/DOCS.md).
Using it you can play files on the local network, Internet or files and playlist locally saved to the `/share` folder of your Home Assistant installation. Using it you can play files on the local network, Internet or files and playlist locally saved to the `/share` and `/media` folder of your Home Assistant installation.

View File

@ -7,6 +7,7 @@ ha_release: 2021.6
ha_iot_class: Cloud Polling ha_iot_class: Cloud Polling
ha_domain: wallbox ha_domain: wallbox
ha_platforms: ha_platforms:
- number
- sensor - sensor
ha_config_flow: true ha_config_flow: true
ha_codeowners: ha_codeowners:
@ -32,3 +33,12 @@ The integration adds the following sensors:
- Max Available Power - Max Available Power
- State of Charge - State of Charge
- Status Description - Status Description
- Max Charging Current
## Number
The integration adds the following number entity:
- Max Charging Current
The number entity is only loaded if the supplied username has sufficient rights to change the Max. Charging Current.

View File

@ -106,3 +106,13 @@ Say with break:
Watson Watson
</speak> </speak>
``` ```
Optionally, specify a voice for the message:
```yaml
- service: tts.watson_tts_say
data:
message: "Hello from Watson"
options:
voice: en-US_EmilyV3Voice
```

View File

@ -1,689 +0,0 @@
---
title: Wink
description: Instructions on how to set up the Wink hub within Home Assistant.
ha_category:
- Hub
- Alarm
- Binary Sensor
- Climate
- Cover
- Fan
- Light
- Lock
- Scene
- Sensor
- Switch
- Water Heater
featured: false
ha_iot_class: Cloud Polling
ha_release: pre 0.7
ha_domain: wink
ha_platforms:
- alarm_control_panel
- binary_sensor
- climate
- cover
- fan
- light
- lock
- scene
- sensor
- switch
- water_heater
---
[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.
</blockquote>
Home Assistant integrates with the Wink API and automatically sets up any switches, lights, locks, fans, climate devices (thermostats, air conditioners, and water heaters), covers, sensors, alarms, and sirens.
There is currently support for the following device types within Home Assistant:
- [Alarm](#alarm-control-panel)
- [Binary Sensor](#binary-sensor)
- [Climate](#climate)
- [Cover](#cover)
- [Fan](#fan)
- [Light](#light)
- [Lock](#lock)
- Scene
- [Sensor](#sensor)
- [Switch](#switch)
- [Water heater](#water-heater)
## Authenticate using [developer.wink.com](https://developer.wink.com)
You need to set up a developer account with Wink. This process can take a few days to get approved.
Wink requests three pieces of information from the user when they sign up for a developer account.
1. `Name:` This can be anything, for example, "Home Assistant"
2. `Website:` The external address of your Home Assistant instance. If not externally accessible you can use your email address.
3. `Redirect URI:` This should be `http://192.168.1.5:8123/auth/wink/callback` replacing the IP with the internal IP of your Home Assistant box.
No settings are required in the `configuration.yaml` other than `wink:`.
After adding `wink:` to your `configuration.yaml` and restarting Home Assistant you will see a persistent notification on the frontend with a `CONFIGURE` button that will guide you through the setup via the frontend configurator.
<div class='note'>
When using the configurator make sure the initial setup is performed on the same local network as the Home Assistant instance, if not from the same box Home Assistant is running on. This will allow for authentication redirects to happen correctly.
</div>
```yaml
wink:
```
## Full oauth authentication (legacy)
This should be used for users that obtained their client_id and client_secret via email from Wink support prior to [developer.wink.com's](https://developer.wink.com) existence.
```yaml
wink:
email: YOUR_WINK_EMAIL_ADDRESS
password: YOUR_WINK_PASSWORD
client_id: YOUR_WINK_CLIENT_ID
client_secret: YOUR_WINK_CLIENT_SECRET
```
Please pay attention that the required entries are only needed for legacy OAuth access.
{% configuration %}
email:
description: Your Wink login email address.
required: true
type: string
password:
description: Your Wink login password.
required: true
type: string
client_id:
description: Your provided Wink `client_id`.
required: true
type: string
client_secret:
description: Your provided Wink `client_secret`.
required: true
type: string
local_control:
description: If set to `true` state changes for lights, locks and switches will be issued to the local hub.
required: false
type: boolean
default: false
{% endconfiguration %}
Local control:
- Wink's local control API isn't officially documented and therefore could be broken by a hub update. For these reasons `local_control` defaults to `false`.
- Using local control doesn't appear to make commands any quicker, but does function in an internet/Wink outage.
- Local control is also only available for the Wink hub v1 and v2, not the Wink relay.
- Local control isn't used during the start-up of Home Assistant; this means initial setup requires an active internet connection.
- Local control requests are first sent to the controlling hub. If a request fails, that request will attempt to go online.
<div class='note'>
It is possible for the hub to get into a bad state where it stops accepting local control request. If this happens, you will notice requests taking significantly longer as they are redirected online. This doesn't happen often, but when it does, it appears to be resolved by rebooting the hub.
The following error will be logged if the hub is rejecting local requests.
```txt
Error sending local control request. Sending request online
```
</div>
## Service `refresh_state_from_wink`
The Wink integration only obtains the device states from the Wink API once, during startup. All updates after that are pushed via a third party called PubNub. On rare occasions where an update isn't pushed device states can be out of sync.
You can use the service wink/refresh_state_from_wink to pull the most recent state from the Wink API for all devices. If `local_control` is set to `true` states will be pulled from the devices controlling hub, not the online API.
## Service `pull_newly_added_devices_from_wink`
You can use the service wink/add_new_devices to pull any newly paired Wink devices to an already running instance of Home Assistant. Any new devices will also be added if Home Assistant is restarted.
## Service `delete_wink_device`
You can use the service wink/delete_wink_device to remove/unpair a device from Wink.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------------------------------------- |
| `entity_id` | no | String that points at the `entity_id` of device to delete. |
## Service `pair_new_device`
You can use the service wink/pair_new_device to pair a new device to your Wink hub/relay
| Service data attribute | Optional | Description |
| ---------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `hub_name` | no | The name of the hub to pair a new device to. |
| `pairing_mode` | no | One of the following [zigbee, zwave, zwave_exclusion, zwave_network_rediscovery, lutron, bluetooth, kidde] |
| `kidde_radio_code` | conditional | A string of 8 1s and 0s one for each dip switch on the kidde device left --> right = 1 --> 8 (Required if pairing_mode = kidde) |
<div class='note'>
Calling service wink/pull_newly_added_wink_devices after a device is paired will add that new device to Home Assistant. The device will also show up on the next restart of Home Assistant.
</div>
## Service `rename_wink_device`
You can use the service wink/rename_wink_device to change the name of a device.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------------------------------------- |
| `entity_id` | no | String that points at the `entity_id` of device to rename. |
| `name` | no | The name to change it to. |
<div class='note'>
Home Assistant entity_ids for Wink devices are based on the Wink device's name. Calling this service will not change the entity_id of the device until Home Assistant is restarted.
</div>
<div class='note'>
The Wink hub, by default, can only be accessed via the cloud. This means it requires an active internet connection and you will experience delays when controlling and updating devices (~3s).
</div>
## Custom Wink devices and their services
- GoControl siren and strobe
- Dome siren/chime/strobe
- Quirky Nimbus (Legacy device) These can no longer be officially added to your Wink account
### Service `set_siren_auto_shutoff`
You can use the service wink/set_siren_auto_shutoff to set how long the siren will sound before shutting off.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------ |
| `auto_shutoff` | no | Int. One of [None, -1, 30, 60, 120] (None and -1 are forever. Use None for gocontrol, and -1 for Dome) |
| `entity_id` | yes | String or list of strings that point at `entity_id`s of siren. |
Example:
```yaml
script:
set_all_sirens_to_one_minute_auto_shutoff:
sequence:
- service: wink.set_siren_auto_shutoff
data:
auto_shutoff: 60
```
<div class='note'>
The following services only work with the Dome siren/chime.
</div>
### Service `set_chime_volume`
You can use the service wink/set_chime_volume to set the volume for the chime on your Dome siren/chime.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------------------------ |
| `volume` | no | String. One of ["low", "medium", "high"] |
| `entity_id` | yes | String or list of strings that point at `entity_id`s of the siren/chime. |
Example:
```yaml
script:
set_chime_volume_to_low_for_all_chimes
sequence:
- service: wink.set_chime_volume
data:
volume: "low"
```
### Service `set_siren_volume`
You can use the service wink/set_chime_volume to set the volume for the chime on your Dome siren/chime.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | -------------------------------------------------------------------- |
| `volume` | no | String. One of ["low", "medium", "high"] |
| `entity_id` | yes | String or list of strings that point at `entity_id`s of siren/chime. |
Example:
```yaml
script:
set_siren_volume_to_low_for_all_sirens
sequence:
- service: wink.set_siren_volume
data:
volume: "low"
```
### Service `enable_chime`
You can use the service wink/enable_chime to set the tone and enable the chime on your Dome siren/chime.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `tone` | no | String. One of ["doorbell", "fur_elise", "doorbell_extended", "alert", "william_tell", "rondo_alla_turca", "police_siren", "evacuation", "beep_beep", "beep", "inactive"] |
| `entity_id` | yes | String or list of strings that point at `entity_id`s of siren/chime. |
Example:
```yaml
script:
execute_doorbell
sequence:
- service: wink.enable_chime
data:
tone: "doorbell"
```
### Service `set_siren_tone`
You can use the service wink/set_siren_tone to set the tone on your Dome siren. This tone will be used the next time the siren is executed.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `tone` | no | String. One of ["doorbell", "fur_elise", "doorbell_extended", "alert", "william_tell", "rondo_alla_turca", "police_siren", "evacuation", "beep_beep", "beep"] |
| `entity_id` | yes | String or list of strings that point at `entity_id`s of siren/chime. |
Example:
```yaml
script:
set_siren_to_alert:
sequence:
- service: wink.set_siren_tone
data:
tone: "alert"
```
### Service `set_siren_strobe_enabled`
You can use the service wink/set_siren_strobe_enabled to enable or disable the strobe when the siren is executed.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | -------------------------------------------------------------------- |
| `enabled` | no | Boolean. True or False. |
| `entity_id` | yes | String or list of strings that point at `entity_id`s of siren/chime. |
Example:
```yaml
script:
disable_siren_strobe:
sequence:
- service: wink.set_siren_strobe_enabled
data:
enabled: false
```
### Service `set_chime_strobe_enabled`
You can use the service wink/set_chime_strobe_enabled to enable or disable the strobe when the chime is executed.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | -------------------------------------------------------------------- |
| `enabled` | no | Boolean. True or False. |
| `entity_id` | yes | String or list of strings that point at `entity_id`s of chime/chime. |
Example:
```yaml
script:
disable_chime_strobe:
sequence:
- service: wink.set_chime_strobe_enabled
data:
enabled: false
```
### Service `set_nimbus_dial_state`
You can use the service wink/set_nimbus_dial_state to update an individual dial's value/position and its labels
| Service data attribute | Optional | Description |
| ---------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | no | String or list of strings that point at `entity_id`s of chime/chime. |
| `value` | no | A number, should be between the dials min and max value (See set_nimbus_dial_configuration below) |
| `labels` | yes | A list of strings the first being the value set on the dial's face and the second being the value on the dial face when the Nimbus is pressed |
Example:
```yaml
script:
set_dial_1_value:
sequence:
- service: wink.set_nimbus_dial_state
target:
entity_id: wink.nimbus_dial_1
data:
value: 150
labels:
- "Dial 1"
- "150"
```
### Service `set_nimbus_dial_configuration`
You can use the service wink/set_nimbus_dial_configuration to update an individual dial's configuration.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------------------------------- |
| `entity_id` | no | String or list of strings that point at `entity_id`s of chime/chime. |
| `rotation` | yes | One of "cw" or "ccw" the direction the dial hand should rotate. |
| `ticks` | yes | A positive number, the number of times the hand should move. |
| `scale` | yes | One of "linear" or "log" How the dial should move in response to higher values. |
| `min_value` | yes | A number, the minimum value that the dial can have. |
| `max_value` | yes | A number, the maximum value that the dial can have. |
| `min_position` | yes | A number generally [0-360], the minimum position for the dial's hand. |
| `max_value` | yes | A number generally [0-360], the maximum position for the dial's hand. |
Example:
```yaml
script:
set_dial_1_value:
sequence:
- service: wink.set_nimbus_dial_state
target:
entity_id: wink.nimbus_dial_1
data:
rotation: "ccw"
```
## Alarm Control Panel
The Wink alarm platform allows you to control your [Wink](https://www.wink.com/) Canary all-in-one security camera.
The requirement is that you have setup [Wink](/integrations/wink/) from above.
### Supported devices
- Canary all-in-one security camera
<div class='note'>
The above devices are confirmed to work, but others may work as well.
</div>
## Binary Sensor
The Wink binary sensor platform allows you to get data from your [Wink](https://www.wink.com/) binary sensors.
The requirement is that you have setup [Wink](/integrations/wink/) from above.
### Supported Binary sensor devices
- Smoke and CO detectors (No Wink hub required for Nest)
- Window/Door sensors
- Motion sensors
- Ring Door bells (No hub required)
- Liquid presence sensors
- Z-Wave lock key codes
- Lutron connected bulb remote buttons
- Wink Relay buttons and presence detection
- Wink spotter loudness and vibration (No Wink hub required)
- Wink hub devices connection status. This includes any paired hubs like Hue, Wink v1, Wink v2, Wink Relay...
- Dropcam sensors
<div class='note'>
The above devices are confirmed to work, but others may work as well.
</div>
## Climate
The Wink climate platform allows you to get data from your [Wink](https://www.wink.com/) thermostats and air conditioners.
The requirement is that you have setup [Wink](/integrations/wink/) from above.
### Supported climate devices
- Nest (No Wink hub required)
- Ecobee (No Wink hub required)
- Sensi (No Wink hub required)
- Carrier (Unconfirmed)
- Honeywell (No Wink hub required)
- Generic Z-Wave
- Quirky Aros window AC unit
<div class='note'>
The above devices are confirmed to work, but others may work as well.
</div>
## Cover
Wink Cover garage door functionality varies on the product. Home Assistant can open, close, and view state of GoControl/Linear openers. For Chamberlain MyQ-enabled openers, Home Assistant is limited to show current state (open or closed) only using this Wink cover. This restriction was imposed by Chamberlain for third party control. Wink suggests that MyQ customers should contact Chamberlain directly to inquire about expanding permissions.
The [MyQ Cover](/integrations/myq) does provide full functionality for opening and closing Chamberlain MyQ-enabled garage doors. If installed along with the Wink Component, a duplicate garage door entity may exist.
The requirement is that you have setup [Wink](/integrations/wink/) from above.
### Supported cover devices
- Bali window treatments
- Lutron shades
- Pella motorized blinds and shades
- GoControl garage door opener
- Chamberlain MyQ (Limited functionality) (No Wink hub required)
<div class='note'>
The above devices are confirmed to work, but others may work as well.
</div>
## Fan
The Wink fan platform allows you to control your [Wink](https://www.wink.com/) fans.
The requirement is that you have setup [Wink](/integrations/wink/) from above.
### Supported fan devices
- Home Decorator Wink-enabled Gardinier ceiling fan
- Hampton Bay ceiling fan module
<div class='note'>
The above devices are confirmed to work, but others may work as well.
</div>
## Light
The `wink` light platform allows you to use your [Wink](https://www.wink.com/) lights.
The requirement is that you have setup [Wink](/integrations/wink/) from above.
### Supported light devices
- Z-Wave switches with dimming
- Hue
- Lightify
- GE link
- Wink light groups (User created groups of lights)
<div class='note'>
The above devices are confirmed to work, but others may work as well.
</div>
## Lock
The Wink lock platform allows you to control your [Wink](https://www.wink.com/) locks.
The requirement is that you have setup [Wink](/integrations/wink/) from above.
### Supported lock devices
- Kwikset
- Schlage
- August (No Wink hub required) (August Connect required)
- Generic Z-Wave
<div class='note'>
The following services have only been confirmed on Schlage locks.
</div>
### Service `set_lock_alarm_mode`
You can use the service wink/set_lock_alarm_mode to set the alarm mode of your lock.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | -------------------------------------------------------------- |
| `mode` | no | String one of tamper, activity, or forced_entry |
| `entity_id` | yes | String or list of strings that point at `entity_id`s of locks. |
Example:
```yaml
script:
set_locks_to_tamper:
sequence:
- service: wink.set_lock_alarm_mode
data:
mode: "tamper"
```
### Service `set_lock_alarm_sensitivity`
You can use the service wink/set_lock_alarm_sensitivity to set the alarm sensitivity of your lock.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | -------------------------------------------------------------- |
| `sensitivity` | no | String one of low, medium_low, medium, medium_high, high. |
| `entity_id` | yes | String or list of strings that point at `entity_id`s of locks. |
Example:
```yaml
script:
set_locks_to_high_sensitivity:
sequence:
- service: wink.set_lock_alarm_sensitivity
data:
sensitivity: "high"
```
### Service `set_lock_alarm_state`
You can use the service wink/set_lock_alarm_state to set the alarm state of your lock.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | -------------------------------------------------------------- |
| `enabled` | no | Boolean enabled or disabled, true or false | | |
| `entity_id` | yes | String or list of strings that point at `entity_id`s of locks. | | |
Example:
```yaml
script:
disable_all_locks_alarm:
sequence:
- service: wink.set_lock_alarm_state
data:
enabled: false
```
### Service `set_lock_beeper_state`
You can use the service wink/set_lock_beeper_state to set the beeper state of your lock.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | -------------------------------------------------------------- |
| `enabled` | no | Boolean enabled or disabled, true or false | |
| `entity_id` | yes | String or list of strings that point at `entity_id`s of locks. | |
Example:
```yaml
script:
disable_all_locks_beepers:
sequence:
- service: wink.set_lock_beeper_state
data:
enabled: false
```
### Service `set_lock_vacation_mode`
You can use the service wink/set_lock_vacation_mode to set the vacation mode of your lock.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | -------------------------------------------------------------- |
| `enabled` | no | Boolean enabled or disabled, true or false |
| `entity_id` | yes | String or list of strings that point at `entity_id`s of locks. |
Example:
```yaml
script:
enabled_vacation_mode_on_all_locks:
sequence:
- service: wink.set_lock_vacation_mode
data:
enabled: false
```
### Service `add_new_lock_key_code`
You can use the service wink/add_new_lock_key_code to add a new user code to your Wink lock.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | -------------------------------------------------------------- |
| `entity_id` | no | String or list of strings that point at `entity_id`s of locks. |
| `name` | no | the name of the new key code |
| `code` | no | The new code. Must match length of existing codes. |
<div class='note'>
Calling service wink/pull_newly_added_wink_devices will add the new key code to Home Assistant. The device will also show up on the next restart of Home Assistant.
</div>
<div class='note'>
If supported by your lock, a binary sensor will be created for each user key code you have defined. These key codes will turn on when the code is entered and automatically turn off after a few seconds.
</div>
## Sensor
The Wink sensor platform allows you to get data from your [Wink](https://www.wink.com/) sensors.
The requirement is that you have setup [Wink](/integrations/wink/) from above.
### Supported sensor devices
- Wink Relay temperature, proximity, and humidity
- Wink Spotter temperature, humidity, and brightness (No Wink hub required)
- Wink Porkfolio balance (No Wink hub required)
- Wink eggminder (No Wink hub required)
- Nest protect Smoke and CO severity (No confirmation that this is actually reported) (No Wink hub required)
- Motion sensor temperature
- Quirky refuel propane tank monitor (No Wink hub required)
<div class='note'>
The above devices are confirmed to work, but others may work as well.
</div>
## Switch
The Wink switch platform allows you to control your [Wink](https://www.wink.com/) switches.
The requirement is that you have set up [Wink](/integrations/wink/) from above.
## Supported switch devices
- Wink Pivot power genius (No Wink hub required)
- non-dimming Z-Wave in-wall switches (dimming switches show up as lights)
- Wink Relay load controlling switches
- Rachio sprinkler controller (No Wink hub required)
- iHome smart plug (No Wink hub required)
- Wink switch groups (User created groups of switches)
## Water heater
The Wink water heater platform allows you to get data from your [Wink](https://www.wink.com/) Water Heaters.
The requirement is that you have set up [Wink](/integrations/wink/) from above.
## Supported water heaters
- Rheem Econet water heaters (No Wink hub required)
<div class='note'>
Wink water heaters use to live under the `climate` platform prior to release 0.81.
</div>

View File

@ -15,6 +15,7 @@ ha_domain: wled
ha_zeroconf: true ha_zeroconf: true
ha_platforms: ha_platforms:
- light - light
- number
- sensor - sensor
- select - select
- switch - switch
@ -53,7 +54,9 @@ If WLED has 2 or more segments, each segment gets its own light entity in
Home Assistant. Additionally, a master light entity is created. This master Home Assistant. Additionally, a master light entity is created. This master
entity controls the strip power and overall brightness applied to all segments. entity controls the strip power and overall brightness applied to all segments.
## Selects Additionally, select and number entities described below will be created for each segment.
## Select Entities
This integration provides selects for the following information from WLED: This integration provides selects for the following information from WLED:
@ -61,7 +64,14 @@ This integration provides selects for the following information from WLED:
- Preset - Preset
- Color palette (per segment, disabled by default). - Color palette (per segment, disabled by default).
## Sensors ## Number Entities
This integration provides `number` entities to control the following, segment-specific settings:
- Intensity
- Speed
## Sensor Entities
This integration provides sensors for the following information from WLED: This integration provides sensors for the following information from WLED:

View File

@ -252,15 +252,16 @@ Favorite Level | Set the favorite level
- Sensor entities - Sensor entities
Sensor | Description Sensor | Description | Enabled by default
----------------------- | ----------------------- ----------------------- | ----------------------- | -----------------------
Filter Life Remaining | The remaining life of the filter Filter Life Remaining | The remaining life of the filter | True
Filter Use | Filter usage time in hours Filter Use | Filter usage time in hours | True
Humidity | The current humidity measured Humidity | The current humidity measured | True
Motor Speed | The current motor speed measured in rpm Motor Speed | The current motor speed measured in rpm | True
PM2.5 | The current particulate matter 2.5 measured PM2.5 | The current particulate matter 2.5 measured | True
Purify Volume | The volume of purified air in qubic meter Purify Volume | The volume of purified air in qubic meter | False
Temperature | The current temperature measured Temperature | The current temperature measured | True
Use Time | The accumulative number of seconds the device has been in use | False
- Switch entities - Switch entities
@ -292,17 +293,18 @@ Volume | Set the volume
- Sensor entities - Sensor entities
Sensor | Description Sensor | Description | Enabled by default
----------------------- | ----------------------- ----------------------- | ----------------------- | -----------------------
Filter Life Remaining | The remaining life of the filter Filter Life Remaining | The remaining life of the filter | True
Filter Use | Filter usage time in hours Filter Use | Filter usage time in hours | True
Humidity | The current humidity measured Humidity | The current humidity measured | True
Illuminance | The current illuminance measured Illuminance | The current illuminance measured | True
Motor Speed | The current motor speed measured in rpm Motor Speed | The current motor speed measured in rpm | True
PM2.5 | The current particulate matter 2.5 measured PM2.5 | The current particulate matter 2.5 measured | True
Purify Volume | The volume of purified air in qubic meter Purify Volume | The volume of purified air in qubic meter | False
Second Motor Speed | The current second motor speed measured in rpm Second Motor Speed | The current second motor speed measured in rpm | True
Temperature | The current temperature measured Temperature | The current temperature measured | True
Use Time | The accumulative number of seconds the device has been in use | False
- Switch entities - Switch entities
@ -329,16 +331,17 @@ Volume | Set the volume
- Sensor entities - Sensor entities
Sensor | Description Sensor | Description | Enabled by default
----------------------- | ----------------------- ----------------------- | ----------------------- | -----------------------
Filter Life Remaining | The remaining life of the filter Filter Life Remaining | The remaining life of the filter | True
Filter Use | Filter usage time in hours Filter Use | Filter usage time in hours | True
Humidity | The current humidity measured Humidity | The current humidity measured | True
Illuminance | The current illuminance measured Illuminance | The current illuminance measured | True
Motor Speed | The current motor speed measured in rpm Motor Speed | The current motor speed measured in rpm | True
PM2.5 | The current particulate matter 2.5 measured PM2.5 | The current particulate matter 2.5 measured | True
Second Motor Speed | The current second motor speed measured in rpm Second Motor Speed | The current second motor speed measured in rpm | True
Temperature | The current temperature measured Temperature | The current temperature measured | True
Use Time | The accumulative number of seconds the device has been in use | False
- Switch entities - Switch entities
@ -364,14 +367,15 @@ Favorite Level | Set the favorite level
- Sensor entities - Sensor entities
Sensor | Description Sensor | Description | Enabled by default
----------------------- | ----------------------- ----------------------- | ----------------------- | -----------------------
Filter Life Remaining | The remaining life of the filter Filter Life Remaining | The remaining life of the filter | True
Filter Use | Filter usage time in hours Filter Use | Filter usage time in hours | True
Humidity | The current humidity measured Humidity | The current humidity measured | True
Motor Speed | The current motor speed measured in rpm Motor Speed | The current motor speed measured in rpm | True
PM2.5 | The current particulate matter 2.5 measured PM2.5 | The current particulate matter 2.5 measured | True
Temperature | The current temperature measured Temperature | The current temperature measured | True
Use Time | The accumulative number of seconds the device has been in use | False
- Switch entities - Switch entities
@ -405,15 +409,16 @@ LED Brightness | Controls the brightness of the LEDs (bright, dim, off)
- Sensor entities - Sensor entities
Sensor | Description Sensor | Description | Enabled by default
----------------------- | ----------------------- ----------------------- | ----------------------- | -----------------------
Filter Life Remaining | The remaining life of the filter Filter Life Remaining | The remaining life of the filter | True
Filter Use | Filter usage time in hours Filter Use | Filter usage time in hours | True
Humidity | The current humidity measured Humidity | The current humidity measured | True
Motor Speed | The current motor speed measured in rpm Motor Speed | The current motor speed measured in rpm | True
PM2.5 | The current particulate matter 2.5 measured PM2.5 | The current particulate matter 2.5 measured | True
Purify Volume | The volume of purified air in qubic meter Purify Volume | The volume of purified air in qubic meter | False
Temperature | The current temperature measured Temperature | The current temperature measured | True
Use Time | The accumulative number of seconds the device has been in use | False
- Switch entities - Switch entities
@ -435,12 +440,12 @@ LED Brihtness | Set the LED brightness
- Sensor entities - Sensor entities
Sensor | Description Sensor | Description | Enabled by default
----------------------- | ----------------------- ----------------------- | ----------------------- | -----------------------
Filter Life Remaining | The remaining life of the filter Filter Life Remaining | The remaining life of the filter | True
Filter Use | Filter usage time in hours Filter Use | Filter usage time in hours | True
Motor Speed | The current motor speed measured in rpm Motor Speed | The current motor speed measured in rpm | True
PM2.5 | The current particulate matter 2.5 measured PM2.5 | The current particulate matter 2.5 measured | True
- Switch entities - Switch entities
@ -461,15 +466,16 @@ Child Lock | Turn on/off the child lock
- `button_pressed` - `button_pressed`
- Sensor entities - Sensor entities
Sensor | Description Sensor | Description | Enabled by default
----------------------- | ----------------------- ----------------------- | ----------------------- | -----------------------
PM2.5 | The current particulate matter 2.5 measured PM2.5 | The current particulate matter 2.5 measured | True
Illuminance | The current illuminance measured Illuminance | The current illuminance measured | True
Filter Life Remaining | The remaining life of the filter Filter Life Remaining | The remaining life of the filter | True
Filter Use | Filter usage time in hours Filter Use | Filter usage time in hours | True
Motor Speed | The current motor speed measured in rpm Motor Speed | The current motor speed measured in rpm | True
Second Motor Speed | The current second motor speed measured in rpm Second Motor Speed | The current second motor speed measured in rpm | True
Purify Volume | The volume of purified air in qubic meter Purify Volume | The volume of purified air in qubic meter | False
Use Time | The accumulative number of seconds the device has been in use | False
- Switch entities - Switch entities
@ -488,15 +494,16 @@ LED | Turn on/off the LED
- `extra_features` - `extra_features`
- Sensor entities - Sensor entities
Sensor | Description Sensor | Description | Enabled by default
----------------------- | ----------------------- ----------------------- | ----------------------- | -----------------------
Carbon Dioxide | The current carbon dioxide measured in ppm Carbon Dioxide | The current carbon dioxide measured in ppm | True
Filter Life Remaining | The remaining life of the filter Filter Life Remaining | The remaining life of the filter | True
Filter Use | Filter usage time in hours Filter Use | Filter usage time in hours | True
Humidity | The current humidity measured Humidity | The current humidity measured | True
Illuminance | The current illuminance measured Illuminance | The current illuminance measured | True
PM2.5 | The current particulate matter 2.5 measured PM2.5 | The current particulate matter 2.5 measured | True
Temperature | The current temperature measured Temperature | The current temperature measured | True
Use Time | The accumulative number of seconds the device has been in use | False
- Select entities - Select entities
@ -541,11 +548,12 @@ LED Brightness | Controls the brightness of the LEDs (bright, dim, off)
- Sensor entities - Sensor entities
Sensor | Description Sensor | Description | Enabled by default
----------------------- | ----------------------- ----------------------- | -------------------------------------------------------------- | ------------------
Humidity | The current humidity measured Humidity | The current humidity measured | True
Temperature | The current temperature measured Temperature | The current temperature measured | True
Water Level | The current water level percentage measured Use Time | The accumulative number of seconds the device has been in use | False
Water Level | The current water level percentage measured | True
- Switch entities - Switch entities
@ -583,11 +591,12 @@ LED Brightness | Controls the brightness of the LEDs (bright, dim, off)
- Sensor entities - Sensor entities
Sensor | Description Sensor | Description | Enabled by default
----------------------- | ----------------------- ----------------------- | -------------------------------------------------------------- | ------------------
Humidity | The current humidity measured Humidity | The current humidity measured | True
Temperature | The current temperature measured Temperature | The current temperature measured | True
Water Level | The current water level percentage measured Use Time | The accumulative number of seconds the device has been in use | False
Water Level | The current water level percentage measured | True
- Switch entities - Switch entities
@ -632,12 +641,13 @@ LED Brightness | Controls the brightness of the LEDs (bright, dim, off)
- Sensor entities - Sensor entities
Sensor | Description Sensor | Description | Enabled by default
----------------------- | ----------------------- ----------------------- | -------------------------------------------------------------- | ------------------
Actual Speed | The current motor speed measured in rpm Actual Speed | The current motor speed measured in rpm | True
Humidity | The current humidity measured Humidity | The current humidity measured | True
Temperature | The current temperature measured Temperature | The current temperature measured | True
Water Level | The current water level percentage measured Use Time | The accumulative number of seconds the device has been in use | False
Water Level | The current water level percentage measured | True
- Switch entities - Switch entities
@ -681,11 +691,12 @@ LED Brightness | Controls the brightness of the LEDs (bright, dim, off)
- Sensor entities - Sensor entities
Sensor | Description Sensor | Description | Enabled by default
----------------------- | ----------------------- ----------------------- | -------------------------------------------------------------- | ------------------
Humidity | The current humidity measured Humidity | The current humidity measured | True
Temperature | The current temperature measured Temperature | The current temperature measured | True
Water Level | The current water level percentage measured Use Time | The accumulative number of seconds the device has been in use | False
Water Level | The current water level percentage measured | True
- Switch entities - Switch entities
@ -719,10 +730,11 @@ Water Tank Empty | Indicates whether the water tank is empty or not
- Sensor entities - Sensor entities
Sensor | Description Sensor | Description | Enabled by default
----------------------- | ----------------------- ----------------------- | -------------------------------------------------------------- | ------------------
Humidity | The current humidity measured Humidity | The current humidity measured | True
Temperature | The current temperature measured Temperature | The current temperature measured | True
Use Time | The accumulative number of seconds the device has been in use | False
- Switch entities - Switch entities
@ -1363,41 +1375,53 @@ automation:
segments: [1, 1] segments: [1, 1]
``` ```
### Sensors
{% configuration_basic %}
DnD Start*:
description: The timestamp when the next DnD will start
DnD End*:
description: The timestamp when the current or next DnD will end
Total duration*:
description: The total cleaning duration in seconds
Total Clean Area*:
description: The total cleaning area in square meters
Total Clean Count*:
description: The total amount of times a clean cycle has been ran
Total Dust Collection Count*:
description: The total amount of dust that has been collected
Filter Left*:
description: How long the filter can be used in seconds
Main Brush Left*:
description: How long the main brush can be used in seconds
Sensor Dirty Left*:
description: How long the sensor can be used in seconds
Last Clean Area*:
description: The last cleaned area in square meters
Last Clean Duration*:
description: The last clean duration in seconds
Last Clean End*:
description: The last clean end time as a timestamp
Last Clean Start*:
description: The last clean start time as a timestamp
Mop Attached**:
description: If the mop is attached
Water Box Attached**:
description: If the watter box is attached
Water Shortage**:
description: If the water box is low on water
{% endconfiguration_basic %}
<div class="note">
* Needs to be manually enabled once the integration has been added. <br>
** Only enabled if the vacuum has a mop.
</div>
### Attributes ### Attributes
In addition to [all of the attributes provided by the `vacuum` component](/integrations/vacuum/#attributes), The vacuums from the `xiaomi` platform does not expose additional attributes other the ones provided by [the `vacuum` component](/integrations/vacuum/#attributes),
(`battery_icon`, `cleaned_area`, `fan_speed`, `fan_speed_list`, and `params`), the `xiaomi` platform introduces specific attributes. These are:
- `cleaning_time`
- `do_not_disturb`
- `main_brush_left`
- `side_brush_left`
- `filter_left`
- `sensor_dirty_left`
- `cleaning_count`
- `total_cleaned_area`
- `total_cleaning_time`
- `clean_start`
- `clean_end`
- `mop_attached`
The following table shows the units of measurement for each attribute:
| Attribute | Unit of measurement | Description |
|---------------------------|---------------------|----------------------------------------------------------------|
| `do_not_disturb` | | DND mode on / off |
| `cleaning_time` | minutes | Last / actual cleaning time in minutes |
| `cleaned_area` | square meter | Last / actual cleaned area in square meters |
| `main_brush_left` | hours | Hours left until a change of the main brush is needed |
| `side_brush_left` | hours | Hours left until a change of the side brush is needed |
| `filter_left` | hours | Hours left until a change of the filter is needed |
| `sensor_dirty_left` | hours | Hours left until the wall and cliff sensors should be cleaned |
| `cleaning_count` | | Number of total cleaning cycles |
| `total_cleaned_area` | square meter | Total cleaned area in square meters |
| `total_cleaning_time` | minutes | Total cleaning time in minutes |
| `clean_start` | datetime | The last date/time the vacuum started cleaning (offset naive) |
| `clean_stop` | datetime | The last date/time the vacuum finished cleaning (offset naive) |
| `mop_attached` | | A mop and water box are attached / not attached |
### Example on how to clean a specific room ### Example on how to clean a specific room

View File

@ -33,7 +33,7 @@ ha_platforms:
This integration is deprecated. We recommend using [the Z-Wave JS integration](/integrations/zwave_js). This integration is deprecated. We recommend using [the Z-Wave JS integration](/integrations/zwave_js).
The Z-Wave integration will no longer receive any updates. It will not be removed unless it becomes incompatible with a future version of Python. The Z-Wave integration will no longer receive any updates. The technical dependencies may render this integration unusable in the future at which time it may be removed.
</div> </div>

View File

@ -269,7 +269,7 @@ Calling this service forces Z-Wave JS to try to reach a node. This can be used t
| `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. | | `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. | | `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. This service can be used in tandem with the node status sensor 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.
```yaml ```yaml
trigger: trigger:
@ -493,16 +493,18 @@ You can keep track of the Roadmap for the Z-Wave JS integration [here](https://g
If you're new to Home Assistant, use Z-Wave JS. If you're new to Home Assistant, use Z-Wave JS.
The `zwave` integration has been marked as deprecated and will no longer receive any updates like new device files. The `ozw` integration will receive new device files if they are provided by upstream. The `zwave` and `ozw` integrations have been marked as deprecated and will no longer receive any updates.
It is perfectly doable to switch over from one of the above mentioned previous integrations to the new Z-Wave JS integration. The good news is that your entire Z-Wave network is **stored on your stick** so you will not have to run through your house to recreate your network. It is perfectly doable to switch over from one of the above mentioned previous integrations to the new Z-Wave JS integration. The good news is that your entire Z-Wave network is **stored on your stick** so you will not have to run through your house to recreate your network.
If you are currently running the [`zwave`](/integrations/zwave/) or [`ozw`](/integrations/ozw/) Z-Wave integration and it works fine, there is **no need to switch over at this time** to Z-Wave JS. What is important to know is that all development focus currently goes to Z-Wave JS. The previous implementations are provided as-is. They will **NOT be removed** without proper notice but in time there *might* come technical dependencies that render one or both of those integrations unusable. If you are currently running the [`zwave`](/integrations/zwave/) or [`ozw`](/integrations/ozw/) Z-Wave integration we recommend you to migrate to Z-Wave JS. All development focus now goes to Z-Wave JS. The previous implementations are provided as-is. They will not be removed without proper notice but in time there might come technical dependencies that render one or both of those integrations unusable.
### Automatic migration wizard ### Automatic migration wizard
For the `zwave` integration there is a migration wizard that will help you set up the Z-Wave JS integration, remove the `zwave` integration and migrate the entities and devices that can be mapped from the `zwave` integration to the Z-Wave JS integration. Some entities may not be able to migrate automatically and you will need to rename the corresponding available Z-Wave JS entities manually, after the migration. Before completing the migration you will be shown a list of entities that could not be migrated automatically, and you'll have the option to abort or continue with the migration. The migration wizard is available from the `zwave` integration configuration panel in the GUI. For the `zwave` integration there is a migration wizard that will help you set up the Z-Wave JS integration, remove the `zwave` integration and migrate the entities and devices that can be mapped from the `zwave` integration to the Z-Wave JS integration. Some entities may not be able to migrate automatically and you will need to rename the corresponding available Z-Wave JS entities manually, after the migration. Before completing the migration you will be shown a list of entities that could not be migrated automatically, and you'll have the option to abort or continue with the migration. The migration wizard is available from the `zwave` integration configuration panel in the GUI.
There is no automatic migration wizard for the `ozw` integration. Please follow the manual migration path below if you want to migrate from `ozw` to Z-Wave JS.
### In a nutshell this is what the migration path looks like ### In a nutshell this is what the migration path looks like
1) Make a **backup** of your Home Assistant configuration. If you're running the supervisor this is very easy to do by creating a backup. You should do this so you'll be able to quickly revert if you may run into unexpected problems. 1) Make a **backup** of your Home Assistant configuration. If you're running the supervisor this is very easy to do by creating a backup. You should do this so you'll be able to quickly revert if you may run into unexpected problems.

File diff suppressed because it is too large Load Diff

View File

@ -111,7 +111,6 @@
/components/alarm_control_panel.spc /integrations/spc /components/alarm_control_panel.spc /integrations/spc
/components/alarm_control_panel.totalconnect /integrations/totalconnect /components/alarm_control_panel.totalconnect /integrations/totalconnect
/components/alarm_control_panel.verisure /integrations/verisure#alarm-control-panel /components/alarm_control_panel.verisure /integrations/verisure#alarm-control-panel
/components/alarm_control_panel.wink /integrations/wink#alarm-control-panel
/components/alarm_control_panel.yale_smart_alarm /integrations/yale_smart_alarm /components/alarm_control_panel.yale_smart_alarm /integrations/yale_smart_alarm
/components/apiai /integrations/dialogflow /components/apiai /integrations/dialogflow
/components/binary_sensor.abode /integrations/abode#binary-sensor /components/binary_sensor.abode /integrations/abode#binary-sensor
@ -207,7 +206,6 @@
/components/binary_sensor.vultr /integrations/vultr#binary-sensor /components/binary_sensor.vultr /integrations/vultr#binary-sensor
/components/binary_sensor.w800rf32 /integrations/w800rf32#binary-sensor /components/binary_sensor.w800rf32 /integrations/w800rf32#binary-sensor
/components/binary_sensor.wemo /integrations/wemo /components/binary_sensor.wemo /integrations/wemo
/components/binary_sensor.wink /integrations/wink#binary-sensor
/components/binary_sensor.wirelesstag /integrations/wirelesstag#binary-sensor /components/binary_sensor.wirelesstag /integrations/wirelesstag#binary-sensor
/components/binary_sensor.workday /integrations/workday /components/binary_sensor.workday /integrations/workday
/components/binary_sensor.zha /integrations/zha /components/binary_sensor.zha /integrations/zha
@ -290,7 +288,6 @@
/components/climate.velbus /integrations/velbus /components/climate.velbus /integrations/velbus
/components/climate.venstar /integrations/venstar /components/climate.venstar /integrations/venstar
/components/climate.vera /integrations/vera /components/climate.vera /integrations/vera
/components/climate.wink /integrations/wink#climate
/components/climate.xs1 /integrations/xs1 /components/climate.xs1 /integrations/xs1
/components/climate.zhong_hong /integrations/zhong_hong /components/climate.zhong_hong /integrations/zhong_hong
/components/climate.zwave /integrations/zwave#climate /components/climate.zwave /integrations/zwave#climate
@ -322,7 +319,6 @@
/components/cover.tuya /integrations/tuya /components/cover.tuya /integrations/tuya
/components/cover.velux /integrations/velux /components/cover.velux /integrations/velux
/components/cover.vera /integrations/vera /components/cover.vera /integrations/vera
/components/cover.wink /integrations/wink#cover
/components/cover.zwave /integrations/zwave#cover /components/cover.zwave /integrations/zwave#cover
/components/cppm /integrations/cppm_tracker /components/cppm /integrations/cppm_tracker
/components/device_tracker.actiontec /integrations/actiontec /components/device_tracker.actiontec /integrations/actiontec
@ -344,7 +340,6 @@
/components/device_tracker.gpslogger /integrations/gpslogger /components/device_tracker.gpslogger /integrations/gpslogger
/components/device_tracker.hitron_coda /integrations/hitron_coda /components/device_tracker.hitron_coda /integrations/hitron_coda
/components/device_tracker.huawei_lte /integrations/huawei_lte /components/device_tracker.huawei_lte /integrations/huawei_lte
/components/device_tracker.huawei_router /integrations/huawei_router
/components/device_tracker.icloud /integrations/icloud /components/device_tracker.icloud /integrations/icloud
/components/device_tracker.keenetic_ndms2 /integrations/keenetic_ndms2 /components/device_tracker.keenetic_ndms2 /integrations/keenetic_ndms2
/components/device_tracker.linksys_ap /integrations/linksys_ap /components/device_tracker.linksys_ap /integrations/linksys_ap
@ -386,7 +381,6 @@
/components/fan.smartthings /integrations/smartthings#fan /components/fan.smartthings /integrations/smartthings#fan
/components/fan.tuya /integrations/tuya /components/fan.tuya /integrations/tuya
/components/fan.wemo /integrations/wemo#fan /components/fan.wemo /integrations/wemo#fan
/components/fan.wink /integrations/wink#fan
/components/fan.zha /integrations/zha /components/fan.zha /integrations/zha
/components/fan.zwave /integrations/zwave /components/fan.zwave /integrations/zwave
/components/generic /integrations/generic /components/generic /integrations/generic
@ -468,7 +462,6 @@
/components/light.tuya /integrations/tuya /components/light.tuya /integrations/tuya
/components/light.vera /integrations/vera /components/light.vera /integrations/vera
/components/light.wemo /integrations/wemo /components/light.wemo /integrations/wemo
/components/light.wink /integrations/wink#light
/components/light.x10 /integrations/x10 /components/light.x10 /integrations/x10
/components/light.yeelight /integrations/yeelight /components/light.yeelight /integrations/yeelight
/components/light.yeelightsunflower /integrations/yeelightsunflower /components/light.yeelightsunflower /integrations/yeelightsunflower
@ -483,7 +476,6 @@
/components/lock.homematic /integrations/homematic /components/lock.homematic /integrations/homematic
/components/lock.isy994 /integrations/isy994 /components/lock.isy994 /integrations/isy994
/components/lock.kiwi /integrations/kiwi /components/lock.kiwi /integrations/kiwi
/components/lock.nello /integrations/nello
/components/lock.nuki /integrations/nuki /components/lock.nuki /integrations/nuki
/components/lock.sesame /integrations/sesame /components/lock.sesame /integrations/sesame
/components/lock.smartthings /integrations/smartthings#lock /components/lock.smartthings /integrations/smartthings#lock
@ -491,7 +483,6 @@
/components/lock.vera /integrations/vera /components/lock.vera /integrations/vera
/components/lock.verisure /integrations/verisure /components/lock.verisure /integrations/verisure
/components/lock.volvooncall /integrations/volvooncall /components/lock.volvooncall /integrations/volvooncall
/components/lock.wink /integrations/wink#lock
/components/lock.zwave /integrations/zwave#lock /components/lock.zwave /integrations/zwave#lock
/components/mailbox.asterisk_cdr /integrations/asterisk_cdr /components/mailbox.asterisk_cdr /integrations/asterisk_cdr
/components/mailbox.asterisk_mbox /integrations/asterisk_mbox /components/mailbox.asterisk_mbox /integrations/asterisk_mbox
@ -629,7 +620,6 @@
/components/scene.tuya /integrations/tuya /components/scene.tuya /integrations/tuya
/components/scene.velux /integrations/velux /components/scene.velux /integrations/velux
/components/scene.vera /integrations/vera /components/scene.vera /integrations/vera
/components/scene.wink /integrations/wink
/components/sensor.abode /integrations/abode /components/sensor.abode /integrations/abode
/components/sensor.ads /integrations/ads#sensor /components/sensor.ads /integrations/ads#sensor
/components/sensor.aftership /integrations/aftership /components/sensor.aftership /integrations/aftership
@ -768,7 +758,6 @@
/components/sensor.loop_energy /integrations/loopenergy /components/sensor.loop_energy /integrations/loopenergy
/components/sensor.loopenergy /integrations/loopenergy /components/sensor.loopenergy /integrations/loopenergy
/components/sensor.luftdaten /integrations/luftdaten#sensor /components/sensor.luftdaten /integrations/luftdaten#sensor
/components/sensor.lyft /integrations/lyft
/components/sensor.magicseaweed /integrations/magicseaweed /components/sensor.magicseaweed /integrations/magicseaweed
/components/sensor.meteo_france /integrations/meteo_france /components/sensor.meteo_france /integrations/meteo_france
/components/sensor.mfi /integrations/mfi#sensor /components/sensor.mfi /integrations/mfi#sensor
@ -912,7 +901,6 @@
/components/sensor.waterfurnace /integrations/waterfurnace /components/sensor.waterfurnace /integrations/waterfurnace
/components/sensor.waze_travel_time /integrations/waze_travel_time /components/sensor.waze_travel_time /integrations/waze_travel_time
/components/sensor.whois /integrations/whois /components/sensor.whois /integrations/whois
/components/sensor.wink /integrations/wink#sensor
/components/sensor.wirelesstag /integrations/wirelesstag#sensor /components/sensor.wirelesstag /integrations/wirelesstag#sensor
/components/sensor.worldclock /integrations/worldclock /components/sensor.worldclock /integrations/worldclock
/components/sensor.worldtidesinfo /integrations/worldtidesinfo /components/sensor.worldtidesinfo /integrations/worldtidesinfo
@ -1036,7 +1024,6 @@
/components/switch.vultr /integrations/vultr#switch /components/switch.vultr /integrations/vultr#switch
/components/switch.wake_on_lan /integrations/wake_on_lan#switch /components/switch.wake_on_lan /integrations/wake_on_lan#switch
/components/switch.wemo /integrations/wemo /components/switch.wemo /integrations/wemo
/components/switch.wink /integrations/wink#switch
/components/switch.wirelesstag /integrations/wirelesstag#switch /components/switch.wirelesstag /integrations/wirelesstag#switch
/components/switch.xs1 /integrations/xs1 /components/switch.xs1 /integrations/xs1
/components/switch.zha /integrations/zha /components/switch.zha /integrations/zha
@ -1060,7 +1047,6 @@
/components/vacuum.roomba /integrations/roomba /components/vacuum.roomba /integrations/roomba
/components/vlc-telnet /integrations/vlc_telnet /components/vlc-telnet /integrations/vlc_telnet
/components/water_heater.econet /integrations/econet /components/water_heater.econet /integrations/econet
/components/water_heater.wink /integrations/wink#water-heater
/components/weather.buienradar /integrations/buienradar /components/weather.buienradar /integrations/buienradar
/components/weather.ecobee /integrations/ecobee /components/weather.ecobee /integrations/ecobee
/components/weather.ipma /integrations/ipma /components/weather.ipma /integrations/ipma
@ -1429,7 +1415,6 @@
/components/http /integrations/http /components/http /integrations/http
/components/htu21d /integrations/htu21d /components/htu21d /integrations/htu21d
/components/huawei_lte /integrations/huawei_lte /components/huawei_lte /integrations/huawei_lte
/components/huawei_router /integrations/huawei_router
/components/hue /integrations/hue /components/hue /integrations/hue
/components/hunterdouglas_powerview /integrations/hunterdouglas_powerview /components/hunterdouglas_powerview /integrations/hunterdouglas_powerview
/components/hydrawise /integrations/hydrawise /components/hydrawise /integrations/hydrawise
@ -1529,7 +1514,6 @@
/components/lutron /integrations/lutron /components/lutron /integrations/lutron
/components/lutron_caseta /integrations/lutron_caseta /components/lutron_caseta /integrations/lutron_caseta
/components/lw12wifi /integrations/lw12wifi /components/lw12wifi /integrations/lw12wifi
/components/lyft /integrations/lyft
/components/magicseaweed /integrations/magicseaweed /components/magicseaweed /integrations/magicseaweed
/components/mailbox /integrations/mailbox /components/mailbox /integrations/mailbox
/components/mailgun /integrations/mailgun /components/mailgun /integrations/mailgun
@ -1590,7 +1574,6 @@
/components/nanoleaf /integrations/nanoleaf /components/nanoleaf /integrations/nanoleaf
/components/neato /integrations/neato /components/neato /integrations/neato
/components/nederlandse_spoorwegen /integrations/nederlandse_spoorwegen /components/nederlandse_spoorwegen /integrations/nederlandse_spoorwegen
/components/nello /integrations/nello
/components/ness_alarm /integrations/ness_alarm /components/ness_alarm /integrations/ness_alarm
/components/nest /integrations/nest /components/nest /integrations/nest
/components/netatmo /integrations/netatmo /components/netatmo /integrations/netatmo
@ -1967,7 +1950,6 @@
/components/websocket_api /integrations/websocket_api /components/websocket_api /integrations/websocket_api
/components/wemo /integrations/wemo /components/wemo /integrations/wemo
/components/whois /integrations/whois /components/whois /integrations/whois
/components/wink /integrations/wink
/components/wirelesstag /integrations/wirelesstag /components/wirelesstag /integrations/wirelesstag
/components/withings /integrations/withings /components/withings /integrations/withings
/components/workday /integrations/workday /components/workday /integrations/workday
@ -2239,6 +2221,8 @@
/components/device_tracker.ubee /more-info/removed-integration 301 /components/device_tracker.ubee /more-info/removed-integration 301
/components/device_tracker.xfinity /more-info/removed-integration 301 /components/device_tracker.xfinity /more-info/removed-integration 301
/components/edp_redy /more-info/removed-integration 301 /components/edp_redy /more-info/removed-integration 301
/components/essent /more-info/removed-integration 301
/integrations/essent /more-info/removed-integration 301
/components/fedex /more-info/removed-integration 301 /components/fedex /more-info/removed-integration 301
/components/fortigate /more-info/removed-integration 301 /components/fortigate /more-info/removed-integration 301
/components/history_graph /more-info/removed-integration 301 /components/history_graph /more-info/removed-integration 301
@ -2343,3 +2327,25 @@
/components/device_tracker.trackr /more-info/removed-integration 301 /components/device_tracker.trackr /more-info/removed-integration 301
/components/trackr /more-info/removed-integration 301 /components/trackr /more-info/removed-integration 301
/integrations/trackr /more-info/removed-integration 301 /integrations/trackr /more-info/removed-integration 301
/components/alarm_control_panel.wink /more-info/removed-integration 301
/components/binary_sensor.wink /more-info/removed-integration 301
/components/climate.wink /more-info/removed-integration 301
/components/cover.wink /more-info/removed-integration 301
/components/fan.wink /more-info/removed-integration 301
/components/light.wink /more-info/removed-integration 301
/components/lock.wink /more-info/removed-integration 301
/components/scene.wink /more-info/removed-integration 301
/components/sensor.wink /more-info/removed-integration 301
/components/switch.wink /more-info/removed-integration 301
/components/water_heater.wink /more-info/removed-integration 301
/components/wink /more-info/removed-integration 301
/integrations/wink /more-info/removed-integration 301
/components/lyft /more-info/removed-integration 301
/components/sensor.lyft /more-info/removed-integration 301
/integrations/lyft /more-info/removed-integration 301
/components/lock.nello /more-info/removed-integration 301
/components/nello /more-info/removed-integration 301
/integrations/nello /more-info/removed-integration 301
/components/device_tracker.huawei_router /more-info/removed-integration 301
/integrations/huawei_router /more-info/removed-integration 301

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 578 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB