Merge branch 'next' into qbus-platform-climate

This commit is contained in:
c0ffeeca7 2025-03-26 06:18:18 +01:00 committed by GitHub
commit ba8b6844ee
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
227 changed files with 8712 additions and 1800 deletions

View File

@ -10,7 +10,7 @@ jobs:
- name: Check out files from GitHub - name: Check out files from GitHub
uses: actions/checkout@v4.2.2 uses: actions/checkout@v4.2.2
- name: Setting up Node.js - name: Setting up Node.js
uses: actions/setup-node@v4.2.0 uses: actions/setup-node@v4.3.0
with: with:
node-version: 20 node-version: 20
cache: "npm" cache: "npm"
@ -27,7 +27,7 @@ jobs:
- name: Check out files from GitHub - name: Check out files from GitHub
uses: actions/checkout@v4.2.2 uses: actions/checkout@v4.2.2
- name: Setting up Node.js - name: Setting up Node.js
uses: actions/setup-node@v4.2.0 uses: actions/setup-node@v4.3.0
with: with:
node-version: 20 node-version: 20
cache: "npm" cache: "npm"

View File

@ -95,6 +95,7 @@ source/_integrations/azure_data_explorer.markdown @kaareseras
source/_integrations/azure_devops.markdown @timmo001 source/_integrations/azure_devops.markdown @timmo001
source/_integrations/azure_event_hub.markdown @eavanvalkenburg source/_integrations/azure_event_hub.markdown @eavanvalkenburg
source/_integrations/azure_service_bus.markdown @hfurubotten source/_integrations/azure_service_bus.markdown @hfurubotten
source/_integrations/azure_storage.markdown @zweckj
source/_integrations/backup.markdown @home-assistant/core source/_integrations/backup.markdown @home-assistant/core
source/_integrations/baf.markdown @bdraco @jfroy source/_integrations/baf.markdown @bdraco @jfroy
source/_integrations/balboa.markdown @garbled1 @natekspencer source/_integrations/balboa.markdown @garbled1 @natekspencer
@ -133,6 +134,7 @@ source/_integrations/bthome.markdown @Ernst79 @thecode
source/_integrations/bticino.markdown @cgtobi source/_integrations/bticino.markdown @cgtobi
source/_integrations/bubendorff.markdown @cgtobi source/_integrations/bubendorff.markdown @cgtobi
source/_integrations/buienradar.markdown @mjj4791 @ties @Robbie1221 source/_integrations/buienradar.markdown @mjj4791 @ties @Robbie1221
source/_integrations/burbank_water_and_power.markdown @tronikos
source/_integrations/button.markdown @home-assistant/core source/_integrations/button.markdown @home-assistant/core
source/_integrations/calendar.markdown @home-assistant/core source/_integrations/calendar.markdown @home-assistant/core
source/_integrations/cambridge_audio.markdown @noahhusby source/_integrations/cambridge_audio.markdown @noahhusby
@ -348,6 +350,7 @@ source/_integrations/hassio.markdown @home-assistant/supervisor
source/_integrations/havana_shade.markdown @starkillerOG source/_integrations/havana_shade.markdown @starkillerOG
source/_integrations/hdmi_cec.markdown @inytar source/_integrations/hdmi_cec.markdown @inytar
source/_integrations/heatmiser.markdown @andylockran source/_integrations/heatmiser.markdown @andylockran
source/_integrations/heicko.markdown @starkillerOG
source/_integrations/heiwa.markdown @cmroche source/_integrations/heiwa.markdown @cmroche
source/_integrations/heos.markdown @andrewsayre source/_integrations/heos.markdown @andrewsayre
source/_integrations/here_travel_time.markdown @eifinger source/_integrations/here_travel_time.markdown @eifinger
@ -361,7 +364,7 @@ source/_integrations/hive.markdown @Rendili @KJonline
source/_integrations/hko.markdown @MisterCommand source/_integrations/hko.markdown @MisterCommand
source/_integrations/hlk_sw16.markdown @jameshilliard source/_integrations/hlk_sw16.markdown @jameshilliard
source/_integrations/holiday.markdown @jrieger @gjohansson-ST source/_integrations/holiday.markdown @jrieger @gjohansson-ST
source/_integrations/home_connect.markdown @DavidMStraub @Diegorro98 source/_integrations/home_connect.markdown @DavidMStraub @Diegorro98 @MartinHjelmare
source/_integrations/home_plus_control.markdown @cgtobi source/_integrations/home_plus_control.markdown @cgtobi
source/_integrations/homeassistant.markdown @home-assistant/core source/_integrations/homeassistant.markdown @home-assistant/core
source/_integrations/homeassistant_alerts.markdown @home-assistant/core source/_integrations/homeassistant_alerts.markdown @home-assistant/core
@ -418,6 +421,7 @@ source/_integrations/insteon.markdown @teharris1
source/_integrations/integration.markdown @dgomes source/_integrations/integration.markdown @dgomes
source/_integrations/intellifire.markdown @jeeftor source/_integrations/intellifire.markdown @jeeftor
source/_integrations/intesishome.markdown @jnimmo source/_integrations/intesishome.markdown @jnimmo
source/_integrations/iometer.markdown @MaestroOnICe
source/_integrations/ios.markdown @robbiet480 source/_integrations/ios.markdown @robbiet480
source/_integrations/iotawatt.markdown @gtdiehl @jyavenard source/_integrations/iotawatt.markdown @gtdiehl @jyavenard
source/_integrations/iotty.markdown @shapournemati-iotty source/_integrations/iotty.markdown @shapournemati-iotty
@ -436,7 +440,7 @@ source/_integrations/ista_ecotrend.markdown @tr4nt0r
source/_integrations/isy994.markdown @bdraco @shbatm source/_integrations/isy994.markdown @bdraco @shbatm
source/_integrations/ituran.markdown @shmuelzon source/_integrations/ituran.markdown @shmuelzon
source/_integrations/izone.markdown @Swamp-Ig source/_integrations/izone.markdown @Swamp-Ig
source/_integrations/jellyfin.markdown @j-stienstra @ctalkington source/_integrations/jellyfin.markdown @RunC0deRun @ctalkington
source/_integrations/jewish_calendar.markdown @tsvi source/_integrations/jewish_calendar.markdown @tsvi
source/_integrations/juicenet.markdown @jesserockz source/_integrations/juicenet.markdown @jesserockz
source/_integrations/justnimbus.markdown @kvanzuijlen source/_integrations/justnimbus.markdown @kvanzuijlen
@ -485,6 +489,7 @@ source/_integrations/light.template.markdown @home-assistant/core
source/_integrations/linak.markdown @abmantis source/_integrations/linak.markdown @abmantis
source/_integrations/linear_garage_door.markdown @IceBotYT source/_integrations/linear_garage_door.markdown @IceBotYT
source/_integrations/linux_battery.markdown @fabaff source/_integrations/linux_battery.markdown @fabaff
source/_integrations/linx.markdown @starkillerOG
source/_integrations/litejet.markdown @joncar source/_integrations/litejet.markdown @joncar
source/_integrations/litterrobot.markdown @natekspencer @tkdrob source/_integrations/litterrobot.markdown @natekspencer @tkdrob
source/_integrations/livisi.markdown @StefanIacobLivisi @planbnet source/_integrations/livisi.markdown @StefanIacobLivisi @planbnet
@ -552,6 +557,7 @@ source/_integrations/moon.markdown @fabaff @frenck
source/_integrations/mopeka.markdown @bdraco source/_integrations/mopeka.markdown @bdraco
source/_integrations/motion_blinds.markdown @starkillerOG source/_integrations/motion_blinds.markdown @starkillerOG
source/_integrations/motionblinds_ble.markdown @LennP @jerrybboy source/_integrations/motionblinds_ble.markdown @LennP @jerrybboy
source/_integrations/motionblinds_matter.markdown @home-assistant/matter
source/_integrations/motioneye.markdown @dermotduffy source/_integrations/motioneye.markdown @dermotduffy
source/_integrations/mqtt.markdown @emontnemery @jbouwh @bdraco source/_integrations/mqtt.markdown @emontnemery @jbouwh @bdraco
source/_integrations/msteams.markdown @peroyvind source/_integrations/msteams.markdown @peroyvind
@ -598,7 +604,7 @@ source/_integrations/nuheat.markdown @tstabrawa
source/_integrations/nuki.markdown @pschmitt @pvizeli @pree source/_integrations/nuki.markdown @pschmitt @pvizeli @pree
source/_integrations/numato.markdown @clssn source/_integrations/numato.markdown @clssn
source/_integrations/number.markdown @home-assistant/core @Shulyaka source/_integrations/number.markdown @home-assistant/core @Shulyaka
source/_integrations/nut.markdown @bdraco @ollo69 @pestevez source/_integrations/nut.markdown @bdraco @ollo69 @pestevez @tdfountain
source/_integrations/nutrichef.markdown @bdraco source/_integrations/nutrichef.markdown @bdraco
source/_integrations/nws.markdown @MatthewFlamm @kamiyo source/_integrations/nws.markdown @MatthewFlamm @kamiyo
source/_integrations/nyt_games.markdown @joostlek source/_integrations/nyt_games.markdown @joostlek
@ -649,9 +655,10 @@ source/_integrations/pepco.markdown @tronikos
source/_integrations/permobil.markdown @IsakNyberg source/_integrations/permobil.markdown @IsakNyberg
source/_integrations/persistent_notification.markdown @home-assistant/core source/_integrations/persistent_notification.markdown @home-assistant/core
source/_integrations/pge.markdown @tronikos source/_integrations/pge.markdown @tronikos
source/_integrations/pglab.markdown @pglab-electronics
source/_integrations/philips_js.markdown @elupus source/_integrations/philips_js.markdown @elupus
source/_integrations/pi_hole.markdown @shenxn source/_integrations/pi_hole.markdown @shenxn
source/_integrations/picnic.markdown @corneyl source/_integrations/picnic.markdown @corneyl @codesalatdev
source/_integrations/pinecil.markdown @tr4nt0r source/_integrations/pinecil.markdown @tr4nt0r
source/_integrations/ping.markdown @jpbede source/_integrations/ping.markdown @jpbede
source/_integrations/piper.markdown @balloob @synesthesiam source/_integrations/piper.markdown @balloob @synesthesiam
@ -800,6 +807,7 @@ source/_integrations/smappee.markdown @bsmappee
source/_integrations/smart_blinds.markdown @starkillerOG source/_integrations/smart_blinds.markdown @starkillerOG
source/_integrations/smart_home.markdown @starkillerOG source/_integrations/smart_home.markdown @starkillerOG
source/_integrations/smart_meter_texas.markdown @grahamwetzler source/_integrations/smart_meter_texas.markdown @grahamwetzler
source/_integrations/smart_rollos.markdown @starkillerOG
source/_integrations/smarther.markdown @cgtobi source/_integrations/smarther.markdown @cgtobi
source/_integrations/smarttub.markdown @mdz source/_integrations/smarttub.markdown @mdz
source/_integrations/smarty.markdown @z0mbieprocess source/_integrations/smarty.markdown @z0mbieprocess
@ -809,6 +817,7 @@ source/_integrations/sms.markdown @ocalvo
source/_integrations/smud.markdown @tronikos source/_integrations/smud.markdown @tronikos
source/_integrations/snapcast.markdown @luar123 source/_integrations/snapcast.markdown @luar123
source/_integrations/snmp.markdown @nmaggioni source/_integrations/snmp.markdown @nmaggioni
source/_integrations/snoo.markdown @Lash-L
source/_integrations/snooz.markdown @AustinBrunkhorst source/_integrations/snooz.markdown @AustinBrunkhorst
source/_integrations/solaredge.markdown @frenck @bdraco source/_integrations/solaredge.markdown @frenck @bdraco
source/_integrations/solaredge_local.markdown @drobtravels @scheric source/_integrations/solaredge_local.markdown @drobtravels @scheric
@ -915,6 +924,7 @@ source/_integrations/twentemilieu.markdown @frenck
source/_integrations/twinkly.markdown @dr1rrb @Robbie1221 @Olen source/_integrations/twinkly.markdown @dr1rrb @Robbie1221 @Olen
source/_integrations/twitch.markdown @joostlek source/_integrations/twitch.markdown @joostlek
source/_integrations/ubiwizz.markdown @imicknl source/_integrations/ubiwizz.markdown @imicknl
source/_integrations/ublockout.markdown @starkillerOG
source/_integrations/ukraine_alarm.markdown @PaulAnnekov source/_integrations/ukraine_alarm.markdown @PaulAnnekov
source/_integrations/unifi.markdown @Kane610 source/_integrations/unifi.markdown @Kane610
source/_integrations/unifi_direct.markdown @tofuSCHNITZEL source/_integrations/unifi_direct.markdown @tofuSCHNITZEL
@ -968,6 +978,7 @@ source/_integrations/weather.template.markdown @home-assistant/core
source/_integrations/weatherflow.markdown @natekspencer @jeeftor source/_integrations/weatherflow.markdown @natekspencer @jeeftor
source/_integrations/weatherflow_cloud.markdown @jeeftor source/_integrations/weatherflow_cloud.markdown @jeeftor
source/_integrations/weatherkit.markdown @tjhorner source/_integrations/weatherkit.markdown @tjhorner
source/_integrations/webdav.markdown @jpbede
source/_integrations/webhook.markdown @home-assistant/core source/_integrations/webhook.markdown @home-assistant/core
source/_integrations/webmin.markdown @autinerd source/_integrations/webmin.markdown @autinerd
source/_integrations/webostv.markdown @thecode source/_integrations/webostv.markdown @thecode

View File

@ -10,9 +10,9 @@ group :development do
gem 'stringex', '2.8.6' gem 'stringex', '2.8.6'
# > 2.1.0 causes slowdowns https://github.com/sass/sassc-ruby/issues/189 # > 2.1.0 causes slowdowns https://github.com/sass/sassc-ruby/issues/189
gem 'sassc', '2.1.0' gem 'sassc', '2.1.0'
gem 'sass-embedded', '1.85.1' gem 'sass-embedded', '1.86.0'
gem 'rubocop', '1.72.2' gem 'rubocop', '1.74.0'
gem 'ruby-lsp', '0.23.11' gem 'ruby-lsp', '0.23.12'
gem 'rackup', '2.2.1' gem 'rackup', '2.2.1'
end end
@ -24,7 +24,7 @@ group :jekyll_plugins do
end end
gem 'sinatra', '4.1.1' gem 'sinatra', '4.1.1'
gem 'nokogiri', '1.18.3' gem 'nokogiri', '1.18.6'
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem # Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
# and associated library # and associated library

View File

@ -3,7 +3,7 @@ GEM
specs: specs:
addressable (2.8.7) addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0) public_suffix (>= 2.0.2, < 7.0)
ast (2.4.2) ast (2.4.3)
base64 (0.2.0) base64 (0.2.0)
bigdecimal (3.1.9) bigdecimal (3.1.9)
chunky_png (1.4.0) chunky_png (1.4.0)
@ -22,7 +22,7 @@ GEM
compass-import-once (1.0.5) compass-import-once (1.0.5)
sass (>= 3.2, < 3.5) sass (>= 3.2, < 3.5)
concurrent-ruby (1.3.5) concurrent-ruby (1.3.5)
csv (3.3.2) csv (3.3.3)
em-websocket (0.5.3) em-websocket (0.5.3)
eventmachine (>= 0.12.9) eventmachine (>= 0.12.9)
http_parser.rb (~> 0) http_parser.rb (~> 0)
@ -30,10 +30,10 @@ GEM
ffi (1.17.1-arm64-darwin) ffi (1.17.1-arm64-darwin)
ffi (1.17.1-x86_64-linux-gnu) ffi (1.17.1-x86_64-linux-gnu)
forwardable-extended (2.6.0) forwardable-extended (2.6.0)
google-protobuf (4.29.3-arm64-darwin) google-protobuf (4.30.1-arm64-darwin)
bigdecimal bigdecimal
rake (>= 13) rake (>= 13)
google-protobuf (4.29.3-x86_64-linux) google-protobuf (4.30.1-x86_64-linux)
bigdecimal bigdecimal
rake (>= 13) rake (>= 13)
http_parser.rb (0.8.0) http_parser.rb (0.8.0)
@ -70,7 +70,7 @@ GEM
nokogiri (~> 1.12) nokogiri (~> 1.12)
jekyll-watch (2.2.1) jekyll-watch (2.2.1)
listen (~> 3.0) listen (~> 3.0)
json (2.10.1) json (2.10.2)
kramdown (2.5.1) kramdown (2.5.1)
rexml (>= 3.3.9) rexml (>= 3.3.9)
kramdown-parser-gfm (1.1.0) kramdown-parser-gfm (1.1.0)
@ -86,20 +86,20 @@ GEM
multi_json (1.15.0) multi_json (1.15.0)
mustermann (3.0.3) mustermann (3.0.3)
ruby2_keywords (~> 0.0.1) ruby2_keywords (~> 0.0.1)
nokogiri (1.18.3-arm64-darwin) nokogiri (1.18.6-arm64-darwin)
racc (~> 1.4) racc (~> 1.4)
nokogiri (1.18.3-x86_64-linux-gnu) nokogiri (1.18.6-x86_64-linux-gnu)
racc (~> 1.4) racc (~> 1.4)
parallel (1.26.3) parallel (1.26.3)
parser (3.3.7.1) parser (3.3.7.2)
ast (~> 2.4.1) ast (~> 2.4.1)
racc racc
pathutil (0.16.2) pathutil (0.16.2)
forwardable-extended (~> 2.6) forwardable-extended (~> 2.6)
prism (1.3.0) prism (1.4.0)
public_suffix (6.0.1) public_suffix (6.0.1)
racc (1.8.1) racc (1.8.1)
rack (3.1.10) rack (3.1.12)
rack-protection (4.1.1) rack-protection (4.1.1)
base64 (>= 0.1.0) base64 (>= 0.1.0)
logger (>= 1.6.0) logger (>= 1.6.0)
@ -114,12 +114,12 @@ GEM
rb-fsevent (0.11.2) rb-fsevent (0.11.2)
rb-inotify (0.11.1) rb-inotify (0.11.1)
ffi (~> 1.0) ffi (~> 1.0)
rbs (3.8.1) rbs (3.9.1)
logger logger
regexp_parser (2.10.0) regexp_parser (2.10.0)
rexml (3.4.1) rexml (3.4.1)
rouge (4.5.1) rouge (4.5.1)
rubocop (1.72.2) rubocop (1.74.0)
json (~> 2.3) json (~> 2.3)
language_server-protocol (~> 3.17.0.2) language_server-protocol (~> 3.17.0.2)
lint_roller (~> 1.1.0) lint_roller (~> 1.1.0)
@ -130,9 +130,9 @@ GEM
rubocop-ast (>= 1.38.0, < 2.0) rubocop-ast (>= 1.38.0, < 2.0)
ruby-progressbar (~> 1.7) ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 4.0) unicode-display_width (>= 2.4.0, < 4.0)
rubocop-ast (1.38.0) rubocop-ast (1.41.0)
parser (>= 3.3.1.0) parser (>= 3.3.7.2)
ruby-lsp (0.23.11) ruby-lsp (0.23.12)
language_server-protocol (~> 3.17.0) language_server-protocol (~> 3.17.0)
prism (>= 1.2, < 2.0) prism (>= 1.2, < 2.0)
rbs (>= 3, < 4) rbs (>= 3, < 4)
@ -141,10 +141,10 @@ GEM
ruby2_keywords (0.0.5) ruby2_keywords (0.0.5)
safe_yaml (1.0.5) safe_yaml (1.0.5)
sass (3.4.25) sass (3.4.25)
sass-embedded (1.85.1-arm64-darwin) sass-embedded (1.86.0-arm64-darwin)
google-protobuf (~> 4.29) google-protobuf (~> 4.30)
sass-embedded (1.85.1-x86_64-linux-gnu) sass-embedded (1.86.0-x86_64-linux-gnu)
google-protobuf (~> 4.29) google-protobuf (~> 4.30)
sass-globbing (1.1.5) sass-globbing (1.1.5)
sass (>= 3.1) sass (>= 3.1)
sassc (2.1.0) sassc (2.1.0)
@ -158,14 +158,14 @@ GEM
rack-protection (= 4.1.1) rack-protection (= 4.1.1)
rack-session (>= 2.0.0, < 3) rack-session (>= 2.0.0, < 3)
tilt (~> 2.0) tilt (~> 2.0)
sorbet-runtime (0.5.11856) sorbet-runtime (0.5.11954)
stringex (2.8.6) stringex (2.8.6)
terminal-table (3.0.2) terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3) unicode-display_width (>= 1.1.1, < 3)
tilt (2.6.0) tilt (2.6.0)
tzinfo (2.0.6) tzinfo (2.0.6)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
tzinfo-data (1.2025.1) tzinfo-data (1.2025.2)
tzinfo (>= 1.0.0) tzinfo (>= 1.0.0)
unicode-display_width (2.6.0) unicode-display_width (2.6.0)
webrick (1.9.1) webrick (1.9.1)
@ -181,12 +181,12 @@ DEPENDENCIES
jekyll-paginate (= 1.1.0) jekyll-paginate (= 1.1.0)
jekyll-sitemap (= 1.4.0) jekyll-sitemap (= 1.4.0)
jekyll-toc (= 0.19.0) jekyll-toc (= 0.19.0)
nokogiri (= 1.18.3) nokogiri (= 1.18.6)
rackup (= 2.2.1) rackup (= 2.2.1)
rake (= 13.2.1) rake (= 13.2.1)
rubocop (= 1.72.2) rubocop (= 1.74.0)
ruby-lsp (= 0.23.11) ruby-lsp (= 0.23.12)
sass-embedded (= 1.85.1) sass-embedded (= 1.86.0)
sass-globbing (= 1.1.5) sass-globbing (= 1.1.5)
sassc (= 2.1.0) sassc (= 2.1.0)
sinatra (= 4.1.1) sinatra (= 4.1.1)
@ -198,4 +198,4 @@ RUBY VERSION
ruby 2.6.2p47 ruby 2.6.2p47
BUNDLED WITH BUNDLED WITH
2.5.3 2.5.3

View File

@ -107,9 +107,9 @@ social:
# Home Assistant release details # Home Assistant release details
current_major_version: 2025 current_major_version: 2025
current_minor_version: 2 current_minor_version: 3
current_patch_version: 5 current_patch_version: 4
date_released: 2025-02-21 date_released: 2025-03-21
# Either # or the anchor link to latest release notes in the blog post. # Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it. # Must be prefixed with a # and have double quotes around it.

403
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -15,7 +15,7 @@
"remark-lint-prohibited-strings": "^4.0.0", "remark-lint-prohibited-strings": "^4.0.0",
"remark-lint-unordered-list-marker-style": "^4.0.1", "remark-lint-unordered-list-marker-style": "^4.0.1",
"remark-stringify": "^11.0.0", "remark-stringify": "^11.0.0",
"textlint": "^14.4.2", "textlint": "^14.5.0",
"textlint-filter-rule-comments": "^1.2.2", "textlint-filter-rule-comments": "^1.2.2",
"textlint-rule-common-misspellings": "^1.0.1", "textlint-rule-common-misspellings": "^1.0.1",
"textlint-rule-terminology": "^5.0.13" "textlint-rule-terminology": "^5.0.13"

View File

@ -124,6 +124,11 @@ module Jekyll
end end
end end
end end
def case_insensitive_sort(input, key)
return input unless input.is_a?(Array)
input.sort_by { |item| item[key].to_s.downcase }
end
end end
end end

View File

@ -5,22 +5,156 @@
font-weight: 500; font-weight: 500;
letter-spacing: .005em; letter-spacing: .005em;
color: $gray; color: $gray;
padding-top: 8px;
text-transform: uppercase; text-transform: uppercase;
} }
} }
.component-search { .component-search {
margin-bottom: 24px; margin-bottom: 24px;
min-height: 80px;
input { input {
width: 100%; width: 100%;
padding: 10px; padding: 10px;
background-color: #fefefe; background-color: #fefefe;
border-radius: 8px; border-radius: 8px;
border: 1px solid; border: 1px solid;
border-color: #7c7c7c #c3c3c3 #ddd; border-color: #7c7c7c #c3c3c3 #ddd;
} }
} }
.grid-filters {
@media only screen and (min-width: $desk-start) {
display: flex;
}
}
.integration-filter-radio {
display: flex;
border: none;
padding: 0;
grid-gap: 10px;
}
.filter-button {
display: flex;
align-items: center;
margin-bottom: 0;
width: fit-content;
font-size: 1rem;
box-shadow: none;
background-color: $blueDark;
color: white;
border-radius: 24px;
input {
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
padding-left: 16px;
display: block;
margin-left: 10px;
flex-shrink: 0;
height: 1rem;
width: 1rem;
border-radius: 100%;
border-color: transparent;
background-color: white;
&:checked {
background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22%23007fa8%22%20transform%3D%22rotate(90)%22%3E%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%223%22%2F%3E%3C%2Fsvg%3E");
}
}
label {
display: block;
width: 100%;
padding: 4px 16px 4px 10px;
}
}
.integration-filter.integration-filter-select {
position: relative;
&::after {
content: " ";
position: absolute;
top: 50%;
margin-top: 2px;
right: 8px;
width: 0;
height: 0;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-top: 5px solid black;
}
.ha_category {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
color: #222;
width: 100%;
margin-bottom: 15px;
text-align-last: center;
font-size: 16px;
line-height: 24px;
border: 2px solid $blueDark;
border-top-right-radius: 0px;
border-top-left-radius: 0px;
border-bottom-right-radius: 5px;
border-bottom-left-radius: 5px;
border-top: 0;
position: relative;
top: -2px;
padding: 5px 5px 2px;
&:focus-visible {
outline: none;
}
}
}
.filter-title {
background: $blueDark;
color: white;
text-align: center;
border-top-right-radius: 5px;
border-top-left-radius: 5px;
padding: 5px;
margin-top: 0;
margin-bottom: -2px;
text-transform: capitalize;
font-size: 18px;
position: relative;
z-index: 1;
}
.active-filter {
margin: 10px 5px 0px 0px;
padding: 5px 10px;
min-width: 100px;
background-color: $blueDark;
border-radius: 28px;
border: none;
color: white;
font-size: 14px;
letter-spacing: 0.5px;
text-transform: capitalize;
line-height: 18px;
span {
display: flex;
align-items: center;
}
iconify-icon {
display: inline-block;
margin-left: 5px;
}
}
select { select {
font-family: $sans-serif; font-family: $sans-serif;
border: 0; border: 0;
@ -44,6 +178,10 @@
width: 100%; width: 100%;
} }
div.alert {
text-align: center;
}
.option-card { .option-card {
flex: 0 0 auto; flex: 0 0 auto;
aspect-ratio: 1; aspect-ratio: 1;
@ -147,7 +285,7 @@ a.option-card:hover {
img { img {
max-width: 48px; max-width: 48px;
max-height: 48px; max-height: 48px;
} }
} }
.title { .title {
@ -201,7 +339,7 @@ a.option-card:hover {
} }
.category_select { .category_select {
display: block; display: block;
} }
.category_list { .category_list {
display: none; display: none;
} }
@ -330,4 +468,4 @@ a.option-card:hover {
to { to {
opacity: 0; opacity: 0;
} }
} }

View File

@ -235,6 +235,28 @@ type: energy-devices-detail-graph
max_devices: 5 max_devices: 5
``` ```
## Sankey energy graph
<p class='img'>
<img src='/images/dashboards/energy/sankey.png' alt='Screenshot of the sankey energy graph card'>
Screenshot of the sankey energy graph card.
</p>
The sankey energy graph shows the flow of energy in your home. It starts with sources and flows into the various consumers. Devices are grouped into floors and areas if these are configured.
### Examples
```yaml
type: energy-sankey
```
The following example orients the flow from top to bottom:
```yaml
type: energy-sankey
layout: vertical
```
## Using Multiple Collections ## Using Multiple Collections
By default, all energy cards are linked to any `energy-date-selection` card on the view, and all `energy-date-selection` cards are linked to the same period. To enable multiple different date selections on the same view, it is necessary to link them to different collections. This is done by adding the variable `collection_key` to the card YAML, and giving this a value of any custom string that begins with `energy_`. (strings that do not start with `energy_` will generate an error). By default, all energy cards are linked to any `energy-date-selection` card on the view, and all `energy-date-selection` cards are linked to the same period. To enable multiple different date selections on the same view, it is necessary to link them to different collections. This is done by adding the variable `collection_key` to the card YAML, and giving this a value of any custom string that begins with `energy_`. (strings that do not start with `energy_` will generate an error).

View File

@ -145,6 +145,10 @@ state_not:
required: false required: false
description: Entity state or ID to not be equal to this value. Can contain an array of states.* description: Entity state or ID to not be equal to this value. Can contain an array of states.*
type: [list, string] type: [list, string]
entity:
required: false
description: An optional entity ID to be used for testing the state condition. If not provided, the state of the entity being displayed is tested.
type: string
{% endconfiguration %} {% endconfiguration %}
*one is required (`state` or `state_not`) *one is required (`state` or `state_not`)
@ -178,6 +182,10 @@ below:
required: false required: false
description: Entity state or ID to be below this value.* description: Entity state or ID to be below this value.*
type: string type: string
entity:
required: false
description: An optional entity ID to be used for testing the numeric state condition. If not provided, the numeric state of the entity being displayed is tested.
type: string
{% endconfiguration %} {% endconfiguration %}
*at least one is required (`above` or `below`), both are also possible for values between. *at least one is required (`above` or `below`), both are also possible for values between.

View File

@ -60,7 +60,7 @@ badges:
## Heading badges ## Heading badges
In addition to the heading text, each heading card can show small badges. They are smaller than regular [badges](/dashboards/badges/) and don't have a background. The heading badges can display sensor information in a compact and minimal style. In addition to the heading text, each heading card can show small badges. They are smaller than regular [badges](/dashboards/badges/) and don't have a background. The heading badges can display sensor information in a compact and minimal style. Heading badges also support [actions](/dashboards/actions/).
```yaml ```yaml
type: entity type: entity
@ -108,4 +108,12 @@ tap_action:
required: false required: false
description: Action taken on card tap. See [action documentation](/dashboards/actions/#tap-action). By default, it will do nothing. description: Action taken on card tap. See [action documentation](/dashboards/actions/#tap-action). By default, it will do nothing.
type: map type: map
hold_action:
required: false
description: Action taken on card hold. See [action documentation](/dashboards/actions/#hold-action). By default, it will do nothing.
type: map
double_tap_action:
required: false
description: Action taken on card double tap. See [action documentation](/dashboards/actions/#double-tap-action). By default, it will do nothing.
type: map
{% endconfiguration %} {% endconfiguration %}

View File

@ -61,6 +61,11 @@ allow:
description: The [Permissions Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Permissions-Policy#iframes) of the iframe, that is, the value of the [`allow`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#allow) attribute. description: The [Permissions Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Permissions-Policy#iframes) of the iframe, that is, the value of the [`allow`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#allow) attribute.
type: string type: string
default: "fullscreen" default: "fullscreen"
disable_sandbox:
required: false
description: Disables the [sandbox](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-sandbox) attribute of the iframe, e.g. required for Chrome when viewing PDFs. This is less secure and should only be used if you trust the content of the iframe.
type: boolean
default: false
{% endconfiguration %} {% endconfiguration %}
### Examples ### Examples

View File

@ -19,7 +19,7 @@ related:
The map card allows you to display your home zone, entities, and other predefined zones on a map. This card is used on the [Map dashboard](/dashboards/dashboards/#map-dashboard), which is one of the default dashboards. The map card allows you to display your home zone, entities, and other predefined zones on a map. This card is used on the [Map dashboard](/dashboards/dashboards/#map-dashboard), which is one of the default dashboards.
<p class='img'> <p class='img'>
<img src='/images/dashboards/map_card.png' alt='Screenshot of the map card'> <img src='/images/dashboards/map_card.webp' alt='Screenshot of the map card'>
Screenshot of the map card. Screenshot of the map card.
</p> </p>
@ -130,7 +130,11 @@ name:
label_mode: label_mode:
required: false required: false
default: name default: name
description: When set to `icon`, renders the entity's icon in the marker instead of text. When set to `state`, renders the entity's state as the label for the map marker instead of the entity's name. This option doesn't apply to [zone](/integrations/zone/) entities because they don't use a label but an icon. description: When set to `icon`, renders the entity's icon in the marker instead of text. When set to `state` or `attribute`, renders the entity's state or attribute as the label for the map marker instead of the entity's name. This option doesn't apply to [zone](/integrations/zone/) entities because they don't use a label but an icon.
type: string
attribute:
required: false
description: An entity's attribute when `label_mode` set to `attribute`.
type: string type: string
focus: focus:
required: false required: false
@ -151,8 +155,12 @@ source:
label_mode: label_mode:
required: false required: false
default: name default: name
description: When set to `icon`, renders the geolocation entity's icon in the marker instead of text. When set to `state`, renders the entity's state as the label for the map marker instead of the entity's name. description: When set to `icon`, renders the entity's icon in the marker instead of text. When set to `state` or `attribute`, renders the entity's state or attribute as the label for the map marker instead of the entity's name. This option doesn't apply to [zone](/integrations/zone/) entities because they don't use a label but an icon.
type: string type: string
attribute:
required: false
description: An entity's attribute when `label_mode` set to `attribute`.
type: string
focus: focus:
required: false required: false
default: true default: true

View File

@ -39,10 +39,27 @@ You can group cards without using horizontal or vertical stack cards.
5. When you are done, select **Save**. 5. When you are done, select **Save**.
- You are now presented with a new, empty view. - You are now presented with a new, empty view.
- If you chose a background image, the page is filled with that image. - If you chose a background image, the page is filled with that image.
6. Once you have created a sections view, you can start curating it:
- [Add sections and cards](#adding-sections-and-cards-to-a-sections-view).
- [Rearrange](#rearranging-sections-and-cards) and [show or hide sections conditionally](#show-or-hide-section-conditionally).
- [Add a dashboard header with a title and badges](#editing-the-header).
## Editing the header
<p class='img'>
<img src="/images/dashboards/sections_view_header_edit.png" alt="Editing the header"/>
Editing the header
</p>
1. To add a title, select the **Add title** button. The title supports [Markdown](https://commonmark.org/help/) and [templating](/docs/configuration/templating/).
2. To add badges, elect the **Add badge** button. Follow [steps on adding badges](/dashboards/badges) to see the different possible options.
3. To change the title and badges disposition, select the edit {% icon "mdi:edit" %} button to access header settings.
![Edit view heading section button](/images/dashboards/sections_view_header_editor.png)
## Adding sections and cards to a sections view ## Adding sections and cards to a sections view
Once you have created a sections view, you can populate it with sections and cards. The new section comes with one section to which you can directly add a card. The view comes with one section to which you can directly add a card.
1. To add a card, select the **Add card** button. 1. To add a card, select the **Add card** button.
- Follow the [steps on adding cards](/dashboards/cards/#adding-cards-to-your-dashboard). - Follow the [steps on adding cards](/dashboards/cards/#adding-cards-to-your-dashboard).
@ -109,3 +126,22 @@ type:
description: "`sections`" description: "`sections`"
type: string type: string
{% endconfiguration %} {% endconfiguration %}
## Header YAML configuration
{% configuration %}
layout:
required: false
description: Layout of the different elements. Can be `start`, `center`, or `responsive`. `responsive` is the same as `start` on mobile devices. It places badges and title side by side on desktop.
type: string
default: center
badges_position:
required: false
description: Badges position. Can be `bottom` or `top`.
type: string
default: bottom
card:
required: true
description: Card to be used as title. If you are configuring the view using the visual editor, the configuration of the [Markdown card](/dashboards/markdown) is used.
type: map
{% endconfiguration %}

View File

@ -12,11 +12,12 @@ related:
title: Dashboard cards title: Dashboard cards
--- ---
The tile card gives you a quick overview of your {% term entity %}. The card allows you to toggle the {% term entity %} and show the more info dialog. A badge is shown for some {% term entities %} like the [climate](/integrations/climate) or [person](/integrations/person) {% term entities %}. The tile card gives you a quick overview of your {% term entity %}. The card allows you to add tap actions, and features to control the entity. You can also select the {% term entity %} to open the more info dialog. A badge is shown for some {% term entities %} like the [climate](/integrations/climate) or [person](/integrations/person) {% term entities %}.
<p class='img'> <p class='img'>
<img src='/images/dashboards/tile_card.png' alt='Screenshot of tile cards'> <img src='/images/dashboards/tile_card_tap_action.webp' alt='Screenshot of tile cards'>
Screenshot of tile cards. The circular background behind an icon indicates that there is a tap action.
The "Downstairs" and "Upstairs" climate entities have a badge and a feature that is bottom-aligned.
</p> </p>
{% include dashboard/edit_dashboard.md %} {% include dashboard/edit_dashboard.md %}
@ -151,15 +152,4 @@ features:
You want to colorize the tile card? Choose one of the following colors: `primary`, `accent`, `disabled`, `red`, `pink`, `purple`, `deep-purple`, `indigo`, `blue`, `light-blue`, `cyan`, `teal`, `green`, `light-green`, `lime`, `yellow`, `amber`, `orange`, `deep-orange`, `brown`, `grey`, `blue-grey`, `black` and `white`. You want to colorize the tile card? Choose one of the following colors: `primary`, `accent`, `disabled`, `red`, `pink`, `purple`, `deep-purple`, `indigo`, `blue`, `light-blue`, `cyan`, `teal`, `green`, `light-green`, `lime`, `yellow`, `amber`, `orange`, `deep-orange`, `brown`, `grey`, `blue-grey`, `black` and `white`.
## Reordering features
Some features of the tile card, such as the presets or the HVAC modes of a
thermostat, can show many buttons. While you can limit the buttons youd
like to see, they may not be in the desired order.
For your thermostat, that means you can reorder the HVAC modes or presets.
<p class='img'>
<img src="/images/blog/2024-05/tile-card-reorder-features.gif" alt=" Screen recording showing how you can now reorder the HVAC modes on the thermostat shown in a tile card."/>
You can now reorder the features of the tile card.
</p>

View File

@ -532,7 +532,6 @@
entities for organic, paper, and packaging waste. In terms of functionality, entities for organic, paper, and packaging waste. In terms of functionality,
the information service is like a device. It is called *service* to avoid the information service is like a device. It is called *service* to avoid
confusion, as it does not come with a piece of hardware. confusion, as it does not come with a piece of hardware.
link: /docs/scripts/perform-actions/
aliases: aliases:
- services - services
- term: State - term: State

View File

@ -92,4 +92,8 @@ Missy Quarry:
Annika Schulz: Annika Schulz:
name: Annika Schulz name: Annika Schulz
github: anakinsbrna github: anakinsbrna
Miranda Bishop:
name: Miranda Bishop
github: miranda-gb

View File

@ -17,6 +17,11 @@ green:
ship_to: America ship_to: America
url: https://cloudfree.shop/product/home-assistant-green/ url: https://cloudfree.shop/product/home-assistant-green/
logo: /images/distributors/cloudfree.webp logo: /images/distributors/cloudfree.webp
- name: Seeed Studio
ship_from: US
ship_to: America
url: https://www.seeedstudio.com/Home-Assistant-Green-p-5792.html
logo: /images/distributors/seeed-studio.webp
# Asia # Asia
- name: Seeed Studio - name: Seeed Studio
ship_from: China ship_from: China
@ -217,6 +222,11 @@ yellow:
ship_to: Europe ship_to: Europe
url: https://thepihut.com/products/home-assistant-yellow url: https://thepihut.com/products/home-assistant-yellow
logo: /images/distributors/pi-hut.webp logo: /images/distributors/pi-hut.webp
- name: Domadoo
ship_from: France
ship_to: Europe
url: https://www.domadoo.fr/en/smart-home-hub/7113-nabu-casa-home-assistant-yellow-kit-with-power-supply.html
logo: /images/distributors/domadoo.jpg
zbt-1: zbt-1:
name: "<strong>Home Assistant Connect ZBT-1</strong>" name: "<strong>Home Assistant Connect ZBT-1</strong>"
distributors: distributors:
@ -411,7 +421,7 @@ voice-pe:
ship_to: Europe ship_to: Europe
url: https://www.domadoo.fr/fr/box-domotique/7558-nabu-casa-home-assistant-voice-preview-edition-0860011789727.html url: https://www.domadoo.fr/fr/box-domotique/7558-nabu-casa-home-assistant-voice-preview-edition-0860011789727.html
logo: /images/distributors/domadoo.jpg logo: /images/distributors/domadoo.jpg
- name: Mediarath - name: mediarath
ship_from: Germany ship_from: Germany
ship_to: Europe ship_to: Europe
url: https://mediarath.de/products/home-assistant-voice-preview-edition-open-source-privacy-focused-voice-assistant-with-esphome url: https://mediarath.de/products/home-assistant-voice-preview-edition-open-source-privacy-focused-voice-assistant-with-esphome

View File

@ -797,6 +797,8 @@ automation:
It's also possible to use [limited templates](/docs/configuration/templating/#limited-templates) for times. It's also possible to use [limited templates](/docs/configuration/templating/#limited-templates) for times.
{% raw %}
```yaml ```yaml
blueprint: blueprint:
input: input:
@ -821,6 +823,8 @@ blueprint:
- "{{ my_hour }}:30:00" - "{{ my_hour }}:30:00"
``` ```
{% endraw %}
## Time pattern trigger ## Time pattern trigger
With the time pattern trigger, you can match if the hour, minute or second of the current time matches a specific value. You can prefix the value with a `/` to match whenever the value is divisible by that number. You can specify `*` to match any value (when using the web interface this is required, the fields cannot be left empty). With the time pattern trigger, you can match if the hour, minute or second of the current time matches a specific value. You can prefix the value with a `/` to match whenever the value is divisible by that number. You can specify `*` to match any value (when using the web interface this is required, the fields cannot be left empty).

View File

@ -18,7 +18,7 @@ This section gives a high-level introduction to blueprints. To view a descriptio
## What is a blueprint? ## What is a blueprint?
A blueprint is a {% term script %}, {% term automation %} or [template entity](/docs/integrations/template/) configuration with certain parts marked as configurable. This allows you to create different scripts, automations or template entities based on the same blueprint. A blueprint is a {% term script %}, {% term automation %} or [template entity](/integrations/template/) configuration with certain parts marked as configurable. This allows you to create different scripts, automations or template entities based on the same blueprint.
Imagine you want to control lights based on motion. A blueprint provides the generic {% term automation %} framework, while letting you select one specific motion sensor as a {% term trigger %}, and the exact light to control. This blueprint makes it possible to create two automations. Each automation has their own configuration and act completely independently. Yet, they share some basic automation configuration so that you do not have to set this up every time. Imagine you want to control lights based on motion. A blueprint provides the generic {% term automation %} framework, while letting you select one specific motion sensor as a {% term trigger %}, and the exact light to control. This blueprint makes it possible to create two automations. Each automation has their own configuration and act completely independently. Yet, they share some basic automation configuration so that you do not have to set this up every time.

View File

@ -150,6 +150,12 @@ device:
the set model. the set model.
type: string type: string
required: false required: false
model_id:
description: >
When set, the list of areas is limited to areas with devices that have
the set model ID.
type: string
required: false
entity: entity:
description: > description: >
When entity options are provided, the list of areas is filtered by areas When entity options are provided, the list of areas is filtered by areas
@ -485,7 +491,7 @@ devices based on the selector configuration. The value of the input will contain
the device ID or a list of device IDs, based on if `multiple` is set to `true`. the device ID or a list of device IDs, based on if `multiple` is set to `true`.
A device selector can filter the list of devices, based on things like the A device selector can filter the list of devices, based on things like the
manufacturer or model of the device, the entities the device provides or based manufacturer, model, or model ID of the device, the entities the device provides or based
on the domain that provided the device. on the domain that provided the device.
![Screenshot of a device selector](/images/blueprints/selector-device.png) ![Screenshot of a device selector](/images/blueprints/selector-device.png)
@ -561,6 +567,11 @@ filter:
When set, it limits the list of devices to devices that have the set model. When set, it limits the list of devices to devices that have the set model.
type: string type: string
required: false required: false
model_id:
description: >
When set, the list of devices is limited to devices that have the set model ID.
type: string
required: false
multiple: multiple:
description: > description: >
Allows selecting multiple devices. If set to `true`, the resulting value of Allows selecting multiple devices. If set to `true`, the resulting value of
@ -792,6 +803,12 @@ device:
the set model. the set model.
type: string type: string
required: false required: false
model_id:
description: >
When set, the list only includes floors with devices that have
the set model ID.
type: string
required: false
entity: entity:
description: > description: >
When entity options are provided, the list only includes floors When entity options are provided, the list only includes floors
@ -1342,6 +1359,10 @@ device:
description: When set, it limits the targets to devices by the set model. description: When set, it limits the targets to devices by the set model.
type: string type: string
required: false required: false
model_id:
description: When set, the targets are limited to devices that have the set model ID.
type: string
required: false
entity: entity:
description: > description: >
When entity options are provided, the targets are limited by entities When entity options are provided, the targets are limited by entities

View File

@ -473,6 +473,7 @@ The same thing can also be expressed as a test:
- `floor_id(lookup_value)` returns the floor ID for a given device ID, entity ID, area ID, or area name. Can also be used as a filter. - `floor_id(lookup_value)` returns the floor ID for a given device ID, entity ID, area ID, or area name. Can also be used as a filter.
- `floor_name(lookup_value)` returns the floor name for a given device ID, entity ID, area ID, or floor ID. Can also be used as a filter. - `floor_name(lookup_value)` returns the floor name for a given device ID, entity ID, area ID, or floor ID. Can also be used as a filter.
- `floor_areas(floor_name_or_id)` returns the list of area IDs tied to a given floor ID or name. Can also be used as a filter. - `floor_areas(floor_name_or_id)` returns the list of area IDs tied to a given floor ID or name. Can also be used as a filter.
- `floor_entities(floor_name_or_id)` returns the list of entity IDs tied to a given floor ID or name. Can also be used as a filter.
#### Floors examples #### Floors examples
@ -1173,6 +1174,31 @@ Some examples:
</div> </div>
### Hashing
The template engine contains a few filters and functions to hash a string of
data. A few very common hashing algorithms are supported: `md5`, `sha1`,
`sha256`, and `sha512`.
Some examples:
{% raw %}
- `{{ md5("Home Assistant") }}` - renders as `f3f2b8b3b40084aa87e92b7ffb02ed13885fea2d07`
- `{{ "Home Assistant" | md5 }}` - renders as `f3f2b8b3b40084aa87e92b7ffb02ed13885fea2d07`
- `{{ sha1("Home Assistant") }}` - renders as `14bffd017c73917bfda2372aaf287570597b8e82`
- `{{ "Home Assistant" | sha1 }}` - renders as `14bffd017c73917bfda2372aaf287570597b8e82`
- `{{ sha256("Home Assistant") }}` - renders as `a18f473c9d3ed968a598f996dcf0b9de84de4ee04c950d041b61297a25bcea49`
- `{{ "Home Assistant" | sha256 }}` - renders as `a18f473c9d3ed968a598f996dcf0b9de84de4ee04c950d041b61297a25bcea49`
- `{{ sha512("Home Assistant") }}` - renders as `f251e06eb7d3439e1a86d6497d6a4531c3e8c809f538be62f89babf147d7d63aca4e77ae475b94c654fd38d8f543f778ce80007d6afef379d8a0e5d3ddf7349d`
- `{{ "Home Assistant" | sha512 }}` - renders as `f251e06eb7d3439e1a86d6497d6a4531c3e8c809f538be62f89babf147d7d63aca4e77ae475b94c654fd38d8f543f778ce80007d6afef379d8a0e5d3ddf7349d`
{% endraw %}
### Regular expressions ### Regular expressions
For more information on regular expressions For more information on regular expressions
@ -1184,6 +1210,72 @@ See: [Python regular expression operations](https://docs.python.org/3/library/re
- Filter `value | regex_findall(find='', ignorecase=False)` will find all regex matches of the find expression in `value` and return the array of matches. - Filter `value | regex_findall(find='', ignorecase=False)` will find all regex matches of the find expression in `value` and return the array of matches.
- Filter `value | regex_findall_index(find='', index=0, ignorecase=False)` will do the same as `regex_findall` and return the match at index. - Filter `value | regex_findall_index(find='', index=0, ignorecase=False)` will do the same as `regex_findall` and return the match at index.
### Shuffling
The template engine contains a filter and function to shuffle a list.
Shuffling can happen randomly or reproducibly using a seed. When using a seed
it will always return the same shuffled list for the same seed.
Some examples:
{% raw %}
- `{{ [1, 2, 3] | shuffle }}` - renders as `[3, 1, 2]` (_random_)
- `{{ shuffle([1, 2, 3]) }}` - renders as `[3, 1, 2]` (_random_)
- `{{ shuffle(1, 2, 3) }}` - renders as `[3, 1, 2]` (_random_)
- `{{ [1, 2, 3] | shuffle("random seed") }}` - renders as `[2, 3, 1] (_reproducible_)
- `{{ shuffle([1, 2, 3], seed="random seed") }}` - renders as `[2, 3, 1] (_reproducible_)
- `{{ shuffle([1, 2, 3], "random seed") }}`- renders as `[2, 3, 1] (_reproducible_)
- `{{ shuffle(1, 2, 3, seed="random seed") }}` - renders as `[2, 3, 1] (_reproducible_)
{% endraw %}
### Flatten a list of lists
The template engine provides a filter to flatten a list of lists: `flatten`.
It will take a list of lists and return a single list with all the elements.
The depth of the flattening can be controlled using the `levels` parameter.
The flattening process is recursive, so it will flatten all nested lists, until
the number of levels (if specified) is reached.
Some examples:
{% raw %}
- `{{ flatten([1, [2, [3]], 4, [5 , 6]]) }}` - renders as `[1, 2, 3, 4, 5, 6]`
- `{{ [1, [2, [3]], 4, [5 , 6]] | flatten }}` - renders as `[1, 2, 3, 4, 5, 6]`
- `{{ flatten([1, [2, [3]]], levels=1) }}` - renders as `[1, 2, [3]]`
- `{{ [1, [2, [3]]], flatten(levels=1) }}` - renders as `[1, 2, [3]]`
- `{{ flatten([1, [2, [3]]], 1) }}` - renders as `[1, 2, [3]]`
- `{{ [1, [2, [3]]], flatten(1) }}` - renders as `[1, 2, [3]]`
{% endraw %}
### Combining dictionaries
The template engine provides a function and filter to merge multiple dictionaries: `combine`.
It will take multiple dictionaries and merge them into a single dictionary. When used as a filter,
the filter value is used as the first dictionary. The optional `recursive` parameter determines
whether nested dictionaries should be merged (defaults to `False`).
Some examples:
{% raw %}
- `{{ {'a': 1, 'b': 2} | combine({'b': 3, 'c': 4}) }}` - renders as `{'a': 1, 'b': 3, 'c': 4}`
- `{{ combine({'a': 1, 'b': 2}, {'b': 3, 'c': 4}) }}` - renders as `{'a': 1, 'b': 3, 'c': 4}`
- `{{ combine({'a': 1, 'b': {'x': 1}}, {'b': {'y': 2}, 'c': 4}, recursive=True) }}` - renders as `{'a': 1, 'b': {'x': 1, 'y': 2}, 'c': 4}`
- `{{ combine({'a': 1, 'b': {'x': 1}}, {'b': {'y': 2}, 'c': 4}) }}` - renders as `{'a': 1, 'b': {'y': 2}, 'c': 4}`
{% endraw %}
## Merge action responses ## Merge action responses
Using action responses we can collect information from various entities at the same time. Using action responses we can collect information from various entities at the same time.
@ -1514,6 +1606,44 @@ When a command template renders to a valid `bytes` literal, then MQTT will publi
- Template {% raw %}`{{ 16 }}`{% endraw %} renders to payload encoded string `"16"`. - Template {% raw %}`{{ 16 }}`{% endraw %} renders to payload encoded string `"16"`.
- Template {% raw %}`{{ pack(0x10, ">B") }}`{% endraw %} renders to a raw 1 byte payload `0x10`. - Template {% raw %}`{{ pack(0x10, ">B") }}`{% endraw %} renders to a raw 1 byte payload `0x10`.
### Determining types
When working with templates, it can be useful to determine the type of
the returned value from a method or the type of a variable at times.
For this, Home Assistant provides the `typeof()` template function and filter,
which is inspired by the [JavaScript](https://en.wikipedia.org/wiki/JavaScript)
`typeof` operator. It reveals the type of the given value.
This is mostly useful when you are debugging or playing with templates in
the developer tools of Home Assistant. However, it might be useful in some
other cases as well.
Some examples:
{% raw %}
- `{{ typeof(42) }}` - renders as `int`
- `{{ typeof(42.0) }}` - renders as `float`
- `{{ typeof("42") }}` - renders as `str`
- `{{ typeof([1, 2, 3]) }}` - renders as `list`
- `{{ typeof({"key": "value"}) }}` - renders as `dict`
- `{{ typeof(True) }}` - renders as `bool`
- `{{ typeof(None) }}` - renders as `NoneType`
- `{{ 42 | typeof }}` - renders as `int`
- `{{ 42.0 | typeof }}` - renders as `float`
- `{{ "42" | typeof }}` - renders as `str`
- `{{ [1, 2, 3] | typeof }}` - renders as `list`
- `{{ {"key": "value"} | typeof }}` - renders as `dict`
- `{{ True | typeof }}` - renders as `bool`
- `{{ None | typeof }}` - renders as `NoneType`
- `{{ some_variable | typeof }}` - renders the type of `some_variable`
- `{{ states("sensor.living_room") | typeof }}` - renders the type of the result of `states()` function
{% endraw %}
## Some more things to keep in mind ## Some more things to keep in mind
### `entity_id` that begins with a number ### `entity_id` that begins with a number

View File

@ -35,7 +35,7 @@ There are also products for water usage monitoring that are based on existing co
- [Z-Wave](/integrations/zwave_js) - [Z-Wave](/integrations/zwave_js)
- [Zigbee](/integrations/zha) - [Zigbee](/integrations/zha)
- [Matter (BETA)](/integrations/matter) - [Matter](/integrations/matter)
## Community-made sensors ## Community-made sensors

View File

@ -1,31 +0,0 @@
---
title: "Glossary"
description: "Home Assistant's Glossary."
---
{% assign entries = site.data.glossary | sort: 'term' %}
The glossary covers terms which are used around Home Assistant.
<div class="config-vars basic">
{% for entry in entries %}
<div class="config-vars-item">
<div class="config-vars-label">
<a name="{{ entry.term | slugify }}" class="title-link" href="#{{ entry.term | slugify }}"></a>
<span class="config-vars-label-name">{{ entry.term }}</span>
</div>
<div class="config-vars-description-and-children">
<span class="config-vars-description">
{{ entry.definition | markdownify | newline_to_br }}
{%- if entry.link -%}
<a href="{{ entry.link }}">Read more about: {{ entry.term }}</a>
{%- endif -%}
</span>
</div>
</div>
{% endfor %}
</div>

View File

@ -0,0 +1,33 @@
---
title: "Glossary"
description: "Home Assistant's Glossary."
---
The glossary covers terms which are used around Home Assistant.
{% assign entries = site.data.glossary | sort: 'term' %}
{% assign current_letter = '' %}
{% for entry in entries %}
{% assign first_letter = entry.term | slice: 0 %}
{% if first_letter != current_letter %}
{% assign current_letter = first_letter | upcase %}
## {{ current_letter }}
---
{% endif %}
### {{ entry.term }}
{{ entry.definition | markdownify }}
{%- if entry.link -%}
{{ "[Read more about " | append: "_" | append: entry.term | append: "_](" | append: entry.link | append: ")" | markdownify }}
{%- endif -%}
{% endfor %}

View File

@ -62,7 +62,7 @@ The variables {% term action %} allows you to set/override variables that will b
```yaml ```yaml
- alias: "Set variables" - alias: "Set variables"
variables: variables:
entities: entities:
- light.kitchen - light.kitchen
- light.living_room - light.living_room
brightness: 100 brightness: 100
@ -94,9 +94,7 @@ Variables can be templated.
### Scope of variables ### Scope of variables
Variables have local scope. This means that if a variable is changed in a nested sequence block, that change will not be visible in an outer sequence block. The `variables` {% term action %} assigns the values to previously defined variables with the same name. If a variable was not previously defined, it is assigned in the top-level (script run) scope.
Inside the `if` sequence the `variables` {% term action %} will only alter the `people` variable for that sequence.
{% raw %} {% raw %}
@ -111,17 +109,17 @@ sequence:
entity_id: device_tracker.paulus entity_id: device_tracker.paulus
state: "home" state: "home"
then: then:
# At this scope and this point of the sequence, people == 0
- variables: - variables:
people: "{{ people + 1 }}" people: "{{ people + 1 }}"
# At this scope, people will now be 1 ... paulus_home: true
- action: notify.notify - action: notify.notify
data: data:
message: "There are {{ people }} people home" # "There are 1 people home" message: "There are {{ people }} people home" # "There are 1 people home"
# ... but at this scope it will still be 0 # Variable value is now updated
- action: notify.notify - action: notify.notify
data: data:
message: "There are {{ people }} people home" # "There are 0 people home" message: "There are {{ people }} people home {% if paulus_home is defined %}(including Paulus){% endif %}"
# "There are 1 people home (including Paulus)"
``` ```
{% endraw %} {% endraw %}
@ -213,8 +211,8 @@ This {% term action %} evaluates the template, and if true, the script will cont
The template is re-evaluated whenever an entity ID that it references changes state. If you use non-deterministic functions like `now()` in the template it will not be continuously re-evaluated, but only when an entity ID that is referenced is changed. If you need to periodically re-evaluate the template, reference a sensor from the [Time and Date](/integrations/time_date/) integration that will update minutely or daily. The template is re-evaluated whenever an entity ID that it references changes state. If you use non-deterministic functions like `now()` in the template it will not be continuously re-evaluated, but only when an entity ID that is referenced is changed. If you need to periodically re-evaluate the template, reference a sensor from the [Time and Date](/integrations/time_date/) integration that will update minutely or daily.
{% raw %} {% raw %}
```yaml
```yaml
# Wait until media player is stopped # Wait until media player is stopped
- alias: "Wait until media player is stopped" - alias: "Wait until media player is stopped"
wait_template: "{{ is_state('media_player.floor', 'stop') }}" wait_template: "{{ is_state('media_player.floor', 'stop') }}"
@ -258,8 +256,8 @@ With both types of waits it is possible to set a timeout after which the script
You can also get the script to abort after the timeout by using optional `continue_on_timeout: false`. You can also get the script to abort after the timeout by using optional `continue_on_timeout: false`.
{% raw %} {% raw %}
```yaml
```yaml
# Wait for IFTTT event or abort after specified timeout. # Wait for IFTTT event or abort after specified timeout.
- wait_for_trigger: - wait_for_trigger:
- trigger: event - trigger: event
@ -322,6 +320,7 @@ This can be used to take different actions based on whether or not the condition
target: target:
entity_id: switch.some_light entity_id: switch.some_light
``` ```
{% endraw %} {% endraw %}
## Fire an event ## Fire an event
@ -453,7 +452,7 @@ repeat:
{% endraw %} {% endraw %}
Other types are accepted as list items, for example, each item can be a Other types are accepted as list items, for example, each item can be a
template, or even an mapping of key/value pairs. template, or even an mapping of key/value pairs.
{% raw %} {% raw %}
@ -509,7 +508,7 @@ For example:
- repeat: - repeat:
while: "{{ is_state('sensor.mode', 'Home') and repeat.index < 10 }}" while: "{{ is_state('sensor.mode', 'Home') and repeat.index < 10 }}"
sequence: sequence:
- ... - ...
``` ```
{% endraw %} {% endraw %}
@ -559,8 +558,9 @@ For example:
- repeat: - repeat:
until: "{{ is_state('device_tracker.iphone', 'home') }}" until: "{{ is_state('device_tracker.iphone', 'home') }}"
sequence: sequence:
- ... - ...
``` ```
{% endraw %} {% endraw %}
### Repeat loop variable ### Repeat loop variable
@ -691,7 +691,6 @@ automation:
{% endraw %} {% endraw %}
More `choose` can be used together. This is the case of an IF-IF. More `choose` can be used together. This is the case of an IF-IF.
The following example shows how a single {% term automation %} can control entities that aren't related to each other but have in common the same trigger. The following example shows how a single {% term automation %} can control entities that aren't related to each other but have in common the same trigger.
@ -856,8 +855,8 @@ Some of the caveats of running {% term actions %} in parallel:
there is no guarantee that they will be completed in the same order. there is no guarantee that they will be completed in the same order.
- If one {% term action %} fails or errors, the other {% term actions %} will keep running until - If one {% term action %} fails or errors, the other {% term actions %} will keep running until
they too have finished or errored. they too have finished or errored.
- Variables created/modified in one parallelized {% term action %} are not available - Variables created/modified in one parallelized {% term action %} can conflict with variables
in another parallelized {% term action %}. Each step in a parallelized has its own scope. from another parallelized {% term action %}. Make sure to give them distinct names to prevent that.
## Stopping a script sequence ## Stopping a script sequence
@ -961,7 +960,7 @@ blueprint:
input: input:
input_boolean: input_boolean:
name: Boolean name: Boolean
selector: selector:
boolean: boolean:
actions: actions:

View File

@ -149,7 +149,7 @@ Another use of the {% my developer_statistics title="statistics developer tool"
<svg width="24" height="24" viewBox="0 0 24 24"><path d="M22,13V22H2V19L22,13M21.68,7.06L16.86,4.46L17.7,7.24L7.58,10.24C6.63,8.95 4.82,8.67 3.53,9.62C2.24,10.57 1.96,12.38 2.91,13.67C3.85,14.97 5.67,15.24 6.96,14.29C7.67,13.78 8.1,12.97 8.14,12.09L18.26,9.09L19.1,11.87L21.68,7.06Z" /></svg> <svg width="24" height="24" viewBox="0 0 24 24"><path d="M22,13V22H2V19L22,13M21.68,7.06L16.86,4.46L17.7,7.24L7.58,10.24C6.63,8.95 4.82,8.67 3.53,9.62C2.24,10.57 1.96,12.38 2.91,13.67C3.85,14.97 5.67,15.24 6.96,14.29C7.67,13.78 8.1,12.97 8.14,12.09L18.26,9.09L19.1,11.87L21.68,7.06Z" /></svg>
icon. Use date & time to search for the incorrect data point and adjust the value. icon. Use date & time to search for the incorrect data point and adjust the value.
![Screenshot showing adjusting the long-term statistic history value](/images/blog/2022-04/adjust-statistics.png) ![Screenshot showing adjusting the long-term statistic history value](/images/docs/developer-tools/adjust-statistics.png)
## Assist tab ## Assist tab

View File

@ -12,13 +12,14 @@ You need to have a compatible Z-Wave stick or module installed. The following de
The firmwares of 700 and 800 series Z-Wave controllers have several bugs which impact the stability of the mesh and can cause the controller to become unresponsive. Because there is no known firmware version that is completely fixed, it is recommended to choose a firmware based on the following criteria: The firmwares of 700 and 800 series Z-Wave controllers have several bugs which impact the stability of the mesh and can cause the controller to become unresponsive. Because there is no known firmware version that is completely fixed, it is recommended to choose a firmware based on the following criteria:
- 700 series: - 700 series:
- prefer SDK versions 7.17.2 to 7.18.x - prefer SDK versions 7.17.2 to 7.18.x or 7.21.6 and newer
- SDK versions 7.19.x are okay - SDK versions 7.19.x are okay
- avoid SDK versions before 7.17.2 - avoid SDK versions before 7.17.2
- avoid SDK versions 7.20 to 7.21.3 - avoid SDK versions 7.20 to 7.21.5
- 800 series - 800 series
- prefer SDK versions 7.22.x - prefer SDK versions 7.23.x and newer
- SDK versions 7.22.x are okay
- SDK versions 7.17.2 to 7.19.x are okay - SDK versions 7.17.2 to 7.19.x are okay
- avoid SDK versions before 7.17.2 - avoid SDK versions before 7.17.2
- avoid SDK versions 7.20 to 7.21.3 - avoid SDK versions 7.20 to 7.21.3

View File

@ -3,7 +3,7 @@
{% assign percentage = 100.0 | times: active_installations | divided_by: site.data.analytics_data.reports_integrations | round: 1 %} {% assign percentage = 100.0 | times: active_installations | divided_by: site.data.analytics_data.reports_integrations | round: 1 %}
<section class="aside-module grid__item one-whole lap-one-half"> <section class="aside-module grid__item one-whole lap-one-half">
<div class='brand-logo-container section'> <div class='brand-logo-container section'>
<img src='https://brands.home-assistant.io/{% if page.ha_brand %}brands{% else %}_{% endif %}/{{ domain }}/logo.png' srcset='https://brands.home-assistant.io/{% if page.ha_brand %}brands{% else %}_{% endif %}/{{ page.ha_domain }}/logo@2x.png 2x' /> <img src='https://brands.home-assistant.io/{% if page.ha_brand %}brands{% else %}_{% endif %}/{{ page.ha_domain }}//logo.png' srcset='https://brands.home-assistant.io/{% if page.ha_brand %}brands{% else %}_{% endif %}/{{ page.ha_domain }}/logo@2x.png 2x' />
{%- if page.ha_config_flow and domain -%} {%- if page.ha_config_flow and domain -%}
{% my config_flow_start badge domain=domain %} {% my config_flow_start badge domain=domain %}

View File

@ -29,10 +29,10 @@
<div class="ha-buy-dialog-tab-content-wrapper"> <div class="ha-buy-dialog-tab-content-wrapper">
{% for distributor_region in distributor_regions %} {% for distributor_region in distributor_regions %}
<div class="ha-buy-dialog-tab-content {% if forloop.first %}active{% endif %}" id="{{ distributor_region.name | slugify }}"> <div class="ha-buy-dialog-tab-content {% if forloop.first %}active{% endif %}" id="{{ distributor_region.name | slugify }}">
{% assign az_ship_distributors = distributor_region.items | sort: 'name' | sort: 'ship_from'%} {% assign az_ship_distributors = distributor_region.items | case_insensitive_sort: 'name' | sort: 'ship_from' %}
<div class="ha-buy-dialog-distributor-items"> <div class="ha-buy-dialog-distributor-items">
{% for distributor in az_ship_distributors %} {% for distributor in az_ship_distributors %}
<a href="{{ distributor.url }}" target="_blank" rel="noreferrer" class="ha-buy-dialog-distributor-item"> <a href="{{ distributor.url }}" target="_blank" class="ha-buy-dialog-distributor-item">
{% if distributor.logo %} {% if distributor.logo %}
<img src="{{ distributor.logo }}" alt="{{ distributor.name }} logo" class="ha-buy-dialog-distributor-logo"> <img src="{{ distributor.logo }}" alt="{{ distributor.name }} logo" class="ha-buy-dialog-distributor-logo">
{% else %} {% else %}

View File

@ -10,4 +10,4 @@ To add the {{ title | downcase }} to your user interface:
- This means that it is no longer automatically updated when new dashboard elements become available. - This means that it is no longer automatically updated when new dashboard elements become available.
- Once you've taken control, you can't get this specific dashboard back to update automatically. However, you can create a new default dashboard. - Once you've taken control, you can't get this specific dashboard back to update automatically. However, you can create a new default dashboard.
- To continue, in the dialog, select the three dots {% icon "mdi:dots-vertical" %} menu, then select **Take control**. - To continue, in the dialog, select the three dots {% icon "mdi:dots-vertical" %} menu, then select **Take control**.
2. [Add a card](/dashboards/cards/#adding-cards-to-your-dashboard) to your dashboard. 2. [Add a card and customize actions and features](/dashboards/cards/#adding-cards-to-your-dashboard) to your dashboard.

View File

@ -462,7 +462,7 @@ Minimum recommended assignments:
1. Start the virtual machine. 1. Start the virtual machine.
2. Observe the boot process of the Home Assistant Operating System. 2. Observe the boot process of the Home Assistant Operating System.
3. Once completed, you will be able to reach Home Assistant on <a href="http://homeassistant.local:8123" target="_blank">homeassistant.local:8123</a>. If you are running an older Windows version or have a stricter network configuration, you might need to access Home Assistant at <a href="http://homeassistant:8123" target="_blank">homeassistant:8123</a> or `http://X.X.X.X:8123` (replace X.X.X.X with your {{site.installation.types[page.installation_type].board}}s IP address). 3. Once completed, you will be able to reach Home Assistant on <a href="http://homeassistant.local:8123" target="_blank">homeassistant.local:8123</a>. If you are running an older Windows version or have a stricter network configuration, you might need to access Home Assistant at <a href="http://homeassistant:8123" target="_blank">homeassistant:8123</a> or `http://X.X.X.X:8123` (replace X.X.X.X with your virtual machines IP address).
{% endif %} {% endif %}

View File

@ -0,0 +1,208 @@
---
title: My integration
description: Example document structure and text blocks for integration documentation.
ha_release: 2025.3
ha_iot_class: Local Push
ha_codeowners:
- '@home-assistant/core'
ha_domain: my_integration
ha_integration_type: integration
related:
- url: https://developers.home-assistant.io/docs/documenting/standards
title: Documentation standard
- url: https://developers.home-assistant.io/docs/core/integration-quality-scale/rules/
title: Integration Quality Scale - Rules
- docs: /docs/glossary/
title: Glossary
- docs: /docs/tools/quick-bar/#my-links
title: My link
---
<!--- The integration documentation template provides a documentation structure as well as some example content per section. The example content is meant for inspiration, it may not apply for your integration or will at least have to be adapted. -->
<!--- Use this template together with the developer documentation, under [Documentation standard](https://developers.home-assistant.io/docs/documenting/standards) and the documentation rules of the [Integration Quality Scale](https://developers.home-assistant.io/docs/core/integration-quality-scale/rules/). -->
The **My integration** {% term integration %} is used to integrate with the devices of [MyCompany](https://www.mycompany.com). MyCompany creates various smart home appliances and devices and are known for their MyProduct.
Use case: When you combine it with their other device you can do x.
## Supported devices
The following devices are known to be supported by the integration:
- Device 1
- Device 2
- Every appliance that runs MyOS
## Unsupported devices
The following devices are not supported by the integration:
- Device 3
- Appliances built before 2010
## Prerequisites
1. Open the app store and install the **MyProduct** app.
2. Create an account.
3. Add a device to the app.
4. Open the app and go to the **Settings** page.
5. Select **Expose API**.
{% include integrations/config_flow.md %}
<!--- The next section is about documenting configuration variables. For details, refer to the [documentation standard on configuration variables](/docs/documenting/standards#configuration-variables). -->
<!--- In case your integration is used via a config flow: -->
{% configuration_basic %}
Host:
description: "The IP address of your bridge. You can find it in your router or in the Integration app under **Bridge Settings** > **Local API**."
Local access token:
description: "The local access token for your bridge. You can find it in the Integration app under **Bridge Settings** > **Local API**."
{% endconfiguration_basic %}
<!--- In case an integration is set up via YAML in the {% term "`configuration.yaml`" %}: -->
{% configuration %}
Host:
description: "The IP address of your bridge. You can find it in your router or in the Integration app under **Bridge Settings** > **Local API**."
required: false
type: string
Local access token:
description: "The local access token for your bridge. You can find it in the Integration app under **Bridge Settings** > **Local API**."
required: false
type: string
{% endconfiguration %}
## Configuration options
The integration provides the following configuration options:
{% configuration_basic %}
Country code:
description: You can specify the country code (NL or BE) of the country to display on the camera.
Timeframe:
description: Minutes to look ahead for precipitation forecast sensors (minimum 5, maximum 120).
{% endconfiguration_basic %}
## Supported functionality
### Entities
The **My integration** integration provides the following entities.
#### Buttons
- **Start backflush**
- **Description**: Starts the backflush process on your machine. You got 15 seconds to turn the paddle after activation.
- **Available for machines**: all
#### Numbers
- **Dose**
- **Description**: Dosage (in ticks) for each key
- **Available for machines**: GS3 AV, Linea Mini.
- **Remarks**: GS3 has this multiple times, one for each physical key (1-4), and the entities are disabled by default.
#### Sensors
- **Current coffee temperature**
- **Description**: Current temperature of the coffee boiler.
- **Available for machines**: all
- **Remarks**: When the machine reaches temperature, this will be approximately 3 degrees higher than the `Coffee target temperature`, due to different measurement points.
- **Current steam temperature**
- **Description**: Current temperature of the steam boiler.
- **Available for machines**: Linea Micra, GS3 AV, GS3 MP.
- **Remarks**: -
#### Selects
- **Prebrew/-infusion mode**
- **Description**: Whether to use prebrew, preinfusion, or neither.
- **Options**: Disabled, Prebrew, Preinfusion
- **Available for machines**: Linea Micra, Linea Mini, GS3 AV
- **Steam level**
- **Description**: The level your steam boiler should run at.
- **Options**: 1, 2, 3
- **Available for machines**: Linea Micra
#### Updates
- **Gateway firmware**
- **Description**: Firmware status of the gateway.
- **Available for machines**: all
## Actions
The integration provides the following actions.
### Action: Get schedule
The `my_integration.get_schedule` action is used to fetch a schedule from the integration.
- **Data attribute**: `config_entry_id`
- **Description**: The ID of the config entry to get the schedule from.
- **Optional**: No
## Examples
### Turning off the LEDs during the night
The status LEDs on the device can be quite bright.
To tackle this, you can use this blueprint to easily automate the LEDs turning off when the sun goes down.
link to the blueprint on the [blueprints
exchange](https://community.home-assistant.io/c/blueprints-exchange/53)
## Data updates
The **My integration** integration fetches data from the device every 5 minutes by default.
Newer devices (the ones running MyOS) have the possibility to push data.
In this case, pushing data is enabled when the integration is started. If enabling data push fails, the integration uses data {% term polling %}.
## Known limitations
The integration does not provide the ability to reboot, which can instead be done via the manufacturer's app.
## Troubleshooting
### Cant set up the device
#### Symptom: “This device cant be reached”
When trying to set up the integration, the form shows the message “This device cant be reached”.
##### Description
This means the settings on the device are incorrect, since the device needs to be enabled for local communication.
##### Resolution
To resolve this issue, try the following steps:
1. Make sure your device is powered up (LEDs are on).
2. Make sure your device is connected to the internet:
- Make sure the app of the manufacturer can see the device.
3. Make sure the device has the local communication enabled:
- Check the devices settings.
- Check the devices manual.
...
### I can't see my devices
Make sure the devices are visible and controllable via the manufacturer's app.
If they are not, check the device's power and network connection.
### The device goes unavailable after a day
Make sure you turned off the device's power-saving mode.
## Removing the integration
This integration follows standard integration removal.
{% include integrations/remove_device_service.md %}
After deleting the integration, go to the app of the manufacturer and remove the Home Assistant integration from there as well.

View File

@ -68,7 +68,7 @@ The integration will create a binary sensor for each zone that has a motion sens
### Switch ### Switch
The integration will create switch entities to toggle the MyFan/ezFan setting, and to toggle air conditioning fresh air mode, if they are supported by your hardware. The integration will create switch entities to toggle the MyFan/ezFan setting, to toggle air conditioning fresh air mode, and to toggle MySleep$aver, if they are supported by your hardware.
With MyPlace, any relays will be created as switch entities. With MyPlace, any relays will be created as switch entities.

View File

@ -25,6 +25,7 @@ ha_zeroconf: true
--- ---
The AirGradient integration will fetch data from your [AirGradient devices](https://www.airgradient.com/). The AirGradient integration will fetch data from your [AirGradient devices](https://www.airgradient.com/).
AirGradient creates indoor and outdoor air quality monitors that enable you know if the air quality is healthy or not. They measure metrics such as PM2.5, CO2, TVOCs, and NOx. Both the software and hardware are open-source, allowing you to customize or extend the device functionality.
{% important %} {% important %}
In order for the device to be set up or discovered by Home Assistant, the [firmware](https://www.airgradient.com/documentation/firmwares) version should be at least 3.1.1. In order for the device to be set up or discovered by Home Assistant, the [firmware](https://www.airgradient.com/documentation/firmwares) version should be at least 3.1.1.
@ -32,6 +33,11 @@ In order for the device to be set up or discovered by Home Assistant, the [firmw
{% include integrations/config_flow.md %} {% include integrations/config_flow.md %}
{% configuration_basic %}
Host:
description: "The IP address or hostname for your AirGradient device."
{% endconfiguration_basic %}
## Available sensors ## Available sensors
The integration will fetch data from each device. The following sensors are supported: The integration will fetch data from each device. The following sensors are supported:
@ -61,3 +67,9 @@ The following entities are supported:
- Requesting CO2 calibration - Requesting CO2 calibration
- Requesting LED bar test - Requesting LED bar test
- Toggling sharing metrics with AirGradient - Toggling sharing metrics with AirGradient
## Remove integration
This integration follows standard integration removal, no extra steps are required.
{% include integrations/remove_device_service.md %}

View File

@ -62,7 +62,7 @@ availability:
required: true required: true
type: string type: string
value_template: value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_mode: availability_mode:
@ -71,7 +71,7 @@ availability_mode:
type: string type: string
default: latest default: latest
availability_template: availability_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_topic: availability_topic:
@ -98,7 +98,7 @@ code_trigger_required:
type: boolean type: boolean
default: true default: true
command_template: command_template:
description: "The [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) used for the command payload. Available variables: `action` and `code`." description: "The [template](/docs/configuration/templating/#using-command-templates-with-mqtt) used for the command payload. Available variables: `action` and `code`."
required: false required: false
type: template type: template
default: action default: action
@ -182,7 +182,7 @@ icon:
required: false required: false
type: icon type: icon
json_attributes_template: json_attributes_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
required: false required: false
type: template type: template
json_attributes_topic: json_attributes_topic:
@ -271,7 +271,7 @@ unique_id:
required: false required: false
type: string type: string
value_template: value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the value." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the value."
required: false required: false
type: template type: template
{% endconfiguration %} {% endconfiguration %}

View File

@ -67,5 +67,7 @@ Model:
Maximum Tokens to Return in Response: Maximum Tokens to Return in Response:
description: The maximum number of tokens to generate before stopping. Note that our models may stop _before_ reaching this maximum. This parameter only specifies the absolute maximum number of tokens to generate. Different models have different maximum values for this parameter. See [models](https://docs.anthropic.com/en/docs/models-overview) for details. description: The maximum number of tokens to generate before stopping. Note that our models may stop _before_ reaching this maximum. This parameter only specifies the absolute maximum number of tokens to generate. Different models have different maximum values for this parameter. See [models](https://docs.anthropic.com/en/docs/models-overview) for details.
Temperature: Temperature:
description: Amount of randomness injected into the response. Use `temperature` closer to `0.0` for analytical / multiple choice, and closer to `1.0` for creative and generative tasks. Note that even with `temperature` of `0.0`, the results will not be fully deterministic. description: Amount of randomness injected into the response. Use `temperature` closer to `0.0` for analytical / multiple choice, and closer to `1.0` for creative and generative tasks. Note that even with `temperature` of `0.0`, the results will not be fully deterministic. This parameter is ignored if extended thinking is enabled (see below).
Thinking budget:
description: For models with [extending thinking](https://docs.anthropic.com/en/docs/build-with-claude/extended-thinking) support, such as Claude 3.7 Sonnet, this parameter determines the maximum number of tokens Claude is allowed use for its internal reasoning process. Larger budgets can improve response quality by enabling more thorough analysis for complex problems, although Claude may not use the entire budget allocated, especially at ranges above 32K. Anthropic suggests starting at the minimum and increasing the thinking budget incrementally to find the optimal range for Claude to perform well for your use case. Higher token counts may allow you to achieve more comprehensive and nuanced reasoning, but there may also be diminishing returns depending on the task. Be prepared for potentially longer response times due to the additional processing required for the reasoning process. The value must always be less than the `Maximum Tokens` specified. If the value is below `1024`, then extended thinking is disabled. This parameter is ignored if the model does not support extended thinking.
{% endconfiguration_basic %} {% endconfiguration_basic %}

View File

@ -0,0 +1,31 @@
---
title: Apollo Automation
description: Connect and control your Apollo Automation ESPHome devices using the ESPHome integration
ha_release: '2025.3'
ha_iot_class: Local Push
ha_category:
- Sensor
- Presence detection
ha_domain: apollo_automation
ha_integration_type: brand
ha_supporting_domain: esphome
ha_supporting_integration: ESPHome
ha_platforms:
- sensor
works_with:
- local
---
[Apollo automation](https://apolloautomation.com/) is a member of the Made for ESPHome program.
Apollo Automation devices work locally and integrate seamlessly with the [ESPHome](/integrations/esphome/) {% term integration %} in Home Assistant. As all connectivity is done locally, status updates and device control from Home Assistant happen instantly.
{% include integrations/supported_brand.md %}
## Supported devices
The following devices are known to be supported by the integration. They are certified under the [Works with Home Assistant](https://partner.home-assistant.io/) program.
- [MTR-1 Multi-Target Radar Multisensor For Home Assistant (LD2450)](https://apolloautomation.com/products/mtr-1) - A tiny, but powerful radar-based (mmWave) presence sensor that can pack in many other sensors.
- [MSR-2 mmWave Multisensor For Home Assistant (LD2410B)](https://apolloautomation.com/products/msr-2) - An even smaller multisensor that is the successor of the initial community feedback-driven design.
- [AIR-1 Air Quality Sensor For Home Assistant](https://apolloautomation.com/products/air-1) - A small air quality multisensor that can be extended to incorporate a huge variety of sensors.

View File

@ -10,6 +10,7 @@ ha_domain: azure_storage
ha_codeowners: ha_codeowners:
- '@zweckj' - '@zweckj'
ha_integration_type: service ha_integration_type: service
ha_quality_scale: bronze
--- ---
This integration allows you to use [Azure storage accounts](https://learn.microsoft.com/en-us/azure/storage/common/storage-account-overview) for use with Home Assistant Backups. This integration allows you to use [Azure storage accounts](https://learn.microsoft.com/en-us/azure/storage/common/storage-account-overview) for use with Home Assistant Backups.

View File

@ -3,12 +3,15 @@ title: Backup
description: Allow creating backups of container and core installations. description: Allow creating backups of container and core installations.
ha_category: ha_category:
- Other - Other
- Sensor
ha_release: 2022.4 ha_release: 2022.4
ha_quality_scale: internal ha_quality_scale: internal
ha_domain: backup ha_domain: backup
ha_codeowners: ha_codeowners:
- '@home-assistant/core' - '@home-assistant/core'
ha_iot_class: Calculated ha_iot_class: Calculated
ha_platforms:
- sensor
ha_integration_type: system ha_integration_type: system
related: related:
- docs: /common-tasks/general/#backups - docs: /common-tasks/general/#backups
@ -80,3 +83,24 @@ automation:
## Restoring a backup ## Restoring a backup
To restore a backup, follow the steps described in [Restoring a backup](/common-tasks/general/#restoring-a-backup). To restore a backup, follow the steps described in [Restoring a backup](/common-tasks/general/#restoring-a-backup).
## Sensors
The **Backup** {% term integration %} provides several sensors.
### Backup Manager State
The current state of the backup system. Possible states are:
- Idle
- Creating a backup
- Receiving a backup
- Restoring a backup
### Next scheduled automatic backup
The timestamp of the next scheduled automatic backup.
### Last successful automatic backup
The timestamp of the last successful automatic backup.

View File

@ -46,6 +46,10 @@ For devices that support Auto Comfort and are running firmware 3.1 or later, an
For devices that support Auto Comfort, a climate {% term entity %} allows adjusting the target temperature. For devices that support Auto Comfort, a climate {% term entity %} allows adjusting the target temperature.
{% note %}
**Climate and Climate Sensors Become Unavailable:** Climate and some sensors like temperature are provided by the remote, not the fan itself on certain models. When the fan loses connection to the remote, these entities may become unavailable while the fan remains available. Consult vendor documentation on how to re-establish connectivity between the fan and remote and reload the integration to restore entities availability.
{% endnote %}
### Number ### Number
Adjusting the minimum and maximum speed for devices that support Auto Comfort is available. Adjusting the minimum and maximum speed for devices that support Auto Comfort is available.

View File

@ -13,6 +13,7 @@ ha_domain: balboa
ha_platforms: ha_platforms:
- binary_sensor - binary_sensor
- climate - climate
- event
- fan - fan
- light - light
- select - select
@ -32,6 +33,7 @@ There is currently support for the following device types within Home Assistant:
- Binary sensor (Filter cycles and circulation pumps) - Binary sensor (Filter cycles and circulation pumps)
- Climate - Climate
- Event (Last known fault, if any)
- Fan (Pumps/Jets) - Fan (Pumps/Jets)
- Light - Light
- Select (Low/high temperature range) - Select (Low/high temperature range)

View File

@ -51,7 +51,7 @@ availability:
required: true required: true
type: string type: string
value_template: value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_mode: availability_mode:
@ -60,7 +60,7 @@ availability_mode:
type: string type: string
default: latest default: latest
availability_template: availability_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_topic: availability_topic:
@ -156,7 +156,7 @@ icon:
required: false required: false
type: icon type: icon
json_attributes_template: json_attributes_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
required: false required: false
type: template type: template
json_attributes_topic: json_attributes_topic:
@ -214,7 +214,7 @@ unique_id:
required: false required: false
type: string type: string
value_template: value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) that returns a string to be compared to `payload_on`/`payload_off` or an empty string, in which case the MQTT message will be removed. Remove this option when `payload_on` and `payload_off` are sufficient to match your payloads (i.e no preprocessing of original message is required)." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) that returns a string to be compared to `payload_on`/`payload_off` or an empty string, in which case the MQTT message will be removed. Remove this option when `payload_on` and `payload_off` are sufficient to match your payloads (i.e no preprocessing of original message is required)."
required: false required: false
type: template type: template
{% endconfiguration %} {% endconfiguration %}

View File

@ -13,9 +13,9 @@ ha_domain: bring
ha_integration_type: service ha_integration_type: service
ha_platforms: ha_platforms:
- diagnostics - diagnostics
- event
- sensor - sensor
- todo - todo
- event
related: related:
- docs: /integrations/todo - docs: /integrations/todo
title: To-do list integration documentation title: To-do list integration documentation
@ -25,6 +25,7 @@ related:
title: To-do list card title: To-do list card
- url: https://www.getbring.com/ - url: https://www.getbring.com/
title: Bring! title: Bring!
ha_quality_scale: platinum
--- ---
The **Bring!** integration allows you to sync your [Bring!](https://www.getbring.com/) shopping lists with Home Assistant. The **Bring!** integration allows you to sync your [Bring!](https://www.getbring.com/) shopping lists with Home Assistant.

View File

@ -4,7 +4,7 @@ description: Get energy usage from Burbank Water and Power (BWP) using the Opowe
ha_category: ha_category:
- Energy - Energy
- Sensor - Sensor
ha_release: 2025.3 ha_release: 2023.8
ha_domain: burbank_water_and_power ha_domain: burbank_water_and_power
ha_integration_type: virtual ha_integration_type: virtual
ha_supporting_domain: opower ha_supporting_domain: opower

View File

@ -40,7 +40,7 @@ availability:
required: true required: true
type: string type: string
value_template: value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_mode: availability_mode:
@ -49,7 +49,7 @@ availability_mode:
type: string type: string
default: latest default: latest
availability_template: availability_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_topic: availability_topic:
@ -57,7 +57,7 @@ availability_topic:
required: false required: false
type: string type: string
command_template: command_template:
description: Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to generate the payload to send to `command_topic`. description: Defines a [template](/docs/configuration/templating/#using-command-templates-with-mqtt) to generate the payload to send to `command_topic`.
required: false required: false
type: template type: template
command_topic: command_topic:
@ -144,7 +144,7 @@ icon:
required: false required: false
type: icon type: icon
json_attributes_template: json_attributes_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
required: false required: false
type: template type: template
json_attributes_topic: json_attributes_topic:

View File

@ -50,7 +50,7 @@ availability:
required: true required: true
type: string type: string
value_template: value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_mode: availability_mode:
@ -59,7 +59,7 @@ availability_mode:
type: string type: string
default: latest default: latest
availability_template: availability_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_topic: availability_topic:
@ -146,7 +146,7 @@ image_encoding:
required: false required: false
type: string type: string
json_attributes_template: json_attributes_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the JSON dictionary from messages received on the `json_attributes_topic`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the JSON dictionary from messages received on the `json_attributes_topic`."
required: false required: false
type: template type: template
json_attributes_topic: json_attributes_topic:

View File

@ -54,9 +54,11 @@ Home Assistant Cast requires your Home Assistant installation to be accessible v
{% note %} {% note %}
Chromecasts generally ignore DNS servers from DHCP and will instead use Google's DNS servers, 8.8.8.8 and 8.8.4.4. This means media URLs must either be specifying the IP-address of the server directly, e.g. `http://192.168.1.1:8123/movie.mp4`, or be publicly resolvable, e.g. `http://homeassistant.internal.mydomain.com:8123/movie.mp4` where `homeassistant.internal.mydomain.com` resolves to `192.168.1.1`. A hostname which can't be publicly resolved, e.g. `http://homeassistant.local:8123/movie.mp4` will fail to play. Chromecasts generally don't resolve hosts through mDNS and also ignore DNS servers from DHCP, they instead use Google's public DNS servers, 8.8.8.8 and 8.8.4.4.
This is important when casting TTS or local media sources; the cast integration will cast such media from the `external_url` if [configured](/integrations/homeassistant/#editing-the-general-settings-in-yaml), otherwise from the Home Assistant Cloud if configured, otherwise from the [`internal_url`](/integrations/homeassistant/#editing-the-general-settings-in-yaml). Note that the Home Assistant Cloud will not be used if an `external_url` is configured. This means media URLs must either be specifying the IP-address of the server directly, e.g. `http://192.168.1.1:8123/movie.mp4`, or be publicly resolvable, e.g. `http://homeassistant.internal.mydomain.com:8123/movie.mp4` where `homeassistant.internal.mydomain.com` resolves to `192.168.1.1` using Google's DNS servers. A hostname which can't be publicly resolved, e.g. `http://homeassistant.local:8123/movie.mp4` will fail to play.
This is important when casting TTS or local media sources; the cast integration will cast such media from the local Home Assistant URL, which can be configured by navigating to **{% my network title="Settings > System > Network" %}** or by configuring an [`internal_url`](/integrations/homeassistant/#editing-the-general-settings-in-yaml).
{% endnote %} {% endnote %}

View File

@ -54,7 +54,7 @@ availability:
required: true required: true
type: string type: string
value_template: value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_mode: availability_mode:
@ -63,7 +63,7 @@ availability_mode:
type: string type: string
default: latest default: latest
availability_template: availability_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_topic: availability_topic:
@ -187,7 +187,7 @@ icon:
required: false required: false
type: icon type: icon
json_attributes_template: json_attributes_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
required: false required: false
type: template type: template
json_attributes_topic: json_attributes_topic:
@ -281,7 +281,7 @@ precision:
type: float type: float
default: 0.1 for Celsius and 1.0 for Fahrenheit. default: 0.1 for Celsius and 1.0 for Fahrenheit.
preset_mode_command_template: preset_mode_command_template:
description: Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to generate the payload to send to `preset_mode_command_topic`. description: Defines a [template](/docs/configuration/templating/#using-command-templates-with-mqtt) to generate the payload to send to `preset_mode_command_topic`.
required: false required: false
type: template type: template
preset_mode_command_topic: preset_mode_command_topic:
@ -293,7 +293,7 @@ preset_mode_state_topic:
required: false required: false
type: string type: string
preset_mode_value_template: preset_mode_value_template:
description: Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the `preset_mode` value from the payload received on `preset_mode_state_topic`. description: Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the `preset_mode` value from the payload received on `preset_mode_state_topic`.
required: false required: false
type: template type: template
preset_modes: preset_modes:
@ -311,6 +311,27 @@ retain:
required: false required: false
type: boolean type: boolean
default: false default: false
swing_horizontal_mode_command_template:
description: A template to render the value sent to the `swing_horizontal_mode_command_topic` with.
required: false
type: template
swing_horizontal_mode_command_topic:
description: The MQTT topic to publish commands to change the swing horizontal mode.
required: false
type: string
swing_horizontal_mode_state_template:
description: A template to render the value received on the `swing_horizontal_mode_state_topic` with.
required: false
type: template
swing_horizontal_mode_state_topic:
description: The MQTT topic to subscribe for changes of the HVAC swing horizontal mode. If this is not set, the swing horizontal mode works in optimistic mode (see below).
required: false
type: string
swing_horizontal_modes:
description: A list of supported swing horizontal modes.
required: false
default: ['on', 'off']
type: list
swing_mode_command_template: swing_mode_command_template:
description: A template to render the value sent to the `swing_mode_command_topic` with. description: A template to render the value sent to the `swing_mode_command_topic` with.
required: false required: false
@ -333,7 +354,7 @@ swing_modes:
default: ['on', 'off'] default: ['on', 'off']
type: list type: list
target_humidity_command_template: target_humidity_command_template:
description: Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to generate the payload to send to `target_humidity_command_topic`. description: Defines a [template](/docs/configuration/templating/#using-command-templates-with-mqtt) to generate the payload to send to `target_humidity_command_topic`.
required: false required: false
type: template type: template
target_humidity_command_topic: target_humidity_command_topic:
@ -345,7 +366,7 @@ target_humidity_state_topic:
required: false required: false
type: string type: string
target_humidity_state_template: target_humidity_state_template:
description: Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract a value for the climate `target_humidity` state. description: Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract a value for the climate `target_humidity` state.
required: false required: false
type: template type: template
temperature_command_template: temperature_command_template:
@ -461,6 +482,9 @@ mqtt:
- "off" - "off"
- "cool" - "cool"
- "fan_only" - "fan_only"
swing_horizontal_modes:
- "on"
- "off"
swing_modes: swing_modes:
- "on" - "on"
- "off" - "off"
@ -478,6 +502,7 @@ mqtt:
mode_command_template: "{{ value if value=="off" else "on" }}" mode_command_template: "{{ value if value=="off" else "on" }}"
temperature_command_topic: "study/ac/temperature/set" temperature_command_topic: "study/ac/temperature/set"
fan_mode_command_topic: "study/ac/fan/set" fan_mode_command_topic: "study/ac/fan/set"
swing_horizontal_mode_command_topic: "study/ac/swingH/set"
swing_mode_command_topic: "study/ac/swing/set" swing_mode_command_topic: "study/ac/swing/set"
precision: 1.0 precision: 1.0
``` ```

View File

@ -28,7 +28,9 @@ ha_platforms:
ha_integration_type: hub ha_integration_type: hub
--- ---
The Comelit SimpleHome integration allows you to control your [Comelit home automation devices](https://comelitgroup.it/installatore/offerta/domotica-e-smart-home). The **Comelit SimpleHome** {% term integration %} allows you to control your [Comelit home automation devices](https://comelitgroup.it/installatore/offerta/home-building-automation/).
## Supported devices
There is support for the following platform types within Home Assistant: There is support for the following platform types within Home Assistant:
@ -37,6 +39,36 @@ There is support for the following platform types within Home Assistant:
{% include integrations/config_flow.md %} {% include integrations/config_flow.md %}
## Alarm control panel {% configuration_basic %}
host:
description: The IP address of the Comelit SmartHome device.
port:
description: The TCP port of the Comelit SmartHome device. The default is port 80 (standard for HTTP).
pin:
description: The PIN of the Comelit SmartHome device.
type:
description: The type of Comelit SmartHome device.
keys:
bridge:
description: Comelit Serial Bridge.
vedo:
description: Comelit VEDO System.
{% endconfiguration_basic %}
## Data updates
This integration {% term polling polls %} data from the device every 5 seconds by default.
## Supported functionality
The **Comelit SimpleHome** {% term integration %} provides the following entities:
### Alarm control panel
The integration will create an alarm entity for each area. Additionally, it will create a sensor and a presence detection binary sensor for each zone, enhancing monitoring capabilities. The integration will create an alarm entity for each area. Additionally, it will create a sensor and a presence detection binary sensor for each zone, enhancing monitoring capabilities.
## Removing the integration
This integration follows standard integration removal. No extra steps are required.
{% include integrations/remove_device_service.md %}

View File

@ -57,7 +57,7 @@ availability:
required: true required: true
type: string type: string
value_template: value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_mode: availability_mode:
@ -66,7 +66,7 @@ availability_mode:
type: string type: string
default: latest default: latest
availability_template: availability_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_topic: availability_topic:
@ -131,7 +131,7 @@ device:
required: false required: false
type: string type: string
device_class: device_class:
description: Sets the [class of the device](/integrations/cover/), changing the device state and icon that is displayed on the frontend. The `device_class` can be `null`. description: Sets the [class of the device](/integrations/cover/#device_class), changing the device state and icon that is displayed on the frontend. The `device_class` can be `null`.
required: false required: false
type: string type: string
enabled_by_default: enabled_by_default:
@ -157,7 +157,7 @@ icon:
required: false required: false
type: icon type: icon
json_attributes_template: json_attributes_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
required: false required: false
type: template type: template
json_attributes_topic: json_attributes_topic:
@ -203,6 +203,11 @@ payload_stop:
required: false required: false
type: string type: string
default: STOP default: STOP
payload_stop_tilt:
description: The command payload that stops the tilt.
required: false
type: string
default: stop
platform: platform:
description: Must be `cover`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload). description: Must be `cover`. Only allowed and required in [MQTT auto discovery device messages](/integrations/mqtt/#device-discovery-payload).
required: true required: true
@ -218,7 +223,7 @@ position_open:
type: integer type: integer
default: 100 default: 100
position_template: position_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) that can be used to extract the payload for the `position_topic` topic. Within the template the following variables are available: `entity_id`, `position_open`; `position_closed`; `tilt_min`; `tilt_max`. The `entity_id` can be used to reference the entity's attributes with help of the [states](/docs/configuration/templating/#states) template function;" description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) that can be used to extract the payload for the `position_topic` topic. Within the template the following variables are available: `entity_id`, `position_open`; `position_closed`; `tilt_min`; `tilt_max`. The `entity_id` can be used to reference the entity's attributes with help of the [states](/docs/configuration/templating/#states) template function;"
required: false required: false
type: template type: template
position_topic: position_topic:
@ -236,7 +241,7 @@ retain:
type: boolean type: boolean
default: false default: false
set_position_template: set_position_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to define the position to be sent to the `set_position_topic` topic. Incoming position value is available for use in the template `{% raw %}{{ position }}{% endraw %}`. Within the template the following variables are available: `entity_id`, `position`, the target position in percent; `position_open`; `position_closed`; `tilt_min`; `tilt_max`. The `entity_id` can be used to reference the entity's attributes with help of the [states](/docs/configuration/templating/#states) template function;" description: "Defines a [template](/docs/configuration/templating/#using-command-templates-with-mqtt) to define the position to be sent to the `set_position_topic` topic. Incoming position value is available for use in the template `{% raw %}{{ position }}{% endraw %}`. Within the template the following variables are available: `entity_id`, `position`, the target position in percent; `position_open`; `position_closed`; `tilt_min`; `tilt_max`. The `entity_id` can be used to reference the entity's attributes with help of the [states](/docs/configuration/templating/#states) template function;"
required: false required: false
type: template type: template
set_position_topic: set_position_topic:
@ -278,7 +283,7 @@ tilt_closed_value:
type: integer type: integer
default: 0 default: 0
tilt_command_template: tilt_command_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) that can be used to extract the payload for the `tilt_command_topic` topic. Within the template the following variables are available: `entity_id`, `tilt_position`, the target tilt position in percent; `position_open`; `position_closed`; `tilt_min`; `tilt_max`. The `entity_id` can be used to reference the entity's attributes with help of the [states](/docs/configuration/templating/#states) template function;" description: "Defines a [template](/docs/configuration/templating/#using-command-templates-with-mqtt) that can be used to extract the payload for the `tilt_command_topic` topic. Within the template the following variables are available: `entity_id`, `tilt_position`, the target tilt position in percent; `position_open`; `position_closed`; `tilt_min`; `tilt_max`. The `entity_id` can be used to reference the entity's attributes with help of the [states](/docs/configuration/templating/#states) template function;"
required: false required: false
type: template type: template
tilt_command_topic: tilt_command_topic:
@ -306,7 +311,7 @@ tilt_optimistic:
type: boolean type: boolean
default: "`true` if `tilt_status_topic` is not defined, else `false`" default: "`true` if `tilt_status_topic` is not defined, else `false`"
tilt_status_template: tilt_status_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) that can be used to extract the payload for the `tilt_status_topic` topic. Within the template the following variables are available: `entity_id`, `position_open`; `position_closed`; `tilt_min`; `tilt_max`. The `entity_id` can be used to reference the entity's attributes with help of the [states](/docs/configuration/templating/#states) template function;" description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) that can be used to extract the payload for the `tilt_status_topic` topic. Within the template the following variables are available: `entity_id`, `position_open`; `position_closed`; `tilt_min`; `tilt_max`. The `entity_id` can be used to reference the entity's attributes with help of the [states](/docs/configuration/templating/#states) template function;"
required: false required: false
type: template type: template
tilt_status_topic: tilt_status_topic:
@ -318,7 +323,7 @@ unique_id:
required: false required: false
type: string type: string
value_template: value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) that can be used to extract the payload for the `state_topic` topic." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) that can be used to extract the payload for the `state_topic` topic."
required: false required: false
type: template type: template
{% endconfiguration %} {% endconfiguration %}

View File

@ -42,6 +42,7 @@ ha_platforms:
- tts - tts
- update - update
- vacuum - vacuum
- valve
- water_heater - water_heater
- weather - weather
ha_integration_type: integration ha_integration_type: integration
@ -81,6 +82,7 @@ Available demo platforms:
- [Text-to-speech](/integrations/tts/) (`tts`) - [Text-to-speech](/integrations/tts/) (`tts`)
- [Update](/integrations/update/) (`update`) - [Update](/integrations/update/) (`update`)
- [Vacuum](/integrations/vacuum/) (`vacuum`) - [Vacuum](/integrations/vacuum/) (`vacuum`)
- [Valve](/integrations/valve/) (`valve`)
- [Water heater](/integrations/water_heater/) (`water_heater`) - [Water heater](/integrations/water_heater/) (`water_heater`)
- [Weather](/integrations/weather/) (`weather`) - [Weather](/integrations/weather/) (`weather`)

View File

@ -55,6 +55,7 @@ device_tracker:
- platform: netgear - platform: netgear
host: IP_ADDRESS host: IP_ADDRESS
username: YOUR_USERNAME username: YOUR_USERNAME
password: YOUR_PASSWORD
interval_seconds: 10 interval_seconds: 10
consider_home: 180 consider_home: 180
new_device_defaults: new_device_defaults:

View File

@ -50,7 +50,7 @@ availability:
required: true required: true
type: string type: string
value_template: value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_mode: availability_mode:
@ -59,7 +59,7 @@ availability_mode:
type: string type: string
default: latest default: latest
availability_template: availability_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_topic: availability_topic:
@ -120,7 +120,7 @@ icon:
required: false required: false
type: icon type: icon
json_attributes_template: json_attributes_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
required: false required: false
type: template type: template
json_attributes_topic: json_attributes_topic:
@ -189,7 +189,7 @@ unique_id:
required: false required: false
type: string type: string
value_template: value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) that returns a device tracker state." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) that returns a device tracker state."
required: false required: false
type: template type: template
{% endconfiguration %} {% endconfiguration %}

View File

@ -97,7 +97,7 @@ device:
required: false required: false
type: string type: string
value_template: value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the value." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the value."
required: false required: false
type: template type: template
{% endconfiguration %} {% endconfiguration %}

View File

@ -10,7 +10,6 @@ ha_category:
- Sensor - Sensor
- Switch - Switch
- Weather - Weather
featured: true
ha_release: 0.9 ha_release: 0.9
ha_iot_class: Cloud Polling ha_iot_class: Cloud Polling
ha_config_flow: true ha_config_flow: true

View File

@ -13,6 +13,7 @@ ha_platforms:
- select - select
- sensor - sensor
ha_integration_type: hub ha_integration_type: hub
ha_quality_scale: bronze
--- ---
[Electric Kiwi](https://www.electrickiwi.co.nz/) is an independent power and broadband company in New Zealand, offering variable rates for peak, shoulder, and off-peak pricing with a selectable hour of free power. [Electric Kiwi](https://www.electrickiwi.co.nz/) is an independent power and broadband company in New Zealand, offering variable rates for peak, shoulder, and off-peak pricing with a selectable hour of free power.

View File

@ -42,7 +42,7 @@ This integration does not work with:
## Prerequisites ## Prerequisites
- The <abbr title="IQ Gateway">Envoy</abbr> must be configured and commissioned. - The <abbr title="IQ Gateway">Envoy</abbr> must be configured and commissioned.
- The <abbr title="IQ Gateway">Envoy</abbr> must be on your local network with IPV4 connectivity from Home Assistant. (Also See troubleshooting, [single network](#single-network)) - The <abbr title="IQ Gateway">Envoy</abbr> must be on your local network with IPV4 connectivity from Home Assistant. (Also See troubleshooting, [periodic network connection issues](#periodic-network-connection-issues))
- <abbr title="IQ Gateway">Envoy</abbr> firmware version 3.9 or newer. - <abbr title="IQ Gateway">Envoy</abbr> firmware version 3.9 or newer.
- With <abbr title="IQ Gateway">Envoy</abbr> firmware 7 and greater: - With <abbr title="IQ Gateway">Envoy</abbr> firmware 7 and greater:
- an Enlighten cloud username and password. - an Enlighten cloud username and password.
@ -142,8 +142,8 @@ House consumption data requires an Envoy Metered equipped and configured with at
- **Envoy <abbr title="Envoy serial number">SN</abbr> Current power consumption**: Current power consumption in W. - **Envoy <abbr title="Envoy serial number">SN</abbr> Current power consumption**: Current power consumption in W.
- **Envoy <abbr title="Envoy serial number">SN</abbr> Lifetime energy consumption**: Lifetime energy consumption in Wh, default display scaled to MWh. - **Envoy <abbr title="Envoy serial number">SN</abbr> Lifetime energy consumption**: Lifetime energy consumption in Wh, default display scaled to MWh.
- **Envoy <abbr title="Envoy serial number">SN</abbr> Energy production last seven days**: Energy consumption in previous 7 days, not including today's, in Wh, display scaled to kWh. This entity is not logged in statistics. - **Envoy <abbr title="Envoy serial number">SN</abbr> Energy consumption last seven days**: Energy consumption in previous 7 days, not including today's, in Wh, display scaled to kWh. (See known limitations [Energy Incorrect](#energy-incorrect)) This entity is not logged in statistics.
- **Envoy <abbr title="Envoy serial number">SN</abbr> Energy consumption today**: Energy consumption since midnight in Wh, default display scaled to kWh. - **Envoy <abbr title="Envoy serial number">SN</abbr> Energy consumption today**: Energy consumption since midnight in Wh, default display scaled to kWh. (See known limitations [Energy Incorrect](#energy-incorrect))
<figure> <figure>
<img src="/images/integrations/enphase_envoy/enphase_envoy_consumption.png" alt="consumption entities"> <img src="/images/integrations/enphase_envoy/enphase_envoy_consumption.png" alt="consumption entities">
@ -193,7 +193,7 @@ CT measure multiple properties of the energy exchange which are available as Env
- **Envoy <abbr title="Envoy serial number">SN</abbr> Production CT current**: Current in A. - **Envoy <abbr title="Envoy serial number">SN</abbr> Production CT current**: Current in A.
- **Envoy <abbr title="Envoy serial number">SN</abbr> Powerfactor production CT**: Powerfactor, ratio of active to apparent power. - **Envoy <abbr title="Envoy serial number">SN</abbr> Powerfactor production CT**: Powerfactor, ratio of active to apparent power.
- **Envoy <abbr title="Envoy serial number">SN</abbr> Metering status production CT**: Status of the metering process: `normal`, `not-metering`, `check-wiring`. - **Envoy <abbr title="Envoy serial number">SN</abbr> Metering status production CT**: Status of the metering process: `normal`, `not-metering`, `check-wiring`.
- **Envoy <abbr title="Envoy serial number">SN</abbr> Meter status flags active production CT**: Count of CT status flags active. See troubleshooting [CT Active flag count](#ct-active-flag-count) when non-zero. - **Envoy <abbr title="Envoy serial number">SN</abbr> Meter status flags active production CT**: Count of CT status flags active. See troubleshooting [CT Active flag count is non-zero](#ct-active-flag-count-is-non-zero) when non-zero.
##### Net-consumption CT sensor entities ##### Net-consumption CT sensor entities
@ -202,7 +202,7 @@ CT measure multiple properties of the energy exchange which are available as Env
- **Envoy <abbr title="Envoy serial number">SN</abbr> net consumption CT current**: Current in A. - **Envoy <abbr title="Envoy serial number">SN</abbr> net consumption CT current**: Current in A.
- **Envoy <abbr title="Envoy serial number">SN</abbr> Powerfactor net consumption CT**: Power factor, ratio of active to apparent power. - **Envoy <abbr title="Envoy serial number">SN</abbr> Powerfactor net consumption CT**: Power factor, ratio of active to apparent power.
- **Envoy <abbr title="Envoy serial number">SN</abbr> Metering status net consumption CT**: Status of the metering process: `normal`, `not-metering`, `check-wiring`. - **Envoy <abbr title="Envoy serial number">SN</abbr> Metering status net consumption CT**: Status of the metering process: `normal`, `not-metering`, `check-wiring`.
- **Envoy <abbr title="Envoy serial number">SN</abbr> Meter status flags active net consumption CT**: Count of CT status flags active. See troubleshooting [CT Active flag count](#ct-active-flag-count) when non-zero. - **Envoy <abbr title="Envoy serial number">SN</abbr> Meter status flags active net consumption CT**: Count of CT status flags active. See troubleshooting [CT Active flag count is non-zero](#ct-active-flag-count-is-non-zero) when non-zero.
##### Storage CT sensor entities ##### Storage CT sensor entities
@ -211,7 +211,7 @@ CT measure multiple properties of the energy exchange which are available as Env
- **Envoy <abbr title="Envoy serial number">SN</abbr> storage CT current**: Current in A. - **Envoy <abbr title="Envoy serial number">SN</abbr> storage CT current**: Current in A.
- **Envoy <abbr title="Envoy serial number">SN</abbr> Powerfactor storage CT**: Power factor, ratio of active to apparent power. - **Envoy <abbr title="Envoy serial number">SN</abbr> Powerfactor storage CT**: Power factor, ratio of active to apparent power.
- **Envoy <abbr title="Envoy serial number">SN</abbr> Metering status storage CT**: Status of the metering process: `normal`, `not-metering`, `check-wiring`. - **Envoy <abbr title="Envoy serial number">SN</abbr> Metering status storage CT**: Status of the metering process: `normal`, `not-metering`, `check-wiring`.
- **Envoy <abbr title="Envoy serial number">SN</abbr> Meter status flags active storage CT**: Count of CT status flags active. See troubleshooting [CT Active flag count](#ct-active-flag-count) when non-zero. - **Envoy <abbr title="Envoy serial number">SN</abbr> Meter status flags active storage CT**: Count of CT status flags active. See troubleshooting [CT Active flag count is non-zero](#ct-active-flag-count-is-non-zero) when non-zero.
For storage CT energy entities refer to [battery sensor](#aggregated-iq-battery-sensor-entities) description. For storage CT energy entities refer to [battery sensor](#aggregated-iq-battery-sensor-entities) description.
@ -403,7 +403,7 @@ With installed <abbr title="current transformers">CT</abbr>, data granularity in
This integration supports updating the Envoy configuration through a `reconfigure` menu option. The reconfiguration allows for changing the Envoy IP address, username, and/or password. Use this menu option if your Enlighten credentials or the device's IP address has changed and needs to be manually updated. The latter is typically automatically detected and updated. This integration supports updating the Envoy configuration through a `reconfigure` menu option. The reconfiguration allows for changing the Envoy IP address, username, and/or password. Use this menu option if your Enlighten credentials or the device's IP address has changed and needs to be manually updated. The latter is typically automatically detected and updated.
Use this menu option also when an Envoy firmware upgrade requires a switch from local Envoy username/password to token-based authentication with Enlighten username/password (refer to [authentication requirements](#envoy-authentication-requirements)). Use this menu option also when an Envoy firmware upgrade requires a switch from local Envoy username/password to token-based authentication with Enlighten username/password (refer to [required manual input](#required-manual-input)).
## Firmware updates ## Firmware updates
@ -683,8 +683,22 @@ When using Envoy Metered with <abbr title="current transformers">CT</abbr>, not
When using Envoy Metered with <abbr title="current transformers">CT</abbr> When using Envoy Metered with <abbr title="current transformers">CT</abbr>
- not all firmware versions report `Energy production today` correctly. Zero data and unexpected spikes have been reported. In this case, best use a utility meter with the `Lifetime energy production` entity for daily reporting. - not all firmware versions report `Energy production today` and/or `Energy consumption today` correctly. Zero data and unexpected spikes have been reported. In this case, best use a utility meter with the `Lifetime energy production` or `Lifetime energy consumption` entity for daily reporting.
- not all firmware versions report `Energy production last seven days` correctly. Zero and unexpected values have been reported. - not all firmware versions report `Energy production last seven days` and/or `Energy consumption last seven days` correctly. Zero and unexpected values have been reported.
- `Energy production today` has been reported not to reset to zero at the start of the day. Instead, it resets to a non-zero value that gradually increases over time. This issue has also been reported as starting suddenly overnight. For daily reporting, it is recommended to use a utility meter with the `Lifetime energy production` entity.
{% details "History examples for Today's energy production value not resetting to zero" %}
<figure>
<img src="/images/integrations/enphase_envoy/enphase_envoy_production_non_zero_reset.png" alt="envoy today non zero reset">
<figcaption>Envoy Today's energy production value exhibits a daily reset to an ever increasing non-zero value.</figcaption>
</figure>
<figure>
<img src="/images/integrations/enphase_envoy/enphase_envoy_production_non_zero_reset_step_change.png" alt="envoy today step change">
<figcaption>Envoy Today's energy production value exhibits a sudden onset of non-zero resets.</figcaption>
</figure>
{% enddetails %}
### Lifetime reset ### Lifetime reset

View File

@ -36,8 +36,7 @@ The integration will create the entities listed below. Some of the entities are
### Weather ### Weather
- Current conditions and daily forecast - Current conditions, daily forecast, and hourly forecast
- Current conditions and hourly forecast (disabled by default)
### Camera ### Camera
@ -108,9 +107,13 @@ Not all weather stations provide a complete set of weather/sensor data. The data
## Template sensors ## Template sensors
The configuration snippet below adds a useful [template sensors](/integrations/template/) showing the current "feels like" temperature among air temperature, humidex, and wind chill. The configuration snippets below add [template sensors](/integrations/template/). See the [weather integration](/integrations/weather/) for additional examples.
Replace `NAME` with the name used to configure your integration. Replace `NAME` with the weather entity used in your configuration.
### Feels Like
A sensor that takes into account the humidex or wind chill for what the temperature feels like.
{% raw %} {% raw %}
@ -132,6 +135,8 @@ template:
{% endraw %} {% endraw %}
### Additional Forecast Data
The configuration snippet below adds a template sensor containing the current forecast information as attributes and the text summary of the forecast for the current day. The configuration snippet below adds a template sensor containing the current forecast information as attributes and the text summary of the forecast for the current day.
{% raw %} {% raw %}
@ -152,12 +157,12 @@ The configuration snippet below adds a template sensor containing the current fo
sensor: sensor:
- name: Weather Forecast Daily - name: Weather Forecast Daily
unique_id: weather_forecast_daily unique_id: weather_forecast_daily
state: "{{ states('weather.ottawa_kanata_orleans_forecast') }}" state: "{{ states('weather.NAME') }}"
attributes: attributes:
daily: "{{ forecasts['weather.ottawa_kanata_orleans_forecast']['daily_forecast'] }}" daily: "{{ forecasts['weather.NAME']['daily_forecast'] }}"
hourly: "{{ forecasts['weather.ottawa_kanata_orleans_forecast']['hourly_forecast'] }}" hourly: "{{ forecasts['weather.NAME']['hourly_forecast'] }}"
summary: "{{ forecasts['weather.ottawa_kanata_orleans_forecast']['daily_forecast'][0]['text_summary'] }}" summary: "{{ forecasts['weather.NAME']['daily_forecast'][0]['text_summary'] }}"
temperature_unit: "{{ state_attr('weather.ottawa_kanata_orleans_forecast', 'temperature_unit') }}" temperature_unit: "{{ state_attr('weather.NAME', 'temperature_unit') }}"
``` ```
{% endraw %} {% endraw %}

View File

@ -19,6 +19,7 @@ ha_platforms:
- sensor - sensor
- switch - switch
ha_iot_class: Local Polling ha_iot_class: Local Polling
ha_zeroconf: true
--- ---
{% include integrations/supported_brand.md %} {% include integrations/supported_brand.md %}

View File

@ -95,3 +95,18 @@ sensor:
``` ```
The entity will be named `Temperature` and will default to having an entity_id of `sensor.temperature`. The entity will be named `Temperature` and will default to having an entity_id of `sensor.temperature`.
## Obtaining logs from the device
1. To have the device send logs to Home Assistant, in the [options flow](#options), enable `Subscribe to logs from the device`.
- They are logged under the `homeassistant.components.esphome` logger at the equivalent level.
2. To adjust the logging level, there are two options:
- enable [debug logging](/docs/configuration/troubleshooting/#debug-logs-and-diagnostics),
- or use the [Developer Tools](/docs/tools/dev-tools/#actions-tab) to call the [`logger.set_level`](/integrations/logger/#action-set_level) action to specify the desired level:
```yaml
action: logger.set_level
data:
homeassistant.components.esphome: debug
```

View File

@ -42,7 +42,7 @@ availability:
required: true required: true
type: string type: string
value_template: value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_mode: availability_mode:
@ -51,7 +51,7 @@ availability_mode:
type: string type: string
default: latest default: latest
availability_template: availability_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_topic: availability_topic:
@ -142,7 +142,7 @@ icon:
required: false required: false
type: icon type: icon
json_attributes_template: json_attributes_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
required: false required: false
type: template type: template
json_attributes_topic: json_attributes_topic:
@ -186,7 +186,7 @@ unique_id:
required: false required: false
type: string type: string
value_template: value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the value and render it to a valid JSON event payload. If the template throws an error, the current state will be used instead." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the value and render it to a valid JSON event payload. If the template throws an error, the current state will be used instead."
required: false required: false
type: template type: template
{% endconfiguration %} {% endconfiguration %}

View File

@ -49,7 +49,7 @@ availability:
required: true required: true
type: string type: string
value_template: value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_mode: availability_mode:
@ -58,7 +58,7 @@ availability_mode:
type: string type: string
default: latest default: latest
availability_template: availability_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_topic: availability_topic:
@ -66,7 +66,7 @@ availability_topic:
required: false required: false
type: string type: string
command_template: command_template:
description: Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to generate the payload to send to `command_topic`. description: Defines a [template](/docs/configuration/templating/#using-command-templates-with-mqtt) to generate the payload to send to `command_topic`.
required: false required: false
type: template type: template
command_topic: command_topic:
@ -149,7 +149,7 @@ icon:
required: false required: false
type: icon type: icon
json_attributes_template: json_attributes_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
required: false required: false
type: template type: template
json_attributes_topic: json_attributes_topic:
@ -171,7 +171,7 @@ optimistic:
type: boolean type: boolean
default: "`true` if no state topic defined, else `false`." default: "`true` if no state topic defined, else `false`."
direction_command_template: direction_command_template:
description: Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to generate the payload to send to `direction_command_topic`. description: Defines a [template](/docs/configuration/templating/#using-command-templates-with-mqtt) to generate the payload to send to `direction_command_topic`.
required: false required: false
type: template type: template
direction_command_topic: direction_command_topic:
@ -183,11 +183,11 @@ direction_state_topic:
required: false required: false
type: string type: string
direction_value_template: direction_value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract a value from the direction." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract a value from the direction."
required: false required: false
type: template type: template
oscillation_command_template: oscillation_command_template:
description: Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to generate the payload to send to `oscillation_command_topic`. description: Defines a [template](/docs/configuration/templating/#using-command-templates-with-mqtt) to generate the payload to send to `oscillation_command_topic`.
required: false required: false
type: template type: template
oscillation_command_topic: oscillation_command_topic:
@ -199,7 +199,7 @@ oscillation_state_topic:
required: false required: false
type: string type: string
oscillation_value_template: oscillation_value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract a value from the oscillation." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract a value from the oscillation."
required: false required: false
type: template type: template
payload_available: payload_available:
@ -243,7 +243,7 @@ payload_reset_preset_mode:
type: string type: string
default: '"None"' default: '"None"'
percentage_command_template: percentage_command_template:
description: Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to generate the payload to send to `percentage_command_topic`. description: Defines a [template](/docs/configuration/templating/#using-command-templates-with-mqtt) to generate the payload to send to `percentage_command_topic`.
required: false required: false
type: template type: template
percentage_command_topic: percentage_command_topic:
@ -255,7 +255,7 @@ percentage_state_topic:
required: false required: false
type: string type: string
percentage_value_template: percentage_value_template:
description: Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the `percentage` value from the payload received on `percentage_state_topic`. description: Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the `percentage` value from the payload received on `percentage_state_topic`.
required: false required: false
type: template type: template
platform: platform:
@ -263,7 +263,7 @@ platform:
required: true required: true
type: string type: string
preset_mode_command_template: preset_mode_command_template:
description: Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to generate the payload to send to `preset_mode_command_topic`. description: Defines a [template](/docs/configuration/templating/#using-command-templates-with-mqtt) to generate the payload to send to `preset_mode_command_topic`.
required: false required: false
type: template type: template
preset_mode_command_topic: preset_mode_command_topic:
@ -275,7 +275,7 @@ preset_mode_state_topic:
required: false required: false
type: string type: string
preset_mode_value_template: preset_mode_value_template:
description: Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the `preset_mode` value from the payload received on `preset_mode_state_topic`. description: Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the `preset_mode` value from the payload received on `preset_mode_state_topic`.
required: false required: false
type: template type: template
preset_modes: preset_modes:
@ -308,7 +308,7 @@ state_topic:
required: false required: false
type: string type: string
state_value_template: state_value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract a value from the state." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract a value from the state."
required: false required: false
type: template type: template
unique_id: unique_id:

View File

@ -0,0 +1,49 @@
---
title: FrankEver
description: Integrate FrankEver (Powered by Shelly) devices
ha_category:
- Binary sensor
- Climate
- Cover
- Energy
- Event
- Light
- Number
- Select
- Sensor
- Switch
- Text
- Update
- Valve
ha_release: '0.115'
ha_codeowners:
- '@balloob'
- '@bieniu'
- '@thecode'
- '@chemelli74'
- '@bdraco'
ha_iot_class: Local Push
ha_domain: frankever
ha_config_flow: true
ha_zeroconf: true
ha_platforms:
- binary_sensor
- button
- climate
- cover
- diagnostics
- event
- light
- number
- select
- sensor
- switch
- text
- update
- valve
ha_integration_type: virtual
ha_supporting_domain: shelly
ha_supporting_integration: Shelly
---
{% include integrations/supported_brand.md %}

View File

@ -17,8 +17,11 @@ ha_integration_type: service
The `gios` integration uses the [GIOŚ](http://powietrze.gios.gov.pl/pjp/current) web service as a source for air quality data for your location. The `gios` integration uses the [GIOŚ](http://powietrze.gios.gov.pl/pjp/current) web service as a source for air quality data for your location.
## Setup
To obtain ID of the measuring station, go to [GIOŚ](http://powietrze.gios.gov.pl/pjp/current) page, select the measuring station on the map and click the "More Info" link. The address of the opened page will look like this: `http://powietrze.gios.gov.pl/pjp/current/station_details/chart/291` and `291` will be ID of the measuring station.
{% include integrations/config_flow.md %} {% include integrations/config_flow.md %}
{% configuration_basic %}
Measuring station:
description: "Select a measuring station from the list."
Name:
description: "Service name in Home Assistant, by default, this is the name of your Home Assistant instance. For example `Home`."
{% endconfiguration_basic %}

View File

@ -259,6 +259,7 @@ Currently, the following domains are available to be used with Google Assistant,
- input_button - input_button
- input_select (option/setting/mode/value) - input_select (option/setting/mode/value)
- light (on/off/brightness/rgb color/color temp) - light (on/off/brightness/rgb color/color temp)
- lawn_mower (dock/start/pause)
- lock - lock
- media_player (on/off/set volume (via set volume)/source (via set input source)/control playback) - media_player (on/off/set volume (via set volume)/source (via set input source)/control playback)
- scene (on) - scene (on)

View File

@ -25,6 +25,8 @@ related:
This {% term integration %} allows you to connect your [Google Drive](https://drive.google.com) with Home Assistant Backups. When you set up this integration, your Google Drive will have a new folder called Home Assistant where all the backups will be stored. You can rename this folder to whatever you like in Google Drive at any point in time. If you delete the folder, it will automatically be re-created as long as you have the {% term integration %} enabled. This {% term integration %} allows you to connect your [Google Drive](https://drive.google.com) with Home Assistant Backups. When you set up this integration, your Google Drive will have a new folder called Home Assistant where all the backups will be stored. You can rename this folder to whatever you like in Google Drive at any point in time. If you delete the folder, it will automatically be re-created as long as you have the {% term integration %} enabled.
For a video walkthrough of the setup instructions, see this video from 13:50 to 19:20
<lite-youtube videoid="pZlYu9bN72U" videoStartAt="830" videotitle="Automate Your Home Assistant Backups Like A Pro!" posterquality="maxresdefault"></lite-youtube>
## Prerequisites ## Prerequisites

View File

@ -144,5 +144,6 @@ This video tutorial explains how Google Generative AI can be set up, how you can
logger: logger:
logs: logs:
homeassistant.components.conversation: debug homeassistant.components.conversation: debug
homeassistant.components.conversation.chat_log: debug
homeassistant.components.google_generative_ai_conversation: debug homeassistant.components.google_generative_ai_conversation: debug
``` ```

View File

@ -22,13 +22,17 @@ To enable local control on your Govee device, refer to the instructions availabl
## Supported devices ## Supported devices
H6008,
H600D, H600D,
H6022,
H6042,
H6046, H6046,
H6047, H6047,
H6051, H6051,
H6052, H6052,
H6056, H6056,
H6059, H6059,
H605D,
H6061, H6061,
H6062, H6062,
H6065, H6065,
@ -53,6 +57,7 @@ H610B,
H6110, H6110,
H6117, H6117,
H612A, H612A,
H612B,
H612F, H612F,
H6144, H6144,
H6159, H6159,
@ -62,6 +67,7 @@ H615C,
H615D, H615D,
H615E, H615E,
H6163, H6163,
H6167,
H6168, H6168,
H6172, H6172,
H6173, H6173,
@ -84,10 +90,12 @@ H61A3,
H61A5, H61A5,
H61A8, H61A8,
H61B2, H61B2,
H61B3,
H61B5, H61B5,
H61BA, H61BA,
H61BC, H61BC,
H61BE, H61BE,
H61C2,
H61C3, H61C3,
H61C5, H61C5,
H61D3, H61D3,
@ -97,6 +105,7 @@ H61E1,
H61E5, H61E5,
H61E6, H61E6,
H61F5, H61F5,
H6609,
H6640, H6640,
H6641, H6641,
H7012, H7012,
@ -141,7 +150,8 @@ H70C2,
H70C4, H70C4,
H70C5, H70C5,
H70D1, H70D1,
H805C H805C,
H8072
{% note %} {% note %}
Some scenes may not be supported from all devices. If you find a scene that's not working with a specific model, please open an issue at the [underling library](https://github.com/Galorhallen/govee-local-api/issues) Some scenes may not be supported from all devices. If you find a scene that's not working with a specific model, please open an issue at the [underling library](https://github.com/Galorhallen/govee-local-api/issues)

View File

@ -118,10 +118,12 @@ In short, when any group member entity is `unlocked`, the group will also be `un
- The group state is `unavailable` if all group members are `unavailable`. - The group state is `unavailable` if all group members are `unavailable`.
- Otherwise, the group state is `unknown` if all group members are `unknown` or `unavailable`. - Otherwise, the group state is `unknown` if all group members are `unknown` or `unavailable`.
- Otherwise, the group state is `jammed` if at least one group member is `jammed`. - Otherwise, the group state is `jammed` if at least one group member is `jammed`.
- Otherwise, the group state is `opening` if at least one group member is `opening`.
- Otherwise, the group state is `locking` if at least one group member is `locking`. - Otherwise, the group state is `locking` if at least one group member is `locking`.
- Otherwise, the group state is `open` if at least one group member is `open`.
- Otherwise, the group state is `unlocking` if at least one group member is `unlocking`. - Otherwise, the group state is `unlocking` if at least one group member is `unlocking`.
- Otherwise, the group state is `unlocked` if at least one group member is `unlocked`. - Otherwise, the group state is `locked` if all group members are `locked`.
- Otherwise, the group state is `locked`. - Otherwise, the group state is `unlocked`.
### Notify entity groups ### Notify entity groups

View File

@ -31,6 +31,7 @@ related:
title: To-do list card title: To-do list card
- url: https://habitica.com/ - url: https://habitica.com/
title: Habitica title: Habitica
ha_quality_scale: platinum
--- ---
The Habitica {% term integration %} enables you to monitor your adventurer's progress and stats from [Habitica](https://habitica.com/) in Home Assistant and seamlessly integrates your to-do's, daily tasks, and many more things. The Habitica {% term integration %} enables you to monitor your adventurer's progress and stats from [Habitica](https://habitica.com/) in Home Assistant and seamlessly integrates your to-do's, daily tasks, and many more things.
@ -296,6 +297,141 @@ Updates a specific reward for the selected Habitica character.
| `remove_tag` | yes | Remove tags from the Habitica reward. | | `remove_tag` | yes | Remove tags from the Habitica reward. |
| `alias` | yes | A task alias can be used instead of the name or task ID. Only dashes, underscores, and alphanumeric characters are supported. The task alias must be unique among all your tasks. | | `alias` | yes | A task alias can be used instead of the name or task ID. Only dashes, underscores, and alphanumeric characters are supported. The task alias must be unique among all your tasks. |
### Action `habitica.create_reward`
Creates a reward for the selected Habitica character.
| Data attribute | Optional | Description |
| -------------- | -------- | -------------------------------------------------------------------------------------------- |
| `config_entry` | no | Select the Habitica account to create a reward. |
| `name` | no | The title for the Habitica reward. |
| `notes` | yes | The notes for the Habitica reward. |
| `cost` | no | The cost of the reward. |
| `tag` | yes | Add tags to the Habitica reward. If a tag does not already exist, a new one will be created. |
| `alias` | yes | A task alias can be used instead of the name or task ID. Only dashes, underscores, and alphanumeric characters are supported. The task alias must be unique among all your tasks. |
### Action `habitica.update_habit`
Updates a specific habit for the selected Habitica character.
| Data attribute | Optional | Description |
| -------------- | -------- | -------------------------------------------------------------------------------------------- |
| `config_entry` | no | Select the Habitica account to update a habit. |
| `task` | no | The name (or task ID) of the habit you want to update. |
| `rename` | yes | The new title for the Habitica habit. |
| `notes` | yes | The new notes for the Habitica habit. |
| `up_down` | yes | Update if the habit is good and rewarding (positive), bad and penalizing (negative) or both. Valid values: `up`, `down`, or `[up, down]` |
| `priority` | yes | Update the difficulty of a habit. Valid values: `trivial`, `easy`, `medium`, `hard` |
| `frequency` | yes | Update when a habit's counter resets. Valid values: `daily`, `weekly`, `monthly` |
| `tag` | yes | Add tags to the Habitica habit. If a tag does not already exist, a new one will be created. |
| `remove_tag` | yes | Remove tags from the Habitica habit. |
| `counter_up` | yes | Update the up counter of a positive habit. |
| `counter_down` | yes | Update the down counter of a negative habit. |
| `alias` | yes | A task alias can be used instead of the name or task ID. Only dashes, underscores, and alphanumeric characters are supported. The task alias must be unique among all your tasks. |
### Action `habitica.create_habit`
Creates a habit for the selected Habitica character.
| Data attribute | Optional | Description |
| -------------- | -------- | -------------------------------------------------------------------------------------------- |
| `config_entry` | no | Select the Habitica account to create a habit. |
| `name` | no | The title for the Habitica habit. |
| `notes` | yes | The notes for the Habitica habit. |
| `up_down` | yes | Defines if the habit is good and rewarding (positive), bad and penalizing (negative) or both. Valid values: `up`, `down`, or `[up, down]` |
| `priority` | yes | Sets the difficulty of the habit. Valid values: `trivial`, `easy`, `medium`, `hard`. Default: `easy` |
| `frequency` | yes | Defines when the habit's counter resets. Valid values: `daily`, `weekly`, `monthly`. Default: `daily` |
| `tag` | yes | Add tags to the Habitica habit. If a tag does not already exist, a new one will be created. |
| `alias` | yes | A task alias can be used instead of the name or task ID. Only dashes, underscores, and alphanumeric characters are supported. The task alias must be unique among all your tasks. |
### Action `habitica.update_todo`
Updates a specific to-do for the selected Habitica character.
| Data attribute | Optional | Description |
| -------------- | -------- | -------------------------------------------------------------------------------------------- |
| `config_entry` | no | Select the Habitica account to update a to-do. |
| `task` | no | The name (or task ID) of the to-do you want to update. |
| `rename` | yes | The new title for the Habitica to-do. |
| `notes` | yes | The new notes for the Habitica to-do. |
| `add_checklist_item` | yes | The items to add to the to-do's checklist. |
| `remove_checklist_item` | yes | Remove items from a to-do's checklist. |
| `score_checklist_item` | yes | Mark items from a to-do's checklist as completed. |
| `unscore_checklist_item` | yes | Undo completion of items of a to-do's checklist. |
| `priority` | yes | Update the difficulty of a to-do. Valid values: `trivial`, `easy`, `medium`, `hard` |
| `date` | yes | The to-do's due date. |
| `clear_date` | yes | Remove the due date from a to-do. |
| `reminder` | yes | Add reminders to a Habitica to-do. |
| `remove_reminder` | yes | Remove specific reminders from a Habitica to-do. |
| `clear_reminder` | yes | Remove all reminders from a Habitica to-do. |
| `tag` | yes | Add tags to the Habitica to-do. If a tag does not already exist, a new one will be created. |
| `remove_tag` | yes | Remove tags from the Habitica to-do. |
| `alias` | yes | A task alias can be used instead of the name or task ID. Only dashes, underscores, and alphanumeric characters are supported. The task alias must be unique among all your tasks. |
### Action `habitica.create_todo`
Creates a to-do for the selected Habitica character.
| Data attribute | Optional | Description |
| -------------- | -------- | -------------------------------------------------------------------------------------------- |
| `config_entry` | no | Select the Habitica account to create a to-do. |
| `name` | no | The title for the Habitica to-do. |
| `notes` | yes | The notes for the Habitica to-do. |
| `add_checklist_item` | yes | The items to add to the to-do's checklist. |
| `priority` | yes | The difficulty of the to-do. Valid values: `trivial`, `easy`, `medium`, `hard` |
| `date` | yes | The to-do's due date. |
| `reminder` | yes | Add reminders to a Habitica to-do. |
| `tag` | yes | Add tags to the Habitica to-do. If a tag does not already exist, a new one will be created. |
| `alias` | yes | A task alias can be used instead of the name or task ID. Only dashes, underscores, and alphanumeric characters are supported. The task alias must be unique among all your tasks. |
### Action `habitica.update_daily`
Updates a specific daily for the selected Habitica character.
| Data attribute | Optional | Description |
| -------------- | -------- | -------------------------------------------------------------------------------------------- |
| `config_entry` | no | Select the Habitica account to update a daily. |
| `task` | no | The name (or task ID) of the daily you want to update. |
| `rename` | yes | The new title for the Habitica daily. |
| `notes` | yes | The new notes for the Habitica daily. |
| `add_checklist_item` | yes | The items to add to the daily's checklist. |
| `remove_checklist_item` | yes | Remove items from a daily's checklist. |
| `score_checklist_item` | yes | Mark items from a daily's checklist as completed. |
| `unscore_checklist_item` | yes | Undo completion of items of a daily's checklist. |
| `priority` | yes | Update the difficulty of a daily. Valid values: `trivial`, `easy`, `medium`, `hard` |
| `start_date` | yes | Defines when the daily task becomes active and specifies the exact weekday or day of the month it repeats on. |
| `frequency` | yes | The repetition interval of a daily. Valid values: `daily`, `weekly`, `monthly`, `yearly`. |
| `every_x` | yes | The number of intervals (`days`, `weeks`, `months`, or `years`) after which the daily repeats, based on the chosen repetition interval. A value of 0 makes the daily inactive (a *Gray Daily*). |
| `repeat` | yes | The days of the week the daily repeats. Applicable when the repetition interval is set to weekly. |
| `repeat_monthly` | yes | Whether a monthly recurring task repeats on the same calendar day each month (`day_of_month`), or on the same weekday and week of the month (`day_of_week`), based on the start date. Applicable when the repetition interval is set to monthly. |
| `reminder` | yes | Add reminders to a Habitica daily. |
| `remove_reminder` | yes | Remove specific reminders from a Habitica daily. |
| `clear_reminder` | yes | Remove all reminders from a Habitica daily. |
| `tag` | yes | Add tags to the Habitica daily. If a tag does not already exist, a new one will be created. |
| `remove_tag` | yes | Remove tags from the Habitica daily. |
| `streak` | yes | Adjust or reset the streak counter of the daily. |
| `alias` | yes | A task alias can be used instead of the name or task ID. Only dashes, underscores, and alphanumeric characters are supported. The task alias must be unique among all your tasks. |
### Action `habitica.create_daily`
Creates a daily for the selected Habitica character.
| Data attribute | Optional | Description |
| -------------- | -------- | -------------------------------------------------------------------------------------------- |
| `config_entry` | no | Select the Habitica account to create a daily. |
| `name` | no | The title for the Habitica daily. |
| `notes` | yes | The new notes for the Habitica daily. |
| `add_checklist_item` | yes | The items to add to the daily's checklist. |
| `priority` | yes | The difficulty of a daily. Valid values: `trivial`, `easy`, `medium`, `hard` |
| `start_date` | yes | The date when the daily becomes active and specifies the exact weekday or day of the month it repeats on. |
| `frequency` | yes | The repetition interval of a daily. Valid values: `daily`, `weekly`, `monthly`, `yearly`. |
| `every_x` | yes | The number of intervals (`days`, `weeks`, `months`, or `years`) after which the daily repeats, based on the chosen repetition interval. A value of 0 makes the daily inactive (a *Gray Daily*). |
| `repeat` | yes | The days of the week the daily repeats. Applicable when the repetition interval is set to weekly. |
| `repeat_monthly` | yes | Whether a monthly recurring task repeats on the same calendar day each month (`day_of_month`), or on the same weekday and week of the month (`day_of_week`), based on the start date. Applicable when the repetition interval is set to monthly. |
| `reminder` | yes | Add reminders to a Habitica daily. |
| `tag` | yes | Add tags to the Habitica daily. If a tag does not already exist, a new one will be created. |
| `alias` | yes | A task alias can be used instead of the name or task ID. Only dashes, underscores, and alphanumeric characters are supported. The task alias must be unique among all your tasks. |
## Automations ## Automations
Get started with these automation examples for Habitica, each featuring ready-to-use blueprints! Get started with these automation examples for Habitica, each featuring ready-to-use blueprints!

View File

@ -7,7 +7,7 @@ ha_domain: heicko
ha_integration_type: virtual ha_integration_type: virtual
ha_supporting_domain: motion_blinds ha_supporting_domain: motion_blinds
ha_supporting_integration: Motionblinds ha_supporting_integration: Motionblinds
ha_release: 2025.3 ha_release: 2020.12
ha_codeowners: ha_codeowners:
- '@starkillerOG' - '@starkillerOG'
ha_config_flow: true ha_config_flow: true

View File

@ -29,6 +29,7 @@ Add this integration to automate playback and group configuration of HEOS-capabl
- Controlling play mode (e.g., play/pause), volume, mute, and shuffle - Controlling play mode (e.g., play/pause), volume, mute, and shuffle
- Playing HEOS favorites, playlists, quick selects, URLs - Playing HEOS favorites, playlists, quick selects, URLs
- Setting the source to physical inputs (e.g., `AUX1`) - Setting the source to physical inputs (e.g., `AUX1`)
- Browsing HEOS music services (for example, **Tidal**) and sources (such as **Favorites**)
- Grouping and ungrouping HEOS devices - Grouping and ungrouping HEOS devices
- Clearing playlists - Clearing playlists
@ -40,12 +41,12 @@ Add this integration to automate playback and group configuration of HEOS-capabl
{% include integrations/config_flow.md %} {% include integrations/config_flow.md %}
{% note %} {% note %}
Only a single instance of the integration is needed to access the entire HEOS system on the network. It will only connect to a single {% term host %}. A single instance of the integration adds all devices in the HEOS system to Home Assistant. When setup through discovery, it will automatically select the best {% term host %}. The integration will automatically reconnect and fail over to other hosts in the HEOS system if the configured host goes offline.
{% endnote %} {% endnote %}
{% configuration_basic %} {% configuration_basic %}
Host: Host:
description: "The host name or IP address (e.g., \"192.168.1.2\") of your HEOS-capable product. If you have more than one device, select, or enter a host, that is connected to the LAN via wire or has the strongest wireless signal." description: "The host name or IP address (e.g., \"192.168.1.2\") of your HEOS-capable product. If you have more than one device, enter a host that is connected to the LAN via wire and is always powered on."
{% endconfiguration_basic %} {% endconfiguration_basic %}
## Configuration options ## Configuration options
@ -218,6 +219,11 @@ data:
| `entity_id` | yes | Remove this media player from any player groups. | | `entity_id` | yes | Remove this media player from any player groups. |
{% note %}
Actions may fail if they cannot be processed by the HEOS device. For example, attempting to call `media_player.clear_playlist` when the queue is empty will result in an error. To prevent this from halting a script or automation, set [`continue_on_error: true`](/docs/scripts/#continuing-on-error) in the action call.
{% endnote %}
## Supported devices ## Supported devices
Denon and Marantz do not currently publish an inventory of HEOS-enabled devices, however, many receiver and hi-fi products began including HEOS since 2013. Consult your product model to confirm support: Denon and Marantz do not currently publish an inventory of HEOS-enabled devices, however, many receiver and hi-fi products began including HEOS since 2013. Consult your product model to confirm support:

View File

@ -20,7 +20,9 @@ The `here_travel_time` sensor provides travel time from the [HERE Routing API](h
You need to register for an API key by following the instructions in the [API Developer Guide](https://www.here.com/docs/bundle/routing-api-developer-guide-v8/page/topics/send-request.html). You need to register for an API key by following the instructions in the [API Developer Guide](https://www.here.com/docs/bundle/routing-api-developer-guide-v8/page/topics/send-request.html).
HERE offers a Limited Plan which includes 1000 free transactions per day. If you are not [updating sensors on demand](#updating-sensors-on-demand-using-automation), you can track 3 routes without exceeding the limit. You can provide payment details to increase this to 5000 free transactions per day. More information can be found [on the pricing page](https://www.here.com/get-started/pricing) HERE offers a Limited Plan which includes 1000 free transactions per day. If you are not [updating sensors on demand](#updating-sensors-on-demand-using-automation), you can track 3 routes without exceeding the limit.
You can provide payment details if you want to pay for unlimited transactions. Be aware that the amount of transactions included for free in the paid plan might be _less_ than the 1000 transactions per day in the free plan. More information can be found [on the pricing page](https://www.here.com/get-started/pricing)
{% include integrations/config_flow.md %} {% include integrations/config_flow.md %}

View File

@ -17,6 +17,7 @@ ha_domain: home_connect
ha_codeowners: ha_codeowners:
- '@DavidMStraub' - '@DavidMStraub'
- '@Diegorro98' - '@Diegorro98'
- '@MartinHjelmare'
ha_config_flow: true ha_config_flow: true
ha_platforms: ha_platforms:
- binary_sensor - binary_sensor
@ -41,31 +42,10 @@ The Home Connect integration allows users to integrate their home appliances sup
- Control the light of your appliances. - Control the light of your appliances.
- Adjust the appliance settings. - Adjust the appliance settings.
The integration will add one Home Assistant device for each connected home appliance which will have the following entities:
- A power switch
- If the device has programs:
- Two select entities that will allow you to select and start a program between the available ones.
- A timestamp sensor for remaining time and a numeric sensor for the progress percentage.
- Light:
- Hoods:
- Functional light: on/off and brightness
- Ambient light: on/off, brightness, HSV and RGB
- Dishwasher: on/off, brightness, HS and RGB
- Cooling appliances: Both, external and internal lights, on/off and brightness
- Numbers that set the temperature of cooling appliances.
- Time for alarm clock for cooktops and ovens.
- Multiple sensors that report the different states and events reported by the appliance.
- Binary sensors that show binary states of the appliance.
{% note %} {% note %}
Note that it depends on the appliance and on API permissions which of the features are supported. Note that it depends on the appliance and on API permissions which of the features are supported.
{% endnote %} {% endnote %}
{% note %}
Some devices only have the state `on` and turn off is not supported by the appliance, check [power state availability at Home Connect API documentation](https://api-docs.home-connect.com/settings/#power-state) for more information.
{% endnote %}
## Supported devices ## Supported devices
You can find information about supported devices on the [Home Connect website](https://www.home-connect.com/global/smart-home-appliances). You can find information about supported devices on the [Home Connect website](https://www.home-connect.com/global/smart-home-appliances).
@ -110,14 +90,6 @@ Internal examples: `http://192.168.0.2:8123/auth/external/callback`, `http://hom
The integration configuration will ask for the *Client ID* and *Client Secret* created above. See [Application Credentials](/integrations/application_credentials) for more details. The integration configuration will ask for the *Client ID* and *Client Secret* created above. See [Application Credentials](/integrations/application_credentials) for more details.
## Removing the integration
This integration follows standard integration removal. No extra steps are required.
{% include integrations/remove_device_service.md %}
After deleting the integration, go to [your applications at the Home Connect Developer portal](https://developer.home-connect.com/applications), find the application that you were using for Home Assistant, click on details and click on "Delete Application".
## Supported functionality ## Supported functionality
{% note %} {% note %}
@ -145,9 +117,18 @@ After deleting the integration, go to [your applications at the Home Connect Dev
- **Bottle cooler door**: - **Bottle cooler door**:
- **Description**: Indicates if the bottle cooler door is open. - **Description**: Indicates if the bottle cooler door is open.
- **Availability**: Fridge freezer, Refrigerator - **Availability**: Fridge freezer, Refrigerator
- **Common chiller door**:
- **Description**: Indicates if the common chiller door is open.
- **Availability**: Fridge freezer, Refrigerator
- **Chiller door**: - **Chiller door**:
- **Description**: Indicates if the chiller door is open. - **Description**: Indicates if the chiller door is open.
- **Availability**: Fridge freezer, Refrigerator - **Availability**: Fridge freezer, Refrigerator
- **Left chiller door**:
- **Description**: Indicates if the left chiller door is open.
- **Availability**: Fridge freezer, Refrigerator
- **Right chiller door**:
- **Description**: Indicates if the right chiller door is open.
- **Availability**: Fridge freezer, Refrigerator
- **Flex compartment door**: - **Flex compartment door**:
- **Description**: Indicates if the flex compartment door is open. - **Description**: Indicates if the flex compartment door is open.
- **Availability**: Fridge freezer - **Availability**: Fridge freezer
@ -651,11 +632,11 @@ Both entities can use these options, but the availability of these will depend o
<summary><b>Options:</b> (click to view)</summary> <summary><b>Options:</b> (click to view)</summary>
- **Fan off** `cooking_hood_enum_type_stage_fan_off` - **Fan off** `cooking_hood_enum_type_stage_fan_off`
- **Fan stage 1** `cooking_hood_enum_type_stage_fan_stage01` - **Fan stage 1** `cooking_hood_enum_type_stage_fan_stage_01`
- **Fan stage 2** `cooking_hood_enum_type_stage_fan_stage02` - **Fan stage 2** `cooking_hood_enum_type_stage_fan_stage_02`
- **Fan stage 3** `cooking_hood_enum_type_stage_fan_stage03` - **Fan stage 3** `cooking_hood_enum_type_stage_fan_stage_03`
- **Fan stage 4** `cooking_hood_enum_type_stage_fan_stage04` - **Fan stage 4** `cooking_hood_enum_type_stage_fan_stage_04`
- **Fan stage 5** `cooking_hood_enum_type_stage_fan_stage05` - **Fan stage 5** `cooking_hood_enum_type_stage_fan_stage_05`
</details> </details>
- **Intensive level**: - **Intensive level**:
@ -687,14 +668,14 @@ Both entities can use these options, but the availability of these will depend o
<summary><b>Options:</b> (click to view)</summary> <summary><b>Options:</b> (click to view)</summary>
- **Cold**: `laundry_care_washer_enum_type_temperature_cold` - **Cold**: `laundry_care_washer_enum_type_temperature_cold`
- **20ºC clothes**: `laundry_care_washer_enum_type_temperature_g_c20` - **20ºC clothes**: `laundry_care_washer_enum_type_temperature_g_c_20`
- **30ºC clothes**: `laundry_care_washer_enum_type_temperature_g_c30` - **30ºC clothes**: `laundry_care_washer_enum_type_temperature_g_c_30`
- **40ºC clothes**: `laundry_care_washer_enum_type_temperature_g_c40` - **40ºC clothes**: `laundry_care_washer_enum_type_temperature_g_c_40`
- **50ºC clothes**: `laundry_care_washer_enum_type_temperature_g_c50` - **50ºC clothes**: `laundry_care_washer_enum_type_temperature_g_c_50`
- **60ºC clothes**: `laundry_care_washer_enum_type_temperature_g_c60` - **60ºC clothes**: `laundry_care_washer_enum_type_temperature_g_c_60`
- **70ºC clothes**: `laundry_care_washer_enum_type_temperature_g_c70` - **70ºC clothes**: `laundry_care_washer_enum_type_temperature_g_c_70`
- **80ºC clothes**: `laundry_care_washer_enum_type_temperature_g_c80` - **80ºC clothes**: `laundry_care_washer_enum_type_temperature_g_c_80`
- **90ºC clothes**: `laundry_care_washer_enum_type_temperature_g_c90` - **90ºC clothes**: `laundry_care_washer_enum_type_temperature_g_c_90`
- **Cold**: `laundry_care_washer_enum_type_temperature_ul_cold` - **Cold**: `laundry_care_washer_enum_type_temperature_ul_cold`
- **Warm**: `laundry_care_washer_enum_type_temperature_ul_warm` - **Warm**: `laundry_care_washer_enum_type_temperature_ul_warm`
- **Hot**: `laundry_care_washer_enum_type_temperature_ul_hot` - **Hot**: `laundry_care_washer_enum_type_temperature_ul_hot`
@ -708,13 +689,15 @@ Both entities can use these options, but the availability of these will depend o
<summary><b>Options:</b> (click to view)</summary> <summary><b>Options:</b> (click to view)</summary>
- **Off**: `laundry_care_washer_enum_type_spin_speed_off` - **Off**: `laundry_care_washer_enum_type_spin_speed_off`
- **400 rpm**: `laundry_care_washer_enum_type_spin_speed_r_p_m400` - **400 rpm**: `laundry_care_washer_enum_type_spin_speed_r_p_m_400`
- **600 rpm**: `laundry_care_washer_enum_type_spin_speed_r_p_m600` - **600 rpm**: `laundry_care_washer_enum_type_spin_speed_r_p_m_600`
- **800 rpm**: `laundry_care_washer_enum_type_spin_speed_r_p_m800` - **700 rpm**: `laundry_care_washer_enum_type_spin_speed_r_p_m_700`
- **1000 rpm**: `laundry_care_washer_enum_type_spin_speed_r_p_m1000` - **800 rpm**: `laundry_care_washer_enum_type_spin_speed_r_p_m_800`
- **1200 rpm**: `laundry_care_washer_enum_type_spin_speed_r_p_m1200` - **900 rpm**: `laundry_care_washer_enum_type_spin_speed_r_p_m_900`
- **1400 rpm**: `laundry_care_washer_enum_type_spin_speed_r_p_m1400` - **1000 rpm**: `laundry_care_washer_enum_type_spin_speed_r_p_m_1000`
- **1600 rpm**: `laundry_care_washer_enum_type_spin_speed_r_p_m1600` - **1200 rpm**: `laundry_care_washer_enum_type_spin_speed_r_p_m_1200`
- **1400 rpm**: `laundry_care_washer_enum_type_spin_speed_r_p_m_1400`
- **1600 rpm**: `laundry_care_washer_enum_type_spin_speed_r_p_m_1600`
- **Off**: `laundry_care_washer_enum_type_spin_speed_ul_off` - **Off**: `laundry_care_washer_enum_type_spin_speed_ul_off`
- **Low**: `laundry_care_washer_enum_type_spin_speed_ul_low` - **Low**: `laundry_care_washer_enum_type_spin_speed_ul_low`
- **Medium**: `laundry_care_washer_enum_type_spin_speed_ul_medium` - **Medium**: `laundry_care_washer_enum_type_spin_speed_ul_medium`
@ -859,30 +842,120 @@ All the event sensors will have the following possible values:
{% enddetails %} {% enddetails %}
- **Freezer door alarm**: - **Program aborted**:
- **Description**: Represents the alarm state of the freezer door. - **Description**: Event triggered each time a program is successfully canceled.
- **Availability**: Freezer, Fridge freezer - **Availability**: Cook processor, Cleaning robot, Dishwasher
- **Refrigerator door alarm**: - **Program finished**:
- **Description**: Represents the alarm state of the refrigerator door. - **Description**: Event triggered each time a program run is successfully finished.
- **Availability**: Fridge freezer, Refrigerator - **Availability**: Cook processor, Cooktop, Hood, Oven, Cleaning robot, Dishwasher, Washer, Washer dryer
- **Freezer temperature alarm**: - **Alarm clock elapsed**:
- **Description**: Represents the alarm state of the freezer temperature. - **Description**: Event triggered when the alarm clock has elapsed.
- **Availability**: Freezer, Fridge freezer - **Availability**: Cooktop, Oven
- **Bean container empty**: - **Pre-heat finished**:
- **Description**: Indicates whether the bean container is empty. - **Description**: Event triggered when **Fast pre-heat** program option is active and the preheating phase is finished.
- **Availability**: Coffee maker - **Availability**: Cooktop, Oven
- **Water tank empty**: - **Regular pre-heat finished**:
- **Description**: Indicates whether the water tank is empty. - **Description**: Event triggered when the preheating phase is finished (and the **Fast pre-heat** option is not active nor supported).
- **Availability**: Coffee maker - **Availability**: Oven
- **Drip tray full**: - **Drying process finished**:
- **Description**: Indicates whether the drip tray is full. - **Description**: Event triggered when the drying process is finished.
- **Availability**: Coffee maker - **Availability**: Dryer
- **Salt nearly empty**: - **Salt nearly empty**:
- **Description**: Indicates whether the salt is nearly empty. - **Description**: Event triggered when the salt supply is running low.
- **Availability**: Dishwasher - **Availability**: Dishwasher
- **Rinse aid nearly empty**: - **Rinse aid nearly empty**:
- **Description**: Indicates whether the rinse aid is nearly empty. - **Description**: Event triggered when the rinse aid supply is running low.
- **Availability**: Dishwasher - **Availability**: Dishwasher
- **Bean container empty**:
- **Description**: Event triggered when the bean container is empty.
- **Availability**: Coffee maker
- **Water tank empty**:
- **Description**: Event triggered when the water tank is empty.
- **Availability**: Coffee maker
- **Drip tray full**:
- **Description**: Event triggered when the drip tray is full.
- **Availability**: Coffee maker
- **Keep milk tank cool**:
- **Description**: Event triggered when the user should remove the milk container and put it in a cool place so that the milk stays fresh.
- **Availability**: Coffee maker
- **Descaling in 20 cups**:
- **Description**: Event triggered when there are 20 cups left before the descaling process is required.
- **Availability**: Coffee maker
- **Descaling in 15 cups**:
- **Description**: Event triggered when there are 15 cups left before the descaling process is required.
- **Availability**: Coffee maker
- **Descaling in 10 cups**:
- **Description**: Event triggered when there are 10 cups left before the descaling process is required.
- **Availability**: Coffee maker
- **Descaling in 5 cups**:
- **Description**: Event triggered when there are 5 cups left before the descaling process is required.
- **Availability**: Coffee maker
- **Device should be descaled**:
- **Description**: Event triggered when the device should be descaled.
- **Availability**: Coffee maker
- **Device descaling overdue**:
- **Description**: Event triggered when the device descaling is overdue.
- **Availability**: Coffee maker
- **Device descaling blockage**:
- **Description**: Event triggered when the device descaling is blocked.
- **Availability**: Coffee maker
- **Device should be cleaned**:
- **Description**: Event triggered when the device should be cleaned.
- **Availability**: Coffee maker
- **Device cleaning overdue**:
- **Description**: Event triggered when the device cleaning is overdue.
- **Availability**: Coffee maker
- **Calc'N'Clean in 20 cups**:
- **Description**: Event triggered when there are 20 cups left before the Calc'N'Clean process is required.
- **Availability**: Coffee maker
- **Calc'N'Clean in 15 cups**:
- **Description**: Event triggered when there are 15 cups left before the Calc'N'Clean process is required.
- **Availability**: Coffee maker
- **Calc'N'Clean in 10 cups**:
- **Description**: Event triggered when there are 10 cups left before the Calc'N'Clean process is required.
- **Availability**: Coffee maker
- **Calc'N'Clean in 5 cups**:
- **Description**: Event triggered when there are 5 cups left before the Calc'N'Clean process is required.
- **Availability**: Coffee maker
- **Device should be Calc'N'Cleaned**:
- **Description**: Event triggered when the device should be Calc'N'Cleaned.
- **Availability**: Coffee maker
- **Device Calc'N'Clean overdue**:
- **Description**: Event triggered when the device Calc'N'Clean is overdue.
- **Availability**: Coffee maker
- **Device Calc'N'Clean blockage**:
- **Description**: Event triggered when the device Calc'N'Clean is blocked.
- **Availability**: Coffee maker
- **Freezer door alarm**:
- **Description**: Event triggered when the freezer door was left open too long.
- **Availability**: Freezer, Fridge freezer
- **Refrigerator door alarm**:
- **Description**: Event triggered when the refrigerator door was left open too long.
- **Availability**: Fridge freezer, Refrigerator
- **Freezer temperature alarm**:
- **Description**: Event triggered when the freezer temperature is too high.
- **Availability**: Freezer, Fridge freezer
- **Empty dust box and clean filter**:
- **Description**: Event triggered when the user has to empty the dust box and clean the filter.
- **Availability**: Cleaning robot
- **Cleaning robot is stuck**:
- **Description**: Event triggered when the cleaning robot is stuck and isn't able to continue its run.
- **Availability**: Cleaning robot
- **Docking station not found**:
- **Description**: Event triggered when the cleaning robot wasn't able to find the charging station.
- **Availability**: Cleaning robot
- **Poor i-Dos 1 fill level**:
- **Description**: Event triggered when i-Dos content 1 is poor.
- **Availability**: Washer
- **Poor i-Dos 2 fill level**:
- **Description**: Event triggered when i-Dos content 2 is poor.
- **Availability**: Washer
- **Grease filter max saturation nearly reached**:
- **Description**: Event triggered when the grease filters need to be cleaned soon
- **Availability**: Hood
- **Grease filter max saturation reached**:
- **Description**: Event triggered when the grease filters are saturated
- **Availability**: Hood
{% enddetails %} {% enddetails %}
@ -1002,7 +1075,6 @@ Changes a setting.
| `key` | no | Key of the setting. | | `key` | no | Key of the setting. |
| `value` | no | Value of the setting. | | `value` | no | Value of the setting. |
## Automation examples ## Automation examples
Get started with these automation examples Get started with these automation examples
@ -1077,6 +1149,12 @@ actions:
This integration uses server-sent events from the Home Connect API to receive live updates from the appliances. This integration uses server-sent events from the Home Connect API to receive live updates from the appliances.
When the configuration entry is loaded or after a streaming error (for example after disconnection), the integration will request all data (such as appliance info, available commands, programs, settings, and status) for all appliances. When the configuration entry is loaded or after a streaming error (for example after disconnection), the integration will request all data (such as appliance info, available commands, programs, settings, and status) for all appliances.
If a new appliance is added to the account, the integration will request data for the new appliance and expose the related entities automatically. If a new appliance is added to the account, the integration will request data for the new appliance and expose the related entities automatically.
## Known limitations
- The Home Connect API does not fully match the Home Connect app. Some programs, options, or settings available in the app may not be accessible or usable via the API.
- This integration supports only one integration entry, as the Home Connect API does not allow for the unique identification of an account.
## Troubleshooting ## Troubleshooting
### I could not configure the Home Connect integration ### I could not configure the Home Connect integration
@ -1100,6 +1178,35 @@ To solve the above issue, follow these steps:
3. Select the three dots {% icon "mdi:dots-vertical" %} menu from the application credentials you created for the Home Connect integration and select **Delete**. 3. Select the three dots {% icon "mdi:dots-vertical" %} menu from the application credentials you created for the Home Connect integration and select **Delete**.
4. Add the Home Connect integration again under {% my integrations title="**Settings** > **Devices & services**" %} 4. Add the Home Connect integration again under {% my integrations title="**Settings** > **Devices & services**" %}
### Missing options at the "active program" and "selected program" entities
#### Symptom: "Although I have options, some programs that are available on the app are not in the list of options at the "active program" and "selected program" entities"
Some programs that are available to select on the app, on the physical device or in the diagnostics file from the device are missing at the "active program" and "selected program" entities.
##### Description
If you see programs in the app or the physical device that are missing in the integration, first check if they are available in the [diagnostics file](https://www.home-assistant.io/docs/configuration/troubleshooting/#download-diagnostics). If they are in the diagnostics file, it means the API can send them to the integration, but the integration can't recognize them.
##### Solution
The program key needs to be added to the integration. To help with that, you can open an issue at [aiohomeconnect](https://github.com/MartinHjelmare/aiohomeconnect) about the missing program key.
#### Symptom: "No programs available at the "active program" and "selected program" entities nor in the diagnostics file"
There are no programs available to select at the "active program" and "selected program" entities, and the downloaded device diagnostics file does not list any programs.
##### Description
The Home Connect API is not sending any programs to the integration.
##### Solution
There's no solution for this issue. The only thing that can be done is reporting the issue to Home Connect through these channels:
- [Home Connect service and contact](https://www.home-connect.com/us/en/support/contact-and-service)
- [Home Connect developer Help & Support](https://developer.home-connect.com/support)
### Unavailable entities for a device ### Unavailable entities for a device
#### Symptom: "The entities related to an appliance were available but no longer are" #### Symptom: "The entities related to an appliance were available but no longer are"
@ -1143,8 +1250,10 @@ To try to solve the above issues, follow these steps:
- [Home Connect service and contact](https://www.home-connect.com/us/en/support/contact-and-service) - [Home Connect service and contact](https://www.home-connect.com/us/en/support/contact-and-service)
- [Home Connect developer Help & Support](https://developer.home-connect.com/support) - [Home Connect developer Help & Support](https://developer.home-connect.com/support)
## Known limitations ## Removing the integration
- The Home Connect API does not fully match the Home Connect app. Some programs, options, or settings available in the app may not be accessible or usable via the API. This integration follows standard integration removal. No extra steps are required.
- This integration supports only one integration entry, as the Home Connect API does not allow for the unique identification of an account.
{% include integrations/remove_device_service.md %}
After deleting the integration, go to [your applications at the Home Connect Developer portal](https://developer.home-connect.com/applications), find the application that you were using for Home Assistant, click on details and click on "Delete Application".

View File

@ -47,8 +47,6 @@ To get started with the general settings in YAML, follow these steps:
currency: USD currency: USD
country: US country: US
time_zone: "America/Los_Angeles" time_zone: "America/Los_Angeles"
external_url: "https://www.example.com"
internal_url: "http://homeassistant.local:8123"
allowlist_external_dirs: allowlist_external_dirs:
- "/usr/var/dumping-ground" - "/usr/var/dumping-ground"
- "/tmp" - "/tmp"
@ -101,11 +99,11 @@ currency:
type: string type: string
default: "EUR" default: "EUR"
external_url: external_url:
description: "The URL that Home Assistant is available on from the internet. For example: `https://example.duckdns.org:8123`. Note that this setting may only contain a protocol, hostname and port; using a path is not supported." description: "The URL that Home Assistant is available on from the internet. For example: `https://example.duckdns.org:8123`. Note that this setting may only contain a protocol, hostname and port; using a path is not supported. This can also be configured by navigating to **{% my network title="Settings > System > Network" %}**."
required: false required: false
type: string type: string
internal_url: internal_url:
description: "The URL that Home Assistant is available on from your local network. For example: `http://homeassistant.local:8123`. Note that this setting may only contain a protocol, hostname and port; using a path is not supported." description: "The URL that Home Assistant is available on from your local network. For example: `http://192.168.0.10:8123`. Note that this setting may only contain a protocol, hostname and port; using a path is not supported. This can also be configured by navigating to **{% my network title="Settings > System > Network" %}**."
required: false required: false
type: string type: string
customize: customize:

View File

@ -10,10 +10,12 @@ ha_codeowners:
- '@Taraman17' - '@Taraman17'
ha_domain: homee ha_domain: homee
ha_platforms: ha_platforms:
- binary_sensor
- button - button
- cover - cover
- light - light
- number - number
- select
- sensor - sensor
- switch - switch
- valve - valve
@ -25,11 +27,13 @@ ha_quality_scale: bronze
There is currently support for the following device types in Home Assistant: There is currently support for the following device types in Home Assistant:
- binary sensor
- button - button
- cover - cover
- light - light
- number - number
- sensor - sensor
- select
- switch - switch
- valve - valve

View File

@ -406,7 +406,7 @@ The following integrations are currently supported:
| Integration | Type Name | Description | | Integration | Type Name | Description |
| ------------------------------------------------------------- | ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ------------------------------------------------------------- | ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| alarm_control_panel | SecuritySystem | All security systems. | | alarm_control_panel | SecuritySystem | All security systems. |
| automation / input_boolean / remote / scene / script / vacuum | Switch | All represented as switches. | | automation / input_boolean / lawn_mower / remote / scene / script / vacuum | Switch | All represented as switches. |
| input_select / select | Switch | Represented as a power strip with buttons for each option. | | input_select / select | Switch | Represented as a power strip with buttons for each option. |
| binary_sensor | Sensor | Support for `co2`, `door`, `garage_door`, `gas`, `moisture`, `motion`, `occupancy`, `opening`, `smoke` and `window` device classes. Defaults to the `occupancy` device class for everything else. | | binary_sensor | Sensor | Support for `co2`, `door`, `garage_door`, `gas`, `moisture`, `motion`, `occupancy`, `opening`, `smoke` and `window` device classes. Defaults to the `occupancy` device class for everything else. |
| camera | Camera | All camera devices. **HomeKit Secure Video is not supported at this time.** | | camera | Camera | All camera devices. **HomeKit Secure Video is not supported at this time.** |

View File

@ -7,6 +7,7 @@ ha_category:
- Button - Button
- Climate - Climate
- Cover - Cover
- Event
- Hub - Hub
- Light - Light
- Lock - Lock
@ -42,6 +43,7 @@ There is currently support for the following device types within Home Assistant:
- Button - Button
- Climate - Climate
- Cover - Cover
- Event
- Light - Light
- Lock - Lock
- Sensor - Sensor
@ -150,6 +152,9 @@ Within this delay the device registration should be completed in the App, otherw
- Module for Hoermann drives (*HMIP-MOD-HO*) - Module for Hoermann drives (*HMIP-MOD-HO*)
- Hunter Douglas & erfal window blinds (*HMIP-HDM1*) - Hunter Douglas & erfal window blinds (*HMIP-HDM1*)
- homematicip_cloud.event
- Doorbell Event for devices *HmIP-DSD-PCB* and others where ChannelRole equals DOOR_BELL_INPUT
- homematicip_cloud.light - homematicip_cloud.light
- Switch actuator and meter for brand switches (*HmIP-BSM*) - Switch actuator and meter for brand switches (*HmIP-BSM*)
- Dimming actuator for brand switches (*HmIP-BDT*) - Dimming actuator for brand switches (*HmIP-BDT*)

View File

@ -59,7 +59,7 @@ availability:
required: true required: true
type: string type: string
value_template: value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_mode: availability_mode:
@ -68,7 +68,7 @@ availability_mode:
type: string type: string
default: latest default: latest
availability_template: availability_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_topic: availability_topic:
@ -84,7 +84,7 @@ current_humidity_topic:
required: false required: false
type: string type: string
command_template: command_template:
description: Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to generate the payload to send to `command_topic`. description: Defines a [template](/docs/configuration/templating/#using-command-templates-with-mqtt) to generate the payload to send to `command_topic`.
required: false required: false
type: template type: template
command_topic: command_topic:
@ -145,7 +145,7 @@ device:
required: false required: false
type: string type: string
device_class: device_class:
description: The device class of the MQTT device. Must be either `humidifier`, `dehumidifier` or `null`. description: The [device class](/integrations/humidifier/#device-class) of the MQTT device. Must be either `humidifier`, `dehumidifier` or `null`.
required: false required: false
type: string type: string
default: humidifier default: humidifier
@ -172,7 +172,7 @@ icon:
required: false required: false
type: icon type: icon
json_attributes_template: json_attributes_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
required: false required: false
type: template type: template
json_attributes_topic: json_attributes_topic:
@ -234,7 +234,7 @@ payload_reset_mode:
type: string type: string
default: '"None"' default: '"None"'
target_humidity_command_template: target_humidity_command_template:
description: Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to generate the payload to send to `target_humidity_command_topic`. description: Defines a [template](/docs/configuration/templating/#using-command-templates-with-mqtt) to generate the payload to send to `target_humidity_command_topic`.
required: false required: false
type: template type: template
target_humidity_command_topic: target_humidity_command_topic:
@ -246,11 +246,11 @@ target_humidity_state_topic:
required: false required: false
type: string type: string
target_humidity_state_template: target_humidity_state_template:
description: Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract a value for the humidifier `target_humidity` state. description: Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract a value for the humidifier `target_humidity` state.
required: false required: false
type: template type: template
mode_command_template: mode_command_template:
description: Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to generate the payload to send to `mode_command_topic`. description: Defines a [template](/docs/configuration/templating/#using-command-templates-with-mqtt) to generate the payload to send to `mode_command_topic`.
required: false required: false
type: template type: template
mode_command_topic: mode_command_topic:
@ -262,7 +262,7 @@ mode_state_topic:
required: false required: false
type: string type: string
mode_state_template: mode_state_template:
description: Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract a value for the humidifier `mode` state. description: Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract a value for the humidifier `mode` state.
required: false required: false
type: template type: template
modes: modes:
@ -289,7 +289,7 @@ state_topic:
required: false required: false
type: string type: string
state_value_template: state_value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract a value from the state." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract a value from the state."
required: false required: false
type: template type: template
unique_id: unique_id:

View File

@ -148,6 +148,7 @@ The integration will create the following sensors:
- Battery level - Battery level
- Cutting blade usage time (if available) - Cutting blade usage time (if available)
- Error. For example: *Mower tilted*, *outside geofence*. - Error. For example: *Mower tilted*, *outside geofence*.
- Downtime (if available)
- Restricted reason. For example: *Week schedule*, *frost*, or *daily limit*. - Restricted reason. For example: *Week schedule*, *frost*, or *daily limit*.
- Mode - Mode
- Next start - Next start
@ -158,6 +159,7 @@ The integration will create the following sensors:
- Total drive distance - Total drive distance
- Total running time - Total running time
- Total searching time - Total searching time
- Uptime (if available)
- Work area (if available). For example: *My lawn*, *Front lawn*, *Back lawn* - Work area (if available). For example: *My lawn*, *Front lawn*, *Back lawn*
For each work area with activated systematic mowing these sensors are created: For each work area with activated systematic mowing these sensors are created:

View File

@ -15,9 +15,10 @@ ha_integration_type: integration
ha_quality_scale: bronze ha_quality_scale: bronze
--- ---
The **igloohome** {% term integration %} grants Home Assistant access to paired [smart access device\(s\)](https://www.igloohome.co/#products). The features of this integration includes: The **igloohome** {% term integration %} grants Home Assistant access to paired [smart access device\(s\)](https://www.igloohome.co/#products) via the [igloodeveloper API](https://igloocompany.stoplight.io/docs/igloohome-api/1w1cuv56ge5xq-overview). The features of this integration include:
- For [Bridge](https://www.igloohome.co/products/bridge) owners: - For [Bridge](https://www.igloohome.co/products/bridge) owners:
- Lock/Unlock/Open locks that are linked to a bridge.
- Regular updates of all linked devices' battery level. - Regular updates of all linked devices' battery level.
- For non-bridge owners: - For non-bridge owners:
@ -76,3 +77,11 @@ Some generic troubleshooting steps:
- Verify that your [API credentials](https://access.igloocompany.co/api-access) are correctly filled in. - Verify that your [API credentials](https://access.igloocompany.co/api-access) are correctly filled in.
- Ensure your API credentials have not expired or been revoked. - Ensure your API credentials have not expired or been revoked.
### Unable to lock/unlock/open lock
- Verify that the bridge is:
- powered on
- has an active internet connection
- and is within Bluetooth range of the lock
- If you've changed the link between the bridge and the lock, reload the config entry.

View File

@ -48,7 +48,7 @@ availability:
required: true required: true
type: string type: string
value_template: value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_mode: availability_mode:
@ -57,7 +57,7 @@ availability_mode:
type: string type: string
default: latest default: latest
availability_template: availability_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_topic: availability_topic:
@ -153,7 +153,7 @@ image_topic:
required: exclusive required: exclusive
type: string type: string
json_attributes_template: json_attributes_template:
description: Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the JSON dictionary from messages received on the `json_attributes_topic`. description: Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the JSON dictionary from messages received on the `json_attributes_topic`.
required: false required: false
type: template type: template
json_attributes_topic: json_attributes_topic:
@ -173,7 +173,7 @@ unique_id:
required: false required: false
type: string type: string
url_template: url_template:
description: Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the image URL from a message received at `url_topic`. description: Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the image URL from a message received at `url_topic`.
required: false required: false
type: template type: template
url_topic: url_topic:

View File

@ -26,6 +26,9 @@ Integrates [INKBIRD](https://www.inkbird.com/) devices into Home Assistant.
- [INKBIRD Bluetooth BBQ Thermometer IBT-6XS](https://inkbird.com/products/bluetooth-bbq-thermometer-ibt-6xs) - [INKBIRD Bluetooth BBQ Thermometer IBT-6XS](https://inkbird.com/products/bluetooth-bbq-thermometer-ibt-6xs)
- [INKBIRD Bluetooth Grill Thermometer IBT-4XS](https://inkbird.com/products/bluetooth-grill-thermometer-ibt-4xs) - [INKBIRD Bluetooth Grill Thermometer IBT-4XS](https://inkbird.com/products/bluetooth-grill-thermometer-ibt-4xs)
- [INKBIRD Bluetooth Grill Thermometer IBT-2X](https://inkbird.com/products/bluetooth-grill-thermometer-ibt-2x) - [INKBIRD Bluetooth Grill Thermometer IBT-2X](https://inkbird.com/products/bluetooth-grill-thermometer-ibt-2x)
- [INKBIRD Bluetooth Hygrometer Thermometer ITH-11-B](https://inkbird.com/products/bluetooth-hygrometer-thermometer-ith-11-b)
- [INKBIRD Bluetooth Hygrometer Thermometer ITH-13-B](https://inkbird.com/products/bluetooth-hygrometer-thermometer-ith-13-b)
- [INKBIRD Bluetooth Hygrometer Thermometer ITH-21-B](https://inkbird.com/products/bluetooth-hygrometer-thermometer-ith-21-b)
- [Nutrichef Smart Wireless Grill Thermometer](https://nutrichefkitchen.com/products/pwirbbq40) - [Nutrichef Smart Wireless Grill Thermometer](https://nutrichefkitchen.com/products/pwirbbq40)
- [Nutrichef Smart Bluetooth BBQ Grill Thermometer](https://nutrichefkitchen.com/products/pwirbbq80-1) - [Nutrichef Smart Bluetooth BBQ Grill Thermometer](https://nutrichefkitchen.com/products/pwirbbq80-1)

View File

@ -3,17 +3,18 @@ title: IOmeter
description: Instructions on how to integrate IOmeter within Home Assistant. description: Instructions on how to integrate IOmeter within Home Assistant.
ha_release: 2025.3 ha_release: 2025.3
ha_category: ha_category:
- Sensor
- Energy - Energy
- Sensor
ha_codeowners: ha_codeowners:
- '@MaestroOnICe' - '@MaestroOnICe'
- '@iometer-gmbh'
ha_quality_scale: bronze ha_quality_scale: bronze
ha_domain: iometer ha_domain: iometer
ha_integration_type: integration ha_integration_type: device
ha_iot_class: Local Polling ha_iot_class: Local Polling
ha_config_flow: true ha_config_flow: true
ha_zeroconf: true ha_zeroconf: true
ha_platforms:
- sensor
--- ---
The **IOmeter** {% term integration %} fetches data from your [IOmeter](https://iometer.de/produkt/) device, by using the local HTTP API. The **IOmeter** {% term integration %} fetches data from your [IOmeter](https://iometer.de/produkt/) device, by using the local HTTP API.
@ -50,6 +51,8 @@ The following sensors are supported:
- Core power status: Battery or USB-C power for the IOmeter Core - Core power status: Battery or USB-C power for the IOmeter Core
- Signal strength WiFi: WiFi connection strength of the Bridge - Signal strength WiFi: WiFi connection strength of the Bridge
- Signal strength Core/Bridge: Sub-GHz connection strength between Core and Bridge - Signal strength Core/Bridge: Sub-GHz connection strength between Core and Bridge
- Core/Bridge connection status: If Core and Bridge are connected
- Core attachment status: If the IOmeter Core is attached to the electricity meter
## Troubleshooting ## Troubleshooting

View File

@ -6,7 +6,6 @@ ha_category:
ha_release: 0.108 ha_release: 0.108
ha_iot_class: Local Polling ha_iot_class: Local Polling
ha_config_flow: true ha_config_flow: true
ha_quality_scale: platinum
ha_codeowners: ha_codeowners:
- '@ctalkington' - '@ctalkington'
ha_domain: ipp ha_domain: ipp

View File

@ -102,6 +102,8 @@ The following controls allow you to customize the settings and options for your
- **Button locking mode:** Configures whether buttons can be locked to prevent accidental presses, with options for disabled, full locking, or boost only. - **Button locking mode:** Configures whether buttons can be locked to prevent accidental presses, with options for disabled, full locking, or boost only.
- **Display orientation mode:** Sets the display orientation with options for left-handed, right-handed, or automatic adjustment. - **Display orientation mode:** Sets the display orientation with options for left-handed, right-handed, or automatic adjustment.
- **Startup behavior:** Defines the mode the device enters on power-up: disabled, sleeping mode, idle mode (heat-off until moved), or soldering mode. - **Startup behavior:** Defines the mode the device enters on power-up: disabled, sleeping mode, idle mode (heat-off until moved), or soldering mode.
- **Soldering tip type:** Select the type of soldering tip in use: TS100 long/Hakko T12, Pinecil short, or PTS200 short. The auto-sense option enables automatic detection of the tip type. This feature requires IronOS v2.23 or higher.
- **Hall effect sleep timeout:** Specifies the duration of inactivity after which the device enters sleep mode when a hall effect sensor (if present) detects proximity to a magnet. This feature requires IronOS v2.23 or higher.
### User interface settings ### User interface settings
@ -126,7 +128,7 @@ The following controls allow you to customize the settings and options for your
- **Power Delivery timeout:** Defines how long the firmware will attempt to negotiate USB-PD before switching to Quick Charge. Lower values are recommended for faster PD negotiation. - **Power Delivery timeout:** Defines how long the firmware will attempt to negotiate USB-PD before switching to Quick Charge. Lower values are recommended for faster PD negotiation.
- **Power limit:** Sets a custom wattage cap for the device to maintain the **average** power below this value. Note: Peak power cannot be controlled. When using USB-PD, the limit will be the lower of this setting and the power supply's advertised wattage. - **Power limit:** Sets a custom wattage cap for the device to maintain the **average** power below this value. Note: Peak power cannot be controlled. When using USB-PD, the limit will be the lower of this setting and the power supply's advertised wattage.
- **Quick Charge voltage:** Adjusts the maximum voltage for Quick Charge negotiation. Does not affect USB-PD. Ensure the setting aligns with the current rating of your power supply for safety. - **Quick Charge voltage:** Adjusts the maximum voltage for Quick Charge negotiation. Does not affect USB-PD. Ensure the setting aligns with the current rating of your power supply for safety.
- **Power Delivery 3.1 EPR (Extended Power Range):** Enables EPR mode, allowing input voltages up to 28V with a [compatible USB-C power supply](https://wiki.pine64.org/wiki/Pinecil_Power_Supplies#EPR_PD3.1,_140W_Chargers) - **Power Delivery 3.1 EPR (Extended Power Range):** Enables EPR mode, allowing input voltages up to 28V with a [compatible USB-C power supply](https://wiki.pine64.org/wiki/Pinecil_Power_Supplies#EPR_PD3.1,_140W_Chargers). Options are *on*, *off*, and *safe* (does not dynamically request more power). The *safe* option requires IronOS v2.23 or higher.
### Advanced settings ### Advanced settings
@ -149,7 +151,7 @@ Get started with this automation example for IronOS with a ready-to-use blueprin
Automatically activate the fume extractor when soldering begins and deactivate it when the soldering iron is idle. Automatically activate the fume extractor when soldering begins and deactivate it when the soldering iron is idle.
{% my blueprint_import badge blueprint_url="https://community.home-assistant.io/t/ironos-soldering-fume-extractor-automation-pinecil-v2/802156" %} {% my blueprint_import badge blueprint_url="<https://community.home-assistant.io/t/ironos-soldering-fume-extractor-automation-pinecil-v2/802156>" %}
{% details "Example YAML configuration" %} {% details "Example YAML configuration" %}

View File

@ -58,7 +58,7 @@ Default: Islamic Society of North America
A prayer times calculation method. Methods identify various schools of thought about how to compute the timings. If not specified, it defaults to Islamic Society of North America. A prayer times calculation method. Methods identify various schools of thought about how to compute the timings. If not specified, it defaults to Islamic Society of North America.
### Latatude Adjustment Method ### Latitude Adjustment Method
Default: Middle of the night Default: Middle of the night

View File

@ -9,7 +9,7 @@ ha_category:
ha_release: '2021.12' ha_release: '2021.12'
ha_iot_class: Local Polling ha_iot_class: Local Polling
ha_codeowners: ha_codeowners:
- '@j-stienstra' - '@RunC0deRun'
- '@ctalkington' - '@ctalkington'
ha_config_flow: true ha_config_flow: true
ha_domain: jellyfin ha_domain: jellyfin

View File

@ -84,53 +84,56 @@ Time sensor states are represented as ISO8601 formatted *UTC time*.
### Holiday sensor ### Holiday sensor
The holiday sensor includes 3 attributes: *type*, *type_id*, and *id*. The holiday sensor includes 2 attributes: *type*, and *id*.
The *type_id* is useful for cases to condition automations based on a range of types.
The *id* is useful for automations so they're not language-dependent.
On Rosh Chodesh Tevet, which always falls on Chanukah, the sensor will report both values: "Rosh Chodesh, Chanukah". On Rosh Chodesh Tevet, which always falls on Chanukah, the sensor will report both values: "Rosh Chodesh, Chanukah".
In Israel, on the 30th of Shvat, the sensor will report: "Rosh Chodesh, Family day". On the 22nd of Tishrei it will report: "Shmini Atzeret, Simchat Torah".
The following is the list of holidays the sensor knows about with their selected type: The following is the list of holidays the sensor knows about with their selected type:
| ID | English | Hebrew | Type | Type_ID | | ID | English | Hebrew | Type |
|----------------------|----------------------------|-----------------------|---------------------------|:-------:| |----------------------|----------------------------|-----------------------|---------------------------|
| erev_rosh_hashana | Erev Rosh Hashana | ערב ראש השנה | EREV_YOM_TOV | 2 | | erev_rosh_hashana | Erev Rosh Hashana | ערב ראש השנה | EREV_YOM_TOV |
| rosh_hashana_i | Rosh Hashana I | א' ראש השנה | YOM_TOV | 1 | | rosh_hashana_i | Rosh Hashana I | א' ראש השנה | YOM_TOV |
| rosh_hashana_ii | Rosh Hashana II | ב' ראש השנה | YOM_TOV | 1 | | rosh_hashana_ii | Rosh Hashana II | ב' ראש השנה | YOM_TOV |
| tzom_gedaliah | Tzom Gedaliah | צום גדליה | FAST_DAY | 5 | | tzom_gedaliah | Tzom Gedaliah | צום גדליה | FAST_DAY |
| erev_yom_kippur | Erev Yom Kippur | עיוה"כ | EREV_YOM_TOV | 2 | | erev_yom_kippur | Erev Yom Kippur | עיוה"כ | EREV_YOM_TOV |
| yom_kippur | Yom Kippur | יום הכפורים | YOM_TOV | 1 | | yom_kippur | Yom Kippur | יום הכפורים | YOM_TOV |
| erev_sukkot | Erev Sukkot | ערב סוכות | EREV_YOM_TOV | 2 | | erev_sukkot | Erev Sukkot | ערב סוכות | EREV_YOM_TOV |
| sukkot | Sukkot | סוכות | YOM_TOV | 1 | | sukkot | Sukkot | סוכות | YOM_TOV |
| sukkot_ii | Sukkot II | שני של סוכות | YOM_TOV | 1 | | sukkot_ii | Sukkot II | שני של סוכות | YOM_TOV |
| hol_hamoed_sukkot | Hol hamoed Sukkot | חול המועד סוכות | HOL_HAMOED | 3 | | hol_hamoed_sukkot | Hol hamoed Sukkot | חול המועד סוכות | HOL_HAMOED |
| hoshana_raba | Hoshana Raba | הושענא רבה | EREV_YOM_TOV | 2 | | hoshana_raba | Hoshana Raba | הושענא רבה | EREV_YOM_TOV |
| shmini_atzeret | Shmini Atzeret | שמיני עצרת | YOM_TOV | 1 | | shmini_atzeret | Shmini Atzeret | שמיני עצרת | YOM_TOV |
| simchat_torah | Simchat Torah | שמחת תורה | YOM_TOV | 1 | | simchat_torah | Simchat Torah | שמחת תורה | YOM_TOV |
| chanukah | Chanukah | חנוכה | MELACHA_PERMITTED_HOLIDAY | 4 | | chanukah | Chanukah | חנוכה | MELACHA_PERMITTED_HOLIDAY |
| rabin_memorial_day | Yitzhak Rabin memorial day | יום הזכרון ליצחק רבין | MEMORIAL_DAY | 8 | | rabin_memorial_day | Yitzhak Rabin memorial day | יום הזכרון ליצחק רבין | MEMORIAL_DAY |
| asara_btevet | Asara B'Tevet | צום עשרה בטבת | FAST_DAY | 5 | | asara_btevet | Asara B'Tevet | צום עשרה בטבת | FAST_DAY |
| tu_bshvat | Tu B'Shvat | ט"ו בשבט | MINOR_HOLIDAY | 7 | | tu_bshvat | Tu B'Shvat | ט"ו בשבט | MINOR_HOLIDAY |
| family_day | Family Day | יום המשפחה | ISRAEL_NATIONAL_HOLIDAY | 9 | | family_day | Family Day | יום המשפחה | ISRAEL_NATIONAL_HOLIDAY |
| memorial_day_unknown | Memorial day for fallen whose place of burial is unknown | יום הזיכרון לחללי מערכות ישראל שמקום קבורתם לא נודע | MEMORIAL_DAY | 8 | | memorial_day_unknown | Memorial day for fallen whose place of burial is unknown | יום הזיכרון לחללי מערכות ישראל שמקום קבורתם לא נודע | MEMORIAL_DAY |
| taanit_esther | Ta'anit Esther | תענית אסתר | FAST_DAY | 5 | | taanit_esther | Ta'anit Esther | תענית אסתר | FAST_DAY |
| purim | Purim | פורים | MELACHA_PERMITTED_HOLIDAY | 4 | | purim | Purim | פורים | MELACHA_PERMITTED_HOLIDAY |
| shushan_purim | Shushan Purim | שושן פורים | MELACHA_PERMITTED_HOLIDAY | 4 | | shushan_purim | Shushan Purim | שושן פורים | MELACHA_PERMITTED_HOLIDAY |
| erev_pesach | Erev Pesach | ערב פסח | EREV_YOM_TOV | 2 | | erev_pesach | Erev Pesach | ערב פסח | EREV_YOM_TOV |
| pesach | Pesach | פסח | YOM_TOV | 1 | | pesach | Pesach | פסח | YOM_TOV |
| pesach_ii | Pesach II | שני של פסח | YOM_TOV | 1 | | pesach_ii | Pesach II | שני של פסח | YOM_TOV |
| hol_hamoed_pesach | Hol hamoed Pesach | חול המועד פסח | HOL_HAMOED | 3 | | hol_hamoed_pesach | Hol hamoed Pesach | חול המועד פסח | HOL_HAMOED |
| pesach_vii | Pesach VII | שביעי פסח | YOM_TOV | 1 | | pesach_vii | Pesach VII | שביעי פסח | YOM_TOV |
| pesach_viii | Pesach VIII | אחרון של פסח | YOM_TOV | 1 | | pesach_viii | Pesach VIII | אחרון של פסח | YOM_TOV |
| yom_hashoah | Yom HaShoah | יום השואה | MEMORIAL_DAY | 8 | | yom_hashoah | Yom HaShoah | יום השואה | MEMORIAL_DAY |
| yom_hazikaron | Yom HaZikaron | יום הזכרון | MEMORIAL_DAY | 8 | | yom_hazikaron | Yom HaZikaron | יום הזכרון | MEMORIAL_DAY |
| yom_haatzmaut | Yom HaAtzma'ut | יום העצמאות | MODERN_HOLIDAY | 6 | | yom_haatzmaut | Yom HaAtzma'ut | יום העצמאות | MODERN_HOLIDAY |
| lag_bomer | Lag B'Omer | ל"ג בעומר | MINOR_HOLIDAY | 7 | | lag_bomer | Lag B'Omer | ל"ג בעומר | MINOR_HOLIDAY |
| yom_yerushalayim | Yom Yerushalayim | יום ירושלים | MODERN_HOLIDAY | 6 | | yom_yerushalayim | Yom Yerushalayim | יום ירושלים | MODERN_HOLIDAY |
| erev_shavuot | Erev Shavuot | ערב שבועות | EREV_YOM_TOV | 2 | | erev_shavuot | Erev Shavuot | ערב שבועות | EREV_YOM_TOV |
| shavuot | Shavuot | שבועות | YOM_TOV | 1 | | shavuot | Shavuot | שבועות | YOM_TOV |
| shavuot_ii | Shavuot II | שני של שבועות | YOM_TOV | 1 | | shavuot_ii | Shavuot II | שני של שבועות | YOM_TOV |
| tzom_tammuz | Tzom Tammuz | צום שבעה עשר בתמוז | FAST_DAY | 5 | | tzom_tammuz | Tzom Tammuz | צום שבעה עשר בתמוז | FAST_DAY |
| zeev_zhabotinsky_day | Zeev Zhabotinsky day | יום זאב ז'בוטינסקי | MEMORIAL_DAY | 8 | | zeev_zhabotinsky_day | Zeev Zhabotinsky day | יום זאב ז'בוטינסקי | MEMORIAL_DAY |
| tisha_bav | Tish'a B'Av | תשעה באב | FAST_DAY | 5 | | tisha_bav | Tish'a B'Av | תשעה באב | FAST_DAY |
| tu_bav | Tu B'Av | ט"ו באב | MINOR_HOLIDAY | 7 | | tu_bav | Tu B'Av | ט"ו באב | MINOR_HOLIDAY |
| rosh_chodesh | Rosh Chodesh | ראש חודש | ROSH_CHODESH | 10 | | rosh_chodesh | Rosh Chodesh | ראש חודש | ROSH_CHODESH |

View File

@ -28,7 +28,7 @@ activity_state_topic:
required: false required: false
type: string type: string
activity_value_template: activity_value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the value." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the value."
required: false required: false
type: template type: template
availability: availability:
@ -51,7 +51,7 @@ availability:
required: true required: true
type: string type: string
value_template: value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the device's availability from the `topic`. To determine the device's availability, the result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the device's availability from the `topic`. To determine the device's availability, the result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_topic: availability_topic:
@ -64,7 +64,7 @@ availability_mode:
type: string type: string
default: latest default: latest
availability_template: availability_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `availability_topic`. To determine the devices's availability, the result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `availability_topic`. To determine the devices's availability, the result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
device: device:
@ -121,7 +121,7 @@ device:
required: false required: false
type: string type: string
dock_command_template: dock_command_template:
description: Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to generate the payload to send to `dock_command_topic`. The `value` parameter in the template will be set to `dock`. description: Defines a [template](/docs/configuration/templating/#using-command-templates-with-mqtt) to generate the payload to send to `dock_command_topic`. The `value` parameter in the template will be set to `dock`.
required: false required: false
type: template type: template
dock_command_topic: dock_command_topic:
@ -151,7 +151,7 @@ icon:
required: false required: false
type: icon type: icon
json_attributes_template: json_attributes_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the JSON dictionary from messages received on the `json_attributes_topic`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the JSON dictionary from messages received on the `json_attributes_topic`."
required: false required: false
type: template type: template
json_attributes_topic: json_attributes_topic:
@ -172,7 +172,7 @@ optimistic:
type: boolean type: boolean
default: "`true` if no `activity_state_topic` defined, else `false`." default: "`true` if no `activity_state_topic` defined, else `false`."
pause_command_template: pause_command_template:
description: Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to generate the payload to send to `pause_command_topic`. The `value` parameter in the template will be set to `pause`. description: Defines a [template](/docs/configuration/templating/#using-command-templates-with-mqtt) to generate the payload to send to `pause_command_topic`. The `value` parameter in the template will be set to `pause`.
required: false required: false
type: template type: template
pause_command_topic: pause_command_topic:
@ -189,7 +189,7 @@ qos:
type: integer type: integer
default: 0 default: 0
start_mowing_template: start_mowing_template:
description: Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to generate the payload to send to `start_mowing_command_topic`. The `value` parameter in the template will be set to `start_mowing`. description: Defines a [template](/docs/configuration/templating/#using-command-templates-with-mqtt) to generate the payload to send to `start_mowing_command_topic`. The `value` parameter in the template will be set to `start_mowing`.
required: false required: false
type: template type: template
start_mowing_command_topic: start_mowing_command_topic:

View File

@ -127,29 +127,30 @@ The properties for controlling both the temperature and wind strength of the app
| Device | Property | | Device | Property |
| ------ | -------- | | ------ | -------- |
| Air Conditioner | Current temperature<br>Fan mode<br>HVAC mode<br>Preset mode<br>Temperature<br>Temperature cool<br>Temperature heat<br>Unit | | Air Conditioner | Current temperature<br>Fan mode<br>Swing mode<br>Swing horizontal mode<br>HVAC mode<br>Preset mode<br>Temperature<br>Temperature cool<br>Temperature heat<br>Unit |
| System Boiler | Current temperature<br>HVAC mode<br>Temperature<br>Temperature cool<br>Temperature heat<br>Unit | | System Boiler | Current temperature<br>HVAC mode<br>Temperature<br>Temperature cool<br>Temperature heat<br>Unit |
### Event ### Event
A notification message pushed from the server is represented as an event platform. A notification message pushed from the server is represented as an event platform. The **Notification codes** shows the full support range, and you can check the range of your device through the developer tools.
| Device | Property | | Device | Property | Notification codes |
| ------ | -------- | | ------ | -------- | ---------- |
| Air Conditioner | Notification | | Air Conditioner | Notification | water_is_full |
| Air Purifier| Notification | | Air Purifier| Notification | lack_of_water, time_to_clean_filter, pollution_is_high, time_to_change_filter |
| Air Purifier Fan | Notification | | Air Purifier Fan | Notification | time_to_change_filter |
| Dehumidifier | Notification | | Dehumidifier | Notification | water_is_full |
| Dish Washer | Error<br>Notification | | Dish Washer | Error<br>Notification | cleaning_is_complete, error_during_cleaning, water_leak_has_occurred, rinse_is_not_enough, salt_refill_is_needed |
| Humidifier | Notification | | Humidifier | Notification | time_to_change_filter, lack_of_water |
| Kimchi Refrigerator | Notification | | Kimchi Refrigerator | Notification | door_is_open |
| Microwave Oven | Notification | | Microwave Oven | Notification | none |
| Oven | Notification | | Oven | Notification | preheating_is_complete, cooking_is_complete, time_to_clean, error_has_occurred |
| Refrigerator | Notification | | Refrigerator | Notification | time_to_change_filter, time_to_change_water_filter, frozen_is_complete, door_is_open |
| Robot Cleaner | Error<br>Notification | | Robot Cleaner | Error<br>Notification | - |
| Stick Cleaner | Notification | | Stick Cleaner | Notification | charging_is_complete, time_to_clean_filter |
| Dryer<br>Styler<br>Washer<br>Washcombo Main<br>Washcombo Mini<br>Washtower<br>Washtower Dryer<br>Washtower Washer | Error<br>Notification | | Washer<br>Dryer<br>Washcombo Main<br>Washcombo Mini<br>Washtower<br>Washtower Dryer<br>Washtower Washer | Error<br>Notification | washing_is_complete, error_during_washing, drying_is_complete, drying_failed |
| Wine Cellar | Notification | | Styler | Error<br>Notification | styling_is_complete, error_has_occurred |
| Wine Cellar | Notification | door_is_open |
### Fan ### Fan
@ -172,7 +173,7 @@ A read-write property which has a numeric value is represented as a number platf
| Microwave Oven | Fan<br>Light | | Microwave Oven | Fan<br>Light |
| Oven | Temperature | | Oven | Temperature |
| Refrigerator | Temperature | | Refrigerator | Temperature |
| Dryer<br>Styler<br>Washer<br>Washcombo Main<br>Washcombo Mini<br>Washtower<br>Washtower Dryer<br>Washtower Washer | Delay ends in | | Dryer<br>Styler<br>Washer<br>Washcombo Main<br>Washcombo Mini<br>Washtower<br>Washtower Dryer<br>Washtower Washer | Delayed start/end |
| Water Heater | Temperature | | Water Heater | Temperature |
| Wine Cellar | Light<br>Temperature | | Wine Cellar | Light<br>Temperature |
@ -200,13 +201,13 @@ A read-write property which has only two states that can be toggled is represent
| Device | Property | | Device | Property |
| ------ | -------- | | ------ | -------- |
| Air Conditioner | Energy saving | | Air Conditioner | Power<br>Lighting<br>Energy saving |
| Air Purifier | Power | | Air Purifier | Power |
| Air Purifier Fan | Heating<br>Power<br>UVnano | | Air Purifier Fan | Heating<br>Power<br>UVnano |
| Dehumidifier | Power | | Dehumidifier | Power |
| Humidifier | Auto mode<br>Heating<br>Mood light<br>Power<br>Sleep mode | | Humidifier | Auto mode<br>Heating<br>Mood light<br>Power<br>Sleep mode |
| Refrigerator | Ice plus<br>Quick freeze | | Refrigerator | Express mode<br>Express cool<br>Quick freeze |
| System Boiler | Hot water | | System Boiler | Power<br>Hot water |
| Wine Cellar | Ventilation | | Wine Cellar | Ventilation |
### Vacuum ### Vacuum
@ -217,6 +218,14 @@ The properties for controlling the clean operations of the appliance are represe
| ------ | -------- | | ------ | -------- |
| Robot Cleaner | Battery<br>Current status<br>Operation | | Robot Cleaner | Battery<br>Current status<br>Operation |
### Water heater
The properties for controlling the operating mode and temperature are represented as a water_heater platform.
| Device | Property |
| ------ | -------- |
| Water heater | Mode<br>Current temperature<br>Temperature |
### Sensor ### Sensor
A read-only property which has states is represented as a sensor platform. A read-only property which has states is represented as a sensor platform.
@ -228,8 +237,8 @@ A read-only property which has states is represented as a sensor platform.
| Air Purifier Fan | Air quality sensor<br>Humidity<br>Odor<br>Overall air quality<br>PM1<br>PM10<br>PM2.5<br>Sleep timer<br>Temperature<br>Schedule turn-off<br>Schedule turn-on | | Air Purifier Fan | Air quality sensor<br>Humidity<br>Odor<br>Overall air quality<br>PM1<br>PM10<br>PM2.5<br>Sleep timer<br>Temperature<br>Schedule turn-off<br>Schedule turn-on |
| Cooktop | Current status<br>Power level | | Cooktop | Current status<br>Power level |
| Dehumidifier | Humidity<br>Operating mode | | Dehumidifier | Humidity<br>Operating mode |
| Dish Washer | Current cycle<br>Current status<br>Rinse aid dispenser level<br>Softening level<br>Delay in<br>Remaining time<br>Total time | | Dish Washer | Current cycle<br>Current status<br>Rinse aid dispenser level<br>Softening level<br>Delayed start<br>Remaining time<br>Total time |
| Home Brew| Brewing duration<br>Brewing period<br>Current status<br>Flavor<br>Homebrew recipe<br>Hops<br>Recipe progress<br>Wort<br>Yeast | | Home Brew| Brewing duration<br>Brewing period<br>Current status<br>First flavor<br>Second flavor<br>Homebrew recipe<br>First hop<br>Second hop<br>Recipe progress<br>Wort<br>Yeast |
| Humidifier | Air quality sensor<br>Humidity<br>Overall air quality<br>PM1<br>PM10<br>PM2.5<br>Schedule turn-off<br>Schedule turn-on<br>Sleep timer<br>Temperature | | Humidifier | Air quality sensor<br>Humidity<br>Overall air quality<br>PM1<br>PM10<br>PM2.5<br>Schedule turn-off<br>Schedule turn-on<br>Sleep timer<br>Temperature |
| Kimchi Refrigerator | Fresh air filter<br>Temperature | | Kimchi Refrigerator | Fresh air filter<br>Temperature |
| Microwave Oven | Current status | | Microwave Oven | Current status |
@ -238,16 +247,16 @@ A read-only property which has states is represented as a sensor platform.
| Refrigerator | Fresh air filter<br>Water filter used | | Refrigerator | Fresh air filter<br>Water filter used |
| Robot Cleaner | Current status<br>Operating mode<br>Running time | | Robot Cleaner | Current status<br>Operating mode<br>Running time |
| Stick Cleaner | Battery<br>Current status<br>Operating mode | | Stick Cleaner | Battery<br>Current status<br>Operating mode |
| Water Heater | Temperature | | System Boiler | Indoor temperature<br>Inlet temperature<br>Outlet temperature |
| Water Purifier | High-temp sterilization<br>Type<br>UVnano| | Water Purifier | High-temp sterilization<br>Type<br>UVnano|
| Dryer<br>Styler<br>Washer<br>Washcombo Main<br>Washcombo Mini<br>Washtower<br>Washtower Dryer<br>Washtower Washer | Current status<br>Delay in<br>Remaining time<br>Total time | | Dryer<br>Styler<br>Washer<br>Washcombo Main<br>Washcombo Mini<br>Washtower<br>Washtower Dryer<br>Washtower Washer | Current status<br>Delayed start/end<br>Remaining time<br>Total time<br>Cycles |
### Custom card configuration ## User guide
### 1. Custom card configuration (HACS)
#### Timer Bar Card **- Timer Bar Card**
> - Supported devices: Washer, Dryer, Styler, Dish washer
- Supported devices: Washer, Dryer, Styler, Dish washer > - Used entities: sensor.washer_**current_status**, sensor.washer_**remaining_time**, sensor.washer_**total_time**
- Entities: sensor.washer_current_status, sensor.washer_remaining_time, sensor.washer_total_time
```yaml ```yaml
type: custom:timer-bar-card type: custom:timer-bar-card
@ -274,6 +283,130 @@ entities:
invert: true invert: true
``` ```
### 2. Automation
#### 1) Air conditioner, climate
> - Currently the Climate's set_hvac_mode, set_temperature service is not working properly. Each control must operate sequentially, but conditional wait for this has not yet been implemented in ThinQ integration.
> - We provide a script that can do turn_on, set_hvac_mode, and set_temperature at once, so please use it for automation.
> - Create a new script in 'CREATE SCRIPT' using the code below, then select the script in the 'Action' field.
> - This conditional wait is scheduled to be implemented in core 2025.4.
{% raw %}
```yaml
alias: LG ThinQ climate
description: "Action turn_on, set_hvac_mode, set_temperature"
fields:
input_device:
selector:
device:
filter:
- integration: lg_thinq
name: Device
required: true
input_entity:
selector:
entity:
filter:
- integration: lg_thinq
domain: climate
name: Entity
required: true
input_hvac:
selector:
select:
options:
- label: Off
value: off
- label: Auto
value: auto
- label: Cool
value: cool
- label: Dry
value: dry
- label: Fan only
value: fan_only
- label: Heat/cool
value: heat_cool
- label: Heat
value: heat
name: HVAC mode
required: true
default: cool
input_temperature:
selector:
number:
min: 1
max: 100
name: Target temperature
required: true
default: 18
sequence:
- sequence:
- variables:
entity_name: "{{ input_entity.split('.')[1] }}"
- if:
- condition: template
value_template: >-
{{ input_hvac != 'off' and states('climate.'+ entity_name) == 'off' }}
then:
- action: climate.turn_on
target:
device_id: "{{ input_device }}"
data: {}
- wait_template: "{{ states('climate.'+ entity_name) != 'off' }}"
- if:
- condition: template
value_template: "{{ states('climate.'+ entity_name) != input_hvac }}"
then:
- action: climate.set_hvac_mode
data:
hvac_mode: "{{ input_hvac }}"
target:
device_id: "{{ input_device }}"
- wait_template: "{{ states('climate.'+ entity_name) == input_hvac }}"
- if:
- condition: template
value_template: "{{ input_hvac != 'off' }}"
then:
- action: climate.set_temperature
data:
temperature: "{{ input_temperature }}"
target:
device_id: "{{ input_device }}"
```
{% endraw %}
#### 2) Notification, error event
> - Guide: [Automating on event](https://www.home-assistant.io/integrations/event/#automating-on-a-button-press)
> - Important: guide's step 3, 4
> - You can select the state change you want to act as trigger in step 4
{% raw %}
```yaml
alias: lack of water example
description: Toggle switch when air purifier's lack_of_water
triggers:
- trigger: state
entity_id:
- event.purifier_notification
actions:
- condition: state
entity_id: event.purifier_notification
attribute: event_type
state: lack_of_water
- type: toggle
device_id: xxxxxxxx
entity_id: xxxxxxxx
domain: switch
```
{% endraw %}
## Troubleshooting ## Troubleshooting
### Setup ### Setup
@ -293,5 +426,9 @@ The LG ThinQ integration will work properly after some time.
## Debugging / Issue report ## Debugging / Issue report
The LG ThinQ integration will show additional information by enabling log configuration. The LG ThinQ integration will show additional information by enabling log configuration.
1. Enable debug logging in /config/integrations/integration/lg_thinq, 1. [Enable debug logging](/docs/configuration/troubleshooting/#enabling-debug-logging).
2. Please report your device info (screenshot including name, device type, entities) and logs. - If you change **Enable** to **Disable**, the log will be saved to the download folder.
2. When reporting an issue:
- Provide screenshots of your device configuration (including device name, type, and entities).
- Include the debug logs.
- Describe the expected behavior and what's not working.

View File

@ -70,7 +70,7 @@ availability:
required: true required: true
type: string type: string
value_template: value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_mode: availability_mode:
@ -79,7 +79,7 @@ availability_mode:
type: string type: string
default: latest default: latest
availability_template: availability_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_topic: availability_topic:
@ -91,7 +91,7 @@ brightness_command_topic:
required: false required: false
type: string type: string
brightness_command_template: brightness_command_template:
description: "Defines a [template](/docs/configuration/templating/) to compose message which will be sent to `brightness_command_topic`. Available variables: `value`." description: "Defines a [template](/docs/configuration/templating/#using-command-templates-with-mqtt) to compose message which will be sent to `brightness_command_topic`. Available variables: `value`."
required: false required: false
type: template type: template
brightness_scale: brightness_scale:
@ -104,7 +104,7 @@ brightness_state_topic:
required: false required: false
type: string type: string
brightness_value_template: brightness_value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the brightness value." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the brightness value."
required: false required: false
type: template type: template
color_mode_state_topic: color_mode_state_topic:
@ -112,11 +112,11 @@ color_mode_state_topic:
required: false required: false
type: string type: string
color_mode_value_template: color_mode_value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the color mode." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the color mode."
required: false required: false
type: template type: template
color_temp_command_template: color_temp_command_template:
description: "Defines a [template](/docs/configuration/templating/) to compose message which will be sent to `color_temp_command_topic`. Available variables: `value`." description: "Defines a [template](/docs/configuration/templating/#using-command-templates-with-mqtt) to compose message which will be sent to `color_temp_command_topic`. Available variables: `value`."
required: false required: false
type: template type: template
color_temp_command_topic: color_temp_command_topic:
@ -133,7 +133,7 @@ color_temp_state_topic:
required: false required: false
type: string type: string
color_temp_value_template: color_temp_value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the color temperature value." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the color temperature value."
required: false required: false
type: template type: template
command_topic: command_topic:
@ -216,7 +216,7 @@ effect_command_topic:
required: false required: false
type: string type: string
effect_command_template: effect_command_template:
description: "Defines a [template](/docs/configuration/templating/) to compose message which will be sent to `effect_command_topic`. Available variables: `value`." description: "Defines a [template](/docs/configuration/templating/#using-command-templates-with-mqtt) to compose message which will be sent to `effect_command_topic`. Available variables: `value`."
required: false required: false
type: template type: template
effect_list: effect_list:
@ -228,11 +228,11 @@ effect_state_topic:
required: false required: false
type: string type: string
effect_value_template: effect_value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the effect value." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the effect value."
required: false required: false
type: template type: template
hs_command_template: hs_command_template:
description: "Defines a [template](/docs/configuration/templating/) to compose message which will be sent to `hs_command_topic`. Available variables: `hue` and `sat`." description: "Defines a [template](/docs/configuration/templating/#using-command-templates-with-mqtt) to compose message which will be sent to `hs_command_topic`. Available variables: `hue` and `sat`."
required: false required: false
type: template type: template
hs_command_topic: hs_command_topic:
@ -247,7 +247,7 @@ hs_state_topic:
required: false required: false
type: string type: string
hs_value_template: hs_value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the HS value." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the HS value."
required: false required: false
type: template type: template
icon: icon:
@ -255,7 +255,7 @@ icon:
required: false required: false
type: icon type: icon
json_attributes_template: json_attributes_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
required: false required: false
type: template type: template
json_attributes_topic: json_attributes_topic:
@ -309,12 +309,12 @@ payload_not_available:
type: string type: string
default: offline default: offline
payload_off: payload_off:
description: The payload that represents disabled state. description: The payload that represents the off state.
required: false required: false
type: string type: string
default: "OFF" default: "OFF"
payload_on: payload_on:
description: The payload that represents enabled state. description: The payload that represents the on state.
required: false required: false
type: string type: string
default: "ON" default: "ON"
@ -333,7 +333,7 @@ retain:
type: boolean type: boolean
default: false default: false
rgb_command_template: rgb_command_template:
description: "Defines a [template](/docs/configuration/templating/) to compose message which will be sent to `rgb_command_topic`. Available variables: `red`, `green` and `blue`." description: "Defines a [template](/docs/configuration/templating/#using-command-templates-with-mqtt) to compose message which will be sent to `rgb_command_topic`. Available variables: `red`, `green` and `blue`."
required: false required: false
type: template type: template
rgb_command_topic: rgb_command_topic:
@ -345,11 +345,11 @@ rgb_state_topic:
required: false required: false
type: string type: string
rgb_value_template: rgb_value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the RGB value." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the RGB value."
required: false required: false
type: template type: template
rgbw_command_template: rgbw_command_template:
description: "Defines a [template](/docs/configuration/templating/) to compose message which will be sent to `rgbw_command_topic`. Available variables: `red`, `green`, `blue` and `white`." description: "Defines a [template](/docs/configuration/templating/#using-command-templates-with-mqtt) to compose message which will be sent to `rgbw_command_topic`. Available variables: `red`, `green`, `blue` and `white`."
required: false required: false
type: template type: template
rgbw_command_topic: rgbw_command_topic:
@ -361,11 +361,11 @@ rgbw_state_topic:
required: false required: false
type: string type: string
rgbw_value_template: rgbw_value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the RGBW value." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the RGBW value."
required: false required: false
type: template type: template
rgbww_command_template: rgbww_command_template:
description: "Defines a [template](/docs/configuration/templating/) to compose message which will be sent to `rgbww_command_topic`. Available variables: `red`, `green`, `blue`, `cold_white` and `warm_white`." description: "Defines a [template](/docs/configuration/templating/#using-command-templates-with-mqtt) to compose message which will be sent to `rgbww_command_topic`. Available variables: `red`, `green`, `blue`, `cold_white` and `warm_white`."
required: false required: false
type: template type: template
rgbww_command_topic: rgbww_command_topic:
@ -377,20 +377,20 @@ rgbww_state_topic:
required: false required: false
type: string type: string
rgbww_value_template: rgbww_value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the RGBWW value." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the RGBWW value."
required: false required: false
type: template type: template
schema: schema:
description: The schema to use. Must be `default` or omitted to select the default schema. description: The schema to use. Must be `basic` or omitted to select the default schema.
required: false required: false
type: string type: string
default: default default: basic
state_topic: state_topic:
description: "The MQTT topic subscribed to receive state updates. A \"None\" payload resets to an `unknown` state. An empty payload is ignored. By default, valid state payloads are `OFF` and `ON`. The accepted payloads can be overridden with the `payload_off` and `payload_on` config options." description: "The MQTT topic subscribed to receive state updates. A \"None\" payload resets to an `unknown` state. An empty payload is ignored. By default, valid state payloads are `OFF` and `ON`. The accepted payloads can be overridden with the `payload_off` and `payload_on` config options."
required: false required: false
type: string type: string
state_value_template: state_value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the state value. The template should return the `payload_on` and `payload_off` values, so if your light uses `power on` to turn on, your `state_value_template` string should return `power on` when the switch is on. For example, if the message is just `on`, your `state_value_template` should be `power {{ value }}`. When your `payload_on = 27` and `payload_off = 'off'`, then this template might be `'off' if value_json.my_custom_brightness_field <= 0 else 27`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the state value. The template should return the values defined by `payload_on` (defaults to \"ON\") and `payload_off` (defaults to \"OFF\") settings, or \"None\"."
required: false required: false
type: template type: template
unique_id: unique_id:
@ -407,7 +407,7 @@ white_scale:
type: integer type: integer
default: 255 default: 255
xy_command_template: xy_command_template:
description: "Defines a [template](/docs/configuration/templating/) to compose message which will be sent to `xy_command_topic`. Available variables: `x` and `y`." description: "Defines a [template](/docs/configuration/templating/#using-command-templates-with-mqtt) to compose message which will be sent to `xy_command_topic`. Available variables: `x` and `y`."
required: false required: false
type: template type: template
xy_command_topic: xy_command_topic:
@ -419,7 +419,7 @@ xy_state_topic:
required: false required: false
type: string type: string
xy_value_template: xy_value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the XY value." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the XY value."
required: false required: false
type: template type: template
{% endconfiguration %} {% endconfiguration %}
@ -571,7 +571,7 @@ availability:
required: true required: true
type: string type: string
value_template: value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_mode: availability_mode:
@ -580,7 +580,7 @@ availability_mode:
type: string type: string
default: latest default: latest
availability_template: availability_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_topic: availability_topic:
@ -681,7 +681,7 @@ icon:
required: false required: false
type: icon type: icon
json_attributes_template: json_attributes_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
required: false required: false
type: template type: template
json_attributes_topic: json_attributes_topic:
@ -748,7 +748,7 @@ schema:
description: The schema to use. Must be `json` to select the JSON schema. description: The schema to use. Must be `json` to select the JSON schema.
required: false required: false
type: string type: string
default: default default: basic
state_topic: state_topic:
description: 'The MQTT topic subscribed to receive state updates in a JSON-format. The JSON payload may contain the elements: `"state"`: `"ON"` the light is on, `"OFF"` the light is off, `null` the state is `unknown`; `"color_mode"`: one of the `supported_color_modes`; `"color"`: A dict with the color attributes*; `"brightness"`: The brightness; `"color_temp"`: The color temperature; `"effect"`: The effect of the light.' description: 'The MQTT topic subscribed to receive state updates in a JSON-format. The JSON payload may contain the elements: `"state"`: `"ON"` the light is on, `"OFF"` the light is off, `null` the state is `unknown`; `"color_mode"`: one of the `supported_color_modes`; `"color"`: A dict with the color attributes*; `"brightness"`: The brightness; `"color_temp"`: The color temperature; `"effect"`: The effect of the light.'
required: false required: false
@ -969,7 +969,7 @@ availability:
required: true required: true
type: string type: string
value_template: value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_mode: availability_mode:
@ -978,7 +978,7 @@ availability_mode:
type: string type: string
default: latest default: latest
availability_template: availability_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_topic: availability_topic:
@ -986,11 +986,11 @@ availability_topic:
required: false required: false
type: string type: string
blue_template: blue_template:
description: "[Template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract blue color from the state payload value. Expected result of the template is an integer from 0-255 range." description: "[Template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract blue color from the state payload value. Expected result of the template is an integer from 0-255 range."
required: false required: false
type: template type: template
brightness_template: brightness_template:
description: "[Template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract brightness from the state payload value. Expected result of the template is an integer from 0-255 range." description: "[Template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract brightness from the state payload value. Expected result of the template is an integer from 0-255 range."
required: false required: false
type: template type: template
color_temp_kelvin: color_temp_kelvin:
@ -999,15 +999,15 @@ color_temp_kelvin:
type: boolean type: boolean
default: false default: false
color_temp_template: color_temp_template:
description: "[Template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract color temperature from the state payload value. Expected result of the template is an integer. If `color_temp_kelvin` is `true` the expected value is in Kelvin else mireds are expected." description: "[Template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract color temperature from the state payload value. Expected result of the template is an integer. If `color_temp_kelvin` is `true` the expected value is in Kelvin else mireds are expected."
required: false required: false
type: template type: template
command_off_template: command_off_template:
description: "The [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) for *off* state changes. Available variables: `state` and `transition`." description: "The [template](/docs/configuration/templating/#using-command-templates-with-mqtt) for *off* state changes. Available variables: `state` and `transition`."
required: true required: true
type: template type: template
command_on_template: command_on_template:
description: "The [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) for *on* state changes. Available variables: `state`, `brightness`, `color_temp`, `red`, `green`, `blue`, `hue`, `sat`, `flash`, `transition` and `effect`. Values `red`, `green`, `blue`, `brightness` are provided as integers from range 0-255. Value of `hue` is provided as float from range 0-360. Value of `sat` is provided as float from range 0-100. Value of `color_temp` is provided as integer representing mired or Kelvin units if `color_temp_kelvin` is `true`." description: "The [template](/docs/configuration/templating/#using-command-templates-with-mqtt) for *on* state changes. Available variables: `state`, `brightness`, `color_temp`, `red`, `green`, `blue`, `hue`, `sat`, `flash`, `transition` and `effect`. Values `red`, `green`, `blue`, `brightness` are provided as integers from range 0-255. Value of `hue` is provided as float from range 0-360. Value of `sat` is provided as float from range 0-100. Value of `color_temp` is provided as integer representing mired or Kelvin units if `color_temp_kelvin` is `true`."
required: true required: true
type: template type: template
command_topic: command_topic:
@ -1070,11 +1070,11 @@ effect_list:
required: false required: false
type: [string, list] type: [string, list]
effect_template: effect_template:
description: "[Template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract effect from the state payload value." description: "[Template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract effect from the state payload value."
required: false required: false
type: template type: template
green_template: green_template:
description: "[Template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract green color from the state payload value. Expected result of the template is an integer from 0-255 range." description: "[Template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract green color from the state payload value. Expected result of the template is an integer from 0-255 range."
required: false required: false
type: template type: template
icon: icon:
@ -1082,7 +1082,7 @@ icon:
required: false required: false
type: icon type: icon
json_attributes_template: json_attributes_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
required: false required: false
type: template type: template
json_attributes_topic: json_attributes_topic:
@ -1141,16 +1141,16 @@ qos:
type: integer type: integer
default: 0 default: 0
red_template: red_template:
description: "[Template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract red color from the state payload value. Expected result of the template is an integer from 0-255 range." description: "[Template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract red color from the state payload value. Expected result of the template is an integer from 0-255 range."
required: false required: false
type: template type: template
schema: schema:
description: The schema to use. Must be `template` to select the template schema. description: The schema to use. Must be `template` to select the template schema.
required: false required: false
type: string type: string
default: default default: basic
state_template: state_template:
description: "[Template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract state from the state payload value." description: "[Template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract state from the state payload value."
required: false required: false
type: template type: template
state_topic: state_topic:

View File

@ -1,22 +1,22 @@
--- ---
title: LINAK title: LINAK
description: Connect and control your LINAK motorized desks the IKEA Idåsen Desk integration description: Connect and control your LINAK devices using the IKEA Idasen Desk integration
ha_category: ha_category:
- Cover - Cover
ha_domain: linak ha_domain: linak
ha_iot_class: Local Push
ha_integration_type: virtual ha_integration_type: virtual
ha_supporting_domain: idasen_desk ha_supporting_domain: idasen_desk
ha_supporting_integration: IKEA Idåsen Desk ha_supporting_integration: IKEA Idåsen Desk
ha_release: '2025.03' ha_release: '2023.10'
ha_codeowners: ha_codeowners:
- '@abmantis' - '@abmantis'
ha_config_flow: true ha_config_flow: true
ha_quality_scale: bronze
ha_platforms: ha_platforms:
- button - button
- cover - cover
- sensor - sensor
ha_iot_class: Local Push
ha_bluetooth: true
--- ---
{% include integrations/supported_brand.md %} {% include integrations/supported_brand.md %}

View File

@ -0,0 +1,49 @@
---
title: LinkedGo
description: Integrate LinkedGo (Powered by Shelly) devices
ha_category:
- Binary sensor
- Climate
- Cover
- Energy
- Event
- Light
- Number
- Select
- Sensor
- Switch
- Text
- Update
- Valve
ha_release: '0.115'
ha_codeowners:
- '@balloob'
- '@bieniu'
- '@thecode'
- '@chemelli74'
- '@bdraco'
ha_iot_class: Local Push
ha_domain: linkedgo
ha_config_flow: true
ha_zeroconf: true
ha_platforms:
- binary_sensor
- button
- climate
- cover
- diagnostics
- event
- light
- number
- select
- sensor
- switch
- text
- update
- valve
ha_integration_type: virtual
ha_supporting_domain: shelly
ha_supporting_integration: Shelly
---
{% include integrations/supported_brand.md %}

View File

@ -7,7 +7,7 @@ ha_domain: linx
ha_integration_type: virtual ha_integration_type: virtual
ha_supporting_domain: motion_blinds ha_supporting_domain: motion_blinds
ha_supporting_integration: Motionblinds ha_supporting_integration: Motionblinds
ha_release: 2025.2 ha_release: 2020.12
ha_codeowners: ha_codeowners:
- '@starkillerOG' - '@starkillerOG'
ha_config_flow: true ha_config_flow: true

View File

@ -27,6 +27,7 @@ A lock entity can have the following states:
- **Opening**: Indication of whether the lock is currently opening. - **Opening**: Indication of whether the lock is currently opening.
- **Locked**: The lock is currently locked. - **Locked**: The lock is currently locked.
- **Locking**: The lock is in the process of being locked. - **Locking**: The lock is in the process of being locked.
- **Unlocked**: The lock is currently unlocked.
- **Unlocking**: The lock is in the process of being unlocked. - **Unlocking**: The lock is in the process of being unlocked.
- **Unavailable**: The entity is currently unavailable. - **Unavailable**: The entity is currently unavailable.
- **Unknown**: The state is not yet known. - **Unknown**: The state is not yet known.

View File

@ -51,7 +51,7 @@ availability:
required: true required: true
type: string type: string
value_template: value_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_mode: availability_mode:
@ -60,7 +60,7 @@ availability_mode:
type: string type: string
default: latest default: latest
availability_template: availability_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract device's availability from the `availability_topic`. To determine the devices's availability result of this template will be compared to `payload_available` and `payload_not_available`."
required: false required: false
type: template type: template
availability_topic: availability_topic:
@ -72,7 +72,7 @@ code_format:
required: false required: false
type: string type: string
command_template: command_template:
description: Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to generate the payload to send to `command_topic`. The lock command template accepts the parameters `value` and `code`. The `value` parameter will contain the configured value for either `payload_open`, `payload_lock` or `payload_unlock`. The `code` parameter is set during the action to `open`, `lock` or `unlock` the MQTT lock and will be set `None` if no code was passed. description: Defines a [template](/docs/configuration/templating/#using-command-templates-with-mqtt) to generate the payload to send to `command_topic`. The lock command template accepts the parameters `value` and `code`. The `value` parameter will contain the configured value for either `payload_open`, `payload_lock` or `payload_unlock`. The `code` parameter is set during the action to `open`, `lock` or `unlock` the MQTT lock and will be set `None` if no code was passed.
required: false required: false
type: template type: template
command_topic: command_topic:
@ -155,7 +155,7 @@ icon:
required: false required: false
type: icon type: icon
json_attributes_template: json_attributes_template:
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation." description: "Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
required: false required: false
type: template type: template
json_attributes_topic: json_attributes_topic:
@ -253,7 +253,7 @@ unique_id:
required: false required: false
type: string type: string
value_template: value_template:
description: Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) to extract a state value from the payload. description: Defines a [template](/docs/configuration/templating/#using-value-templates-with-mqtt) to extract a state value from the payload.
required: false required: false
type: template type: template
{% endconfiguration %} {% endconfiguration %}

View File

@ -12,6 +12,7 @@ ha_domain: mastodon
ha_iot_class: Cloud Polling ha_iot_class: Cloud Polling
ha_platforms: ha_platforms:
- diagnostics - diagnostics
- notify
- sensor - sensor
ha_integration_type: service ha_integration_type: service
ha_config_flow: true ha_config_flow: true

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