Merge branch 'rc' into current

This commit is contained in:
Franck Nijhof 2023-10-04 19:56:41 +02:00
commit 01c065ebe1
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
85 changed files with 3093 additions and 465 deletions

View File

@ -22,7 +22,8 @@ source/_integrations/airly.markdown @bieniu
source/_integrations/airnow.markdown @asymworks
source/_integrations/airq.markdown @Sibgatulin @dl2080
source/_integrations/airthings.markdown @danielhiversen
source/_integrations/airthings_ble.markdown @vincegio
source/_integrations/airthings_ble.markdown @vincegio @LaStrada
source/_integrations/airtouch4.markdown @samsinnamon
source/_integrations/airvisual.markdown @bachya
source/_integrations/airvisual_pro.markdown @bachya
source/_integrations/airzone.markdown @Noltari
@ -120,6 +121,7 @@ source/_integrations/cisco_webex_teams.markdown @fbradyirl
source/_integrations/climate.markdown @home-assistant/core
source/_integrations/cloud.markdown @home-assistant/cloud
source/_integrations/cloudflare.markdown @ludeeus @ctalkington
source/_integrations/co2signal.markdown @jpbede
source/_integrations/coinbase.markdown @tombrien
source/_integrations/color_extractor.markdown @GenericStudent
source/_integrations/comed.markdown @tronikos
@ -180,6 +182,7 @@ source/_integrations/dwd_weather_warnings.markdown @runningman84 @stephan192 @an
source/_integrations/dynalite.markdown @ziv1234
source/_integrations/easyenergy.markdown @klaasnicolaas
source/_integrations/ecobee.markdown @marthoc @marcolivierarsenault
source/_integrations/ecoforest.markdown @pjanuario
source/_integrations/econet.markdown @vangorra @w1ll1am23
source/_integrations/ecovacs.markdown @OverloadUT @mib1185
source/_integrations/ecowitt.markdown @pvizeli
@ -201,6 +204,7 @@ source/_integrations/energie_vanons.markdown @klaasnicolaas
source/_integrations/energy.markdown @home-assistant/core
source/_integrations/energyzero.markdown @klaasnicolaas
source/_integrations/enigma2.markdown @fbradyirl
source/_integrations/enmax.markdown @tronikos
source/_integrations/enocean.markdown @bdurrer
source/_integrations/enphase_envoy.markdown @bdraco @cgarwood @dgomes @joostlek
source/_integrations/entur_public_transport.markdown @hfurubotten
@ -212,7 +216,7 @@ source/_integrations/epsonworkforce.markdown @ThaStealth
source/_integrations/eq3btsmart.markdown @rytilahti
source/_integrations/escea.markdown @lazdavila
source/_integrations/esera_onewire.markdown @garbled1 @epenet
source/_integrations/esphome.markdown @OttoWinter @jesserockz @bdraco
source/_integrations/esphome.markdown @OttoWinter @jesserockz @kbx81 @bdraco
source/_integrations/eufylife_ble.markdown @bdr99
source/_integrations/event.markdown @home-assistant/core
source/_integrations/evergy.markdown @tronikos
@ -230,6 +234,7 @@ source/_integrations/filter.markdown @dgomes
source/_integrations/fire_tv.markdown @JeffLIrion @ollo69
source/_integrations/fireservicerota.markdown @cyberjunky
source/_integrations/firmata.markdown @DaAwesomeP
source/_integrations/fitbit.markdown @allenporter
source/_integrations/fivem.markdown @Sander0542
source/_integrations/fjaraskupan.markdown @elupus
source/_integrations/flexom.markdown @imicknl @vlebourl @tetienne @nyroDev
@ -237,7 +242,7 @@ source/_integrations/flick_electric.markdown @ZephireNZ
source/_integrations/flipr.markdown @cnico
source/_integrations/flo.markdown @dmulcahey
source/_integrations/flume.markdown @ChrisMandich @bdraco @jeeftor
source/_integrations/flux_led.markdown @icemanch @bdraco
source/_integrations/flux_led.markdown @icemanch
source/_integrations/forecast_solar.markdown @klaasnicolaas @frenck
source/_integrations/forked_daapd.markdown @uvjustin
source/_integrations/fortios.markdown @kimfrellsen
@ -307,6 +312,7 @@ source/_integrations/home_connect.markdown @DavidMStraub
source/_integrations/home_plus_control.markdown @chemaaa
source/_integrations/homeassistant.markdown @home-assistant/core
source/_integrations/homeassistant_alerts.markdown @home-assistant/core
source/_integrations/homeassistant_green.markdown @home-assistant/core
source/_integrations/homeassistant_hardware.markdown @home-assistant/core
source/_integrations/homeassistant_sky_connect.markdown @home-assistant/core
source/_integrations/homeassistant_yellow.markdown @home-assistant/core
@ -330,6 +336,7 @@ source/_integrations/iammeter.markdown @lewei50
source/_integrations/iaqualink.markdown @flz
source/_integrations/ibeacon.markdown @bdraco
source/_integrations/icloud.markdown @Quentame @nzapponi
source/_integrations/idasen_desk.markdown @abmantis
source/_integrations/ign_sismologia.markdown @exxamalte
source/_integrations/image.markdown @home-assistant/core
source/_integrations/image_processing.markdown @home-assistant/core
@ -396,7 +403,6 @@ source/_integrations/leviton_z_wave.markdown @home-assistant/z-wave
source/_integrations/lg_netcast.markdown @Drafteed
source/_integrations/lidarr.markdown @tkdrob
source/_integrations/life360.markdown @pnbruckner
source/_integrations/lifx.markdown @bdraco
source/_integrations/light.markdown @home-assistant/core
source/_integrations/linux_battery.markdown @fabaff
source/_integrations/litejet.markdown @joncar
@ -408,6 +414,7 @@ source/_integrations/lock.markdown @home-assistant/core
source/_integrations/logbook.markdown @home-assistant/core
source/_integrations/logger.markdown @home-assistant/core
source/_integrations/logi_circle.markdown @evanjd
source/_integrations/london_underground.markdown @jpbede
source/_integrations/lookin.markdown @ANMalko @bdraco
source/_integrations/loqed.markdown @mikewoudenberg
source/_integrations/luci.markdown @mzdrale
@ -420,9 +427,11 @@ source/_integrations/lyric.markdown @timmo001
source/_integrations/marantz.markdown @ol-iver @starkillerOG
source/_integrations/martec.markdown @starkillerOG
source/_integrations/mastodon.markdown @fabaff
source/_integrations/matrix.markdown @PaarthShah
source/_integrations/matter.markdown @home-assistant/matter
source/_integrations/mazda.markdown @bdr99
source/_integrations/meater.markdown @Sotolotl @emontnemery
source/_integrations/medcom_ble.markdown @elafargue
source/_integrations/media_extractor.markdown @joostlek
source/_integrations/media_player.markdown @home-assistant/core
source/_integrations/media_source.markdown @hunterjm
@ -444,7 +453,7 @@ source/_integrations/minecraft_server.markdown @elmurato
source/_integrations/minio.markdown @tkislan
source/_integrations/moat.markdown @bdraco
source/_integrations/mobile_app.markdown @home-assistant/core
source/_integrations/modbus.markdown @adamchengtkc @janiversen @vzahradnik
source/_integrations/modbus.markdown @janiversen
source/_integrations/modem_callerid.markdown @tkdrob
source/_integrations/modern_forms.markdown @wonderslug
source/_integrations/moehlenhoff_alpha2.markdown @j-a-n
@ -459,7 +468,7 @@ source/_integrations/msteams.markdown @peroyvind
source/_integrations/mullvad.markdown @meichthys
source/_integrations/mutesync.markdown @currentoor
source/_integrations/my.markdown @home-assistant/core
source/_integrations/myq.markdown @ehendrix23
source/_integrations/myq.markdown @ehendrix23 @Lash-L
source/_integrations/mysensors.markdown @MartinHjelmare @functionpointer
source/_integrations/mystrom.markdown @fabaff
source/_integrations/nam.markdown @bieniu
@ -550,6 +559,7 @@ source/_integrations/plum_lightpad.markdown @ColinHarrington @prystupa
source/_integrations/point.markdown @fredrike
source/_integrations/poolsense.markdown @haemishkyd
source/_integrations/powerwall.markdown @bdraco @jrester @daniel-simpson
source/_integrations/private_ble_device.markdown @Jc2k
source/_integrations/profiler.markdown @bdraco
source/_integrations/progettihwsw.markdown @ardaseremet
source/_integrations/prometheus.markdown @knyar
@ -610,7 +620,7 @@ source/_integrations/roon.markdown @pavoni
source/_integrations/rpi_power.markdown @shenxn @swetoast
source/_integrations/rss_feed_template.markdown @home-assistant/core
source/_integrations/rtsp_to_webrtc.markdown @allenporter
source/_integrations/ruckus_unleashed.markdown @gabe565 @lanrat
source/_integrations/ruckus_unleashed.markdown @lanrat @ms264556 @gabe565
source/_integrations/ruuvi_gateway.markdown @akx
source/_integrations/ruuvitag_ble.markdown @akx
source/_integrations/rympro.markdown @OnFreund @elad-bar @maorcc
@ -657,7 +667,7 @@ source/_integrations/siren.markdown @home-assistant/core @raman325
source/_integrations/sisyphus.markdown @jkeljo
source/_integrations/sky_hub.markdown @rogerselwyn
source/_integrations/skybell.markdown @tkdrob
source/_integrations/slack.markdown @tkdrob
source/_integrations/slack.markdown @tkdrob @fletcherau
source/_integrations/sleepiq.markdown @mfugate1 @kbickar
source/_integrations/slide.markdown @ualex73
source/_integrations/slimproto.markdown @marcelveldt
@ -688,7 +698,7 @@ source/_integrations/spaceapi.markdown @fabaff
source/_integrations/speedtestdotnet.markdown @rohankapoorcom @engrbm87
source/_integrations/spider.markdown @peternijssen
source/_integrations/splunk.markdown @Bre77
source/_integrations/spotify.markdown @frenck
source/_integrations/spotify.markdown @frenck @joostlek
source/_integrations/sql.markdown @gjohansson-ST @dougiteixeira
source/_integrations/squeezebox.markdown @rajlaud
source/_integrations/srp_energy.markdown @briglx
@ -713,6 +723,7 @@ source/_integrations/switch.markdown @home-assistant/core
source/_integrations/switch_as_x.markdown @home-assistant/core
source/_integrations/switchbee.markdown @jafar-atili
source/_integrations/switchbot.markdown @danielhiversen @RenierM26 @murtas @Eloston @dsypniewski
source/_integrations/switchbot_cloud.markdown @SeraphicRav
source/_integrations/switcher_kis.markdown @thecode
source/_integrations/switchmate.markdown @danielhiversen @qiz-li
source/_integrations/symfonisk.markdown @cgtobi @jjlawren
@ -757,10 +768,11 @@ source/_integrations/trafikverket_ferry.markdown @gjohansson-ST
source/_integrations/trafikverket_train.markdown @endor-force @gjohansson-ST
source/_integrations/trafikverket_weatherstation.markdown @endor-force @gjohansson-ST
source/_integrations/transmission.markdown @engrbm87 @JPHutchins
source/_integrations/trend.markdown @jpbede
source/_integrations/tts.markdown @home-assistant/core @pvizeli
source/_integrations/tuya.markdown @Tuya @zlinoliver @frenck
source/_integrations/twentemilieu.markdown @frenck
source/_integrations/twinkly.markdown @dr1rrb @Robbie1221
source/_integrations/twinkly.markdown @dr1rrb @Robbie1221 @Olen
source/_integrations/twitch.markdown @joostlek
source/_integrations/ubiwizz.markdown @imicknl @vlebourl @tetienne @nyroDev
source/_integrations/ukraine_alarm.markdown @PaulAnnekov
@ -782,10 +794,10 @@ source/_integrations/vacuum.markdown @home-assistant/core
source/_integrations/vallox.markdown @andre-richter @slovdahl @viiru-
source/_integrations/velbus.markdown @Cereal2nd @brefra
source/_integrations/velux.markdown @Julius2342
source/_integrations/venstar.markdown @garbled1
source/_integrations/verisure.markdown @frenck @niro1987
source/_integrations/venstar.markdown @garbled1 @jhollowe
source/_integrations/verisure.markdown @frenck
source/_integrations/vermont_castings.markdown @jeeftor
source/_integrations/versasense.markdown @flamm3blemuff1n
source/_integrations/versasense.markdown @imstevenxyz
source/_integrations/version.markdown @ludeeus
source/_integrations/vesync.markdown @markperdue @webdjoe @thegardenmonkey
source/_integrations/vilfo.markdown @ManneW
@ -800,12 +812,13 @@ source/_integrations/volvooncall.markdown @molobrakos
source/_integrations/vulcan.markdown @Antoni-Czaplicki
source/_integrations/wake_on_lan.markdown @ntilley905
source/_integrations/wallbox.markdown @hesselonline
source/_integrations/waqi.markdown @andrey-git
source/_integrations/waqi.markdown @joostlek
source/_integrations/water_heater.markdown @home-assistant/core
source/_integrations/watson_tts.markdown @rutkai
source/_integrations/watttime.markdown @bachya
source/_integrations/waze_travel_time.markdown @eifinger
source/_integrations/weather.markdown @home-assistant/core
source/_integrations/weatherkit.markdown @tjhorner
source/_integrations/webhook.markdown @home-assistant/core
source/_integrations/webostv.markdown @thecode
source/_integrations/websocket_api.markdown @home-assistant/core
@ -816,7 +829,7 @@ source/_integrations/whois.markdown @frenck
source/_integrations/wiffi.markdown @mampfes
source/_integrations/wilight.markdown @leofig-rj
source/_integrations/wirelesstag.markdown @sergeymaysak
source/_integrations/withings.markdown @vangorra
source/_integrations/withings.markdown @vangorra @joostlek
source/_integrations/wiz.markdown @sbidy
source/_integrations/wled.markdown @frenck
source/_integrations/wolflink.markdown @adamkrol93

View File

@ -109,9 +109,9 @@ social:
# Home Assistant release details
current_major_version: 2023
current_minor_version: 9
current_patch_version: 3
date_released: 2023-09-24
current_minor_version: 10
current_patch_version: 0
date_released: 2023-10-04
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.

View File

@ -27,7 +27,7 @@ type:
type: string
entities:
required: true
description: List of entity IDs. Either this or the `geo_location_sources` configuration option is required.
description: List of entity IDs or `entity` objects (see below). Either this or the `geo_location_sources` configuration option is required.
type: list
geo_location_sources:
required: true
@ -75,6 +75,31 @@ hours_to_show:
</div>
## Options For Entities
If you define entities as objects instead of strings (by adding `entity:` before entity ID), you can add more customization and configuration.
{% configuration %}
entity:
required: true
description: Entity ID.
type: string
name:
required: false
description: Replace the default label for the marker.
type: string
label_mode:
required: false
default: name
description: When set to `state`, renders the entity's state as the label for the map marker instead of the entity's name. This option doesn't apply to [zone](/integrations/zone/) entities because they don't use a label but an icon.
type: string
focus:
required: false
default: true
description: When set to `false`, this entity will not be considered for determining the default zoom or fit of the map.
type: boolean
{% endconfiguration %}
## Examples
```yaml
@ -99,5 +124,8 @@ entities:
type: map
entities:
- device_tracker.demo_paulus
- entity: sensor.gas_station_gas_price
label_mode: state
focus: false
hours_to_show: 48
```

