Merge branch 'current' into next

This commit is contained in:
Franck Nijhof 2023-05-30 13:47:16 +02:00
commit f8f2d41029
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
156 changed files with 3586 additions and 500 deletions

View File

@ -40,6 +40,8 @@ source/_integrations/amp_motorization.markdown @starkillerOG
source/_integrations/analytics.markdown @home-assistant/core @ludeeus
source/_integrations/android_ip_webcam.markdown @engrbm87
source/_integrations/androidtv.markdown @JeffLIrion @ollo69
source/_integrations/androidtv_remote.markdown @tronikos
source/_integrations/anova.markdown @Lash-L
source/_integrations/anthemav.markdown @hyralex
source/_integrations/anwb_energie.markdown @klaasnicolaas
source/_integrations/apache_kafka.markdown @bachya
@ -53,6 +55,7 @@ source/_integrations/aranet.markdown @aschmitz
source/_integrations/arcam_fmj.markdown @elupus
source/_integrations/arris_tg2492lg.markdown @vanbalken
source/_integrations/aseko_pool_live.markdown @milanmeu
source/_integrations/assist_pipeline.markdown @balloob @synesthesiam
source/_integrations/asuswrt.markdown @kennedyshead @ollo69
source/_integrations/atag.markdown @MatsNL
source/_integrations/aten_pe.markdown @mtdcr
@ -94,6 +97,7 @@ source/_integrations/braviatv.markdown @bieniu @Drafteed
source/_integrations/brel_home.markdown @starkillerOG
source/_integrations/broadlink.markdown @danielhiversen @felipediel @L-I-Am
source/_integrations/brother.markdown @bieniu
source/_integrations/brottsplatskartan.markdown @gjohansson-ST
source/_integrations/brunt.markdown @eavanvalkenburg
source/_integrations/bsblan.markdown @liudger
source/_integrations/bswitch.markdown @jafar-atili
@ -123,7 +127,6 @@ source/_integrations/configurator.markdown @home-assistant/core
source/_integrations/control4.markdown @lawtancool
source/_integrations/conversation.markdown @home-assistant/core @synesthesiam
source/_integrations/coolmaster.markdown @OnFreund
source/_integrations/coronavirus.markdown @home-assistant/core
source/_integrations/counter.markdown @fabaff
source/_integrations/cover.markdown @home-assistant/core
source/_integrations/cozytouch.markdown @imicknl @vlebourl @tetienne @nyroDev
@ -163,7 +166,7 @@ source/_integrations/dormakaba_dkey.markdown @emontnemery
source/_integrations/dsmr.markdown @Robbie1221 @frenck
source/_integrations/dsmr_reader.markdown @depl0y @glodenox
source/_integrations/dunehd.markdown @bieniu
source/_integrations/dwd_weather_warnings.markdown @runningman84 @stephan192 @Hummel95
source/_integrations/dwd_weather_warnings.markdown @runningman84 @stephan192 @Hummel95 @andarotajo
source/_integrations/dynalite.markdown @ziv1234
source/_integrations/easyenergy.markdown @klaasnicolaas
source/_integrations/ecobee.markdown @marthoc @marcolivierarsenault
@ -312,7 +315,7 @@ source/_integrations/icloud.markdown @Quentame @nzapponi
source/_integrations/ign_sismologia.markdown @exxamalte
source/_integrations/image_processing.markdown @home-assistant/core
source/_integrations/image_upload.markdown @home-assistant/core
source/_integrations/imap.markdown @engrbm87
source/_integrations/imap.markdown @engrbm87 @jbouwh
source/_integrations/incomfort.markdown @zxdavb
source/_integrations/influxdb.markdown @mdegat01
source/_integrations/inkbird.markdown @bdraco
@ -371,7 +374,7 @@ 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 @Djelibeybi
source/_integrations/lifx.markdown @bdraco
source/_integrations/light.markdown @home-assistant/core
source/_integrations/linux_battery.markdown @fabaff
source/_integrations/litejet.markdown @joncar
@ -421,6 +424,7 @@ source/_integrations/modbus.markdown @adamchengtkc @janiversen @vzahradnik
source/_integrations/modem_callerid.markdown @tkdrob
source/_integrations/modern_forms.markdown @wonderslug
source/_integrations/moehlenhoff_alpha2.markdown @j-a-n
source/_integrations/monessen.markdown @jeeftor
source/_integrations/monoprice.markdown @etsinko @OnFreund
source/_integrations/moon.markdown @fabaff @frenck
source/_integrations/mopeka.markdown @bdraco
@ -467,7 +471,7 @@ source/_integrations/nuheat.markdown @tstabrawa
source/_integrations/nuki.markdown @pschmitt @pvizeli @pree
source/_integrations/numato.markdown @clssn
source/_integrations/number.markdown @home-assistant/core @Shulyaka
source/_integrations/nut.markdown @bdraco @ollo69
source/_integrations/nut.markdown @bdraco @ollo69 @pestevez
source/_integrations/nutrichef.markdown @bdraco
source/_integrations/nws.markdown @MatthewFlamm @kamiyo
source/_integrations/nzbget.markdown @chriscla
@ -508,7 +512,7 @@ source/_integrations/picnic.markdown @corneyl
source/_integrations/pilight.markdown @trekky12
source/_integrations/plaato.markdown @JohNan
source/_integrations/plex.markdown @jjlawren
source/_integrations/plugwise.markdown @CoMPaTech @bouwew @brefra @frenck
source/_integrations/plugwise.markdown @CoMPaTech @bouwew @frenck
source/_integrations/plum_lightpad.markdown @ColinHarrington @prystupa
source/_integrations/point.markdown @fredrike
source/_integrations/poolsense.markdown @haemishkyd
@ -544,6 +548,7 @@ source/_integrations/raincloud.markdown @vanstinator
source/_integrations/rainforest_eagle.markdown @gtdiehl @jcalbert @hastarin
source/_integrations/rainmachine.markdown @bachya
source/_integrations/random.markdown @fabaff
source/_integrations/rapt_ble.markdown @sairon
source/_integrations/raven_rock_mfg.markdown @starkillerOG
source/_integrations/rdw.markdown @frenck
source/_integrations/recollect_waste.markdown @bachya
@ -554,6 +559,7 @@ source/_integrations/renault.markdown @epenet
source/_integrations/reolink.markdown @starkillerOG
source/_integrations/repairs.markdown @home-assistant/core
source/_integrations/repetier.markdown @MTrab @ShadowBr0ther
source/_integrations/rest.markdown @epenet
source/_integrations/rexel.markdown @imicknl @vlebourl @tetienne @nyroDev
source/_integrations/rflink.markdown @javicalle
source/_integrations/rfxtrx.markdown @danielhiversen @elupus @RobBie1221
@ -562,7 +568,7 @@ source/_integrations/ridwell.markdown @bachya
source/_integrations/risco.markdown @OnFreund
source/_integrations/rituals_perfume_genie.markdown @milanmeu
source/_integrations/rmvtransport.markdown @cgtobi
source/_integrations/roborock.markdown @rytilahti @syssi @starkillerOG
source/_integrations/roborock.markdown @humbertogontijo @Lash-L
source/_integrations/roku.markdown @ctalkington
source/_integrations/roomba.markdown @pschmitt @cyr-ius @shenxn
source/_integrations/roon.markdown @pavoni
@ -648,7 +654,7 @@ source/_integrations/speedtestdotnet.markdown @rohankapoorcom @engrbm87
source/_integrations/spider.markdown @peternijssen
source/_integrations/splunk.markdown @Bre77
source/_integrations/spotify.markdown @frenck
source/_integrations/sql.markdown @dgomes @gjohansson-ST
source/_integrations/sql.markdown @dgomes @gjohansson-ST @dougiteixeira
source/_integrations/squeezebox.markdown @rajlaud
source/_integrations/srp_energy.markdown @briglx
source/_integrations/starline.markdown @anonym-tsk
@ -660,7 +666,7 @@ source/_integrations/stiebel_eltron.markdown @fucm
source/_integrations/stookalert.markdown @fwestenberg @frenck
source/_integrations/stookwijzer.markdown @fwestenberg
source/_integrations/stream.markdown @hunterjm @uvjustin @allenporter
source/_integrations/stt.markdown @pvizeli
source/_integrations/stt.markdown @home-assistant/core @pvizeli
source/_integrations/subaru.markdown @G-Two
source/_integrations/suez_water.markdown @ooii
source/_integrations/sun.markdown @Swamp-Ig
@ -714,7 +720,7 @@ 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/tts.markdown @pvizeli
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
@ -722,7 +728,7 @@ source/_integrations/ubiwizz.markdown @imicknl @vlebourl @tetienne @nyroDev
source/_integrations/ukraine_alarm.markdown @PaulAnnekov
source/_integrations/unifi.markdown @Kane610
source/_integrations/unifiled.markdown @florisvdk
source/_integrations/unifiprotect.markdown @briis @AngellusMortis @bdraco
source/_integrations/unifiprotect.markdown @AngellusMortis @bdraco
source/_integrations/upb.markdown @gwww
source/_integrations/upc_connect.markdown @pvizeli @fabaff
source/_integrations/upcloud.markdown @scop
@ -744,12 +750,12 @@ source/_integrations/vermont_castings.markdown @jeeftor
source/_integrations/versasense.markdown @flamm3blemuff1n
source/_integrations/version.markdown @ludeeus
source/_integrations/vesync.markdown @markperdue @webdjoe @thegardenmonkey
source/_integrations/vicare.markdown @oischinger
source/_integrations/vilfo.markdown @ManneW
source/_integrations/vivotek.markdown @HarlemSquirrel
source/_integrations/vizio.markdown @raman325
source/_integrations/vlc_telnet.markdown @rodripf @MartinHjelmare
source/_integrations/voice_assistant.markdown @balloob @synesthesiam
source/_integrations/voip.markdown @balloob @synesthesiam
source/_integrations/volumio.markdown @OnFreund
source/_integrations/volvooncall.markdown @molobrakos
source/_integrations/vulcan.markdown @Antoni-Czaplicki
@ -777,6 +783,7 @@ source/_integrations/wolflink.markdown @adamkrol93
source/_integrations/workday.markdown @fabaff @gjohansson-ST
source/_integrations/worldclock.markdown @fabaff
source/_integrations/ws66i.markdown @ssaenger
source/_integrations/wyoming.markdown @balloob @synesthesiam
source/_integrations/xbox.markdown @hunterjm
source/_integrations/xiaomi_aqara.markdown @danielhiversen @syssi
source/_integrations/xiaomi_ble.markdown @Jc2k @Ernst79

View File

@ -20,7 +20,7 @@ group :jekyll_plugins do
end
gem 'sinatra', '3.0.6'
gem 'nokogiri', '1.14.3'
gem 'nokogiri', '1.15.2'
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
# and associated library

View File

@ -27,7 +27,7 @@ GEM
ffi (1.15.5)
ffi (1.15.5-x64-mingw32)
forwardable-extended (2.6.0)
google-protobuf (3.22.3)
google-protobuf (3.23.2)
http_parser.rb (0.8.0)
i18n (1.13.0)
concurrent-ruby (~> 1.0)
@ -72,8 +72,8 @@ GEM
multi_json (1.15.0)
mustermann (3.0.0)
ruby2_keywords (~> 0.0.1)
nokogiri (1.14.3)
mini_portile2 (~> 2.8.0)
nokogiri (1.15.2)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
@ -87,7 +87,7 @@ GEM
rb-inotify (0.10.1)
ffi (~> 1.0)
rexml (3.2.5)
rouge (4.1.0)
rouge (4.1.1)
ruby2_keywords (0.0.5)
safe_yaml (1.0.5)
sass (3.4.25)
@ -129,7 +129,7 @@ DEPENDENCIES
jekyll-paginate (= 1.1.0)
jekyll-sitemap (= 1.4.0)
jekyll-toc (= 0.18.0)
nokogiri (= 1.14.3)
nokogiri (= 1.15.2)
rake (= 13.0.6)
sass-globbing (= 1.1.5)
sassc (= 2.1.0)

View File

@ -109,9 +109,9 @@ social:
# Home Assistant release details
current_major_version: 2023
current_minor_version: 4
current_patch_version: 6
date_released: 2023-04-21
current_minor_version: 5
current_patch_version: 4
date_released: 2023-05-23
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.

32
package-lock.json generated
View File

@ -10,10 +10,10 @@
"devDependencies": {
"remark-cli": "^11.0.0",
"remark-frontmatter": "^4.0.1",
"remark-lint": "^9.1.1",
"remark-lint-fenced-code-flag": "^3.1.1",
"remark-lint-no-shell-dollars": "^3.1.1",
"remark-stringify": "^10.0.2",
"remark-lint": "^9.1.2",
"remark-lint-fenced-code-flag": "^3.1.2",
"remark-lint-no-shell-dollars": "^3.1.2",
"remark-stringify": "^10.0.3",
"textlint": "^13.3.2",
"textlint-filter-rule-comments": "^1.2.2",
"textlint-rule-common-misspellings": "^1.0.1",
@ -3481,9 +3481,9 @@
}
},
"node_modules/remark-lint": {
"version": "9.1.1",
"resolved": "https://registry.npmjs.org/remark-lint/-/remark-lint-9.1.1.tgz",
"integrity": "sha512-zhe6twuqgkx/9KgZyNyaO0cceA4jQuJcyzMOBC+JZiAzMN6mFUmcssWZyY30ko8ut9vQDMX/pyQnolGn+Fg/Tw==",
"version": "9.1.2",
"resolved": "https://registry.npmjs.org/remark-lint/-/remark-lint-9.1.2.tgz",
"integrity": "sha512-m9e/aPlh7tsvfJfj8tPxrQzD6oEdb9Foko+Ya/6OwUP9EoGMfehv1Qtv26W1DoH58Wn8rT8CD+KuprTWscMmIA==",
"dev": true,
"dependencies": {
"@types/mdast": "^3.0.0",
@ -3496,9 +3496,9 @@
}
},
"node_modules/remark-lint-fenced-code-flag": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/remark-lint-fenced-code-flag/-/remark-lint-fenced-code-flag-3.1.1.tgz",
"integrity": "sha512-FFVZmYsBccKIIEgOtgdZEpQdARtAat1LTLBydnIpyNIvcntzWwtrtlj9mtjL8ZoSRre8HtwmEnBFyOfmM/NWaA==",
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/remark-lint-fenced-code-flag/-/remark-lint-fenced-code-flag-3.1.2.tgz",
"integrity": "sha512-yh4m3dlPmRsqM/BFhpqHYfrmBvFQ+D5dZZKDDYP2rf3YEoXlEVt8T8lWQueTTSxcq6yXAqL/XQL/iqqUHlLcHw==",
"dev": true,
"dependencies": {
"@types/mdast": "^3.0.0",
@ -3514,9 +3514,9 @@
}
},
"node_modules/remark-lint-no-shell-dollars": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/remark-lint-no-shell-dollars/-/remark-lint-no-shell-dollars-3.1.1.tgz",
"integrity": "sha512-Q3Ad1TaOPxbYog5+Of/quPG3Fy+dMKiHjT8KsU7NDiHG6YJOnAJ3f3w+y13CIlNIaKc/MrisgcthhrZ7NsgXfA==",
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/remark-lint-no-shell-dollars/-/remark-lint-no-shell-dollars-3.1.2.tgz",
"integrity": "sha512-np2MDEhXHviXhbQFjnC1QYv5/fxCV1cIHfGMoJpqiW7Zcu/UGCOo5TE3XswZH4ukHZJ65c3X2A6qfLDW+ur3CQ==",
"dev": true,
"dependencies": {
"@types/mdast": "^3.0.0",
@ -3563,9 +3563,9 @@
}
},
"node_modules/remark-stringify": {
"version": "10.0.2",
"resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-10.0.2.tgz",
"integrity": "sha512-6wV3pvbPvHkbNnWB0wdDvVFHOe1hBRAx1Q/5g/EpH4RppAII6J8Gnwe7VbHuXaoKIF6LAg6ExTel/+kNqSQ7lw==",
"version": "10.0.3",
"resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-10.0.3.tgz",
"integrity": "sha512-koyOzCMYoUHudypbj4XpnAKFbkddRMYZHwghnxd7ue5210WzGw6kOBwauJTRUMq16jsovXx8dYNvSSWP89kZ3A==",
"dev": true,
"dependencies": {
"@types/mdast": "^3.0.0",

View File

@ -5,10 +5,10 @@
"devDependencies": {
"remark-cli": "^11.0.0",
"remark-frontmatter": "^4.0.1",
"remark-lint": "^9.1.1",
"remark-lint-fenced-code-flag": "^3.1.1",
"remark-lint-no-shell-dollars": "^3.1.1",
"remark-stringify": "^10.0.2",
"remark-lint": "^9.1.2",
"remark-lint-fenced-code-flag": "^3.1.2",
"remark-lint-no-shell-dollars": "^3.1.2",
"remark-stringify": "^10.0.3",
"textlint": "^13.3.2",
"textlint-filter-rule-comments": "^1.2.2",
"textlint-rule-common-misspellings": "^1.0.1",

View File

@ -124,7 +124,7 @@ header .grid {
.menu li a {
@include box-sizing(border-box);
display: block;
padding: 32px 12px;
padding: 27px 12px;
text-decoration: none;
font-weight: normal;
font-size: 14px;

View File

@ -65,7 +65,7 @@ entity:
type: string
type:
required: false
description: "Sets a custom card type: `custom:my-custom-card`"
description: "Sets a custom card type: `custom:my-custom-card`. It also can be used to force entities with a default special row format to render as a simple state. You can do this by setting the type: `simple-entity`. This can be used, for example, to replace a helper with an editable control with a read-only value."
type: string
name:
required: false

View File

@ -72,6 +72,8 @@
Conditions are an optional part of an automation that will prevent an
action from firing if they are not met.
link: /docs/scripts/conditions/
aliases:
- conditions
- term: Cover
definition: >-
@ -282,6 +284,20 @@
other integrations.
link: /docs/configuration/platform_options/
- term: Reload
definition: >-
Applies the changes made to the Home Assistant configuration files. Changes
are normally automatically updated. However, changes made outside of the front
end will not be reflected in Home Assistant and require a reload.
To perform a manual reload, go to **Settings** > **System** >
**Restart Home Assistant** (top right) > **Quick reload**. More granular
reload options are available in *YAML configuration reloading* section
in **Developer tools** > **YAML**.
excerpt: >
Applies the changes made to Home Assistant configuration files. Changes are normally
automatically updated. However, changes made outside of the front
end will not be reflected in Home Assistant and require a reload.
- term: Scene
definition: >-
Scenes capture the states you want certain entities to be. For example,
@ -335,8 +351,9 @@
A service carries out one specific task, for example: turn on the light in the
living room. A service has targets and data and can be called by actions, a
dashboard, or via voice command.
link: /docs/scripts/service-calls/
aliases:
- services
- term: State
definition: |-

View File

@ -13,11 +13,11 @@ Quick links:
Automations based on a blueprint only need to be configured to be used. What needs to be configured differs on each blueprint.
To create your first automation based on a blueprint, go to **{% my config %}** -> **Automations & Scenes** -> **{% my blueprints %}**. Find the blueprint that you want to use and click on "Create Automation".
To create your first automation based on a blueprint, go to **{% my blueprints title="Settings > Automations & Scenes > Blueprints" %}**. Find the blueprint that you want to use and select **Create Automation**.
This will open the automation editor with the blueprint selected. Give it a name and configure the blueprint and click on the blue button "Save Automation" in the bottom right.
Done! If you want to revisit the configuration values, you can find it by going to **{% my config %}** and then **{% my automations %}**.
Done! If you want to revisit the configuration values, you can find it by going to **Settings** and then **{% my blueprints %}**.
## Importing blueprints

View File

@ -561,8 +561,7 @@ include_entities:
filter:
description: >
When filter options are provided, the entities are limited by entities
that at least match the given conditions. Can be either a object or a list of object.
Can be either a object or a list of object.
that at least match the given conditions. Can be either an object or a list of objects.
type: list
required: false
keys:

View File

@ -3,17 +3,17 @@ title: "Configuration.yaml"
description: "Configuring Home Assistant via text files."
---
While you can configure most of Home Assistant directly from the user interface under {% my config %}, some parts need you to edit `configuration.yaml`. This file contains integrations to be loaded along with their configurations. Throughout the documentation you will find snippets that you can add to your configuration file to enable specific functionality.
While you can configure most of Home Assistant directly from the user interface under {% my config %}, some parts need you to edit `configuration.yaml`. This file contains {% term integrations %} to be loaded along with their configurations. Throughout the documentation you will find snippets that you can add to your configuration file to enable specific functionality.
If you run into trouble while configuring Home Assistant, refer to the [configuration troubleshooting page](/docs/configuration/troubleshooting/) and the [`configuration.yaml` examples](/examples/#example-configurationyaml).
## Editing `configuration.yaml`
The easiest option to edit `configuration.yaml` is to use the {% my supervisor_addon title="Studio Code Server add-on" addon="a0d7b954_vscode" %}. This add-on runs VS Code, which offers live syntax checking and auto-fill of various Home Assistant entities (if unavailable on your system, use {% my supervisor_addon title="File Editor add-on" addon="core_configurator" %} instead).
The easiest option to edit `configuration.yaml` is to use the {% my supervisor_addon title="Studio Code Server add-on" addon="a0d7b954_vscode" %}. This add-on runs VS Code, which offers live syntax checking and auto-fill of various Home Assistant entities. See [here](/common-tasks/supervised/#installing-and-using-the-visual-studio-code-vsc-add-on) for details. If unavailable on your system, use {% my supervisor_addon title="File Editor add-on" addon="core_configurator" %} instead. Again, details can be found [here](/common-tasks/supervised/#installing-and-using-the-file-editor-add-on).
If you prefer to use a file editor on your computer, use the {% my supervisor_addon title="Samba add-on" addon="core_samba" %} to access the files as a network share.
If you prefer to use a file editor on your computer, use the {% my supervisor_addon title="Samba add-on" addon="core_samba" %} to access the files as a network share. More details can be found [here](/common-tasks/supervised/#installing-and-using-the-samba-add-on).
The path to your configuration directory can be found in the Home Assistant frontend by going to {% my system_health title="Settings > System > Repairs > System information from the top right menu" %}
The path to your configuration directory can be found in the Home Assistant {% term frontend %} by going to {% my system_health title="Settings > System > Repairs > System information from the top right menu" %}
![Show system menu option](/images/screenshots/System_information_menu.png)
@ -28,7 +28,7 @@ _If you use Home Assistant Core, you can find `configuration.yaml` in the config
## Reloading changes
Most integrations in Home Assistant that do not interact with devices or services can reload changes made to their configuration in `configuration.yaml`. To do this, go to {% my server_controls title="Developer Tools > YAML" %} and scroll down to the YAML configuration reloading section (alternatively, hit "c" anywhere in the UI and search for it).
Most integrations in Home Assistant that do not interact with {% term devices %} or {% term services %} can reload changes made to their configuration in `configuration.yaml`. To do this, go to {% my server_controls title="Developer Tools > YAML" %} and scroll down to the YAML configuration reloading section (alternatively, hit "c" anywhere in the UI and search for it).
If you can't see your integration listed there, you will need to restart Home Assistant for changes to take effect.
@ -40,6 +40,6 @@ If you can't see your integration listed there, you will need to restart Home As
## Migrating to a new system
The preferred way of migrating to a new system is by {% my supervisor_backups title="making a backup" %}. Once you have created the backup on the old system, you can download it to the system that is running the Home Assistant frontend. When setting up the new system, you may use the backup. Alternatively, you can upload it to your new system using the *Upload backup* menu option of the *Backups* menu. Then, a restore of the uploaded backup on the new system concludes the migration.
The preferred way of migrating to a new system is by {% my supervisor_backups title="making a backup" %}. Once you have created the backup on the old system, you can download it to the system that is running the Home Assistant frontend. When setting up the new system, you may use the backup. Alternatively, you can upload it to your new system using the _Upload backup_ menu option of the _Backups_ menu. Then, a restore of the uploaded backup on the new system concludes the migration.
If you run the container or core installation methods, you will need to manually make a backup of your configuration folder. Be aware that some of the files you need start with `.`, which is hidden by default from both `ls` (in SSH), in Windows Explorer, and macOS Finder. You'll need to ensure that you're viewing all files before you copy them.

View File

@ -0,0 +1,6 @@
---
title: "Configuration.yaml by dannytsang"
description: ""
ha_category: Example configuration.yaml
ha_external_link: https://github.com/dannytsang/homeassistant-config
---

View File

@ -46,6 +46,7 @@
<li>{% active_link /docs/assist/apple/ Assist for Apple devices %}</li>
<li>{% active_link /docs/assist/builtin_sentences/ Built-in sentences %}</li>
<li>{% active_link /docs/assist/custom_sentences/ Custom sentences %}</li>
<li>{% active_link /docs/assist/using_voice_assistants_overview/ Voice assistants - overview %}</li>
<li>{% active_link /docs/assist/voice_remote_expose_devices/ Exposing devices to your voice assistant %}</li>
<li>{% active_link /docs/assist/voice_remote_local_assistant/ Configuring a local assistant %}</li>
<li>{% active_link /docs/assist/troubleshooting/ Troubleshooting Assist %}</li>

View File

@ -5,6 +5,7 @@
<li>{% active_link /installation/ Installation %}</li>
<li>{% active_link /getting-started/onboarding/ Onboarding %}</li>
<li>{% active_link /getting-started/concepts-terminology/ Concepts and terminology %}</li>
<li>{% active_link /getting-started/integration/ Integration %}</li>
<li>{% active_link /getting-started/automation/ Automation %}</li>
<li>
{% active_link /getting-started/presence-detection/ Presence detection

View File

@ -33,7 +33,7 @@ sudo apt-get upgrade -y
Install the dependencies:
```bash
sudo apt-get install -y python3 python3-dev python3-venv python3-pip bluez libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libtiff5 libturbojpeg0-dev tzdata
sudo apt-get install -y python3 python3-dev python3-venv python3-pip bluez libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libtiff5 libturbojpeg0-dev tzdata ffmpeg liblapack3 liblapack-dev libatlas-base-dev
```
The above-listed dependencies might differ or missing, depending on your system or personal use of Home Assistant.

View File

@ -12,15 +12,34 @@ Follow this guide if you want to get started with Home Assistant easily or if yo
We will need a few things to get started with installing Home Assistant. The links below lead to Ameridroid. If youre not in the US, you should be able to find these items in web stores in your country.
To get started we suggest the ODROID N2+, it's the most powerful ODROID. It's fast and with built-in eMMC one of the best boards to run Home Assistant. It's also the board that powers our [Home Assistant Blue](/blue/).
To get started, we suggest the ODROID N2+, the board that powers our [Home Assistant Blue](/blue/), or the ODROID M1.
- [ODROID N2+](https://ameridroid.com/products/odroid-n2-plus?ref=eeb6nfw07e)
- [Power Supply](https://ameridroid.com/products/12v-2a-power-supply-plug?ref=eeb6nfw07e)
- [CR2032 Coin Cell](https://ameridroid.com/products/rtc-bios-battery?ref=eeb6nfw07e)
- [eMMC Module](https://ameridroid.com/products/emmc-module-n2-linux-red-dot?ref=eeb6nfw07e)
- [Case](https://ameridroid.com/products/odroid-n2-case?ref=eeb6nfw07e)
If unavailable, we also recommend the [ODROID C4](https://ameridroid.com/products/odroid-c4?ref=eeb6nfw07e).
If unavailable, we also recommend the [ODROID C4](https://ameridroid.com/products/odroid-c4?ref=eeb6nfw07e) or [ODROID M1](https://ameridroid.com/products/odroid-M1?ref=eeb6nfw07e).
Home Assistant bundles (US market):
The bundles come with Home Assistant pre-installed.
* [ODROID N2+: 2 GB RAM / 16 GB eMMC](https://ameridroid.com/products/odroid-n2-home-assistant-blue-bundle-limited-edition?variant=44748729286935?ref=eeb6nfw07e)
* [ODROID N2+: 4 GB RAM / 64 GB eMMC](https://ameridroid.com/products/odroid-n2-home-assistant-blue-bundle-limited-edition?variant=44748729221399?ref=eeb6nfw07e)
* ODROID M1: 4 GB RAM / 256 GB NVMe / [16 GB &micro;SD](https://ameridroid.com/products/odroid-n2-home-assistant-blue-bundle-limited-edition?variant=44929573028119?ref=eeb6nfw07e) or [16 GB eMMC](https://ameridroid.com/products/odroid-n2-home-assistant-blue-bundle-limited-edition?variant=44994940567831?ref=eeb6nfw07e)
* ODROID M1: 8 GB RAM / 256 GB NVMe / [16 GB &micro;SD](https://ameridroid.com/products/odroid-n2-home-assistant-blue-bundle-limited-edition?variant=44929573093655?ref=eeb6nfw07e) or [16 GB eMMC](https://ameridroid.com/products/odroid-n2-home-assistant-blue-bundle-limited-edition?variant=44994940633367?ref=eeb6nfw07e)
* [ODROID M1: 8 GB RAM / 1 TB NVMe / 64 GB eMMC ](https://ameridroid.com/products/odroid-n2-home-assistant-blue-bundle-limited-edition?variant=44994940698903?ref=eeb6nfw07e)
* ODROID XU4: 2 GB RAM / [32 GB &micro;SD](https://ameridroid.com/products/odroid-n2-home-assistant-blue-bundle-limited-edition?variant=44748729352471?ref=eeb6nfw07e) or [16 GB eMMC](https://ameridroid.com/products/odroid-n2-home-assistant-blue-bundle-limited-edition?variant=44748782305559?ref=eeb6nfw07e)
Variants without pre-installed Home Assistant:
* ODROID N2+, [2 GB RAM](https://ameridroid.com/products/odroid-n2-plus?variant=40371828719650?ref=eeb6nfw07e) or [4 GB RAM](https://ameridroid.com/products/odroid-n2-plus?variant=40371828752418?ref=eeb6nfw07e)
* [ODROID C4](https://ameridroid.com/products/odroid-c4?ref=eeb6nfw07e)
* [ODROID M1](https://ameridroid.com/products/odroid-M1?ref=eeb6nfw07e)
* [Power Supply](https://ameridroid.com/products/12v-2a-power-supply-plug?ref=eeb6nfw07e)
* [CR2032 Coin Cell](https://ameridroid.com/products/rtc-bios-battery?ref=eeb6nfw07e)
* [eMMC Module](https://ameridroid.com/products/emmc-module-n2-linux-red-dot?ref=eeb6nfw07e)
* [Case](https://ameridroid.com/products/odroid-n2-case?ref=eeb6nfw07e)
* These are affiliated links. We get commissions for purchases made through links in this post.*
{% endif %}
@ -146,6 +165,7 @@ _Select and copy the URL or use the "copy" button that appear when you hover it.
![Screenshot of the Etcher software showing the Flash button highlighted.](/images/installation/etcher5.png)
1. When Balena Etcher has finished writing the image, you will see a confirmation.
![Screenshot of the Etcher software showing that the installation has completed.](/images/installation/etcher6.png)
* If you are having issues with Balena Etcher, try version [1.10](https://github.com/balena-io/etcher/releases/tag/v1.10.4).
### Start up your {{site.installation.types[page.installation_type].board}}
@ -211,8 +231,15 @@ If you are running an older Windows version or have a stricter network configura
- [Hyper-V][vhdx] (.vhdx)
{% endif %}
After downloading, decompress the image. If the image comes in a ZIP file, for example, unzip it.
Follow this guide if you already are running a supported virtual machine hypervisor. If you are not familiar with virtual machines, we recommend installing Home Assistant OS directly on a [Home Assistant Yellow](/installation/yellow), a [Raspberry Pi](/installation/raspberrypi), or an [ODROID](/installation/odroid).
{% if page.installation_type == 'macos' %}
- If VirtualBox is not supported on your Mac, and you have experience using virtual machines, you can try running the Home Assistant Operating system on [UTM](https://mac.getutm.app/).
{% endif %}
### Create the virtual machine
Load the appliance image into your virtual machine hypervisor. (Note: You are free to assign as much resources as you wish to the VM, please assign enough based on your add-on needs).

View File

@ -10,8 +10,7 @@ interface, by using this My button:
{% if include.discovery or page.ha_dhcp or page.ha_homekit or page.ha_ssdp or page.ha_zeroconf or page.ha_mqtt %}
{{ name }} can be auto-discovered by Home Assistant. If an instance was found,
it will be shown as _"Discovered"_, which you can select to set it up right
away.
it will be shown as **Discovered**. You can then set it up right away.
{% endif %}
{% details "Manual configuration steps" %}
@ -24,17 +23,17 @@ manually:
{% endif %}
- Browse to your Home Assistant instance.
- In the sidebar click on _**{% my config icon %}**_.
- From the configuration menu select: _**{% my integrations %}**_.
- In the sidebar, select **{% my config icon %}**.
- From the configuration menu, select **{% my integrations %}**.
{% if page.ha_integration_type == 'helper' %}
- In top of the screen click the tab: _**{% my helpers %}**_.
- In the bottom right, click on the
_**{% my config_flow_start icon domain=domain title="Create helper" %}**_ button.
- In top of the screen, select the tab: **{% my helpers %}**.
- In the bottom right, select the
**{% my config_flow_start icon domain=domain title="Create helper" %}** button.
{% else %}
- In the bottom right, click on the
_**{% my config_flow_start icon domain=domain %}**_ button.
- In the bottom right, select the
**{% my config_flow_start icon domain=domain %}** button.
{% endif %}
- From the list, search and select _**"{{ name }}"**_.
- Follow the instruction on screen to complete the set up.
- From the list, search and select **{{ name }}**.
- Follow the instructions on screen to complete the setup.
{% enddetails %}

View File

@ -16,7 +16,7 @@ Polly is a paid service via Amazon Web Services. There is a [free tier](https:/
## Setup
For more information, please read the [AWS General Reference regarding Security Credentials](https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html) to get the needed details. Also, check the [boto3 Documentation](https://boto3.readthedocs.io/en/latest/guide/configuration.html#shared-credentials-file) about the profiles and the [AWS Regions and Endpoints Reference](https://docs.aws.amazon.com/general/latest/gr/rande.html#pol_region) for available regions.
For more information, please read the [AWS General Reference regarding Security Credentials](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds.html) to get the needed details. Also, check the [boto3 Documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html#shared-credentials-file) about the profiles and the [AWS Regions and Endpoints Reference](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints) for available regions.
Available voices are listed in the [Amazon Documentation](https://docs.aws.amazon.com/polly/latest/dg/voicelist.html).

View File

@ -22,6 +22,10 @@ ha_integration_type: device
The Android TV Remote integration allows you to control an Android TV and launching apps. For this to work the Android TV device needs to have [Android TV Remote Service](https://play.google.com/store/apps/details?id=com.google.android.tv.remote.service) which is pre-installed on most devices.
For a quick introduction on how to get started with Android TV Remote, check out this video:
<lite-youtube videoid="htbnf5YxAuw" videotitle="Android TV Remote Integration with Home Assistant"></lite-youtube>
{% include integrations/config_flow.md %}
## Media player

View File

@ -10,6 +10,8 @@ ha_codeowners:
- '@Lash-L'
ha_domain: anova
ha_integration_type: integration
ha_platforms:
- sensor
---
The Anova sensor platform allows you to control [Anova](https://anovaculinary.com/pages/find-your-anova-precision-cooker) sous vides with Wi-Fi capability.

View File

@ -15,7 +15,7 @@ ha_platforms:
ha_integration_type: integration
---
The `arcam_fmj` integration allows you to control [Arcam FMJ Receivers](https://www.arcam.co.uk/range/fmj.htm) from Home Assistant.
The `arcam_fmj` integration allows you to control [Arcam Receivers and Processors](https://www.arcam.co.uk/range/fmj.htm) from Home Assistant.
Supported devices:
@ -41,7 +41,7 @@ Supported devices:
- SA 30
- SR 250
This integration may also work with JBL and AudioControl receivers and processors as they share the same firmware as Arcam.
This integration may also work with [JBL](https://www.jblsynthesis.com/products/electronics/) and [AudioControl](https://www.audiocontrol.com/home-audio/) receivers and processors as they share the same firmware as Arcam.
- SDP-55/58
@ -49,7 +49,11 @@ This integration may also work with JBL and AudioControl receivers and processor
## Power state
Arcam FMJ receivers turn off their network port when in standby, the component will try to reconnect to the receiver every 5 seconds. This means powering on the first zone is not possible over the built-in network connection. Two options for complete power control exists: IR or Serial gateway.
Arcam receivers turn off their network port when in standby, the component will try to reconnect to the receiver every 5 seconds. This means powering on the first zone is not possible over the built-in network connection.
Note: Some newer models offer the ability to configure the device to keep the network port active when in standby mode. This can be found under **HDMI Settings** > **HDMI Bypass & IP**. Enabling **HDMI & IP On** will allow full power control from Home Assistant.
Two other options for complete power control exists: IR or Serial gateway.
### IR command

View File

@ -11,10 +11,18 @@ ha_codeowners:
ha_domain: assist_pipeline
ha_integration_type: integration
ha_quality_scale: internal
ha_platforms:
- select
---
The Assist pipeline integration provides the foundation for the [Assist](/docs/assist/) voice assistant in Home Assistant.
There is no need to manually install this integration. The Assist pipeline integration is part of the default configuration and set up automatically if needed by other integrations.
For most users, there is no need to install this integration manually. The Assist pipeline integration is part of the default configuration and is set up automatically if needed by other integrations.
If you are not using the default integration, you need to add the following to your `configuration.yaml` file:
For more information, refer to the procedure on [configuring a pipeline](/docs/assist/voice_remote_local_assistant/).
```yaml
# Example configuration.yaml entry
assist_pipeline:
```
For more information, refer to the procedure on [configuring a pipeline](/docs/assist/voice_remote_local_assistant/).

View File

@ -15,7 +15,7 @@ The `aws` integration provides a single place to interact with [Amazon Web Servi
## Setup
You have to have an AWS account to use Amazon Web Services, create one [here](https://aws.amazon.com/free/) with a 12 months free tier benefit. Please note, even in the first 12-months, you may still be billed if you use more resources than offered in the free tier. We advise you to monitor your costs in the [AWS Billing Console](https://console.aws.amazon.com/billing/) closely. You can read the [Control your AWS costs](https://aws.amazon.com/getting-started/tutorials/control-your-costs-free-tier-budgets/) guide for more information.
You have to have an AWS account to use Amazon Web Services, create one [here](https://aws.amazon.com/free/) with a 12 months free tier benefit. Please note, even in the first 12-months, you may still be billed if you use more resources than offered in the free tier. We advise you to monitor your costs in the [AWS Billing Console](https://console.aws.amazon.com/billing/) closely. You can read the [Control your AWS costs](https://aws.amazon.com/getting-started/hands-on/control-your-costs-free-tier-budgets/) guide for more information.
The `lambda`, `sns`, `sqs`, and `events` services, used in the `aws` component, all provide an **Always Free** tier for all users even after the 12-month period. The general usage in Home Automation will most likely not reach the free tier limit. Please read [Lambda Pricing](https://aws.amazon.com/lambda/pricing/), [SNS Pricing](https://aws.amazon.com/sns/pricing/), [SQS Pricing](https://aws.amazon.com/sqs/pricing/), and [EventBridge Pricing](https://aws.amazon.com/eventbridge/pricing/) for more details.
@ -104,7 +104,7 @@ context:
## Lambda Notify Usage
AWS Lambda is a notification platform and thus can be controlled by calling the `notify` service [as described here](/integrations/notify/). It will invoke a Lambda for all targets given in the notification payload. A target can be formatted as a function name, an entire ARN ([Amazon Resource Name](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)) or a partial ARN. For more information, please see the [botocore documentation](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/services/lambda.html#Lambda.Client.invoke).
AWS Lambda is a notification platform and thus can be controlled by calling the `notify` service [as described here](/integrations/notify/). It will invoke a Lambda for all targets given in the notification payload. A target can be formatted as a function name, an entire ARN ([Amazon Resource Name](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html)) or a partial ARN. For more information, please see the [botocore documentation](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/services/lambda/client/invoke.html).
The Lambda event payload will contain everything passed in the service call payload. Here is an example payload that would be sent to Lambda:
@ -132,7 +132,7 @@ The context will look like this:
## SNS Notify Usage
AWS SNS is a notification platform and thus can be controlled by calling the `notify` service [as described here](/integrations/notify/). It will publish a message to all targets given in the notification payload. A target must be a SNS topic or endpoint ARN ([Amazon Resource Name](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)). For more information, please see the [botocore documentation](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/services/sns.html#SNS.Client.publish).
AWS SNS is a notification platform and thus can be controlled by calling the `notify` service [as described here](/integrations/notify/). It will publish a message to all targets given in the notification payload. A target must be a SNS topic or endpoint ARN ([Amazon Resource Name](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html)). For more information, please see the [botocore documentation](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/services/sns/client/publish.html).
If one exists, the SNS Subject will be set to the title. All attributes from the payload, except the message, will be sent as stringified message attributes.
@ -158,7 +158,7 @@ If you do not download them, you will lose them and will have to recreate a new
## SQS Notify Usage
AWS SQS is a notification platform and thus can be controlled by calling the `notify` service [as described here](/integrations/notify/). It will publish a message to the queue for all targets given in the notification payload. A target must be a SQS topic URL. For more information, please see the [SQS documentation](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/ImportantIdentifiers.html) and [bototcore documentation](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/services/sqs.html#SQS.Client.send_message)
AWS SQS is a notification platform and thus can be controlled by calling the `notify` service [as described here](/integrations/notify/). It will publish a message to the queue for all targets given in the notification payload. A target must be a SQS topic URL. For more information, please see the [SQS documentation](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-queue-message-identifiers.html) and [botocore documentation](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/services/sqs/client/send_message.html)
The SQS event payload will contain everything passed in the service call payload. SQS payloads will be published as stringified JSON. All attributes from the payload, except message, will also be sent as stringified message attributes. Here is an example message that would be published to the SQS queue:
@ -174,7 +174,7 @@ The SQS event payload will contain everything passed in the service call payload
```
## EventBridge Notify Usage
AWS EventBridge is a notification platform and thus can be controlled by calling the `notify` service [as described here](/integrations/notify/). It will publish a message to the event bus for all targets given in the notification payload. A target must be a name of an event bus accessible by the given credentials. A target is not required, and the default event bus will be used if none are specified. For more information, please see the [EventBridge documentation](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus.html) and [bototcore documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/events.html#EventBridge.Client.put_events)
AWS EventBridge is a notification platform and thus can be controlled by calling the `notify` service [as described here](/integrations/notify/). It will publish a message to the event bus for all targets given in the notification payload. A target must be a name of an event bus accessible by the given credentials. A target is not required, and the default event bus will be used if none are specified. For more information, please see the [EventBridge documentation](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus.html) and [botocore documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/events/client/put_events.html)
There are two options for generating the event detail based on the service call payload. If the `detail` attribute is specified, then its value will be serialized as a JSON object and used for the event detail. If the attribute is not specified, then the value of the `message` attribute is serialized as a simple JSON object with a single key named `message` and the value of the message supplied to the service call.

View File

@ -12,15 +12,15 @@ ha_config_flow: true
ha_integration_type: integration
---
The `Azure Event Hub` integration allows you to hook into the Home Assistant event bus and send events to [Azure Event Hub](https://azure.microsoft.com/en-us/services/event-hubs/) or to an [Azure IoT Hub](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-read-builtin).
The `Azure Event Hub` integration allows you to hook into the Home Assistant event bus and send events to [Azure Event Hub](https://azure.microsoft.com/products/event-hubs/) or to an [Azure IoT Hub](https://learn.microsoft.com/azure/iot-hub/iot-hub-devguide-messages-read-builtin).
## First time setup
This assumes you already have an Azure account. Otherwise create a Free account [here](https://azure.microsoft.com/en-us/free/).
This assumes you already have an Azure account. Otherwise create a Free account [here](https://azure.microsoft.com/free/).
You need to create an Event Hub namespace and an Event Hub in that namespace, you can follow [this guide](https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-create). Alternatively you can directly deploy an ARM template with the namespace and the Event Hub [from here](https://github.com/Azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.eventhub/event-hubs-create-event-hub-and-consumer-group).
You need to create an Event Hub namespace and an Event Hub in that namespace, you can follow [this guide](https://learn.microsoft.com/azure/event-hubs/event-hubs-create). Alternatively you can directly deploy an ARM template with the namespace and the Event Hub [from here](https://github.com/Azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.eventhub/event-hubs-create-event-hub-and-consumer-group).
You must then create a Shared Access Policy for the Event Hub with 'Send' claims or use the RootManageAccessKey from your namespace (this key has additional claims, including managing the event hub and listening, which are not needed for this purpose), for more details on the security of Event Hubs [go here](https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-authentication-and-security-model-overview).
You must then create a Shared Access Policy for the Event Hub with 'Send' claims or use the RootManageAccessKey from your namespace (this key has additional claims, including managing the event hub and listening, which are not needed for this purpose), for more details on the security of Event Hubs [go here](https://learn.microsoft.com/azure/event-hubs/authenticate-shared-access-signature).
Once you have the name of your namespace, instance, Shared Access Policy and the key for that policy, you can setup the integration itself.
@ -94,10 +94,10 @@ filter:
## Using the data in Azure
There are a number of ways to stream the data that comes into the Event Hub into storages in Azure, the easiest way is to use the built-in Capture function and this allows you to capture the data in Azure Blob Storage or Azure Data Lake store, [details here](https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-capture-overview).
There are a number of ways to stream the data that comes into the Event Hub into storages in Azure, the easiest way is to use the built-in Capture function and this allows you to capture the data in Azure Blob Storage or Azure Data Lake store, [details here](https://learn.microsoft.com/azure/event-hubs/event-hubs-capture-overview).
Other storages in Azure (and outside) are possible with an [Azure Stream Analytics job](https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-define-inputs#stream-data-from-event-hubs), for instance for [Cosmos DB](https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-documentdb-output), [Azure SQL DB](https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-sql-output-perf), [Azure Table Storage](https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-define-outputs#table-storage), custom writing to [Azure Blob Storage](https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-custom-path-patterns-blob-storage-output) and [Topic and Queues](https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-quick-create-portal#configure-job-output).
Other storages in Azure (and outside) are possible with an [Azure Stream Analytics job](https://learn.microsoft.com/azure/stream-analytics/stream-analytics-define-inputs#stream-data-from-event-hubs), for instance for [Cosmos DB](https://learn.microsoft.com/azure/stream-analytics/stream-analytics-documentdb-output), [Azure SQL DB](https://learn.microsoft.com/azure/stream-analytics/stream-analytics-sql-output-perf), [Azure Table Storage](https://learn.microsoft.com/azure/stream-analytics/stream-analytics-define-outputs), custom writing to [Azure Blob Storage](https://learn.microsoft.com/azure/stream-analytics/stream-analytics-custom-path-patterns-blob-storage-output) and [Topic and Queues](https://learn.microsoft.com/azure/stream-analytics/stream-analytics-quick-create-portal#configure-job-output).
On the analytical side, Event Hub can be directly fed into [Azure Databricks Spark](https://docs.microsoft.com/en-us/azure/azure-databricks/databricks-stream-from-eventhubs?toc=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Fevent-hubs%2FTOC.json&bc=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Fbread%2Ftoc.json), [Azure Time Series Insights](https://docs.microsoft.com/en-us/azure/time-series-insights/time-series-insights-how-to-add-an-event-source-eventhub) and [Microsoft Power BI](https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-tutorial-visualize-anomalies).
On the analytical side, Event Hub can be directly fed into [Azure Databricks Spark](https://learn.microsoft.com/azure/databricks/structured-streaming/streaming-event-hubs), [Azure Time Series Insights](https://learn.microsoft.com/azure/time-series-insights/how-to-ingest-data-event-hub) and [Microsoft Power BI](https://learn.microsoft.com/azure/stream-analytics/stream-analytics-real-time-fraud-detection).
The final way to use the data in Azure is to connect an Azure Function to the Event Hub using the [Event Hub trigger binding](https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-event-hubs).
The final way to use the data in Azure is to connect an Azure Function to the Event Hub using the [Event Hub trigger binding](https://learn.microsoft.com/azure/azure-functions/functions-bindings-event-hubs).

View File

@ -13,15 +13,15 @@ ha_platforms:
ha_integration_type: integration
---
The `Azure Service Bus` integration allows you to send messages to [Azure Service Bus](https://azure.microsoft.com/en-us/services/service-bus/) from within Home Assistant.
The `Azure Service Bus` integration allows you to send messages to [Azure Service Bus](https://azure.microsoft.com/products/service-bus/) from within Home Assistant.
## First-time setup
This assumes you already have an Azure account. Otherwise, create a free account [here](https://azure.microsoft.com/en-us/free/).
This assumes you already have an Azure account. Otherwise, create a free account [here](https://azure.microsoft.com/free/).
You need to create a Service Bus namespace; you can follow [this guide](https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-create-namespace-portal).
You need to create a Service Bus namespace; you can follow [this guide](https://learn.microsoft.com/azure/service-bus-messaging/service-bus-quickstart-portal#create-a-namespace-in-the-azure-portal).
You must then create a Shared Access Policy for the Service Bus with `Send` claims or use the RootManageAccessKey from your namespace (this key has additional claims, including managing the event hub and listening, which are not needed for this purpose), for more details on the security of Service Bus [go here](https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-authentication-and-authorization#shared-access-signature). Alternatively you can create a dedicated key for only one queue or topic, to restrict access to only that queue or topic.
You must then create a Shared Access Policy for the Service Bus with `Send` claims or use the RootManageAccessKey from your namespace (this key has additional claims, including managing the event hub and listening, which are not needed for this purpose), for more details on the security of Service Bus [go here](https://learn.microsoft.com/azure/service-bus-messaging/service-bus-authentication-and-authorization#shared-access-signature). Alternatively you can create a dedicated key for only one queue or topic, to restrict access to only that queue or topic.
Once you have the connection string with `Send` policy, you can set up the integration itself.

View File

@ -36,12 +36,10 @@ state over the other. This is set by the binary sensor's device class.
Here are a few examples of this representation in the UI:
<p class='img'>
<img src='/images/screenshots/binary_sensor_classes_icons.png' />
![List of binary sensors](/images/screenshots/binary_sensor_classes_icons.png)
Example of various device classes icons in `on` and `off` state. The on image
in this example has `state_color: true` specified in the Entities card
configuration to receive the icon coloring.
</p>
The full list of supported binary sensor device classes is below
*(note: these may also be modified in the [customizing section](/docs/configuration/customizing-devices)).*

View File

@ -69,7 +69,7 @@ availability_topic:
required: false
type: string
device:
description: "Information about the device this binary sensor is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/integrations/mqtt/#mqtt-discovery) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device."
description: "Information about the device this binary sensor is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/device_registry_index/). Only works through [MQTT discovery](/integrations/mqtt/#mqtt-discovery) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device."
required: false
type: map
keys:
@ -129,7 +129,7 @@ encoding:
type: string
default: "utf-8"
entity_category:
description: The [category](https://developers.home-assistant.io/docs/core/entity#generic-properties) of the entity.
description: The [category](https://developers.home-assistant.io/docs/core/entity/#generic-properties) of the entity.
required: false
type: string
default: None

View File

@ -86,6 +86,7 @@ If you experience an unreliable Bluetooth connection, installing a short USB ext
- DIGITUS DN-30210-1 (CSR8510A10)
- Enbiawit BT403 (CSR8510A10)
- Feasycom FSC-BP119 (CSR8510A10) 📶
- Gold Touch E-USB-BT4 (CSR8510A10)
- HIDEEZ BT0015-01 (CSR8510A10)
- Maxesla CSR 4.0 (CSR8510A10)
- Nuu You BT40 (CSR8510A10)

View File

@ -7,6 +7,7 @@ ha_category:
- Car
- Lock
- Notifications
- Number
- Presence Detection
- Select
- Sensor
@ -25,6 +26,7 @@ ha_platforms:
- diagnostics
- lock
- notify
- number
- select
- sensor
- switch
@ -51,6 +53,7 @@ This integration provides the following platforms:
- [Buttons](/integrations/bmw_connected_drive/#buttons): Turn on air condition, sound the horn, flash the lights, update the vehicle location and update the state.
- [Selects](/integrations/bmw_connected_drive/#selects): Display and control charging related settings for (PH)EVs.
- [Switches](/integrations/bmw_connected_drive/#switches): Display and toggle settings on your car.
- [Numbers](/integrations/bmw_connected_drive/#numbers): Display and control numeric charging related settings for (PH)EVs.
## Configuration
@ -154,6 +157,14 @@ Using these selects will impact the state of your vehicle, use them with care!
- **Climate**: Toggle vehicle climatization. It is not possible to force it to heating/cooling, the vehicle will decide on its own. If turned on, it will run for 30 minutes (as if toggled via the MyBMW app).
- **Charging**: Toggle vehicle charging if plugged in. Only available on some electric vehicles.
## Numbers
If you have a (PH)EV, you can control the charging process through Home Assistant. The number entities are created automatically depending on your vehicle's capabilities and can be changed from the UI or using the `number.set_value` service. For more information, please see the [number documentation](/integrations/number/).
Using these selects will impact the state of your vehicle, use them with care!
- **Target SoC**: Vehicle will charge until this battery level is reached. Not available on all EVs.
## Disclaimer
This software is not affiliated with or endorsed by BMW Group.

View File

@ -629,25 +629,36 @@ Learning RF Frequency, press and hold the button to learn...
Press and hold a button on the remote.
You will know it succeeded when you see the following text:
```txt
Found RF Frequency - 1 of 2!
You can now let go of the button
Press enter to continue...
```
Press enter.
If the attempt fails, you will see the error:
```txt
To complete learning, single press the button you want to learn
RF Frequency not found
```
If a failure occurs, you may need to simply keep pressing the button during the `Learning RF Frequency` step, as some remotes appear to not continuously transmit when buttons are held.
Short press the button and you get the code:
After a success, do one of the following two options:
```txt
Found RF Frequency - 2 of 2!
b2002c0111211011211121112111212110112122101121112111202210211121112110221011211121112121102210112121111021112221101121211100017b10211111211121102111212210112121111121102111212210211121102210211111211121102122102111112121101121112122101121211000017c10211111211022102111212210112121111022102112202210211121102210221011211022102122102210112121101122102122101121211100017b10211111211121102210212210112122101121102210212210221021112110221011211121112121102210112121111121102122101121221000017b1121101121112111211121211110212210112111211121211121102210211121101121112111212111211011222110112111212111112121100005dc000000000000000000000000
Base64: b'sgAsAREhEBEhESERIREhIRARISIQESERIREgIhAhESERIRAiEBEhESERISEQIhARISERECERIiEQESEhEQABexAhEREhESEQIREhIhARISERESEQIREhIhAhESEQIhAhEREhESEQISIQIRERISEQESERISIQESEhEAABfBAhEREhECIQIREhIhARISERECIQIRIgIhAhESEQIhAiEBEhECIQISIQIhARISEQESIQISIQESEhEQABexAhEREhESEQIhAhIhARISIQESEQIhAhIhAiECERIRAiEBEhESERISEQIhARISERESEQISIQESEiEAABexEhEBEhESERIREhIREQISIQESERIREhIREhECIQIREhEBEhESERISERIRARIiEQESERISERESEhEAAF3AAAAAAAAAAAAAAAAA=='
```
1. To learn a single button press RF code, press enter and follow the prompt:
```txt
To complete learning, single press the button you want to learn
```
Short press the button and you get the code:
```txt
Found RF Frequency - 2 of 2!
b2002c0111211011211121112111212110112122101121112111202210211121112110221011211121112121102210112121111021112221101121211100017b10211111211121102111212210112121111121102111212210211121102210211111211121102122102111112121101121112122101121211000017c10211111211022102111212210112121111022102112202210211121102210221011211022102122102210112121101122102122101121211100017b10211111211121102210212210112122101121102210212210221021112110221011211121112121102210112121111121102122101121221000017b1121101121112111211121211110212210112111211121211121102210211121101121112111212111211011222110112111212111112121100005dc000000000000000000000000
Base64: b'sgAsAREhEBEhESERIREhIRARISIQESERIREgIhAhESERIRAiEBEhESERISEQIhARISERECERIiEQESEhEQABexAhEREhESEQIREhIhARISERESEQIREhIhAhESEQIhAhEREhESEQISIQIRERISEQESERISIQESEhEAABfBAhEREhECIQIREhIhARISERECIQIRIgIhAhESEQIhAiEBEhECIQISIQIhARISEQESIQISIQESEhEQABexAhEREhESEQIhAhIhARISIQESEQIhAhIhAiECERIRAiEBEhESERISEQIhARISERESEQISIQESEiEAABexEhEBEhESERIREhIREQISIQESERIREhIREhECIQIREhEBEhESERISERIRARIiEQESERISERESEhEAAF3AAAAAAAAAAAAAAAAA=='
```
2. To learn a button hold RF code, hold the button you wish to learn for 1-2 seconds then immediately press enter.
* You will see the same prompts for a short press as shown above. You should see it return a different base64 code.
* Test the base64 code to ensure it performs the button 'hold' command as expected, rather than the button 'press' command.
* This might take some trial and error to get the hold timing right before hitting enter to scan for the code.
### Conversion of codes from other projects

View File

@ -180,3 +180,17 @@ data:
start_date: "2022-10-01"
end_date: "2022-10-02"
```
Home Assistant Calendars do not allow zero duration Calendar events. The following would create a one minute long event starting "now". This could be used to record an external event in a Calendar.
{% raw %}
```yaml
service: calendar.create_event
target:
entity_id: calendar.device_automation_schedules
data:
summary: "Example"
start_date_time: "{{ now() }}"
end_date_time: "{{ now() + timedelta(minutes=1) }}"
```
{% endraw %}

View File

@ -23,7 +23,7 @@ The setup requires an API Token created with `Zone:Zone:Read` and `Zone:DNS:Edit
An easy way to create this is to start with the "Edit zone DNS" template then add `Zone:Zone:Read` to the permissions.
[Cloudflare API Tokens Guide](https://developers.cloudflare.com/api/tokens/create)
[Cloudflare API Tokens Guide](https://developers.cloudflare.com/fundamentals/api/get-started/create-token/)
{% include integrations/config_flow.md %}

View File

@ -4,8 +4,8 @@ description: Instructions on how to integrate the Command Line utility within Ho
ha_category:
- Binary Sensor
- Cover
- Sensor
- Notifications
- Sensor
- Utility
ha_release: 0.12
ha_iot_class: Local Polling

View File

@ -15,7 +15,7 @@ Home Assistant can give you an interface to control covers such as rollershutter
## Device Class
The way these sensors are displayed in the frontend can be modified in the [customize section](/docs/configuration/customizing-devices/). The following device classes are supported for covers:
The way these {% term sensors %} are displayed in the {% term frontend %} can be modified in the [customize section](/docs/configuration/customizing-devices/). The following device classes are supported for covers:
- **None**: Generic cover. This is the default and doesn't need to be set.
- **awning**: Control of an awning, such as an exterior retractable window, door, or patio cover.
@ -31,7 +31,8 @@ The way these sensors are displayed in the frontend can be modified in the [cust
Here are a few examples of this representation in the UI:
<p class='img'><img src='/images/screenshots/cover_classes_icons.png' />Example of various device classes icons in `open` and `closed` state. The open image in this example has `state_color: true` specified in the Entities card configuration to receive the icon coloring.</p>
![List of cover examples](/images/screenshots/cover_classes_icons.png)
Example of various device classes icons in `open` and `closed` state. The open image in this example has `state_color: true` specified in the Entities card configuration to receive the icon coloring.
## Services
@ -43,6 +44,19 @@ Available services: `cover.open_cover`, `cover.close_cover`, `cover.stop_cover`,
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of covers. Use `entity_id: all` to target all.
#### Automation example
```yaml
automation:
trigger:
platform: time
at: "07:15:00"
action:
- service: cover.open_cover
target:
entity_id: cover.demo
```
### Service `cover.set_cover_position`
Set cover position of one or multiple covers.

View File

@ -10,11 +10,11 @@ ha_domain: dialogflow
ha_integration_type: integration
---
The `dialogflow` integration is designed to be used with the [webhook](https://dialogflow.com/docs/fulfillment#webhook) integration of [Dialogflow](https://dialogflow.com/). When a conversation ends with a user, Dialogflow sends an action and parameters to the webhook.
The `dialogflow` integration is designed to be used with the [webhook](https://cloud.google.com/dialogflow/es/docs/fulfillment-webhook) integration of [Dialogflow](https://cloud.google.com/dialogflow/docs/). When a conversation ends with a user, Dialogflow sends an action and parameters to the webhook.
To be able to receive messages from Dialogflow, your Home Assistant instance needs to be accessible from the web and you need to have the external URL [configured](/docs/configuration/basic). Dialogflow will return fallback answers if your server does not answer or takes too long (more than 5 seconds).
Dialogflow could be [integrated](https://dialogflow.com/docs/integrations/) with many popular messaging, virtual assistant and IoT platforms.
Dialogflow could be [integrated](https://cloud.google.com/dialogflow/es/docs/integrations) with many popular messaging, virtual assistant and IoT platforms.
Using Dialogflow will be easy to create conversations like:
@ -38,7 +38,7 @@ To get the webhook URL, go to the integrations page in the configuration screen
- [Login](https://console.dialogflow.com/) with your Google account.
- Click on "Create Agent".
- Select name, language (if you are planning to use Google Actions check their [supported languages](https://support.google.com/assistant/answer/7108196?hl=en)) and time zone.
- Select name, language (if you are planning to use Google Actions check their [supported languages](https://support.google.com/assistant/answer/7108196)) and time zone.
- Click "Save".
- Now go to "Fulfillment" (in the left menu).
- Enable Webhook and set your Dialogflow webhook URL as the endpoint, e.g., `https://myhome.duckdns.org/api/webhook/800b4cb4d27d078a8871656a90854a292651b20635685f8ea23ddb7a09e8b417`
@ -66,7 +66,7 @@ When activated, the [`alexa` integration](/integrations/alexa/) will have Home A
## Examples
Download [this zip](https://github.com/home-assistant/home-assistant.io/blob/next/source/assets/HomeAssistant_APIAI.zip) and load it in your Dialogflow agent (**Settings** -> **Export and Import**) for examples intents to use with this configuration:
Download [this zip](https://github.com/home-assistant/home-assistant.io/blob/current/source/assets/HomeAssistant_APIAI.zip) and load it in your Dialogflow agent (**Settings** -> **Export and Import**) for examples intents to use with this configuration:
{% raw %}

View File

@ -35,27 +35,25 @@ The name you give your application on the [Discord My Apps page](https://discord
### Setting up the bot
Bots can send messages to servers and users or attach locally available images. To add the bot to a server you are an admin on use the **Application ID** you noted above, found on the [Discord My Apps page](https://discordapp.com/developers/applications/me).
Bots can send messages to servers and users or attach locally available images. To add the bot to a server you are an admin on, use the **Application ID** you noted above, found on the [Discord My Apps page](https://discordapp.com/developers/applications/me).
<p class='img'>
<img src='/images/screenshots/discord-bot.png' />
</p>
![Screenshot of Discord bot config](/images/screenshots/discord-bot.png)
Now use the Discord Authorization page with the **Application ID** of your [application](https://discordapp.com/developers/docs/topics/oauth2#bots).
Next, decide what permissions your bot will have within your server. Under the 'Bot' section, select the permissions you want to grant and copy the permissions integer from the bottom field.
`https://discordapp.com/api/oauth2/authorize?client_id=[APPLICATION_ID]&scope=bot&permissions=0`
![Screenshot of Discord bot permissions](/images/screenshots/discord-bot-permissions.png)
<p class='img'>
<img src='/images/screenshots/discord-auth.png' />
</p>
Now use the Discord Authorization page with the **Application ID** of your [application](https://discordapp.com/developers/docs/topics/oauth2#bots) and the **Permissions Integer**.
`https://discordapp.com/api/oauth2/authorize?client_id=[APPLICATION_ID]&scope=bot&permissions=[PERMISSIONS_INTEGER]`
![Screenshot of Discord bot auth](/images/screenshots/discord-auth.png)
Wait for the confirmation which should say "Authorized".
Once the bot has been added to your server, get the channel ID of the channel you want the bot to operate in. In The Discord application go to **Settings** > **Advanced** > **Enable Developer Mode**.
<p class='img'>
<img src='/images/screenshots/discord-api.png' />
</p>
![Screenshot of Discord bot create prompt](/images/screenshots/discord-api.png)
Right click channel name and copy the channel ID (**Copy ID**).

View File

@ -27,7 +27,7 @@ The following steps must be performed to set up this integration. For security r
2. Pick your station -> Menu Others -> DIY Upload Servers.
3. Hit next and select 'Customized'
4. Pick the protocol Ecowitt, and put in the ip/hostname of your Home Assistant server.
5. Path have to match!
5. Path has to match! If using the Ecowitt App, remove the first forward slash from the API token, as the app will prepend one.
6. Save configuration.
Ecowitt doesn't support TLS/SSL, you can use the NGINX TLS Proxy Add-on to support HTTPS and HTTP at the same time.

View File

@ -15,7 +15,7 @@ ha_integration_type: integration
---
The FAA Delays integration collects and displays information about delays at US Airports based on the
[FAA's National Airspace System Status](https://www.fly.faa.gov/ois/).
[FAA's National Airspace System Status](https://nasstatus.faa.gov/).
Data measured includes:

View File

@ -25,7 +25,7 @@ notify:
{% configuration %}
page_access_token:
description: "Access token for your Facebook page. Checkout [Facebook Messenger Platform](https://developers.facebook.com/docs/messenger-platform/guides/setup) for more information."
description: "Access token for your Facebook page. Checkout [Facebook Messenger Platform](https://developers.facebook.com/docs/messenger-platform/webhooks) for more information."
required: true
type: string
name:
@ -37,8 +37,8 @@ name:
### Usage
With Facebook notify service, you can send your notifications to your Facebook messenger with help of your Facebook page. You have to create a [Facebook Page and App](https://developers.facebook.com/docs/messenger-platform/guides/quick-start) for this service. You can control it by calling the notify service [as described here](/integrations/notify/). It will send a message on messenger to user specified by **target** on behalf of your page. See the [quick start](https://developers.facebook.com/docs/messenger-platform/guides/quick-start) guide for more information.
The phone number used in **target** should be registered with Facebook messenger. Phone number of the recipient should be in +1(212)555-2368 format. If your app is not approved by Facebook then the recipient should by either admin, developer or tester for your Facebook app. [More information](https://developers.facebook.com/docs/messenger-platform/send-api-reference#phone_number) about the phone number.
With Facebook notify service, you can send your notifications to your Facebook messenger with help of your Facebook page. You have to create a [Facebook Page and App](https://developers.facebook.com/docs/messenger-platform/getting-started/quick-start) for this service. You can control it by calling the notify service [as described here](/integrations/notify/). It will send a message on messenger to user specified by **target** on behalf of your page. See the [quick start](https://developers.facebook.com/docs/messenger-platform/getting-started/quick-start) guide for more information.
The phone number used in **target** should be registered with Facebook messenger. Phone number of the recipient should be in +1(212)555-2368 format. If your app is not approved by Facebook then the recipient should by either admin, developer or tester for your Facebook app. [More information](https://developers.facebook.com/docs/messenger-platform/reference/send-api#phone_number) about the phone number.
```yaml
# Example automation notification entry
@ -102,7 +102,7 @@ if (preg_match('/get my id/', strtolower($message))) {
```
### Rich messages
You could also send rich messing (cards, buttons, images, videos, etc). [Info](https://developers.facebook.com/docs/messenger-platform/send-api-reference) to which types of messages and how to build them.
You could also send rich messing (cards, buttons, images, videos, etc). [Info](https://developers.facebook.com/docs/messenger-platform/reference/send-api) to which types of messages and how to build them.
```yaml
# Example script with a notification entry with a rich message

View File

@ -89,6 +89,11 @@ automation:
Any field under the `<entry>` tag in the feed can be used for example `trigger.event.data.content` will get the body of the feed entry.
### Video Tutorial
This video tutorial explains how to set up the feedreader and show the latest news feed item on your dashboard in Home Assistant.
<lite-youtube videoid="Va4JOKbesi0" videotitle="How to view RSS feeds on your Dashboard in Home Assistant" posterquality="maxresdefault"></lite-youtube>
For more advanced use cases, a custom integration registering to the `feedreader` event type could be used instead:
```python

View File

@ -1,12 +1,12 @@
---
title: Amazon Fire TV
description: Connect and control your Amazon Fire TV devices using the Android TV integration
description: Connect and control your Amazon Fire TV devices using the Android Debug Bridge integration
ha_category:
- Media Player
ha_domain: fire_tv
ha_integration_type: virtual
ha_supporting_domain: androidtv
ha_supporting_integration: Android TV
ha_supporting_integration: Android Debug Bridge
ha_release: 0.7.6
ha_codeowners:
- '@JeffLIrion'

View File

@ -2,11 +2,11 @@
title: Freebox
description: Instructions on how to integrate Freebox routers into Home Assistant.
ha_category:
- Camera
- Network
- Presence Detection
- Sensor
- Switch
- Camera
ha_release: 0.85
ha_iot_class: Local Polling
ha_codeowners:
@ -16,10 +16,10 @@ ha_config_flow: true
ha_domain: freebox
ha_platforms:
- button
- camera
- device_tracker
- sensor
- switch
- camera
ha_zeroconf: true
ha_integration_type: integration
---

View File

@ -269,22 +269,25 @@ entity_config:
Currently, the following domains are available to be used with Google Assistant, listed with their default types:
- alarm_control_panel (arm/disarm)
- button (scene)
- camera (streaming, requires compatible camera)
- group (on/off)
- input_boolean (on/off)
- input_select (option/setting/mode/value)
- scene (on)
- script (on)
- switch (on/off)
- climate (temperature setting, hvac_mode)
- cover (on/off/set position)
- fan (on/off/speed percentage/preset mode)
- group (on/off)
- humidifier (humidity setting/on/off/mode)
- input_boolean (on/off)
- input_button
- input_select (option/setting/mode/value)
- light (on/off/brightness/rgb color/color temp)
- lock
- cover (on/off/set position)
- media_player (on/off/set volume (via set volume)/source (via set input source)/control playback)
- climate (temperature setting, hvac_mode)
- vacuum (dock/start/stop/pause)
- scene (on)
- script (on)
- select
- sensor (temperature setting for temperature sensors and humidity setting for humidity sensors)
- humidifier (humidity setting/on/off/mode)
- switch (on/off)
- vacuum (dock/start/stop/pause)
<div class='note'>

View File

@ -27,26 +27,26 @@ If you have already set up the correct credentials, you can do step 1 and then s
{% details "Generate Client ID and Client Secret" %}
This section explains how to generate a Client ID and Client Secret on
[Google Developers Console](https://console.cloud.google.com/apis/library/gmail.googleapis.com?project=home-assistant-17698).
[Google Developers Console](https://console.cloud.google.com/apis/library/gmail.googleapis.com).
1. First, go to the Google Developers Console to enable [Gmail API](https://console.cloud.google.com/apis/library/gmail.googleapis.com?project=home-assistant-17698)
2. The wizard will ask you to choose a project to manage your application. Select a project and click continue.
3. Verify that your Gmail API was enabled and click 'Go to credentials'
4. Navigate to APIs & Services (left sidebar) > [Credentials](https://console.cloud.google.com/apis/credentials)
1. First, go to the Google Developers Console to enable [Gmail API](https://console.cloud.google.com/apis/library/gmail.googleapis.com)
2. The wizard will ask you to choose a project to manage your application. Select a project and select **Continue**.
3. Verify that your Gmail API was enabled and select **Go to credentials**.
4. Navigate to **APIs & Services** (left sidebar) > [Credentials](https://console.cloud.google.com/apis/credentials)
5. Click on the field on the left of the screen, **OAuth Consent Screen**.
6. Select **External** and **Create**.
7. Set the *App Name* (the name of the application asking for consent) to anything you want, e.g., *Home Assistant*.
8. You then need to select a *Support email*. To do this, click the drop-down box and select your email address.
9. You finally need to complete the section: *Developer contact information*. To do this, enter your email address (the same as above is fine).
10. Scroll to the bottom and click **Save and Continue**. You don't have to fill out anything else, or it may enable additional review.
11. You will then be automatically taken to the Scopes page. You do not need to add any scopes here, so click Save and Continue to move to the Optional info page. You do not need to add anything to the Optional info page, so click Save and Continue, which will take you to the Summary page. Click Back to Dashboard.
12. Click **OAuth consent screen** again and set *Publish Status* to **Production** otherwise your credentials will expire every 7 days.
7. Set the **App Name** (the name of the application asking for consent) to anything you want, e.g., *Home Assistant*.
8. You then need to select a **Support email**. To do this, from the dropdown menu, select your email address.
9. You finally need to complete the section: **Developer contact information**. To do this, enter your email address (the same as above is fine).
10. Scroll to the bottom and select **Save and Continue**. You don't have to fill out anything else, or it may enable additional review.
11. You will then be automatically taken to the **Scopes** page. You do not need to add any scopes here, so select **Save and Continue** to move to the **Optional info** page. You do not need to add anything to the **Optional info** page, so select **Save and Continue**, which will take you to the **Summary** page. Select **Back to Dashboard**.
12. Select **OAuth consent screen** again and set *Publish Status* to **Production**. Otherwise your credentials will expire every 7 days.
13. Make sure **Publishing status** is set to production.
14. Click **Credentials** in the menu on the left-hand side of the screen, then click **Create credentials** (at the top of the screen), then select *OAuth client ID*.
14. Select **Credentials** in the menu on the left-hand side of the screen, then select **Create credentials** (at the top of the screen), then select **OAuth client ID**.
15. Set the Application type to *Web application* and give this credential set a name (like "Home Assistant Credentials").
16. Add https://my.home-assistant.io/redirect/oauth to *Authorized redirect URIs* then click **Create**. This is not a placeholder and is the URI that must be used.
17. You will then be presented with a pop-up saying *OAuth client created* showing *Your Client ID* and *Your Client Secret*. Make a note of these (for example, copy and paste them into a text editor), as you will need these shortly. Once you have noted these strings, click **OK**. If you need to find these credentials again at any point, then navigate to *APIs & Services > Credentials*, and you will see *Home Assistant Credentials* (or whatever you named them in the previous step) under *OAuth 2.0 Client IDs*. To view both the *Client ID* and *Client secret*, click on the pencil icon; this will take you to the settings page for these credentials, and the information will be on the right-hand side of the page.
18. Double-check that the *Gmail API* has been automatically enabled. To do this, select **Library** from the menu, then search for *Gmail API*. If it is enabled you will see *API Enabled* with a green tick next to it. If it is not enabled, then enable it.
16. Add `https://my.home-assistant.io/redirect/oauth` to **Authorized redirect URIs** then select **Create**. This is not a placeholder and is the URI that must be used.
17. You will then be presented with a pop-up saying **OAuth client created** showing **Your Client ID** and **Your Client Secret**. Make a note of these (for example, copy and paste them into a text editor), as you will need them shortly. Once you have noted these strings, select **OK**. If you need to find these credentials again at any point, then navigate to **APIs & Services** > **Credentials**, and you will see **Home Assistant Credentials** (or whatever you named them in the previous step) under **OAuth 2.0 Client IDs**. To view both the **Client ID** and **Client secret**, select the pencil icon. This will take you to the settings page for these credentials, and the information will be on the right-hand side of the page.
18. Double-check that the **Gmail API** has been automatically enabled. To do this, select **Library** from the menu, then search for **Gmail API**. If it is enabled, you will see **API Enabled** with a green tick next to it. If it is not enabled, then enable it.
{% enddetails %}
@ -60,11 +60,11 @@ The integration setup will next give you instructions to enter the [Application
2. **NOTE**: You may get a message telling you that the app has not been verified and you will need to acknowledge that in order to proceed.
3. You can now see the details of what you are authorizing Home Assistant to access with two options at the bottom. Click **Continue**.
3. You can now see the details of what you are authorizing Home Assistant to access with two options at the bottom. Select **Continue**.
4. The page will now display *Link account to Home Assistant?*, note *Your instance URL*. If this is not correct, please refer to [My Home Assistant](/integrations/my). If everything looks good, click **Link Account**.
4. The page will now display **Link account to Home Assistant?**, note **Your instance URL**. If this is not correct, refer to [My Home Assistant](/integrations/my). If everything looks good, select **Link Account**.
5. You may close the window, and return back to Home Assistant where you should see a *Success!* message from Home Assistant.
5. You may close the window, and return back to Home Assistant where you should see a **Success!** message from Home Assistant.
{% enddetails %}

View File

@ -72,6 +72,11 @@ The integration setup will next give you instructions to enter the [Application
If you have an error with your credentials you can delete them in the [Application Credentials](/integrations/application_credentials/) user interface.
### Video Tutorial
This video tutorial explains how to set up the Google Sheets integration and how you can add data from Home Assistant to a Google Sheet.
<lite-youtube videoid="hgGMgoxLYwo" videotitle="How to use Google Sheets in Home Assistant - TUTORIAL" posterquality="maxresdefault"></lite-youtube>
### Service `google_sheets.append_sheet`
You can use the service `google_sheets.append_sheet` to add a row of data to the Sheets document created at setup.

View File

@ -24,13 +24,7 @@ This integration is by default enabled, unless you've disabled or removed the [`
history:
```
<p class='img'>
<a href='/images/screenshots/component_history_24h.png'>
<img src='/images/screenshots/component_history_24h.png' />
</a>
</p>
#### API
## API
The history information is also available through the
[RESTful API](/developers/rest_api/#get-apihistory).

View File

@ -133,6 +133,11 @@ duration:
</div>
### Video Tutorial
This video tutorial explains how you can use history stats. It also shows how you can create a daily bar chart graph to visualize things such as occupancy, or how long the lights are on in a particular room.
<lite-youtube videoid="BMlU4SynQBY" videotitle="How To Master Graphs to Monitor Occupancy and Device Usage in Home Assistant" posterquality="maxresdefault"></lite-youtube>
### Examples
Here are some examples of periods you could work with, and what to write in your `configuration.yaml`:

View File

@ -1,5 +1,5 @@
---
title: HomeKit
title: HomeKit Bridge
description: Instructions on how to set up the HomeKit Bridge integration in Home Assistant.
featured: true
ha_category:
@ -318,7 +318,7 @@ The HomeKit Accessory Protocol Specification only allows a maximum of 150 unique
### Multiple HomeKit instances
If you create a HomeKit integration via the UI (i.e., **Settings** -> **Devices & Services**), it must be configured via the UI **only**. While the UI only offers limited configuration options at the moment, any attempt to configure a HomeKit instance created in the UI via the `configuration.yaml` file will result in another instance of HomeKit running on a different port.
If you create a HomeKit integration via the UI (i.e., **Settings** > **Devices & Services**), it must be configured via the UI **only**. While the UI only offers limited configuration options at the moment, any attempt to configure a HomeKit instance created in the UI via the `configuration.yaml` file will result in another instance of HomeKit running on a different port.
It is recommended to only edit a HomeKit instance in the UI that was created in the UI, and likewise, only edit a HomeKit instance in YAML that was created in YAML.
@ -328,7 +328,7 @@ When exposing a Camera, Activity based remote (a `remote` that supports activiti
To quickly add all accessory mode entities in the UI:
1. Create a new bridge via the UI (i.e., **{% my config_flow_start title="Settings >> Devices & Services" domain=page.ha_domain %}**).
1. Create a new bridge via the UI (i.e., **{% my config_flow_start title="Settings > Devices & Services" domain=page.ha_domain %}**).
2. Select `media_player`, `remote`, `lock`, and `camera` domains.
3. Complete the flow as normal.
4. Additional HomeKit entries for each entity that must operate in accessory mode will be created for each entity that does not already have one.
@ -337,7 +337,7 @@ To quickly add all accessory mode entities in the UI:
To add a single entity in accessory mode:
1. Create a new bridge via the UI (i.e., **{% my config_flow_start title="Settings >> Devices & Services" domain=page.ha_domain %}**)
1. Create a new bridge via the UI (i.e., **{% my config_flow_start title="Settings > Devices & Services" domain=page.ha_domain %}**)
2. Before pairing the bridge, access the options for the bridge.
3. Change the mode to `accessory`
4. Select the entity.
@ -424,7 +424,7 @@ The following integrations are currently supported:
# Device Triggers
Devices that support triggers can be added to the bridge by accessing options for the bridge in **{% my integrations title="Settings >> Devices & Services" %}**. To use this feature, Advanced Mode must be enabled in your user profile.
Devices that support triggers can be added to the bridge by accessing options for the bridge in **{% my integrations title="Settings > Devices & Services" %}**. To use this feature, Advanced Mode must be enabled in your user profile.
Bridged device triggers are represented as a single press button on stateless programmable switches. This allows a HomeKit automation to run when a device trigger fires. Because the Apple Home app currently only shows the number of the button and not the name, users may find it easier to identify the name of the button in the `Eve for HomeKit` app.
@ -549,7 +549,7 @@ Remember that the iOS device needs to be in the same local network as the Home A
#### `Home Assistant Bridge` doesn't appear in the Home App (for pairing) - Docker
Set `network_mode: host` in your `docker-compose.yaml`. If you have further problems this [issue](https://github.com/home-assistant/home-assistant/issues/15692) might help.
Set `network_mode: host` in your `docker-compose.yaml`. If you have further problems this [issue](https://github.com/home-assistant/core/issues/15692) might help.
You can also try to use `avahi-daemon` in reflector mode together with the option `advertise_ip`, see above.
@ -592,7 +592,7 @@ To use the HomeKit integration with multiple different Home Assistant instances
#### Specific entity doesn't work
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: [home-assistant/issues/new](https://github.com/home-assistant/home-assistant/issues/new?labels=component:%20homekit)
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.
@ -626,7 +626,7 @@ Ensure that the [`ffmpeg`](/integrations/ffmpeg) integration is configured corre
#### Camera streaming is unstable or slow
If your camera supports native H.264 streams, Home Assistant can avoid converting the video stream, which is an expensive operation. To enable native H.264 streaming when configured via YAML, change the `video_codec` to `copy`. To allow native H.264 streaming when setting up HomeKit via the UI, go to **Settings** -> **Devices & Services** in the UI, click **Options** for your HomeKit Bridge, and check the box for your camera on the `Cameras that support native H.264 streams` screen.
If your camera supports native H.264 streams, Home Assistant can avoid converting the video stream, which is an expensive operation. To enable native H.264 streaming when configured via YAML, change the `video_codec` to `copy`. To allow native H.264 streaming when setting up HomeKit via the UI, go to **Settings** > **Devices & Services** in the UI, click **Options** for your HomeKit Bridge, and check the box for your camera on the `Cameras that support native H.264 streams` screen.
#### Multiple camera streams

View File

@ -43,7 +43,7 @@ ha_platforms:
ha_integration_type: integration
---
The [HomeKit](https://developer.apple.com/homekit/) controller integration allows you to connect accessories with the "Works with HomeKit" logo to Home Assistant. This integration should not be confused with the [HomeKit](/integrations/homekit/) integration, which allows you to control Home Assistant devices via HomeKit.
The [HomeKit](https://developer.apple.com/apple-home/) controller integration allows you to connect accessories with the "Works with HomeKit" logo to Home Assistant. This integration should not be confused with the [HomeKit](/integrations/homekit/) integration, which allows you to control Home Assistant devices via HomeKit.
The integration will automatically detect HomeKit compatible devices that are ready to pair if the [`zeroconf`](/integrations/zeroconf/) integration is enabled. This is enabled by default on new installations via the [`default_config`](/integrations/default_config/) component.
@ -165,7 +165,7 @@ homekit:
`netdisco` is not used by Home Assistant to discover HomeKit devices, so if it can't see your device the problem is more likely to be environmental than with Home Assistant itself.
Alternatively if you are less comfortable with the command line you could use Discovery for [Mac](https://apps.apple.com/us/app/discovery-dns-sd-browser/id1381004916?mt=12) or [iOS](https://apps.apple.com/us/app/discovery-dns-sd-browser/id305441017), Android [Service Browser](https://play.google.com/store/apps/details?id=com.druk.servicebrowser) or [All My Lan](https://www.microsoft.com/en-us/p/all-my-lan/9wzdncrdn19v). These are a less useful diagnostic as they aren't running from the same point on your network as Home Assistant. Even if it is visible in this tool it might still be a networking issue. They can give sometimes give clues.
Alternatively if you are less comfortable with the command line you could use Discovery for [Mac](https://apps.apple.com/app/discovery-dns-sd-browser/id1381004916) or [iOS](https://apps.apple.com/app/discovery-dns-sd-browser/id305441017), Android [Service Browser](https://play.google.com/store/apps/details?id=com.druk.servicebrowser) or [All My Lan](https://apps.microsoft.com/store/detail/all-my-lan/9WZDNCRDN19V). These are a less useful diagnostic as they aren't running from the same point on your network as Home Assistant. Even if it is visible in this tool it might still be a networking issue. They can give sometimes give clues.
Where a discovery tool does give an IP, check it is what you expect (compare to DHCP leases in your router for example). Can you ping it? If not, you have a network problem.

View File

@ -74,10 +74,12 @@ To get the Estimated distance sensor to work, in most cases, it has to be calibr
- [Feasycom FSC-BP103B](https://www.feasycom.com/bluetooth-ibeacon-da14531)
- [Feasycom FSC-BP104D](https://www.feasycom.com/dialog-da14531-bluetooth-low-energy-beacon)
- [Feasycom FSC-BP108](https://www.feasycom.com/bluetooth-5-1-waterproof-bluetooth-beacon)
- [MikroTik TG-BT5-IN](https://mikrotik.com/product/tg_bt5_in) (Additional sensors such as angle or impact are not compatible)
- [NRF51822 iBeacon](https://www.aliexpress.com/item/32826502025.html)
- [NRF52810 iBeacon](https://www.aliexpress.com/item/1005003211033416.html)
- [Pawscout Tag](https://pawscout.com/shop/pawscout-tag/)
- [SwiftFinder](https://www.amazon.com/dp/B089MD5NP7) (Requires being paired to a phone first before it starts transmitting once a minute, otherwise it stays asleep)
- [Teltonika EYE Teltonika EYE Sensor](https://teltonika-gps.com/products/accessories/sensors-beacons/eye) (Additional sensors such as accelerometer, temperature, and humidity are not compatible)
## Example automation

View File

@ -11,6 +11,7 @@ ha_platforms:
ha_integration_type: integration
ha_codeowners:
- '@engrbm87'
- '@jbouwh'
ha_config_flow: true
---
@ -60,6 +61,10 @@ The SSL cipher list is an advanced setting. The option is available only when ad
</div>
### Troubleshooting
Email providers may limit the number of reported emails. The number may be less than the limit (10,000 at least for Yahoo) even if you set the `IMAP search` to reduce the number of results. If you are not getting expected events and cleaning your Inbox or the configured folder is not desired, set up an email filter for the specific sender to go into a new folder. Then create a new config entry or modify the existing one with the desired folder.
### 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.
@ -130,7 +135,6 @@ template:
Date: "{{ trigger.event.data['date'] }}"
Subject: "{{ trigger.event.data['subject'] }}"
To: "{{ trigger.event.data['headers']['Delivered-To'][0] }}"
Subject: "{{ trigger.event.data['headers']['Subject'][0] }}"
Return_Path: "{{ trigger.event.data['headers']['Return-Path'][0] }}"
Received-first: "{{ trigger.event.data['headers']['Received'][0] }}"
Received-last: "{{ trigger.event.data['headers']['Received'][-1] }}"

View File

@ -14,14 +14,14 @@ ha_integration_type: helper
The Input Boolean helper integration allows you to define boolean values that
can be controlled via the user interface and can be used within conditions of
an automation. This can for example be used to disable or enable certain
automations by using them in their conditions.
an {% term automation %}. This can for example be used to disable or enable certain
automations by using them in their {% term conditions %}.
## Configuration
The preferred way to configure input boolean helpers is via the user interface,
in which they are known as Toggle Helpers. To add one, go to
**{% my helpers title="Settings -> Devices & Services -> Helpers" %}** and click the add button;
**{% my helpers title="Settings > Devices & Services > Helpers" %}** and click the add button;
next choose the **{% my config_flow_start domain=input_boolean title="Toggle" %}** option.
To be able to add **Helpers** via the user interface you should have
@ -32,14 +32,6 @@ then you can use the UI.
Input booleans can also be configured via `configuration.yaml`:
```yaml
# Example configuration.yaml entry
input_boolean:
notify_home:
name: Notify when someone arrives home
icon: mdi:car
```
{% configuration %}
input_boolean:
description: Alias for the input. Multiple entries are allowed.
@ -61,9 +53,17 @@ input_boolean:
type: icon
{% endconfiguration %}
```yaml
# Example configuration.yaml entry
input_boolean:
notify_home:
name: Notify when someone arrives home
icon: mdi:car
```
## Services
This integration provides the following services to modify the state of the
This integration provides the following {% term services %} to modify the state of the
`input_boolean` and a service to reload the configuration without restarting
Home Assistant itself.
@ -105,7 +105,7 @@ automation:
You can also set or change the status of an `input_boolean` by using
`input_boolean.turn_on`, `input_boolean.turn_off` or `input_boolean.toggle` in
your automations.
your automation action.
```yaml
service: input_boolean.turn_on

View File

@ -19,7 +19,6 @@ ha_platforms:
ha_integration_type: integration
ha_codeowners:
- '@bdraco'
- '@Djelibeybi'
ha_quality_scale: platinum
ha_dhcp: true
---
@ -126,7 +125,7 @@ script:
### Hardware effects
The Flame (`lifx_effect_flame`), Morph (`lifx.effect_morph`) and Move (`lifx.effect_move`) effects are hardware-based and only work on specific LIFX devices. Flame and Morph are available on the LIFX Tile and Candle, while the Move effect requires a LIFX Z, Lightstrip, or Beam.
The Flame (`lifx.effect_flame`), Morph (`lifx.effect_morph`) and Move (`lifx.effect_move`) effects are hardware-based and only work on specific LIFX devices. Flame and Morph are available on the LIFX Tile and Candle, while the Move effect requires a LIFX Z, Lightstrip, or Beam.
All hardware-based effects can be stopped and started regardless of the device's power state, but the default behavior for each service is to turn the device on when starting an effect. Set the `power_on` attribute of the service to `false` to override this default.

View File

@ -20,7 +20,7 @@ To set the default color, brightness and transition values when the light is tur
The `light_profiles.csv` has to have a header. The format of the header is:
```txt
profile,color_x,color_y,brightness,transition
id,x,y,brightness,transition
```
The field transition is optional and can be omitted.
@ -43,7 +43,7 @@ Most lights do not support all attributes. You can check the integration documen
| ---------------------- | -------- | ----------- |
| `entity_id` | no | String or list of strings that point at `entity_id`s of lights. To target all lights, set `entity_id` to `all`.
| `transition` | yes | Number that represents the time (in seconds) the light should take to transition to the new state.
| `profile` | yes | String with the name of one of the [built-in profiles](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/light/light_profiles.csv) (relax, energize, concentrate, reading) or one of the custom profiles defined in `light_profiles.csv` in the current working directory. Light profiles define an xy color, brightness and a transition value (if no transition is desired, set to 0 or leave out the column entirely). If a profile is given, and a brightness is set, then the profile brightness will be overwritten.
| `profile` | yes | String with the name of one of the [built-in profiles](https://github.com/home-assistant/core/blob/master/homeassistant/components/light/light_profiles.csv) (relax, energize, concentrate, reading) or one of the custom profiles defined in `light_profiles.csv` in the current working directory. Light profiles define an xy color, brightness and a transition value (if no transition is desired, set to 0 or leave out the column entirely). If a profile is given, and a brightness is set, then the profile brightness will be overwritten.
| `hs_color` | yes | A list containing two floats representing the hue and saturation of the color you want the light to be. Hue is scaled 0-360, and saturation is scaled 0-100.
| `xy_color` | yes | A list containing two floats representing the xy color you want the light to be. Two comma-separated floats that represent the color in XY.
| `rgb_color` | yes | A list containing three integers between 0 and 255 representing the RGB color you want the light to be. Three comma-separated integers that represent the color in RGB, within square brackets.
@ -116,6 +116,6 @@ Turns one or multiple lights off.
### Service `light.toggle`
Toggles the state of one or multiple lights. Takes the same arguments as [`turn_on`](#service-lightturn_on) service.
Toggles the state of one or multiple lights. Takes the same arguments as the [`light.turn_on`](#service-lightturn_on) service.
*Note*: If `light.toggle` is used for a group of lights, it will toggle the individual state of each light. If you want the lights to be treated as a single light, use [Light Groups](/integrations/light.group/) instead.
*Note*: If `light.toggle` is used for a group of lights, it will toggle the individual state of each light. If you want the lights to be treated as a single light, use [Light Groups](/integrations/group#binary-sensor-light-and-switch-groups) instead.

View File

@ -8,11 +8,11 @@ ha_category:
- Lock
- Sensor
- Switch
ha_release: "2022.12"
ha_release: '2022.12'
ha_iot_class: Local Push
ha_config_flow: true
ha_codeowners:
- "@home-assistant/matter"
- '@home-assistant/matter'
ha_domain: matter
ha_platforms:
- binary_sensor
@ -223,6 +223,10 @@ The Philips Hue V2 bridge supports Matter since a recent update (the beta progra
- Device events for example for dimmer remotes are not supported.
- Only basic control of lights is supported, no scenes, events, effects etc.
### Tasmota
Tasmota supports Matter over IP on all ESP32 based devices (in experimental phase). Follow the [instructions](https://tasmota.github.io/docs/Matter/).
### TP-Link Tapo P125M (power plug)
- Look for the M addition in the model name, a device without the M (regular P125) is not Matter compliant.

View File

@ -16,7 +16,11 @@ ha_platforms:
ha_integration_type: integration
---
The `metoffice` weather platform uses the Met Office's [DataPoint API](https://www.metoffice.gov.uk/datapoint) for weather data. You can get an API key by registering for a Met Office [account](https://register.metoffice.gov.uk/WaveRegistrationClient/public/register.do?service=datapoint). As their website is not as straightforward, after registration and verifying your account you can login [here](https://register.metoffice.gov.uk/MyAccountClient/account/view) to retrieve your API key.
The `metoffice` weather platform uses the Met Office's [DataPoint API](https://www.metoffice.gov.uk/datapoint) for weather data.
## Getting started
Their website is not as straightforward so check the [getting started](https://www.metoffice.gov.uk/services/data/datapoint/getting-started).
1. Register for a [Met Office account](https://register.metoffice.gov.uk/WaveRegistrationClient/public/register.do?service=datapoint).
2. After registration and verification of your account, [login](https://register.metoffice.gov.uk/MyAccountClient/account/view) to retrieve your API key.
{% include integrations/config_flow.md %}

View File

@ -11,7 +11,7 @@ ha_platforms:
ha_integration_type: integration
---
The `microsoft` text-to-speech platform uses the [TTS engine of the Microsoft Speech Service](https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/text-to-speech) to read a text with natural sounding voices. This integration uses an API that is part of the Cognitive Services offering and is known as the Microsoft Speech API. For this integration to work, you need a free API key. You can use your [Azure subscription](https://azure.microsoft.com) to create an [Azure Speech resource](https://portal.azure.com/#create/Microsoft.CognitiveServicesSpeechServices).
The `microsoft` text-to-speech platform uses the [TTS engine of the Microsoft Speech Service](https://learn.microsoft.com/azure/cognitive-services/speech-service/text-to-speech) to read a text with natural sounding voices. This integration uses an API that is part of the Cognitive Services offering and is known as the Microsoft Speech API. For this integration to work, you need a free API key. You can use your [Azure subscription](https://azure.microsoft.com) to create an [Azure Speech resource](https://portal.azure.com/#create/Microsoft.CognitiveServicesSpeechServices).
## Configuration
@ -40,7 +40,7 @@ gender:
type: string
default: "`Female`"
type:
description: "The voice type you want to use. Accepted values are listed as the service name mapping [in the documentation](https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/language-support#text-to-speech)."
description: "The voice type you want to use. Accepted values are listed as the service name mapping [in the documentation](https://learn.microsoft.com/azure/cognitive-services/speech-service/language-support?tabs=tts)."
required: false
type: string
default: "`JennyNeural`"
@ -64,7 +64,7 @@ contour:
required: false
type: string
region:
description: "The region of your API endpoint. See [documentation](https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/regions)."
description: "The region of your API endpoint. See [documentation](https://learn.microsoft.com/azure/cognitive-services/speech-service/regions)."
required: false
type: string
default: "`eastus`"
@ -72,9 +72,9 @@ region:
<div class='note'>
Not all Azure regions support high-quality neural voices. Use [this overview](https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/regions#neural-and-standard-voices) to determine the availability of standard and neural voices by region/endpoint.
Not all Azure regions support high-quality neural voices. Use [this overview](https://learn.microsoft.com/azure/cognitive-services/speech-service/regions) to determine the availability of standard and neural voices by region/endpoint.
New users ([any newly created Azure Speech resource after August 31st, 2021](https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/text-to-speech#migrate-to-neural-voice)) can only use neural voices. Existing resources can continue using standard voices through August 31st, 2024.
New users ([any newly created Azure Speech resource after August 31st, 2021](https://learn.microsoft.com/azure/cognitive-services/speech-service/text-to-speech#more-about-neural-text-to-speech-features)) can only use neural voices. Existing resources can continue using standard voices through August 31st, 2024.
</div>

View File

@ -11,17 +11,17 @@ ha_integration_type: integration
The `microsoft_face` integration platform is the main integration for Microsoft
Azure Cognitive service
[Face](https://azure.microsoft.com/en-us/services/cognitive-services/face/).
[Face](https://azure.microsoft.com/products/cognitive-services/vision-services).
All data are stored in your own private instance in the Azure cloud.
## Setup
You need an API key, which is free, but requires an
[Azure registration](https://azure.microsoft.com/en-us/free/) using your
[Azure registration](https://azure.microsoft.com/free/) using your
Microsoft ID. The free resource (*F0*) is limited to 20 requests per minute and
30k requests in a month. If you don't want to use the Azure cloud, you can also
get an API key by registering with
[cognitive-services](https://azure.microsoft.com/en-us/try/cognitive-services/).
[cognitive-services](https://azure.microsoft.com/try/cognitive-services/).
Please note that all keys on cognitive services must be recreated every 90 days.
## Configuration

View File

@ -10,19 +10,19 @@ ha_integration_type: integration
---
The `microsoft_face_detect` image processing platform allows you to use the
[Microsoft Face Identify](https://www.microsoft.com/cognitive-services/en-us/)
[Microsoft Face Identify](https://azure.microsoft.com/products/cognitive-services/)
API through Home Assistant. This platform enables you to detect face on camera
and fire an event with attributes.
Please refer to the [Microsoft Face component](/integrations/microsoft_face/) configuration on
Please refer to the [Microsoft Face integration](/integrations/microsoft_face/) configuration on
how to setup the API key.
For using the result inside an automation rule,
take a look at the [Image Processing component](/integrations/image_processing/) page.
take a look at the [Image Processing integration](/integrations/image_processing/) page.
<div class='note'>
The free version of the Microsoft Face identify API limits the number of requests possible per month. Therefore, it is strongly recommended that you limit the `scan_interval` when setting up an instance of this entity as detailed on the main [Image Processing component](/integrations/image_processing/) page.
The free version of the Microsoft Face identify API limits the number of requests possible per month. Therefore, it is strongly recommended that you limit the `scan_interval` when setting up an instance of this entity as detailed on the main [Image Processing integration](/integrations/image_processing/) page.
</div>

View File

@ -10,19 +10,19 @@ ha_integration_type: integration
---
The `microsoft_face_identify` image processing platform lets you use
[Microsoft Face identify](https://www.microsoft.com/cognitive-services/en-us/)
[Microsoft Face identify](https://azure.microsoft.com/products/cognitive-services/)
API through Home Assistant. This platform allow you do identify persons on
camera and fire an event with attributes.
Please refer to the [Microsoft Face component](/integrations/microsoft_face/) configuration on
Please refer to the [Microsoft Face integration](/integrations/microsoft_face/) configuration on
how to setup the API key.
For using the result inside an automation rule,
take a look at the [Image Processing component](/integrations/image_processing/) page.
take a look at the [Image Processing integration](/integrations/image_processing/) page.
<div class='note'>
The free version of the Microsoft Face identify API limits the number of requests possible per month. Therefore, it is strongly recommended that you limit the `scan_interval` when setting up an instance of this entity as detailed on the main [Image Processing component](/integrations/image_processing/) page.
The free version of the Microsoft Face identify API limits the number of requests possible per month. Therefore, it is strongly recommended that you limit the `scan_interval` when setting up an instance of this entity as detailed on the main [Image Processing integration](/integrations/image_processing/) page.
</div>

View File

@ -1,6 +1,6 @@
---
title: "Monessen"
description: Connect and control your Monessen fireplace using the IntelliFire integration
title: Monessen
description: Connect and control your Monessen devices using the IntelliFire integration
ha_category:
- Binary Sensor
- Climate
@ -13,9 +13,10 @@ ha_domain: monessen
ha_integration_type: virtual
ha_supporting_domain: intellifire
ha_supporting_integration: IntelliFire
ha_release: 2022.3
ha_release: 2022.2
ha_codeowners:
- '@jeeftor'
ha_config_flow: true
ha_platforms:
- binary_sensor
- climate
@ -25,6 +26,7 @@ ha_platforms:
- sensor
- switch
ha_iot_class: Local Polling
ha_dhcp: true
---
{% include integrations/supported_brand.md %}

View File

@ -169,7 +169,7 @@ For Ubiquiti routers/access points the "Enable multicast enhancement (IGMPv3)" s
### Bypassing UDP multicast
If UDP Multicast does not work in your setup (due to network limitations), this integration can be used in local polling mode.
Go to Settings -> Integrations -> on the already set up Motion Blinds integration click "configure" --> disable the "Wait for push" option (disabled by default).
Go to Settings -> Integrations -> on the already set up Motion Blinds integration click "configure" --> disable the "Wait for multicast push on update" option (disabled by default).
The default update interval of the Motion Blinds integration is every 10 minutes. When UDP multicast pushes do not work, this polling interval can be a bit high.
To increase the polling interval:

View File

@ -109,7 +109,7 @@ With a secure broker connection it is possible to use a client certificate for a
#### Using WebSockets as transport
You can select `websockets` as transport method if your MQTT broker supports it. When you select `websockets` and click `NEXT` you will be able to add a WebSockets path (default = `/` and WebSockets headers (optional). The target WebSockets URI: `ws://{broker}:{port}{WebSockets path}` is built with `broker`, `port` and `ws_path` (WebSocket path) settings.
You can select `websockets` as transport method if your MQTT broker supports it. When you select `websockets` and click `NEXT`, you will be able to add a WebSockets path (default = `/`) and WebSockets headers (optional). The target WebSockets URI: `ws://{broker}:{port}{WebSockets path}` is built with `broker`, `port` and `ws_path` (WebSocket path) settings.
To configure the WebSocketS headers supply a valid JSON dictionary string. E.g. `{ "Authorization": "token" , "x-header": "some header"}`. The default transport method is `tcp`. The WebSockets transport can be secured using TLS and optionally using user credentials or a client certificate.
<div class='note'>
@ -140,13 +140,13 @@ MQTT Birth and Last Will messages can be customized or disabled from the UI. To
The `mosquitto` broker package ships commandline tools (often as `*-clients` package) to send and receive MQTT messages. For sending test messages to a broker running on `localhost` check the example below:
```bash
mosquitto_pub -h 127.0.0.1 -t home-assistant/switch/1/on -m "Switch is ON"
mosquitto_pub -h 127.0.0.1 -t homeassistant/switch/1/on -m "Switch is ON"
```
Another way to send MQTT messages manually is to use the "MQTT" integration in the frontend. Choose "Settings" on the left menu, click "Devices & Services", and choose "Configure" in the "Mosquitto broker" tile. Enter something similar to the example below into the "topic" field under "Publish a packet" and press "PUBLISH" .
```bash
home-assistant/switch/1/power
homeassistant/switch/1/power
```
and in the Payload field
@ -155,23 +155,23 @@ and in the Payload field
ON
```
In the "Listen to a topic" field, type `#` to see everything, or "home-assistant/switch/#" to just follow a published topic, then press "START LISTENING". The messages should appear similar to the text below:
In the "Listen to a topic" field, type `#` to see everything, or "homeassistant/switch/#" to just follow a published topic, then press "START LISTENING". The messages should appear similar to the text below:
```bash
Message 23 received on home-assistant/switch/1/power/stat/POWER at 12:16 PM:
Message 23 received on homeassistant/switch/1/power/stat/POWER at 12:16 PM:
ON
QoS: 0 - Retain: false
Message 22 received on home-assistant/switch/1/power/stat/RESULT at 12:16 PM:
Message 22 received on homeassistant/switch/1/power/stat/RESULT at 12:16 PM:
{
"POWER": "ON"
}
QoS: 0 - Retain: false
```
For reading all messages sent on the topic `home-assistant` to a broker running on localhost:
For reading all messages sent on the topic `homeassistant` to a broker running on localhost:
```bash
mosquitto_sub -h 127.0.0.1 -v -t "home-assistant/#"
mosquitto_sub -h 127.0.0.1 -v -t "homeassistant/#"
```
## MQTT Discovery
@ -218,6 +218,7 @@ The discovery topic needs to follow a specific format:
<discovery_prefix>/<component>/[<node_id>/]<object_id>/config
```
- `<discovery_prefix>`: The Discovery Prefix defaults to `homeassistant`. This prefix can be [changed](#discovery-options).
- `<component>`: One of the supported MQTT components, eg. `binary_sensor`.
- `<node_id>` (*Optional*): ID of the node providing the topic, this is not used by Home Assistant but may be used to structure the MQTT topic. The ID of the node must only consist of characters from the character class `[a-zA-Z0-9_-]` (alphanumerics, underscore and hyphen).
- `<object_id>`: The ID of the device. This is only to allow for separate topics for each device and is not used for the `entity_id`. The ID of the device must only consist of characters from the character class `[a-zA-Z0-9_-]` (alphanumerics, underscore and hyphen).
@ -536,7 +537,7 @@ The following software has built-in support for MQTT discovery:
- [IOTLink](https://iotlink.gitlab.io) (starting with 2.0.0)
- [MiFlora MQTT Daemon](https://github.com/ThomDietrich/miflora-mqtt-daemon)
- [Nuki Hub](https://github.com/technyon/nuki_hub)
- [Nuki Smart Lock 3.0 Pro](https://support.nuki.io/hc/en-us/articles/12947926779409-MQTT-support)
- [Nuki Smart Lock 3.0 Pro](https://support.nuki.io/hc/articles/12947926779409-MQTT-support), [more info](https://developer.nuki.io/t/mqtt-api-specification-v1-3/17626)
- [OpenMQTTGateway](https://github.com/1technophile/OpenMQTTGateway)
- [room-assistant](https://github.com/mKeRix/room-assistant) (starting with 1.1.0)
- [SmartHome](https://github.com/roncoa/SmartHome)
@ -784,14 +785,14 @@ You must include either `topic` or `topic_template`, but not both. If providing
</p>
```yaml
topic: home-assistant/light/1/command
topic: homeassistant/light/1/command
payload: on
```
{% raw %}
```yaml
topic: home-assistant/light/1/state
topic: homeassistant/light/1/state
payload_template: "{{ states('device_tracker.paulus') }}"
```
@ -800,7 +801,7 @@ payload_template: "{{ states('device_tracker.paulus') }}"
{% raw %}
```yaml
topic_template: "home-assistant/light/{{ states('sensor.light_active') }}/state"
topic_template: "homeassistant/light/{{ states('sensor.light_active') }}/state"
payload_template: "{{ states('device_tracker.paulus') }}"
```
@ -811,7 +812,7 @@ If you want to send JSON using the YAML editor then you need to format/escape
it properly. Like:
```yaml
topic: home-assistant/light/1/state
topic: homeassistant/light/1/state
payload: "{\"Status\":\"off\", \"Data\":\"something\"}"`
```
@ -844,7 +845,7 @@ data:
Example of how to use `qos` and `retain`:
```yaml
topic: home-assistant/light/1/command
topic: homeassistant/light/1/command
payload: on
qos: 2
retain: true

View File

@ -13,7 +13,7 @@ ha_platforms:
ha_integration_type: integration
---
The `Microsoft Teams` platform allows you to send notifications from Home Assistant to a team channel in [Microsoft Teams](https://products.office.com/en-us/microsoft-teams/group-chat-software).
The `Microsoft Teams` platform allows you to send notifications from Home Assistant to a team channel in [Microsoft Teams](https://www.microsoft.com/microsoft-teams/group-chat-software).
## Setup

View File

@ -55,13 +55,13 @@ To edit an existing area, enter its name and follow the dialog.
## Camera
The `netatmo` camera platform is consuming the information provided by a [Netatmo Smart Indoor](https://www.netatmo.com/en-gb/security/cam-indoor), [Outdoor](https://www.netatmo.com/en-gb/security/cam-outdoor) and [Netatmo Smart Video Doorbell](https://www.netatmo.com/en-gb/security/doorbell) camera. This integration allows you to view the current live stream created by the camera (exception: video doorbell).
The `netatmo` camera platform is consuming the information provided by a [Netatmo Smart Indoor](https://www.netatmo.com/smart-indoor-camera), [Outdoor](https://www.netatmo.com/smart-outdoor-camera) and [Netatmo Smart Video Doorbell](https://www.netatmo.com/smart-video-doorbell) camera. This integration allows you to view the current live stream created by the camera (exception: video doorbell).
The doorbell is currently not supported with the Home Assistant Cloud link mode (configured in the integration). Please use a [Netatmo dev account](#development--testing-with-your-own-client-id). Note that: if you have already created the Netatmo integration, you must remove it and configure it with the Netatmo dev account as explained in the previous link. Then you will see a Smart Doorbell device with a camera sensor.
## Climate
The `netatmo` thermostat platform is consuming the information provided by a [Netatmo Smart Thermostat](https://www.netatmo.com/product/energy/thermostat), [Smart Modulating Thermostat](https://www.netatmo.com/en-gb/energy/modulating-thermostat) and [Netatmo Smart Radiator Valve](https://www.netatmo.com/en-gb/energy/additional-valve). This integration allows you to view the current temperature and control the setpoint.
The `netatmo` thermostat platform is consuming the information provided by a [Netatmo Smart Thermostat](https://www.netatmo.com/product/energy/thermostat), [Smart Modulating Thermostat](https://www.netatmo.com/smart-modulating-thermostat) and [Netatmo Smart Radiator Valve](https://www.netatmo.com/additional-smart-radiator-valve). This integration allows you to view the current temperature and control the setpoint.
## Cover
@ -69,13 +69,13 @@ The `netatmo` cover platform provides support for Bubendorff shutters.
## Light
The `netatmo` light platform is consuming information provided by a [Netatmo Smart Outdoor](https://www.netatmo.com/en-gb/security/cam-outdoor) camera and requires an active webhook. This integration allows you to turn on/off the flood lights.
The `netatmo` light platform is consuming information provided by a [Netatmo Smart Outdoor](https://www.netatmo.com/smart-outdoor-camera) camera and requires an active webhook. This integration allows you to turn on/off the flood lights.
It further provides support for Legrand/BTicino dimmers.
## Sensor
The `netatmo` sensor platform is consuming the information provided by a [Netatmo Smart Home Weather Station](https://www.netatmo.com/en-us/weather/weatherstation) a
[Netatmo Smart Indoor Air Quality Monitor](https://www.netatmo.com/en-us/aircare/homecoach) device or [Netatmo Public Weather Stations](https://weathermap.netatmo.com/).
The `netatmo` sensor platform is consuming the information provided by a [Netatmo Smart Home Weather Station](https://www.netatmo.com/smart-weather-station) a
[Netatmo Smart Indoor Air Quality Monitor](https://www.netatmo.com/smart-indoor-air-quality-monitor) device or [Netatmo Public Weather Stations](https://weathermap.netatmo.com/).
## Switch
@ -115,8 +115,8 @@ Service to manually register and unregister the webhook.
## Webhook Events
The Netatmo backend sends instant events to Home Assistant by using webhooks which unlocks improved responsiveness of most devices with the exception of [Netatmo Smart Home Weather Station](https://www.netatmo.com/en-us/weather/weatherstation),
[Netatmo Smart Indoor Air Quality Monitor](https://www.netatmo.com/en-us/aircare/homecoach) or [Netatmo Public Weather Stations](https://weathermap.netatmo.com/).
The Netatmo backend sends instant events to Home Assistant by using webhooks which unlocks improved responsiveness of most devices with the exception of [Netatmo Smart Home Weather Station](https://www.netatmo.com/smart-weather-station),
[Netatmo Smart Indoor Air Quality Monitor](https://www.netatmo.com/smart-indoor-air-quality-monitor) or [Netatmo Public Weather Stations](https://weathermap.netatmo.com/).
<div class='note warning'>
@ -125,7 +125,7 @@ It is therefore recommended to use [an individual development account](#developm
</div>
To be able to receive events from [Netatmo](https://www.netatmo.com/en-gb/), your Home Assistant instance needs to be accessible from the web over port `443`. To achieve this you can either use your Nabu Casa account or for example Duck DNS ([Home Assistant instructions](/addons/duckdns/)). You also need to have the external URL configured in the Home Assistant [configuration](/docs/configuration/basic).
To be able to receive events from [Netatmo](https://www.netatmo.com/), your Home Assistant instance needs to be accessible from the web over port `443`. To achieve this you can either use your Nabu Casa account or for example Duck DNS ([Home Assistant instructions](/addons/duckdns/)). You also need to have the external URL configured in the Home Assistant [configuration](/docs/configuration/basic).
Events coming in from Netatmo will be available as an event in Home Assistant and are fired as `netatmo_event`, along with their data. You can use these events to trigger automations.
@ -201,7 +201,7 @@ Example:
```yaml
# Example automation
- alias: "door or window open or movement"
- alias: "Door or window open or movement"
description: "Notifies which door or window is open or was moved"
trigger:
- event_type: netatmo_event

View File

@ -109,3 +109,7 @@ Displays the current link rate of the device indicating the maximum possible dat
### Link type
Displays the current link type: wired, 2.4GHz or 5GHz.
## Troubleshooting
- If you get a "Connection or login error" when trying to setup the NETGEAR integration, please try using the IP address of the router (often "192.168.1.1") as host instead of the default "routerlogin.net".

View File

@ -12,7 +12,7 @@ ha_codeowners:
ha_integration_type: system
---
This integration provides network configuration for integrations such as [Zeroconf](/integrations/zeroconf/). It is managed by going to **{% my network title="Settings >> System >> Network" %}** and is only available to users that have "Advanced Mode" enabled on their {% my profile title="user profile" %}.
This integration provides network configuration for integrations such as [Zeroconf](/integrations/zeroconf/). It is managed by going to **{% my network title="Settings > System > Network" %}** and is only available to users that have "Advanced Mode" enabled on their {% my profile title="user profile" %}.
**{% my general badge %}**

View File

@ -68,3 +68,8 @@ Events generated by Nuki are sent as events of type `nuki_event` with the follow
| -------------------- | ------------------------------------------ |
| `type` | The type of the event. Values: `ring`
| `entity_id` | The ID of the entity generating the event.
## MQTT support
The Nuki Smart Lock 3.0 Pro also [supports MQTT](https://support.nuki.io/hc/en-us/articles/12947926779409-MQTT-support) and can directly integrate with Home Assistant through [MQTT discovery](/integrations/mqtt/#mqtt-discovery).
Specific information can be found [here](https://developer.nuki.io/t/mqtt-api-specification-v1-3/17626).

View File

@ -10,6 +10,7 @@ ha_config_flow: true
ha_codeowners:
- '@bdraco'
- '@ollo69'
- '@pestevez'
ha_zeroconf: true
ha_platforms:
- diagnostics
@ -17,7 +18,7 @@ ha_platforms:
ha_integration_type: device
---
The Network UPS Tools (NUT) integration allows you to monitor and manage a UPS (battery backup) using a [NUT] https://networkupstools.org/) server. It lets you view their status, receives notifications about important events, and execute commands as device actions.
The Network UPS Tools (NUT) integration allows you to monitor and manage a UPS (battery backup) using a [NUT](https://networkupstools.org/) server. It lets you view their status, receives notifications about important events, and execute commands as device actions.
{% include integrations/config_flow.md %}

View File

@ -91,6 +91,8 @@ If your source is not listed above, and you want to figure out how to format tha
onkyo --host 192.168.0.100 source=query
```
If this returns multiple, comma-separated values, use the first one. For example, if `dvd,bd,dvd` is returned, use `dvd`.
To find your receivers max volume use the onkyo-eiscp Python module set the receiver to its maximum volume
(don't do this whilst playing something!) and run:

View File

@ -17,6 +17,7 @@ ha_platforms:
- sensor
- switch
ha_integration_type: integration
ha_dhcp: true
---
The `onvif` camera platform allows you to use an [ONVIF](https://www.onvif.org/) Profile S conformant device in Home Assistant. This requires the [`ffmpeg` integration](/integrations/ffmpeg/) to be already configured.
@ -44,6 +45,15 @@ Most of the ONVIF devices support more than one audio/video profile. Each profil
| Use wallclock as timestamps | ([Advanced Mode](/blog/2019/07/17/release-96/#advanced-mode) only) Rewrite the camera timestamps. This may help with playback or crashing issues from Wi-Fi cameras or cameras of certain brands (e.g., EZVIZ). |
| Enable Webhooks | If the device supports notifications via a Webhook, the integration will attempt to set up a Webhook. Disable this option to force falling back to trying PullPoint if the device supports it. |
#### Snapshots
Some cameras will not produce usable snapshots with larger stream sizes.
By default, the integration will only enable the camera entity for the first H264 profile. If you are unable to get a working snapshot:
- If additional camera entities are available for other profiles, try enabling those entities.
- Set the `Extra FFmpeg arguments` to `-pred 1 -ss 00:00:05 -frames:v 1` to cause the snapshot to be taken 5 seconds into the stream.
### Supported Sensors
This integration uses the ONVIF pullpoint subscription API to process events into sensors that will be automatically added to Home Assistant. Below is a list of currently supported event topics along with the entities they create.

View File

@ -50,4 +50,4 @@ Top P:
### Talking to Super Mario over the phone
You can use an OpenAI Conversation integration to [talk to Super Mario over a classic landline phone](/projects/worlds-most-private-voice-assistant/).
You can use an OpenAI Conversation integration to [talk to Super Mario over a classic landline phone](/projects/worlds-most-private-voice-assistant/).

View File

@ -28,8 +28,7 @@ trained medical professional.
## Generating an API Key
To generate an API key,
[simply log in to the OpenUV website](https://www.openuv.io/auth/google).
To generate an API key, simply log in at [the OpenUV website](https://www.openuv.io/).
{% include integrations/config_flow.md %}

View File

@ -22,6 +22,10 @@ To learn more about PECO, visit [**their about page**](https://www.peco.com/Abou
This integration is only for PECO customers. To see if your county is supported, take a look at [**their outage map**](https://www.peco.com/Outages/CheckOutageStatus/Pages/OutageMap.aspx).
PECO Is a registered trademark of Exelon Business Services Co., LLC
</div>
{% include integrations/config_flow.md %}
@ -37,4 +41,4 @@ This integration will create 5 entities.
- A sensor that shows the total amount of customers with no power.
- A sensor that shows the total amount of customers served in the county.
- A sensor that shows the percentage of customers with no power.
- A sensor that shows the alert that appears when you open the online outage map.
- A sensor that shows the alert that appears when you open the online outage map.

View File

@ -78,7 +78,7 @@ The message attribute supports the [Markdown formatting syntax](https://daringfi
| Headline 2 | `## Headline` |
| Newline | `\n` |
| Bold | `**My bold text**` |
| Cursive | `*My cursive text*` |
| Italic | `*My italic text*` |
| Link | `[Link](https://home-assistant.io/)` |
| Image | `![image](/local/my_image.jpg)` |

View File

@ -15,6 +15,7 @@ ha_codeowners:
ha_domain: pi_hole
ha_platforms:
- binary_sensor
- diagnostics
- sensor
- switch
- update

View File

@ -13,7 +13,6 @@ ha_release: 0.98
ha_codeowners:
- '@CoMPaTech'
- '@bouwew'
- '@brefra'
- '@frenck'
ha_config_flow: true
ha_domain: plugwise

View File

@ -52,6 +52,11 @@ proximity:
unit_of_measurement: mi
```
### Video Tutorial
This video tutorial explains how to set up geofencing in Home Assistant using the proximity integration.
<lite-youtube videoid="pjAyRN5UiBg" videotitle="Geofencing in Home Assistant - Tutorial" posterquality="maxresdefault"></lite-youtube>
{% configuration %}
zone:
description: The zone to which this integration is measuring the distance to. Default is the home zone.

View File

@ -67,7 +67,7 @@ pull_mode:
default: "`UP`"
{% endconfiguration %}
For more details about the GPIO layout, visit the Wikipedia [article](https://en.wikipedia.org/wiki/Raspberry_Pi#GPIO_connector) about the Raspberry Pi.
For more details about the GPIO layout, visit the Wikipedia [article](https://en.wikipedia.org/wiki/Raspberry_Pi#J8_header_and_general_purpose_input-output_(GPIO)) about the Raspberry Pi.
## Switch
@ -106,7 +106,7 @@ invert_logic:
type: boolean
{% endconfiguration %}
For more details about the GPIO layout, visit the Wikipedia [article](https://en.wikipedia.org/wiki/Raspberry_Pi#GPIO_connector) about the Raspberry Pi.
For more details about the GPIO layout, visit the Wikipedia [article](https://en.wikipedia.org/wiki/Raspberry_Pi#J8_header_and_general_purpose_input-output_(GPIO)) about the Raspberry Pi.
<div class='note warning'>
Note that a pin managed by Home Assistant is expected to be exclusive to Home Assistant.
@ -126,4 +126,4 @@ switch:
### Troubleshooting
If you receive an error such as `gpiozero.exc.BadPinFactory: Unable to load any default pin factory!` try changing the pinfactory from `pigpio` to `mock`, this addresses a [known issue](https://www.raspberrypi.org/forums/viewtopic.php?p=1417922).
If you receive an error such as `gpiozero.exc.BadPinFactory: Unable to load any default pin factory!` try changing the pinfactory from `pigpio` to `mock`, this addresses a [known issue](https://forums.raspberrypi.com/viewtopic.php?p=1417922).

View File

@ -182,6 +182,7 @@ The following models have been tested and confirmed to work:
- RLC-522
- RLC-810A
- RLC-811A
- RLC-81PA
- RLC-820A
- RLC-822A
- RLC-823A
@ -190,6 +191,7 @@ The following models have been tested and confirmed to work:
- RLN8-410 NVR
- RLN16-410 NVR
- RLN36 NVR
- Reolink Duo 2 WiFi
- Reolink Duo Floodlight PoE
- Reolink TrackMix PoE
- Reolink Video Doorbell (PoE and Wi-Fi)
@ -207,3 +209,4 @@ However, these cameras can work with this integration through an NVR in which th
- Older firmware versions do not expose the necessary information the integration needs to function. Ensure the camera is updated to the [latest firmware](https://reolink.com/download-center/) prior to setting up the integration. Note that Reolink auto update and check for update functions in the app/windows/web client often do not show the latest available firmware version. Therefore check the version in the [Reolink download center](https://reolink.com/download-center/) online.
- Ensure at least one of the HTTP/HTTPS ports is enabled in the [windows](https://reolink.com/software-and-manual/)/web client under `Settings`->`Network`->`Advanced`->`Port Settings`, see [additional instructions](https://support.reolink.com/hc/en-us/articles/900004435763-How-to-Set-up-Reolink-Ports-Settings-via-Reolink-Client-New-Client-) on the Reolink site.
- On some camera models, the RTMP port needs to be enabled in order for the HTTP(S) port to function properly. Make sure this port is also enabled if you get a `Cannot connect to host` error while one of the HTTP/HTTPS ports is already enabled.
- Setting a static IP address for Reolink cameras/NVRs in your router is advisable to prevent (temporal) connectivity issues when the IP address changes.

View File

@ -13,6 +13,8 @@ ha_platforms:
- sensor
- switch
ha_integration_type: integration
ha_codeowners:
- '@epenet'
---
The `rest` sensor platform is consuming a given endpoint which is exposed by a [RESTful API](https://en.wikipedia.org/wiki/Representational_state_transfer) of a device, an application, or a web service. The sensor has support for GET and POST requests.

View File

@ -57,7 +57,7 @@ logger:
## Supported protocols
Not all protocols as advertised are enabled on the initial setup of your transceiver. Enabling all protocols is not recommended either.
Not all protocols as advertised are enabled on the initial setup of your transceiver. Enabling all protocols is not recommended either. The RFXcom transceiver loses significant sensitivity when more protocols are enabled. **Warning**: enabling the "BlindsT0" protocol blocks receiving any other protocol.
If your 433.92 product is not showing in the logs, you may need to enable additional protocols. You can do this by configuring the device itself using [RFXmgmr](http://www.rfxcom.com/epages/78165469.sf/en_GB/?ViewObjectPath=%2FShops%2F78165469%2FCategories%2FDownloads) to enable the required protocol, or you can configure the device in Home Assistant by configuring the [Protocols](#protocols).

View File

@ -2,9 +2,9 @@
title: Roborock
description: Instructions on how to integrate Roborock vacuums into Home Assistant
ha_category:
- Vacuum
- Select
- Sensor
- Vacuum
ha_iot_class: Local Polling
ha_release: 2023.5
ha_config_flow: true
@ -13,14 +13,35 @@ ha_codeowners:
- '@Lash-L'
ha_domain: roborock
ha_platforms:
- select
- vacuum
ha_integration_type: integration
---
The Roborock integration allows you to control your [Roborock](https://us.roborock.com/pages/robot-vacuum-cleaner) vacuum while continuing to use the Roborock app.
The Roborock integration allows you to control your [Roborock](https://us.roborock.com/pages/robot-vacuum-cleaner) vacuum while using the Roborock app.
In contrast to [Xiaomi Miio](/integrations/xiaomi_miio/) integration, this integration provides more complete support but requires cloud access to set up and device configuration using the Roborock app.
This integration requires a cloud connection to set up the device, but it communicates with the device entirely over your home network.
Once you log in with your Roborock account, the integration will automatically discover your Roborock devices and get the needed information to communicate locally with them. Please ensure your Home Assistant instance can communicate with the local IP of your device. We recommend setting a static IP for your Roborock Vacuum to help prevent future issues.
{% include integrations/config_flow.md %}
## FAQ
### Can I use the Mi home app with this integration?
No. This integration requires information from your Roborock app to set up and uses Roborock's protocols to communicate with your device. You must have your vacuum synced to the Roborock app.
### Can I block internet access for this device?
As of right now - no. When the vacuum is disconnected from the internet, it will attempt to disconnect itself from Wi-Fi and reconnect itself until it can reach the Roborock servers. We are looking for the best way to handle this and see what can be blocked while still allowing the vacuum to function.
### What devices are supported?
If you can add your device to the Roborock app - it is supported. However, some older vacuums like the Roborock S5 must be connected using the Mi Home app and can be set up in Home Assistant through the [Xiaomi Miio](/integrations/xiaomi_miio/) integration.
### What features will you support?
We are working on adding a lot of features to the core integration. We have reverse-engineered over 100 commands. The following are some of the functionalities we plan to add to Home Assistant Core. We ask that you are patient with us as we add them.
- Selective room cleaning
- Dock controls
- Manual vacuum remote control
- Status information such as errors, clean time, consumables, etc.
- Viewing the camera
- Viewing the map

View File

@ -147,6 +147,11 @@ You need to pass a `scene_id` in lowercase and with underscores instead of space
If the scene was previously created by `scene.create`, it will be overwritten. If the scene was created by YAML, nothing happens but a warning in your log files.
### Video Tutorial
This video tutorial explains how scenes work and how you can utilize scenes on the fly.
<lite-youtube videoid="JW9PC6ptXcM" videotitle="Scenes on Steroids in Home Assistant - How To - Tutorial" posterquality="maxresdefault"></lite-youtube>
```yaml
# Example automation using entities
automation:
@ -205,3 +210,4 @@ The following example turns off some entities as soon as a window opens. The sta
target:
entity_id: scene.before
```

View File

@ -61,7 +61,7 @@ availability_topic:
required: false
type: string
device:
description: "Information about the device this sensor is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/integrations/mqtt/#mqtt-discovery) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device."
description: "Information about the device this sensor is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/device_registry_index/). Only works through [MQTT discovery](/integrations/mqtt/#mqtt-discovery) and when [`unique_id`](#unique_id) is set. At least one of identifiers or connections must be present to identify the device."
required: false
type: map
keys:

View File

@ -290,22 +290,17 @@ sensor:
{% raw %}
```yaml
sensor:
- platform: rest
name: JSON time
json_attributes:
- date
- milliseconds_since_epoch
resource: http://date.jsontest.com/
value_template: "{{ value_json.time }}"
- platform: template
sensors:
date:
friendly_name: "Date"
value_template: "{{ state_attr('sensor.json_time', 'date') }}"
milliseconds:
friendly_name: "milliseconds"
value_template: "{{ state_attr('sensor.json_time', 'milliseconds_since_epoch') }}"
rest:
- resource: http://date.jsontest.com/
sensor:
- name: "Time"
value_template: "{{ value_json.time }}"
- name: "Date"
value_template: "{{ value_json.date }}"
- name: "Milliseconds"
value_template: "{{ value_json.milliseconds_since_epoch }}"
```
{% endraw %}
@ -335,40 +330,29 @@ This sample fetches a weather report from [OpenWeatherMap](https://openweatherma
{% raw %}
```yaml
sensor:
- platform: rest
name: OWM_report
json_attributes:
- main
- weather
value_template: "{{ value_json['weather'][0]['description'].title() }}"
resource: https://api.openweathermap.org/data/2.5/weather?zip=80302,us&APPID=VERYSECRETAPIKEY
- platform: template
sensors:
owm_weather:
value_template: "{{ state_attr('sensor.owm_report', 'weather')[0]['description'].title() }}"
entity_picture_template: "{{ 'https://openweathermap.org/img/w/' + state_attr('sensor.owm_report', 'weather')[0]['icon'].lower() + '.png' }}"
entity_id: sensor.owm_report
owm_temp:
friendly_name: "Outside temp"
value_template: "{{ state_attr('sensor.owm_report', 'main')['temp'] - 273.15 }}"
rest:
- resource: https://api.openweathermap.org/data/2.5/weather?zip=80302,us&APPID=VERYSECRETAPIKEY
sensor:
- name: "Report"
value_template: "{{ value_json['weather'][0]['description'].title() }}"
picture: "{{ 'https://openweathermap.org/img/w/' + value_json['weather'][0]['icon'].lower() + '.png' }}"
- name: "Outside temp"
value_template: "{{ value_json['main']['temp'] - 273.15 }}"
unit_of_measurement: "°C"
entity_id: sensor.owm_report
owm_pressure:
friendly_name: "Outside pressure"
value_template: "{{ state_attr('sensor.owm_report', 'main')['pressure'] }}"
- name: "Outside pressure"
value_template: "{{ value_json['main']['pressure'] }}"
unit_of_measurement: "hP"
entity_id: sensor.owm_report
owm_humidity:
friendly_name: "Outside humidity"
value_template: "{{ state_attr('sensor.owm_report', 'main')['humidity'] }}"
- name: "Outside humidity"
value_template: "{{ value_json['main']['humidity'] }}"
unit_of_measurement: "%"
entity_id: sensor.owm_report
```
{% endraw %}
This configuration shows how to extract multiple values from a dictionary with `json_attributes` and `template`. This avoids flooding the REST service by only requesting the result once, then creating multiple attributes from that single result using templates. By default, the sensor state would be set to the full JSON — here, that would exceed the 255-character maximum allowed length for the state, so we override that default by using `value_template` to set a static value of `OK`.
This configuration shows how to extract multiple values from a dictionary. This method avoids flooding the REST service because the result is only requested once. From that single request, multiple sensors can be created by using template sensors.
{% raw %}
@ -400,73 +384,52 @@ This configuration shows how to extract multiple values from a dictionary with `
{% raw %}
```yaml
sensor:
- platform: rest
name: room_sensors
rest:
resource: http://<address_to_rest_service>
json_attributes:
- bedroom1
- bedroom2
- bedroom3
value_template: "OK"
- platform: template
sensors:
bedroom1_temperature:
value_template: "{{ state_attr('sensor.room_sensors', 'bedroom1')['temperature'] }}"
sensor:
- name: "Bedroom1 Temperature"
value_template: "{{ value_json['bedroom1']['temperature'] }}"
device_class: temperature
unit_of_measurement: "°C"
bedroom1_humidity:
value_template: "{{ state_attr('sensor.room_sensors', 'bedroom1')['humidity'] }}"
- name: "Bedroom1 Humidity"
value_template: "{{ value_json['bedroom1']['humidity'] }}"
device_class: humidity
unit_of_measurement: "%"
bedroom1_battery:
value_template: "{{ state_attr('sensor.room_sensors', 'bedroom1')['battery'] }}"
- name: "Bedroom1 Battery"
value_template: "{{ value_json['bedroom1']['battery'] }}"
device_class: battery
unit_of_measurement: "V"
bedroom2_temperature:
value_template: "{{ state_attr('sensor.room_sensors', 'bedroom2')['temperature'] }}"
- name: "Bedroom2 Temperature"
value_template: "{{ value_json['bedroom2']['temperature'] }}"
device_class: temperature
unit_of_measurement: "°C"
```
{% endraw %}
The below example allows shows how to extract multiple values from a dictionary with `json_attributes` and `json_attributes_path` from the XML of a Steamist Steambath Wi-Fi interface and use them to create a switch and multiple sensors without having to poll the endpoint numerous times.
In the below example `json_attributes_path` is set to `$.response` which is the location of the `usr0`, `pot0`, ... attributes used for `json_attributes`.
The example below shows how to extract multiple values from a dictionary from the XML file of a Steamist Steambath Wi-Fi interface. The values are used to create a switch and multiple sensors without having to poll the endpoint numerous times.
{% raw %}
```yaml
sensor:
# Steam Controller
- platform: rest
name: Steam System Data
resource: http://192.168.1.105/status.xml
json_attributes_path: "$.response"
rest:
# Steam Controller
- resource: http://192.168.1.105/status.xml
scan_interval: 15
value_template: "OK"
json_attributes:
- "usr0"
- "pot0"
- "temp0"
- "time0"
- platform: template
sensors:
steam_temp:
friendly_name: Steam Temp
value_template: "{{ state_attr('sensor.steam_system_data', 'temp0') | regex_findall_index('([0-9]+)XF') }}"
sensor:
- name: Steam Temp
value_template: "{{ json_value['response']['temp0'] | regex_findall_index('([0-9]+)XF') }}"
unit_of_measurement: "°F"
steam_time_remaining:
friendly_name: "Steam Time Remaining"
value_template: "{{ state_attr('sensor.steam_system_data', 'time0') }}"
- name: "Steam Time Remaining"
value_template: "{{ json_value['response']['time0'] }}"
unit_of_measurement: "minutes"
switch:
- platform: template
switches:
steam:
value_template: "{{ state_attr('sensor.steam_system_data', 'usr0') | int >= 1 }}"
switch:
- name: "Steam"
value_template: "{{ json_value['response']['usr0'] | int >= 1 }}"
turn_on:
- service: rest_command.set_steam_led
data:
@ -489,7 +452,6 @@ switch:
- service: homeassistant.update_entity
target:
entity_id: sensor.steam_system_data
friendly_name: Steam
rest_command:
set_steam_led:

View File

@ -18,39 +18,113 @@ ha_integration_type: service
The `slack` platform allows you to deliver notifications from Home Assistant to [Slack](https://slack.com/).
![](/images/integrations/slack/slack-message.png)
## Setup
### Bot posting as you
### Slack App
1. Create a [new app](https://api.slack.com/apps) under your Slack.com account.
2. Click the `OAuth & Permissions` link in the sidebar, under the Features heading.
3. In the Scopes section, add the `chat:write` and `dnd:read` scopes and select `Send messages as user`. Many errors can occur if these options are not set correctly.
Find `Features/OAuth and Permissions/Scopes/Bot Token Scopes`
3. Add the `chat:write` and `dnd:read` scopes
- To modify your Slack bot's username and icon, additionally add the `chat:write.customize` OAuth scope
![](/images/integrations/slack/bot-token-scopes.png)
4. Scroll up to `OAuth Tokens & Redirect URLs` and click `Install to Workspace`.
5. Copy your `OAuth Access Token` and put that key into the config flow.
<div class='note'>
In `Features/OAuth and Permissions/OAuth Tokens for Your Workspace`:
There is an app credential Verification Token on the Basic Settings of your app. This is **not** the API key you want.
5. Copy the Bot User OAuth Token. Use this as 'API Key' when setting up in Home Assistant
</div>
![](/images/integrations/slack/oauth-tokens-for-workspace.png)
### Bot posting as its own user
It is also possible to use Slack bots as users. Just create a new bot at https://[YOUR_TEAM].slack.com/apps/build/custom-integration and use the provided token for that. You can add an icon from the frontend for Home Assistant and give the bot a meaningful name.
Ensure that the bot user is added to the channel in which you want it to post.
In Slack, tag the bot user in a message, then add it to the channel.
Don't forget to invite the bot to the room where you want to get the notifications.
#### Sample App Manifest
You can easily create a bot with all the permissions needed from an App Manifest.
```yaml
display_information:
name: Home Notifications
features:
bot_user:
display_name: Home Notifications
always_online: false
oauth_config:
scopes:
bot:
- incoming-webhook
- chat:write
- dnd:read
- chat:write.customize
settings:
org_deploy_enabled: false
socket_mode_enabled: false
token_rotation_enabled: false
```
### Integration Setup
When installing the integration, use these settings:
API Key: `xoxb-abc-def`
- Bot User OAuth Token (from step 5 above)
Default Channel: `#channel`
- Channel name that bot will post to if a channel is not supplied when called
Icon/Username:
- optional - if you want to have a custom name/icon for the bot user not already set in Slack
![](/images/integrations/slack/slack-integration-setup.png)
## Usage
### Sending Messages
One of the easiest ways to send a message, is to create a script. You can paste in YAML and make changes in the GUI.
You can call this script as a service.
1. Go to Home Assistant Settings > Automations and Scenes > Scripts > Add Script
2. Click the three dots in the top right, and pick 'Edit in YAML'. Paste in the contents below.
3. Change `YOUR_SLACK_TEAM` to the team name `(*.slack.com)`
```yaml
alias: "Notify: Slack Notification Template"
sequence:
- service: notify.YOUR_SLACK_TEAM
data:
message: Fallback Text
target: "#test-channel"
title: Reminder
data:
blocks:
- type: section
text:
type: mrkdwn
text: >-
This is a mrkdwn section block *this is bold*, and ~this is
crossed out~, and <https://google.com|this is a link>
mode: single
```
Update the blocks array with valid Slack blocks. The easiest way to create this is using [Slack Block Kit Builder](https://app.slack.com/block-kit-builder)
Create a duplicate of this script to use for different messages, and different channels (the door was opened in #security, the light was left on on #lights, etc).
### Icons
Slack uses the standard emoji sets used [here](https://www.webpagefx.com/tools/emoji-cheat-sheet/). Alternatively a publicly accessible URL may be used.
<div class='note'>
In order to modify your Slack bot's username and icon, you must ensure your Slack app has the `chat:write.customize` OAuth scope. See [the Slack API documentation](https://api.slack.com/methods/chat.postMessage#authorship) for more information.
The added `notify` service will be named after the chat server the app is installed on. For example, a server named "Slack Chat" wil display as `notify.slack_chat`.
</div>
Slack uses the standard emoji sets used [here](https://slack.com/intl/en-gb/help/articles/202931348-Use-emoji-and-reactions#add-emoji-to-your-messages). Alternatively a publicly accessible URL may be used.
{% include integrations/config_flow.md %}

View File

@ -29,7 +29,7 @@ ha_platforms:
ha_integration_type: integration
---
The SleepIQ integration lets you integrate your SleepNumber Bed via [SleepIQ by SleepNumber](https://www.sleepnumber.com/sleepiq-sleep-tracker).
The SleepIQ integration lets you integrate your SleepNumber Bed via [SleepIQ by SleepNumber](https://www.sleepnumber.com/pages/sleepiq-sleep-tracker).
There is currently support for the following platforms within Home Assistant:

View File

@ -117,7 +117,7 @@ Sonos accepts a variety of `media_content_id` formats in the `media_player.play_
Music services which require an account (e.g., Spotify) must first be configured using the Sonos app.
Playing TTS (text to speech) or audio files as alerts (e.g., a doorbell or alarm) is possible by setting the `announce` argument to `true`. Using `announce` will play the provided media URL as an overlay, gently lowering the current music volume and automatically restoring to the original level when finished. An optional `volume` argument can also be provided in the `extra` dictionary to play the alert at a specific volume level. Note that older Sonos hardware or legacy firmware versions ("S1") may not fully support these features.
Playing TTS (text to speech) or audio files as alerts (e.g., a doorbell or alarm) is possible by setting the `announce` argument to `true`. Using `announce` will play the provided media URL as an overlay, gently lowering the current music volume and automatically restoring to the original level when finished. An optional `volume` argument can also be provided in the `extra` dictionary to play the alert at a specific volume level. Note that older Sonos hardware or legacy firmware versions ("S1") may not fully support these features. Additionally, see [Network Requirements](#network-requirements) for use in restricted networking environments.
An optional `enqueue` argument can be added to the service call. If `true`, the media will be appended to the end of the playback queue. If not provided or `false` then the queue will be replaced.
@ -137,6 +137,20 @@ data:
volume: 20
```
The standard `tts.<source>_say` services do not accept the `volume` parameter directly. To set the `volume` for a TTS announcement, you can use a TTS Media Source URL with the standard `media_player.play_media` service:
```yaml
service: media_player.play_media
target:
entity_id: media_player.sonos
data:
announce: true
media_content_id: >
media-source://tts/cloud?message="I am very loud"
media_content_type: "music"
extra:
volume: 80
```
Sonos can also play music or playlists from Spotify. Both Spotify URIs and URLs can be used directly. An example service call using a playlist URI:
```yaml
@ -168,7 +182,8 @@ target:
entity_id: media_player.sonos
data:
media_content_type: "music"
media_content_id: 'plex://{ "library_name": "Music", "artist_name": "M83", "album_name": "Hurry Up, We're Dreaming" }'
media_content_id: >
plex://{ "library_name": "Music", "artist_name": "M83", "album_name": "Hurry Up, We're Dreaming" }
```
## Services
@ -302,6 +317,8 @@ action:
To work optimally, the Sonos devices must be able to connect back to the Home Assistant host on TCP port 1400. This will allow the push-based updates to work properly. If this port is blocked or otherwise unreachable from the Sonos devices, the integration will fall back to a polling mode which is slower to update and much less efficient. The integration will alert the user if this problem is detected.
Playing audio using the `announce` option or TTS requires TCP port 1443 on each Sonos device to be reachable from the Home Assistant host.
See [Advanced use](#advanced-use) below for additional configuration options which may be needed to address this issue in setups with more complex network topologies.
## Advanced use

View File

@ -10,6 +10,7 @@ ha_config_flow: true
ha_codeowners:
- '@dgomes'
- '@gjohansson-ST'
- '@dougiteixeira'
ha_domain: sql
ha_platforms:
- sensor
@ -185,6 +186,31 @@ WHERE
```
Use `state` as column for value.
### State of an entity x time ago
If you want to extract the state of an entity from a day, hour, or minute ago, the query is:
```sql
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.temperature_in'
AND last_updated_ts <= strftime('%s', 'now', '-1 day')
ORDER BY
last_updated_ts DESC
LIMIT
1;
```
Replace `-1 day` with the target offset, for example, `-1 hour`.
Use `state` as column for value.
Keep in mind that, depending on the update frequency of your sensor and other factors, this may not be a 100% accurate reflection of the actual situation you are measuring. Since your database wont necessarily have a value saved exactly 24 hours ago, use “>=” or “<=” to get one of the closest values.
### Database size
#### Postgres

View File

@ -3,9 +3,9 @@ title: Synology DSM
description: Instructions on how to integrate the Synology DSM sensor within Home Assistant.
ha_category:
- Camera
- Media Source
- System Monitor
- Update
- Media Source
ha_release: 0.32
ha_iot_class: Local Polling
ha_domain: synology_dsm
@ -23,7 +23,6 @@ ha_platforms:
- sensor
- switch
- update
- media_source
ha_integration_type: integration
ha_zeroconf: true
---

View File

@ -35,10 +35,10 @@ scale:
type: integer
default: 1
name:
description: The name to use when displaying this switch.
description: The name to use when displaying this sensor.
required: false
type: string
default: myStrom Switch
default: Unnamed Device
{% endconfiguration %}
Since some of these sensors consistently show higher temperatures the scale and offset values can be used to fine-tune your sensor.

View File

@ -113,7 +113,7 @@ sensor:
type: map
keys:
state:
description: Defines a template to get the state of the sensor.
description: "Defines a template to get the state of the sensor. If the sensor is numeric, i.e. it has a `state_class` or a `unit_of_measurement`, the state template must render to a number or to `none`. The state template must not render to a string, including `unknown` or `unavailable`. An `availability` template may be defined to suppress rendering of the state template."
required: true
type: template
unit_of_measurement:
@ -460,6 +460,8 @@ template:
### State based sensor changing the unit of measurement of another sensor
With a Template Sensor, it's easy to convert given values into others if the unit of measurement doesn't fit your needs.
Because the sensors do math on the source sensor's state and need to render to a numeric value, an availability template is used
to suppress rendering of the state template if the source sensor does not have a valid numeric state.
{% raw %}
@ -469,10 +471,12 @@ template:
- name: "Transmission Down Speed"
unit_of_measurement: "kB/s"
state: "{{ states('sensor.transmission_down_speed')|float * 1024 }}"
availability: "{{ is_number(states('sensor.transmission_down_speed')) }}"
- name: "Transmission Up Speed"
unit_of_measurement: "kB/s"
state: "{{ states('sensor.transmission_up_speed')|float * 1024 }}"
availability: "{{ is_number(states('sensor.transmission_up_speed')) }}"
```
{% endraw %}

View File

@ -75,7 +75,7 @@ This is a separate account from the one you made for the app. You cannot log in
1. Navigate to the `Devices` tab.
2. Click `Link Tuya App Account` > `Add App Account`.
![](/images/integrations/tuya/image_003.png)
3. Scan the QR code that appears using the `Tuya Smart` app or `Smart Life` app.
3. Scan the QR code that appears using the `Tuya Smart` app or `Smart Life` app using the 'Me' section of the app.
![](/images/integrations/tuya/image_004.png)
4. Click `Confirm` in the app.
5. To confirm that everything worked, navigate to the `All Devices` tab. Here you should be able to find the devices from the app.

View File

@ -25,10 +25,8 @@ The Ukraine Alarm integration uses the siren.pp.ua API - public wrapper for [Ukr
Siren check interval is set to 10 seconds to avoid overloading the API and still be able to react fast enough.
## Setup
{% include integrations/config_flow.md %}
## Limitations
You can add up to 5 regions for monitoring to don't hit API rate limit.
You can monitor up to 5 regions to not hit the API rate limit.

View File

@ -22,7 +22,6 @@ ha_iot_class: Local Push
ha_config_flow: true
ha_quality_scale: platinum
ha_codeowners:
- '@briis'
- '@AngellusMortis'
- '@bdraco'
ha_domain: unifiprotect

View File

@ -5,8 +5,6 @@ ha_category:
- Climate
ha_release: 0.99
ha_iot_class: Cloud Polling
ha_codeowners:
- '@oischinger'
ha_config_flow: true
ha_domain: vicare
ha_platforms:

View File

@ -13,7 +13,7 @@ ha_domain: vizio
ha_zeroconf: true
ha_platforms:
- media_player
ha_integration_type: hub
ha_integration_type: device
---
The `vizio` integration allows you to control [SmartCast](https://www.vizio.com/smartcast-app)-compatible TVs and sound bars (2016+ models).

View File

@ -1,5 +1,5 @@
---
title: VoIP
title: Voice over IP
description: Voice over IP
ha_category:
- Voice
@ -10,10 +10,20 @@ ha_codeowners:
- '@synesthesiam'
ha_domain: voip
ha_integration_type: integration
ha_quality_scale: internal
ha_platforms:
- binary_sensor
- select
- switch
ha_config_flow: true
---
The VoIP integration enables users to talk to [Assist](/docs/assist) using an analog phone and a VoIP adapter. Currently, the system works with the [Grandstream HT801](https://amzn.to/40k7mRa). See [the tutorial](/projects/worlds-most-private-voice-assistant) for detailed instructions.
As an alternative, the [Grandstream HT802](https://www.amazon.com/Grandstream-GS-HT802-Analog-Telephone-Adapter/dp/B01JH7MYKA/) can be used, which is basically the same as the previously mentioned HT801, but has two phone ports, of which Home Assistant currently support using only one of them.
Also, the Grandstream HT812 has been reported to work. Home Assistant supports using only one of the two phone ports.
<p class='img'>
<img src="/images/integrations/voip/voip_adapter.png" />
Connecting a phone to Home Assistant requires an adapter.

Some files were not shown because too many files have changed in this diff Show More