Merge branch 'current' into next
1078
.github/copilot-instructions.md
vendored
Normal file
27
CODEOWNERS
@ -100,6 +100,7 @@ source/_integrations/azure_service_bus.markdown @hfurubotten
|
||||
source/_integrations/azure_storage.markdown @zweckj
|
||||
source/_integrations/backup.markdown @home-assistant/core
|
||||
source/_integrations/baf.markdown @bdraco @jfroy
|
||||
source/_integrations/balay.markdown @DavidMStraub @Diegorro98 @MartinHjelmare
|
||||
source/_integrations/balboa.markdown @garbled1 @natekspencer
|
||||
source/_integrations/bang_olufsen.markdown @mj23000
|
||||
source/_integrations/bayesian.markdown @HarvsG
|
||||
@ -119,6 +120,7 @@ source/_integrations/bluetooth.markdown @bdraco
|
||||
source/_integrations/bluetooth_adapters.markdown @bdraco
|
||||
source/_integrations/bmw_connected_drive.markdown @gerard33 @rikroe
|
||||
source/_integrations/bond.markdown @bdraco @prystupa @joshs85 @marciogranzotto
|
||||
source/_integrations/bosch_alarm.markdown @mag1024 @sanjay900
|
||||
source/_integrations/bosch_shc.markdown @tschamm
|
||||
source/_integrations/brandt.markdown @imicknl
|
||||
source/_integrations/braviatv.markdown @bieniu @Drafteed
|
||||
@ -163,6 +165,7 @@ source/_integrations/compensation.markdown @Petro31
|
||||
source/_integrations/coned.markdown @tronikos
|
||||
source/_integrations/config.markdown @home-assistant/core
|
||||
source/_integrations/configurator.markdown @home-assistant/core
|
||||
source/_integrations/constructa.markdown @DavidMStraub @Diegorro98 @MartinHjelmare
|
||||
source/_integrations/control4.markdown @lawtancool
|
||||
source/_integrations/conversation.markdown @home-assistant/core @synesthesiam
|
||||
source/_integrations/cookidoo.markdown @miaucl
|
||||
@ -253,7 +256,7 @@ source/_integrations/enocean.markdown @bdurrer
|
||||
source/_integrations/enphase_envoy.markdown @bdraco @cgarwood @joostlek @catsmanac
|
||||
source/_integrations/entur_public_transport.markdown @hfurubotten
|
||||
source/_integrations/environment_canada.markdown @gwww @michaeldavie
|
||||
source/_integrations/ephember.markdown @ttroy50
|
||||
source/_integrations/ephember.markdown @ttroy50 @roberty99
|
||||
source/_integrations/epic_games_store.markdown @hacf-fr @Quentame
|
||||
source/_integrations/epion.markdown @lhgravendeel
|
||||
source/_integrations/epson.markdown @pszafer
|
||||
@ -307,6 +310,7 @@ source/_integrations/fujitsu_anywair.markdown @Bre77
|
||||
source/_integrations/fujitsu_fglair.markdown @crevetor
|
||||
source/_integrations/fully_kiosk.markdown @cgarwood
|
||||
source/_integrations/fyta.markdown @dontinelli
|
||||
source/_integrations/gaggenau.markdown @DavidMStraub @Diegorro98 @MartinHjelmare
|
||||
source/_integrations/garages_amsterdam.markdown @klaasnicolaas
|
||||
source/_integrations/gardena_bluetooth.markdown @elupus
|
||||
source/_integrations/gaviota.markdown @starkillerOG
|
||||
@ -332,6 +336,7 @@ source/_integrations/google_assistant.markdown @home-assistant/cloud
|
||||
source/_integrations/google_assistant_sdk.markdown @tronikos
|
||||
source/_integrations/google_cloud.markdown @lufton @tronikos
|
||||
source/_integrations/google_drive.markdown @tronikos
|
||||
source/_integrations/google_gemini.markdown @tronikos @ivanlh
|
||||
source/_integrations/google_generative_ai_conversation.markdown @tronikos @ivanlh
|
||||
source/_integrations/google_mail.markdown @tkdrob
|
||||
source/_integrations/google_photos.markdown @allenporter
|
||||
@ -407,6 +412,7 @@ source/_integrations/image.markdown @home-assistant/core
|
||||
source/_integrations/image_processing.markdown @home-assistant/core
|
||||
source/_integrations/image_upload.markdown @home-assistant/core
|
||||
source/_integrations/imap.markdown @jbouwh
|
||||
source/_integrations/imeon_inverter.markdown @Imeon-Energy
|
||||
source/_integrations/imgw_pib.markdown @bieniu
|
||||
source/_integrations/improv_ble.markdown @emontnemery
|
||||
source/_integrations/incomfort.markdown @jbouwh
|
||||
@ -521,7 +527,7 @@ source/_integrations/martec.markdown @starkillerOG
|
||||
source/_integrations/mastodon.markdown @fabaff @andrew-codechimp
|
||||
source/_integrations/matrix.markdown @PaarthShah
|
||||
source/_integrations/matter.markdown @home-assistant/matter
|
||||
source/_integrations/maytag.markdown @abmantis
|
||||
source/_integrations/maytag.markdown @abmantis @mkmer
|
||||
source/_integrations/mcp.markdown @allenporter
|
||||
source/_integrations/mcp_server.markdown @allenporter
|
||||
source/_integrations/mealie.markdown @joostlek @andrew-codechimp
|
||||
@ -542,6 +548,7 @@ source/_integrations/meteoalarm.markdown @rolfberkenbosch
|
||||
source/_integrations/meteoclimatic.markdown @adrianmo
|
||||
source/_integrations/metoffice.markdown @MrHarcombe @avee87
|
||||
source/_integrations/microbees.markdown @microBeesTech
|
||||
source/_integrations/miele.markdown @astrandb
|
||||
source/_integrations/mijndomein_energie.markdown @klaasnicolaas
|
||||
source/_integrations/mikrotik.markdown @engrbm87
|
||||
source/_integrations/mill.markdown @danielhiversen
|
||||
@ -576,7 +583,9 @@ source/_integrations/myuplink.markdown @pajzo @astrandb
|
||||
source/_integrations/nam.markdown @bieniu
|
||||
source/_integrations/nanoleaf.markdown @milanmeu @joostlek
|
||||
source/_integrations/nasweb.markdown @nasWebio
|
||||
source/_integrations/national_grid_us.markdown @tronikos
|
||||
source/_integrations/nederlandse_spoorwegen.markdown @YarmoM
|
||||
source/_integrations/neff.markdown @DavidMStraub @Diegorro98 @MartinHjelmare
|
||||
source/_integrations/ness_alarm.markdown @nickw444
|
||||
source/_integrations/nest.markdown @allenporter
|
||||
source/_integrations/netatmo.markdown @cgtobi
|
||||
@ -605,8 +614,10 @@ source/_integrations/notify_events.markdown @matrozov @papajojo
|
||||
source/_integrations/notion.markdown @bachya
|
||||
source/_integrations/nsw_fuel_station.markdown @nickw444
|
||||
source/_integrations/nsw_rural_fire_service_feed.markdown @exxamalte
|
||||
source/_integrations/ntfy.markdown @tr4nt0r
|
||||
source/_integrations/nuheat.markdown @tstabrawa
|
||||
source/_integrations/nuki.markdown @pschmitt @pvizeli @pree
|
||||
source/_integrations/nuki_matter.markdown @home-assistant/matter
|
||||
source/_integrations/numato.markdown @clssn
|
||||
source/_integrations/number.markdown @home-assistant/core @Shulyaka
|
||||
source/_integrations/nut.markdown @bdraco @ollo69 @pestevez @tdfountain
|
||||
@ -622,7 +633,6 @@ source/_integrations/ohme.markdown @dan-r
|
||||
source/_integrations/ollama.markdown @synesthesiam
|
||||
source/_integrations/ombi.markdown @larssont
|
||||
source/_integrations/onboarding.markdown @home-assistant/core
|
||||
source/_integrations/oncue.markdown @bdraco @peterager
|
||||
source/_integrations/ondilo_ico.markdown @JeromeHXP
|
||||
source/_integrations/onedrive.markdown @zweckj
|
||||
source/_integrations/onewire.markdown @garbled1 @epenet
|
||||
@ -668,6 +678,7 @@ source/_integrations/picnic.markdown @corneyl @codesalatdev
|
||||
source/_integrations/pinecil.markdown @tr4nt0r
|
||||
source/_integrations/ping.markdown @jpbede
|
||||
source/_integrations/piper.markdown @balloob @synesthesiam
|
||||
source/_integrations/pitsos.markdown @DavidMStraub @Diegorro98 @MartinHjelmare
|
||||
source/_integrations/plaato.markdown @JohNan
|
||||
source/_integrations/plex.markdown @jjlawren
|
||||
source/_integrations/plugwise.markdown @CoMPaTech @bouwew
|
||||
@ -679,6 +690,7 @@ source/_integrations/powerfox.markdown @klaasnicolaas
|
||||
source/_integrations/powerwall.markdown @bdraco @jrester @daniel-simpson
|
||||
source/_integrations/private_ble_device.markdown @Jc2k
|
||||
source/_integrations/profiler.markdown @bdraco
|
||||
source/_integrations/profilo.markdown @DavidMStraub @Diegorro98 @MartinHjelmare
|
||||
source/_integrations/progettihwsw.markdown @ardaseremet
|
||||
source/_integrations/prometheus.markdown @knyar
|
||||
source/_integrations/prosegur.markdown @dgomes
|
||||
@ -725,6 +737,7 @@ source/_integrations/recollect_waste.markdown @bachya
|
||||
source/_integrations/recorder.markdown @home-assistant/core
|
||||
source/_integrations/recovery_mode.markdown @home-assistant/core
|
||||
source/_integrations/refoss.markdown @ashionky
|
||||
source/_integrations/rehlko.markdown @bdraco @peterager
|
||||
source/_integrations/remote.markdown @home-assistant/core
|
||||
source/_integrations/remote_calendar.markdown @Thomas55555
|
||||
source/_integrations/renault.markdown @epenet
|
||||
@ -755,6 +768,7 @@ source/_integrations/russound_rnet.markdown @noahhusby
|
||||
source/_integrations/ruuvi_gateway.markdown @akx
|
||||
source/_integrations/ruuvitag_ble.markdown @akx
|
||||
source/_integrations/rympro.markdown @OnFreund @elad-bar @maorcc
|
||||
source/_integrations/s3.markdown @tomasbedrich
|
||||
source/_integrations/sabnzbd.markdown @shaiu @jpbede
|
||||
source/_integrations/saj.markdown @fredericvl
|
||||
source/_integrations/samsam.markdown @klaasnicolaas
|
||||
@ -792,6 +806,7 @@ source/_integrations/shell_command.markdown @home-assistant/core
|
||||
source/_integrations/shelly.markdown @balloob @bieniu @thecode @chemelli74 @bdraco
|
||||
source/_integrations/shodan.markdown @fabaff
|
||||
source/_integrations/sia.markdown @eavanvalkenburg
|
||||
source/_integrations/siemens.markdown @DavidMStraub @Diegorro98 @MartinHjelmare
|
||||
source/_integrations/sighthound.markdown @robmarkcole
|
||||
source/_integrations/signal_messenger.markdown @bbernhard
|
||||
source/_integrations/simplefin.markdown @scottg489 @jeeftor
|
||||
@ -802,7 +817,6 @@ source/_integrations/simu.markdown @imicknl
|
||||
source/_integrations/sinch.markdown @bendikrb
|
||||
source/_integrations/siren.markdown @home-assistant/core @raman325
|
||||
source/_integrations/sisyphus.markdown @jkeljo
|
||||
source/_integrations/sky_hub.markdown @rogerselwyn
|
||||
source/_integrations/sky_remote.markdown @dunnmj @saty9
|
||||
source/_integrations/skybell.markdown @tkdrob
|
||||
source/_integrations/slack.markdown @tkdrob @fletcherau
|
||||
@ -832,7 +846,7 @@ source/_integrations/solaredge.markdown @frenck @bdraco
|
||||
source/_integrations/solaredge_local.markdown @drobtravels @scheric
|
||||
source/_integrations/solarlog.markdown @Ernst79 @dontinelli
|
||||
source/_integrations/solax.markdown @squishykid @Darsstar
|
||||
source/_integrations/soma.markdown @ratsept @sebfortier2288
|
||||
source/_integrations/soma.markdown @ratsept
|
||||
source/_integrations/somfy.markdown @imicknl
|
||||
source/_integrations/sonarr.markdown @ctalkington
|
||||
source/_integrations/songpal.markdown @rytilahti @shenxn
|
||||
@ -850,7 +864,7 @@ source/_integrations/starlink.markdown @boswelja
|
||||
source/_integrations/statistics.markdown @ThomDietrich @gjohansson-ST
|
||||
source/_integrations/steam_online.markdown @tkdrob
|
||||
source/_integrations/steamist.markdown @bdraco
|
||||
source/_integrations/stiebel_eltron.markdown @fucm
|
||||
source/_integrations/stiebel_eltron.markdown @fucm @ThyMYthOS
|
||||
source/_integrations/stookwijzer.markdown @fwestenberg
|
||||
source/_integrations/stream.markdown @hunterjm @uvjustin @allenporter
|
||||
source/_integrations/stt.markdown @home-assistant/core
|
||||
@ -896,6 +910,7 @@ source/_integrations/teslemetry.markdown @Bre77
|
||||
source/_integrations/tessie.markdown @Bre77
|
||||
source/_integrations/text.markdown @home-assistant/core
|
||||
source/_integrations/tfiac.markdown @fredrike @mellado
|
||||
source/_integrations/thermador.markdown @DavidMStraub @Diegorro98 @MartinHjelmare
|
||||
source/_integrations/thermobeacon.markdown @bdraco
|
||||
source/_integrations/thermoplus.markdown @bdraco
|
||||
source/_integrations/thermopro.markdown @bdraco @h3ss
|
||||
|
4
Gemfile
@ -11,8 +11,8 @@ group :development do
|
||||
# > 2.1.0 causes slowdowns https://github.com/sass/sassc-ruby/issues/189
|
||||
gem 'sassc', '2.1.0'
|
||||
gem 'sass-embedded', '1.87.0'
|
||||
gem 'rubocop', '1.75.4'
|
||||
gem 'ruby-lsp', '0.23.15'
|
||||
gem 'rubocop', '1.75.5'
|
||||
gem 'ruby-lsp', '0.23.17'
|
||||
gem 'rackup', '2.2.1'
|
||||
end
|
||||
|
||||
|
16
Gemfile.lock
@ -97,14 +97,14 @@ GEM
|
||||
pathutil (0.16.2)
|
||||
forwardable-extended (~> 2.6)
|
||||
prism (1.4.0)
|
||||
public_suffix (6.0.1)
|
||||
public_suffix (6.0.2)
|
||||
racc (1.8.1)
|
||||
rack (3.1.13)
|
||||
rack (3.1.14)
|
||||
rack-protection (4.1.1)
|
||||
base64 (>= 0.1.0)
|
||||
logger (>= 1.6.0)
|
||||
rack (>= 3.0.0, < 4)
|
||||
rack-session (2.1.0)
|
||||
rack-session (2.1.1)
|
||||
base64 (>= 0.1.0)
|
||||
rack (>= 3.0.0)
|
||||
rackup (2.2.1)
|
||||
@ -119,7 +119,7 @@ GEM
|
||||
regexp_parser (2.10.0)
|
||||
rexml (3.4.1)
|
||||
rouge (4.5.2)
|
||||
rubocop (1.75.4)
|
||||
rubocop (1.75.5)
|
||||
json (~> 2.3)
|
||||
language_server-protocol (~> 3.17.0.2)
|
||||
lint_roller (~> 1.1.0)
|
||||
@ -133,7 +133,7 @@ GEM
|
||||
rubocop-ast (1.44.1)
|
||||
parser (>= 3.3.7.2)
|
||||
prism (~> 1.4)
|
||||
ruby-lsp (0.23.15)
|
||||
ruby-lsp (0.23.17)
|
||||
language_server-protocol (~> 3.17.0)
|
||||
prism (>= 1.2, < 2.0)
|
||||
rbs (>= 3, < 4)
|
||||
@ -159,7 +159,7 @@ GEM
|
||||
rack-protection (= 4.1.1)
|
||||
rack-session (>= 2.0.0, < 3)
|
||||
tilt (~> 2.0)
|
||||
sorbet-runtime (0.5.12046)
|
||||
sorbet-runtime (0.5.12079)
|
||||
stringex (2.8.6)
|
||||
terminal-table (3.0.2)
|
||||
unicode-display_width (>= 1.1.1, < 3)
|
||||
@ -185,8 +185,8 @@ DEPENDENCIES
|
||||
nokogiri (= 1.18.8)
|
||||
rackup (= 2.2.1)
|
||||
rake (= 13.2.1)
|
||||
rubocop (= 1.75.4)
|
||||
ruby-lsp (= 0.23.15)
|
||||
rubocop (= 1.75.5)
|
||||
ruby-lsp (= 0.23.17)
|
||||
sass-embedded (= 1.87.0)
|
||||
sass-globbing (= 1.1.5)
|
||||
sassc (= 2.1.0)
|
||||
|
@ -107,9 +107,9 @@ social:
|
||||
|
||||
# Home Assistant release details
|
||||
current_major_version: 2025
|
||||
current_minor_version: 4
|
||||
current_patch_version: 4
|
||||
date_released: 2025-04-25
|
||||
current_minor_version: 5
|
||||
current_patch_version: 0
|
||||
date_released: 2025-05-07
|
||||
|
||||
# Either # or the anchor link to latest release notes in the blog post.
|
||||
# Must be prefixed with a # and have double quotes around it.
|
||||
|
224
package-lock.json
generated
@ -20,7 +20,7 @@
|
||||
"remark-lint-prohibited-strings": "^4.0.0",
|
||||
"remark-lint-unordered-list-marker-style": "^4.0.1",
|
||||
"remark-stringify": "^11.0.0",
|
||||
"textlint": "^14.6.0",
|
||||
"textlint": "^14.7.1",
|
||||
"textlint-filter-rule-comments": "^1.2.2",
|
||||
"textlint-rule-common-misspellings": "^1.0.1",
|
||||
"textlint-rule-terminology": "^5.0.13"
|
||||
@ -427,73 +427,73 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@textlint/ast-tester": {
|
||||
"version": "14.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-14.6.0.tgz",
|
||||
"integrity": "sha512-wGoNB35KA/LEWaGp5ccsUqQwNjygCDnkGxe8A8kCMURgM2KYTuCCItGMLrajm0T9BhNdQtK/ST6+EljTFERasA==",
|
||||
"version": "14.7.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-14.7.1.tgz",
|
||||
"integrity": "sha512-WMXqBRsEaNJowPCASXOqKhu5zu+DL8I6u4R+j3gTHZiBZFXMCLVmBT6pY9ed1i2Owqzj7akYTqjaHJKagGLwxg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@textlint/ast-node-types": "^14.6.0",
|
||||
"@textlint/ast-node-types": "^14.7.1",
|
||||
"debug": "^4.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@textlint/ast-tester/node_modules/@textlint/ast-node-types": {
|
||||
"version": "14.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.6.0.tgz",
|
||||
"integrity": "sha512-PqWpzFa64M5uKqBSQPV8wPqo14zvmz5JXWIIUkVCMQ/gN8/8IrXjpsp0O+/To8u5D5woVpxihBi/3nJdR8E37g==",
|
||||
"version": "14.7.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.7.1.tgz",
|
||||
"integrity": "sha512-7C/xYNZtaG+erIMjNZbRz7av9/S5eC+GAMh0rJ6A9Hik6nS4WyWKblutw2p+O2YWWT2tmOjzu/81fWzzDzmtRg==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@textlint/ast-traverse": {
|
||||
"version": "14.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-14.6.0.tgz",
|
||||
"integrity": "sha512-BkfQ/bWfpO6FErrpYoUF+SzlPqJklxD+o6rs2TwSoqO2EMP5vAgIVdGJiTBjV4kxghTzq0w5UkMi9xtNZw1sUg==",
|
||||
"version": "14.7.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-14.7.1.tgz",
|
||||
"integrity": "sha512-E9uflmEmr9bUbnX5W+KXoH4c2o5Bu6aimeqadIAixkVjVcYFKL7XJ44HJJx/Ern6hcSSYlbIPHjScjAMTT/kqQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@textlint/ast-node-types": "^14.6.0"
|
||||
"@textlint/ast-node-types": "^14.7.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@textlint/ast-traverse/node_modules/@textlint/ast-node-types": {
|
||||
"version": "14.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.6.0.tgz",
|
||||
"integrity": "sha512-PqWpzFa64M5uKqBSQPV8wPqo14zvmz5JXWIIUkVCMQ/gN8/8IrXjpsp0O+/To8u5D5woVpxihBi/3nJdR8E37g==",
|
||||
"version": "14.7.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.7.1.tgz",
|
||||
"integrity": "sha512-7C/xYNZtaG+erIMjNZbRz7av9/S5eC+GAMh0rJ6A9Hik6nS4WyWKblutw2p+O2YWWT2tmOjzu/81fWzzDzmtRg==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@textlint/config-loader": {
|
||||
"version": "14.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/config-loader/-/config-loader-14.6.0.tgz",
|
||||
"integrity": "sha512-OzcHVwKlyQOm7bVPee9z0AciYUN9L8543JIkHxtj81h8Qc7aGBOo0nqIZSL2GC+G0pnab6Rkt0drOAlpkKKrrA==",
|
||||
"version": "14.7.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/config-loader/-/config-loader-14.7.1.tgz",
|
||||
"integrity": "sha512-VBsKuqdrurhS8RUVwmMDShqRYm7oBKPHQxJXDKCY1zT1nXUR0y3/9KcZpKXtG1LEfluIteBmZicR/mwobZW56A==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@textlint/kernel": "^14.6.0",
|
||||
"@textlint/module-interop": "^14.6.0",
|
||||
"@textlint/resolver": "^14.6.0",
|
||||
"@textlint/types": "^14.6.0",
|
||||
"@textlint/utils": "^14.6.0",
|
||||
"@textlint/kernel": "^14.7.1",
|
||||
"@textlint/module-interop": "^14.7.1",
|
||||
"@textlint/resolver": "^14.7.1",
|
||||
"@textlint/types": "^14.7.1",
|
||||
"@textlint/utils": "^14.7.1",
|
||||
"debug": "^4.4.0",
|
||||
"rc-config-loader": "^4.1.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@textlint/feature-flag": {
|
||||
"version": "14.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-14.6.0.tgz",
|
||||
"integrity": "sha512-WmmFHEt71rtSk2ZjcvrLJPN6dKYtYwC8fAFZcnjw15h80Di7wuw7vrpW85udloq+XYDlJ5GnhumDX5yZ4mt4Ug==",
|
||||
"version": "14.7.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-14.7.1.tgz",
|
||||
"integrity": "sha512-yuwNOVPiwDRg+rL0uXzqo9q6g+Ac2T+TETU7RuMxPBlSQWak98I4c8NbjL+aWzL7xj5bZJw5q9MIlOk1jRxl2g==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@textlint/fixer-formatter": {
|
||||
"version": "14.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-14.6.0.tgz",
|
||||
"integrity": "sha512-CSbjhBFfvVFqbEKmmm0xJxxzpYGHO4Y/dguBI9g2aaCBy52EVwBa55rbhkpBV+b9X3OJhnypJEo5IbC+F52CqA==",
|
||||
"version": "14.7.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-14.7.1.tgz",
|
||||
"integrity": "sha512-AnTLCHnMUNnwRZ3CmeaY15SLzjN3yWH/0OF4R0c+l2v6JF6cdlU907rdcjc9QQnszbaAqn1+fqT+oQ9N9nd5jA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@textlint/module-interop": "^14.6.0",
|
||||
"@textlint/resolver": "^14.6.0",
|
||||
"@textlint/types": "^14.6.0",
|
||||
"@textlint/module-interop": "^14.7.1",
|
||||
"@textlint/resolver": "^14.7.1",
|
||||
"@textlint/types": "^14.7.1",
|
||||
"chalk": "^4.1.2",
|
||||
"debug": "^4.4.0",
|
||||
"diff": "^5.2.0",
|
||||
@ -503,43 +503,43 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@textlint/kernel": {
|
||||
"version": "14.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/kernel/-/kernel-14.6.0.tgz",
|
||||
"integrity": "sha512-Mf8cikqVDHdf0RgjSYxs/G1a+I5UK5GjM+ehc67zSF/vtFUaLRn5bkWcEKrWQ67mjrM24tqH46oqVM9RL+utMQ==",
|
||||
"version": "14.7.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/kernel/-/kernel-14.7.1.tgz",
|
||||
"integrity": "sha512-aRzw6jdU3UPKxZpeZtM98OBjx0gGUK1QP3RrNBaLSqKOeSn8q2NkfApVIldBV9oQ+z1Drwmati8Pf3xSExTYew==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@textlint/ast-node-types": "^14.6.0",
|
||||
"@textlint/ast-tester": "^14.6.0",
|
||||
"@textlint/ast-traverse": "^14.6.0",
|
||||
"@textlint/feature-flag": "^14.6.0",
|
||||
"@textlint/source-code-fixer": "^14.6.0",
|
||||
"@textlint/types": "^14.6.0",
|
||||
"@textlint/utils": "^14.6.0",
|
||||
"@textlint/ast-node-types": "^14.7.1",
|
||||
"@textlint/ast-tester": "^14.7.1",
|
||||
"@textlint/ast-traverse": "^14.7.1",
|
||||
"@textlint/feature-flag": "^14.7.1",
|
||||
"@textlint/source-code-fixer": "^14.7.1",
|
||||
"@textlint/types": "^14.7.1",
|
||||
"@textlint/utils": "^14.7.1",
|
||||
"debug": "^4.4.0",
|
||||
"fast-equals": "^4.0.3",
|
||||
"structured-source": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@textlint/kernel/node_modules/@textlint/ast-node-types": {
|
||||
"version": "14.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.6.0.tgz",
|
||||
"integrity": "sha512-PqWpzFa64M5uKqBSQPV8wPqo14zvmz5JXWIIUkVCMQ/gN8/8IrXjpsp0O+/To8u5D5woVpxihBi/3nJdR8E37g==",
|
||||
"version": "14.7.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.7.1.tgz",
|
||||
"integrity": "sha512-7C/xYNZtaG+erIMjNZbRz7av9/S5eC+GAMh0rJ6A9Hik6nS4WyWKblutw2p+O2YWWT2tmOjzu/81fWzzDzmtRg==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@textlint/linter-formatter": {
|
||||
"version": "14.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-14.6.0.tgz",
|
||||
"integrity": "sha512-52P8jXnxqafbmV1Dg05u8EHitvdCA6nnIGwIWjLCydL1jfM5js6KvA47qRugb6EWWbYxWKCGkbmaIFhKGwFTaA==",
|
||||
"version": "14.7.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-14.7.1.tgz",
|
||||
"integrity": "sha512-saAE+e4RZFInRmCF9pu7ukZAHxWaYw9WIA1PptYHItCnlyGS7WB7cYHilkj4coWGr3xGaQ2qAjqX/QIbVE7QGA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@azu/format-text": "^1.0.2",
|
||||
"@azu/style-format": "^1.0.1",
|
||||
"@textlint/module-interop": "^14.6.0",
|
||||
"@textlint/resolver": "^14.6.0",
|
||||
"@textlint/types": "^14.6.0",
|
||||
"@textlint/module-interop": "^14.7.1",
|
||||
"@textlint/resolver": "^14.7.1",
|
||||
"@textlint/types": "^14.7.1",
|
||||
"chalk": "^4.1.2",
|
||||
"debug": "^4.4.0",
|
||||
"js-yaml": "^3.14.1",
|
||||
@ -552,13 +552,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@textlint/markdown-to-ast": {
|
||||
"version": "14.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-14.6.0.tgz",
|
||||
"integrity": "sha512-T29IbY9cAupWBuds1DPl9TzS4oI2c0wVd0+0E43j5XezJKR3oE4e5/g9v4U2oo/LIbxDLlI22o3IGSyfUv3fFw==",
|
||||
"version": "14.7.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-14.7.1.tgz",
|
||||
"integrity": "sha512-aKIJi1FZj8PYr/n9EYFsifofT2XNPDX9E/24PiFMNBjiOfovCayOpfn6iuqNEo3CEPx7w4d20rQOUnxD+GYzhg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@textlint/ast-node-types": "^14.6.0",
|
||||
"@textlint/ast-node-types": "^14.7.1",
|
||||
"debug": "^4.4.0",
|
||||
"mdast-util-gfm-autolink-literal": "^0.1.3",
|
||||
"neotraverse": "^0.6.15",
|
||||
@ -570,9 +570,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@textlint/markdown-to-ast/node_modules/@textlint/ast-node-types": {
|
||||
"version": "14.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.6.0.tgz",
|
||||
"integrity": "sha512-PqWpzFa64M5uKqBSQPV8wPqo14zvmz5JXWIIUkVCMQ/gN8/8IrXjpsp0O+/To8u5D5woVpxihBi/3nJdR8E37g==",
|
||||
"version": "14.7.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.7.1.tgz",
|
||||
"integrity": "sha512-7C/xYNZtaG+erIMjNZbRz7av9/S5eC+GAMh0rJ6A9Hik6nS4WyWKblutw2p+O2YWWT2tmOjzu/81fWzzDzmtRg==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
@ -819,88 +819,88 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@textlint/module-interop": {
|
||||
"version": "14.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-14.6.0.tgz",
|
||||
"integrity": "sha512-eQFprk37rU6Sl250h52OaoHA4Dal4jSjWYWRdKfjvrdDcNWxPAOenAAGBf66lS7E34No9E9G51jsSc43N0CzJg==",
|
||||
"version": "14.7.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-14.7.1.tgz",
|
||||
"integrity": "sha512-9mfLErTFx8N+tZNTL+46YCY/jnCDOJKpceng5WVwDeZeMJbewhjY3PVcxMoPnvPT10QnE/hDk3b6riUYckgHgw==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@textlint/resolver": {
|
||||
"version": "14.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/resolver/-/resolver-14.6.0.tgz",
|
||||
"integrity": "sha512-pFB6bRKAQf+6N6JppAnxRNbExDathq325l8MpYGQY1j2bUzaDx0j90pf2EHfTM0mHr3v/6z37GNUk5ZUZkH3Ew==",
|
||||
"version": "14.7.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/resolver/-/resolver-14.7.1.tgz",
|
||||
"integrity": "sha512-lQ5ATfpsOgiYnwe2aoS0t9uJ4SrvyiCJpfJdqUQZCVL161O/yMKZBc6nwsyBlruEcFoNxK06F3s3IIV4EsI12A==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@textlint/source-code-fixer": {
|
||||
"version": "14.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-14.6.0.tgz",
|
||||
"integrity": "sha512-GbnKYQ91KHhg3XfiYAIe++E9UI0wsUZVGq3lzVUO9+nzJ4MUtUk1QpTmwP9+DYxnzi7w5jTcXHN6kh/zmHK4AA==",
|
||||
"version": "14.7.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-14.7.1.tgz",
|
||||
"integrity": "sha512-2teYM26+mwFhKaPKYiKjTH3gInjBFJRMPrd2t+WO8NkZnVCrCq0IdWNJYAP34zBd1JLgXAK0EL93Mo+RPwCtcQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@textlint/types": "^14.6.0",
|
||||
"@textlint/types": "^14.7.1",
|
||||
"debug": "^4.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@textlint/text-to-ast": {
|
||||
"version": "14.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-14.6.0.tgz",
|
||||
"integrity": "sha512-1rNBbC8EfxxAk76jHCMrNduUd2CuaaXyAZvuSWzRM+Fx+YyTOelKEv9sppCWnThcD2A34KKlghHg40YH3CjriQ==",
|
||||
"version": "14.7.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-14.7.1.tgz",
|
||||
"integrity": "sha512-sSyWYdsX407xMiTKqnB5xWW4ft9SyxwFW2sY3Cpl0emoH5x1CLiYnxpW8uLIN/eFWiSzQlKU9UpyHFfozSC3Ag==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@textlint/ast-node-types": "^14.6.0"
|
||||
"@textlint/ast-node-types": "^14.7.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@textlint/text-to-ast/node_modules/@textlint/ast-node-types": {
|
||||
"version": "14.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.6.0.tgz",
|
||||
"integrity": "sha512-PqWpzFa64M5uKqBSQPV8wPqo14zvmz5JXWIIUkVCMQ/gN8/8IrXjpsp0O+/To8u5D5woVpxihBi/3nJdR8E37g==",
|
||||
"version": "14.7.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.7.1.tgz",
|
||||
"integrity": "sha512-7C/xYNZtaG+erIMjNZbRz7av9/S5eC+GAMh0rJ6A9Hik6nS4WyWKblutw2p+O2YWWT2tmOjzu/81fWzzDzmtRg==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@textlint/textlint-plugin-markdown": {
|
||||
"version": "14.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-14.6.0.tgz",
|
||||
"integrity": "sha512-0W5wxWbDxAJoMe6ju2oq0IZ2ZX91JoWLHti+4LrPc9uiMx6CaTS/ZLYlu0hoYSk5DNQ75/bDD9wm78APM07zGA==",
|
||||
"version": "14.7.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-14.7.1.tgz",
|
||||
"integrity": "sha512-FnxwOOvvkIZ7HPV4gV0ZU6mA+G6LhA5QdspUqXAqTPQ0SY7X95PfQYbzk8Yz4RNyXFMhIcviKLO4+eSyBBTSuw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@textlint/markdown-to-ast": "^14.6.0"
|
||||
"@textlint/markdown-to-ast": "^14.7.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@textlint/textlint-plugin-text": {
|
||||
"version": "14.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-14.6.0.tgz",
|
||||
"integrity": "sha512-QglDssLXVBdjk4cVUI5nK9DJtJ6XjtdKGV7Ehgv202MEMvTktGa5mJlIv5tQK0O+zVpLWqVl4q9P76MASk/qOg==",
|
||||
"version": "14.7.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-14.7.1.tgz",
|
||||
"integrity": "sha512-Cq1pmUWU95W2cYpXr9GDkKm5RN5XAPwVThFeMtj6RE4bCS+qqH/2O08yhUobKo0ryKb7j1zzBi/QdQ2U34YwvQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@textlint/text-to-ast": "^14.6.0"
|
||||
"@textlint/text-to-ast": "^14.7.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@textlint/types": {
|
||||
"version": "14.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/types/-/types-14.6.0.tgz",
|
||||
"integrity": "sha512-XsK3FUdCtVNCe/aUz0TivpCzQchupcyOgNlRKt36AjDCEtqyPCOjpJxj1fmvYnTODG0M/4XKrlufn8onw+qWew==",
|
||||
"version": "14.7.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/types/-/types-14.7.1.tgz",
|
||||
"integrity": "sha512-j10OEEHRAaqGMC6dK3+H1Eg3bksASGTmGDozsSepYs7qInY+lYBCe5m3JTrKkDnAX4nNy8ninnKzrYKcVkWahw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@textlint/ast-node-types": "^14.6.0"
|
||||
"@textlint/ast-node-types": "^14.7.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@textlint/types/node_modules/@textlint/ast-node-types": {
|
||||
"version": "14.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.6.0.tgz",
|
||||
"integrity": "sha512-PqWpzFa64M5uKqBSQPV8wPqo14zvmz5JXWIIUkVCMQ/gN8/8IrXjpsp0O+/To8u5D5woVpxihBi/3nJdR8E37g==",
|
||||
"version": "14.7.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.7.1.tgz",
|
||||
"integrity": "sha512-7C/xYNZtaG+erIMjNZbRz7av9/S5eC+GAMh0rJ6A9Hik6nS4WyWKblutw2p+O2YWWT2tmOjzu/81fWzzDzmtRg==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@textlint/utils": {
|
||||
"version": "14.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/utils/-/utils-14.6.0.tgz",
|
||||
"integrity": "sha512-kQQg38c2wyWtbBnQ4zIGp4KrUmMmcZJKz2hrCn0z2kCMbDFpasTaG2EuteY1Szupl186fuMePGAGB6p7xeVsiQ==",
|
||||
"version": "14.7.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/utils/-/utils-14.7.1.tgz",
|
||||
"integrity": "sha512-nvIOltt0U5HQzu28qfYgbXUvZxEZBPRnQZHqlwMsqKp55bZ5L3iSNYwHvCej7fm9GOXH7Yz3UzLSko9eF5m3PA==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
@ -6107,25 +6107,25 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/textlint": {
|
||||
"version": "14.6.0",
|
||||
"resolved": "https://registry.npmjs.org/textlint/-/textlint-14.6.0.tgz",
|
||||
"integrity": "sha512-C1Wbh5VDvKHmNyyj0q94AWdmI/RBKfweQwja6hno9iWoh8IprWye/Z8WSZd4PsCly/i2e6MNuXKrjU+gE4ku6w==",
|
||||
"version": "14.7.1",
|
||||
"resolved": "https://registry.npmjs.org/textlint/-/textlint-14.7.1.tgz",
|
||||
"integrity": "sha512-jhWEeF3SWYPuItcTRLA1KAyxHAX2diWpqtglcagPzPidFi2OMKCNW55FlaIQvOkWdohp5LzFk0mv4XiChqGr0Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@textlint/ast-node-types": "^14.6.0",
|
||||
"@textlint/ast-traverse": "^14.6.0",
|
||||
"@textlint/config-loader": "^14.6.0",
|
||||
"@textlint/feature-flag": "^14.6.0",
|
||||
"@textlint/fixer-formatter": "^14.6.0",
|
||||
"@textlint/kernel": "^14.6.0",
|
||||
"@textlint/linter-formatter": "^14.6.0",
|
||||
"@textlint/module-interop": "^14.6.0",
|
||||
"@textlint/resolver": "^14.6.0",
|
||||
"@textlint/textlint-plugin-markdown": "^14.6.0",
|
||||
"@textlint/textlint-plugin-text": "^14.6.0",
|
||||
"@textlint/types": "^14.6.0",
|
||||
"@textlint/utils": "^14.6.0",
|
||||
"@textlint/ast-node-types": "^14.7.1",
|
||||
"@textlint/ast-traverse": "^14.7.1",
|
||||
"@textlint/config-loader": "^14.7.1",
|
||||
"@textlint/feature-flag": "^14.7.1",
|
||||
"@textlint/fixer-formatter": "^14.7.1",
|
||||
"@textlint/kernel": "^14.7.1",
|
||||
"@textlint/linter-formatter": "^14.7.1",
|
||||
"@textlint/module-interop": "^14.7.1",
|
||||
"@textlint/resolver": "^14.7.1",
|
||||
"@textlint/textlint-plugin-markdown": "^14.7.1",
|
||||
"@textlint/textlint-plugin-text": "^14.7.1",
|
||||
"@textlint/types": "^14.7.1",
|
||||
"@textlint/utils": "^14.7.1",
|
||||
"debug": "^4.4.0",
|
||||
"file-entry-cache": "^10.0.5",
|
||||
"get-stdin": "^5.0.1",
|
||||
@ -6250,9 +6250,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/textlint/node_modules/@textlint/ast-node-types": {
|
||||
"version": "14.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.6.0.tgz",
|
||||
"integrity": "sha512-PqWpzFa64M5uKqBSQPV8wPqo14zvmz5JXWIIUkVCMQ/gN8/8IrXjpsp0O+/To8u5D5woVpxihBi/3nJdR8E37g==",
|
||||
"version": "14.7.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.7.1.tgz",
|
||||
"integrity": "sha512-7C/xYNZtaG+erIMjNZbRz7av9/S5eC+GAMh0rJ6A9Hik6nS4WyWKblutw2p+O2YWWT2tmOjzu/81fWzzDzmtRg==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
|
@ -15,7 +15,7 @@
|
||||
"remark-lint-prohibited-strings": "^4.0.0",
|
||||
"remark-lint-unordered-list-marker-style": "^4.0.1",
|
||||
"remark-stringify": "^11.0.0",
|
||||
"textlint": "^14.6.0",
|
||||
"textlint": "^14.7.1",
|
||||
"textlint-filter-rule-comments": "^1.2.2",
|
||||
"textlint-rule-common-misspellings": "^1.0.1",
|
||||
"textlint-rule-terminology": "^5.0.13"
|
||||
|
@ -10,6 +10,8 @@ related:
|
||||
title: Dashboard cards
|
||||
- docs: /dashboards/dashboards/#areas-dashboard
|
||||
title: Areas dashboard
|
||||
- docs: /docs/organizing/areas/
|
||||
title: About areas
|
||||
---
|
||||
|
||||
The area card lets you control and monitor an individual {% term area %}.
|
||||
|
@ -93,6 +93,12 @@ name:
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
### Long term statistics
|
||||
|
||||
Home Assistant saves long-term statistics for a sensor if the entity has a state_class of measurement, total, or total_increasing. For short-term statistics, a snapshot is taken every 5 minutes. For long-term statistics, an hourly aggregate is stored of the short-term statistics. Short-term statistics are automatically purged after a predefined period (default is 10 days). Long-term statistics are never purged.
|
||||
|
||||
In the history graph card, if the hours to show variable is set to a figure higher than the purge_keep period, long-term statistics will be used, with short term statistics shown in bold.
|
||||
|
||||
### Examples
|
||||
|
||||
```yaml
|
||||
|
@ -22,7 +22,7 @@ Screenshot of the statistics graph card with none metered entities and `chart_ty
|
||||
Screenshot of the statistics graph card with a metered entity and `chart_type` `bar`.
|
||||
</p>
|
||||
|
||||
Statistics are gathered every 5 minutes and also hourly for sensors that support it. The 5-minute statistics will be retained for the duration set in the [recorder configuration](/integrations/recorder/#purge_keep_days), and hourly statistics will be retained indefinitely. It will either keep the <abbr title="Minimum">`min`</abbr>, <abbr title="Maximum">`max`</abbr>, and <abbr title="Average">`mean`</abbr> of a sensor's value for a specific hour or the <abbr title="Total">`sum`</abbr> for a metered entity.
|
||||
Statistics are gathered every 5 minutes and also hourly for sensors with a state_class of measurement, total or total_increasing. The 5-minute statistics will be retained for the duration set in the [recorder configuration](/integrations/recorder/#purge_keep_days), and hourly statistics will be retained indefinitely. It will either keep the <abbr title="Minimum">`min`</abbr>, <abbr title="Maximum">`max`</abbr>, and <abbr title="Average">`mean`</abbr> of a sensor's value for a specific hour or the <abbr title="Total">`sum`</abbr> for a metered entity.
|
||||
|
||||
If your sensor doesn't work with statistics, check [this](/more-info/statistics/).
|
||||
|
||||
|
@ -39,9 +39,10 @@
|
||||
excerpt: >
|
||||
Add-ons are additional standalone third-party software packages that can be
|
||||
installed on Home Assistant OS.
|
||||
link: /getting-started/concepts-terminology/#add-ons
|
||||
- term: Area
|
||||
definition: >-
|
||||
An area in Home Assistant is a logical grouping of devices and entities that
|
||||
An area in Home Assistant is a [logical grouping](/docs/organizing/) of devices and entities that
|
||||
are meant to match areas (or rooms) in the physical world: your home. For
|
||||
example, the `living room` area groups devices and entities in your living
|
||||
room. Areas allow you to target actions at an entire group of devices.
|
||||
@ -50,12 +51,13 @@
|
||||
floors. Areas can also be used for automatically generated cards, such as
|
||||
the [Area card](/dashboards/area/).
|
||||
excerpt: >-
|
||||
An area in Home Assistant is a logical grouping of devices and entities that
|
||||
An area in Home Assistant is a [logical grouping](/docs/organizing/) of devices and entities that
|
||||
are meant to match areas (or rooms) in the physical world: your home. For
|
||||
example, the `living room` area groups devices and entities in your living
|
||||
room.
|
||||
aliases:
|
||||
- areas
|
||||
link: /docs/organizing/areas/
|
||||
- term: Automation
|
||||
definition: >-
|
||||
Automations connect one or more triggers to one or more actions in a 'when
|
||||
@ -74,12 +76,9 @@
|
||||
definition: >-
|
||||
Home Assistant has built-in functionality to create files containing a copy
|
||||
of your configuration. This can be used to restore your Home Assistant as
|
||||
well as migrate to a new system. The backup feature is available on some
|
||||
installation types.
|
||||
link: /integrations/backup/
|
||||
excerpt: >-
|
||||
Home Assistant has built-in functionality to create files containing a copy
|
||||
of your configurations. This is available on certain installation types.
|
||||
well as migrate to a new system. The backup feature is available for all
|
||||
[installation types](/installation/#advanced-installation-methods).
|
||||
link: /common-tasks/general/#backups
|
||||
aliases:
|
||||
- backups
|
||||
- term: Binary sensor
|
||||
@ -92,7 +91,7 @@
|
||||
- binary_sensors
|
||||
- term: Blueprint
|
||||
definition: >-
|
||||
A blueprint is a script, automation or template entity configuration with certain parts
|
||||
A blueprint is a [script](/getting-started/concepts-terminology/#scripts), [automation](/getting-started/concepts-terminology/#automation), or [template](/integrations/template/) entity configuration with certain parts
|
||||
marked as configurable. This allows users to create multiple scripts,
|
||||
automations or template entities based on the same blueprint, with each having its own
|
||||
configuration-specific settings. Blueprints are shared by the community on
|
||||
@ -100,11 +99,6 @@
|
||||
exchange](https://community.home-assistant.io/c/blueprints-exchange/53) in
|
||||
the forum.
|
||||
link: /docs/blueprint/
|
||||
excerpt: >-
|
||||
A blueprint is a script, automation or template entity configuration with certain parts
|
||||
marked as configurable. This allows users to create multiple scripts,
|
||||
automations or template entities based on the same blueprint, with each having its own
|
||||
configuration-specific settings.
|
||||
aliases:
|
||||
- blueprints
|
||||
- term: Button
|
||||
@ -116,7 +110,7 @@
|
||||
- buttons
|
||||
- term: Category
|
||||
definition: >-
|
||||
A category is an organization tool that allows grouping items in a table.
|
||||
A category is an organization tool that allows [grouping](/docs/organizing/) items in a table.
|
||||
Like labels, categories allow grouping irrespective of the items' physical
|
||||
location. For example, on the automations page, you can create the
|
||||
categories “Notifications” or “NFC tags” to view your automations grouped or
|
||||
@ -124,6 +118,7 @@
|
||||
have different categories than the scene, scripts, or helpers settings page.
|
||||
aliases:
|
||||
- categories
|
||||
link: /docs/organizing/categories/
|
||||
- term: Climate
|
||||
definition: >-
|
||||
The Climate entity allows you to control and monitor HVAC (heating,
|
||||
@ -269,7 +264,7 @@
|
||||
link: /integrations/event
|
||||
- term: Floor
|
||||
definition: >-
|
||||
A floor in Home Assistant is a logical grouping of areas that are meant to
|
||||
A floor in Home Assistant is a [logical grouping](/docs/organizing/) of areas that are meant to
|
||||
match the physical floors in your home. Devices & entities are not assigned
|
||||
to floors but to areas. A floor has properties such as: Floor ID, name,
|
||||
aliases (for use in assistants), an icon, and a floor level. Some of these
|
||||
@ -278,13 +273,14 @@
|
||||
target for actions. For example, to turn off all the lights on the
|
||||
downstairs floor when you go to bed.
|
||||
excerpt: >-
|
||||
A floor in Home Assistant is a logical grouping of areas that are meant to
|
||||
A floor in Home Assistant is a [logical grouping](/docs/organizing/) of areas that are meant to
|
||||
match the physical floors in your home. Devices & entities are not assigned
|
||||
to floors but to areas. Floors can be used in automations and scripts as a
|
||||
target for actions. For example, to turn off all the lights on the
|
||||
downstairs floor when you go to bed.
|
||||
aliases:
|
||||
- floors
|
||||
link: /docs/organizing/floors/
|
||||
- term: Frontend
|
||||
definition: >-
|
||||
The frontend is a necessary component for the UI, it is also where you can
|
||||
@ -411,7 +407,7 @@
|
||||
- Intents
|
||||
- term: Label
|
||||
definition: >-
|
||||
Labels in Home Assistant allow grouping elements irrespective of their
|
||||
Labels in Home Assistant allow [grouping](/docs/organizing/) elements irrespective of their
|
||||
physical location or type. Labels can be assigned to areas, devices,
|
||||
entities, automations, scenes, scripts, and helpers. Labels can be used in
|
||||
automations and scripts as a target for actions. Labels can
|
||||
@ -419,13 +415,14 @@
|
||||
to show only devices with the label `heavy energy usage` or turn these
|
||||
devices off when there is not a lot of solar energy available.
|
||||
excerpt: >-
|
||||
Labels in Home Assistant allow grouping elements irrespective of their
|
||||
Labels in Home Assistant allow [grouping](/docs/organizing/) elements irrespective of their
|
||||
physical location or type. Labels can be assigned to areas, devices,
|
||||
entities, automations, scenes, scripts, and helpers. Labels can be used in
|
||||
automations and scripts as a target for actions. Labels can
|
||||
also be used to filter data.
|
||||
aliases:
|
||||
- labels
|
||||
link: /docs/organizing/labels/
|
||||
- term: Lovelace
|
||||
definition: >-
|
||||
Lovelace is the original code name of the UI that is now known as [Home
|
||||
|
@ -3,7 +3,7 @@ title: "Automation actions"
|
||||
description: "Automations result in action."
|
||||
---
|
||||
|
||||
The action of an automation rule is what is being executed when a rule fires. The action part follows the [script syntax](/docs/scripts/) which can be used to interact with anything via other actions or events.
|
||||
The action of an automation is what is being executed when an automation fires. The action part follows the [script syntax](/docs/scripts/) which can be used to interact with anything via other actions or events.
|
||||
|
||||
For actions, you can specify the `entity_id` that it should apply to and optional parameters (to specify for example the brightness).
|
||||
|
||||
|
@ -15,24 +15,31 @@ We can break up this automation into the following three parts:
|
||||
(action) Turn the lights on in the living room
|
||||
```
|
||||
|
||||
The first part is the [trigger](/docs/automation/trigger/) of the automation rule. Triggers describe {% term events %} that should trigger the automation rule. In this case, it is a person arriving home, which can be observed in Home Assistant using {% term devices %}/{% term sensors %} by observing the state of Paulus changing from `not_home` to `home`.
|
||||
The first part is the [trigger](/docs/automation/trigger/) of the automation. Triggers describe {% term events %} that should trigger the automation. In this case, it is a person arriving home, which can be observed in Home Assistant using {% term devices %}/{% term sensors %} by observing the state of Paulus changing from `not_home` to `home`.
|
||||
|
||||
The second part is the [condition](/docs/automation/condition/). Conditions are optional tests that can limit an automation rule to only work in your specific use cases. A condition will test against the current state of the system. This includes the current time, devices, people and other things like the sun. In this case, we only want to act when the sun has set.
|
||||
The second part is the [condition](/docs/automation/condition/). Conditions are optional tests that can limit an automation to only work in your specific use cases. A condition will test against the current state of the system. This includes the current time, devices, people and other things like the sun. In this case, we only want to act when the sun has set.
|
||||
|
||||
The third part is the [action](/docs/automation/action/), which will be performed when a rule is triggered and all conditions are met. For example, it can turn a light on, set the temperature on your thermostat or activate a scene.
|
||||
The third part is the [action](/docs/automation/action/), which will be performed when an automation is triggered and all conditions are met. For example, it can turn a light on, set the temperature on your thermostat or activate a scene.
|
||||
|
||||
{% note %}
|
||||
The difference between a condition and a trigger can be confusing as they are very similar. Triggers look at the actions, while conditions look at the current state: turning a light on versus a light being on.
|
||||
The difference between a trigger and a condition can be confusing as they are very similar.
|
||||
|
||||
Triggers require an event to happen for the conditions to be evaluated using current state information.
|
||||
|
||||
Event: Arrive home \
|
||||
Condition: After Sunset? \
|
||||
Action: Turn lights on
|
||||
|
||||
{% endnote %}
|
||||
|
||||
## Exploring the internal state
|
||||
|
||||
Automation rules interact directly with the internal state of Home Assistant, so you'll need to familiarize yourself with it. Home Assistant exposes its current state via the developer tools. These are available at the bottom of the sidebar in the frontend. **{% my developer_states title="Developer Tools > States" %}** will show all currently available states. An entity can be anything. A light, a switch, a person and even the sun. A state consists of the following parts:
|
||||
Automations interact directly with the internal state of Home Assistant, so you'll need to familiarize yourself with it. Home Assistant exposes its current state via the developer tools. These are available at the bottom of the sidebar in the frontend. **{% my developer_states title="Developer Tools > States" %}** will show all currently available states. An entity can be anything. A light, a switch, a person and even the sun. A state consists of the following parts:
|
||||
|
||||
| Name | Description | Example |
|
||||
| ---- | ----- | ---- |
|
||||
| Entity ID | Unique identifier for the entity. | `light.kitchen`
|
||||
| State | The current state of the device. | `home`
|
||||
| Entity ID | Unique identifier for the entity. | `light.living_room`
|
||||
| State | The current state of the device. | `off`
|
||||
| Attributes | Extra data related to the device and/or current state. | `brightness`
|
||||
|
||||
State changes can be used as the source of triggers and the current state can be used in conditions.
|
||||
|
@ -18,7 +18,7 @@ related:
|
||||
An area in Home Assistant is a logical grouping of {% term devices %} and {% term entities %} that are meant to match areas (or rooms) in the physical world of your home.
|
||||
|
||||
For example, the "Living room" area groups devices and entities in your living room. Areas allow you to target an entire group of devices with an action. For example, turning off all the lights in the living room.
|
||||
Areas can be assigned to floors. Areas can also be used to automatically generate cards, such as the [Area card](/dashboards/area/).
|
||||
Areas can be assigned to {% term floors %}. Areas can also be used to automatically generate cards, such as the [Area card](/dashboards/area/).
|
||||
|
||||
## Creating an area
|
||||
|
||||
@ -29,7 +29,7 @@ Follow these steps to create a new area from the **Areas** view.
|
||||
- Give the area a **Name** (required).
|
||||
- Add an icon (We use [Material icons](https://pictogrammers.com/library/mdi/)).
|
||||
- Assign the area to a floor.
|
||||
- If you have not created floors yet, you can [create a new one](/docs/organizing/floors/#creating-a-floor).
|
||||
- If you have not created floors yet, you can [create a new floor](/docs/organizing/floors/#creating-a-floor).
|
||||
- The number can be negative. For example for underground floors.
|
||||
- This number can later be used for sorting.
|
||||
- Add an image representing that area.
|
||||
@ -43,11 +43,11 @@ Follow these steps to create a new area from the **Areas** view.
|
||||
|
||||
## Assigning areas to floors and add labels
|
||||
|
||||
If an area has not yet been assigned to a floor, it is shown in the **Unassigned areas** section. Follow these steps to assign an area to a floor.
|
||||
If an area has not yet been assigned to a {% term floor %}, it is shown in the **Unassigned areas** section. Follow these steps to assign an area to a floor.
|
||||
|
||||
1. Go to {% my areas title="**Settings** > **Areas, labels & zones**" %} and select **Create area**.
|
||||
2. On the area card, select the edit {% icon "mdi:edit" %} button.
|
||||
3. In the dialog, select the floor and add labels, if you like.
|
||||
3. In the dialog, select the {% term floor %} and add {% term labels %} if you like.
|
||||
|
||||
## Assigning an area to multiple items
|
||||
|
||||
|
@ -13,9 +13,9 @@ related:
|
||||
title: Using floor alias for voice assistants
|
||||
---
|
||||
|
||||
A floor in Home Assistant is a logical grouping of areas meant to match your home's physical floors.
|
||||
A floor in Home Assistant is a logical grouping of {% term areas %} meant to match your home's physical floors.
|
||||
|
||||
Devices and entities cannot be assigned to floors directly but to areas. Floors can be used in automations and scripts as a target for actions. For example, to turn off all the lights on the downstairs floor when you go to bed.
|
||||
Devices and entities cannot be assigned to floors directly but to areas. Floors can be used in {% term automations %} and {% term scripts %} as a target for {% term actions %}. For example, to turn off all the lights on the downstairs floor when you go to bed.
|
||||
|
||||
## Creating a floor
|
||||
|
||||
@ -41,11 +41,11 @@ Follow these steps to create a new floor.
|
||||
|
||||
## Deleting a floor
|
||||
|
||||
Follow these steps to delete a floor. Areas that are assigned to a floor will become unassigned. Automations and scripts or voice assistants that used a floor as a target will no longer work as they no longer have a target.
|
||||
Follow these steps to delete a floor. Areas that are assigned to a floor will become unassigned. {% term Automations %} and {% term scripts %} or voice assistants that used a floor as a target will no longer work as they no longer have a target.
|
||||
|
||||
1. Go to {% my areas title="**Settings** > **Areas, labels & zones**" %}.
|
||||
2. Next to the floor, select the three dots {% icon "mdi:dots-vertical" %} menu and select **Delete floor**.
|
||||
|
||||

|
||||
|
||||
3. If you have automations, scripts, or voice assistants that used floors as a target, you will need to update these.
|
||||
3. If you have {% term automations %}, {% term scripts %}, or voice assistants that used floors as a target, you will need to update these.
|
||||
|
@ -55,9 +55,9 @@
|
||||
Its IoT class is <a href='/blog/2016/02/12/classifying-the-internet-of-things/#classifiers'>{{ page.ha_iot_class }}.</a>
|
||||
</div>
|
||||
{%- endif -%}
|
||||
|
||||
|
||||
{%- if page.ha_quality_scale %}
|
||||
<div class='section'>
|
||||
<div class='section'>
|
||||
{% if page.ha_quality_scale == "bronze" %}<a href='/docs/quality_scale/#-bronze'>🥉 Bronze quality</a><br />{%- endif -%}
|
||||
{% if page.ha_quality_scale == "silver" %}<a href='/docs/quality_scale/#-silver'>🥈 Silver quality</a><br />{%- endif -%}
|
||||
{% if page.ha_quality_scale == "gold" %}<a href='/docs/quality_scale/#-gold'>🥇 Gold quality</a><br />{%- endif -%}
|
||||
@ -67,12 +67,12 @@
|
||||
{% if page.ha_quality_scale == "custom" %}<a href='/docs/quality_scale/#-custom'>📦 Custom integration</a><br />{%- endif -%}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
|
||||
|
||||
{% if page.works_with %}
|
||||
{%- for type in page.works_with -%}
|
||||
<div class="section">
|
||||
<a href="/blog/2022/07/12/partner-program">
|
||||
<img src="../../images/works_with/works-with-{{ type }}.png" alt="Works via {{ type }} with Home assistant">
|
||||
<a href="https://works-with.home-assistant.io/">
|
||||
<img src="../../images/works_with/works-with.png" alt="Works with Home assistant">
|
||||
</a>
|
||||
</div>
|
||||
{%- endfor -%}
|
||||
@ -96,7 +96,7 @@
|
||||
{% assign ha_project = true %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
|
||||
{% if ha_project %}
|
||||
<div class="section">
|
||||
This integration is being maintained by the Home Assistant project.
|
||||
|
@ -5,7 +5,7 @@
|
||||
<h1 class="title epsilon"><iconify-icon icon="mdi:view-dashboard"></iconify-icon> Dashboards</h1>
|
||||
<ul class="divided sidebar-menu">
|
||||
<li>{% active_link /dashboards/ Introduction %}</li>
|
||||
<li>{% active_link /dashboards/dashboards/ Multiple dashboards %}</li>
|
||||
<li>{% active_link /dashboards/dashboards/ Dashboard types %}</li>
|
||||
<li>{% active_link /dashboards/views/ Views %}</li>
|
||||
<li>{% active_link /dashboards/cards/ Cards %}</li>
|
||||
<li>{% active_link /dashboards/badges/ Badges %}</li>
|
||||
|
@ -60,7 +60,7 @@
|
||||
<iconify-icon icon="mdi:about-circle"></iconify-icon> Dashboard basics
|
||||
<ul>
|
||||
<li>{% active_link /dashboards/ Introduction %}</li>
|
||||
<li>{% active_link /dashboards/dashboards/ Multiple dashboards %}</li>
|
||||
<li>{% active_link /dashboards/dashboards/ Dashboard types %}</li>
|
||||
<li>{% active_link /dashboards/views/ Views %}</li>
|
||||
<li>{% active_link /dashboards/cards/ Cards %}</li>
|
||||
<li>{% active_link /dashboards/badges/ Badges %}</li>
|
||||
|
@ -5,32 +5,62 @@
|
||||
<script src="{{ '/javascripts/prism.js' | cache_buster }}" type="text/javascript" defer></script>
|
||||
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@docsearch/js@3/dist/umd/index.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
docsearch({
|
||||
container: '#docsearch',
|
||||
appId: 'FBHBYS3J0U',
|
||||
indexName: 'home-assistant',
|
||||
apiKey: "{{ site.algolia.api_key }}",
|
||||
});
|
||||
document.querySelector('.site-title').addEventListener('contextmenu', function(ev) {
|
||||
ev.preventDefault();
|
||||
document.location.assign("https://design.home-assistant.io/#brand/logo")
|
||||
});
|
||||
docsearch({
|
||||
container: '#docsearch',
|
||||
appId: 'FBHBYS3J0U',
|
||||
indexName: 'home-assistant',
|
||||
apiKey: "{{ site.algolia.api_key }}",
|
||||
});
|
||||
document.querySelector('.site-title').addEventListener('contextmenu', function (ev) {
|
||||
ev.preventDefault();
|
||||
document.location.assign("https://design.home-assistant.io/#brand/logo")
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
{% if page.hero_unit %}
|
||||
<script type="text/javascript">
|
||||
const changeNavColor = () => {
|
||||
const scrollPosition = document.documentElement.scrollTop;
|
||||
const nav = document.querySelector("header");
|
||||
if (scrollPosition <= 1) {
|
||||
nav.classList.add("dark");
|
||||
} else {
|
||||
nav.classList.remove("dark");
|
||||
{
|
||||
const changeNavColor = () => {
|
||||
const scrollPosition = document.documentElement.scrollTop;
|
||||
const nav = document.querySelector("header");
|
||||
if (scrollPosition <= 1) {
|
||||
nav.classList.add("dark");
|
||||
} else {
|
||||
nav.classList.remove("dark");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
window.addEventListener("load", () => changeNavColor());
|
||||
window.addEventListener("scroll", () => changeNavColor());
|
||||
window.addEventListener("load", () => changeNavColor());
|
||||
window.addEventListener("scroll", () => changeNavColor(), { passive: true });
|
||||
}
|
||||
</script>
|
||||
{% endif %}
|
||||
|
||||
<script type="text/javascript">
|
||||
{
|
||||
const article = document.querySelector("article.post");
|
||||
if (article) {
|
||||
const iframes = article.querySelectorAll("iframe[data-src]");
|
||||
let loaded = false;
|
||||
if (iframes) {
|
||||
document.addEventListener('mousemove', loadLazyFrames, { passive: true, once: true });
|
||||
document.addEventListener('touchmove', loadLazyFrames, { passive: true, once: true });
|
||||
document.addEventListener('scroll', loadLazyFrames, { passive: true, once: true });
|
||||
|
||||
function loadLazyFrames() {
|
||||
if (loaded) return;
|
||||
loaded = true;
|
||||
|
||||
iframes.forEach((iframe) => {
|
||||
const src = iframe.getAttribute("data-src");
|
||||
if (src) {
|
||||
iframe.setAttribute("src", src);
|
||||
iframe.removeAttribute("data-src");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
@ -50,15 +50,19 @@ Port:
|
||||
description: "The port of the APC UPS Daemon configured above."
|
||||
{% endconfiguration_basic %}
|
||||
|
||||
## Binary sensor
|
||||
## Supported functionality
|
||||
|
||||
This integration provides a binary sensor for the following information from apcupsd:
|
||||
### Entities
|
||||
|
||||
- UPS status
|
||||
The APC UPS Daemon integration provides the following entities.
|
||||
|
||||
## Sensors
|
||||
#### Binary sensors
|
||||
|
||||
This integration provides sensors for the following information from apcupsd based on their availability. Each sensor is listed here along with their corresponding resource name obtained from `apcaccess`.
|
||||
- **Online Status**
|
||||
- **Description**: Indicates whether the UPS is online, supplying power to connected devices from utility line, not the battery.
|
||||
- **Available for machines**: all
|
||||
|
||||
#### Sensors
|
||||
|
||||
{% note %}
|
||||
|
||||
@ -66,73 +70,297 @@ Some sensors are disabled by default, since they provide information that is onl
|
||||
|
||||
{% endnote %}
|
||||
|
||||
- UPS Alarm Delay (ALARMDEL)
|
||||
- UPS Ambient Temperature (AMBTEMP)
|
||||
- UPS Status Data (APC)
|
||||
- UPS Model (APCMODEL)
|
||||
- UPS Bad Batteries (BADBATTS)
|
||||
- UPS Battery Replaced (BATTDATE)
|
||||
- UPS Battery Status (BATTSTAT)
|
||||
- UPS Battery Voltage (BATTV)
|
||||
- UPS Battery (BCHARGE)
|
||||
- UPS Cable Type (CABLE)
|
||||
- UPS Total Time on Battery (CUMONBATT)
|
||||
- UPS Status Date (DATE)
|
||||
- UPS Dip Switch Settings (DIPSW)
|
||||
- UPS Low Battery Signal (DLOWBATT)
|
||||
- UPS Driver (DRIVER)
|
||||
- UPS Shutdown Delay (DSHUTD)
|
||||
- UPS Wake Delay (DWAKE)
|
||||
- UPS Date and Time (END APC)
|
||||
- UPS External Batteries (EXTBATTS)
|
||||
- UPS Firmware Version (FIRMWARE)
|
||||
- UPS Transfer High (HITRANS)
|
||||
- UPS Hostname (HOSTNAME)
|
||||
- UPS Ambient Humidity (HUMIDITY)
|
||||
- UPS Internal Temperature (ITEMP)
|
||||
- UPS Last Transfer (LASTXFER)
|
||||
- UPS Input Voltage Status (LINEFAIL)
|
||||
- UPS Line Frequency (LINEFREQ)
|
||||
- UPS Input Voltage (LINEV)
|
||||
- UPS Load (LOADPCT)
|
||||
- UPS Load Apparent Power (LOADAPNT)
|
||||
- UPS Transfer Low (LOTRANS)
|
||||
- UPS Manufacture Date (MANDATE)
|
||||
- UPS Master Update (MASTERUPD)
|
||||
- UPS Input Voltage High (MAXLINEV)
|
||||
- UPS Battery Timeout (MAXTIME)
|
||||
- UPS Battery Shutdown (MBATTCHG)
|
||||
- UPS Input Voltage Low (MINLINEV)
|
||||
- UPS Shutdown Time (MINTIMEL)
|
||||
- UPS Model (MODEL)
|
||||
- UPS Battery Nominal Voltage (NOMBATTV)
|
||||
- UPS Nominal Input Voltage (NOMINV)
|
||||
- UPS Nominal Output Voltage (NOMOUTV)
|
||||
- UPS Nominal Output Power (NOMPOWER)
|
||||
- UPS Nominal Apparent Power (NOMAPNT)
|
||||
- UPS Transfer Count (NUMXFERS)
|
||||
- UPS Output Current (OUTCURNT)
|
||||
- UPS Output Voltage (OUTPUTV)
|
||||
- UPS Register 1 Fault (REG1)
|
||||
- UPS Register 2 Fault (REG2)
|
||||
- UPS Register 3 Fault (REG3)
|
||||
- UPS Restore Requirement (RETPCT)
|
||||
- UPS Last Self Test (LASTSTEST)
|
||||
- UPS Self Test Result (SELFTEST)
|
||||
- UPS Sensitivity (SENSE)
|
||||
- UPS Serial Number (SERIALNO)
|
||||
- UPS Startup Time (STARTTIME)
|
||||
- UPS Status Flag (STATFLAG)
|
||||
- UPS Status (STATUS)
|
||||
- UPS Self Test Interval (STESTI)
|
||||
- UPS Time Left (TIMELEFT)
|
||||
- UPS Time on Battery (TONBATT)
|
||||
- UPS Mode (UPSMODE)
|
||||
- UPS Name (UPSNAME)
|
||||
- UPS Daemon Info (VERSION)
|
||||
- UPS Transfer from Battery (XOFFBAT)
|
||||
- UPS Transfer from Battery (XOFFBATT)
|
||||
- UPS Transfer to Battery (XONBATT)
|
||||
- **Alarm Delay**
|
||||
- **Description**: The delay period for the UPS alarm.
|
||||
- **Available for machines**: all
|
||||
|
||||
- **Battery Replaced**
|
||||
- **Description**: The date that batteries were last replaced.
|
||||
- **Available for machines**: all
|
||||
|
||||
- **Battery Voltage**
|
||||
- **Description**: Battery voltage as supplied by the UPS.
|
||||
- **Available for machines**: all
|
||||
|
||||
- **Battery**
|
||||
- **Description**: The percentage charge on the batteries.
|
||||
- **Available for machines**: all
|
||||
|
||||
- **Total Time on Battery**
|
||||
- **Description**: Total (cumulative) time on batteries in seconds since apcupsd startup.
|
||||
- **Available for machines**: all
|
||||
|
||||
- **Date and Time**
|
||||
- **Description**: The time and date that the STATUS record was written.
|
||||
- **Available for machines**: all
|
||||
|
||||
- **Transfer High**
|
||||
- **Description**: The line voltage above which the UPS will switch to batteries.
|
||||
- **Available for machines**: all
|
||||
|
||||
- **Input Voltage**
|
||||
- **Description**: The current line voltage as returned by the UPS.
|
||||
- **Available for machines**: all
|
||||
|
||||
- **Load**
|
||||
- **Description**: The percentage of load capacity as estimated by the UPS.
|
||||
- **Available for machines**: all
|
||||
|
||||
- **Transfer Low**
|
||||
- **Description**: The line voltage below which the UPS will switch to batteries.
|
||||
- **Available for machines**: all
|
||||
|
||||
- **Battery Timeout**
|
||||
- **Description**: apcupsd will shut down your system if the time on batteries exceeds this value. A value of zero disables the feature. Value is set in the configuration file (TIMEOUT).
|
||||
- **Available for machines**: all
|
||||
|
||||
- **Battery Shutdown**
|
||||
- **Description**: If the battery charge percentage (BCHARGE) drops below this value, apcupsd will shut down your system. Value is set in the configuration file (BATTERYLEVEL).
|
||||
- **Available for machines**: all
|
||||
|
||||
- **Shutdown Time**
|
||||
- **Description**: apcupsd will shut down your system if the remaining runtime equals or is below this point. Value is set in the configuration file (MINUTES).
|
||||
- **Available for machines**: all
|
||||
|
||||
- **Battery Nominal Voltage**
|
||||
- **Description**: The nominal battery voltage.
|
||||
- **Available for machines**: all
|
||||
|
||||
- **Nominal Input Voltage**
|
||||
- **Description**: The input voltage that the UPS is configured to expect.
|
||||
- **Available for machines**: all
|
||||
|
||||
- **Nominal Output Power**
|
||||
- **Description**: The maximum power in Watts that the UPS is designed to supply.
|
||||
- **Available for machines**: all
|
||||
|
||||
- **Transfer Count**
|
||||
- **Description**: The number of transfers to batteries since apcupsd startup.
|
||||
- **Available for machines**: all
|
||||
|
||||
- **Last Self-test**
|
||||
- **Description**: The date and time of the last self-test performed by the UPS.
|
||||
- **Available for machines**: all
|
||||
- **Remarks**: This only becomes available when a self-test (either automatic or manual) is performed.
|
||||
|
||||
- **Self Test Result**
|
||||
- **Description**: The results of the last self test, and may have the following values:
|
||||
- OK: self test indicates good battery
|
||||
- BT: self test failed due to insufficient battery capacity
|
||||
- NG: self test failed due to overload
|
||||
- NO: No results
|
||||
- **Available for machines**: all
|
||||
|
||||
- **Startup Time**
|
||||
- **Description**: The time/date that apcupsd was started.
|
||||
- **Available for machines**: all
|
||||
|
||||
- **Status**
|
||||
- **Description**: The current status of the UPS (ONLINE, CHARGING, ONBATT, etc.)
|
||||
- **Available for machines**: all
|
||||
|
||||
- **Time Left**
|
||||
- **Description**: The remaining runtime left on batteries as estimated by the UPS.
|
||||
- **Available for machines**: all
|
||||
|
||||
- **Time on Battery**
|
||||
- **Description**: Time in seconds currently on batteries, or 0.
|
||||
- **Available for machines**: all
|
||||
|
||||
- **Mode**
|
||||
- **Description**: The mode in which apcupsd is operating as specified in the configuration file (UPSMODE)
|
||||
- **Available for machines**: all
|
||||
|
||||
- **Transfer from Battery**
|
||||
- **Description**: Time and date of last transfer from batteries.
|
||||
- **Available for machines**: all
|
||||
|
||||
- **Transfer to Battery**
|
||||
- **Description**: Time and date of last transfer to batteries.
|
||||
- **Available for machines**: all
|
||||
- **Remarks**: This entity only becomes available after a tranfer to battery event happens.
|
||||
|
||||
- **Battery Status**
|
||||
- **Description**: The status of the batteries.
|
||||
- **Available for machines**: Back-UPS Pro and Smart-UPS
|
||||
|
||||
- **Line Frequency**
|
||||
- **Description**: Line frequency in hertz as given by the UPS.
|
||||
- **Available for machines**: Back-UPS Pro and Smart-UPS
|
||||
|
||||
- **Load Apparent Power**
|
||||
- **Description**: An "apparent load" condition, indicating the calculated load on the UPS based on the voltage and current. This is a measure of how much power the UPS is supplying to connected devices, often reported as a percentage of its capacity.
|
||||
- **Available for machines**: Back-UPS Pro and Smart-UPS
|
||||
|
||||
- **Output Voltage**
|
||||
- **Description**: The voltage the UPS is supplying to your equipment
|
||||
- **Available for machines**: Back-UPS Pro and Smart-UPS
|
||||
|
||||
- **Bad Batteries**
|
||||
- **Description**: The number of bad battery packs.
|
||||
- **Available for machines**: Smart-UPS
|
||||
|
||||
- **Dip Switch Settings**
|
||||
- **Description**: The current dip switch settings on UPSes that have them.
|
||||
- **Available for machines**: Smart-UPS
|
||||
|
||||
- **Low Battery Signal**
|
||||
- **Description**: The remaining runtime below which the UPS sends the low battery signal. At this point apcupsd will force an immediate emergency shutdown.
|
||||
- **Available for machines**: Smart-UPS
|
||||
|
||||
- **Shutdown Delay**
|
||||
- **Description**: The grace delay that the UPS gives after receiving a power down command from apcupsd before it powers off your equipment.
|
||||
- **Available for machines**: Smart-UPS
|
||||
|
||||
- **Wake Delay**
|
||||
- **Description**: The amount of time the UPS will wait before restoring power to your equipment after a power off condition when the power is restored.
|
||||
- **Available for machines**: Smart-UPS
|
||||
|
||||
- **External Batteries**
|
||||
- **Description**: The number of external batteries as defined by the user. A correct number here helps the UPS compute the remaining runtime more accurately.
|
||||
- **Available for machines**: Smart-UPS
|
||||
|
||||
- **Internal Temperature**
|
||||
- **Description**: Internal UPS temperature as supplied by the UPS.
|
||||
- **Available for machines**: Smart-UPS
|
||||
|
||||
- **Input Voltage Status**
|
||||
- **Description**: The input line voltage status. "OK" indicates normal operation.
|
||||
- **Available for machines**: Smart-UPS
|
||||
|
||||
- **Master Update**
|
||||
- **Description**: The last time the master sent an update to the device.
|
||||
- **Available for machines**: Smart-UPS
|
||||
|
||||
- **Input Voltage High**
|
||||
- **Description**: The maximum line voltage since the UPS was started, as reported by the UPS.
|
||||
- **Available for machines**: Smart-UPS
|
||||
|
||||
- **Input Voltage Low**
|
||||
- **Description**: The minimum line voltage since the UPS was started, as returned by the UPS.
|
||||
- **Available for machines**: Smart-UPS
|
||||
|
||||
- **Nominal Output Voltage**
|
||||
- **Description**: The output voltage that the UPS will attempt to supply when on battery power.
|
||||
- **Available for machines**: Smart-UPS
|
||||
|
||||
- **Nominal Apparent Power**
|
||||
- **Description**: The rated apparent power capacity.
|
||||
- **Available for machines**: Smart-UPS
|
||||
|
||||
- **Output Current**
|
||||
- **Description**: The output current being supplied by the UPS to the connected devices
|
||||
- **Available for machines**: Smart-UPS
|
||||
|
||||
- **Restore Requirement**
|
||||
- **Description**: The percentage charge that the batteries must have after a power off condition before the UPS will restore power to your equipment.
|
||||
- **Available for machines**: Smart-UPS
|
||||
|
||||
- **Self Test Interval**
|
||||
- **Description**: The interval in hours between automatic self tests.
|
||||
- **Available for machines**: Smart-UPS
|
||||
|
||||
- **Transfer from Battery**
|
||||
- **Description**: The date and time of last transfer off battery since apcupsd startup.
|
||||
- **Available for machines**: Smart-UPS
|
||||
|
||||
- **Ambient Humidity**
|
||||
- **Description**: The humidity as measured by the UPS.
|
||||
- **Available for machines**: Smart-UPS with optional accessories (e.g., temperature/humidity sensors or SNMP network cards).
|
||||
|
||||
- **Ambient Temperature**
|
||||
- **Description**: The ambient temperature as measured by the UPS.
|
||||
- **Available for machines**: Smart-UPS with optional accessories (e.g., temperature/humidity sensors or SNMP network cards).
|
||||
|
||||
- **Status Data**
|
||||
- **Description**: Header record indicating the STATUS format revision level, the number of records that follow the APC statement, and the number of bytes that follow the record.
|
||||
- **Available for machines**: all
|
||||
- **Remarks**: Disabled by default for advanced uses.
|
||||
|
||||
- **Model**
|
||||
- **Description**: The old APC model identification code.
|
||||
- **Available for machines**: Smart-UPS
|
||||
- **Remarks**: Disabled by default for advanced uses.
|
||||
|
||||
- **Cable Type**
|
||||
- **Description**: The cable as specified in the configuration file (UPSCABLE).
|
||||
- **Available for machines**: all
|
||||
- **Remarks**: Disabled by default for advanced uses.
|
||||
|
||||
- **Status Date**
|
||||
- **Description**: The date and time that the information was last obtained from the UPS.
|
||||
- **Available for machines**: all
|
||||
- **Remarks**: Disabled by default for advanced uses.
|
||||
|
||||
- **Driver**
|
||||
- **Description**: The driver used to communicate with the UPS.
|
||||
- **Available for machines**: all
|
||||
- **Remarks**: Disabled by default for advanced uses.
|
||||
|
||||
- **Firmware Version**
|
||||
- **Description**: The firmware revision number as reported by the UPS.
|
||||
- **Available for machines**: all
|
||||
- **Remarks**: Disabled by default for advanced uses.
|
||||
|
||||
- **Hostname**
|
||||
- **Description**: The name of the machine that collected the UPS data.
|
||||
- **Available for machines**: all
|
||||
- **Remarks**: Disabled by default for advanced uses.
|
||||
|
||||
- **Last Transfer**
|
||||
- **Description**: The reason for the last transfer to batteries.
|
||||
- **Available for machines**: all
|
||||
- **Remarks**: Disabled by default for advanced uses.
|
||||
|
||||
- **Manufacture Date**
|
||||
- **Description**: The date the UPS was manufactured.
|
||||
- **Available for machines**: Smart-UPS
|
||||
- **Remarks**: Disabled by default for advanced uses.
|
||||
|
||||
- **Model**
|
||||
- **Description**: The UPS model as derived from information from the UPS.
|
||||
- **Available for machines**: all
|
||||
- **Remarks**: Disabled by default for advanced uses.
|
||||
|
||||
- **Register 1 Fault**
|
||||
- **Description**: The value from the UPS fault register 1.
|
||||
- **Available for machines**: Smart-UPS
|
||||
- **Remarks**: Disabled by default for advanced uses.
|
||||
|
||||
- **Register 2 Fault**
|
||||
- **Description**: The value from the UPS fault register 2.
|
||||
- **Available for machines**: Smart-UPS
|
||||
- **Remarks**: Disabled by default for advanced uses.
|
||||
|
||||
- **Register 3 Fault**
|
||||
- **Description**: The value from the UPS fault register 3.
|
||||
- **Available for machines**: Smart-UPS
|
||||
- **Remarks**: Disabled by default for advanced uses.
|
||||
|
||||
- **Sensitivity**
|
||||
- **Description**: The sensitivity level of the UPS to line voltage fluctuations.
|
||||
- **Available for machines**: all
|
||||
- **Remarks**: Disabled by default for advanced uses.
|
||||
|
||||
- **Serial Number**
|
||||
- **Description**: The UPS serial number.
|
||||
- **Available for machines**: all
|
||||
- **Remarks**: Disabled by default for advanced uses.
|
||||
|
||||
- **Status Flag**
|
||||
- **Description**: Status flag. English version is given by STATUS.
|
||||
- **Available for machines**: all
|
||||
- **Remarks**: Disabled by default for advanced uses.
|
||||
|
||||
- **Name**
|
||||
- **Description**: The name of the UPS as stored in the EEPROM or in the UPSNAME directive in the configuration file.
|
||||
- **Available for machines**: all
|
||||
- **Remarks**: Disabled by default for advanced uses.
|
||||
|
||||
- **Daemon Info**
|
||||
- **Description**: The apcupsd release number, build date, and platform.
|
||||
- **Available for machines**: all
|
||||
- **Remarks**: Disabled by default for advanced uses.
|
||||
|
||||
## Examples
|
||||
|
||||
@ -147,7 +375,7 @@ mode: single
|
||||
triggers:
|
||||
- trigger: numeric_state
|
||||
entity_id:
|
||||
- sensor.gogoups_load
|
||||
- sensor.apc_ups_load
|
||||
above: 80
|
||||
conditions: []
|
||||
actions:
|
||||
@ -164,7 +392,7 @@ The integration {% term polling polls %} data from your APC UPS Daemon every 60
|
||||
|
||||
## Known limitations
|
||||
|
||||
This integration does not allow you to control the UPS. For example, you cannot run a self-test. To run a self-test, use the `aptest` command provided by [apcupsd](http://www.apcupsd.org/).
|
||||
This integration does not allow you to control the UPS. For example, you cannot run a self-test. To run a self-test, use the `apctest` command provided by [apcupsd](http://www.apcupsd.org/).
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
|
@ -10,6 +10,7 @@ ha_domain: aws_s3
|
||||
ha_codeowners:
|
||||
- '@tomasbedrich'
|
||||
ha_integration_type: service
|
||||
ha_quality_scale: bronze
|
||||
---
|
||||
|
||||
The **AWS S3** {% term integrations %} allows you to use [AWS S3](https://aws.amazon.com/s3/) bucket with Home Assistant Backups.
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Balay
|
||||
description: Connect and control your Balay appliances using the Home Connect integration
|
||||
description: Connect and control your Balay devices using the Home Connect integration
|
||||
ha_category:
|
||||
- Binary sensor
|
||||
- Button
|
||||
@ -10,9 +10,11 @@ ha_category:
|
||||
- Select
|
||||
- Sensor
|
||||
- Switch
|
||||
ha_iot_class: Cloud Push
|
||||
ha_release: '2025.4'
|
||||
ha_release: '0.110'
|
||||
ha_domain: balay
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: home_connect
|
||||
ha_supporting_integration: Home Connect
|
||||
ha_codeowners:
|
||||
- '@DavidMStraub'
|
||||
- '@Diegorro98'
|
||||
@ -27,9 +29,8 @@ ha_platforms:
|
||||
- select
|
||||
- sensor
|
||||
- switch
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: home_connect
|
||||
ha_supporting_integration: Home Connect
|
||||
- time
|
||||
ha_iot_class: Cloud Push
|
||||
---
|
||||
|
||||
{% include integrations/supported_brand.md %}
|
||||
|
@ -26,6 +26,7 @@ ha_platforms:
|
||||
- light
|
||||
- switch
|
||||
ha_integration_type: integration
|
||||
ha_dhcp: true
|
||||
---
|
||||
|
||||
The **Bond** {% term integration %} allows you to control appliances through your [Bond Bridge](https://bondhome.io/). Duplicates your RF remote control.
|
||||
|
@ -13,8 +13,10 @@ ha_codeowners:
|
||||
ha_domain: bosch_alarm
|
||||
ha_platforms:
|
||||
- alarm_control_panel
|
||||
- diagnostics
|
||||
- sensor
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: device
|
||||
ha_quality_scale: bronze
|
||||
---
|
||||
|
||||
The **Bosch Alarm Panel** {% term integration %} allows you to connect your [Bosch Alarm Panel](https://www.boschsecurity.com) to Home Assistant to control and monitor your Bosch Alarm Panel.
|
||||
|
@ -26,6 +26,7 @@ ha_platforms:
|
||||
- sensor
|
||||
- switch
|
||||
ha_integration_type: hub
|
||||
ha_quality_scale: bronze
|
||||
---
|
||||
|
||||
The **Comelit SimpleHome** {% term integration %} allows you to control your [Comelit home automation devices](https://comelitgroup.it/installatore/offerta/home-building-automation/).
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Constructa
|
||||
description: Connect and control your Constructa appliances using the Home Connect integration
|
||||
description: Connect and control your Constructa devices using the Home Connect integration
|
||||
ha_category:
|
||||
- Binary sensor
|
||||
- Button
|
||||
@ -10,9 +10,11 @@ ha_category:
|
||||
- Select
|
||||
- Sensor
|
||||
- Switch
|
||||
ha_iot_class: Cloud Push
|
||||
ha_release: '2025.4'
|
||||
ha_release: '0.110'
|
||||
ha_domain: constructa
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: home_connect
|
||||
ha_supporting_integration: Home Connect
|
||||
ha_codeowners:
|
||||
- '@DavidMStraub'
|
||||
- '@Diegorro98'
|
||||
@ -27,9 +29,8 @@ ha_platforms:
|
||||
- select
|
||||
- sensor
|
||||
- switch
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: home_connect
|
||||
ha_supporting_integration: Home Connect
|
||||
- time
|
||||
ha_iot_class: Cloud Push
|
||||
---
|
||||
|
||||
{% include integrations/supported_brand.md %}
|
||||
|
@ -58,7 +58,7 @@ The following device classes are supported for covers.
|
||||
- **garage**: Control of a garage door that provides access to a garage.
|
||||
- **gate**: Control of a gate. Gates are found outside of a structure and are typically part of a fence.
|
||||
- **shade**: Control of shades, which are a continuous plane of material or connected cells that expanded or collapsed over an opening, such as window shades.
|
||||
- **shutter**: Control of shutters, which are linked slats that swing out/in to covering an opening or may be tilted to partially cover an opening, such as indoor or exterior window shutters.
|
||||
- **shutter**: Control of shutters. Shutters are linked slats that can be raised or lowered to cover an opening, such as window or door roller shutters. Some shutters (for example, some indoor or exterior window shutters) swing out/in to cover an opening or may be tilted to provide partial cover.
|
||||
- **window**: Control of a physical window that opens and closes or may tilt.
|
||||
|
||||
## Actions
|
||||
|
@ -21,6 +21,7 @@ ha_platforms:
|
||||
- sensor
|
||||
- switch
|
||||
ha_integration_type: integration
|
||||
ha_quality_scale: platinum
|
||||
---
|
||||
|
||||
The **Enphase Envoy** {% term integration %} is used to integrate with the [Enphase IQ Gateway](https://enphase.com/en-us/products-and-services/envoy-and-combiner), a communication device for [Enphase](https://enphase.com/homeowners) solar inverters and batteries. In this documentation, as well as in integration entity names, the Enphase IQ Gateway is commonly referred to as `Envoy`, a name from the conception times of this integration and retained for its compact format.
|
||||
|
@ -152,7 +152,7 @@ The configuration snippet below adds a template sensor containing the current fo
|
||||
action:
|
||||
- service: environment_canada.get_forecasts
|
||||
target:
|
||||
entity_id: weather.ottawa_kanata_orleans_forecast
|
||||
entity_id: weather.NAME
|
||||
response_variable: forecasts
|
||||
sensor:
|
||||
- name: Weather Forecast Daily
|
||||
|
@ -7,6 +7,7 @@ ha_release: 0.57
|
||||
ha_iot_class: Local Polling
|
||||
ha_codeowners:
|
||||
- '@ttroy50'
|
||||
- '@roberty99'
|
||||
ha_domain: ephember
|
||||
ha_platforms:
|
||||
- climate
|
||||
|
@ -44,6 +44,7 @@ ha_integration_type: device
|
||||
ha_dhcp: true
|
||||
works_with:
|
||||
- local
|
||||
ha_quality_scale: platinum
|
||||
---
|
||||
|
||||
## Overview
|
||||
@ -254,4 +255,4 @@ You can trigger Name Conflict Resolution in several ways:
|
||||
|
||||
Each ESPHome device must have a **unique name**. This name is important for mDNS announcements, ensuring that the device can be properly discovered, quickly reconnected when it comes online or wakes from deep sleep (for devices that support deep sleep), and correctly linked to the [**ESPHome Device Builder Add-on**](https://my.home-assistant.io/redirect/supervisor_addon/?addon=5c53de3b_esphome&repository_url=https%3A%2F%2Fgithub.com%2Fesphome%2Fhome-assistant-addon). It's also crucial for **DHCP discovery** if mDNS is not available.
|
||||
|
||||
Using duplicate names can lead to connection issues, failed discovery, and unexpected behavior with both the integration and the add-on.
|
||||
Using duplicate names can lead to connection issues, failed discovery, and unexpected behavior with both the integration and the add-on.
|
||||
|
@ -19,6 +19,7 @@ ha_platforms:
|
||||
- binary_sensor
|
||||
- climate
|
||||
- cover
|
||||
- diagnostics
|
||||
- event
|
||||
- light
|
||||
- lock
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Gaggenau
|
||||
description: Connect and control your Gaggenau appliances using the Home Connect integration
|
||||
description: Connect and control your Gaggenau devices using the Home Connect integration
|
||||
ha_category:
|
||||
- Binary sensor
|
||||
- Button
|
||||
@ -10,9 +10,11 @@ ha_category:
|
||||
- Select
|
||||
- Sensor
|
||||
- Switch
|
||||
ha_iot_class: Cloud Push
|
||||
ha_release: '2025.4'
|
||||
ha_release: '0.110'
|
||||
ha_domain: gaggenau
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: home_connect
|
||||
ha_supporting_integration: Home Connect
|
||||
ha_codeowners:
|
||||
- '@DavidMStraub'
|
||||
- '@Diegorro98'
|
||||
@ -27,9 +29,8 @@ ha_platforms:
|
||||
- select
|
||||
- sensor
|
||||
- switch
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: home_connect
|
||||
ha_supporting_integration: Home Connect
|
||||
- time
|
||||
ha_iot_class: Cloud Push
|
||||
---
|
||||
|
||||
{% include integrations/supported_brand.md %}
|
||||
|
@ -160,7 +160,7 @@ Now add your setup to your {% term "`configuration.yaml`" %} file, such as:
|
||||
# Example configuration.yaml entry
|
||||
google_assistant:
|
||||
project_id: YOUR_PROJECT_ID
|
||||
service_account: !include SERVICE_ACCOUNT.JSON
|
||||
service_account: !include SERVICE_ACCOUNT.json
|
||||
report_state: true
|
||||
exposed_domains:
|
||||
- switch
|
||||
|
@ -3,19 +3,19 @@ title: Google Gemini
|
||||
description: Instructions on how to integrate Google Gemini as a conversation agent
|
||||
ha_category:
|
||||
- Voice
|
||||
ha_release: 2025.5
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_config_flow: true
|
||||
ha_release: 2023.6
|
||||
ha_domain: google_gemini
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: google_generative_ai_conversation
|
||||
ha_supporting_integration: Google Generative AI
|
||||
ha_codeowners:
|
||||
- '@tronikos'
|
||||
- '@ivanlh'
|
||||
ha_domain: google_gemini
|
||||
ha_integration_type: virtual
|
||||
ha_config_flow: true
|
||||
ha_platforms:
|
||||
- conversation
|
||||
- diagnostics
|
||||
ha_supporting_domain: google_generative_ai_conversation
|
||||
ha_supporting_integration: Google Generative AI
|
||||
ha_iot_class: Cloud Polling
|
||||
---
|
||||
|
||||
{% include integrations/supported_brand.md %}
|
||||
|
@ -2,6 +2,7 @@
|
||||
title: Home Assistant Supervisor
|
||||
description: Control Supervisor Add-ons and OS from Home Assistant
|
||||
ha_category:
|
||||
- Backup
|
||||
- Binary sensor
|
||||
- Sensor
|
||||
- Update
|
||||
@ -10,6 +11,7 @@ ha_release: 0.42
|
||||
ha_domain: hassio
|
||||
ha_quality_scale: internal
|
||||
ha_platforms:
|
||||
- backup
|
||||
- binary_sensor
|
||||
- diagnostics
|
||||
- sensor
|
||||
|
@ -44,7 +44,7 @@ You can access the **History** panel from the side bar. To export the data, foll
|
||||
|
||||
By default, the recorder stores the sensor data for 10 days. Older data is purged automatically. The data for the last 10 days is taken from the recorder.
|
||||
|
||||
If you select a time frame that exceeds 10 days, the data is taken from the long term statistics table. The long term statistics data is sampled and averaged once per hour, to save storage. Therefore, the values might look different from what you see from the recorder data, which shows the measured values at the sample rate defined for that sensor. The detailed data will be shown with a darker line on graphs.
|
||||
If you select a time frame that exceeds 10 days, the data is taken from the long term statistics table. Long term statistics are saved for sensors with a state_class of measurement, total or total_increasing. The long term statistics data is sampled and averaged once per hour, to save storage. Therefore, the values might look different from what you see from the recorder data, which shows the measured values at the sample rate defined for that sensor. The detailed data will be shown with a darker line on graphs.
|
||||
|
||||
<img class="no-shadow" src='/images/integrations/history/history-panel_including-long-term-storage.png' alt='If the chosen time frame exceeds the retention period defined in the recorder, the long term statistics table is used as a data source.'>
|
||||
|
||||
|
@ -29,6 +29,7 @@ ha_platforms:
|
||||
- switch
|
||||
- time
|
||||
ha_integration_type: integration
|
||||
ha_zeroconf: true
|
||||
---
|
||||
|
||||
The Home Connect integration allows users to integrate their home appliances supporting the Home Connect standard for Bosch and Siemens using the [official cloud API](https://developer.home-connect.com).
|
||||
@ -1191,7 +1192,7 @@ The program key needs to be added to the integration. To help with that, you can
|
||||
|
||||
#### Symptom: "the "active program" and "selected program" entities are not provided by the integration"
|
||||
|
||||
The the "active program" and "selected program" entities are not provided by the integration, and the downloaded device diagnostics file does not list any programs.
|
||||
The "active program" and "selected program" entities are not provided by the integration, and the downloaded device diagnostics file does not list any programs.
|
||||
|
||||
##### Description
|
||||
|
||||
|
@ -91,6 +91,14 @@ Groups are instantly created in Home Assistant when created in the native Homema
|
||||
Devices are created with a delay of 30 seconds in Home Assistant when created in the native HomematicIP APP.
|
||||
Within this delay the device registration should be completed in the App, otherwise the device name will be a default one based on the device type. This can easily be fixed in the Home Assistant entity registry afterwards.
|
||||
|
||||
## Use HmIP-DLD Door Lock Drive in Home Assistant
|
||||
|
||||
If you are unable to control the **HmIP-DLD** device via Home Assistant, you may need to allow the Home Assistant device to control the **HmIP-DLD** in the HomematicIP app.
|
||||
|
||||
To do this, navigate to the **Access Control** section in your HomematicIP app and enable the necessary permissions.
|
||||
|
||||
Currently, the **HmIP-DLD** can only be used in Home Assistant without a PIN. Ensure that no PIN is set for the device in the HomematicIP app.
|
||||
|
||||
## Implemented and tested devices
|
||||
|
||||
- homematicip_cloud.alarm_control_panel
|
||||
|
@ -8,12 +8,16 @@ ha_category:
|
||||
ha_iot_class: Local Polling
|
||||
ha_config_flow: true
|
||||
ha_codeowners:
|
||||
- '@Imeon-Energy'
|
||||
- '@Imeon-Energy'
|
||||
ha_domain: imeon_inverter
|
||||
related:
|
||||
- url: https://imeon-energy.com/
|
||||
- title: Imeon Energy website
|
||||
- url: https://imeon-energy.com/
|
||||
- title: Imeon Energy website
|
||||
ha_integration_type: device
|
||||
ha_quality_scale: bronze
|
||||
ha_platforms:
|
||||
- sensor
|
||||
ha_ssdp: true
|
||||
---
|
||||
|
||||
The Imeon Energy Inverter {% term integrations %} will poll an [Imeon](https://imeon-energy.com/) solar inverter in Home Assistant.
|
||||
|
@ -13,6 +13,7 @@ ha_platforms:
|
||||
- diagnostics
|
||||
- sensor
|
||||
ha_integration_type: integration
|
||||
ha_quality_scale: silver
|
||||
---
|
||||
|
||||
IMGW-PIB {% term integration %} uses hydrological data from [Institute of Meteorology and Water Management - National Research Institute](https://hydro.imgw.pl) to present information about rivers and water reservoirs in Poland.
|
||||
|
@ -9,6 +9,7 @@ ha_codeowners:
|
||||
- '@tr4nt0r'
|
||||
ha_domain: ista_ecotrend
|
||||
ha_platforms:
|
||||
- diagnostics
|
||||
- sensor
|
||||
ha_config_flow: true
|
||||
ha_integration_type: integration
|
||||
|
@ -21,6 +21,8 @@ ha_platforms:
|
||||
- vacuum
|
||||
- water_heater
|
||||
ha_integration_type: integration
|
||||
ha_codeowners:
|
||||
- '@LG-ThinQ-Integration'
|
||||
---
|
||||
|
||||
The **LG ThinQ** integration allows you to connect LG ThinQ devices to Home Assistant. The features of this integration include:
|
||||
|
@ -88,7 +88,7 @@ automation:
|
||||
entity_id: light.living_room
|
||||
data:
|
||||
brightness: 255
|
||||
kelvin: 2700
|
||||
color_temp_kelvin: 2700
|
||||
```
|
||||
```yaml
|
||||
# Ledlist morning on, red
|
||||
|
@ -759,7 +759,7 @@ state_topic:
|
||||
required: false
|
||||
type: string
|
||||
supported_color_modes:
|
||||
description: A list of color modes supported by the list. Possible color modes are `onoff`, `brightness`, `color_temp`, `hs`, `xy`, `rgb`, `rgbw`, `rgbww`, `white`. Note that if `onoff` **or** `brightness` are used, that must be the _only_ value in the list.
|
||||
description: A list of color modes supported by the light. Possible color modes are `onoff`, `brightness`, `color_temp`, `hs`, `xy`, `rgb`, `rgbw`, `rgbww`, `white`. Note that if `onoff` **or** `brightness` are used, that must be the _only_ value in the list.
|
||||
required: false
|
||||
type: list
|
||||
transition:
|
||||
|
@ -1,22 +1,24 @@
|
||||
---
|
||||
title: Maytag
|
||||
description: Connect and control your Maytag appliances using the Whirlpool Appliances integration
|
||||
description: Connect and control your Maytag devices using the Whirlpool Appliances integration
|
||||
ha_category:
|
||||
- Climate
|
||||
- Hub
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: whirlpool
|
||||
ha_supporting_integration: Whirlpool Appliances
|
||||
ha_release: '2022.10'
|
||||
ha_iot_class: Cloud Push
|
||||
ha_config_flow: true
|
||||
ha_domain: maytag
|
||||
ha_codeowners:
|
||||
- '@abmantis'
|
||||
- '@mkmer'
|
||||
ha_domain: maytag
|
||||
ha_config_flow: true
|
||||
ha_platforms:
|
||||
- binary_sensor
|
||||
- climate
|
||||
- diagnostics
|
||||
- sensor
|
||||
ha_iot_class: Cloud Push
|
||||
---
|
||||
|
||||
{% include integrations/supported_brand.md %}
|
||||
|
@ -5,8 +5,8 @@ ha_category:
|
||||
- Binary sensor
|
||||
- Button
|
||||
- Climate
|
||||
- Hub
|
||||
- Fan
|
||||
- Hub
|
||||
- Light
|
||||
- Sensor
|
||||
- Switch
|
||||
@ -27,6 +27,7 @@ ha_platforms:
|
||||
- switch
|
||||
ha_integration_type: integration
|
||||
ha_zeroconf: true
|
||||
ha_quality_scale: bronze
|
||||
---
|
||||
|
||||
The Miele {% term integrations %} allows users to integrate their home appliances using the [official 3rd party API](https://www.miele.com/developer).
|
||||
|
@ -1,11 +1,11 @@
|
||||
---
|
||||
title: National Grid US
|
||||
description: Get energy usage from National Grid US using the Opower integration
|
||||
description: Connect and control your National Grid US devices using the Opower integration
|
||||
ha_category:
|
||||
- Energy
|
||||
- Sensor
|
||||
ha_release: 2025.5
|
||||
ha_domain: national_grid_opower
|
||||
ha_release: 2023.8
|
||||
ha_domain: national_grid_us
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: opower
|
||||
ha_supporting_integration: Opower
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Neff
|
||||
description: Connect and control your Neff appliances using the Home Connect integration
|
||||
description: Connect and control your Neff devices using the Home Connect integration
|
||||
ha_category:
|
||||
- Binary sensor
|
||||
- Button
|
||||
@ -10,9 +10,11 @@ ha_category:
|
||||
- Select
|
||||
- Sensor
|
||||
- Switch
|
||||
ha_iot_class: Cloud Push
|
||||
ha_release: '2025.4'
|
||||
ha_release: '0.110'
|
||||
ha_domain: neff
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: home_connect
|
||||
ha_supporting_integration: Home Connect
|
||||
ha_codeowners:
|
||||
- '@DavidMStraub'
|
||||
- '@Diegorro98'
|
||||
@ -27,9 +29,9 @@ ha_platforms:
|
||||
- select
|
||||
- sensor
|
||||
- switch
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: home_connect
|
||||
ha_supporting_integration: Home Connect
|
||||
- time
|
||||
ha_iot_class: Cloud Push
|
||||
ha_zeroconf: true
|
||||
---
|
||||
|
||||
{% include integrations/supported_brand.md %}
|
||||
|
@ -11,7 +11,9 @@ ha_codeowners:
|
||||
ha_domain: ntfy
|
||||
ha_integration_type: integration
|
||||
ha_platforms:
|
||||
- diagnostics
|
||||
- notify
|
||||
ha_quality_scale: bronze
|
||||
---
|
||||
|
||||
The **ntfy** {% term integration %} allows publishing push notifications on [ntfy.sh](https://ntfy.sh/) or other ntfy services.
|
||||
|
@ -18,7 +18,7 @@ ha_platforms:
|
||||
- sensor
|
||||
- switch
|
||||
- time
|
||||
ha_quality_scale: silver
|
||||
ha_quality_scale: platinum
|
||||
ha_integration_type: device
|
||||
---
|
||||
|
||||
|
@ -25,22 +25,41 @@ ha_zeroconf: true
|
||||
ha_quality_scale: platinum
|
||||
---
|
||||
|
||||
The Peblar {% term integration %} integrates your [Peblar Rocksolid EV Charger]
|
||||
with Home Assistant. Allowing you to monitor the charging status and energy
|
||||
consumption of your electric vehicle connected to the Peblar charger, while
|
||||
also providing the ability to add the charger to your Home Assistant
|
||||
energy dashboard.
|
||||
The Peblar {% term integration %} integrates the [Peblar Rocksolid EV Charger] into your smart home ecosystem. It enables real-time monitoring of charging status, tracking energy consumption, controlling charging behavior, and integrating EV charging data into the Home Assistant energy dashboard.
|
||||
|
||||
[Peblar Rocksolid EV Charger]: https://peblar.com/
|
||||
|
||||
## Use cases
|
||||
|
||||
The Peblar integration connects your EV charger to Home Assistant, providing comprehensive data and control capabilities. Here's how you can benefit from this integration in your smart home:
|
||||
|
||||
- **Monitor your EV charging in real time** - Track charging status, current power draw, and session energy consumption directly from your dashboard.
|
||||
- **Optimize your home energy management** - Add your charger to the Home Assistant energy dashboard to integrate EV charging into your overall energy monitoring system.
|
||||
- **Create smart charging automations** such as:
|
||||
- Receiving notifications when your vehicle completes charging
|
||||
- Automatically adjusting charging modes based on solar production forecasts
|
||||
- Getting alerts when the charger detects errors or issues
|
||||
- Scheduling charging during off-peak electricity hours
|
||||
- Optimizing charging based on electricity prices and your travel schedule
|
||||
- **Stay up to date with software** - Receive notifications when firmware or customization updates are available for your Peblar charger.
|
||||
- **Control charging remotely** - Start, stop, or adjust charging parameters from anywhere using the Home Assistant app.
|
||||
|
||||
## Supported devices
|
||||
|
||||
The following rocksolid Pebler EV chargers are supported by this integration:
|
||||
The following Peblar Rocksolid EV chargers are supported by this integration:
|
||||
|
||||
- Peblar Home
|
||||
- Peblar Home Plus
|
||||
- Peblar Business
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Before setting up the Peblar integration, make sure:
|
||||
|
||||
- Your Peblar charger is connected to your home network
|
||||
- You know the hostname or IP address of the charger on your network
|
||||
- You have the password used to access the charger's local web interface
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
### Configuration parameters
|
||||
@ -49,47 +68,22 @@ The following rocksolid Pebler EV chargers are supported by this integration:
|
||||
Host:
|
||||
description: The hostname or IP address of your Peblar charger on your home network.
|
||||
Password:
|
||||
description: The password as used to log in to the Peblar device' local web interface.
|
||||
description: The password used to log in to the Peblar device's local web interface.
|
||||
{% endconfiguration_basic %}
|
||||
|
||||
The above configuration can also be adjusted later via
|
||||
{% my integrations title="**Settings** > **Devices & services**" %},
|
||||
click {% icon "mdi:dots-vertical" %} and select **Reconfigure**.
|
||||
|
||||
## Use cases
|
||||
|
||||
This integration provides all the information about your rock-solid EV charger
|
||||
from Peblar. There are multiple use cases for this integration, such as:
|
||||
|
||||
- Monitoring the charging status of your electric vehicle.
|
||||
- Adding the charger to your Home Assistant energy dashboard, allowing you to
|
||||
monitor the energy consumption of your electric vehicle as part of your home
|
||||
energy usage.
|
||||
- Creating automations, for example:
|
||||
- To notify you when the charging of your electric vehicle is complete.
|
||||
- Turn off solar-only charging when the expected solar production is not
|
||||
sufficient today.
|
||||
- Notify when the charger has detected an error or has raised a warning.
|
||||
- See updates in Home Assistant when there are updates available for your
|
||||
Peblar charger.
|
||||
The above configuration can also be adjusted later via {% my integrations title="**Settings** > **Devices & services**" %}, click {% icon "mdi:dots-vertical" %} and select **Reconfigure**.
|
||||
|
||||
## Supported functionality
|
||||
|
||||
The Peblar integration provides a whole lot of functionality to Home Assistant.
|
||||
All of them are provided as entities in Home Assistant. Below is an overview of
|
||||
the entities provided by this integration.
|
||||
Below is a complete overview of the entities this integration provides.
|
||||
|
||||
### Binary sensors
|
||||
|
||||
The binary sensors provided are used to indicate the health status of the
|
||||
charger. The following binary sensors are available:
|
||||
|
||||
- **Active error**: Indicates if the charger has detected an error. If this
|
||||
sensor is on ({% term state %}: `on`) an error has been detected, otherwise, it is off
|
||||
({% term state %}: `off`).
|
||||
- **Active warning**: Indicates if the charger has raised a warning. If this
|
||||
- sensor is on ({% term state %}: `on`) a warning has been raised, otherwise, it is off
|
||||
({% term state %}: `off`).
|
||||
- **Active error**: Indicates if the charger has detected an error. If this sensor is on ({% term state %}: `on`) an error has been detected, otherwise, it is off ({% term state %}: `off`).
|
||||
- **Active warning**: Indicates if the charger has raised a warning. If this sensor is on ({% term state %}: `on`) a warning has been raised, otherwise, it is off ({% term state %}: `off`).
|
||||
|
||||
If any of these binary sensors are on, you should check the charger's local
|
||||
web interface for more information about the error or warning.
|
||||
@ -105,11 +99,8 @@ documentation for information on how to do this.
|
||||
The buttons provided by this integration can be used to trigger an action on
|
||||
the charger. The following buttons are available:
|
||||
|
||||
- **Identify**: This button can be used to identify the charger. This can be
|
||||
useful if you have multiple chargers and want to identify which one is which.
|
||||
Once pressed, the LED on the charger will start blinking for a few seconds.
|
||||
- **Restart**: This button can be used to restart the charger. This can be
|
||||
useful if the charger is not responding as expected.
|
||||
- **Identify**: This button can be used to identify the charger. This can be useful if you have multiple chargers and want to identify which one is which. Once pressed, the LED on the charger will start blinking for a few seconds.
|
||||
- **Restart**: This button can be used to restart the charger. This can be useful if the charger is not responding as expected.
|
||||
|
||||
{% important %}
|
||||
These buttons are disabled by default. If you want to use them, you need
|
||||
@ -121,33 +112,23 @@ documentation for information on how to do this.
|
||||
|
||||
This integration provides a single number entity: **Charge limit**.
|
||||
|
||||
Using this entity, you can set the maximum current the charger can provide to
|
||||
your electric vehicle. The value of this entity is in amperes (A).
|
||||
Using this entity, you can set the maximum current the charger can provide to your electric vehicle. The value of this entity is in amperes (A).
|
||||
|
||||
The minimum value for this entity is 6A, and the maximum value is depending on
|
||||
your charger's configuration. The value can be set in increments of 1A.
|
||||
The minimum value for this entity is 6A, and the maximum value is depending on your charger's configuration. The value can be set in increments of 1A.
|
||||
|
||||
### Selects
|
||||
|
||||
This integration provides a single select entity: **Smart charging**.
|
||||
|
||||
It reflects the same smart charging state as is shown on the charger's local
|
||||
web interface, and allows you to control the charging behavior of the charger.
|
||||
It reflects the same smart charging state as is shown on the charger's local web interface, and allows you to control the charging behavior of the charger.
|
||||
|
||||
The following options are available:
|
||||
|
||||
- **Default** ({% term state %}: `default`): The charger will charge the electric vehicle
|
||||
as soon as it is connected.
|
||||
- **Fast solar** ({% term state %}: `fast_solar`): The charger will fast charge the
|
||||
electric vehicle with the overproduction of solar energy, but will also use
|
||||
grid power if the solar production is not sufficient.
|
||||
- **Smart solar** ({% term state %}: `smart_solar`): The charger will charge the electric
|
||||
vehicle with the overproduction of solar energy, but will also use grid power
|
||||
if the solar production is not sufficient.
|
||||
- **Pure solar** ({% term state %}: `solar_only`): The charger will only charge the
|
||||
electric vehicle with the overproduction of solar energy.
|
||||
- **Scheduled** ({% term state %}: `scheduled`): The charger will charge the electric
|
||||
vehicle according to the schedule configured on the charger.
|
||||
- **Default** ({% term state %}: `default`): The charger will charge the electric vehicle as soon as it is connected.
|
||||
- **Fast solar** ({% term state %}: `fast_solar`): The charger will fast charge the electric vehicle with the overproduction of solar energy, but will also use grid power if the solar production is not sufficient.
|
||||
- **Smart solar** ({% term state %}: `smart_solar`): The charger will charge the electric vehicle with the overproduction of solar energy, but will also use grid power if the solar production is not sufficient.
|
||||
- **Pure solar** ({% term state %}: `solar_only`): The charger will only charge the electric vehicle with the overproduction of solar energy.
|
||||
- **Scheduled** ({% term state %}: `scheduled`): The charger will charge the electric vehicle according to the schedule configured on the charger.
|
||||
|
||||
### Sensors
|
||||
|
||||
@ -161,98 +142,48 @@ by adding the **Lifetime energy** sensor to the energy dashboard configuration
|
||||
as a device.
|
||||
{% endtip %}
|
||||
|
||||
- **Current**: The current current (in amperes) the charger is consuming to
|
||||
charge your electric vehicle. This is a combined value for all your phases.
|
||||
Additionally, three additionally sensors are available, if your charging is
|
||||
using multiple phases:
|
||||
- **Current Phase 1**\*\*: The current current (in amperes) the charger is
|
||||
consuming on phase 1.
|
||||
- **Current Phase 2**\*\*: The current current (in amperes) the charger is
|
||||
consuming on phase 2.
|
||||
- **Current Phase 3**\*\*: The current current (in amperes) the charger is
|
||||
consuming on phase 3.
|
||||
- **Lifetime energy**: The total energy (in kilowatt-hours) consumed by the
|
||||
charger since it was installed. **This is the recommended sensor to use in the
|
||||
Home Assistant energy dashboard.**
|
||||
- **Limit source**: The source/origin of the current charging limit that is
|
||||
in effect. The source can be one of the following:
|
||||
- _Charging cable_ ({% term state %}: `charging_cable`): The current limit is
|
||||
the maximum current the charging cable handle.
|
||||
- _Current limiter_ ({% term state %}: `current_limiter`): The current limit is
|
||||
set by the current limiter.
|
||||
- _Dynamic load balancing_ ({% term state %}: `dynamic_load_balancing`): The current
|
||||
limit is set by the dynamic load balancing feature.
|
||||
- _External power limit_ ({% term state %}: `external_power_limit`): The current
|
||||
limit is set by an external power limiter.
|
||||
- _Group load balancing_ ({% term state %}: `group_load_balancing`): The current
|
||||
limit is set by the group load balancing feature, which is a feature that
|
||||
allows multiple chargers to share the available power.
|
||||
- _Hardware limitation_ ({% term state %}: `hardware_limitation`): The current limit
|
||||
is limited by the hardware of the charger that can't provide more current.
|
||||
- _High temperature_ ({% term state %}: `high_temperature`): The current limit is
|
||||
limited due to high temperatures.
|
||||
- _Household power limit_ ({% term state %}: `household_power_limit`): The current
|
||||
limit is set by the household power limit feature, which is a feature that
|
||||
allows the charger to limit the current to prevent overloading the household
|
||||
power.
|
||||
- _Installer limitation_ ({% term state %}: `installer_limitation`): The current
|
||||
limit is set by the installer, for example, to prevent overloading the fuse
|
||||
of the house.
|
||||
- _Local Modbus API_ ({% term state %}: `local_modbus_api`): The current limit is
|
||||
set by software using the local Modbus API.
|
||||
- _Local REST API_ ({% term state %}: `local_rest_api`): The current limit is set
|
||||
by software using the local REST API. Home Assistant uses this API to set
|
||||
the current limit, so if you see this state, it means the current limit is
|
||||
likely set through Home Assistant.
|
||||
- _OCPP smart charging_ ({% term state %}: `ocpp_smart_charging`): The current limit
|
||||
is set by the OCPP smart charging feature.
|
||||
- _Overcurrent protection_ ({% term state %}: `overcurrent_protection`): The current
|
||||
limit is limited due to overcurrent protection.
|
||||
- _Phase imbalance_ ({% term state %}: `phase_imbalance`): The current limit is
|
||||
limited due to phase imbalance in the electrical installation.
|
||||
- _Power factor_ ({% term state %}: `power_factor`): The current limit is limited
|
||||
due to a low power factor in the electrical installation.
|
||||
- _Solar charging_ ({% term state %}: `solar_charging`): The current limit is set
|
||||
by the solar charging feature of the charger. This means the charger is
|
||||
awaiting an overproduction of solar energy to start charging.
|
||||
- **Power**: The current power (in Watts) the charger is consuming to charge
|
||||
- **Current**: The present current (in amperes) the charger is consuming to charge your electric vehicle. This is a combined value for all your phases. Additionally, three phase-specific sensors are available if your charging is using multiple phases:
|
||||
- **Current Phase 1**\*\*: The current (in amperes) the charger is consuming on phase 1.
|
||||
- **Current Phase 2**\*\*: The current (in amperes) the charger is consuming on phase 2.
|
||||
- **Current Phase 3**\*\*: The current (in amperes) the charger is consuming on phase 3.
|
||||
- **Lifetime energy**: The total energy (in kilowatt-hours) consumed by the charger since it was installed. **This is the recommended sensor to use in the Home Assistant energy dashboard.**
|
||||
- **Limit source**: The source/origin of the current charging limit that is in effect. The source can be one of the following:
|
||||
- _Charging cable_ ({% term state %}: `charging_cable`): The current limit is the maximum current the charging cable can handle.
|
||||
- _Current limiter_ ({% term state %}: `current_limiter`): The current limit is set by the current limiter.
|
||||
- _Dynamic load balancing_ ({% term state %}: `dynamic_load_balancing`): The current limit is set by the dynamic load balancing feature.
|
||||
- _External power limit_ ({% term state %}: `external_power_limit`): The current limit is set by an external power limiter.
|
||||
- _Group load balancing_ ({% term state %}: `group_load_balancing`): The current limit is set by the group load balancing feature, which is a feature that allows multiple chargers to share the available power.
|
||||
- _Hardware limitation_ ({% term state %}: `hardware_limitation`): The current limit is limited by the hardware of the charger that can't provide more current.
|
||||
- _High temperature_ ({% term state %}: `high_temperature`): The current limit is limited due to high temperatures.
|
||||
- _Household power limit_ ({% term state %}: `household_power_limit`): The current limit is set by the household power limit feature, which is a feature that allows the charger to limit the current to prevent overloading the household power.
|
||||
- _Installer limitation_ ({% term state %}: `installer_limitation`): The current limit is set by the installer, for example, to prevent overloading the fuse of the house.
|
||||
- _Local Modbus API_ ({% term state %}: `local_modbus_api`): The current limit is set by software using the local Modbus API.
|
||||
- _Local REST API_ ({% term state %}: `local_rest_api`): The current limit is set by software using the local REST API. Home Assistant uses this API to set the current limit, so if you see this state, it means the current limit is likely set through Home Assistant.
|
||||
- _OCPP smart charging_ ({% term state %}: `ocpp_smart_charging`): The current limit is set by the OCPP smart charging feature.
|
||||
- _Overcurrent protection_ ({% term state %}: `overcurrent_protection`): The current limit is limited due to overcurrent protection.
|
||||
- _Phase imbalance_ ({% term state %}: `phase_imbalance`): The current limit is limited due to phase imbalance in the electrical installation.
|
||||
- _Power factor_ ({% term state %}: `power_factor`): The current limit is limited due to a low power factor in the electrical installation.
|
||||
- _Solar charging_ ({% term state %}: `solar_charging`): The current limit is set by the solar charging feature of the charger. This means the charger is awaiting an overproduction of solar energy to start charging.
|
||||
- **Power**: The power consumption (in Watts) the charger is using to charge
|
||||
your electric vehicle. This is a combined value for all your phases.
|
||||
Additionally, three additionally sensors are available, if your charging is
|
||||
Additionally, three phase-specific sensors are available if your charging is
|
||||
using multiple phases:
|
||||
- **Power Phase 1**\*\*: The current power (in Watts) the charger is consuming
|
||||
on phase 1.
|
||||
- **Power Phase 2**\*\*: The current power (in Watts) the charger is consuming
|
||||
on phase 2.
|
||||
- **Power Phase 3**\*\*: The current power (in Watts) the charger is consuming
|
||||
on phase 3.
|
||||
- **Session energy**: The total energy (in kilowatt-hours) consumed by the
|
||||
charger during the current charging session. This sensor is reset when a
|
||||
new charging session starts. While you could, it is **not** recommended to
|
||||
use this sensor in the Home Assistant energy dashboard. Use the **Lifetime
|
||||
energy** sensor instead.
|
||||
- **State**: The current state of the charger. The state can be one of the
|
||||
following:
|
||||
- _Charging_ ({% term state %}: `charging`): The charger is currently charging the
|
||||
electric vehicle.
|
||||
- _Error_ ({% term state %}: `error`): The charger has detected an error and is
|
||||
currently not charging the electric vehicle.
|
||||
- _Fault_ ({% term state %}: `fault`): The charger has detected a fault and is
|
||||
currently not charging the electric vehicle.
|
||||
- _No EV connected_ ({% term state %}: `no_ev_connected`): The charger is currently not
|
||||
connected to an electric vehicle.
|
||||
- _Suspended_ ({% term state %}: `suspended`): The charger is currently not charging
|
||||
the electric vehicle, but is ready to start charging when needed.
|
||||
- **Power Phase 1**\*\*: The power consumption (in watts) on phase 1.
|
||||
- **Power Phase 2**\*\*: The power consumption (in watts) on phase 2.
|
||||
- **Power Phase 3**\*\*: The power consumption (in watts) on phase 3.
|
||||
- **Session energy**: The total energy (in kilowatt-hours) consumed by the charger during the current charging session. This sensor resets when a new charging session starts. While possible, it is **not** recommended to use this sensor in the Home Assistant energy dashboard. Use the **Lifetime energy** sensor instead.
|
||||
- **State**: The current state of the charger. The state can be one of the following:
|
||||
- _Charging_ ({% term state %}: `charging`): The charger is currently charging the electric vehicle.
|
||||
- _Error_ ({% term state %}: `error`): The charger has detected an error and is currently not charging the electric vehicle.
|
||||
- _Fault_ ({% term state %}: `fault`): The charger has detected a fault and is currently not charging the electric vehicle.
|
||||
- _No EV connected_ ({% term state %}: `no_ev_connected`): The charger is currently not connected to an electric vehicle.
|
||||
- _Suspended_ ({% term state %}: `suspended`): The charger is currently not charging the electric vehicle, but is ready to start charging when needed.
|
||||
- _Invalid_ ({% term state %}: `invalid`): The charger is in an invalid state.
|
||||
- **Uptime**\*\*: The total time the charger has been running since the last
|
||||
restart. This sensor is reset when the charger is restarted.
|
||||
- **Voltage**: The current voltage (in volts) the charger is using to charge.
|
||||
Only available if your charger is connected to a single-phase power source.
|
||||
- **Voltage Phase 1**\*\*: The current voltage (in volts) on phase 1. Only
|
||||
available if your charger is connected to at least a two-phase power source.
|
||||
- **Voltage Phase 2**\*\*: The current voltage (in volts) on phase 2. Only
|
||||
available if your charger is connected to at least a two-phase power source.
|
||||
- **Voltage Phase 3**\*\*: The current voltage (in volts) on phase 3.
|
||||
Only available if your charger is connected to a three-phase power source.
|
||||
- **Uptime**\*\*: The total time the charger has been running since the last restart. This sensor is reset when the charger is restarted.
|
||||
- **Voltage**: The voltage the charger is using to charge. Only available if your charger is connected to a single-phase power source.
|
||||
- **Voltage Phase 1**\*\*: The voltage on phase 1. Only available if your charger is connected to at least a two-phase power source.
|
||||
- **Voltage Phase 2**\*\*: The voltage on phase 2. Only available if your charger is connected to at least a two-phase power source.
|
||||
- **Voltage Phase 3**\*\*: The voltage on phase 3. Only available if your charger is connected to a three-phase power source.
|
||||
|
||||
{% important %}
|
||||
The sensors marked with \*\* are disabled by default. If you want to use them,
|
||||
@ -264,52 +195,38 @@ documentation for information on how to do this.
|
||||
|
||||
This integration provides two switch entities:
|
||||
|
||||
- **Charge**: This switch allows you to start or stop/pause the charging of
|
||||
your electric vehicle. This can be helpful if you want to temporarily stop
|
||||
charging your electric vehicle, for example, to avoid charging during
|
||||
expensive peak hours.
|
||||
- **Force single phase**: This switch can be used to force the charger to use a
|
||||
single phase for charging your electric vehicle. This can be useful if you
|
||||
want to limit your current draw from the charger to a single phase, for
|
||||
example, to prevent overloading your electrical installation.
|
||||
- **Charge**: This switch allows you to start or stop/pause the charging of your electric vehicle. This can be helpful if you want to temporarily stop charging your electric vehicle, for example, to avoid charging during expensive peak hours.
|
||||
- **Force single phase**: This switch can be used to force the charger to use a single phase for charging your electric vehicle. This can be useful if you want to limit your current draw from the charger to a single phase, for example, to prevent overloading your electrical installation.
|
||||
|
||||
{% note %}
|
||||
The **Force single phase** switch is only available if your charger is
|
||||
connected to multiple phases. If your charger is connected to a single-phase
|
||||
power source, this switch will not be created.
|
||||
The **Force single phase** switch is only available if your charger is connected to multiple phases. If your charger is connected to a single-phase power source, this switch will not be created.
|
||||
{% endnote %}
|
||||
|
||||
### Updates
|
||||
|
||||
The Peblar integration provides two update entities for the Pebler charger:
|
||||
The Peblar integration provides two update entities for the Peblar charger:
|
||||
|
||||
- **Firmware**: Indicates if there is a firmware update available for the
|
||||
charger. The firmware can be thought of as the operating system of the charger.
|
||||
- **Customization**: Indicates if there is a customization update available for
|
||||
the charger. The customization can be thought as the user interface of the
|
||||
charger that you see when you log in to the charger's local web interface.
|
||||
- **Firmware**: Indicates if there is a firmware update available for the charger. The firmware can be thought of as the operating system of the charger.
|
||||
- **Customization**: Indicates if there is a customization update available for the charger. The customization can be thought of as the user interface of the charger that you see when you log in to the charger's local web interface.
|
||||
|
||||
Software updates cannot be installed through Home Assistant. You need to log in
|
||||
to the charger's local web interface to install the updates.
|
||||
Software updates cannot be installed through Home Assistant. You need to log in to the charger's local web interface to install the updates.
|
||||
|
||||
## Data updates
|
||||
|
||||
This integration is a local polling integration, meaning it will check for
|
||||
changes to all the entities by frequently polling the Peblar charger on your
|
||||
home network.
|
||||
This integration uses local {% term polling %}, meaning it checks for changes to all entities by regularly communicating with the Peblar charger on your home network.
|
||||
|
||||
There are three different polling frequencies used by this integration:
|
||||
The integration uses three different polling frequencies:
|
||||
|
||||
- **every 10 seconds**: For all sensors and binary sensors, ensuring you
|
||||
have the latest insights into your electric vehicle's charging status.
|
||||
- **every 5 minutes**: It will check for configuration changes to the charger,
|
||||
this affects all configuration entities, like the smart charging mode and
|
||||
the current limit.
|
||||
- **every 2 hours**: It will check for updates to the charger itself, ensuring
|
||||
you are aware of any updates available for your Peblar charger.
|
||||
- **Every 10 seconds**: Updates all sensors and binary sensors, providing you
|
||||
with the latest insights into your electric vehicle's charging status.
|
||||
- **Every 5 minutes**: Checks for configuration changes to the charger,
|
||||
affecting all configuration entities such as smart charging mode and
|
||||
current limit.
|
||||
- **Every 2 hours**: Checks for updates to the charger itself, ensuring
|
||||
you're aware of any available updates for your Peblar charger.
|
||||
|
||||
While this integration uses local polling, configuration changes made to the
|
||||
Peblar charger from Home Assistant will be reflected in the charger almost
|
||||
Although this integration uses local polling, any configuration changes you make to the
|
||||
Peblar charger from Home Assistant will appear on the charger almost
|
||||
instantly.
|
||||
|
||||
## Actions
|
||||
@ -323,12 +240,11 @@ The following examples show how to use the Peblar integration in Home
|
||||
Assistant automations. These examples are just a starting point, and you can
|
||||
use them as inspiration to create your own automations.
|
||||
|
||||
Feel free to contribute more examples to this documentation ❤️.
|
||||
Feel free to contribute more examples to this documentation ❤️. Have you created a useful automation with your Peblar charger? Consider contributing it to help other users get the most from their integration!
|
||||
|
||||
### Notify when there is an software update available
|
||||
### Notify when a software update is available
|
||||
|
||||
The following example sends a notification to your mobile device when there is
|
||||
a software update available for your Peblar charger.
|
||||
The following example sends a notification to your mobile device when a software update becomes available for your Peblar charger.
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
@ -345,8 +261,8 @@ automation:
|
||||
title: "Peblar charger update available!"
|
||||
message: >
|
||||
There is a software update available for your Peblar charger.
|
||||
Please log in to the charger's local web interface to install the
|
||||
update.
|
||||
Please log in to the charger's local web interface to install
|
||||
the update.
|
||||
```
|
||||
|
||||
### Notify when an issue is detected
|
||||
@ -375,30 +291,25 @@ automation:
|
||||
data:
|
||||
title: "Peblar charger issue detected!"
|
||||
message: >
|
||||
An issue with your Peblar charger has been detected. Please check
|
||||
the charger's local web interface for more information.
|
||||
An issue with your Peblar charger has been detected.
|
||||
Please check the charger's local web interface for more information.
|
||||
```
|
||||
|
||||
## Known limitations
|
||||
|
||||
Not all functionality of the Peblar charger is available through this
|
||||
integration. The following limitations are known:
|
||||
Not all functionality of the Peblar charger is available through this integration. The following limitations are known:
|
||||
|
||||
- The Peblar APIs currently aren't communicating that the charger is awaiting
|
||||
authentication (for example, using an RFID card) before it can start
|
||||
charging. As a result, you will see a suspended charging status in Home
|
||||
Assistant, while the charger is awaiting authentication.
|
||||
- Home Assistant uses and manages the charger's REST API. This means that
|
||||
the use of this integration will enable the REST API on the charger
|
||||
automatically. It is possible to use the REST API directly in parallel
|
||||
with this integration.
|
||||
- Peblar is also sold as white-label products, like the [CoolBlue BlueBuilt](https://www.coolblue.nl/en/charging-stations/our-charging-stations), [Eneco Connectric®](https://www.eneco.nl/campagnes/laadpalen/) or [Shell Recharge](https://www.shell.nl/b2b-business/shell-fleet-solutions/electric-charging/at-home-ev-charging.html#thuisladers).
|
||||
This integration is tested with the Peblar branded products, and it is unknown
|
||||
if it works with white-label products.
|
||||
- The Peblar APIs currently don't communicate when the charger is awaiting authentication (for example, using an RFID card) before it can start charging. As a result, you will see a suspended charging status in Home Assistant when the charger is actually awaiting authentication.
|
||||
- Home Assistant uses and manages the charger's REST API. This means that the use of this integration will enable the REST API on the charger automatically. It is possible to use the REST API directly in parallel with this integration.
|
||||
- Peblar is also sold as white-label products, such as [CoolBlue BlueBuilt](https://www.coolblue.nl/en/charging-stations/our-charging-stations), [Eneco Connectric®](https://www.eneco.nl/campagnes/laadpalen/) and [Shell Recharge](https://www.shell.nl/b2b-business/shell-fleet-solutions/electric-charging/at-home-ev-charging.html#thuisladers). This integration has been tested only with Peblar branded products, and it's unknown whether it works with these white-label versions.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
There are no commonly known issues with this integration.
|
||||
If you're experiencing issues with your Peblar charger integration, try these general troubleshooting steps:
|
||||
|
||||
1. Make sure your Peblar charger is powered on and properly connected to your home network.
|
||||
2. Verify that you can access the charger's local web interface directly using the same hostname or IP address configured in Home Assistant.
|
||||
3. If the integration shows as unavailable, try restarting both your Peblar charger and Home Assistant.
|
||||
|
||||
## Removing the integration
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Pitsos
|
||||
description: Connect and control your Pitsos appliances using the Home Connect integration
|
||||
description: Connect and control your Pitsos devices using the Home Connect integration
|
||||
ha_category:
|
||||
- Binary sensor
|
||||
- Button
|
||||
@ -10,9 +10,11 @@ ha_category:
|
||||
- Select
|
||||
- Sensor
|
||||
- Switch
|
||||
ha_iot_class: Cloud Push
|
||||
ha_release: '2025.4'
|
||||
ha_release: '0.110'
|
||||
ha_domain: pitsos
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: home_connect
|
||||
ha_supporting_integration: Home Connect
|
||||
ha_codeowners:
|
||||
- '@DavidMStraub'
|
||||
- '@Diegorro98'
|
||||
@ -27,9 +29,9 @@ ha_platforms:
|
||||
- select
|
||||
- sensor
|
||||
- switch
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: home_connect
|
||||
ha_supporting_integration: Home Connect
|
||||
- time
|
||||
ha_iot_class: Cloud Push
|
||||
ha_zeroconf: true
|
||||
---
|
||||
|
||||
{% include integrations/supported_brand.md %}
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Profilo
|
||||
description: Connect and control your Profilo appliances using the Home Connect integration
|
||||
description: Connect and control your Profilo devices using the Home Connect integration
|
||||
ha_category:
|
||||
- Binary sensor
|
||||
- Button
|
||||
@ -10,9 +10,11 @@ ha_category:
|
||||
- Select
|
||||
- Sensor
|
||||
- Switch
|
||||
ha_iot_class: Cloud Push
|
||||
ha_release: '2025.4'
|
||||
ha_release: '0.110'
|
||||
ha_domain: profilo
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: home_connect
|
||||
ha_supporting_integration: Home Connect
|
||||
ha_codeowners:
|
||||
- '@DavidMStraub'
|
||||
- '@Diegorro98'
|
||||
@ -27,9 +29,9 @@ ha_platforms:
|
||||
- select
|
||||
- sensor
|
||||
- switch
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: home_connect
|
||||
ha_supporting_integration: Home Connect
|
||||
- time
|
||||
ha_iot_class: Cloud Push
|
||||
ha_zeroconf: true
|
||||
---
|
||||
|
||||
{% include integrations/supported_brand.md %}
|
||||
|
@ -15,6 +15,7 @@ ha_platforms:
|
||||
- switch
|
||||
ha_integration_type: service
|
||||
ha_config_flow: true
|
||||
ha_quality_scale: platinum
|
||||
---
|
||||
|
||||
The [**pyLoad**](https://pyload.net/) {% term integration %} enables monitoring your downloads directly in Home Assistant. This integration provides various sensors to keep track of your download activities and allows creating automations based on the sensor information, alongside button and switch controls for performing specific tasks such as aborting downloads and managing file restarts.
|
||||
|
@ -19,16 +19,92 @@ ha_platforms:
|
||||
ha_integration_type: service
|
||||
---
|
||||
|
||||
[RDW](https://www.rdw.nl) is the Netherlands Vehicle Authority. Their tasks
|
||||
are the licensing of vehicles and vehicle parts, supervision and enforcement,
|
||||
registration, information provision, and issuing documents.
|
||||
The **RDW** {% term integration %} connects with the [RDW](https://www.rdw.nl) (Netherlands Vehicle Authority) open data service to retrieve and monitor information about your Dutch registered vehicles in Home Assistant. RDW is the government organization responsible for vehicle registration, licensing, supervision, and enforcement in the Netherlands.
|
||||
|
||||
The RDW data is open data, available for public use. This integration looks
|
||||
up any dutch registered vehicle by its license plate and keeps that
|
||||
information in Home Assistant.
|
||||
## Use case
|
||||
|
||||
This information, and the sensors provided, can be helpful, for example,
|
||||
by sending alerts when it is time to get your car checked for the
|
||||
required general periodic inspection (APK).
|
||||
With this integration, you can keep track of important vehicle information like periodic inspection (<abbr title="Algemene Periodieke Keuring">APK</abbr>) expiration dates, insurance status, and recall notifications directly in your Home Assistant dashboard. This saves you from having to manually check the RDW website or wait for paper notifications in the mail. You can set up automations to receive timely reminders when your vehicle needs attention.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
To use this integration, you need:
|
||||
|
||||
1. A vehicle with Dutch registration (license plate)
|
||||
2. The license plate number of the vehicle you want to monitor
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
{% configuration_basic %}
|
||||
License plate:
|
||||
description: "The Dutch license plate number of your vehicle. Enter without spaces or dashes (for example, AB123C instead of AB-123-C)."
|
||||
{% endconfiguration_basic %}
|
||||
|
||||
## Supported functionality
|
||||
|
||||
### Entities
|
||||
|
||||
The **RDW** integration provides the following entities for your vehicle:
|
||||
|
||||
#### Binary sensors
|
||||
|
||||
- **Liability insured**: Shows whether your vehicle has current liability insurance.
|
||||
- **Pending recall**: Indicates if your vehicle has an open recall notice that requires attention.
|
||||
|
||||
#### Sensors
|
||||
|
||||
- **APK expiration**: The date when your vehicle's periodic technical inspection (APK) expires.
|
||||
- **Ascription date**: The date when your vehicle was registered to its current owner.
|
||||
|
||||
## Examples
|
||||
|
||||
### Creating a vehicle recall alert automation
|
||||
|
||||
This automation sends you an important notification when the RDW reports a safety recall for your vehicle:
|
||||
|
||||
```yaml
|
||||
# Automation to alert you about safety recalls for your vehicle
|
||||
automation:
|
||||
- alias: "Vehicle recall alert"
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: binary_sensor.rdw_ab123c_pending_recall
|
||||
to: "on"
|
||||
action:
|
||||
- service: notify.mobile_app
|
||||
data:
|
||||
title: "Vehicle recall alert"
|
||||
message: "Your vehicle has a pending safety recall. Please contact your dealer."
|
||||
```
|
||||
|
||||
## Data updates
|
||||
|
||||
The **RDW** integration {% term polling polls %} data from the RDW open database once an hour. This update frequency is appropriate for vehicle-related information since this data typically doesn't change frequently.
|
||||
|
||||
## Known limitations
|
||||
|
||||
- This integration only works with Dutch vehicle license plates.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Vehicle information not found
|
||||
|
||||
#### Symptom: "Unknown license plate"
|
||||
|
||||
When trying to set up the integration, the form shows the message "Unknown license plate."
|
||||
|
||||
##### Description
|
||||
|
||||
This happens when the license plate is valid but RDW doesn't have information about this vehicle in its database.
|
||||
|
||||
##### Resolution
|
||||
|
||||
1. Double-check that you've entered the correct license plate number.
|
||||
2. Make sure the vehicle is registered in the Netherlands.
|
||||
3. Very new registrations might take some time to appear in the open data.
|
||||
4. Check the [RDW website](https://www.rdw.nl) to see if it shows up there.
|
||||
|
||||
## Removing the integration
|
||||
|
||||
This integration follows standard integration removal. No additional steps are required.
|
||||
|
||||
{% include integrations/remove_device_service.md %}
|
||||
|
@ -14,6 +14,7 @@ ha_domain: rehlko
|
||||
ha_platforms:
|
||||
- sensor
|
||||
ha_integration_type: integration
|
||||
ha_quality_scale: silver
|
||||
---
|
||||
|
||||
The **Rehlko** (formerly Kohler Energy Management) {% term integration %} allows you to monitor the status of your [enabled Kohler generator](https://www.kohlerhomeenergy.rehlko.com/kohler-energy-management-app) through Home Assistant. This integration replaces the legacy Oncue integration.
|
||||
@ -65,4 +66,3 @@ These are the generator models that have been tested:
|
||||
This integration follows the standard integration removal process; no extra steps are required.
|
||||
|
||||
{% include integrations/remove_device_service.md %}
|
||||
|
||||
|
@ -44,6 +44,10 @@ The integration also allows for automation and integration with other smart home
|
||||
devices. For example, you could send a notification when the vacuum is stuck, or
|
||||
pause the vacuum when a media player starts playing music.
|
||||
|
||||
## Note about compatibility
|
||||
|
||||
Roborock recently released a new series of models, Q10 and Q7. This integration does NOT support these models (and likely all future released vacuums). Roborock has changed the protocol for how these devices interact. Therefore, they will not be supported by this integration until they are reverse-engineered.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
1. Download the Roborock App for iOS or Android.
|
||||
|
@ -62,7 +62,11 @@ There are four generations of devices and all generations are supported by this
|
||||
|
||||
Shelly BLU series devices (e.g. Shelly BLU H&T) are not supported; please use BTHome integration to configure such devices with Home Assistant. The exception to this is Shelly BLU TRV, which is supported by this integration via Shelly BLU Gateway Gen3.
|
||||
|
||||
## Shelly device configuration (generation 1)
|
||||
## Data updates
|
||||
|
||||
Shelly devices push updates to Home Assistant upon changes for all main functions of the device. For push updates to work correctly, some devices need additional configuration:
|
||||
|
||||
### Shelly device configuration (generation 1)
|
||||
|
||||
Generation 1 devices use the `CoIoT` protocol to communicate with the integration. `CoIoT` must be enabled in the device settings. Navigate to the local IP address of your Shelly device, **Internet & Security** > **ADVANCED - DEVELOPER SETTINGS** and check the box **Enable CoIoT**.
|
||||
|
||||
@ -79,7 +83,7 @@ The list below will help you diagnose and fix the problem:
|
||||
- The missing push updates may be related to the WiFi network range. If using a WiFi network with several access points, enable **Internet & Security** >> **WiFi Client AP Roaming** option. Consider moving Shelly device closer to the WiFi access point. Consider adding another WiFi access point, which will improve the connection quality with the device.
|
||||
- If you think your Shelly devices are working correctly and don't want to change your network/configuration, you can ignore the repair issue. Still, you must know you are giving up the best experience of using first-generation Shelly devices with Home Assistant.
|
||||
|
||||
## Shelly device configuration (generation 2+)
|
||||
### Shelly device configuration (generation 2+)
|
||||
|
||||
Generation 2+ devices use the `RPC` protocol to communicate with the integration. **Battery-operated devices** (even if USB connected) may need manual outbound WebSocket configuration if Home Assistant cannot correctly determine your instance's internal URL or the outbound WebSocket was previously configured for a different Home Assistant instance. In this case, navigate to the local IP address of your Shelly device, **Settings** >> **Connectivity** >> **Outbound WebSocket** and check the box **Enable Outbound WebSocket**, under server enter the following address:
|
||||
|
||||
@ -90,6 +94,23 @@ In case your installation is set up to use SSL encryption (HTTP**S** with certif
|
||||
Integration is communicating directly with the device; cloud connection is not needed.
|
||||
{% endnote %}
|
||||
|
||||
### Shelly entities that poll data from the device (generation 1)
|
||||
|
||||
The following disabled by default entities {% term polling poll %} data from the device every 60 seconds:
|
||||
|
||||
- Cloud connected sensor
|
||||
- RSSI sensor
|
||||
- Uptime sensor
|
||||
- Firmware update
|
||||
|
||||
### Shelly entities that poll data from the device (generation 2+)
|
||||
|
||||
The following disabled by default entities {% term polling poll %} data from the device every 60 seconds:
|
||||
|
||||
- Device temperature sensor
|
||||
- RSSI sensor
|
||||
- Uptime sensor
|
||||
|
||||
## Bluetooth Support
|
||||
|
||||
Shelly Gen 2 and newer devices (excluding battery-powered models) can act as Bluetooth proxies, forwarding advertisement data. You can enable either active or passive listening through the device’s options flow.
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Siemens
|
||||
description: Connect and control your Siemens appliances using the Home Connect integration
|
||||
description: Connect and control your Siemens devices using the Home Connect integration
|
||||
ha_category:
|
||||
- Binary sensor
|
||||
- Button
|
||||
@ -10,9 +10,11 @@ ha_category:
|
||||
- Select
|
||||
- Sensor
|
||||
- Switch
|
||||
ha_iot_class: Cloud Push
|
||||
ha_release: '2025.4'
|
||||
ha_release: '0.110'
|
||||
ha_domain: siemens
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: home_connect
|
||||
ha_supporting_integration: Home Connect
|
||||
ha_codeowners:
|
||||
- '@DavidMStraub'
|
||||
- '@Diegorro98'
|
||||
@ -27,9 +29,9 @@ ha_platforms:
|
||||
- select
|
||||
- sensor
|
||||
- switch
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: home_connect
|
||||
ha_supporting_integration: Home Connect
|
||||
- time
|
||||
ha_iot_class: Cloud Push
|
||||
ha_zeroconf: true
|
||||
---
|
||||
|
||||
{% include integrations/supported_brand.md %}
|
||||
|
@ -5,8 +5,6 @@ ha_category:
|
||||
- Presence detection
|
||||
ha_release: 0.37
|
||||
ha_domain: sky_hub
|
||||
ha_codeowners:
|
||||
- '@rogerselwyn'
|
||||
ha_iot_class: Local Polling
|
||||
ha_platforms:
|
||||
- device_tracker
|
||||
|
@ -15,6 +15,7 @@ ha_platforms:
|
||||
- diagnostics
|
||||
- sensor
|
||||
ha_integration_type: integration
|
||||
ha_dhcp: true
|
||||
---
|
||||
|
||||
The SMA Solar integration will poll a [SMA](http://www.sma-solar.com/) [(US)](https://www.sma-america.com/) solar inverter, energy meter or battery inverter and present the values as sensors in Home Assistant.
|
||||
|
@ -23,6 +23,7 @@ ha_codeowners:
|
||||
- '@tl-sl'
|
||||
ha_integration_type: device
|
||||
ha_dhcp: true
|
||||
ha_quality_scale: silver
|
||||
---
|
||||
|
||||
The [SMLIGHT](https://smlight.tech) SLZB-06x ethernet Zigbee coordinators provide a reliable and convenient way to integrate Zigbee devices into your smart home setup. By placing the Zigbee gateway closer to your devices, you can improve connectivity and reduce interference, avoiding the limitations of gateways hidden in cupboards or distant locations.
|
||||
|
@ -9,7 +9,6 @@ ha_config_flow: true
|
||||
ha_release: '0.100'
|
||||
ha_codeowners:
|
||||
- '@ratsept'
|
||||
- '@sebfortier2288'
|
||||
ha_domain: soma
|
||||
ha_platforms:
|
||||
- cover
|
||||
|
@ -7,6 +7,7 @@ ha_release: 0.92
|
||||
ha_iot_class: Local Polling
|
||||
ha_codeowners:
|
||||
- '@fucm'
|
||||
- '@ThyMYthOS'
|
||||
ha_domain: stiebel_eltron
|
||||
ha_platforms:
|
||||
- climate
|
||||
@ -14,7 +15,7 @@ ha_integration_type: integration
|
||||
related:
|
||||
- docs: /docs/configuration/
|
||||
title: Configuration file
|
||||
ha_quality_scale: legacy
|
||||
ha_config_flow: true
|
||||
---
|
||||
|
||||
The `stiebel_eltron` {% term integration %} lets you control integral ventilation or heat pump units of [STIEBEL ELTRON](https://www.stiebel-eltron.com).
|
||||
|
@ -21,6 +21,8 @@ ha_bluetooth: true
|
||||
ha_platforms:
|
||||
- binary_sensor
|
||||
- cover
|
||||
- diagnostics
|
||||
- fan
|
||||
- humidifier
|
||||
- light
|
||||
- lock
|
||||
|
@ -12,6 +12,7 @@ ha_domain: syncthru
|
||||
ha_ssdp: true
|
||||
ha_platforms:
|
||||
- binary_sensor
|
||||
- diagnostics
|
||||
- sensor
|
||||
ha_integration_type: integration
|
||||
---
|
||||
|
@ -21,6 +21,7 @@ ha_platforms:
|
||||
- binary_sensor
|
||||
- climate
|
||||
- device_tracker
|
||||
- diagnostics
|
||||
- sensor
|
||||
- switch
|
||||
- water_heater
|
||||
|
@ -191,6 +191,7 @@ Certain vehicles, including all vehicles manufactured since late 2023, require v
|
||||
The integration expects your private key to be located at `config/tesla_fleet.key`.
|
||||
|
||||
Your public key must be added to each of your vehicles by visiting https://tesla.com/_ak/YOUR.DOMAIN and following the instructions in the Tesla app.
|
||||
If you're using an iPhone, you may need to use Safari to open the webpage and finish the setup.
|
||||
|
||||
For more details see [Tesla Fleet API vehicle commands documentation](https://developer.tesla.com/docs/fleet-api/endpoints/vehicle-commands#key-pairing).
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Thermador
|
||||
description: Connect and control your Thermador appliances using the Home Connect integration
|
||||
description: Connect and control your Thermador devices using the Home Connect integration
|
||||
ha_category:
|
||||
- Binary sensor
|
||||
- Button
|
||||
@ -10,9 +10,11 @@ ha_category:
|
||||
- Select
|
||||
- Sensor
|
||||
- Switch
|
||||
ha_iot_class: Cloud Push
|
||||
ha_release: '2025.4'
|
||||
ha_release: '0.110'
|
||||
ha_domain: thermador
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: home_connect
|
||||
ha_supporting_integration: Home Connect
|
||||
ha_codeowners:
|
||||
- '@DavidMStraub'
|
||||
- '@Diegorro98'
|
||||
@ -27,9 +29,9 @@ ha_platforms:
|
||||
- select
|
||||
- sensor
|
||||
- switch
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: home_connect
|
||||
ha_supporting_integration: Home Connect
|
||||
- time
|
||||
ha_iot_class: Cloud Push
|
||||
ha_zeroconf: true
|
||||
---
|
||||
|
||||
{% include integrations/supported_brand.md %}
|
||||
|
@ -15,7 +15,7 @@ ha_zeroconf: true
|
||||
related:
|
||||
- docs: /yellow/
|
||||
title: Home Assistant Yellow - hub
|
||||
- docs: /skyconnect/
|
||||
- docs: /connectzbt1/
|
||||
title: Home Assistant Connect ZBT-1 - Zigbee/Thread USB stick
|
||||
- docs: /integrations/matter/
|
||||
title: Matter
|
||||
|
@ -136,7 +136,7 @@ content: >
|
||||
|
||||
{% for torrent in payload.items() %} {% set name = torrent[0] %} {% set data = torrent[1] %}
|
||||
|
||||
{{ name|truncate(20) }} is {{ data.percent_done }}% complete, {{ data.eta }} remaining {% endfor %}
|
||||
{{ name|truncate(20) }} is {{ data.percent_done }}% complete, with {{ data.ratio }} ratio, {{ data.eta }} remaining {% endfor %}
|
||||
type: markdown
|
||||
```
|
||||
|
||||
|
@ -19,70 +19,57 @@ ha_integration_type: service
|
||||
ha_quality_scale: silver
|
||||
---
|
||||
|
||||
The Twente Milieu {% term integration %} enables you to monitor the upcoming
|
||||
waste collection schedules provided by
|
||||
[Twente Milieu](https://www.twentemilieu.nl/) for various waste categories.
|
||||
This integration helps you stay informed about the next pickup dates for
|
||||
different types of waste, ensuring you never miss a collection day.
|
||||
The **Twente Milieu** {% term integration %} enables you to monitor the upcoming waste collection schedules provided by [Twente Milieu](https://www.twentemilieu.nl/), a waste collection company serving municipalities in the Twente region of the Netherlands, including Enschede, Hengelo, Almelo, Borne, Hof van Twente, Oldenzaal, and Losser. This integration helps you stay informed about the next pickup dates for different types of waste (like organic, paper, plastic, and non-recyclable), ensuring you never miss a collection day.
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
### Configuration parameters
|
||||
|
||||
{% configuration_basic %}
|
||||
Postal code:
|
||||
description: The postal code of the address, for example "7500AA".
|
||||
House number:
|
||||
description: The house number of the address.
|
||||
House letter/additional:
|
||||
description: The house letter or additional information of the address.
|
||||
description: The house letter or additional information of the address, if applicable.
|
||||
{% endconfiguration_basic %}
|
||||
|
||||
## Use cases
|
||||
|
||||
The integration provides sensors for the next waste pickup dates. You can use
|
||||
this information to create automations, for example, to remind you to put out
|
||||
the waste bins the night before the pickup.
|
||||
With the Twente Milieu integration, you can:
|
||||
|
||||
Besides the sensors, the integration also provides a calendar to Home Assistant.
|
||||
Meaning you can view all upcoming waste pickups in the calendar dashboard.
|
||||
- Monitor upcoming waste collection dates for different waste types
|
||||
- Create automations to remind you to put out your waste bins before collection day
|
||||
- View all your upcoming waste pickups in the calendar dashboard
|
||||
- See at a glance when your next waste collection is due
|
||||
|
||||
## Supported functionality
|
||||
|
||||
### Calendar
|
||||
|
||||
The integration provides a calendar to Home Assistant. You can view
|
||||
all upcoming waste pickups in the calender dashboard.
|
||||
The integration provides a calendar entity that displays all upcoming waste collection dates from Twente Milieu. You can view this calendar in your {% my calendar title="Calendar dashboard" %}.
|
||||
|
||||
### Sensors
|
||||
|
||||
This integration provides sensors for the following waste pickup dates from
|
||||
Twente Milieu:
|
||||
This integration creates the following sensors for upcoming waste collection dates:
|
||||
|
||||
- Next plastic waste pickup date.
|
||||
- Next organic waste pickup date.
|
||||
- Next paper waste pickup date.
|
||||
- Next non-recyclable waste pickup date.
|
||||
- Next Christmas Tree pickup date.
|
||||
- Next plastic waste pickup date
|
||||
- Next organic waste pickup date
|
||||
- Next paper waste pickup date
|
||||
- Next non-recyclable waste pickup date
|
||||
- Next Christmas tree pickup date (seasonal)
|
||||
|
||||
Each sensor provides the next scheduled date for its respective waste type, allowing you to track when to put out specific bins.
|
||||
|
||||
## Data updates
|
||||
|
||||
The integration will update its information by polling Twente Milieu every
|
||||
hour. This ensures the data in Home Assistant is up to date.
|
||||
|
||||
## Actions
|
||||
|
||||
This integration does not provide additional actions.
|
||||
The integration updates its information by {% term polling %} the Twente Milieu service every hour. This ensures your waste collection schedule in Home Assistant stays current.
|
||||
|
||||
## Examples
|
||||
|
||||
The following examples show how to use the Twente Milieu integration in Home
|
||||
Assistant automations.
|
||||
Below are practical examples of how you can use the Twente Milieu integration in your automations.
|
||||
|
||||
### Send notification the evening before the garbage pickup day
|
||||
|
||||
The following example sends a notification to your mobile device the evening
|
||||
before the garbage pickup day. This ensures your bins are out on time.
|
||||
This example sends a notification to your mobile device the evening before collection day, ensuring you remember to put out the correct bin.
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
@ -92,42 +79,43 @@ automation:
|
||||
event: start
|
||||
entity_id: calendar.twente_milieu
|
||||
offset: "-6:00:00"
|
||||
# This triggers 6 hours before the calendar event starts
|
||||
|
||||
actions:
|
||||
- action: notify.mobile_app_your_device
|
||||
data:
|
||||
title: "Garbage day!"
|
||||
message: >
|
||||
message: >
|
||||
Reminder: Tomorrow is {{ trigger.calendar_event.summary }} pickup
|
||||
day. Don't forget to put out the bin!
|
||||
```
|
||||
|
||||
### Send notification at the end of day to haul in the empty bin again
|
||||
### Send notification at the end of day to bring in the empty bin
|
||||
|
||||
The following example sends a notification to your mobile device at the end of
|
||||
the day to remind you to haul in the empty bin again.
|
||||
This example sends a notification to remind you to bring the empty bin back in after collection.
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
- alias: "Reminder to haul in the bin"
|
||||
- alias: "Reminder to bring in the bin"
|
||||
triggers:
|
||||
- trigger: calendar
|
||||
event: end
|
||||
event: end
|
||||
entity_id: calendar.twente_milieu
|
||||
offset: "-4:00:00"
|
||||
# This triggers 4 hours before the calendar event ends
|
||||
|
||||
actions:
|
||||
- action: notify.mobile_app_your_device
|
||||
data:
|
||||
title: "Haul in the bin!"
|
||||
message: >
|
||||
Reminder Garbage has been picked up today. Don't forget to haul in
|
||||
the bin!
|
||||
title: "Bring in the bin!"
|
||||
message: >
|
||||
Reminder: The waste has been collected today. Don't forget to
|
||||
bring in your empty bin!
|
||||
```
|
||||
|
||||
## Known limitations
|
||||
|
||||
There are no known limitations for this integration.
|
||||
- Home Assistant currently doesn't support translating calendar items. Therefore, waste collection events in the calendar will always be displayed in English, regardless of your language settings.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
@ -135,7 +123,6 @@ There are no commonly known issues with this integration.
|
||||
|
||||
## Removing the integration
|
||||
|
||||
This integration follows standard integration removal. No extra steps are
|
||||
required.
|
||||
This integration follows standard integration removal. No additional steps are required.
|
||||
|
||||
{% include integrations/remove_device_service.md %}
|
||||
|
@ -16,6 +16,7 @@ ha_platforms:
|
||||
- switch
|
||||
ha_config_flow: true
|
||||
ha_integration_type: integration
|
||||
ha_quality_scale: bronze
|
||||
---
|
||||
|
||||
The **UptimeRobot** {% term integration %} provides entities to get the status for all of your monitors from your account on [UptimeRobot]( https://uptimerobot.com).
|
||||
|
@ -17,6 +17,7 @@ ha_platforms:
|
||||
- diagnostics
|
||||
- sensor
|
||||
ha_integration_type: hub
|
||||
ha_quality_scale: bronze
|
||||
---
|
||||
|
||||
The **Whirlpool Appliances** {% term integration %} allows you to connect Whirlpool and Maytag appliances to Home Assistant.
|
||||
|
@ -14,7 +14,7 @@ og_image: /images/blog/2022-07-12-partner-program/partner_program_og.jpg
|
||||
---
|
||||
|
||||
{% note %}
|
||||
**This blog is outdated.** For the latest information on the partner program, please visit our [Works with Home Assistant webpage](https://partner.home-assistant.io/).
|
||||
**This blog is outdated.** For the latest information on the partner program, please visit our [Works with Home Assistant webpage](https://works-with.home-assistant.io/).
|
||||
{% endnote %}
|
||||
|
||||
With Home Assistant, we integrate with over 1000 different APIs. The majority of these integrations are created and maintained by the Home Assistant community. Over the years a number of companies have stepped up to work with our community offering samples and engineering support. In a few cases, we saw companies pick up the maintenance of integrating their products in Home Assistant.
|
||||
|
@ -103,12 +103,12 @@ own dashboards, many simply want something that works for their household.
|
||||
|
||||
<img class="no-shadow" alt="Screenshot viewing an area of the new experimental Areas dashboard" src="/images/blog/2025-04/areas-dashboard-detail.png" />
|
||||
|
||||
The new experimental Areas Dashboard automatically generates a ready-to-use
|
||||
dashboard based on the areas you’ve set up in your home. It uses sections and
|
||||
tile cards for a modern, clean, and intuitive look—instantly. No more starting
|
||||
The new experimental [Areas dashboard](/dashboards/dashboards/#areas-dashboard) automatically generates a ready-to-use
|
||||
dashboard based on the areas you’ve set up in your home. It uses [sections](/dashboards/sections/) and
|
||||
[tile cards](/dashboards/tile/) for a modern, clean, and intuitive look—instantly. No more starting
|
||||
from a blank slate!
|
||||
|
||||
Each area now has its own dedicated page, giving you a clear and organized view
|
||||
Each [area](/docs/organizing/areas/) now has its own dedicated page, giving you a clear and organized view
|
||||
of the devices in that space. Entities, such as lights, covers, cameras,
|
||||
and more, are automatically grouped by domain so you can easily locate the ones
|
||||
you need.
|
||||
@ -125,20 +125,20 @@ based on your preferences.
|
||||
|
||||
<img class="no-shadow" alt="Screenshot showing the overview page of the new Areas dashboard" src="/images/blog/2025-04/areas-dashboard-overview.png" />
|
||||
|
||||
If you haven’t organized your devices into areas yet, now’s the perfect time to
|
||||
If you haven’t [organized your devices into areas](/docs/organizing/areas/) yet, now’s the perfect time to
|
||||
start—it’s key to unlocking this new dashboard experience. To get
|
||||
started with the Areas dashboard, go to
|
||||
started with the [Areas dashboard](/dashboards/dashboards/#areas-dashboard), go to
|
||||
**{% my lovelace_dashboards title="Settings > Dashboards" %}**, and select
|
||||
**Add Dashboard** in the bottom right, next select the **Areas (experimental)**
|
||||
option from the dialog:
|
||||
|
||||
<img class="no-shadow" alt="Screenshot of the dialog when adding a new dashboard, showing the new option to add the new experimental Area dashboard" src="/images/blog/2025-04/areas-experimental-dialog.png" />
|
||||
|
||||
The new experimental Areas Dashboard previews what’s to come. We’ve learned from
|
||||
The new experimental [Areas dashboard](/dashboards/dashboards/#areas-dashboard) previews what’s to come. We’ve learned from
|
||||
our users that they organize their homes in different ways—by rooms,
|
||||
by function, by device, and more. They often combine all of the above,
|
||||
and therefore, our upcoming default dashboard will accommodate
|
||||
all these methods of organization.
|
||||
all these methods of [organization](/docs/organizing/).
|
||||
|
||||
Over time, this foundation will grow into a flexible system that adapts to
|
||||
your priorities, whether that’s keeping an eye on security, managing energy use,
|
||||
@ -158,7 +158,7 @@ dashboard built for your home, try it!
|
||||
|
||||
It has been a while since we introduced a new card, but this release, we
|
||||
thought it might be _**time**_ to add a new one! Thanks to [@mrdarrengriffin],
|
||||
Home Assistant now features a Clock card!
|
||||
Home Assistant now features a [Clock card](/dashboards/clock/)!
|
||||
|
||||
<img class="no-shadow" alt="Screenshot showing a dashboard with a large clock card on it, indicating the current time" src="/images/blog/2025-04/card-clock.png" />
|
||||
|
||||
|
@ -23,26 +23,20 @@ I'm sure you're all wondering, "*Missy, what is a Community Day?*". In its simpl
|
||||
|
||||
### Locations and registering to attend
|
||||
|
||||
We already have **13 events** hosted by several of us who work on Home Assistant 😎! To coordinate these, we are using Luma, a site focused on tech meetups. All the current events can be found on our [Home Assistant Community Day](https://lu.ma/haday2025) calendar, including:
|
||||
To coordinate all these meetups, we are using Luma, a site focused on tech meetups. All the current events can be found below or on our [Home Assistant Community Day](https://lu.ma/haday2025) calendar.
|
||||
|
||||
**Europe**
|
||||
- [Aveiro, Portugal](https://lu.ma/p9eo4v3t)
|
||||
- [Bordeaux, France](https://lu.ma/shxhyi6u)
|
||||
- [London, United Kingdom](https://lu.ma/fa5ez3t7)
|
||||
- [Madrid, Spain](https://lu.ma/o6pqbjv8)
|
||||
- [Porto, Portugal](https://lu.ma/uozbfr6n)
|
||||
- [Prague, Czech Republic](https://lu.ma/dhudha0z)
|
||||
- [Utrecht, Netherlands](https://lu.ma/e2wyv8k0)
|
||||
- [Vienna, Austria](https://lu.ma/2vjs7dab)
|
||||
<iframe
|
||||
data-src="https://lu.ma/embed/calendar/cal-QXZXEJrvB3UaI63/events?lt=light"
|
||||
width="100%"
|
||||
height="600"
|
||||
frameborder="0"
|
||||
style="border: 1px solid #bfcbda88; border-radius: 4px;"
|
||||
allowfullscreen=""
|
||||
aria-hidden="false"
|
||||
tabindex="0"
|
||||
></iframe>
|
||||
|
||||
**North America**
|
||||
- [Brooklyn, New York](https://lu.ma/efkt35on)
|
||||
- [Charlotte, North Carolina](https://lu.ma/3kbb2dte)
|
||||
- [Houston, Texas](https://lu.ma/g5o66to2)
|
||||
- [Redmond, Washington](https://lu.ma/qb0hhhkm)
|
||||
- [Twin Cities, Minnesota](https://lu.ma/ljwdnjmc)
|
||||
|
||||
All Community Day events are free, so **[register before spaces run out!](https://lu.ma/haday2025)** (No worries, there are waitlists!)
|
||||
All Community Day events are free, so **[register before spaces run out!](https://lu.ma/haday2025)** (No worries, there are waitlists!). We also have people who work full-time on Home Assistant attending these events. To find out who you can meet, head over to Luma 😎!
|
||||
|
||||
### Host your own
|
||||
|
||||
|
954
source/_posts/2025-05-07-release-20255.markdown
Normal file
@ -0,0 +1,954 @@
|
||||
---
|
||||
layout: post
|
||||
title: "2025.5: Two Million Strong and Getting Better"
|
||||
description: "Celebrating 2 million users with quality of life improvements! Enjoy smarter backups with per-location retention, Z-Wave Long Range support, an improved entity picking experience, tons of new voices for Home Assistant Cloud, and the ability to just paste YAML into your automations."
|
||||
date: 2025-05-07 00:00:00
|
||||
date_formatted: "May 7, 2025"
|
||||
author: Franck Nijhof
|
||||
author_twitter: frenck
|
||||
comments: true
|
||||
categories:
|
||||
- Release-Notes
|
||||
- Core
|
||||
og_image: /images/blog/2025-05/social.jpg
|
||||
---
|
||||
|
||||
<lite-youtube videoid="kfu_3Fm0wDw" videotitle="Home Assistant 2025.5 Release Party"></lite-youtube>
|
||||
|
||||
Home Assistant 2025.5! 🎉
|
||||
|
||||
It's time for the May release, and we have a lot to talk about! But before
|
||||
we do, I want to quickly touch on things that happened in the last month that
|
||||
you might have missed...
|
||||
|
||||
We recently hosted our State of the Open Home event—a [live streamed show](https://www.youtube.com/watch?v=o4Vctz1_KYE)
|
||||
where we discussed the current state and future vision of the [Open Home Foundation](https://www.openhomefoundation.org/)
|
||||
and its projects, including Home Assistant. During this event, we not only
|
||||
revealed our roadmap for the upcoming year but also celebrated a tremendous
|
||||
milestone:
|
||||
|
||||
**2,000,000 active installations** of Home Assistant worldwide! 🎉
|
||||
|
||||
[Read more about the State of the Open Home in this summarized blog post](/blog/2025/04/16/state-of-the-open-home-recap/)
|
||||
|
||||
A community of 2 million households is something to celebrate! And we are
|
||||
doing that by gathering together in person on **[Home Assistant Community Day](https://lu.ma/haday2025)**
|
||||
on **May 24th 2025**; over **fifty!** meetups are being organized **all around the
|
||||
world!** Want to learn more? Join a meetup? Or even host one?
|
||||
|
||||
[Check out the Home Assistant Community Day 2025 blog post](/blog/2025/04/24/community-day/) for more information!
|
||||
|
||||
Ok, the May release, really, I love this one! It is filled to the brim with
|
||||
quality of life improvements that I'm sure you will love. 🥰
|
||||
|
||||
The quest for a great backup system is continuing this release, shipping
|
||||
quite the list of improvements, most notably the ability to set a retention
|
||||
policy per backup location! [Nabu Casa](https://nabucasa.com) throws in a
|
||||
whole bunch of new text-to-speech voice variants 🗣️ [included in your Home Assistant Cloud subscription](https://www.nabucasa.com/config/tts/),
|
||||
allowing your announcements to sound, for example, sad or happy!
|
||||
|
||||
But... there is more! Z-Wave gets Long Range support 📶, you can now copy and
|
||||
paste YAML automation snippets directly in our automation UI, a new tool to monitor the device discovery process in Home Assistant, and–my personal
|
||||
favorite–the improved experience when you pick an entity anywhere in the UI. 🤩
|
||||
|
||||
Enjoy the release!
|
||||
|
||||
../Frenck
|
||||
|
||||
<!--more-->
|
||||
|
||||
- [Another iteration of the backup system](#another-iteration-of-the-backup-system)
|
||||
- [Per location backup retention policy settings](#per-location-backup-retention-policy-settings)
|
||||
- [Backup before upgrading the Home Assistant Operating System](#backup-before-upgrading-the-home-assistant-operating-system)
|
||||
- [Set the default backup preference for upgrades](#set-the-default-backup-preference-for-upgrades)
|
||||
- [Waiting for the backup to finish on restarts](#waiting-for-the-backup-to-finish-on-restarts)
|
||||
- [Lots of new text-to-speech voice variants for Home Assistant Cloud subscribers](#lots-of-new-text-to-speech-voice-variants-for-home-assistant-cloud-subscribers)
|
||||
- [Picking entities](#picking-entities)
|
||||
- [Z-Wave Long Range support and improved Smart Start](#z-wave-long-range-support-and-improved-smart-start)
|
||||
- [Integrations](#integrations)
|
||||
- [New integrations](#new-integrations)
|
||||
- [Noteworthy improvements to existing integrations](#noteworthy-improvements-to-existing-integrations)
|
||||
- [Integration quality scale achievements](#integration-quality-scale-achievements)
|
||||
- [Now available to set up from the UI](#now-available-to-set-up-from-the-ui)
|
||||
- [Farewell to the following](#farewell-to-the-following)
|
||||
- [Other noteworthy changes](#other-noteworthy-changes)
|
||||
- [Badges on the dashboard can now be wrapped or scrolled](#badges-on-the-dashboard-can-now-be-wrapped-or-scrolled)
|
||||
- [Improved UI experience when using templates in automations \& scripts](#improved-ui-experience-when-using-templates-in-automations--scripts)
|
||||
- [Pasting automations and scripts YAML directly into the UI](#pasting-automations-and-scripts-yaml-directly-into-the-ui)
|
||||
- [Discover what Home Assistant is discovering](#discover-what-home-assistant-is-discovering)
|
||||
- [Need help? Join the community!](#need-help-join-the-community)
|
||||
- [Backward-incompatible changes](#backward-incompatible-changes)
|
||||
- [All changes](#all-changes)
|
||||
|
||||
## Another iteration of the backup system
|
||||
|
||||
In our [January release](/blog/2025/01/03/release-20251/#overhaul-of-the-backup-system),
|
||||
we did the first overhaul of the backup system. In the [February release](/blog/2025/02/05/release-20252/#iterating-on-backups),
|
||||
we did an iteration based on your feedback. In this release, we dedicated even more
|
||||
time to iterate and improve backups even further.
|
||||
|
||||
Let's dive in!
|
||||
|
||||
### Per location backup retention policy settings
|
||||
|
||||
This release adds a much-requested feature: the ability to set a backup retention
|
||||
policy per location. This is particularly useful if you have multiple backup
|
||||
locations configured in Home Assistant.
|
||||
|
||||
<img class="no-shadow" alt="Screenshot showing the backup retention policy settings for the Microsoft OneDrive integration." src="/images/blog/2025-05/backups-retention-per-location.png" />
|
||||
|
||||
It might be that one of your backup locations has more storage space than
|
||||
another, or that you want to keep more backups in one location than another.
|
||||
For example, maybe you have space to store the last 3 backups in your Google
|
||||
Drive, but you want to keep 25 backups on your local NAS server.
|
||||
|
||||
### Backup before upgrading the Home Assistant Operating System
|
||||
|
||||
Updating the Home Assistant Operating System is as easy as clicking a button. And while the upgrade process has
|
||||
a fallback mechanism in case the upgrade process fails, it is always a good
|
||||
idea to have a recent backup in multiple locations before you start the upgrade process.
|
||||
|
||||
To help you with that, the update dialog for the Home Assistant Operating System
|
||||
now includes the option to create a backup before starting the upgrade process. Selecting this will create a backup that follows the same settings as your automatic backups (and if you don’t have that configured yet, it will just backup your settings, history, and add-ons), uploading this to all enabled backup locations before starting the upgrade process.
|
||||
|
||||
<img class="no-shadow" alt="Screenshot showing the Home Assistant Operating System update dialog, which has a new toggle that asks you if you want to backup before upgrading." src="/images/blog/2025-05/backup-before-upgrade-home-assistant-operating-system.png" />
|
||||
|
||||
This way, you can be sure that you have a backup of your system before
|
||||
upgrading, even if something goes wrong beyond the safeguards of the
|
||||
operating system upgrade.
|
||||
|
||||
### Set the default backup preference for upgrades
|
||||
|
||||
The above option to backup before upgrade is great, but the feedback on the
|
||||
toggle to create a backup before upgrade is mixed. Some of you prefer to always
|
||||
backup before upgrading, while others rely on their scheduled backups and don't
|
||||
want to be bothered with the backup process whenever they upgrade a part
|
||||
of Home Assistant.
|
||||
|
||||
To please both groups, we have added a new setting to the backup settings page
|
||||
to set the default behavior for the backup before upgrade toggle.
|
||||
|
||||
<img class="no-shadow" alt="Screenshot showing the backup before upgrade toggle preference in the backup settings." src="/images/blog/2025-05/backups-select-preference-backup-before-update.png" />
|
||||
|
||||
When you set the option to "Backup before upgrade", the toggle will be enabled
|
||||
by default, otherwise it will default to disabled. There is an additional
|
||||
option to set this behavior for add-ons as well, so you can tweak it to your
|
||||
liking.
|
||||
|
||||
### Waiting for the backup to finish on restarts
|
||||
|
||||
Another small but important improvement is that if you initiate a restart of Home Assistant while a backup is in progress, your system will wait for the backup to finish before restarting.
|
||||
|
||||
<img class="no-shadow" alt="Screenshot showing Home Assistant waiting for backup to finish before restarting." src="/images/blog/2025-05/backups-prevents-restart-when-in-progress.png" />
|
||||
|
||||
This prevents the unintended situation where a backup is in progress, and you
|
||||
abort the process by restarting Home Assistant.
|
||||
|
||||
## Lots of new text-to-speech voice variants for Home Assistant Cloud subscribers
|
||||
|
||||
If you are subscribed to [Home Assistant Cloud](https://www.nabucasa.com), you
|
||||
not only get [backup storage included](https://www.nabucasa.com/config/backups/),
|
||||
but you also get access to the most speedy, super accurate [text-to-speech](https://www.nabucasa.com/config/tts/)
|
||||
available. If you haven’t tried it yet, now is the perfect time to sign up for the 30-day trial!
|
||||
|
||||
This release extends the already staggering number of text-to-speech voices,
|
||||
but also now includes voice variants and styles. This means that you can
|
||||
now choose between different voice styles and tones, such as "friendly",
|
||||
"angry", "sad", "whisper", etc., allowing you to customize your announcements to
|
||||
fit the mood and context of the situation.
|
||||
|
||||
<img class="no-shadow" alt="Screenshot showing a glimpse of the new voice variants for available for Home Assistant Cloud subscribers." src="/images/blog/2025-05/new-voice-variants-for-home-assistant-cloud.png" />
|
||||
|
||||
<br /><br />
|
||||
|
||||
{% details "Overview of new voice options" %}
|
||||
|
||||
We've expanded our voice selection dramatically, with some languages seeing huge increases in available options:
|
||||
|
||||
| Language | Old choices | New choices |
|
||||
| --------------------------------------------------- | ----------- | ----------- |
|
||||
| Assamese (India) **new** | 0 | 2 |
|
||||
| German (Germany) | 15 | 17 |
|
||||
| English (United Kingdom) | 14 | 20 |
|
||||
| English (India) | 2 | 13 |
|
||||
| English (United States) | 25 | 132 |
|
||||
| Spanish (Spain) | 15 | 18 |
|
||||
| Spanish (Mexico) | 15 | 23 |
|
||||
| French (Canada) | 3 | 4 |
|
||||
| French (France) | 14 | 22 |
|
||||
| Hindi (India) | 2 | 12 |
|
||||
| Italian (Italy) | 15 | 24 |
|
||||
| Inuktitut (Canadian Aboriginal Syllabics, Canada) **new** | 0 | 2 |
|
||||
| Inuktitut (Latin, Canada) **new** | 0 | 2 |
|
||||
| Japanese (Japan) | 7 | 10 |
|
||||
| Korean (Korea) | 8 | 10 |
|
||||
| Oriya (India) **new** | 0 | 2 |
|
||||
| Punjabi (India) **new** | 0 | 2 |
|
||||
| Portuguese (Brazil) | 15 | 17 |
|
||||
| Serbian (Latin, Serbia) **new** | 0 | 2 |
|
||||
| Chinese (China) | 21 | 142 |
|
||||
|
||||
{% enddetails %}
|
||||
|
||||
## Picking entities
|
||||
|
||||
We are working on improving the context of things shown in the UI. This is to
|
||||
ensure you always know which device or entity you are looking at, no matter
|
||||
where you are in the Home Assistant interface.
|
||||
|
||||
In the last release, we already had a small noteworthy change regarding this.
|
||||
We added the device and area to the entity information dialogs, so you always
|
||||
know exactly which entity you are viewing.
|
||||
|
||||
In this release, we have improved the context provided within the entity pickers in our UI. This is the dropdown you see when you select an entity in, for example, a card, automation,
|
||||
or script. This picker will now show the device and area name as well!
|
||||
|
||||
<img class="no-shadow" alt="Screenshot showing the new entity pickers, providing more context and improves search capabilities." src="/images/blog/2025-05/improved-entity-picker.png" />
|
||||
|
||||
This enhancement gradually eliminates the need for you to manually rename
|
||||
entities or devices to include location information—giving you a much better
|
||||
out-of-the-box experience with less setup work.
|
||||
|
||||
Not only has the visual appearance of the picker improved, but the search
|
||||
functionality has been completely overhauled too! 🔎 Finding the exact entity
|
||||
you're looking for is now significantly easier thanks to a smarter search
|
||||
algorithm and the addition of more contextual information in the matching
|
||||
process.
|
||||
|
||||
{% tip %}
|
||||
|
||||
**You might notice that the entity ID isn't shown in the picker anymore!**
|
||||
|
||||
We think we are at a point where you may solely rely on the UI and the
|
||||
entity ID is not needed anymore. However, if you **do prefer** to see the
|
||||
entity ID in this drop down, **you can enable it** in your profile settings.
|
||||
|
||||
<img class="no-shadow" alt="Screenshot showing the improved entity picker with the show entity ID in entity picker option enabled in my user profile." src="/images/blog/2025-05/improved-entity-picker-with-entity-ids.png" />
|
||||
|
||||
To do so, select your profile picture in the bottom left corner of the
|
||||
Home Assistant UI, and under **{% my profile title="User settings" %}** enable
|
||||
the **Display entity IDs in picker** option.
|
||||
|
||||
{% my profile badge %}
|
||||
|
||||
{% endtip %}
|
||||
|
||||
## Z-Wave Long Range support and improved Smart Start
|
||||
|
||||
We are providing quite a few enhancements to the Z-Wave integration and
|
||||
experience in this release. Our commercial partner [Nabu Casa](https://nabucasa.com)
|
||||
is working on a not-so-secret Z-Wave antenna, and we want to ensure that
|
||||
Home Assistant is ready for it by providing the best user experience
|
||||
possible.
|
||||
|
||||
This release, we improved the whole experience in setting up new Z-Wave devices,
|
||||
including improved support for setting up new Z-Wave devices by scanning the
|
||||
Smart Start QR code.
|
||||
|
||||
Z-Wave Smart Start QR scanning now works natively in our [mobile companion apps](https://companion.home-assistant.io/),
|
||||
removing browser limitations. Added devices are immediately visible in
|
||||
Home Assistant, even if the device is not yet powered on. Once powered on or rebooted, the
|
||||
device will automatically be added to your Z-Wave network.
|
||||
|
||||
The most exciting part of this release is the addition of Z-Wave Long Range
|
||||
support. This is a new Z-Wave technology that allows devices to communicate
|
||||
over much longer distances than traditional Z-Wave devices. This is especially
|
||||
useful if you have a specific device that needs to be placed far away,
|
||||
for example, a contact sensor on a gate or mailbox up your driveway.
|
||||
|
||||
<p class='img'>
|
||||
<img alt="Screenshot showing adding a Z-Wave device with Long Range support." src="/images/blog/2025-05/zwave-long-range.png" />
|
||||
You can choose if you want to add the Z-Wave device to the existing mesh network
|
||||
or connect it directly using Long Range.
|
||||
</p>
|
||||
|
||||
After scanning the QR code of a Long Range capable device, you will get the
|
||||
option to either add it to the existing mesh network or connect it directly
|
||||
using Long Range. Both have pros and cons, mesh networking is recommended for
|
||||
most devices, but if you have a device that needs to be placed far away,
|
||||
Long Range might be the better option.
|
||||
|
||||
## Integrations
|
||||
|
||||
Thanks to our community for keeping pace with the new {% term integrations %}
|
||||
and improvements to existing ones! You’re all awesome 🥰
|
||||
|
||||
### New integrations
|
||||
|
||||
We welcome the following new integrations in this release:
|
||||
|
||||
- **[AWS S3]**, added by [@tomasbedrich]
|
||||
Use an [Amazon S3 storage] bucket as a backup location for your Home Assistant backups.
|
||||
- **[Imeon Inverter]**, added by [@Imeon-Energy]
|
||||
Integrates your [Imeon] inverter, allowing you to monitor your home battery
|
||||
and solar usage in the [energy dashboard].
|
||||
- **[Miele]**, added by [@astrandb]
|
||||
Monitor and control your [Miele home appliances], including washing machines,
|
||||
dryers, dishwashers, and more!
|
||||
- **[ntfy]**, added by [@tr4nt0r]
|
||||
Integrates with [ntfy.sh], a simple HTTP-based pub-sub notification service
|
||||
that allows you to send notifications to your phones or desktops.
|
||||
- **[Rehlko]**, added by [@PeteRager]
|
||||
Monitor the status of your Rehlko (formerly Kohler Energy Management) enabled
|
||||
[Kohler generator].
|
||||
|
||||
[@astrandb]: https://github.com/astrandb
|
||||
[@Imeon-Energy]: https://github.com/Imeon-Energy
|
||||
[@PeteRager]: https://github.com/PeteRager
|
||||
[@tomasbedrich]: https://github.com/tomasbedrich
|
||||
[@tr4nt0r]: https://github.com/tr4nt0r
|
||||
[Amazon S3 storage]: https://aws.amazon.com/s3/
|
||||
[AWS S3]: /integrations/aws_s3
|
||||
[energy dashboard]: /docs/energy/
|
||||
[Imeon Inverter]: /integrations/imeon_inverter
|
||||
[Imeon]: https://imeon-energy.com/
|
||||
[Kohler generator]: https://www.kohlerhomeenergy.rehlko.com/kohler-energy-management-app
|
||||
[Miele home appliances]: https://www.miele.com/
|
||||
[Miele]: /integrations/miele
|
||||
[ntfy.sh]: https://ntfy.sh/
|
||||
[ntfy]: /integrations/ntfy
|
||||
[Rehlko]: /integrations/rehlko
|
||||
|
||||
This release also has new virtual integrations. Virtual integrations
|
||||
are stubs that are handled by other (existing) integrations to help with
|
||||
findability. These ones are new:
|
||||
|
||||
- **[Balay]**, provided by [Home Connect], added by [@Diegorro98]
|
||||
- **[Constructa]**, provided by [Home Connect], added by [@Diegorro98]
|
||||
- **[Gaggenau]**, provided by [Home Connect], added by [@Diegorro98]
|
||||
- **[Google Gemini]**, provided by [Google Generative AI], added by [@tronikos]
|
||||
- **[Maytag]**, provided by [Whirlpool], added by [@abmantis]
|
||||
- **[National Grid US]**, provided by [Opower], added by [@tronikos]
|
||||
- **[Neff]**, provided by [Home Connect], added by [@Diegorro98]
|
||||
- **[Pitsos]**, provided by [Home Connect], added by [@Diegorro98]
|
||||
- **[Profilo]**, provided by [Home Connect], added by [@Diegorro98]
|
||||
- **[Siemens]**, provided by [Home Connect], added by [@Diegorro98]
|
||||
- **[Thermador]**, provided by [Home Connect], added by [@Diegorro98]
|
||||
|
||||
[@abmantis]: https://github.com/abmantis
|
||||
[@Diegorro98]: https://github.com/Diegorro98
|
||||
[@tronikos]: https://github.com/tronikos
|
||||
[Balay]: /integrations/balay
|
||||
[Constructa]: /integrations/constructa
|
||||
[Gaggenau]: /integrations/gaggenau
|
||||
[Google Gemini]: /integrations/google_gemini
|
||||
[Google Generative AI]: /integrations/google_generative_ai_conversation
|
||||
[Home Connect]: /integrations/home_connect
|
||||
[Maytag]: /integrations/maytag
|
||||
[National Grid US]: /integrations/national_grid_us
|
||||
[Neff]: /integrations/neff
|
||||
[Opower]: /integrations/opower
|
||||
[Pitsos]: /integrations/pitsos
|
||||
[Profilo]: /integrations/profilo
|
||||
[Siemens]: /integrations/siemens
|
||||
[Thermador]: /integrations/thermador
|
||||
[Whirlpool]: /integrations/whirlpool
|
||||
|
||||
### Noteworthy improvements to existing integrations
|
||||
|
||||
It is not just new {% term integrations %} that have been added; existing
|
||||
integrations are also being constantly improved. Here are some of the noteworthy
|
||||
changes to existing integrations:
|
||||
|
||||
- The [OpenAI Conversation] integration now supports PDFs in the
|
||||
[`openai_conversion.generate_content` action](/integrations/openai_conversation/#service-openai_conversationgenerate_content),
|
||||
meaning it can now, for example, summarize PDF reports for you.
|
||||
Great work [@Shulyaka]!
|
||||
- [@allenporter] added a new LLM tool for fetching to-do list items,
|
||||
enabling you to interact with the contents of your to-do lists via voice or chat
|
||||
assistants. Awesome!
|
||||
- The [HomeKit Bridge] integration now has support for air purifiers!
|
||||
Thanks [@MaartenStaa]!
|
||||
- [@frenck] extended the [YouTube] integration, allowing you to monitor your own
|
||||
YouTube channel 📺. Nice!
|
||||
- The [HEOS] integration received multiple improvements from [@andrewsayre],
|
||||
including the ability to add items to the play queue and remove queued items.
|
||||
- Thanks to [@Danielhiversen], the [Mill] integration now includes statistics,
|
||||
making it possible to track your heating energy usage over time. Great!
|
||||
- The [Xiaomi BLE] integration now supports the Body Composition Scale S400,
|
||||
thanks [@zry98]!
|
||||
- [SwitchBot] now supports [Roller Shade] and [HubMini Matter] devices.
|
||||
Nice job [@zerzhang]!
|
||||
- [@lezmaka] worked on the [Synology DSM] integration, which now includes support
|
||||
for external USB drives, allowing you to monitor external storage. Nice!
|
||||
- The [La Marzocco] integration has been extended with additional sensors and
|
||||
statistic entities, providing better insights into your coffee machine's performance.
|
||||
Great additions [@zweckj]!
|
||||
|
||||
[@allenporter]: https://github.com/allenporter
|
||||
[@andrewsayre]: https://github.com/andrewsayre
|
||||
[@Danielhiversen]: https://github.com/Danielhiversen
|
||||
[@lezmaka]: https://github.com/lezmaka
|
||||
[@MaartenStaa]: https://github.com/MaartenStaa
|
||||
[@Shulyaka]: https://github.com/Shulyaka
|
||||
[@zerzhang]: https://github.com/zerzhang
|
||||
[@zry98]: https://github.com/zry98
|
||||
[@zweckj]: https://github.com/zweckj
|
||||
[HEOS]: /integrations/heos
|
||||
[HomeKit Bridge]: /integrations/homekit
|
||||
[HubMini Matter]: https://www.switch-bot.com/products/switchbot-hub-mini-matter-enabled
|
||||
[La Marzocco]: /integrations/lamarzocco
|
||||
[Mill]: /integrations/mill
|
||||
[OpenAI Conversation]: /integrations/openai_conversation
|
||||
[Roller Shade]: https://www.switch-bot.com/products/switchbot-roller-shade
|
||||
[SwitchBot]: /integrations/switchbot
|
||||
[Synology DSM]: /integrations/synology_dsm
|
||||
[Xiaomi BLE]: /integrations/xiaomi_ble
|
||||
[YouTube]: /integrations/youtube
|
||||
|
||||
### Integration quality scale achievements
|
||||
|
||||
One thing we are incredibly proud of in Home Assistant is our
|
||||
[integration quality scale]. This scale helps us and our contributors to ensure
|
||||
integrations are of high quality, maintainable, and provide the best possible
|
||||
user experience.
|
||||
|
||||
This release, we celebrate several {% term integrations %} that have improved
|
||||
their quality scale:
|
||||
|
||||
- **4 integrations reached platinum** 🏆
|
||||
- [Ohme], thanks to [@dan-r]
|
||||
- [Vodafone Station], thanks to [@chemelli74]
|
||||
- [ESPHome], thanks to [@bdraco]
|
||||
- [Enphase Envoy], thanks to [@catsmanac]
|
||||
|
||||
- **2 integrations reached silver** 🥈
|
||||
- [IMGW-PIB], thanks to [@bieniu]
|
||||
- [SMLIGHT], thanks to [@tl-sl]
|
||||
|
||||
- **2 integrations reached bronze** 🥉
|
||||
- [Whirlpool], thanks to [@abmantis]
|
||||
- [UptimeRobot], thanks to [@chemelli74]
|
||||
|
||||
This is a huge achievement for these integrations and their maintainers. The
|
||||
effort and dedication required to reach these quality levels is significant,
|
||||
as it involves extensive testing, documentation, error handling, and often
|
||||
complete rewrites of parts of the integration.
|
||||
|
||||
A big thank you to all the contributors involved! 👏
|
||||
|
||||
[integration quality scale]: https://www.home-assistant.io/docs/quality_scale/
|
||||
[@abmantis]: https://github.com/abmantis
|
||||
[@bdraco]: https://github.com/bdraco
|
||||
[@bieniu]: https://github.com/bieniu
|
||||
[@catsmanac]: https://github.com/catsmanac
|
||||
[@chemelli74]: https://github.com/chemelli74
|
||||
[@dan-r]: https://github.com/dan-r
|
||||
[@tl-sl]: https://github.com/tl-sl
|
||||
[Enphase Envoy]: /integrations/enphase_envoy
|
||||
[ESPHome]: /integrations/esphome
|
||||
[IMGW-PIB]: /integrations/imgw_pib
|
||||
[Ohme]: /integrations/ohme
|
||||
[SMLIGHT]: /integrations/smlight
|
||||
[UptimeRobot]: /integrations/uptimerobot
|
||||
[Vodafone Station]: /integrations/vodafone_station
|
||||
[Whirlpool]: /integrations/whirlpool
|
||||
|
||||
### Now available to set up from the UI
|
||||
|
||||
While most {% term integrations %} can be set up directly from the Home Assistant
|
||||
user interface, some were only available using YAML configuration. We keep moving
|
||||
more integrations to the UI, making them more accessible for everyone
|
||||
to set up and use.
|
||||
|
||||
The following integration is now available via the Home Assistant UI:
|
||||
|
||||
- **[STIEBEL ELTRON]**, done by [@ThyMYthOS]
|
||||
|
||||
[@ThyMYthOS]: https://github.com/ThyMYthOS
|
||||
[STIEBEL ELTRON]: /integrations/stiebel_eltron
|
||||
|
||||
### Farewell to the following
|
||||
|
||||
The following {% term integrations %} are also no longer available as
|
||||
of this release:
|
||||
|
||||
- **Oncue by Kohler** has been removed because the app by Kohler has been
|
||||
discontinued.
|
||||
|
||||
## Other noteworthy changes
|
||||
|
||||
There are many more improvements in this release; here are some of the other
|
||||
noteworthy changes this release:
|
||||
|
||||
- Did you know Home Assistant actually has keyboard shortcuts for all kinds of
|
||||
things? No? Well... if you are curious to learn, after upgrading, press
|
||||
`?` anywhere in the UI to see a list of all available keyboard shortcuts.
|
||||
Nice addition [@jpbede]!
|
||||
- Support for the [Matter] 1.4 water heater device type has been added.
|
||||
Thanks, [@lboue]!
|
||||
- When setting up a new device in Home Assistant, you can now directly name
|
||||
it during the setup process. Nice! Thanks, [@bramkragten]!
|
||||
- Media players now have an action to search using the `media_player.search_media`
|
||||
action. Thanks, [@zweckj]!
|
||||
- [@piitaya] added a `device_name` template function to get the name of a device
|
||||
in Home Assistant. Cool!
|
||||
- The `floor_id` and `area_id` template methods have been enhanced by [@formatBCE]
|
||||
to also look for floors or area aliases. Awesome!
|
||||
- We now have support for trigger-based [template entities] for switches and
|
||||
lights. Amazing work [@Petro31]!
|
||||
- Support for modern YAML-syntax was also added to the cover [template entities]
|
||||
by [@Petro31]. Nice!
|
||||
- [@frenck] added support for detecting Home Assistant Container installation
|
||||
types not running in host networking mode. This is important for
|
||||
Home Assistant to function properly. It raises a repair issue if it detects
|
||||
this.
|
||||
- A long-standing issue with iOS and the dropdown items in our user interface
|
||||
has been fixed! No longer will it select the wrong item when you tap on it
|
||||
while the dropdown is open and the keyboard is shown.
|
||||
|
||||
[@bramkragten]: https://github.com/bramkragten
|
||||
[@formatBCE]: https://github.com/formatBCE
|
||||
[@frenck]: https://github.com/frenck
|
||||
[@lboue]: https://github.com/lboue
|
||||
[@Petro31]: https://github.com/Petro31
|
||||
[@piitaya]: https://github.com/piitaya
|
||||
[@zweckj]: https://github.com/zweckj
|
||||
[Matter]: /integrations/matter
|
||||
[template entities]: /integrations/template/
|
||||
|
||||
## Badges on the dashboard can now be wrapped or scrolled
|
||||
|
||||
A cool little new feature for dashboards landed this release, which we don't
|
||||
want to rush past unnoticed. The behavior of the badges in the header of a
|
||||
dashboard view can now be configured to either wrap or scroll.
|
||||
|
||||
Wrap was the original and is still the default behavior, but if you have a lot
|
||||
of badges and primarily use a mobile device, scrolling might be a better option
|
||||
for you.
|
||||
|
||||
<img class="no-shadow" alt="Screenshot showing the behavior options for the badges shown in the header of a dashboard view: Either scroll or wrap." src="/images/blog/2025-05/dashboards-header-badges-behavior.png" />
|
||||
|
||||
## Improved UI experience when using templates in automations & scripts
|
||||
|
||||
If you are a power-user, using templates in your automations and script, you
|
||||
are probably familiar with the fact that the UI falls back to using YAML for
|
||||
any action block that contains a template.
|
||||
|
||||
[@karwosts] to the rescue! He has worked on a solution to improve this
|
||||
experience.
|
||||
|
||||
So, instead of falling back to pure YAML for the whole block, it now only
|
||||
falls back to a code editor for fields containing an action template. This
|
||||
means the rest of the UI—for all other action fields—remains intact and you
|
||||
can still use the UI to edit the rest.
|
||||
|
||||
As you can see in this screenshot below, the brightness is set using a template,
|
||||
which is no problem, as the rest of the action is still editable in the UI.
|
||||
|
||||
<img class="no-shadow" alt="Screenshot showing the automation improvements made, when using templates keeping the rest of the UI available in those cases." src="/images/blog/2025-05/template-automation-improvement.png" />
|
||||
|
||||
This is a great improvement for power users, as it allows you to use the UI
|
||||
for most of the automation or script, while still being able to use templates
|
||||
where needed. It also makes it easier to understand the automation or script,
|
||||
as you can see the context of the template in the UI.
|
||||
|
||||
Great improvement there [@karwosts]! 🙌
|
||||
|
||||
[@karwosts]: https://github.com/karwosts
|
||||
|
||||
## Pasting automations and scripts YAML directly into the UI
|
||||
|
||||
Found this great automation or script example in our documentation or the
|
||||
[community forums](https://community.home-assistant.io/), but it is shared in
|
||||
YAML format? No problem! You can now paste the YAML directly into the UI.
|
||||
|
||||
When you are editing an automation, you can now simply paste the YAML directly
|
||||
into the UI editor and it will be converted to the UI format. This is regardless of
|
||||
whether the pasted example is a full-blown automation or just a single trigger,
|
||||
condition, or action.
|
||||
|
||||
<lite-youtube videoid="RRl-G3Igo4E" videotitle="Copy & paste YAML directly into the UI!"></lite-youtube>
|
||||
|
||||
An amazing quality of life improvement, contributed by [@jpbede]! Thank you! 🙌
|
||||
|
||||
[@jpbede]: https://github.com/jpbede
|
||||
|
||||
## Discover what Home Assistant is discovering
|
||||
|
||||
Home Assistant is constantly scanning your network for new devices and
|
||||
integrations using all sorts of discovery protocols. This greatly improves your
|
||||
experience, as it allows you to easily add new devices to your Home
|
||||
Assistant installation.
|
||||
|
||||
However, sometimes, you might want to know what Home Assistant is seeing
|
||||
or wonder why a certain device is not being discovered. To help with that
|
||||
[@bdraco] added browsing tools for the DHCP, mDNS/ZeroConf, and UPnP/SSDP that
|
||||
allow you to see what Home Assistant is seeing. It is quite technical, but
|
||||
it is a great way to see what is going on in your network.
|
||||
|
||||
<img class="no-shadow" alt="Screenshot of the new ZeroConf/mDNS browser, showing the internal the discovery process of Home Assistant." src="/images/blog/2025-05/discovery-browsers.png" />
|
||||
|
||||
You can find these new tools in **Settings** > **System** > **Network**. At the
|
||||
bottom of that page, you will find the ability to browse all the things
|
||||
Home Assistant is seeing on your network for each of the discovery protocols.
|
||||
|
||||
## Need help? Join the community!
|
||||
|
||||
Home Assistant has a great community of users who are all more than willing
|
||||
to help each other out. So, join us!
|
||||
|
||||
Our very active [Discord chat server](/join-chat) is an excellent place to be
|
||||
at, and don't forget to join our amazing [forums](https://community.home-assistant.io/).
|
||||
|
||||
Found a bug or issue? Please report it in our [issue tracker](https://github.com/home-assistant/core/issues),
|
||||
to get it fixed! Or, check [our help page](/help) for guidance on more
|
||||
places you can go.
|
||||
|
||||
Are you more into email? [Sign-up for our Building the Open Home Newsletter](/newsletter)
|
||||
to get the latest news about features, things happening in our community and
|
||||
other news about building an Open Home; straight into your inbox.
|
||||
|
||||
## Backward-incompatible changes
|
||||
|
||||
We do our best to avoid making changes to existing functionality that might
|
||||
unexpectedly impact your Home Assistant installation. Unfortunately, sometimes,
|
||||
it is inevitable.
|
||||
|
||||
We always make sure to document these changes to make the transition as easy as
|
||||
possible for you. This release has the following backward-incompatible changes:
|
||||
|
||||
{% details "Theming & Typography" %}
|
||||
|
||||
In this release, we’ve made foundational updates to our theming system, which
|
||||
include **backwards incompatible changes**:
|
||||
|
||||
- **Polymer Components Removed**: Legacy Polymer-based components have been
|
||||
fully removed. As a result, all related `paper-*` CSS variables have also
|
||||
been removed.
|
||||
- Some variables have been **migrated to new theme tokens**.
|
||||
- Others were outdated and have been **removed entirely**.
|
||||
|
||||
- **New Typography Variables**: We’ve introduced a new set of
|
||||
**typography CSS variables** to lay the groundwork for a more consistent
|
||||
and modern UI.
|
||||
- These are part of an ongoing refactor and are **not yet in use everywhere**.
|
||||
More adoption will follow in future releases.
|
||||
|
||||
If you’re maintaining custom cards or themes, **please update any usage of the
|
||||
following variables** accordingly.
|
||||
|
||||
---
|
||||
|
||||
**✅ New tokens**
|
||||
|
||||
```css
|
||||
--ha-font-family-body
|
||||
--ha-font-family-heading
|
||||
--ha-font-family-code
|
||||
--ha-font-family-longform
|
||||
--ha-font-size-scale
|
||||
--ha-font-size-2xs
|
||||
--ha-font-size-xs
|
||||
--ha-font-size-s
|
||||
--ha-font-size-m
|
||||
--ha-font-size-l
|
||||
--ha-font-size-xl
|
||||
--ha-font-size-2xl
|
||||
--ha-font-size-3xl
|
||||
--ha-font-size-4xl
|
||||
--ha-font-weight-light
|
||||
--ha-font-weight-normal
|
||||
--ha-font-weight-medium
|
||||
--ha-font-weight-bold
|
||||
--ha-font-weight-body
|
||||
--ha-font-weight-heading
|
||||
--ha-font-weight-action
|
||||
--ha-line-height-condensed
|
||||
--ha-line-height-normal
|
||||
--ha-line-height-expanded
|
||||
--ha-font-smoothing
|
||||
```
|
||||
|
||||
**❌ Removed tokens**
|
||||
|
||||
```css
|
||||
--paper-font-common-nowrap_-_text-overflow
|
||||
--paper-font-display1_-_letter-spacing
|
||||
--paper-font-headline_-_letter-spacing
|
||||
--paper-font-common-base_-_font-family
|
||||
--paper-font-common-base_-_-webkit-font-smoothing
|
||||
--paper-font-common-code_-_font-family
|
||||
--paper-font-common-code_-_-webkit-font-smoothing
|
||||
--paper-font-common-nowrap_-_white-space
|
||||
--paper-font-common-nowrap_-_overflow
|
||||
--paper-font-title_-_overflow
|
||||
--paper-font-title_-_text-overflow
|
||||
--paper-font-title_-_text-overflow
|
||||
--paper-font-title_-_white-space
|
||||
--paper-item-body-two-line-min-height
|
||||
--paper-time-input-justify-content
|
||||
--paper-item-body-three-line-min-height
|
||||
--paper-item-icon-width
|
||||
--paper-card-header-color
|
||||
--paper-dialog-color
|
||||
--paper-font-headline_-_white-space
|
||||
--paper-font-headline_-_overflow
|
||||
--paper-font-headline_-_text-overflow
|
||||
--paper-font-subhead_-_white-space
|
||||
--paper-font-subhead_-_overflow
|
||||
--paper-font-subhead_-_text-overflow
|
||||
--paper-item-icon-active-color
|
||||
--paper-listbox-background-color
|
||||
```
|
||||
|
||||
**🔄 Migrated tokens**
|
||||
|
||||
```css
|
||||
--code-font-family → --ha-font-family-code
|
||||
--paper-font-title_-_-webkit-font-smoothing → --ha-font-smoothing
|
||||
--paper-font-headline_-_-webkit-font-smoothing → --ha-font-smoothing
|
||||
--paper-font-display1_-_-webkit-font-smoothing → --ha-font-smoothing
|
||||
--paper-font-subhead_-_-webkit-font-smoothing → --ha-font-smoothing
|
||||
--paper-font-body1_-_-webkit-font-smoothing → --ha-font-smoothing
|
||||
--paper-font-display1_-_font-family → --ha-font-family-body
|
||||
--paper-font-display1_-_font-size → --ha-font-size-4xl
|
||||
--paper-font-display1_-_font-weight → --ha-font-weight-normal
|
||||
--paper-font-display1_-_line-height → --ha-line-height-condensed
|
||||
--paper-font-headline_-_font-family → --ha-font-family-body
|
||||
--paper-font-headline_-_font-size → --ha-font-size-2xl
|
||||
--paper-font-headline_-_font-weight → --ha-font-weight-normal
|
||||
--paper-font-headline_-_line-height → --ha-line-height-condensed
|
||||
--paper-font-title_-_font-family → --ha-font-family-body
|
||||
--paper-font-title_-_font-size → --ha-font-size-xl
|
||||
--paper-font-title_-_font-weight → --ha-font-weight-medium
|
||||
--paper-font-title_-_line-height → --ha-line-height-normal
|
||||
--paper-font-subhead_-_font-family → --ha-font-family-body
|
||||
--paper-font-subhead_-_font-size → --ha-font-size-l
|
||||
--paper-font-subhead_-_font-weight → --ha-font-weight-normal
|
||||
--paper-font-subhead_-_line-height → --ha-line-height-normal
|
||||
--paper-font-body1_-_font-family → --ha-font-family-body
|
||||
--paper-font-body1_-_font-size → --ha-font-size-m
|
||||
--paper-font-body1_-_font-weight → --ha-font-weight-normal
|
||||
--paper-font-body1_-_line-height → --ha-line-height-normal
|
||||
--paper-item-icon-color → --state-icon-color
|
||||
```
|
||||
|
||||
{% enddetails %}
|
||||
|
||||
{% details "17TRACK" %}
|
||||
|
||||
The previously deprecated state attributes for the 17TRACK entities
|
||||
have been removed.
|
||||
|
||||
If you relied on these attributes in your automations or scripts, you will need
|
||||
to update them to use the dedicated sensors instead.
|
||||
|
||||
([@joostlek] - [#142622]) ([documentation](/integrations/seventeentrack))
|
||||
|
||||
[@joostlek]: https://github.com/joostlek
|
||||
[#142622]: https://github.com/home-assistant/core/pull/142622
|
||||
|
||||
{% enddetails %}
|
||||
|
||||
{% details "AVM FRITZ!SmartHome" %}
|
||||
|
||||
The AVM Fritz!Smarthome has a concept of devices and units. A device can have
|
||||
multiple units with different features. We now merge all units of a device into
|
||||
one entry representing the physical device.
|
||||
|
||||
As this might remove existing devices and create new ones, you should check your
|
||||
automations and scripts to see if they need to be adjusted to the new device registry
|
||||
entries.
|
||||
|
||||
([@mib1185] - [#142845]) ([documentation](/integrations/fritzbox))
|
||||
|
||||
[@mib1185]: https://github.com/mib1185
|
||||
[#142845]: https://github.com/home-assistant/core/pull/142845
|
||||
|
||||
---
|
||||
|
||||
All the extra state attributes of the climate entity got migrated to their
|
||||
own entities. With this these attributes are deprecated and will be removed
|
||||
in Home Assistant 2025.11.
|
||||
|
||||
If you rely on these attributes in your automations or scripts, you will need
|
||||
to update them to use the dedicated sensors instead.
|
||||
|
||||
([@mib1185] - [#143394]) ([documentation](/integrations/fritzbox))
|
||||
|
||||
[@mib1185]: https://github.com/mib1185
|
||||
[#143394]: https://github.com/home-assistant/core/pull/143394
|
||||
|
||||
{% enddetails %}
|
||||
|
||||
{% details "Generic Thermostat" %}
|
||||
|
||||
The switch targeted by the Generic Thermostat is now only turned on when the
|
||||
current temperature falls outside the target temperature range
|
||||
(target_temp +- tolerances).
|
||||
|
||||
Previously, it would also turn on when the temperature was equal to the limit
|
||||
of the target range.
|
||||
|
||||
([@esand] - [#138209]) ([documentation](/integrations/generic_thermostat))
|
||||
|
||||
[@esand]: https://github.com/esand
|
||||
[#138209]: https://github.com/home-assistant/core/pull/138209
|
||||
|
||||
{% enddetails %}
|
||||
|
||||
{% details "HomeKit Bridge" %}
|
||||
|
||||
The name configured in Home Assistant now takes precedence for the following
|
||||
HomeKit child accessories:
|
||||
|
||||
- Fan presets (switches)
|
||||
- Media player sources (switches)
|
||||
- Power strips (Input Select, etc) (outlets)
|
||||
- Triggers (stateless programmable switches)
|
||||
|
||||
This fixes an issue where the name is missing in HomeKit for these child
|
||||
accessories. The downside is that the name provided by Home Assistant
|
||||
has to be changed in Home Assistant (where applicable).
|
||||
|
||||
([@bdraco] - [#142531]) ([documentation](/integrations/homekit))
|
||||
|
||||
[@bdraco]: https://github.com/bdraco
|
||||
[#142531]: https://github.com/home-assistant/core/pull/142531
|
||||
|
||||
{% enddetails %}
|
||||
|
||||
{% details "Google Maps Travel Time" %}
|
||||
|
||||
Google has deprecated the Distance Matrix API. The new Routes API does not
|
||||
provide the state attributes `Destination addresses` and `Origin addresses`
|
||||
anymore.
|
||||
|
||||
The amount of free requests got halved, resulting in the sensor now refreshing
|
||||
every 10 minutes instead of every 5 minutes.
|
||||
|
||||
([@eifinger] - [#140691]) ([documentation](/integrations/google_travel_time))
|
||||
|
||||
[@eifinger]: https://github.com/eifinger
|
||||
[#140691]: https://github.com/home-assistant/core/pull/140691
|
||||
|
||||
{% enddetails %}
|
||||
|
||||
{% details "La Marzocco" %}
|
||||
|
||||
La Marzocco released the gateway firmware v5 last month, which stopped
|
||||
supporting local communication. We now fully support this firmware; support for
|
||||
older firmware has been dropped.
|
||||
|
||||
The following entities and controls are missing, either because they are no
|
||||
longer supported by the app or not part of the new library version yet:
|
||||
|
||||
- Steam & coffee boiler temperatures
|
||||
- Shot timer sensor
|
||||
- Scale support
|
||||
- Steam temperature number
|
||||
- Prebrew & Preinfusion numbers
|
||||
|
||||
([@zweckj] - [#142098]) ([documentation](/integrations/lamarzocco))
|
||||
|
||||
[@zweckj]: https://github.com/zweckj
|
||||
[#142098]: https://github.com/home-assistant/core/pull/142098
|
||||
|
||||
{% enddetails %}
|
||||
|
||||
{% details "Network UPS Tools (NUT)" %}
|
||||
|
||||
The status sensor has changed, providing the state from the UPS Display.
|
||||
|
||||
Previously, multiple states would be concatenated using a space, which made
|
||||
them harder to read and process. As of this release, multiple statuses are
|
||||
separated using a comma instead.
|
||||
|
||||
([@bonanitech] - [#141335]) ([documentation](/integrations/nut))
|
||||
|
||||
[@bonanitech]: https://github.com/bonanitech
|
||||
[#141335]: https://github.com/home-assistant/core/pull/141335
|
||||
|
||||
---
|
||||
|
||||
The scan interval option has been removed from NUT. Scans default to once
|
||||
every 60 seconds. If needed, an integration-independent and
|
||||
[common method](/common-tasks/general/#defining-a-custom-polling-interval)
|
||||
can be used to set a custom polling interval.
|
||||
|
||||
([@tdfountain] - [#141845]) ([documentation](/integrations/nut))
|
||||
|
||||
[@tdfountain]: https://github.com/tdfountain
|
||||
[#141845]: https://github.com/home-assistant/core/pull/141845
|
||||
|
||||
{% enddetails %}
|
||||
|
||||
{% details "Opower" %}
|
||||
|
||||
If you return energy to the grid, you will have to reconfigure your energy
|
||||
dashboard.
|
||||
|
||||
For improved experience in the energy dashboard, negative energy
|
||||
consumption/cost values have been separated into two dedicated
|
||||
return/compensation statistics.
|
||||
|
||||
Add `Opower {utility name} elec {account number} return` under
|
||||
**Return to grid** to see return energy statistics. Track return compensation
|
||||
using `Opower {utility name} elec {account number} compensation`.
|
||||
|
||||
([@parkerbxyz] - [#135258]) ([documentation](/integrations/opower))
|
||||
|
||||
[@parkerbxyz]: https://github.com/parkerbxyz
|
||||
[#135258]: https://github.com/home-assistant/core/pull/135258
|
||||
|
||||
{% enddetails %}
|
||||
|
||||
{% details "Overkiz" %}
|
||||
|
||||
Previously, for Atlantic Electrical Towel Dryer devices, the ‘auto’ HVAC mode
|
||||
in Home Assistant was mapped to the ‘prog’ mode in Overkiz.
|
||||
|
||||
Now, the ‘auto’ mode in Home Assistant will correspond directly to the
|
||||
‘auto’ mode in Overkiz, while the ‘prog’ mode can be selected using presets.
|
||||
|
||||
([@iMicknl] - [#143243]) ([documentation](/integrations/overkiz))
|
||||
|
||||
[@iMicknl]: https://github.com/iMicknl
|
||||
[#143243]: https://github.com/home-assistant/core/pull/143243
|
||||
|
||||
{% enddetails %}
|
||||
|
||||
{% details "Persistent notifications" %}
|
||||
|
||||
Persistent notifications are no longer created when devices are discovered.
|
||||
|
||||
Automations that trigger on the persistent notification
|
||||
`config_entry_discovery` should be updated to instead trigger on the
|
||||
event `config_entry_discovered`.
|
||||
|
||||
([@emontnemery] - [#141546])
|
||||
|
||||
[@emontnemery]: https://github.com/emontnemery
|
||||
[#141546]: https://github.com/home-assistant/core/pull/141546
|
||||
|
||||
{% enddetails %}
|
||||
|
||||
{% details "Total Connect" %}
|
||||
|
||||
The previously deprecated state attributes for the Total Connect alarm control
|
||||
panel have been removed.
|
||||
|
||||
If you relied on these attributes in your automations or scripts, you will need
|
||||
to update them to use the dedicated sensors instead.
|
||||
|
||||
([@joostlek] - [#142625]) ([documentation](/integrations/totalconnect))
|
||||
|
||||
[@joostlek]: https://github.com/joostlek
|
||||
[#142625]: https://github.com/home-assistant/core/pull/142625
|
||||
|
||||
{% enddetails %}
|
||||
|
||||
If you are a custom integration developer and want to learn about changes and
|
||||
new features available for your integration: Be sure to follow our
|
||||
[developer blog][devblog]. The following changes are the most notable for this release:
|
||||
|
||||
- [Searching in media players](https://developers.home-assistant.io/blog/2025/04/17/search-media-play/)
|
||||
- [Device tracker TrackerEntity location accuracy attribute type change](https://developers.home-assistant.io/blog/2025/04/24/device-tracker-accuracy)
|
||||
|
||||
[devblog]: https://developers.home-assistant.io/blog/
|
||||
|
||||
## All changes
|
||||
|
||||
Of course there is a lot more in this release. You can find a list of
|
||||
all changes made here: [Full changelog for Home Assistant Core 2025.5](/changelogs/core-2025.5)
|
2507
source/changelogs/core-2025.5.markdown
Normal file
@ -25,9 +25,9 @@ The following screenshot shows a fully populated dashboard in [sections view](/d
|
||||
A fully populated dashboard in Sections view layout
|
||||
</p>
|
||||
|
||||
### Multiple dashboards
|
||||
### Different dashboard types
|
||||
|
||||
In the sidebar on the left, you see the names of different dashboards. Home Assistant comes with [multiple dashboards](/dashboards/dashboards/) out of the box.
|
||||
In the sidebar on the left, you see the names of different dashboards. Home Assistant comes with [different dashboard types](/dashboards/dashboards/) out of the box.
|
||||
|
||||
- Overview
|
||||
- Energy
|
||||
@ -138,7 +138,7 @@ In the following steps, we will create a new dashboard and edit some card settin
|
||||
|
||||
If you want to learn more about dashboards, views, and cards, take a look at these topics:
|
||||
|
||||
1. Take a look at the [introduction to dashboards](/dashboards/) and learn about [multiple dashboards](/dashboards/dashboards).
|
||||
1. Take a look at the [introduction to dashboards](/dashboards/) and learn about [dashboard types](/dashboards/dashboards).
|
||||
2. Learn more about [view types](/dashboards/views/)
|
||||
3. Learn how to [add cards](/dashboards/cards/#adding-cards-to-your-dashboard) to a view.
|
||||
|
||||
|
After Width: | Height: | Size: 93 KiB |
After Width: | Height: | Size: 113 KiB |
BIN
source/images/blog/2025-05/backups-retention-per-location.png
Normal file
After Width: | Height: | Size: 90 KiB |
After Width: | Height: | Size: 149 KiB |
BIN
source/images/blog/2025-05/dashboards-header-badges-behavior.png
Normal file
After Width: | Height: | Size: 117 KiB |
BIN
source/images/blog/2025-05/discovery-browsers.png
Normal file
After Width: | Height: | Size: 112 KiB |
After Width: | Height: | Size: 117 KiB |
BIN
source/images/blog/2025-05/improved-entity-picker.png
Normal file
After Width: | Height: | Size: 119 KiB |
After Width: | Height: | Size: 114 KiB |
BIN
source/images/blog/2025-05/social.jpg
Normal file
After Width: | Height: | Size: 222 KiB |
BIN
source/images/blog/2025-05/template-automation-improvement.png
Normal file
After Width: | Height: | Size: 133 KiB |
BIN
source/images/blog/2025-05/zwave-long-range.png
Normal file
After Width: | Height: | Size: 117 KiB |
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 112 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 18 KiB |