View File

@ -52,6 +52,11 @@ aspect_ratio:
required: false
description: 'Forces the height of the image to be a ratio of the width. Valid formats: Height percentage value (`23%`) or ratio expressed with colon or "x" separator (`16:9` or `16x9`). For a ratio, the second element can be omitted and will default to "1" (`1.78` equals `1.78:1`).'
type: string
fit_mode:
required: false
description: 'Defines the manner in which the image is stretched/clipped to fit the card area. `cover`: The image keeps its aspect ratio and fills the given dimension. The image will be clipped to fit. `contain`: The image keeps its aspect ratio, but is resized to fit within the given dimension. `fill`: The image is resized to fill the given dimension. If necessary, the image will be stretched or squished to fit.'
type: string
default: cover
name:
required: false
description: Overwrite entity name.

View File

@ -9,6 +9,7 @@ ha_domain: aftership
ha_platforms:
- sensor
ha_integration_type: integration
ha_config_flow: true
---
The `aftership` platform allows one to track deliveries by [AfterShip](https://www.aftership.com), a service that supports 490+ couriers worldwide. To use the tracking API functionality, the Essentials plan is required. This plan includes 100 shipments per month. There are various paid-for tiers after that.
@ -23,27 +24,7 @@ To use this sensor, you need an [AfterShip Account](https://accounts.aftership.c
AfterShip recently removed the tracking API functionality from the Forever Free plan. The tracking API functionality requires at least the Essentials plan.
</div>
## Configuration
To enable this sensor, add the following lines to your `configuration.yaml`:
```yaml
sensor:
- platform: aftership
api_key: AFTERSHIP_APIKEY
```
{% configuration %}
name:
description: The sensor name to use in the frontend.
required: false
default: "aftership"
type: string
api_key:
description: The API key for AfterShip.
required: true
type: string
{% endconfiguration %}
{% include integrations/config_flow.md %}
## Service `add_tracking`

View File

@ -8,6 +8,7 @@ ha_release: '2022.11'
ha_iot_class: Local Polling
ha_codeowners:
- '@vincegio'
- '@LaStrada'
ha_domain: airthings_ble
ha_bluetooth: true
ha_platforms:

View File

@ -10,6 +10,8 @@ ha_domain: airtouch4
ha_platforms:
- climate
ha_integration_type: integration
ha_codeowners:
- '@samsinnamon'
---
The AirTouch 4 integration allows you to control Ducted Air Conditioning Systems that are using the [AirTouch 4](https://www.airtouch.net.au/airtouch/airtouch-4/) Controller. Currently, this integration only supports AirTouch 4 controllers with the Individual Temperature Control (ITC) modules.

View File

@ -7,6 +7,7 @@ ha_category:
- Climate
- Select
- Sensor
- Water Heater
ha_iot_class: Local Polling
ha_config_flow: true
ha_domain: airzone
@ -16,6 +17,7 @@ ha_platforms:
- diagnostics
- select
- sensor
- water_heater
ha_codeowners:
- '@Noltari'
ha_integration_type: integration
@ -94,3 +96,7 @@ For each Airzone zone (Thermostat), the following *sensors* are created:
| :------------------ | :--------------------------------- |
| humidity | Current zone relative humidity. |
| temperature | Current zone temperature. |
## Water Heater
For each Airzone device a *water heater entity* is created if supported.

View File

@ -10,6 +10,7 @@ ha_config_flow: true
ha_domain: airzone_cloud
ha_platforms:
- binary_sensor
- climate
- diagnostics
- sensor
ha_codeowners:
@ -58,6 +59,14 @@ For each Airzone zone (thermostat), the following *binary sensors* are created:
| :------------------ | :------------------------------------------------------ |
| problems | Indicates that the current zone has errors or warnings. |
## Climate
For each Airzone zone (thermostat), a climate entity is created.
**HVAC mode can only be changed on a *parent zone*.**
*Child zones* can only enable/disable the current HVAC mode selected on the corresponding *parent zone*. Attempting to change the HVAC mode on a *child zone* will result in a Home Assistant error.
## Sensors
For each Airzone Aidoo (HVAC Wi-Fi controller), the following *sensors* are created:

View File

@ -8,6 +8,7 @@ ha_iot_class: Cloud Polling
ha_domain: aladdin_connect
ha_platforms:
- cover
- diagnostics
- sensor
ha_integration_type: integration
ha_codeowners:

View File

@ -12,7 +12,9 @@ ha_platforms:
- diagnostics
- sensor
ha_config_flow: true
ha_integration_type: integration
ha_integration_type: service
ha_codeowners:
- '@jpbede'
---
The `Electricity Maps` sensor platform (formerly known as CO2Signal) queries the [Electricity Maps](https://www.electricitymaps.com/) API for the CO2 intensity of a specific region. Data can be collected for your home by using the latitude/longitude or a country code. This API uses the same data as <https://app.electricitymaps.com>. Not all countries/regions in the world are supported, so please consult the app to check local availability.

View File

@ -7,20 +7,14 @@ ha_category:
ha_domain: color_extractor
ha_codeowners:
- '@GenericStudent'
ha_config_flow: true
ha_integration_type: integration
---
The `color_extractor` integration will extract the predominant color from a given image and apply that color to a target light.
The color extractor integration will extract the predominant color from a given image and apply that color to a target light.
Useful as part of an automation.
## Configuration
To enable the `color_extractor` service in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
color_extractor:
```
{% include integrations/config_flow.md %}
## Services

View File

@ -11,6 +11,7 @@ ha_codeowners:
ha_iot_class: Local Polling
ha_platforms:
- light
- cover
ha_ssdp: false
ha_integration_type: integration
---
@ -19,9 +20,5 @@ The Comelit SimpleHome integration allows you to control your [Comelit home auto
There is support for the following platform types within Home Assistant:
- **Comelit Serial Bridge** - allows local control for climate, light and cover devices.
- **Comelit Serial Bridge** - allows local control for light and cover devices.
{% include integrations/config_flow.md %}
## Configuration
The configuration in the UI asks for a a few information: host, alarm_pin.

View File

@ -2,6 +2,7 @@
title: Duotecno
description: Access and control your Duotecno nodes.
ha_category:
- Climate
- Cover
- Light
- Switch
@ -12,6 +13,8 @@ ha_codeowners:
- '@cereal2nd'
ha_domain: duotecno
ha_platforms:
- binary_sensor
- climate
- cover
- light
- switch
@ -20,4 +23,13 @@ ha_integration_type: integration
The Duotecno integration can be used to control [Duotecno](https://www.duotecno.be/) nodes in Home Assistant.
There is currently support for the following device types within Home Assistant:
- Climate
- Cover
- Light
- Switch
{% include integrations/config_flow.md %}
The information needed is the connection info to your Smart Box.

View File

@ -0,0 +1,61 @@
---
title: Ecoforest
description: Instructions on how to integrate Ecoforest fireplaces with Home Assistant.
ha_category:
- Climate
ha_release: '2023.10'
ha_iot_class: Local Polling
ha_config_flow: true
ha_codeowners:
- '@pjanuario'
ha_domain: ecoforest
ha_platforms:
- number
- sensor
- switch
ha_integration_type: integration
---
The Ecoforest integration allows monitoring and control of local [Ecoforest](https://ecoforest.com) fireplaces in Home Assistant.
There is currently support for the following device platforms within Home Assistant:
- [Number](#number)
- [Switch](#switch)
- [Sensor](#sensor)
## Prerequisites
To configure the Ecoforest integration you will need to enter your Ecoforest credentials which are the same ones you would use with the manufacturer app. The image below shows how to obtain the credentials:
- Username: use the serial number of the device as identified by 1.
- Password: use the first 8 characters of the wifi password as identified by 4.
![Ecoforest Credentials](/images/integrations/ecoforest/credentials.png)
{% include integrations/config_flow.md %}
## Supported models
Any Ecoforest device working with [Ecoforest Home](https://ecoforesthome.com/) should be supported, this integration is confirmed to support:
- Ecoforest Cordoba Glass (using firmware version `30Abr19_v2z`)
## Number
The Ecoforest integration exposes a number entity for the device power level.
## Switch
The Ecoforest integration exposes a switch entity to turn status of the device to on and off.
## Sensor
The Ecoforest integration exposes multiple sensors to monitor various features:
- temperature: a sensor for the current ambient temperature
- cpu_temperature: a sensor for the current CPU temperature
- gas_temperature: a sensor for the current gas temperature
- ntc_temperature: a sensor for the current <abbr title="negative temperature coefficient">NTC</abbr> probe temperature
- status: a sensor for the current status of the device. Possible values are: off, starting, pre-heating, on, shutting down, standby, alarm.
- alarm: a sensor for the current alarm of the device. Possible values are: air depression, pellets, CPU overheating, unknown.

View File

@ -0,0 +1,20 @@
---
title: Enmax Energy
description: Get energy usage from Enmax Energy using the Opower integration
ha_category:
- Energy
- Sensor
ha_release: '2023.10'
ha_domain: enmax
ha_integration_type: virtual
ha_supporting_domain: opower
ha_supporting_integration: Opower
ha_codeowners:
- '@tronikos'
ha_config_flow: true
ha_platforms:
- sensor
ha_iot_class: Cloud Polling
---
{% include integrations/supported_brand.md %}

View File

@ -12,6 +12,7 @@ ha_config_flow: true
ha_codeowners:
- '@OttoWinter'
- '@jesserockz'
- '@kbx81'
- '@bdraco'
ha_domain: esphome
ha_zeroconf: true

View File

@ -30,12 +30,7 @@ Data measured includes:
The airport entered must be a valid IATA
airport code for an airport in the US. You can find this by looking up the
FAA Identifier at [Airnav](https://airnav.com/airports/). Officially the FAA
only supports the airports listed below, but all airports will return data.
Supported airports: BOS, LGA, TEB, EWR, JFK, PHL, PIT, IAD, BWI, DCA, RDU,
CLT, ATL, MCO, TPA, MCO, FLL, MIA, DTW, CLE, MDW, ORD, IND, CVG, BNA, MEM,
STL, MCI, MSP, DFW, IAH, DEN, SLC, PHX, LAS, SAN, LAX, SJC, SFO, PDX, SEA
FAA Identifier at [Airnav](https://airnav.com/airports/).
## Additional Delay Information
@ -57,4 +52,3 @@ listed below:
- Closure
- Start of closure (begin)
- End of closure (end)
- Closure reason

View File

@ -9,6 +9,8 @@ ha_domain: fitbit
ha_platforms:
- sensor
ha_integration_type: integration
ha_codeowners:
- '@allenporter'
---
The Fitbit sensor allows you to expose data from [Fitbit](https://fitbit.com/) to Home Assistant.

View File

@ -21,8 +21,6 @@ ha_platforms:
- switch
ha_codeowners:
- '@icemanch'
- '@bdraco'
ha_quality_scale: platinum
ha_config_flow: true
ha_dhcp: true
ha_integration_type: integration

View File

@ -34,6 +34,7 @@ There is currently support for the following device types within Home Assistant:
- [Device tracker](#presence-detection) for connected devices
- [Switch](#switch) to control Wi-Fi
- [Camera](#camera)
- [Binary sensors](#binary)
{% include integrations/config_flow.md %}
@ -127,6 +128,12 @@ The health status of each RAID array can be monitored with a diagnostics binary
Cameras are only available in Freebox V7 (also known as Freebox Delta).
## Binary
This platform offers you sensors to monitor:
- motion sensor
- door opener
- plastic cover
## Service
### Service `freebox.reboot`

View File

@ -274,6 +274,7 @@ Currently, the following domains are available to be used with Google Assistant,
- camera (streaming, requires compatible camera)
- climate (temperature setting, hvac_mode)
- cover (on/off/set position)
- event (only entities with device class `doorbell` are supported)
- fan (on/off/speed percentage/preset mode)
- group (on/off)
- humidifier (humidity setting/on/off/mode)

View File

@ -72,6 +72,7 @@ Update the location of the Home Assistant default zone (usually "Home").
|---------------------------|----------|-------------------------------------------------------|
| `latitude` | no | Latitude of your location. |
| `longitude` | no | Longitude of your location. |
| `elevation` | yes | Elevation of your location. |
#### Example
@ -81,6 +82,7 @@ action:
data:
latitude: 32.87336
longitude: 117.22743
elevation: 120
```
### Service `homeassistant.toggle`

View File

@ -0,0 +1,20 @@
---
title: Home Assistant Green
description: Home Assistant Green provides hardware information for the hardware configuration page.
ha_release: 2023.9
ha_category:
- Other
ha_codeowners:
- '@home-assistant/core'
ha_domain: homeassistant_green
ha_integration_type: hardware
---
The Home Assistant Green integration provides hardware information for the hardware configuration page.
For documentation on the Home Assistant Green, please visit the [documentation page](https://green.home-assistant.io/).
If you are looking to buy one, please visit the [product page](https://home-assistant.io/green).
## Configuration
This integration is not user configurable.

View File

@ -8,6 +8,7 @@ ha_codeowners:
- '@home-assistant/core'
ha_domain: homeassistant_sky_connect
ha_integration_type: hardware
ha_config_flow: true
---
The Home Assistant SkyConnect integration provides hardware information for the hardware configuration page.

View File

@ -324,7 +324,7 @@ It is recommended to only edit a HomeKit instance in the UI that was created in
### Accessory mode
When exposing a Camera, Activity based remote (a `remote` that supports activities), Lock, or Television media player (a `media_player` with device class `tv`) to HomeKit, `mode` must be set to `accessory`, and the relevant `include` filter should be setup to only include a single entity.
When exposing a Camera, Activity based remote (a `remote` that supports activities), Lock, or Television media player (a `media_player` with device class `tv` or `receiver`) to HomeKit, `mode` must be set to `accessory`, and the relevant `include` filter should be setup to only include a single entity.
To quickly add all accessory mode entities in the UI:
@ -412,6 +412,7 @@ The following integrations are currently supported:
| lock | DoorLock | Support for `lock / unlock`. |
| media_player | MediaPlayer | Represented as a series of switches which control `on / off`, `play / pause`, `play / stop`, or `mute` depending on `supported_features` of entity and the `mode` list specified in `entity_config`. |
| media_player | TelevisionMediaPlayer | All media players that have `tv` as their `device_class`. Represented as Television and Remote accessories in HomeKit to control `on / off`, `play / pause`, `select source`, or `volume increase / decrease`, depending on `supported_features` of entity. Requires iOS 12.2/macOS 10.14.4 or later. |
| media_player | ReceiverMediaPlayer | All media players that have `receiver` as their `device_class`. Represented as Receiver and Remote accessories in HomeKit to control `on / off`, `play / pause`, `select source`, or `volume increase / decrease`, depending on `supported_features` of entity. Requires iOS 12.2/macOS 10.14.4 or later. |
| sensor | TemperatureSensor | All sensors that have `°C` or `°F` as their `unit_of_measurement` and `temperature` as their `device_class`. |
| sensor | HumiditySensor | All sensors that have `%` as their `unit_of_measurement` and `humidity` as their `device_class`. |
| sensor | AirQualitySensor | All sensors that have `gas`/`pm10`/`pm25` as part of their `entity_id` or `gas`/`pm10`/`pm25`/`nitrogen_dioxide`/`volatile_organic_compounds` as their `device_class`. The VOC mappings use the IAQ guidelines for Europe released by the WHO (World Health Organization). |
@ -430,7 +431,7 @@ Bridged device triggers are represented as a single press button on stateless pr
## iOS Remote Widget
Entities exposed as `TelevisionMediaPlayer` are controllable within the Apple Remote widget in
Entities exposed as `TelevisionMediaPlayer` and `ReceiverMediaPlayer` are controllable within the Apple Remote widget in
Control Center. Play, pause, volume up and volume down should work out of the box depending on the `supported_features`
of the entity. However, if your television can be controlled in other ways outside of the `media_player` entity, (e.g.,
service calls to an IR blaster), it is possible to build an automation to take advantage of these events.
@ -594,7 +595,7 @@ To use the HomeKit integration with multiple different Home Assistant instances
Although we try our best, some entities don't work with the HomeKit integration yet. The result will be that either pairing fails completely or all Home Assistant accessories will stop working. Use the filter to identify which entity is causing the issue. It's best to try pairing and step by step including more entities. If it works, unpair and repeat until you find the one that is causing the issues. To help others and the developers, please open a new issue here: [core/issues/new](https://github.com/home-assistant/core/issues/new)
If you have any iOS 12.x devices signed into your iCloud account, media player entities with `device_class: tv` may trigger this condition. Filtering the entity or signing the iOS 12.x device out of iCloud should resolve the issue after restarting other devices.
If you have any iOS 12.x devices signed into your iCloud account, media player entities with `device_class: tv` or `device_class: receiver` may trigger this condition. Filtering the entity or signing the iOS 12.x device out of iCloud should resolve the issue after restarting other devices.
#### Accessories are all listed as not responding
@ -610,9 +611,9 @@ See [resetting accessories](#resetting-accessories) and [Unpairing and Re-pairin
Try removing the entity from HomeKit and then adding it again. If you are adding this configuration option to an existing entity in HomeKit, any changes you make to this entity's configuration options won't appear until the accessory is removed from HomeKit and then re-added. See [resetting accessories](#resetting-accessories).
#### My media player is not showing up as a television accessory
#### My media player is not showing up as a television or receiver accessory
Media Player entities with `device_class: tv` will show up as Television accessories on devices running iOS 12.2/macOS 10.14.4 or later. If needed, try removing the entity from HomeKit and then adding it again, especially if the `media_player` was previously exposed as a series of switches. Any changes, including changed supported features, made to an existing accessory won't appear until the accessory is removed from HomeKit and then re-added. See [resetting accessories](#resetting-accessories).
Media Player entities with `device_class: tv` or `device_class: receiver` will show up as Television or Receiver accessories on devices running iOS 12.2/macOS 10.14.4 or later. If needed, try removing the entity from HomeKit and then adding it again, especially if the `media_player` was previously exposed as a series of switches. Any changes, including changed supported features, made to an existing accessory won't appear until the accessory is removed from HomeKit and then re-added. See [resetting accessories](#resetting-accessories).
The [Universal Media Player](/integrations/universal/#harmony-remote-example) has an example of how it can be used to wrap existing entities to enable them to be used as a Television accessory in HomeKit.

View File

@ -13,6 +13,7 @@ ha_codeowners:
ha_domain: honeywell
ha_platforms:
- climate
- diagnostics
- sensor
ha_integration_type: integration
---

View File

@ -6,6 +6,7 @@ ha_category:
- Irrigation
- Sensor
- Switch
ha_config_flow: true
ha_release: 0.71
ha_iot_class: Cloud Polling
ha_domain: hydrawise
@ -27,114 +28,44 @@ There is currently support for the following device types within Home Assistant:
- [Sensor](#sensor)
- [Switch](#switch)
## Configuration
## Prerequisites
To enable it, add the following to your `configuration.yaml` file:
To set up the Hydrawise integration, you must first obtain an API Key.
```yaml
# Example configuration.yaml entry
hydrawise:
access_token: YOUR_API_KEY
```
1. Login at [https://app.hydrawise.com](https://app.hydrawise.com).
2. Go to **Account Details** under the **My Account** menu (in the upper-right-hand corner).
3. Under the **Account Settings** section, copy the **API Key**.
1. If no API Key is present, select the **Generate API Key** button.
{% configuration %}
access_token:
description: The API KEY assigned to your Hydrawise account.
required: true
type: string
scan_interval:
description: The time interval, in seconds, to poll the Hydrawise cloud.
required: false
type: integer
default: 120
{% endconfiguration %}
To get your API access token log into your [Hydrawise account](https://app.hydrawise.com/config/login) and in the 'My Account Details' section under Account Settings click 'Generate API Key'. Enter that key in your configuration file as `YOUR_API_KEY`.
{% include integrations/config_flow.md %}
## Binary Sensor
Once you have enabled the `hydrawise` integration, add the following to your `configuration.yaml` file:
Binary sensor entities are created for the controller:
```yaml
# Example configuration.yaml entry
binary_sensor:
- platform: hydrawise
```
{% configuration %}
monitored_conditions:
description: The binary sensors that should be displayed on the frontend.
required: false
type: list
default: All binary sensors are enabled.
keys:
is_watering:
description: The binary sensor is `on` when the zone is actively watering.
status:
description: This will indicate `on` when there is a connection to the Hydrawise cloud. It is not an indication of whether the irrigation controller hardware is online.
{% endconfiguration %}
- Cloud API availability
<div class='note warning'>
The Hydrawise API removed the ability to read the rain sensor status. Therefore it is no longer supported by the Hydrawise integration to Home Assistant.
</div>
<div class='note warning'>
Binary sensor entities are created for each zone:
The Hydrawise API uses rate limiting and might throw errors in case the `scan_interval` is too low or too many manual service calls are triggered:
The limit is 3 calls to start/stop/suspend a zone per 30 seconds and an additional limit across the entire API of 30 calls in a 5-minute period per user.
</div>
- Running status
## Sensor
Once you have enabled the `hydrawise` integration, add the following to your `configuration.yaml` file:
Sensor entities are added to each zone:
```yaml
# Example configuration.yaml entry
sensor:
- platform: hydrawise
```
{% configuration %}
monitored_conditions:
description: The sensors that should be displayed on the frontend.
required: false
type: list
default: All sensors are enabled.
keys:
watering_time:
description: The amount of time left if the zone is actively watering. Otherwise the time is 0.
next_cycle:
description: The day and time when the next scheduled automatic watering cycle will start.
{% endconfiguration %}
- Timestamp for the next scheduled automatic watering cycle
- Remaining time for the current watering cycle
## Switch
Once you have enabled the `hydrawise` integration, add the following to your `configuration.yaml` file:
Switches are added for each zone, controlling:
```yaml
# Example configuration.yaml entry
switch:
- platform: hydrawise
```
{% configuration %}
watering_minutes:
description: When manual watering is enabled this will determine the length of time in minutes that the irrigation zone will run. The allowed values are 5, 10, 15, 30, 45, or 60.
required: false
type: integer
default: 15
monitored_conditions:
description: Selects the set of switches that should be enabled on the frontend. Also sets the length of time a zone will run under manual control.
required: false
type: list
default: All switches are enabled.
keys:
auto_watering:
description: Enables the Smart Watering features for this zone.
manual_watering:
description: Enables the manual watering control for this zone.
{% endconfiguration %}
- Smart watering features
- Manual watering
### Switch Operation
@ -145,17 +76,3 @@ When `manual_watering` is `on` the zone will run for the amount of time set by `
<div class='note warning'>
Due to changes in the Hydrawise API the status of the Auto Watering switches has changed. Under normal conditions the Auto Watering switches correctly reflect the Smart Watering schedule on the Hydrawise mobile or web app. However, if a rain sensor is connected to the system and it is active (rain detected), or the zone is running the Auto Watering switch will turn off. After both of those conditions are removed the switch will again show the correct Auto Watering condition.
</div>
```yaml
# An example that enables all the switches, and sets the manual watering time to 20 minutes.
switch:
- platform: hydrawise
watering_minutes: 20
```
```yaml
# An example that enables only the manual control switches.
switch:
- platform: hydrawise
monitored_conditions: manual_watering
```

View File

@ -0,0 +1,26 @@
---
title: IKEA Idasen Desk
description: Control and monitor your IKEA Idåsen standing desk.
ha_iot_class: Local Push
ha_config_flow: true
ha_release: '2023.10'
ha_category:
- Cover
ha_domain: idasen_desk
ha_bluetooth: true
ha_platforms:
- cover
ha_integration_type: integration
ha_codeowners:
- '@abmantis'
---
The IKEA IDÅSEN integration allows you to connect your IKEA Idåsen motorized desk to Home Assistant, making it possible to control the desk height and also monitor height changes from the physical controller.
{% include integrations/config_flow.md %}
Home Assistant will display a list of addresses of the available desks, and you just need to select the one you want to add. Repeat the process to add more than one desk.
<div class='note'>
If you see an "No unconfigured devices found" message, make sure that the desk is in Bluetooth pairing mode. For that, press the small button with the Bluetooth logo on the controller until it starts blinking (about 3 seconds).
</div>

View File

@ -96,7 +96,7 @@ Email providers may limit the number of reported emails. The number may be less
### Using events
When a new message arrives that meets the search criteria the `imap` integration will send a custom [event](/docs/automation/trigger/#event-trigger) that can be used to trigger an automation.
When a new message arrives or a message is removed within the defined search command scope, the `imap` integration will send a custom [event](/docs/automation/trigger/#event-trigger) that can be used to trigger an automation.
It is also possible to use to create a template [`binary_sensor` or `sensor`](/integrations/template/#trigger-based-template-binary-sensors-buttons-numbers-selects-and-sensors) based the [event data](/docs/automation/templating/#event).
The table below shows what attributes come with `trigger.event.data`. The data is a dictionary that has the keys that are shown below.
@ -130,6 +130,8 @@ headers:
description: The `headers` of the message in the for of a dictionary. The values are iterable as headers can occur more than once.
custom:
description: Holds the result of the custom event data [template](/docs/configuration/templating). All attributes are available as a variable in the template.
initial:
description: Returns `True` if this is the initial event for the last message received. When a message within the search scope is removed and the last message received has not been changed, then an `imap_content` event is generated and the `initial` property is set to `False`. Note that if no `Message-ID` header was set on the triggering email, the `initial` property will always be set to `True`.
{% endconfiguration_basic %}
@ -163,6 +165,7 @@ template:
Sender: "{{ trigger.event.data['sender'] }}"
Date: "{{ trigger.event.data['date'] }}"
Subject: "{{ trigger.event.data['subject'] }}"
Initial: "{{ trigger.event.data['initial'] }}"
To: "{{ trigger.event.data['headers'].get('Delivered-To', ['n/a'])[0] }}"
Return-Path: "{{ trigger.event.data['headers'].get('Return-Path',['n/a'])[0] }}"
Received-first: "{{ trigger.event.data['headers'].get('Received',['n/a'])[0] }}"
@ -185,6 +188,7 @@ template:
id: "custom_event"
event_data:
sender: "no-reply@smartconnect.apc.com"
initial: true
sensor:
- name: house_electricity
state: >-

View File

@ -19,7 +19,9 @@ The `ipma` weather platform uses the [Instituto Português do Mar e Atmosfera](h
There is currently support for the following device types within Home Assistant:
- Sensor (Risk of Fire for your location)
- Sensor
- Risk of Fire for your location
- UV Index for your district
- Weather (current state and forecast)
{% include integrations/config_flow.md %}

View File

@ -48,3 +48,27 @@ sensors:
- maghrib: Show the maghrib prayer time for today.
- isha: Show the isha prayer time for today.
- midnight: Show the midnight for today which is the end of isha prayer. This is a calculated field and is not the same as 12AM.
## Configuration
### Prayer calcuation method
Default: Islamic Society of North America
A prayer times calculation method. Methods identify various schools of thought about how to compute the timings. If not specified, it defaults to Islamic Society of North America.
### Latatude Adjustment Method
Default: Middle of the night
Method for adjusting times higher latitudes - for instance, if you are checking timings in the UK or Sweden.
### Midnight mode
Default: Standard (mid sunset to sunrise)
### School
Default: Shafi
Method for adjusting Asr time calcuation, if not specified, it defaults to Shafi.

View File

@ -10,6 +10,7 @@ ha_codeowners:
- '@pnbruckner'
ha_domain: life360
ha_platforms:
- button
- device_tracker
ha_integration_type: integration
---
@ -69,6 +70,10 @@ See [Zone documentation](/integrations/zone/#home-zone) for details about how Ho
radius: ZZZ
```
## Polling Location
A button is also provided that has the ability to poll for a user's location when pressed.
## Disclaimer
It does not appear that Life360 officially supports its REST API for use with other than its own apps. This integration is based on reverse engineering that has been done by the open source community, and an API token that was somehow discovered by the same community. At any time Life360 could disable that token or otherwise change its REST API such that this integration would no longer work.

View File

@ -17,9 +17,6 @@ ha_platforms:
- select
- sensor
ha_integration_type: integration
ha_codeowners:
- '@bdraco'
ha_quality_scale: platinum
ha_dhcp: true
---

View File

@ -192,6 +192,11 @@ payload_open:
required: false
type: string
default: OPEN
payload_reset:
description: A special payload that resets the state to `unknown` when received on the `state_topic`.
required: false
type: string
default: '"None"'
qos:
description: The maximum QoS level to be used when receiving and publishing messages.
required: false

View File

@ -9,6 +9,8 @@ ha_domain: london_underground
ha_platforms:
- sensor
ha_integration_type: integration
ha_codeowners:
- '@jpbede'
---
The `london_underground` sensor will display the status of London underground lines, as well as the Overground and DLR.

View File

@ -10,6 +10,8 @@ ha_domain: matrix
ha_platforms:
- notify
ha_integration_type: integration
ha_codeowners:
- '@PaarthShah'
---
This integration allows you to send messages to matrix rooms, as well as to react to messages in matrix rooms. Reacting to commands is accomplished by firing an event when one of the configured commands is triggered.

View File

@ -0,0 +1,37 @@
---
title: Medcom Bluetooth
description: Integrate International Medcom radiation monitors
ha_category:
- Environment
- Sensor
ha_release: '2023.10'
ha_iot_class: Local Polling
ha_codeowners:
- '@elafargue'
ha_domain: medcom_ble
ha_bluetooth: true
ha_platforms:
- sensor
ha_config_flow: true
ha_integration_type: integration
---
Integrates International Medcom Bluetooth-enabled radiation monitors into Home Assistant.
[International Medcom](https://medcom.com/) is an American company that manufactures radiation detection instruments that are used in professional environments, for home and office, and by community projects worldwide.
This integration supports the Medcom [Inspector BLE](https://medcom.com/product/inspector-ble/) via a Bluetooth low-energy interface.
{% include integrations/config_flow.md %}
The Medcom Bluetooth integration will automatically discover devices once the [Bluetooth](integrations/bluetooth) integration is enabled and working. It will list each detected Inspector using its Bluetooth MAC address as the serial number.
To limit the load on the Bluetooth radio on the Home Assistant side, the integration only polls for a reading every 5 minutes, which should be adequate for ongoing background monitoring. An Inspector BLE battery should last several months with continuous use before needing replacement.
## Supported Devices
- Medcom Inspector BLE
## Sensors
This integration adds a counts-per-minute ("CPM") sensor for each detected Inspector BLE device. See the Inspector BLE manual for how to convert this CPM reading into another unit if desired, which can be done via a custom [template sensor](integrations/template)

View File

@ -17,18 +17,48 @@ ha_platforms:
ha_integration_type: integration
---
Minecraft servers allow players to play the sandbox video game [Minecraft](https://www.minecraft.net/en-us) by Mojang Studios online or via a local area network with other players. The `Minecraft Server` integration lets you retrieve information from a Minecraft server within Home Assistant.
[Minecraft](https://www.minecraft.net/en-us) is a sandbox video game developed by Mojang Studios. Minecraft servers allow players to play the game online or via a local area network with other players. The **Minecraft Server** integration lets you retrieve information from a Minecraft server within Home Assistant.
<div class='note'>
Minecraft Java edition servers must be version 1.7 or newer, since older versions don't expose any information.
Minecraft Java Edition servers must be version 1.7 or newer, since older versions don't expose any information.
</div>
<div class='note'>
Minecraft Bedrock edition servers are not supported yet.
<div class='note warning'>
Minecraft Bedrock Edition servers are not supported yet.
</div>
{% include integrations/config_flow.md %}
During setup you will be prompted to enter the **name** and the **address** of the server.
### Server name
The **server name** can be chosen freely.
<div class='note'>
Default is `Minecraft Server`.
</div>
### Server address
The **server address** is a combination of the hostname and the port, where the port is optional. For SRV records, the port is automatically extracted. For all other cases the default port **25565** is used, if the port is omitted. Here are some server address examples:
- **SRV record**: `hypixel.net`
- **Hostname**: `mc.hypixel.net:25565` or `mc.hypixel.net`
- **IP address**: `192.168.0.123:25565` or `192.168.0.123`
<div class='note'>
Default is `localhost:25565`.
</div>
## Binary sensors
This integration provides a binary sensor for the following information from a Minecraft server:
@ -48,5 +78,7 @@ This integration provides sensors for the following information from a Minecraft
- World Message / Message of the Day (MOTD)
<div class='note'>
Depending on the server, the player names list may not be shown completely. Some servers and plugins limit or completely hide this list or even replace the player names with fake ones to show some custom messages there.
</div>

View File

@ -6,9 +6,7 @@ ha_category:
ha_release: pre 0.7
ha_iot_class: Local Polling
ha_codeowners:
- '@adamchengtkc'
- '@janiversen'
- '@vzahradnik'
ha_domain: modbus
ha_platforms:
- binary_sensor
@ -37,13 +35,6 @@ The modbus integration allows you to use multiple connections each with multiple
The modbus integration provides a number of parameters to help communicate with "difficult" devices, these parameters are independent of the type of communication.
{% configuration %}
close_comm_on_error:
description: "Close connection when an error occurs.
Some serial-rs485 adapters deliver garble when opened, this leads to a disconnect and a new connect, which can continue.
If the log contains a message from pymodbus, with the text 'cleaning....', then try this parameter."
required: false
default: true
type: boolean
delay:
description: "Time to delay sending messages in seconds after connecting.
Some modbus devices need a delay of typically 1-2 seconds after connection is established to prepare the communication.
@ -66,11 +57,6 @@ retries:
required: false
default: 3
type: integer
retry_on_empty:
description: "Retry request, when receiving an empty message."
required: false
default: false
type: boolean
timeout:
description: "Timeout while waiting for a response in seconds."
required: false
@ -133,7 +119,6 @@ modbus:
delay: 0
message_wait_milliseconds: 30
retries: 3
retry_on_empty: false
timeout: 5
```
@ -182,7 +167,6 @@ modbus:
delay: 0
message_wait_milliseconds: 30
retries: 3
retry_on_empty: false
timeout: 5
```
@ -227,7 +211,6 @@ modbus:
delay: 0
message_wait_milliseconds: 30
retries: 3
retry_on_empty: false
timeout: 5
```
@ -324,7 +307,6 @@ modbus:
delay: 0
message_wait_milliseconds: 30
retries: 3
retry_on_empty: false
timeout: 5
```
@ -399,6 +381,11 @@ scan_interval:
type: integer
default: 15
slave:
description: "Identical to `device_address`"
required: false
type: integer
default: 0
device_address:
description: "Id of the device. Used to address multiple devices on a rs485 bus or devices connected to a modbus repeater."
required: false
type: integer
@ -480,6 +467,10 @@ binary_sensors:
default: coil
type: string
slave_count:
description: "Identical to `virtual_count`."
required: false
type: integer
virtual_count:
description: "Generate count+1 binary sensors (master + slaves).
Addresses are automatically incremented.
The parameter simplifies configuration and provides a much better performance by not using count+1 requests but a single request."
@ -719,6 +710,11 @@ climates:
description: "Register address for target temperature (Setpoint)."
required: true
type: integer
target_temp_write_registers:
description: "If `true` use `write_registers` for target temperature."
required: false
type: boolean
default: false
temp_step:
description: "Step size target temperature."
required: false
@ -765,6 +761,7 @@ modbus:
max_temp: 30
structure: ">f"
target_temp_register: 2782
target_temp_write_registers: true
temp_step: 1
temperature_unit: C
```
@ -1277,6 +1274,10 @@ sensors:
type: float
default: 1
slave_count:
description: "Identical to `virtual_count`."
required: false
type: integer
virtual_count:
description: "Generates x+1 sensors (master + slaves), allowing read of multiple registers with a single read messsage."
required: false
type: integer
@ -1292,6 +1293,10 @@ sensors:
type: string
default: ">f"
slave_count:
description: "Identical to `virtual_count`."
required: false
type: integer
virtual_count:
description: Generates x-1 slave sensors, allowing read of multiple registers with a single read message.
required: false
type: integer
@ -1525,6 +1530,7 @@ Some parameters exclude other parameters, the following tables show what can be
| count | Yes | Yes | No | No | No |
| structure | Yes | No | No | No | No |
| slave_count | No | No | Yes | Yes | Yes |
| virtual_count | No | No | Yes | Yes | Yes |
| swap: none | Yes | Yes | Yes | Yes | Yes |
| swap: byte | No | No | Yes | Yes | Yes |
| swap: word | No | No | No | Yes | Yes |
@ -1545,8 +1551,7 @@ Description:
| Attribute | Description |
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| hub | Hub name (defaults to 'modbus_hub' when omitted) |
| unit | Slave address (0-255), alternative to slave |
| slave | Slave address (0-255), alternative to unit |
| slave | Slave address (0-255) |
| address | Address of the Register (e.g. 138) |
| value | (write_register) A single value or an array of 16-bit values. Single value will call modbus function code 0x06. Array will call modbus function code 0x10. Values might need reverse ordering. E.g., to set 0x0004 you might need to set `[4,0]`, this depend on the byte order of your CPU |
| state | (write_coil) A single boolean or an array of booleans. Single boolean will call modbus function code 0x05. Array will call modbus function code 0x0F |
@ -1572,7 +1577,7 @@ To write a float32 datatype register use network format like `10.0` == `0x412000
service: modbus.write_register
data:
address: <target register address>
unit: <target slave address>
slave: <target slave address>
hub: <hub name>
value: [0x4120, 0x0000]
```

View File

@ -10,6 +10,7 @@ ha_iot_class: Cloud Polling
ha_config_flow: true
ha_codeowners:
- '@ehendrix23'
- '@Lash-L'
ha_domain: myq
ha_homekit: true
ha_platforms:

View File

@ -6,6 +6,7 @@ ha_category:
- Transport
ha_iot_class: Cloud Polling
ha_release: 0.93
ha_config_flow: true
ha_codeowners:
- '@vividboarder'
ha_domain: nextbus
@ -16,41 +17,4 @@ ha_integration_type: integration
The `nextbus` sensor will give you the next departure time and associated data from your public transit station/stop. The data comes from [NextBus](https://www.nextbus.com), which provides real time transit data for a number of transit authorities.
It is possible to get the tag information from the NextBus website.
1. Visit https://www.nextbus.com/
2. Use the drop downs to select the transit system, route, direction, and stop
3. Extract the tags from the URL. It is constructed with the following pattern:
https://www.nextbus.com/#!/<agency>/<route>/<direction>/<stop>
If tags are incorrect, valid ones will be displayed in the logs as a convenience. Note that the `<direction>` tag is not used in this integration.
```yaml
# Example configuration.yaml entry
sensor:
- platform: nextbus
agency: AGENCY_TAG
route: ROUTE_TAG
stop: STOP_TAG
```
{% configuration %}
agency:
description: The agency tag from NextBus.
required: true
type: string
route:
description: The route tag from NextBus.
required: true
type: string
stop:
description: The stop tag from NextBus.
required: true
type: string
name:
description: Name to use in the frontend.
required: false
default: <Agency> - <Route>
type: string
{% endconfiguration %}
{% include integrations/config_flow.md %}

View File

@ -21,6 +21,7 @@ More than 175 utilities use Opower. Currently only the following utilities are s
- Consolidated Edison (ConEd) and subsidiaries
- Orange & Rockland Utilities (ORU)
- Enmax Energy
- Evergy
- Exelon subsidiaries
- Atlantic City Electric
@ -30,6 +31,7 @@ More than 175 utilities use Opower. Currently only the following utilities are s
- PECO Energy Company (PECO)
- Potomac Electric Power Company (Pepco)
- Pacific Gas & Electric (PG&E)
- Portland General Electric (PGE)
- Puget Sound Energy (PSE)
When you add the Opower integration to Home Assistant, you will need to provide your utility account's authentication details to enable retrieving your energy data.

View File

@ -0,0 +1,45 @@
---
title: Private BLE Device
description: Instructions on how to integrate private BLE devices into Home Assistant.
ha_category:
- Device Tracker
ha_release: '2023.10'
ha_iot_class: Local Push
ha_domain: private_ble_device
ha_platforms:
- device_tracker
- sensor
ha_config_flow: true
ha_integration_type: integration
ha_codeowners:
- '@Jc2k'
---
Some BLE devices use a privacy feature called Resolvable Private Addresses to stop businesses from tracking you when you are out with your smart devices. Instead of having a single static address that can be used to track you, its Bluetooth address changes frequently. If you have [Bluetooth](/integrations/bluetooth) enabled and functioning and know your device's Identity Resolving Key, you can add it to Home Assistant as a Private BLE Device. We can then work out which random MAC addresses are related to the IRK and track those.
In addition to telling you if your device is home or away, it can also tell you an estimated distance to the nearest Bluetooth dongle or proxy and its signal strength.
{% include integrations/config_flow.md %}
Your device must be on and broadcasting in range before adding it to Home Assistant - we check that it's visible to validate that your IRK is correct.
There are two common representations for encoding an IRK - base64 encoding or hex encoding. This integration supports both.
## Getting your Identity Resolving Key (IRK)
### On macOS
If you are trying to get the IRK for your iPhone or Apple Watch, you must be logged in to the Mac with the same iCloud account on those devices. This procedure should also work for devices that you pair with macOS.
1. Start the **Keychain Acess** application.
2. In the left sidebar, make sure iCloud is selected.
3. In the search bar in the upper right, type Bluetooth.
4. A list of GUIDs is shown.
5. Double-click on a record. As part of the **Account** field, it will say `Public: XX:XX:XX:XX:XX:XX`. This MAC address should match the device you are trying to work with.
6. Click on show password
7. You will have to enter your password, then enter your username and password.
8. macOS will show some XML. You are looking for the "Remote IRK" field. After there is a data field that contains a base64 encoded version of your Identity Resolving Key.
## ESPresense
If you already use Identity Resolving Key tracking with ESPresence then you already have a hex-encoded version of your Identity Resolving Key. Home Assistant can use the key in this format directly.

View File

@ -3,6 +3,7 @@ title: Rain Bird
description: Instructions on how to integrate your Rain Bird LNK WiFi Module within Home Assistant.
ha_category:
- Binary Sensor
- Calendar
- Irrigation
- Sensor
- Switch
@ -15,6 +16,7 @@ ha_codeowners:
ha_domain: rainbird
ha_platforms:
- binary_sensor
- calendar
- number
- sensor
- switch
@ -26,6 +28,7 @@ This `rainbird` integration allows interacting with [LNK WiFi](https://www.rainb
There is currently support for the following device types within Home Assistant:
- [Binary Sensor](#binary-sensor)
- [Calendar](#calendar)
- [Number](#number)
- [Switch](#switch)
@ -40,6 +43,12 @@ will run when turning on a zone switch (default is 6 minutes). This can be overr
The `rainsensor` sensor will tell if you if the device has detected rain.
## Calendar
Some Rain Bird devices support automatic irrigation schedules configured with the Rain Bird app.
and are available in Home Assistant as a [Calendar](https://www.home-assistant.io/integrations/calendar/) entity. You can view the program schedule in the UI, or trigger other automations
based on the irrigation start or end time.
## Number
The Rain Delay Number Entity lets you set and view the number of days, if any, the automatic irrigation schedule has been delayed.

View File

@ -3,6 +3,9 @@ title: Renson
description: Instructions on how to integrate Renson Endura Delta sensors into Home Assistant.
ha_category:
- Binary Sensor
- Button
- Fan
- Number
- Sensor
ha_release: 2023.7
ha_iot_class: Local Polling
@ -12,11 +15,13 @@ ha_codeowners:
ha_domain: renson
ha_platforms:
- binary_sensor
- button
- fan
- number
- sensor
ha_integration_type: integration
---
The Renson integration pulls in data from the Renson Endura delta device. Most of the sensors that can be monitored from inside the Android/iOS application can be monitored with this integration.
{% include integrations/config_flow.md %}

View File

@ -2,6 +2,7 @@
title: Roborock
description: Instructions on how to integrate Roborock vacuums into Home Assistant
ha_category:
- Binary Sensor
- Number
- Select
- Sensor
@ -16,6 +17,7 @@ ha_codeowners:
- '@Lash-L'
ha_domain: roborock
ha_platforms:
- binary_sensor
- diagnostics
- number
- select
@ -49,20 +51,41 @@ Mop mode - Describes how to mop the floor. On some firmware, it is called 'mop r
Mop intensity - How hard you would like your vacuum to mop.
### Binary sensor
Mop attached - States if the mop is currently attached.
Mop drying status - Only available on docks with drying capabilites - States if the mop is currently being driven.
Water box attached - States if the water box is currently attached.
Water shortage - States if the water box is low on water - 'Ok' if it has not detected a water shortage.
### Sensor
Cleaning area - How much area the vacuum has cleaned in its current run. If the vacuum is not currently cleaning, how much area it has cleaned during its last run.
Cleaning time - How long the vacuum has been cleaning for. If the vacuum is not currently cleaning, how long it cleaned for in its last run.
Cleaning progress - Only available on some newer devices - what percent of the current cleaning is completed.
Dock error - Only available on the non-basic docks - The current error of the vacuum or 'Ok' if none exist
Main brush time left - How much time is left before Roborock recommends you replace your main brush.
Mop drying remaining time - Only available on the non-basic docks - How much time is left until the mop is dry and ready to continue cleaning.
Side brush time left - How much time is left before Roborock recommends you replace your side brush.
Filter time left - How much time is left before Roborock recommends you replace your vacuum's air filter.
Status - The current status of your vacuum. This typically describes the action that is currently being run. For example, 'spot_cleaning' or 'docking'.
Last clean begin - the last time that your vacuum started cleaning.
Last clean end - The last time that your vacuum finished cleaning.
Total cleaning time - The lifetime cleaning duration of your vacuum.
Total cleaning area - The lifetime cleaning area of your vacuum.

View File

@ -7,8 +7,9 @@ ha_release: 0.117
ha_iot_class: Local Polling
ha_config_flow: true
ha_codeowners:
- '@gabe565'
- '@lanrat'
- '@ms264556'
- '@gabe565'
ha_domain: ruckus_unleashed
ha_platforms:
- device_tracker

View File

@ -11,6 +11,7 @@ ha_config_flow: true
ha_codeowners:
- '@dknowles2'
ha_platforms:
- binary_sensor
- lock
- sensor
- switch
@ -24,10 +25,17 @@ The Schlage integration provides connectivity with Schlage WiFi smart locks thro
There is currently support for the following device types within Home Assistant:
- Binary sensor
- Lock
- Sensor
- Switch
## Binary sensor
Once you have enabled the Schlage integration, you should see the following binary sensor:
- **Keypad disabled** - Indicates that the keypad has been disabled, typically due to too many incorrect lock codes being attempted.
## Sensor
Once you have enabled the Schlage integration, you should see the following sensors:

View File

@ -28,6 +28,7 @@ ha_platforms:
- climate
- cover
- diagnostics
- event
- light
- number
- sensor
@ -121,6 +122,14 @@ Depending on how a device's button type is configured, the integration will crea
For generation 2 hardware it's possible to select if a device's input is connected to a button or a switch. Binary sensors are created only if the input mode is set to `switch`. When the input is of type `button` you need to use events for your automations.
## Event entities (generation 1)
If the **BUTTON TYPE** of the switch connected to the device is set to `momentary` or `detached switch`, the integration creates an event entity for this switch. You can use this entity in your automations.
## Event entities (generation 2)
If the **Input Mode** of the switch connected to the device is set to `Button`, the integration creates an event entity for this switch. You can use this entity in your automations.
## Events
If the **BUTTON TYPE** of the switch connected to the device is set to `momentary` or `detached switch`, integration fires events under the type `shelly.click` when the switch is used. You can use these events in your automations.

View File

@ -9,6 +9,7 @@ ha_domain: slack
ha_iot_class: Cloud Push
ha_codeowners:
- '@tkdrob'
- '@fletcherau'
ha_platforms:
- notify
- sensor
@ -142,6 +143,7 @@ The following attributes can be placed inside the `data` key of the service call
| `file` | yes | A file to include with the message; see below.
| `blocks` | yes | Array of [Slack blocks](https://api.slack.com/messaging/composing/layouts). *NOTE*: if using `blocks`, they are shown **in place of** the `message` (note that the `message` is required nonetheless).
| `blocks_template` | yes | The same as `blocks`, but able to support [templates](https://www.home-assistant.io/docs/configuration/templating).
| `thread_ts` | yes | Sends the message as a reply to a specified parent message.
Note that using `file` will ignore all usage of `blocks` and `blocks_template` (as Slack does not support those frameworks in messages that accompany uploaded files).
@ -243,3 +245,12 @@ title: "Reminder"
data:
blocks: []
```
Send a message as reply to an existing message. `thread_ts` can be retrieved via a script utilising [Bolt](https://slack.dev/bolt-python/tutorial/getting-started), any other Slack library, or the Slack API directly.
```yaml
message: "Here's some supplementary information that doesn't need to be present in the channel directly."
target: "#general"
data:
thread_ts: "1684736481.064129"
```

View File

@ -9,6 +9,7 @@ ha_config_flow: true
ha_quality_scale: silver
ha_codeowners:
- '@frenck'
- '@joostlek'
ha_domain: spotify
ha_zeroconf: true
ha_platforms:

View File

@ -1,5 +1,5 @@
---
title: SwitchBot
title: SwitchBot Bluetooth
description: Instructions on how to set up SwitchBot Devices.
ha_category:
- Binary Sensor
@ -53,6 +53,7 @@ Please note, device names configured in the SwitchBot app are not transferred in
- [Bot (WoHand)](https://switch-bot.com/pages/switchbot-bot)
- [Contact Sensor (WoContact)](https://switch-bot.com/pages/switchbot-contact-sensor)
- [Curtain (WoCurtain)](https://switch-bot.com/pages/switchbot-curtain) (version 1 & 2)
- [Curtain 3 (WoCtn3)](https://switch-bot.com/pages/switchbot-curtain-3)
- [Humidifier (WoHumi)](https://eu.switch-bot.com/products/switchbot-smart-humidifier)
- Light Strip (WoStrip)
- [Meter](https://switch-bot.com/pages/switchbot-meter)/[Meter Plus 70BB](https://switch-bot.com/pages/switchbot-meter-plus) (WoSensorTH)

View File

@ -0,0 +1,38 @@
---
title: SwitchBot Cloud
description: Instructions on how to set up SwitchBot Devices.
ha_category:
- Hub
- Plug
- Remote
- Switch
ha_release: '2023.10'
ha_iot_class: Cloud Polling
ha_codeowners:
- '@SeraphicRav'
ha_domain: switchbot_cloud
ha_platforms:
- switch
ha_config_flow: true
ha_integration_type: integration
---
The SwitchBot Cloud integration allows you to control SwitchBot [devices](https://www.switch-bot.com/) connected through the SwitchBot hub.
## Prerequisites
In order to use this integration, you will need at least a SwitchBot Hub and a SwitchBot account to get a token and secret key from the SwitchBot mobile app in Profiles>Preferences>Developer Options.
Please note, device names configured in the SwitchBot app are transferred into Home Assistant.
{% include integrations/config_flow.md %}
## Supported devices
- Plug (Wi-Fi only, only available in Japan)
- Plug Mini, both the original and HomeKit-enabled
- Remotes exposed through the different hubs excepted "Others" (State is inferred from previous commands in Home Assistant and might not reflect reality if you use other ways to control the device)
<div class='note warning'>
Only the switch platform is currently supported.
</div>

View File

@ -13,72 +13,63 @@ ha_domain: system_bridge
ha_quality_scale: silver
ha_platforms:
- binary_sensor
- notify
- sensor
ha_zeroconf: true
ha_integration_type: device
---
[System Bridge](https://system-bridge.timmo.dev) is an application that runs on your local machine to share system information via its API/WebSocket. You can also send commands to the device such as opening a URL or sending keyboard keypresses.
## Prerequisites
### Version
This integration requires System Bridge 3.1.1 and above. Any older version will not work.
### API Key
You will need your API key. This can be found following the documentation [here](https://system-bridge.timmo.dev/docs/running).
{% include integrations/config_flow.md %}
## Binary Sensors
This integration provides the following binary sensors:
| Name | Description |
| --------------------- | ---------------------------------- |
| Battery Is Charging | Whether the battery is charging |
| New Version Available | Whether a new version is available |
## Sensors
This integration provides the following sensors:
| Name | Description |
| ---------------------- | --------------------------------------------------- |
| Battery | Battery level of the device |
| Boot Time | Time the device was turned on |
| CPU Speed | The current CPU speed |
| Displays Connected | Number of displays connected |
| Display Resolution X | Display resolution (across) |
| Display Resolution Y | Display resolution (down) |
| Display Refresh Rate | Display refresh rate |
| Filesystem(s) | Space used for each drive letter / filesystem mount |
| GPU Memory Free | GPU memory free in GB |
| GPU Usage % | GPU usage percentage |
| Kernel | Version information of the Kernel |
| Latest Version | System Bridge Latest Version |
| Load | System load percentage |
| Memory Free | Memory (RAM) free in GB |
| Memory Used | Memory (RAM) used in GB |
| Memory Used % | Memory (RAM) % used |
| Operating System | Version information of the Operating System |
| Version | System Bridge Version |
| Name | Description |
| -------------------- | --------------------------------------------------- |
| Battery | Battery level of the device |
| Boot Time | Time the device was turned on |
| CPU Speed | The current CPU speed |
| Displays Connected | Number of displays connected |
| Display Resolution X | Display resolution (across) |
| Display Resolution Y | Display resolution (down) |
| Display Refresh Rate | Display refresh rate |
| Filesystem(s) | Space used for each drive letter / filesystem mount |
| GPU Memory Free | GPU memory free in GB |
| GPU Usage % | GPU usage percentage |
| Kernel | Version information of the Kernel |
| Latest Version | System Bridge Latest Version |
| Load | System load percentage |
| Memory Free | Memory (RAM) free in GB |
| Memory Used | Memory (RAM) used in GB |
| Memory Used % | Memory (RAM) % used |
| Operating System | Version information of the Operating System |
| Version | System Bridge Version |
These sensors are also available, but are not enabled by default:
| Name | Description |
| ---------------------- | ---------------------------------------- |
| CPU Temperature | The current temperature of the CPU |
| CPU Voltage | The current voltage of the CPU |
| GPU Core Clock Speed | GPU core clock speed in MHz |
| GPU Memory Clock Speed | GPU memory clock speed in MHz |
| GPU Fan Speed | GPU fan speed percentage |
| GPU Memory Used | GPU memory used in GB |
| GPU Memory Used % | GPU memory used percentage |
| GPU Power Usage | GPU power usage |
| GPU Temperature | The current temperature of the GPU |
| Name | Description |
| ---------------------- | ---------------------------------- |
| CPU Temperature | The current temperature of the CPU |
| CPU Voltage | The current voltage of the CPU |
| GPU Core Clock Speed | GPU core clock speed in MHz |
| GPU Memory Clock Speed | GPU memory clock speed in MHz |
| GPU Fan Speed | GPU fan speed percentage |
| GPU Memory Used | GPU memory used in GB |
| GPU Memory Used % | GPU memory used percentage |
| GPU Power Usage | GPU power usage |
| GPU Temperature | The current temperature of the GPU |
## Media Source
@ -86,51 +77,97 @@ This integration is available as a media source to use with the media browser in
## Services
### Notifications `notify.system_bridge_hostname`
You can send notifications to the device using the `notify` platform.
```yaml
service: notify.system_bridge_hostname
data:
data:
image: "https://brands.home-assistant.io/system_bridge/logo@2x.png"
timeout: 30
actions:
- command: api
data:
endpoint: open
method: POST
body:
url: "http://homeassistant.local:8123/lovelace/cameras"
label: "Open Cameras"
audio:
source: "https://d3qhmae9zx9eb.cloudfront.net/home/amzn_sfx_doorbell_chime_02.mp3"
volume: 80
title: "Test Title"
message: "This is a message"
```
#### Parameters
| Parameter | Description |
| --------- | ------------------------------------------------------------ |
| target | The target to send the notification to. This can be ignored. |
| title | The title of the notification. |
| message | The message of the notification. |
| data | The data to send to the device. See below for info. |
##### Actions (`data` parameter)
This is an array of actions that can be sent to the device. These are buttons that show below the title, message and image.
| Parameter | Description |
| --------- | -------------------------------------------------------------------------------------------------------------------------- |
| command | The command to send to the device. For example `api` will send a request to the System Bridge API. |
| label | The label of the button. |
| data | The data to send to the device. The available parameters for the `api` command are: `endpoint`, `method` `body`, `params`. |
Here is an example action that will open a URL in the device's browser:
```yaml
- command: api
label: "Open Cameras"
data:
endpoint: open
method: POST
body:
url: "http://homeassistant.local:8123/lovelace/cameras"
```
##### Audio (`data` parameter)
This is an object containing the `source` and `volume` (0-100). The source must be a URL to a playable audio file (an MP3 for example).
### Service `system_bridge.open_path`
Open a URL or file on the server using the default application.
{% my developer_call_service service="system_bridge.open_path" title="Show service in your Home Assistant instance." %}
```yaml
service: system_bridge.open_path
data:
bridge: "deviceid"
path: "C:\\image.jpg"
```
### Service `system_bridge.open_url`
Open a URL or file on the server using the default application.
{% my developer_call_service service="system_bridge.open_url" title="Show service in your Home Assistant instance." %}
```yaml
service: system_bridge.open_url
data:
bridge: "deviceid"
url: "https://home-assistant.io"
```
### Service `system_bridge.send_keypress`
Send a keypress to the server.
{% my developer_call_service service="system_bridge.send_keypress" title="Show service in your Home Assistant instance." %}
```yaml
service: system_bridge.send_keypress
data:
bridge: "deviceid"
key: "a"
```
### Service `system_bridge.send_text`
Sends text for the server to type.
{% my developer_call_service service="system_bridge.send_text" title="Show service in your Home Assistant instance." %}
```yaml
service: system_bridge.send_text
data:

View File

@ -268,7 +268,92 @@ image:
required: false
type: boolean
default: true
"[all sensor, binary sensor, button, image, number, select entities]":
weather:
description: List of weather entities
required: true
type: map
keys:
condition_template:
description: The current weather condition.
required: true
type: template
temperature_template:
description: The current temperature.
required: true
type: template
dew_point_template:
description: The current dew point.
required: false
type: template
apparent_temperature_template:
description: The current apparent (feels-like) temperature.
required: false
type: template
temperature_unit:
description: Unit for temperature_template output. Valid options are °C, °F, and K.
required: false
type: string
humidity_template:
description: The current humidity.
required: true
type: template
pressure_template:
description: The current air pressure.
required: false
type: template
pressure_unit:
description: Unit for pressure_template output. Valid options are Pa, hPa, kPa, bar, cbar, mbar, mmHg, inHg, psi.
required: false
type: string
wind_speed_template:
description: The current wind speed.
required: false
type: template
wind_gust_speed_template:
description: The current wind gust speed.
required: false
type: template
wind_speed_unit:
description: Unit for wind_speed_template output. Valid options are m/s, km/h, mph, mm/d, in/d, and in/h.
required: false
type: string
wind_bearing_template:
description: The current wind bearing.
required: false
type: template
ozone_template:
description: The current ozone level.
required: false
type: template
cloud_coverage_template:
description: The current cloud coverage.
required: false
type: template
visibility_template:
description: The current visibility.
required: false
type: template
visibility_unit:
description: Unit for visibility_template output. Valid options are km, mi, ft, m, cm, mm, in, yd.
required: false
type: string
forecast_daily_template:
description: Daily forecast data.
required: false
type: template
forecast_hourly_template:
description: Hourly forecast data.
required: false
type: template
forecast_twice_daily_template:
description: Twice daily forecast data.
required: false
type: template
precipitation_unit:
description: Unit for precipitation output. Valid options are km, mi, ft, m, cm, mm, in, yd.
required: false
type: string
"[all sensor, binary sensor, button, image, number, select, weather entities]":
description: Fields that can be used above for sensors, binary sensors, buttons, numbers, and selects.
required: false
type: map

View File

@ -91,7 +91,7 @@ Pick an icon from [Material Design Icons](https://pictogrammers.com/library/mdi/
### Service `timer.start`
Starts or restarts a timer with the provided duration. If no duration is given, it will either restart with its initial value, or continue a paused timer with the remaining duration. If a new duration is provided, this will be the new default for the timer until Home Assistant is restarted (which loads your default values). The duration can be specified as a number of seconds or the easier to read `01:23:45` format.
Starts or restarts a timer with the provided duration. If no duration is given, it will either restart with its initial value, or continue a paused timer with the remaining duration. If a new duration is provided, this will be the duration for the timer until it finishes or is canceled, which then will reset the duration back to the original configured value. The duration can be specified as a number of seconds or the easier to read `01:23:45` format.
You can also use `entity_id: all` and all active timers will be started.
| Service data attribute | Optional | Description |

View File

@ -11,24 +11,20 @@ ha_domain: todoist
ha_platforms:
- calendar
ha_integration_type: integration
ha_config_flow: true
---
This platform allows you to connect to your [Todoist Projects](https://todoist.com) and generate binary sensors. A different sensor will be created for each individual project, or you can specify "custom" projects which match against criteria you set (more on that below). These sensors will be `on` if you have a task due in that project or `off` if all the tasks in the project are completed or if the project doesn't have any tasks at all. All tasks get updated roughly every 15 minutes.
This platform allows you to connect to your [Todoist Projects](https://todoist.com) as [calendar](/integrations/calendar/) entities. A calendar entity will be `on` if you have a task due in that project or `off` if all the tasks in the project are completed or if the project doesn't have any tasks at all. All tasks get updated roughly every 15 minutes.
### Prerequisites
## Prerequisites
You need to determine your Todoist API token. This is fairly simple to do; just go [to the Integrations section on your Todoist settings page](https://todoist.com/app/settings/integrations) and find the section labeled "API token" at the bottom of the page. Copy that token and use it in your configuration file.
### Basic Setup
{% include integrations/config_flow.md %}
To integrate Todoist in Home Assistant, add the following section to your `configuration.yaml` file:
## Custom Projects
```yaml
# Example configuration.yaml entry
calendar:
- platform: todoist
token: YOUR_API_TOKEN
```
You can manually configure the integration using `configuration.yaml` which can specify "custom" projects which match against criteria you set.
{% configuration %}
token:
@ -58,8 +54,7 @@ custom_projects:
type: list
{% endconfiguration %}
### Custom Projects
Creating custom projects is super-easy and quite powerful. All you need to run the basic Todoist projects is your API token, but if you wanted, you could go even deeper. Here's an example:
Here's an example of a more advanced `configuration.yaml`:
```yaml
# Example configuration.yaml entry
@ -94,7 +89,7 @@ You can mix-and-match these attributes to create all sorts of custom projects. Y
Home Assistant does its best to [determine what task in each project is "most" important](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/todoist/calendar.py), and it's that task which has its state reported. You can access the other tasks you have due soon via the `all_tasks` array (see below).
### Sensor attributes
## Calendar Entity attributes
- **offset_reached**: Not used.
@ -122,7 +117,7 @@ Home Assistant does its best to [determine what task in each project is "most" i
- **due_today**: Whether the reported task is due today.
### Services
## Services
Todoist also comes with access to a service, `todoist.new_task`. This service can be used to create a new Todoist task. You can specify labels and a project, or you can leave them blank, and the task will go to your "Inbox" project.

View File

@ -2,7 +2,9 @@
title: Trafikverket Camera
description: Instructions how to integrate Trafikverket Camera within Home Assistant.
ha_category:
- Binary sensor
- Camera
- Sensor
ha_release: 2023.9
ha_iot_class: Cloud Polling
ha_config_flow: true
@ -10,13 +12,17 @@ ha_codeowners:
- '@gjohansson-ST'
ha_domain: trafikverket_camera
ha_platforms:
- binary_sensor
- camera
- sensor
ha_integration_type: integration
---
Retrieve camera feed from [Trafikverket](https://www.trafikverket.se/).
The name of the location needs to be precisely as Trafikverket has them. See examples and look for your camera [here](https://www.trafikverket.se/trafikinformation/vag/?TrafficType=personalTraffic&map=0%2F650778%2F7200000%2F&Layers=TrafficCameras%2B=)
The input provided will be used to search for both the name and the location of the camera. See examples and look for your camera [here](https://www.trafikverket.se/trafikinformation/vag/?TrafficType=personalTraffic&map=0%2F650778%2F7200000%2F&Layers=TrafficCameras%2B=).
When more than one camera has the same name, use the more precise location in your search. Example: If searching for ["Hisingsleden"](https://www.trafikverket.se/trafikinformation/vag/?TrafficType=personalTraffic&map=12%2F312855%2F6401262.65%2F&Layers=TrafficCameras%2B=), then use the more detailed location in your search, for example "Hisingsleden norrut".
## Prerequisites
@ -24,7 +30,21 @@ Please click [here](https://api.trafikinfo.trafikverket.se/) and register to obt
{% include integrations/config_flow.md %}
## Additional attributes
## Binary sensor
- Active
## Sensors
- Active
- Direction (degree of angle the camera is pointing towards)
- Modified (date and time when the record last changed)
- Photo time
- Photo URL
- Status
- Camera type
## Additional attributes available on camera
- Location (placement of camera)
- Description (free text description)

View File

@ -5,12 +5,14 @@ ha_category:
- Binary Sensor
- Utility
ha_release: 0.28
ha_iot_class: Local Push
ha_iot_class: Calculated
ha_quality_scale: internal
ha_domain: trend
ha_platforms:
- binary_sensor
ha_integration_type: integration
ha_codeowners:
- '@jpbede'
---
The `trend` platform allows you to create sensors which show the trend of

View File

@ -10,7 +10,9 @@ ha_iot_class: Local Polling
ha_codeowners:
- '@dr1rrb'
- '@Robbie1221'
- '@Olen'
ha_platforms:
- diagnostics
- light
ha_dhcp: true
ha_integration_type: integration

View File

@ -11,58 +11,13 @@ ha_platforms:
ha_integration_type: integration
ha_codeowners:
- '@joostlek'
ha_config_flow: true
---
The `twitch` platform will allow you to monitor [Twitch](https://www.twitch.tv/) channel status from within Home Assistant and setup automation based on the information.
The Twitch integration will allow you to monitor [Twitch](https://www.twitch.tv/) channel status from within Home Assistant and setup automation based on the information.
## Setup Client ID and Client secret
## Get Twitch application credentials
Create a new app at "Register Your Application" in the [Twitch developer portal](https://dev.twitch.tv/console/apps). Then get the __Client ID__ and __Client secret__ for the new application.
## Setup OAuth Token
To enable the follow and subscription attributes, the OAuth token is needed to get the right permissions on the Twitch API.
If you don't need those, ignore the configuration setting: `token`.
To get the OAuth token, visit the [OAuth Token Generator](https://twitchapps.com/tokengen/#), insert your __Client ID__ and `user:read:subscriptions` inside __scopes__.
Before clicking Summit (the broken image below the form), visit the [Twitch dev console](https://dev.twitch.tv/console) and add a new application.
As __OAuth Redirect URLs__ add `https://twitchapps.com/tokengen/` and click __Create__
.
Back at the Token Generator, click the __Connect__ button, accept the consent screen and get your __OAuth Token__.
## Configuration
To use Twitch with your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
platform: twitch
client_id: YOUR_TWITCH_CLIENT_ID
client_secret: YOUR_TWITCH_CLIENT_SECRET
token: YOUR_TWITCH_OAUTH_TOKEN
channels:
- channel1
- channel2
```
{% configuration %}
client_id:
description: Your Twitch client ID.
required: true
type: string
client_secret:
description: Your Twitch client secret.
required: true
type: string
token:
description: Your Twitch OAuth Token.
required: false
type: string
channels:
description: List of channels names
required: true
type: list
{% endconfiguration %}
{% include integrations/config_flow.md %}

View File

@ -130,12 +130,16 @@ Entities reporting connected clients to a WLAN.
### Uptime sensor
Get entities reporting uptime per network client.
Get entities reporting uptime per network client or UniFi Network device.
### Power Outlet sensor
Get entities reporting the power utilization for outlets that support metrics (such as the AC outlets on the USP-PDU-Pro).
### Device temperature sensor
Get entities reporting the general temperature of a UniFi Network device.
## Firmware updates
This will show if there are firmware updates available for the UniFi network devices connected to the controller. If the configured user has admin privileges, the firmware upgrades can also be installed directly from Home Assistant.

View File

@ -14,6 +14,7 @@ ha_platforms:
- sensor
ha_codeowners:
- '@garbled1'
- '@jhollowe'
ha_config_flow: true
ha_integration_type: integration
---

View File

@ -14,7 +14,6 @@ ha_iot_class: Cloud Polling
ha_domain: verisure
ha_codeowners:
- '@frenck'
- '@niro1987'
ha_platforms:
- alarm_control_panel
- binary_sensor

View File

@ -9,7 +9,7 @@ ha_category:
- Switch
ha_iot_class: Local Polling
ha_codeowners:
- '@flamm3blemuff1n'
- '@imstevenxyz'
ha_domain: versasense
ha_platforms:
- sensor

View File

@ -11,7 +11,9 @@ ha_codeowners:
- '@chemelli74'
ha_iot_class: Local Polling
ha_platforms:
- button
- device_tracker
- sensor
ha_integration_type: integration
---
@ -20,15 +22,10 @@ The Vodafone Station integration allows you to control your [Vodafone Station](h
There is support for the following platform types within Home Assistant:
- **Device tracker** - presence detection by looking at connected devices.
- **Sensor** - external IP address, uptime, firmware, resources and network monitors.
- **Button** - restart router, dsl/fiber/internet key connections.
{% include integrations/config_flow.md %}
## Configuration
The configuration in the UI asks for a a few information: host, username, password and SSL.
Depending on the model of the router, the login URL can be based on http:// or https://.
The default username is `vodafone`.
## Integration options
It is possible to change some behaviors through the integration options.
@ -42,10 +39,9 @@ To change the settings, go to {% my integrations title="**Settings** > **Devices
**Note**: If you don't want to automatically track newly detected devices, disable the integration system option `Enable new added entities`.
### Tested models
This integartion was tested against the following models:
This integration was tested against the following models:
- Vodafone Power Station
- Vodafone WiFi 6 Station
- Vodafone Power Station
- Vodafone WiFi 6 Station

View File

@ -0,0 +1,20 @@
---
title: Wake-word-detection
description: Detect a wake word in streaming audio.
ha_category:
- Voice
ha_release: '2023.9'
ha_codeowners:
- '@balloob'
- '@synesthesiam'
ha_domain: wake_word
ha_integration_type: entity
---
A wake-word-detection entity allows other integrations or applications to detect wake words in streaming audio.
The wake-word-detection entities cannot be implemented manually, but can be provided by integrations such as [Wyoming](/integrations/wyoming). The API in [Assist Pipelines](https://developers.home-assistant.io/docs/voice/pipelines/) enables wake-word-detection as part of [Assist](/voice_control/).
{% include integrations/building_block_integration.md %}

View File

@ -6,11 +6,12 @@ ha_category:
ha_release: 0.34
ha_iot_class: Cloud Polling
ha_codeowners:
- '@andrey-git'
- '@joostlek'
ha_domain: waqi
ha_platforms:
- sensor
ha_integration_type: integration
ha_config_flow: true
---
The `waqi` sensor platform will query [World Air Quality Index](https://aqicn.org/city/beijing/) service to check AQI value for a specific set of locations. The resulting indexes will be added to the Home Assistant as sensor outputs.
@ -19,45 +20,15 @@ The `waqi` sensor platform will query [World Air Quality Index](https://aqicn.or
This sensor requires an API token. Please obtain one at [AQICN API token](https://aqicn.org/data-platform/token/#/).
The locations field is a search for a location. E.g., "brisbane" or "Brisban" would find Brisbane, Australia and all associated stations in the area.
The format for station fields is exactly from the website, e.g., you would provide the location string "[South Brisbane, Australia](http://aqicn.org/city/australia/queensland/south-brisbane/)" for the linked location.
## Configuration
To enable this sensor, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: waqi
token: AQICN_API_TOKEN
locations:
- beijing
```
{% configuration %}
token:
description: The token for the AQICN public API.
required: true
type: string
locations:
description: A list of location names to look for air quality data. In case a specific location has multiple registered stations all of them will be added to Home Assistant.
required: true
type: list
stations:
description: A list of station names to look for air quality data. Station should be within locations specified above.
required: false
type: list
{% endconfiguration %}
{% include integrations/config_flow.md %}
The value reported is an overall AQ index for the location. The values of the index can be interpreted as following:
AQI | Status | Description
------- | :----------------: | ----------
0 - 50 | **Good** | Air quality is considered satisfactory, and air pollution poses little or no risk
51 - 100 | **Moderate** | Air quality is acceptable; however, for some pollutants there may be a moderate health concern for a very small number of people who are unusually sensitive to air pollution
101 - 150 | **Unhealthy for Sensitive Groups** | Members of sensitive groups may experience health effects. The general public is not likely to be affected
151 - 200 | **Unhealthy** | Everyone may begin to experience health effects; members of sensitive groups may experience more serious health effects
201 - 300 | **Very unhealthy** | Health warnings of emergency conditions. The entire population is more likely to be affected
301+ | **Hazardous** | Health alert: everyone may experience more serious health effects
| AQI | Status | Description |
|-----------|:----------------------------------:|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 0 - 50 | **Good** | Air quality is considered satisfactory, and air pollution poses little or no risk |
| 51 - 100 | **Moderate** | Air quality is acceptable; however, for some pollutants there may be a moderate health concern for a very small number of people who are unusually sensitive to air pollution |
| 101 - 150 | **Unhealthy for Sensitive Groups** | Members of sensitive groups may experience health effects. The general public is not likely to be affected |
| 151 - 200 | **Unhealthy** | Everyone may begin to experience health effects; members of sensitive groups may experience more serious health effects |
| 201 - 300 | **Very unhealthy** | Health warnings of emergency conditions. The entire population is more likely to be affected |
| 301+ | **Hazardous** | Health alert: everyone may experience more serious health effects |

View File

@ -0,0 +1,58 @@
---
title: "WeatherFlow"
description: "Instructions on how to integrate your WeatherFlow tempest into Home Assistant."
ha_release: "2023.10"
ha_category:
- Sensor
- Environment
ha_platforms:
- sensor
ha_iot_class: "Local Push"
ha_config_flow: true
ha_codeowners:
- '@natekspencer'
- '@jeeftor'
ha_domain: weatherflow
---
This integration is a local-only WeatherFlow integration that reads weather data from all [WeatherFlow Tempest](https://weatherflow.com/tempest-weather-system/) compatible weather station on the local network.
<div class='note'>
You may see slight deviations between the values reported in Home Assistant and the values in the WeatherFlow App. This is because the WeatherFlow app considers both forecasts and neighboring weather stations in addition to the local data used in this integration.
</div>
{% include integrations/config_flow.md %}
## Sensors
This integration will expose the following sensors:
- Air density
- Air pressure
- Dew point
- Feels like
- Humidity
- Illuminance
- Irradiance
- Lightning average distance
- Lightning count
- Precipitation
- Precipitation amount
- Precipitation type
- Temperature
- UV index
- Vapor pressure
- Wet bulb temperature
- Wind direction
- Wind direction average
- Wind gust
- Wind lull
- Wind speed
## Diagnostic sensors
Additionally the following diagnostic sensors are available:
- Battery voltage
- Signal strength
- Uptime

View File

@ -0,0 +1,52 @@
---
title: Apple WeatherKit
description: Instructions on how to set up Apple WeatherKit with Home Assistant.
ha_category:
- Weather
ha_release: '2023.10'
ha_iot_class: Cloud Polling
ha_config_flow: true
ha_codeowners:
- '@tjhorner'
ha_domain: weatherkit
ha_integration_type: integration
ha_platforms:
- weather
---
The Apple WeatherKit integration obtains current weather and forecasts (hourly and daily) from Apple Weather. It is the most direct replacement for those coming from the Dark Sky API since Apple bought Dark Sky and implemented its technology into their weather service.
There is currently support for the following device types within Home Assistant:
- Weather
## Requirements
You will need a [paid Apple Developer Program account](https://developer.apple.com/support/compare-memberships/) to use this integration.
{% include integrations/config_flow.md %}
### Credentials
You will need to obtain the appropriate credentials which you will use to connect to Apple WeatherKit. We need to register a few things in your Apple Developer account:
1. Go to [Certificates, Identifiers & Profiles](https://developer.apple.com/account/resources/certificates/list) in your Apple Developer account.
2. In the [Keys](https://developer.apple.com/account/resources/authkeys/list) section, add a new key.
1. Name it whatever you want.
2. Select "WeatherKit" from the list.
3. Download the `.p8` file provided. This is your **Private Key**.
4. Write down the **Key ID**. You will need it later.
3. In the [Identifiers](https://developer.apple.com/account/resources/identifiers/list) section, add a new identifier.
1. Select "Services IDs" from the drop-down in the top-right.
2. Enter whatever you'd like for the description.
3. For the identifier, Apple recommends using a reverse-DNS style name, like `com.example.homeassistant`.
4. Save the identifier you used. This is your **Service ID**.
You can add a new WeatherKit integration entry now that you have all the credentials. Using the details from earlier, it should look something like this:
- **Key ID**: `ABC123DEFG`
- **Service ID**: `com.example.homeassistant`
- **Apple team ID**: `ABC123DEFG`
- This value can be found in the top-right of the Apple Developer website.
- **Private key**: `-----BEGIN PRIVATE KEY----- [...]`
- Open the `.p8` file you downloaded earlier in a text editor and copy the contents into this field.

View File

@ -9,6 +9,7 @@ ha_iot_class: Cloud Polling
ha_config_flow: true
ha_codeowners:
- '@vangorra'
- '@joostlek'
ha_domain: withings
ha_platforms:
- binary_sensor
@ -16,11 +17,11 @@ ha_platforms:
ha_integration_type: integration
---
The `withings` sensor platform consumes data from various health products produced by [Withings](https://www.withings.com).
The Withings integration consumes data from various health products produced by [Withings](https://www.withings.com).
## Create a Withings Account
## Create a Withings developer account
You must have a developer account to distribute the data. [Create a free development account](https://account.withings.com/partner/add_oauth2).
You must have a developer account to distribute the data. [Create a free developer account](https://account.withings.com/partner/add_oauth2).
Values for your account:
@ -52,32 +53,7 @@ Withings will validate (with HTTP HEAD) these requirements each time you save yo
{% include integrations/config_flow.md %}
The integration configuration will ask for the *Client ID* and *Client Secret* created above. See [Application Credentials](/integrations/application_credentials) for more details.
## Data updates
Once authorized, the tab/window will close and the integration page will prompt to select a profile. Select the profile you chose while on the Withings site.
- Note: It's important you select the same profile from the previous step. Choosing a different one will result in Home Assistant displaying the wrong data.
Data will synchronize immediately and update under the following conditions:
- If `use_webhook` is enabled:
- Each time Withings notifies Home Assistant of a data change.
- Every 120 minutes.
- If `use_webhook` is not enabled:
- Every 10 minutes.
## Configuration
There are additional configuration options available:
```yaml
# Example configuration.yaml entry
withings:
use_webhook: true
```
{% configuration %}
use_webhook:
description: "Configure Withings to notify Home Assistant when data changes. This also required to populate the in_bed sensor. Note: In order for this to work, your Home Assistant install must be accessible to the internet."
required: false
default: false
type: boolean
{% endconfiguration %}
The integration will automatically detect if you can use webhooks. This will enable the integration only to update when there is new data.
The binary sensor for sleep will only work if the integration can establish webhooks with Withings.

View File

@ -30,7 +30,7 @@ Check the [country list](https://github.com/dr-prodigy/python-holidays#available
{% include integrations/config_flow.md %}
Days are specified as follows: `mon`, `tue`, `wed`, `thu`, `fri`, `sat`, `sun`.
The keyword `holiday` is used for public holidays identified by the holidays module.
The keyword `holiday` is used for public holidays identified by the holidays module and holidays added by the `add_holidays` configuration option.
<div class='note warning'>
@ -40,13 +40,13 @@ Take note of the `holiday` keyword. Your first instinct might be to add it to th
## Specific field information
Country code must be given according to [holidays](https://pypi.org/project/holidays/) notation.
Country code must be given according to [holidays](https://pypi.org/project/holidays/) notation. The country can also be set to `None` to start with an empty set of holidays. This is useful in conjunction with the add holidays field.
Subdivision code must be given according to [holidays](https://pypi.org/project/holidays/) notation.
Add holidays will only take dates formatted with `YYYY-MM-DD`.
Add holidays will only take dates formatted with `YYYY-MM-DD` or a date range formatted with `YYYY-MM-DD,YYYY-MM-DD`.
Remove holidays will take dates formatted with `YYYY-MM-DD` or partial of name, for example, `christmas` will exclude `Christmas Day`.
Remove holidays will take dates formatted with `YYYY-MM-DD`, a date range formatted with `YYYY-MM-DD,YYYY-MM-DD` or partial of name, for example, `christmas` will exclude `Christmas Day`.
The offset can be used to see if future days are workdays. For example, put `1` to see if tomorrow is a workday.

View File

@ -13,12 +13,14 @@ ha_integration_type: integration
ha_platforms:
- stt
- tts
- wake_word
ha_config_flow: true
---
The Wyoming integration connects external voice services to Home Assistant using a [small protocol](https://github.com/rhasspy/rhasspy3/blob/master/docs/wyoming.md). This enables [Assist](/voice_control/) to use a variety of local [speech-to-text](/integrations/stt/) and [text-to-speech](/integrations/tts/) systems, such as:
The Wyoming integration connects external voice services to Home Assistant using a [small protocol](https://github.com/rhasspy/rhasspy3/blob/master/docs/wyoming.md). This enables [Assist](/voice_control/) to use a variety of local [speech-to-text](/integrations/stt/), [text-to-speech](/integrations/tts/), and [wake-word-detection](/integrations/wake_word/) systems, such as:
- Whisper {% my supervisor_addon badge addon="core_whisper" %}
- Piper {% my supervisor_addon badge addon="core_piper" %}
- openWakeWord {% my supervisor_addon badge addon="core_openwakeword" %}
{% include integrations/config_flow.md %}

View File

@ -26,3 +26,14 @@ There is currently support for the following platform within Home Assistant:
During the configuration, you will have to manually set the **Host** and the **Access Token**. You can find them inside your [Yardian App](https://yardian.com/app/).
![Yardian Host/Token Location](/images/integrations/yardian/yardian_config_flow.jpg)
## Services
### yardian.start_irrigation
Start a zone for a given number of minutes. This service accepts an Yardian Zone switch entity and allows a given duration.
| Service Data Attribute | Optional | Description |
| ---------------------- | -------- | ----------------------------------------------------- |
| `entity_id` | yes | The Yardian Zone switch to turn on. |
| `duration` | no | Number of minutes for this zone to be turned on. |

View File

@ -152,7 +152,7 @@ The following features can be accessed from the integration configuration panel:
- **Add device:** Allows you to pre-provision a SmartStart device or start the inclusion process for adding a new device to your network.
- **Remove device:** Starts the exclusion process for removing a device from your network.
- **Heal network:** Forces your network to rediscover routes to the controller from each device. This is useful when devices or the controller have moved to a new location, or if you are having significant problems with your network, but it also generates a lot of network traffic and should be used sparingly.
- **Rebuild network routes:** Forces your network to rediscover routes to the controller from each device. This is useful when devices or the controller have moved to a new location, or if you are having significant problems with your network, but it also generates a lot of network traffic and should be used sparingly.
- **[Controller statistics](https://zwave-js.github.io/node-zwave-js/#/api/controller?id=quotstatistics-updatedquot):** Provides statistics about communication between the controller and other devices, allowing you to troubleshoot your network's RF quality.
- **Third-party data opt-in/out:** Allows you to opt-in or out of telemetry that the Z-Wave JS project collects to help inform development decisions, influence manufacturers, etc. This telemetry is disabled by default and has to be opted in to be activated.
@ -171,7 +171,7 @@ The following features can be accessed from the device panel of a Z-Wave device:
- **Configure:** Provides an easy way to look up and update configuration parameters for the device. While there is an existing service for setting configuration parameter values, this UI may sometimes be quicker to use for one-off changes.
- **Re-interview:** Forces the device to go through the interview process again so that Z-Wave-JS can discover all of its capabilities. Can be helpful if you don't see all the expected entities for your device.
- **Heal:** Forces the device to rediscover its optimal route back to the controller. Use this if you think you are experiencing unexpected delays or RF issues with your device. Your device may be less responsive during this process.
- **Rebuild routes:** Forces the device to rediscover its optimal route back to the controller. Use this if you think you are experiencing unexpected delays or RF issues with your device. Your device may be less responsive during this process.
- **Remove failed:** Forces the controller to remove the device from the controller. Can be used when a device has failed and it can't go through the normal exclusion process.
- **[Statistics](https://zwave-js.github.io/node-zwave-js/#/api/node?id=quotstatistics-updatedquot):** Provides statistics about communication between this device and the controller, allowing you to troubleshoot RF issues with the device.
- **Update:** Updates a device's firmware using a manually uploaded firmware file. Only some devices support this feature (controllers and devices with the Firmware Update Metadata Command Class).
@ -437,6 +437,7 @@ These are notification events fired by devices using the Notification command cl
{
"domain": "zwave_js",
"node_id": 1,
"endpoint": 0,
"home_id": "974823419",
"device_id": "ad8098fe80980974",
"command_class": 113,
@ -459,6 +460,7 @@ These are notification events fired by devices using the Multilevel Switch comma
{
"domain": "zwave_js",
"node_id": 1,
"endpoint": 0,
"home_id": 974823419,
"device_id": "2f44f0d4152be3123f7ad40cf3abd095",
"command_class": 38,
@ -475,6 +477,7 @@ These are notification events fired by devices using the Multilevel Switch comma
{
"domain": "zwave_js",
"node_id": 8,
"endpoint": 0,
"home_id": 3803689189,
"device_id": "2f44f0d4152be3123f7ad40cf3abd095",
"command_class": 38,
@ -493,6 +496,7 @@ These are notification events fired by devices using the Entry Control command c
{
"domain": "zwave_js",
"node_id": 1,
"endpoint": 0,
"home_id": "974823419",
"device_id": "ad8098fe80980974",
"command_class": 111,
@ -822,7 +826,7 @@ _Many_ reported issues result from RF interference caused by the system's USB po
**All users are encouraged to use a USB extension cable to prevent such interference.** Please try such a cable before opening an issue or requesting support on Discord. It will nearly always be the first troubleshooting step that we ask you to take anyway.
After ensuring you are using an extension cable, perform a network heal.
After ensuring you are using an extension cable, rebuild network routes.
The combination of these two steps corrects a large number of reported difficulties.
@ -864,18 +868,37 @@ When trying to determine why something isn't working as you expect, or when repo
2. Select the **Z-Wave** integration. Then, select the three dots.
3. From he dropdown menu, select **Download diagnostics**.
### Interference issues
#### How do I address interference issues?
Many users have reported issues with interference when the USB stick was directly connected to the machine (proximity). If you are having issues, try to use a short USB&nbsp;2.0&nbsp;A (male to female) extension cord.
#### How to access the Z-Wave logs
#### How do I access the Z-Wave logs?
Z-Wave JS writes details to its logs. To access these logs, follow these steps:
##### The easy way
1. Go to {% my integrations title="**Settings** > **Devices & Services**" %}.
2. Select the **Z-Wave** integration. Then, select **Configure**.
3. Open the **Logs** tab.
4. Make sure to keep this browser tab open. Otherwise the logging is not active.
###### Enable Z-Wave JS logging
1. Go to the Z-Wave integration panel: {% my integration badge domain="zwave_js" %}
2. Select `Enable debug logging` on the left-hand side of the screen.
The log level will be set to `debug` for the integration, library, and optionally the driver (if the driver log level is not already set to `verbose`, `debug`, or `silly`), and all Z-Wave JS logs will be added to the Home Assistant logs.
###### Disable Z-Wave JS logging
1. Go to the Z-Wave integration panel: {% my integration badge domain="zwave_js" %}
2. Select `Disable debug logging` on the left-hand side of the screen.
The log level will be reset to its previous value for the integration, library, and driver, and the Home Assistant frontend will automatically send you the Z-Wave logs generated during that time period for download.
##### The advanced way
###### Enable Z-Wave JS logging manually, or via an automation
Set the log level for `zwave_js_server` to `debug`. This can either be done in your `configuration.yaml` in the `logger` section, or using the `logger.set_level` service. When the integration detects that the log level has been set to `debug`, it will also set the Z-Wave JS logs to `debug` if the level isn't already `verbose`, `debug`, or `silly` and will include those logs in the Home Assistant logs. The Z-Wave JS logs can be found under the logger name `zwave_js_server.server`.
###### Disable Z-Wave JS logging manually, or via an automation
Set the log level for `zwave_js_server` to a level higher than `debug`. This can either be done in your `configuration.yaml` in the `logger` section, or using the `logger.set_level` service. The Z-Wave JS logs will no longer be included in the Home Assistant logs, and if the log level of Z-Wave JS was changed by the integration, it will automatically change back to its original level.
## Z-Wave terminology

View File

@ -0,0 +1,403 @@
---
layout: post
title: "2023.10: New looks and more tile card features!"
description: "We added more tile card features, added our beautiful new logo, shiny new My Home Assistant buttons, better password manager support, and more!"
date: 2023-10-04 00:00:00
date_formatted: "October 4, 2023"
author: Franck Nijhof
author_twitter: frenck
comments: true
categories:
- Release-Notes
- Core
og_image: /images/blog/2023-10/social.png
---
<a href='/integrations/#version/2023.10'><img src='/images/blog/2023-10/social.png' style='border: 0;box-shadow: none;'></a>
Home Assistant Core 2023.10! 🎉
October! 🎃 It means we've just celebrated our birthday; we are now 10 years old! 🎂 In case you've missed our
[birthday YouTube stream](https://www.youtube.com/watch?v=EmLV6lJLzSU) with all the cool announcements, we've summed it all up in our [10 year Home Assistant blog post](/blog/2023/09/17/10-years-home-assistant/).
Even more exciting news, as this is [Home Assistant's year of the voice](/blog/2022/12/20/year-of-voice/): Chapter 4 of this endeavor has been announced and will be [streamed live on YouTube](https://www.youtube.com/watch?v=YzgYYkOrnhQ) on 12 October 2023, at 12:00 PDT / 21:00 CEST! Be sure to tune in! I've seen some early demos... All I'm going to say is: It is mind-blowing! 🤯
As for this release, because of all of the above, it is a bit smaller than usual in terms of features. I promise that chapter 4 is going to make it all worth it. Yet, it contains tons of updates, bug fixes, and a couple of beautiful new features for the tile card! 🤩
Enjoy the release!
../Frenck
<!--more-->
- [A beautiful updated logo!](#a-beautiful-updated-logo)
- [Brand new My Home Assistant buttons](#brand-new-my-home-assistant-buttons)
- [New tile card features for climate entities](#new-tile-card-features-for-climate-entities)
- [Tile card feature select entities](#tile-card-feature-select-entities)
- [Password managers and Home Assistant](#password-managers-and-home-assistant)
- [Map entity marker options](#map-entity-marker-options)
- [Other noteworthy changes](#other-noteworthy-changes)
- [New integrations](#new-integrations)
- [Integrations now available to set up from the UI](#integrations-now-available-to-set-up-from-the-ui)
- [Need help? Join the community!](#need-help-join-the-community)
- [Breaking changes](#breaking-changes)
- [All changes](#all-changes)
Don't forget to [join our release party live stream on YouTube](https://www.youtube.com/watch?v=-GDonruFfKc)
4 October 2023, at 12:00 PDT / 21:00 CEST!
<lite-youtube videoid="-GDonruFfKc" videotitle="Home Assistant 2023.10 Release Party"></lite-youtube>
## A beautiful updated logo!
In case you've missed it, we have refreshed the Home Assistant logo! 🤩
<img class='no-shadow' src='/images/blog/2023-09-ha10/home-assistant-logo-new.png' alt='The new Home Assistant logo on a gray background.'>
This was done for the [10th anniversary of Home Assistant](/blog/2023/09/17/10-years-home-assistant/), and you can [read all about this iteration in this blog post](/blog/2023/09/17/a-refreshed-logo-for-home-assistant/). You will start seeing this logo in many more places in the upcoming weeks, but, it is already included this release!
<img class='no-shadow' src='/images/blog/2023-10/home-assistant-about.png' alt='Screenshot showing the new logo showing on the about page in the Home Assistant interface.'>
## Brand new My Home Assistant buttons
It is not just the logo that got a facelift; we have beautiful new buttons for [My Home Assistant] as well 🤩.
<center>
<a href="https://my.home-assistant.io" target="_blank"><img class='no-shadow' src='https://my.home-assistant.io/badges/homeassistant.svg' alt='My Home Assistant logo as a button'></a>
</center><br />
If you're unfamiliar with My Home Assistant, it's a free online tool that enables websites, documentation, chat platforms, and blogs to link to places on your Home Assistant server without knowing its address or being exposed to the internet. This ensures your privacy while still allowing a seamless experience.
In our documentation, you'll find those buttons to, for example, add a new integration to your Home Assistant with a single click! Try it yourself! This button below will open up your Home Assistant's interface and show the integrations
you have installed:
<center>
{% my integrations badge %}
</center>
So, if you see these buttons showing up somewhere, you now know what they do! You can easily create your own buttons and links to share on the [create link] page.
[create link]: https://my.home-assistant.io/create-link/
[My Home Assistant]: https://my.home-assistant.io
## New tile card features for climate entities
In the last release, we added [lots of new features for the tile card](/blog/2023/09/06/release-20239/#lots-of-new-tile-features),
including features specifically for controlling your climate devices. This release, we are adding even more!
[@Weissnix4711] contributed a feature that allows you to add buttons for the presets of your climate device to the tile card. Next,[@piitaya] took it a step further: You can now select which presets you want to show and if you want them in a dropdown list instead of a series of buttons.
<img class='no-shadow' src='/images/blog/2023-10/tile-card-climate-presets.png' alt='Screenshot showing the new preset feature of the tile cards in both button and dropdown variants.'>
The screenshot above shows the same tile card, but one with the buttons and one with the dropdown.
In the options for this tile card feature, you'll be given the choice if you
prefer to show icons or if you rather have a dropdown. You can also pick
which presets you want to show/hide.
[@piitaya]: https://github.com/piitaya
[@Weissnix4711]: https://github.com/Weissnix4711
## Tile card feature select entities
But there is more goodness for the tile card. [@piitaya] also added the dropdown from above as a feature for the select entities, allowing you to select an option from a list of options.
<img class='no-shadow' src='/images/blog/2023-10/tile-card-select.png' alt='Screenshot showing the select feature for the tile card in the Home Assistant interface.'>
This feature can be used for any select entity but also your custom dropdown helpers! (also known as `input_select` entities).
## Password managers and Home Assistant
Using a password manager is arguably one of the best things you can do to
improve your online security. But using them with Home Assistant, depending on
which one you have been using, has been a bit of a pain.
If you've been using one of these password managers that had issues with
Home Assistant, you'll be happy to know that this release fixes that!
For example, 1Password now works!
<img class='no-shadow' src='/images/blog/2023-10/home-assistant-works-with-1password.png' alt='Screenshot from the Home Assistant login screen, that show the use of 1Password'>
## Map entity marker options
The [map card](/dashboards/map/) received new options (thanks [@karwosts]!)
for your entity markers that are shown on the map.
You can now choose if you want the entity name to be rendered on the map
or the entity state, but you could also override the name altogether. You could,
for example, show state values, instead of the name, for the entities providing
gas prices, so you can see where the cheapest gas is.
<center>
<img class='no-shadow' src='/images/blog/2023-10/map-features-prices.png' alt='Screenshot of a map card showing gas prices on the map.'>
</center><br />
When centering the map, all entities on the map are taken into account.
However, you can also exclude certain entities (for example,
known outliers) that should not be considered when doing that.
This is currently only available in the YAML configuration of the map card.
See our [documentation for the map card](/dashboards/map/#label_mode) for
more information.
[@karwosts]: https://github.com/karwosts
## Other noteworthy changes
There are many more improvements in this release; here are some of the other
noteworthy changes this release:
- If you are using [ESPHome], you will notice much smaller Home Assistant
backups when you have [the latest version] installed!
- The [HomeKit Bridge] integration now supports media receivers! Thanks, [@bdraco]!
- [@Lash-L] keeps extending the [Roborock] integration.
In this release, water and last cleaned sensors have been added. Sweet!
- [Withings] received lots of love this release, thanks [@joostlek]! It is now
easier to set up and now also works with the [Home Assistant Cloud] webhooks
for push updates!
- [@allenporter] added calendar support to the [Rain Bird](/integrations/rainbird)
integration, allowing you to see your irrigation schedule in Home Assistant!
Nice!
- The [System Bridge] integration now supports notifications! Thanks, [@timmo001]!
- [@alexyao2015] added a button to [Life360] to trigger a poll to update the
location information. Cool!
- The [picture entity card] now has a fit mode option to control how the image
fits into the card. This lets you decide if the image is clipped, fitted,
or stretched into the displayed card. Thanks [@karwosts]!
- It's now easier than ever to collect [Z-Wave] logs for troubleshooting.
Just [enable debug logging](/integrations/zwave_js#how-do-i-access-the-z-wave-logs)!
[@alexyao2015]: https://github.com/alexyao2015
[@allenporter]: https://github.com/allenporter
[@bdraco]: https://github.com/bdraco
[@joostlek]: https://github.com/joostlek
[@karwosts]: https://github.com/karwosts
[@Lash-L]: https://github.com/Lash-L
[@timmo001]: https://github.com/timmo001
[ESPHome]: https://esphome.io
[Home Assistant Cloud]: https://www.nabucasa.com
[HomeKit Bridge]: /integrations/homekit
[Life360]: /integrations/life360
[picture entity card]: /dashboards/picture-entity/
[Roborock]: /integrations/roborock
[System Bridge]: /integrations/system_bridge
[the latest version]: https://esphome.io/changelog/2023.9.0.html#esphome-2023-9-0-27th-september-2023
[Withings]: /integrations/withings
[Z-Wave]: /integrations/zwave_js
## New integrations
We welcome the following new integrations in this release:
- **[Apple WeatherKit]**, added by [@tjhorner]<br />
Track the weather using Apple's WeatherKit API.
- **[Ecoforest]**, added by [@pjanuario]<br />
Monitor and control your Ecoforest fireplace.
- **[IKEA IDÅSEN Desk]**, added by [@abmantis]<br />
Connect and control the height of your IKEA IDÅSEN motorized desk.
- **[Medcom Bluetooth]**, added by [@elafargue]<br />
Integrates your Medcom radiation monitors.
- **[Private BLE Device]**, added by [@Jc2k]<br />
Track your BLE devices that change their MAC address frequently.
- **[SwitchBot Cloud]**, added by [@SeraphicRav]<br />
Control your SwitchBot devices using the SwitchBot Cloud API.
- **[WeatherFlow]**, added by [@jeeftor]<br />
Integrate your WeatherFlow Tempest Weather System.
This release also has a new virtual integration. Virtual integrations are stubs that are handled by other (existing) integrations to help with findability. The following virtual integration has been added:
- **[Enmax Energy]** provided by [Opower]
[@abmantis]: https://github.com/abmantis
[@elafargue]: https://github.com/elafargue
[@Jc2k]: https://github.com/Jc2k
[@jeeftor]: https://github.com/jeeftor
[@pjanuario]: https://github.com/pjanuario
[@SeraphicRav]: https://github.com/SeraphicRav
[@tjhorner]: https://github.com/tjhorner
[Apple WeatherKit]: /integrations/weatherkit
[Ecoforest]: /integrations/ecoforest
[Enmax Energy]: /integrations/enmax
[IKEA IDÅSEN Desk]: /integrations/idasen_desk
[Medcom Bluetooth]: /integrations/medcom_ble
[Opower]: /integrations/opower
[Private BLE Device]: /integrations/private_ble_device
[SwitchBot Cloud]: /integrations/switchbot_cloud
[WeatherFlow]: /integrations/weatherflow
## Integrations now available to set up from the UI
The following integrations are now available via the Home Assistant UI:
- **[AfterShip]**, done by [@joostlek]
- **[Color extractor]**, done by [@joostlek]
- **[Hunter Hydrawise]**, done by [@dknowles2]
- **[NextBus]**, done by [@ViViDboarder]
- **[Todoist]**, done by [@allenporter]
- **[Twitch]**, done by [@joostlek]
- **[World Air Quality Index (WAQI)]**, done by [@joostlek]
[@allenporter]: https://github.com/allenporter
[@dknowles2]: https://github.com/dknowles2
[@joostlek]: https://github.com/joostlek
[@ViViDboarder]: https://github.com/ViViDboarder
[Aftership]: /integrations/aftership
[Color extractor]: /integrations/color_extractor
[Hunter Hydrawise]: /integrations/hydrawise
[NextBus]: /integrations/nextbus
[Todoist]: /integrations/todoist
[Twitch]: /integrations/twitch
[World Air Quality Index (WAQI)]: /integrations/waqi
## Need help? Join the community!
Home Assistant has a great community of users who are all more than willing
to help each other out. So, join us!
Our very active [Discord chat server](/join-chat) is an excellent place to be
at, and don't forget to join our amazing [forums](https://community.home-assistant.io/).
Found a bug or issue? Please report it in our [issue tracker](https://github.com/home-assistant/core/issues),
to get it fixed! Or, check [our help page](/help) for guidance for more
places you can go.
Are you more into email? [Sign-up for our Building the Open Home Newsletter](/newsletter)
to get the latest news about features, things happening in our community and
other news about building an Open Home; straight into your inbox.
## Breaking changes
{% details "HomeKit Bridge" %}
The HomeKit integration now supports media player receivers. HomeKit expects
receivers to be paired in accessory mode. Existing receivers paired in bridge
mode should be re-added in [accessory mode](/integrations/homekit/#accessory-mode).
([@bdraco] - [#100717]) ([documentation](/integrations/homekit))
[@bdraco]: https://github.com/bdraco
[#100717]: https://github.com/home-assistant/core/pull/100717
{% enddetails %}
{% details "Modbus" %}
The `close_comm_on_error` configuration is no longer optional, sockets will
always be closed on error. Therefore, the `close_comm_on_error` is now
deprecated and will be removed in Home Assistant 2024.3.
([@janiversen] - [#99946]) ([documentation](/integrations/modbus))
[@janiversen]: https://github.com/janiversen
[#99946]: https://github.com/home-assistant/core/pull/99946
{% enddetails %}
{% details "MQTT" %}
An MQTT lock with a configured state topic will initialize with state
`unknown` instead of state `unlocked` unless the lock is set to optimistic mode.
MQTT locks set to optimistic mode will still be initialized with
the `unlocked` state. You should check if your automations are affected.
([@jbouwh] - [#100943]) ([documentation](/integrations/mqtt))
[@jbouwh]: https://github.com/jbouwh
[#100943]: https://github.com/home-assistant/core/pull/100943
{% enddetails %}
{% details "NZBGet" %}
The option to set a custom scan interval in NZBGet via the options UI has been
removed. The update interval is now every 5 seconds.
If you want to restore the custom scan interval behavior,
please see [the `homeassistant.update_entity` service](/common-tasks/general/#defining-a-custom-polling-interval).
([@joostlek] - [#98869]) ([documentation](/integrations/nzbget))
[@joostlek]: https://github.com/joostlek
[#98869]: https://github.com/home-assistant/core/pull/98869
{% enddetails %}
{% details "OpenTherm Gateway" %}
Some of the older binary sensors and sensors from the OpenTherm gateway have
been deprecated since January 2021. They have now been removed. Please use
the new binary sensors and sensors that have been created since.
([@joostlek] - [#99712]) ([documentation](/integrations/opentherm_gw))
[@joostlek]: https://github.com/joostlek
[#99712]: https://github.com/home-assistant/core/pull/99712
{% enddetails %}
{% details "Pentair ScreenLogic" %}
Some entity names have changed. The integration will migrate old entities
to new names/IDs. You may have to manually update old entities used
in, for example, your dashboards.
Invalid entities such as "Saturation Index" are removed
if the required equipment is not configured.
([@dieselrabbit] - [#92475]) ([documentation](/integrations/screenlogic))
[@dieselrabbit]: https://github.com/dieselrabbit
[#92475]: https://github.com/home-assistant/core/pull/92475
{% enddetails %}
{% details "Supervisor" %}
The default name given to backups created with the `hassio.full_backup`
and `hassio.partial_backup` services are no longer the UTC date and time the
backup was initiated. Instead, the local date and time are used for the name.
([@jpbede] - [#100959]) ([documentation](/integrations/hassio))
[@jpbede]: https://github.com/jpbede
[#100959]: https://github.com/home-assistant/core/pull/100959
{% enddetails %}
{% details "Z-Wave" %}
Multiple WebSocket commands have been renamed based on [this change in Z-Wave JS](https://zwave-js.github.io/node-zwave-js/#/getting-started/migrating-to-v12?id=renamed-network-heal-to-rebuild-routes).
With this release, you will need to update your zwave-js-server instance.
You must use zwave-js-server `1.32.0` or greater (schema `32`).
- If you use the Z-Wave JS add-on, you need at least version `0.1.91`.
- If you use the Z-Wave JS UI add-on, you need at least version `2.0.0`.
- If you use the Z-Wave JS UI Docker container, you need at least version `9.0.0`.
- If you run your own Docker container or some other installation method,
you will need to update your zwave-js-server instance to at least `1.32.0`.
([@raman325] - [#100833]) ([documentation](/integrations/zwave_js))
[@raman325]: https://github.com/raman325
[#100833]: https://github.com/home-assistant/core/pull/100833
{% enddetails %}
If you are a custom integration developer and want to learn about breaking
changes and new features available for your integration: Be sure to follow our
[developer blog][devblog]. The following are the most notable for this release:
- [Home Assistant is participating in Hacktoberfest 2023!](https://developers.home-assistant.io/blog/2023/10/01/hacktoberfest-2023)
- [New way of excluding state attributes from recording](https://developers.home-assistant.io/blog/2023/09/20/excluding-state-attributes-from-recording)
- [The websocket command entity/source has been modified](https://developers.home-assistant.io/blog/2023/09/12/ws-entity-source-simplified/)
[devblog]: https://developers.home-assistant.io/blog/
## All changes
Of course, there is a lot more in this release. You can find a list of
all changes made here: [Full changelog for Home Assistant Core 2023.10](/changelogs/core-2023.10)

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB