Merge branch 'current' into next

This commit is contained in:
Franck Nijhof 2024-07-04 21:35:31 +02:00
commit b3551c164b
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
110 changed files with 4097 additions and 495 deletions

View File

@ -33,11 +33,12 @@ source/_integrations/airvisual.markdown @bachya
source/_integrations/airvisual_pro.markdown @bachya source/_integrations/airvisual_pro.markdown @bachya
source/_integrations/airzone.markdown @Noltari source/_integrations/airzone.markdown @Noltari
source/_integrations/airzone_cloud.markdown @Noltari source/_integrations/airzone_cloud.markdown @Noltari
source/_integrations/aladdin_connect.markdown @mkmer source/_integrations/aladdin_connect.markdown @swcloudgenie
source/_integrations/alarm_control_panel.markdown @home-assistant/core source/_integrations/alarm_control_panel.markdown @home-assistant/core
source/_integrations/alert.markdown @home-assistant/core @frenck source/_integrations/alert.markdown @home-assistant/core @frenck
source/_integrations/alexa.markdown @home-assistant/cloud @ochlocracy @jbouwh source/_integrations/alexa.markdown @home-assistant/cloud @ochlocracy @jbouwh
source/_integrations/alexa.smart_home.markdown @home-assistant/cloud @ochlocracy @jbouwh source/_integrations/alexa.smart_home.markdown @home-assistant/cloud @ochlocracy @jbouwh
source/_integrations/amazon_polly.markdown @jschlyter
source/_integrations/amberelectric.markdown @madpilot source/_integrations/amberelectric.markdown @madpilot
source/_integrations/ambient_network.markdown @thomaskistler source/_integrations/ambient_network.markdown @thomaskistler
source/_integrations/ambient_station.markdown @bachya source/_integrations/ambient_station.markdown @bachya
@ -62,6 +63,7 @@ source/_integrations/apprise.markdown @caronc
source/_integrations/aprilaire.markdown @chamberlain2007 source/_integrations/aprilaire.markdown @chamberlain2007
source/_integrations/aprs.markdown @PhilRW source/_integrations/aprs.markdown @PhilRW
source/_integrations/apsystems.markdown @mawoka-myblock @SonnenladenGmbH source/_integrations/apsystems.markdown @mawoka-myblock @SonnenladenGmbH
source/_integrations/aquacell.markdown @Jordi1990
source/_integrations/aranet.markdown @aschmitz @thecode @anrijs source/_integrations/aranet.markdown @aschmitz @thecode @anrijs
source/_integrations/arcam_fmj.markdown @elupus source/_integrations/arcam_fmj.markdown @elupus
source/_integrations/arris_tg2492lg.markdown @vanbalken source/_integrations/arris_tg2492lg.markdown @vanbalken
@ -83,6 +85,7 @@ source/_integrations/automation.markdown @home-assistant/core
source/_integrations/avea.markdown @pattyland source/_integrations/avea.markdown @pattyland
source/_integrations/awair.markdown @ahayworth @danielsjf source/_integrations/awair.markdown @ahayworth @danielsjf
source/_integrations/axis.markdown @Kane610 source/_integrations/axis.markdown @Kane610
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
@ -95,7 +98,7 @@ source/_integrations/beewi_smartclim.markdown @alemuro
source/_integrations/bge.markdown @tronikos source/_integrations/bge.markdown @tronikos
source/_integrations/binary_sensor.markdown @home-assistant/core source/_integrations/binary_sensor.markdown @home-assistant/core
source/_integrations/bizkaibus.markdown @UgaitzEtxebarria source/_integrations/bizkaibus.markdown @UgaitzEtxebarria
source/_integrations/blebox.markdown @bbx-a @riokuu @swistakm source/_integrations/blebox.markdown @bbx-a @swistakm
source/_integrations/blink.markdown @fronzbot @mkmer source/_integrations/blink.markdown @fronzbot @mkmer
source/_integrations/bliss_automation.markdown @starkillerOG source/_integrations/bliss_automation.markdown @starkillerOG
source/_integrations/bloc_blinds.markdown @starkillerOG source/_integrations/bloc_blinds.markdown @starkillerOG
@ -216,7 +219,7 @@ source/_integrations/elmax.markdown @albertogeniola
source/_integrations/elv.markdown @majuss source/_integrations/elv.markdown @majuss
source/_integrations/elvia.markdown @ludeeus source/_integrations/elvia.markdown @ludeeus
source/_integrations/emby.markdown @mezz64 source/_integrations/emby.markdown @mezz64
source/_integrations/emoncms.markdown @borpin source/_integrations/emoncms.markdown @borpin @alexandrecuer
source/_integrations/emonitor.markdown @bdraco source/_integrations/emonitor.markdown @bdraco
source/_integrations/emulated_hue.markdown @bdraco @Tho85 source/_integrations/emulated_hue.markdown @bdraco @Tho85
source/_integrations/emulated_kasa.markdown @kbickar source/_integrations/emulated_kasa.markdown @kbickar
@ -359,7 +362,7 @@ source/_integrations/hurrican_shutters_wholesale.markdown @starkillerOG
source/_integrations/husqvarna_automower.markdown @Thomas55555 source/_integrations/husqvarna_automower.markdown @Thomas55555
source/_integrations/huum.markdown @frwickst source/_integrations/huum.markdown @frwickst
source/_integrations/hvv_departures.markdown @vigonotion source/_integrations/hvv_departures.markdown @vigonotion
source/_integrations/hydrawise.markdown @dknowles2 @ptcryan source/_integrations/hydrawise.markdown @dknowles2 @thomaskistler @ptcryan
source/_integrations/hyperion.markdown @dermotduffy source/_integrations/hyperion.markdown @dermotduffy
source/_integrations/ialarm.markdown @RyuzakiKK source/_integrations/ialarm.markdown @RyuzakiKK
source/_integrations/iammeter.markdown @lewei50 source/_integrations/iammeter.markdown @lewei50
@ -374,7 +377,7 @@ source/_integrations/image_upload.markdown @home-assistant/core
source/_integrations/imap.markdown @jbouwh source/_integrations/imap.markdown @jbouwh
source/_integrations/imgw_pib.markdown @bieniu source/_integrations/imgw_pib.markdown @bieniu
source/_integrations/improv_ble.markdown @emontnemery source/_integrations/improv_ble.markdown @emontnemery
source/_integrations/incomfort.markdown @zxdavb source/_integrations/incomfort.markdown @jbouwh
source/_integrations/indianamichiganpower.markdown @tronikos source/_integrations/indianamichiganpower.markdown @tronikos
source/_integrations/influxdb.markdown @mdegat01 source/_integrations/influxdb.markdown @mdegat01
source/_integrations/inkbird.markdown @bdraco source/_integrations/inkbird.markdown @bdraco
@ -399,6 +402,7 @@ source/_integrations/isal.markdown @bdraco
source/_integrations/islamic_prayer_times.markdown @engrbm87 @cpfair source/_integrations/islamic_prayer_times.markdown @engrbm87 @cpfair
source/_integrations/ismartwindow.markdown @starkillerOG source/_integrations/ismartwindow.markdown @starkillerOG
source/_integrations/iss.markdown @DurgNomis-drol source/_integrations/iss.markdown @DurgNomis-drol
source/_integrations/ista_ecotrend.markdown @tr4nt0r
source/_integrations/isy994.markdown @bdraco @shbatm source/_integrations/isy994.markdown @bdraco @shbatm
source/_integrations/izone.markdown @Swamp-Ig source/_integrations/izone.markdown @Swamp-Ig
source/_integrations/jellyfin.markdown @j-stienstra @ctalkington source/_integrations/jellyfin.markdown @j-stienstra @ctalkington
@ -417,6 +421,7 @@ source/_integrations/keyboard_remote.markdown @bendavid @lanrat
source/_integrations/keymitt_ble.markdown @spycle source/_integrations/keymitt_ble.markdown @spycle
source/_integrations/kitchen_sink.markdown @home-assistant/core source/_integrations/kitchen_sink.markdown @home-assistant/core
source/_integrations/kmtronic.markdown @dgomes source/_integrations/kmtronic.markdown @dgomes
source/_integrations/knocki.markdown @joostlek @jgatto1
source/_integrations/knx.markdown @Julius2342 @farmio @marvin-w source/_integrations/knx.markdown @Julius2342 @farmio @marvin-w
source/_integrations/kodi.markdown @OnFreund source/_integrations/kodi.markdown @OnFreund
source/_integrations/konnected.markdown @heythisisnate source/_integrations/konnected.markdown @heythisisnate
@ -468,12 +473,14 @@ source/_integrations/martec.markdown @starkillerOG
source/_integrations/mastodon.markdown @fabaff source/_integrations/mastodon.markdown @fabaff
source/_integrations/matrix.markdown @PaarthShah source/_integrations/matrix.markdown @PaarthShah
source/_integrations/matter.markdown @home-assistant/matter source/_integrations/matter.markdown @home-assistant/matter
source/_integrations/mealie.markdown @joostlek
source/_integrations/meater.markdown @Sotolotl @emontnemery source/_integrations/meater.markdown @Sotolotl @emontnemery
source/_integrations/medcom_ble.markdown @elafargue source/_integrations/medcom_ble.markdown @elafargue
source/_integrations/media_extractor.markdown @joostlek source/_integrations/media_extractor.markdown @joostlek
source/_integrations/media_player.markdown @home-assistant/core source/_integrations/media_player.markdown @home-assistant/core
source/_integrations/media_source.markdown @hunterjm source/_integrations/media_source.markdown @hunterjm
source/_integrations/mediaroom.markdown @dgomes source/_integrations/mediaroom.markdown @dgomes
source/_integrations/melcloud.markdown @erwindouna
source/_integrations/melissa.markdown @kennedyshead source/_integrations/melissa.markdown @kennedyshead
source/_integrations/melnor.markdown @vanstinator source/_integrations/melnor.markdown @vanstinator
source/_integrations/met.markdown @danielhiversen source/_integrations/met.markdown @danielhiversen
@ -512,7 +519,7 @@ source/_integrations/mysensors.markdown @MartinHjelmare @functionpointer
source/_integrations/mystrom.markdown @fabaff source/_integrations/mystrom.markdown @fabaff
source/_integrations/myuplink.markdown @pajzo @astrandb source/_integrations/myuplink.markdown @pajzo @astrandb
source/_integrations/nam.markdown @bieniu source/_integrations/nam.markdown @bieniu
source/_integrations/nanoleaf.markdown @milanmeu source/_integrations/nanoleaf.markdown @milanmeu @joostlek
source/_integrations/neato.markdown @Santobert source/_integrations/neato.markdown @Santobert
source/_integrations/nederlandse_spoorwegen.markdown @YarmoM source/_integrations/nederlandse_spoorwegen.markdown @YarmoM
source/_integrations/ness_alarm.markdown @nickw444 source/_integrations/ness_alarm.markdown @nickw444
@ -559,6 +566,7 @@ source/_integrations/onboarding.markdown @home-assistant/core
source/_integrations/oncue.markdown @bdraco @peterager source/_integrations/oncue.markdown @bdraco @peterager
source/_integrations/ondilo_ico.markdown @JeromeHXP source/_integrations/ondilo_ico.markdown @JeromeHXP
source/_integrations/onewire.markdown @garbled1 @epenet source/_integrations/onewire.markdown @garbled1 @epenet
source/_integrations/onkyo.markdown @arturpragacz
source/_integrations/onvif.markdown @hunterjm source/_integrations/onvif.markdown @hunterjm
source/_integrations/open_meteo.markdown @frenck source/_integrations/open_meteo.markdown @frenck
source/_integrations/openai_conversation.markdown @balloob source/_integrations/openai_conversation.markdown @balloob
@ -622,6 +630,7 @@ source/_integrations/pushbullet.markdown @engrbm87
source/_integrations/pushover.markdown @engrbm87 source/_integrations/pushover.markdown @engrbm87
source/_integrations/pvoutput.markdown @frenck source/_integrations/pvoutput.markdown @frenck
source/_integrations/pvpc_hourly_pricing.markdown @azogue source/_integrations/pvpc_hourly_pricing.markdown @azogue
source/_integrations/pyload.markdown @tr4nt0r
source/_integrations/qbittorrent.markdown @geoffreylagaisse @finder39 source/_integrations/qbittorrent.markdown @geoffreylagaisse @finder39
source/_integrations/qingping.markdown @bdraco source/_integrations/qingping.markdown @bdraco
source/_integrations/qld_bushfire.markdown @exxamalte source/_integrations/qld_bushfire.markdown @exxamalte
@ -665,7 +674,7 @@ source/_integrations/ring.markdown @sdb9696
source/_integrations/risco.markdown @OnFreund source/_integrations/risco.markdown @OnFreund
source/_integrations/rituals_perfume_genie.markdown @milanmeu @frenck source/_integrations/rituals_perfume_genie.markdown @milanmeu @frenck
source/_integrations/rmvtransport.markdown @cgtobi source/_integrations/rmvtransport.markdown @cgtobi
source/_integrations/roborock.markdown @humbertogontijo @Lash-L source/_integrations/roborock.markdown @Lash-L
source/_integrations/roku.markdown @ctalkington source/_integrations/roku.markdown @ctalkington
source/_integrations/romy.markdown @xeniter source/_integrations/romy.markdown @xeniter
source/_integrations/roomba.markdown @pschmitt @cyr-ius @shenxn @Xitee1 @Orhideous source/_integrations/roomba.markdown @pschmitt @cyr-ius @shenxn @Xitee1 @Orhideous
@ -743,7 +752,7 @@ source/_integrations/snmp.markdown @nmaggioni
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
source/_integrations/solarlog.markdown @Ernst79 source/_integrations/solarlog.markdown @Ernst79 @dontinelli
source/_integrations/solax.markdown @squishykid source/_integrations/solax.markdown @squishykid
source/_integrations/soma.markdown @ratsept @sebfortier2288 source/_integrations/soma.markdown @ratsept @sebfortier2288
source/_integrations/somfy.markdown @imicknl @vlebourl @tetienne @nyroDev @tronix117 source/_integrations/somfy.markdown @imicknl @vlebourl @tetienne @nyroDev @tronix117
@ -826,9 +835,9 @@ source/_integrations/todoist.markdown @boralyl
source/_integrations/tolo.markdown @MatthiasLohr source/_integrations/tolo.markdown @MatthiasLohr
source/_integrations/tomorrowio.markdown @raman325 @lymanepp source/_integrations/tomorrowio.markdown @raman325 @lymanepp
source/_integrations/totalconnect.markdown @austinmroczek source/_integrations/totalconnect.markdown @austinmroczek
source/_integrations/tplink.markdown @rytilahti @thegardenmonkey @bdraco @sdb9696 source/_integrations/tplink.markdown @rytilahti @bdraco @sdb9696
source/_integrations/tplink_omada.markdown @MarkGodwin source/_integrations/tplink_omada.markdown @MarkGodwin
source/_integrations/tplink_tapo.markdown @rytilahti @thegardenmonkey @bdraco @sdb9696 source/_integrations/tplink_tapo.markdown @rytilahti @bdraco @sdb9696
source/_integrations/traccar.markdown @ludeeus source/_integrations/traccar.markdown @ludeeus
source/_integrations/traccar_server.markdown @ludeeus source/_integrations/traccar_server.markdown @ludeeus
source/_integrations/tractive.markdown @Danielhiversen @zhulik @bieniu source/_integrations/tractive.markdown @Danielhiversen @zhulik @bieniu
@ -848,7 +857,6 @@ 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
source/_integrations/unifiled.markdown @florisvdk source/_integrations/unifiled.markdown @florisvdk
source/_integrations/unifiprotect.markdown @bdraco
source/_integrations/upb.markdown @gwww source/_integrations/upb.markdown @gwww
source/_integrations/upc_connect.markdown @pvizeli @fabaff source/_integrations/upc_connect.markdown @pvizeli @fabaff
source/_integrations/upcloud.markdown @scop source/_integrations/upcloud.markdown @scop

View File

@ -88,7 +88,7 @@ GEM
prism (0.30.0) prism (0.30.0)
public_suffix (6.0.0) public_suffix (6.0.0)
racc (1.8.0) racc (1.8.0)
rack (3.1.4) rack (3.1.6)
rack-protection (4.0.0) rack-protection (4.0.0)
base64 (>= 0.1.0) base64 (>= 0.1.0)
rack (>= 3.0.0, < 4) rack (>= 3.0.0, < 4)
@ -130,9 +130,8 @@ 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.77.5) sass-embedded (1.77.5-x86_64-linux-gnu)
google-protobuf (>= 3.25, < 5.0) google-protobuf (>= 3.25, < 5.0)
rake (>= 13)
sass-globbing (1.1.5) sass-globbing (1.1.5)
sass (>= 3.1) sass (>= 3.1)
sassc (2.1.0-x86_64-linux) sassc (2.1.0-x86_64-linux)
@ -143,7 +142,7 @@ GEM
rack-protection (= 4.0.0) rack-protection (= 4.0.0)
rack-session (>= 2.0.0, < 3) rack-session (>= 2.0.0, < 3)
tilt (~> 2.0) tilt (~> 2.0)
sorbet-runtime (0.5.11460) sorbet-runtime (0.5.11471)
stringex (2.8.6) stringex (2.8.6)
strscan (3.1.0) strscan (3.1.0)
terminal-table (3.0.2) terminal-table (3.0.2)

View File

@ -107,9 +107,9 @@ social:
# Home Assistant release details # Home Assistant release details
current_major_version: 2024 current_major_version: 2024
current_minor_version: 6 current_minor_version: 7
current_patch_version: 4 current_patch_version: 0
date_released: 2024-06-21 date_released: 2024-07-03
# Either # or the anchor link to latest release notes in the blog post. # Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it. # Must be prefixed with a # and have double quotes around it.

32
plugins/icon.rb Normal file
View File

@ -0,0 +1,32 @@
module Jekyll
module HomeAssistant
class Icon < Liquid::Tag
def initialize(tag_name, args, tokens)
super
if args.strip =~ SYNTAX
@icon = Regexp.last_match(1).downcase
else
raise SyntaxError, <<~MSG
Syntax error in tag 'icon' while parsing the following options:
#{args}
Valid syntax:
{% icon "<icon-set>:<icon-name>" %}
MSG
end
end
def render(_context)
"<iconify-icon inline icon='#{@icon}'></iconify-icon>"
end
private
SYNTAX = %r!^"([a-z0-9]+(?:-[a-z0-9]+)*:[a-z0-9]+(?:-[a-z0-9]+)*)"$!.freeze
end
end
end
Liquid::Template.register_tag('icon', Jekyll::HomeAssistant::Icon)

View File

@ -286,6 +286,7 @@ header .breadcrumbs {
.links { .links {
margin-top: 12px; margin-top: 12px;
margin-right: -8px; margin-right: -8px;
margin-bottom: -8px;
font-size: .9rem; font-size: .9rem;
text-align: right; text-align: right;
@ -401,7 +402,13 @@ a.material-card:hover {
} }
} }
/* not contained inside frontpage class */
.hero {
display: flex;
}
.frontpage { .frontpage {
.material-card { .material-card {
margin-bottom: 24px; margin-bottom: 24px;
} }
@ -483,11 +490,11 @@ a.material-card:hover {
border: none; border: none;
.caption { .caption {
padding: 16px 12px 12px; padding: 8px 12px 12px;
background-color: rgba(0, 0, 0, 0.54); background-color: rgba(0, 0, 0, 0.54);
color: white; color: white;
border-bottom-left-radius: 8px; border-bottom-left-radius: 16px;
border-bottom-right-radius: 8px; border-bottom-right-radius: 16px;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
@ -495,9 +502,12 @@ a.material-card:hover {
.title { .title {
font-size: 20px; font-size: 20px;
font-weight: 400; font-weight: 400;
line-height: 1.2em;
} }
.subtitle { .subtitle {
margin-top: 4px;
line-height: 1.4em;
font-size: 12px; font-size: 12px;
font-weight: initial; font-weight: initial;
} }
@ -532,26 +542,37 @@ a.material-card:hover {
margin-top: 24px; margin-top: 24px;
} }
.sponsored-by { .seen-press {
img { display: grid;
border: 0; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
border-radius: 0; column-gap: 24px;
box-shadow: none; row-gap: 24px;
margin: 15px; margin: 48px 0;
max-width: 40%;
max-height: 80px; h2 {
grid-column: 1/-1;
margin: 0;
text-align: center;
} }
} a {
aspect-ratio: 1;
.seen-press { }
img { img {
border: 0; border: 0;
box-shadow: none; box-shadow: none;
margin: 15px; margin: 24px;
max-width: 40%; width: calc(100% - 48px);
max-height: 70px; max-height: 128px;
border-radius: 0;
}
.material-card {
height: 100%;
align-content: center;
text-align: center;
margin: 0;
} }
.square { .square {
@ -562,6 +583,18 @@ a.material-card:hover {
border-radius: 50%; border-radius: 50%;
} }
} }
.sponsored-by {
text-align: center;
img {
border: 0;
border-radius: 0;
box-shadow: none;
margin: 24px;
max-height: 160px;
}
}
} }
@media screen and (max-width: 700px) { @media screen and (max-width: 700px) {
@ -620,7 +653,6 @@ article.page,
article.listing { article.listing {
font-size: 1.125em; font-size: 1.125em;
line-height: 1.6; line-height: 1.6;
overflow: hidden;
img, img,
table { table {
@ -681,6 +713,7 @@ article.listing {
overflow-wrap: break-word; overflow-wrap: break-word;
&.btn { &.btn {
font-size: 1.1em;
text-decoration: none; text-decoration: none;
transition: box-shadow .33; transition: box-shadow .33;

View File

@ -44,6 +44,8 @@
@media only screen and (max-width: $lap-end) { @media only screen and (max-width: $lap-end) {
#sidebar { #sidebar {
max-height: fit-content;
.grid { .grid {
position: initial; position: initial;
width: 100%; width: 100%;

View File

@ -26,11 +26,11 @@
} }
.card-content { .card-content {
padding-left: 24px; padding-bottom: 24px;
p:last-of-type, p:last-of-type,
ul { ul {
margin-bottom: 12px; margin-bottom: 32px;
} }
} }
} }

View File

@ -62,7 +62,7 @@
background-color: $link-color; background-color: $link-color;
font-size: 2rem; font-size: 2rem;
font-weight: 700; font-weight: 700;
padding: 8px 24px; padding: 8px 20px 8px 28px;
margin-bottom: 16px; margin-bottom: 16px;
} }
} }
@ -123,8 +123,11 @@
} }
} }
@media only screen and (max-width: $palm-end) { @media only screen and (max-width: 760px) {
.hero { .hero {
.flex {
flex-direction: column;
}
#HAdemo { #HAdemo {
display: none; display: none;
@ -133,5 +136,6 @@
#HAdemoScreenshot { #HAdemoScreenshot {
display: block; display: block;
} }
} }
} }

View File

@ -126,19 +126,32 @@
.button { .button {
display: flex; display: flex;
align-items: center;
padding-right: 20px; padding-right: 20px;
border-radius: 32px;
&:not(:first-child) { &:not(:first-child) {
margin-top: 12px; margin-top: 12px;
} }
&.accent { iconify-icon.external-link {
background-color: #34b155; padding-top: 4px;
} }
svg { svg {
fill: white; fill: $link-color;
height: 24px; height: 24px;
min-width: 24px; min-width: 24px;
} }
&.accent {
background-color: #34b155;
color: white;
svg {
fill: white;
}
}
} }
} }
} }

View File

@ -11,6 +11,13 @@ $ha__primary_color: #03a9f4;
} }
} }
footer {
.grid-wrapper {
max-width: 1100px !important;
padding: 0 25px !important;
}
}
.grid-wrapper { .grid-wrapper {
max-width: 1500px; max-width: 1500px;
padding: 0; padding: 0;

View File

@ -19,7 +19,7 @@ Testing with complex triggers, conditions, and variables can be difficult. Note
### Running individual actions or conditions ### Running individual actions or conditions
In the automation editor UI, each {% term condition %} and {% term action %} can be tested individually. Select the three dots menu, then the **Test** button. In the automation editor UI, each {% term condition %} and {% term action %} can be tested individually. Select the three dots {% icon "mdi:dots-vertical" %} menu, then the **Test** button.
- Testing a condition will highlight it to show whether the condition passed at the moment it was tested. If all conditions pass, then the automation will run when triggered. Testing building blocks like an **and** condition will report whether the whole block registers as true or false, or you can test individual conditions within the building block. - Testing a condition will highlight it to show whether the condition passed at the moment it was tested. If all conditions pass, then the automation will run when triggered. Testing building blocks like an **and** condition will report whether the whole block registers as true or false, or you can test individual conditions within the building block.

View File

@ -43,7 +43,7 @@ The blueprint can now be used for creating automations.
## Editing an imported blueprint ## Editing an imported blueprint
If you want, you can tweak an imported Blueprint by "taking control" of this blueprint. Home Assistant then converts the blueprint automation into a regular, stand-alone, automation, allowing you to make any tweak you want, without having to fully re-invent the wheel. You can tweak an imported blueprint by "taking control" of this blueprint. Home Assistant then converts the blueprint automation into a regular automation, allowing you to make any tweak without having to fully re-invent the wheel.
To edit an imported blueprint, follow these steps: To edit an imported blueprint, follow these steps:
@ -59,19 +59,27 @@ To edit an imported blueprint, follow these steps:
## Re-importing a blueprint ## Re-importing a blueprint
Blueprints created by the community may go through multiple revisions. Sometimes a user creates a blueprint, Blueprints created by the community may go through multiple revisions. Sometimes a user creates a blueprint,
the community provides feedback, and new functionality is added. the community provides feedback, new functionality is added.
The quickest way to get these changes is by re-importing the blueprint. This will overwrite the blueprint you currently have. The quickest way to get these changes, is by re-importing the blueprint. This will overwrite the blueprint you currently have.
1. **Before you do this**: If the re-imported blueprint is not compatible, it can break your automations. {% caution %}
- In this case, you will need to manually adjust your automations.
2. Go to **{% my blueprints title="Settings > Automations & Scenes > Blueprints" %}**. **Before you do this**: If the re-imported blueprint is not compatible, it can break your automations.
3. On the blueprint that you want to re-import, select the three-dot menu, and select **Re-import blueprint**.
- In this case, you will need to manually adjust your automations.
{% endcaution%}
### To re-import a blueprint
1. Go to **{% my blueprints title="Settings > Automations & Scenes > Blueprints" %}**.
2. On the blueprint that you want to re-import, select the three-dot menu, and select **Re-import blueprint**.
## Updating an imported blueprint in YAML ## Updating an imported blueprint in YAML
Blueprints created by the community may go through multiple revisions. Sometimes a user creates a blueprint, Blueprints created by the community may go through multiple revisions. Sometimes a user creates a blueprint,
the community provides feedback, and new functionality is added. the community provides feedback, new functionality is added.
If you do not want to [re-import the blueprint](/docs/automation/using_blueprints/#re-importing-a-blueprint) for some reason, you can manually edit If you do not want to [re-import the blueprint](/docs/automation/using_blueprints/#re-importing-a-blueprint) for some reason, you can manually edit
its YAML content to keep it up to date: its YAML content to keep it up to date:

View File

@ -5,7 +5,7 @@ description: "Details about the database used by Home Assistant."
Home Assistant uses databases to store {% term events %} and parameters for history and tracking. The default database used is [SQLite](https://www.sqlite.org/). Home Assistant uses databases to store {% term events %} and parameters for history and tracking. The default database used is [SQLite](https://www.sqlite.org/).
The database file is stored in your [configuration directory](/getting-started/configuration/) (e.g., `<path to config dir>/home-assistant_v2.db`); however, other databases can be used. If you prefer to run a database server (e.g., PostgreSQL), use the [`recorder`](/integrations/recorder/) integration. The database file is stored in your [configuration directory](/docs/configuration/#to-find-the-configuration-directory) (e.g., `<path to config dir>/home-assistant_v2.db`); however, other databases can be used. If you prefer to run a database server (e.g., PostgreSQL), use the [`recorder`](/integrations/recorder/) integration.
To work with SQLite database manually from the command-line, you will need an [installation](https://www.sqlitetutorial.net/download-install-sqlite/) of `sqlite3`. Alternatively [DB Browser for SQLite](https://sqlitebrowser.org/) provides a viewer for exploring the database data and an editor for executing SQL commands. To work with SQLite database manually from the command-line, you will need an [installation](https://www.sqlitetutorial.net/download-install-sqlite/) of `sqlite3`. Alternatively [DB Browser for SQLite](https://sqlitebrowser.org/) provides a viewer for exploring the database data and an editor for executing SQL commands.
First load your database with `sqlite3`: First load your database with `sqlite3`:

View File

@ -70,6 +70,12 @@ To set up file access, follow the steps for your [installation method](/installa
- {% term "Home Assistant Core" %}: the `configuration.yaml` is in the config folder passed to the `hass` command (default is `~/.homeassistant`). - {% term "Home Assistant Core" %}: the `configuration.yaml` is in the config folder passed to the `hass` command (default is `~/.homeassistant`).
3. Once you located the config folder, you can edit your `configuration.yaml` file. 3. Once you located the config folder, you can edit your `configuration.yaml` file.
{% note %}
If you have watched any videos about setting up Home Assistant using `configuration.yaml` (particularly ones that are old), you might notice your default configuration file is much smaller than what the videos show. Don't be concerned, you haven't done anything wrong. Many items in the default configuration files shown in those old videos are now included in the `default_config:` line that you see in your configuration file. Refer to the [default config integration](/integrations/default_config/) for more information on what's included in that line.
{% endnote %}
## Validating the configuration ## Validating the configuration
After changing configuration or automation files, you can check if the configuration is valid. A configuration check is also applied automatically when you reload the configuration or when you restart Home Assistant. After changing configuration or automation files, you can check if the configuration is valid. A configuration check is also applied automatically when you reload the configuration or when you restart Home Assistant.
@ -85,7 +91,7 @@ The method for running a configuration check depends on your [installation type]
For configuration changes to become effective, the configuration must be reloaded. Most integrations in Home Assistant (that do not interact with {% term devices %} or {% term services %}) can reload changes made to their configuration in `configuration.yaml` without needing to restart Home Assistant. For configuration changes to become effective, the configuration must be reloaded. Most integrations in Home Assistant (that do not interact with {% term devices %} or {% term services %}) can reload changes made to their configuration in `configuration.yaml` without needing to restart Home Assistant.
1. Under **Settings**, select the three dots menu (top right), select **Restart Home Assistant** > **Quick reload**. 1. Under **Settings**, select the three dots menu (top right) {% icon "mdi:dots-vertical" %}, select **Restart Home Assistant** > **Quick reload**.
![Settings, three dot menu, restart Home Assistant](/images/docs/configuration/settings_restart_ha.png) ![Settings, three dot menu, restart Home Assistant](/images/docs/configuration/settings_restart_ha.png)

View File

@ -31,7 +31,7 @@ Follow these steps to create a new category.
1. Go to {% my automations title="**Settings** > **Automations & Scenes**" %} and open the respective tab. 1. Go to {% my automations title="**Settings** > **Automations & Scenes**" %} and open the respective tab.
2. To assign a category to a single item: 2. To assign a category to a single item:
- Find the item in the list and select the three dots menu. - Find the item in the list and select the three dots {% icon "mdi:dots-vertical" %} menu.
- Select **Assign category** and select the category from the list. - Select **Assign category** and select the category from the list.
- If the category is not in the list, select **Add new category** and make a new one. - If the category is not in the list, select **Add new category** and make a new one.
3. To assign a category to multiple items: 3. To assign a category to multiple items:

View File

@ -44,7 +44,7 @@ Follow these steps to create a new floor.
Follow these steps to delete a floor. Areas that are assigned to a floor will become unassigned. Automations and scripts or voice assistants that used a floor as a target will no longer work as they no longer have a target. Follow these steps to delete a floor. Areas that are assigned to a floor will become unassigned. Automations and scripts or voice assistants that used a floor as a target will no longer work as they no longer have a target.
1. Go to {% my areas title="**Settings** > **Areas, labels & zones**" %}. 1. Go to {% my areas title="**Settings** > **Areas, labels & zones**" %}.
2. Next to the floor, select the three dots menu and select **Delete floor**. 2. Next to the floor, select the three dots {% icon "mdi:dots-vertical" %} menu and select **Delete floor**.
![Screenshot showing the dialog to delete a floor](/images/organizing/floor_delete.png) ![Screenshot showing the dialog to delete a floor](/images/organizing/floor_delete.png)

View File

@ -51,7 +51,7 @@ Follow these steps to apply a label
- Go to {% my automations title="**Settings** > **Automations & Scenes**" %} and open the respective tab. - Go to {% my automations title="**Settings** > **Automations & Scenes**" %} and open the respective tab.
- Select the <img height="28px" src="/images/organizing/multiselect_icon.png" alt="Multiselect icon"/> button. - Select the <img height="28px" src="/images/organizing/multiselect_icon.png" alt="Multiselect icon"/> button.
- From the list, select all the list entries to which you want to apply a label. - From the list, select all the list entries to which you want to apply a label.
- In the top right corner, select the three dots menu, then select **Add label**. Then, select the labels from the list. - In the top right corner, select the three dots {% icon "mdi:dots-vertical" %} menu, then select **Add label**. Then, select the labels from the list.
## Deleting a label ## Deleting a label
@ -59,7 +59,7 @@ Follow these steps to delete a label. It will be removed from all the list entri
If you used this label in automations or script as targets, you need to adjust those. If you used this label in automations or script as targets, you need to adjust those.
1. Go to {% my labels title="**Settings** > **Areas, labels & zones**" %} and on top, select the **Labels** tab. 1. Go to {% my labels title="**Settings** > **Areas, labels & zones**" %} and on top, select the **Labels** tab.
2. In the list of labels, find the label you want to delete and select the three dots menu. 2. In the list of labels, find the label you want to delete and select the three dots {% icon "mdi:dots-vertical" %} menu.
3. Select **Delete**. 3. Select **Delete**.
4. If you used this label in automations or script as targets, you need to adjust those. 4. If you used this label in automations or script as targets, you need to adjust those.
@ -70,6 +70,6 @@ If you used this label in automations or script as targets, you need to adjust t
- Or, go to {% my automations title="**Settings** > **Automations & Scenes**" %} and open the respective tab. - Or, go to {% my automations title="**Settings** > **Automations & Scenes**" %} and open the respective tab.
2. Select the <img height="28px" src="/images/organizing/multiselect_icon.png" alt="Multiselect icon"/> button. 2. Select the <img height="28px" src="/images/organizing/multiselect_icon.png" alt="Multiselect icon"/> button.
- From the list, select all the items from which you want to remove a label. - From the list, select all the items from which you want to remove a label.
- In the top right corner, select the three dots menu, then select **Add label**. - In the top right corner, select the three dots {% icon "mdi:dots-vertical" %} menu, then select **Add label**.
- Then, deselect the checkbox for the label you want to remove. - Then, deselect the checkbox for the label you want to remove.

View File

@ -53,7 +53,7 @@ Typically, updates are shown at the top of the **Settings** page. If you don't s
### Resolution ### Resolution
1. On the **System** page, in the top-right corner, select the three dots menu and select **Check for updates**. 1. On the **System** page, in the top-right corner, select the three dots {% icon "mdi:dots-vertical" %} menu and select **Check for updates**.
2. Go to {% my updates title="**System** > **Updates**" %}. 2. Go to {% my updates title="**System** > **Updates**" %}.
- Select the update notification. - Select the update notification.
- Select the cogwheel, then set **Visible** to active. - Select the cogwheel {% icon "mdi:cog-outline" %}, then set **Visible** to active.

View File

@ -1,8 +0,0 @@
---
title: "Python 2"
description: "Support for Python 2"
ha_category: Common
---
There will be no support for Python 2.x. Python 2 will be EOL in [2020](https://www.python.org/dev/peps/pep-0373/#id2) and it doesn't make any sense to support a release which was planned to be retired in 2015.

View File

@ -1,13 +1,13 @@
<section class="aside-module grid__item one-whole lap-one-half"> <section class="aside-module grid__item one-whole lap-one-half">
<h1 class="title epsilon">About Home Assistant</h1> <h1 class="title epsilon">{% icon "mdi:about-circle-outline" %} About Home Assistant</h1>
<ul class="divided"> <ul class="divided">
<li> <li>
{{ site.description }} {{ site.description }}
</li> </li>
<li><a href='/getting-started/'>Get started with Home Assistant</a></li> <li><a href='/getting-started/'>Get started with Home Assistant</a></li>
<li><a class="external-link" href='https://demo.home-assistant.io'>Try the online demo <iconify-icon inline icon="tabler:external-link"></iconify-icon></a></li> <li><a class="external-link" href='https://demo.home-assistant.io'>Try the online demo {% icon "tabler:external-link" %}</a></li>
<li><a class="external-link" href='https://building.open-home.io/#/portal'>Sign up for our newsletter <iconify-icon inline icon="tabler:external-link"></iconify-icon></a></li> <li><a class="external-link" href='https://building.open-home.io/#/portal'>Sign up for our newsletter {% icon "tabler:external-link" %}</a></li>
<li><a class="external-link" href="https://twitter.com/Home_Assistant">Follow Home Assistant on X <iconify-icon inline icon="tabler:external-link"></iconify-icon></a></li> <li><a class="external-link" href="https://twitter.com/Home_Assistant">Follow Home Assistant on X {% icon "tabler:external-link" %}</a></li>
{% comment %} {% comment %}
<li> <li>
Subscribe to the Home Assistant Newsletter Subscribe to the Home Assistant Newsletter
@ -19,6 +19,6 @@
{% endcomment %} {% endcomment %}
</ul> </ul>
<p> <p>
Home Assistant is part of the <a class="external-link" href="https://www.openhomefoundation.org/">Open Home Foundation <iconify-icon inline icon="tabler:external-link"></iconify-icon></a>. Home Assistant is part of the <a class="external-link" href="https://www.openhomefoundation.org/">Open Home Foundation {% icon "tabler:external-link" %}</a>.
</p> </p>
</section> </section>

View File

@ -1,5 +1,5 @@
<section class="aside-module grid__item one-whole lap-one-half"> <section class="aside-module grid__item one-whole lap-one-half">
<h1 class="title epsilon">Categories</h1> <h1 class="title epsilon">{% icon "mdi:category" %} Categories</h1>
<ul class="divided"> <ul class="divided">
{% assign categories = site.categories | sort %} {% assign categories = site.categories | sort %}
{% for category in categories %} {% for category in categories %}

View File

@ -70,15 +70,15 @@
{% if page.ha_domain %} {% if page.ha_domain %}
<div class='section'> <div class='section'>
<a href="https://github.com/home-assistant/core/tree/dev/homeassistant/components/{{ domain }}" target="_blank"><iconify-icon inline icon="simple-icons:github"></iconify-icon> View source on GitHub</a><br /> <a href="https://github.com/home-assistant/core/tree/dev/homeassistant/components/{{ domain }}" target="_blank">{% icon "simple-icons:github" %} View source on GitHub</a><br />
<a href="https://github.com/home-assistant/core/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+{{ domain }}%22" target="_blank"><iconify-icon inline icon="mdi:bug"></iconify-icon> View known issues</a> <a href="https://github.com/home-assistant/core/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+{{ domain }}%22" target="_blank">{% icon "mdi:bug" %} View known issues</a>
</div> </div>
{%- endif -%} {%- endif -%}
</section> </section>
<section class="aside-module grid__item one-whole lap-one-half"> <section class="aside-module grid__item one-whole lap-one-half">
<div class='section'> <div class='section'>
<h1 class="title epsilon"><iconify-icon inline icon="mdi:person-heart"></iconify-icon> Integration owners</h1> <h1 class="title epsilon">{% icon "mdi:person-heart" %} Integration owners</h1>
{% if page.ha_codeowners %} {% if page.ha_codeowners %}
{% assign ha_project = false %} {% assign ha_project = false %}
{% for codeowner in page.ha_codeowners %} {% for codeowner in page.ha_codeowners %}

View File

@ -2,7 +2,7 @@
{% assign elements = site.dashboards | sort_natural: 'title' %} {% assign elements = site.dashboards | sort_natural: 'title' %}
<div class="section"> <div class="section">
<h1 class="title epsilon">Dashboards</h1> <h1 class="title epsilon"><iconify-icon icon="mdi:view-dashboard"></iconify-icon> Dashboards</h1>
<ul class="divided sidebar-menu"> <ul class="divided sidebar-menu">
<li>{% active_link /dashboards/ Introduction %}</li> <li>{% active_link /dashboards/ Introduction %}</li>
<li> <li>
@ -21,7 +21,7 @@
</div> </div>
<div class="section"> <div class="section">
<h1 class="title epsilon">View types</h1> <h1 class="title epsilon"><iconify-icon icon="mdi:about-circle-outline"></iconify-icon> View types</h1>
<ul class="divided sidebar-menu"> <ul class="divided sidebar-menu">
{% for element in elements %} {% for element in elements %}
{% if element.type == "view" %} {% if element.type == "view" %}
@ -32,7 +32,7 @@
</div> </div>
<div class="section"> <div class="section">
<h1 class="title epsilon">Card types</h1> <h1 class="title epsilon">{% icon "mdi:card-multiple-outline" %} Card types</h1>
<ul class="divided sidebar-menu"> <ul class="divided sidebar-menu">
{% for element in elements %} {% for element in elements %}
{% if element.type == "card" %} {% if element.type == "card" %}
@ -43,7 +43,7 @@
</div> </div>
<div class="section"> <div class="section">
<h1 class="title epsilon">Advanced</h1> <h1 class="title epsilon">{% icon "mdi:cog" %} Advanced</h1>
<ul class="divided sidebar-menu"> <ul class="divided sidebar-menu">
<li>{% active_link /dashboards/features/ Features %}</li> <li>{% active_link /dashboards/features/ Features %}</li>
<li>{% active_link /dashboards/header-footer/ Headers & footers %}</li> <li>{% active_link /dashboards/header-footer/ Headers & footers %}</li>
@ -53,7 +53,7 @@
class="external-link" class="external-link"
href="https://developers.home-assistant.io/docs/frontend/custom-ui/custom-card/" href="https://developers.home-assistant.io/docs/frontend/custom-ui/custom-card/"
>Developing custom cards >Developing custom cards
<iconify-icon inline icon="tabler:external-link"></iconify-icon> {% icon "tabler:external-link" %}
</a> </a>
</li> </li>
</ul> </ul>

View File

@ -8,7 +8,7 @@
<b>{% active_link /docs/glossary/ Glossary %}</b> <b>{% active_link /docs/glossary/ Glossary %}</b>
</li> </li>
<li> <li>
<b><iconify-icon inline icon="mdi:rocket-launch-outline"></iconify-icon> Getting started</b> <b>{% icon "mdi:rocket-launch-outline" %} Getting started</b>
<ul> <ul>
<li>{% active_link /installation Installation %}</li> <li>{% active_link /installation Installation %}</li>
<li>{% active_link /getting-started Getting started & onboarding %}</li> <li>{% active_link /getting-started Getting started & onboarding %}</li>
@ -23,7 +23,7 @@
</ul> </ul>
</li> </li>
<li> <li>
<b><iconify-icon inline icon="mdi:view-dashboard"></iconify-icon> {% active_link /docs/frontend/ Frontend %}</b> <b>{% icon "mdi:view-dashboard" %} {% active_link /docs/frontend/ Frontend %}</b>
<ul> <ul>
<li>{% active_link /dashboards Dashboards, views, cards %}</li> <li>{% active_link /dashboards Dashboards, views, cards %}</li>
<li>{% active_link /docs/organizing/ Organizing: areas, floors, labels, categories, ... %}</li> <li>{% active_link /docs/organizing/ Organizing: areas, floors, labels, categories, ... %}</li>
@ -31,7 +31,7 @@
</ul> </ul>
</li> </li>
<li> <li>
<b><iconify-icon inline icon="mdi:cog"></iconify-icon> Configuration</b> <b>{% icon "mdi:cog" %} Configuration</b>
<ul> <ul>
<li>{% active_link /docs/configuration/ Configuration.yaml %}</li> <li>{% active_link /docs/configuration/ Configuration.yaml %}</li>
<li>{% active_link /docs/configuration/yaml/ YAML syntax%}</li> <li>{% active_link /docs/configuration/yaml/ YAML syntax%}</li>
@ -52,7 +52,7 @@
</ul> </ul>
</li> </li>
<li> <li>
<b><iconify-icon inline icon="mdi:solar-power-variant"></iconify-icon> {% active_link /docs/energy/ Home Energy Management %}</b> <b>{% icon "mdi:solar-power-variant" %} {% active_link /docs/energy/ Home Energy Management %}</b>
<ul> <ul>
<li>{% active_link /docs/energy/electricity-grid/ Electricity grid %}</li> <li>{% active_link /docs/energy/electricity-grid/ Electricity grid %}</li>
<li>{% active_link /docs/energy/solar-panels/ Solar panels %}</li> <li>{% active_link /docs/energy/solar-panels/ Solar panels %}</li>
@ -61,7 +61,7 @@
</ul> </ul>
</li> </li>
<li> <li>
<iconify-icon inline icon="fa-solid:cogs"></iconify-icon> Advanced configuration {% icon "fa-solid:cogs" %} Advanced configuration
<ul> <ul>
<li>{% active_link /docs/configuration/remote/ Remote access %}</li> <li>{% active_link /docs/configuration/remote/ Remote access %}</li>
<li> <li>
@ -80,7 +80,7 @@
</ul> </ul>
</li> </li>
<li> <li>
<b><iconify-icon inline icon="mdi:account-security"></iconify-icon> {% active_link /docs/authentication/ Authentication %}</b> <b>{% icon "mdi:account-security" %} {% active_link /docs/authentication/ Authentication %}</b>
<ul> <ul>
<li> <li>
{% active_link /docs/authentication/providers/ Auth providers %} {% active_link /docs/authentication/providers/ Auth providers %}
@ -95,7 +95,7 @@
</ul> </ul>
</li> </li>
<li> <li>
<iconify-icon inline icon="clarity:objects-solid"></iconify-icon> Core objects {% icon "clarity:objects-solid" %} Core objects
<ul> <ul>
<li>{% active_link /docs/configuration/events/ Events %}</li> <li>{% active_link /docs/configuration/events/ Events %}</li>
<li> <li>
@ -122,7 +122,7 @@
</ul> </ul>
</li> </li>
<li> <li>
<b><iconify-icon inline icon="carbon:floorplan"></iconify-icon> {% active_link /docs/blueprint/ Blueprints %}</b> <b>{% icon "carbon:floorplan" %} {% active_link /docs/blueprint/ Blueprints %}</b>
<ul> <ul>
<li>{% active_link /docs/blueprint/tutorial/ Tutorial %}</li> <li>{% active_link /docs/blueprint/tutorial/ Tutorial %}</li>
<li>{% active_link /docs/blueprint/schema/ Blueprint schema %}</li> <li>{% active_link /docs/blueprint/schema/ Blueprint schema %}</li>
@ -130,26 +130,26 @@
</ul> </ul>
</li> </li>
<li> <li>
<b><iconify-icon inline icon="mdi:database"></iconify-icon> {% active_link /docs/backend/ Backend %}</b> <b>{% icon "mdi:database" %} {% active_link /docs/backend/ Backend %}</b>
<ul> <ul>
<li>{% active_link /docs/backend/database/ Database %}</li> <li>{% active_link /docs/backend/database/ Database %}</li>
</ul> </ul>
</li> </li>
<li> <li>
<b><iconify-icon inline icon="mdi:script-text"></iconify-icon> {% active_link /docs/scripts/ Scripts %}</b> <b>{% icon "mdi:script-text" %} {% active_link /docs/scripts/ Scripts %}</b>
<ul> <ul>
<li>{% active_link /docs/scripts/service-calls/ Service calls %}</li> <li>{% active_link /docs/scripts/service-calls/ Service calls %}</li>
<li>{% active_link /docs/scripts/conditions/ Conditions %}</li> <li>{% active_link /docs/scripts/conditions/ Conditions %}</li>
</ul> </ul>
</li> </li>
<li> <li>
<b><iconify-icon inline icon="mdi:script-text"></iconify-icon> {% active_link /docs/scene/ Scenes %}</b> <b>{% icon "mdi:script-text" %} {% active_link /docs/scene/ Scenes %}</b>
<ul> <ul>
<li>{% active_link /docs/scene/editor/ Editor %}</li> <li>{% active_link /docs/scene/editor/ Editor %}</li>
</ul> </ul>
</li> </li>
<li> <li>
<b><iconify-icon inline icon="mdi:palette"></iconify-icon> {% active_link /docs/tools/ Tools and helpers %}</b> <b>{% icon "mdi:palette" %} {% active_link /docs/tools/ Tools and helpers %}</b>
<ul> <ul>
<li>{% active_link /docs/tools/dev-tools/ Developer tools %}</li> <li>{% active_link /docs/tools/dev-tools/ Developer tools %}</li>
<li>{% active_link /docs/tools/quick-bar/ Quick bar %}</li> <li>{% active_link /docs/tools/quick-bar/ Quick bar %}</li>
@ -158,7 +158,7 @@
</ul> </ul>
</li> </li>
<li> <li>
<b><iconify-icon inline icon="simple-icons:mqtt"></iconify-icon> {% active_link /integrations/mqtt MQTT %}</b> <b>{% icon "simple-icons:mqtt" %} {% active_link /integrations/mqtt MQTT %}</b>
<ul> <ul>
<li>{% active_link /integrations/mqtt/#broker-configuration Broker %}</li> <li>{% active_link /integrations/mqtt/#broker-configuration Broker %}</li>
<li>{% active_link /integrations/mqtt/#advanced-broker-configuration Certificate %}</li> <li>{% active_link /integrations/mqtt/#advanced-broker-configuration Certificate %}</li>
@ -172,7 +172,7 @@
</ul> </ul>
</li> </li>
<li> <li>
<b><iconify-icon inline icon="bitcoin-icons:node-hardware-filled"></iconify-icon> Hardware</b> <b>{% icon "bitcoin-icons:node-hardware-filled" %} Hardware</b>
<ul> <ul>
<li> <li>
<a href="https://green.home-assistant.io/">Home Assistant Green</a> <a href="https://green.home-assistant.io/">Home Assistant Green</a>

View File

@ -1,6 +1,6 @@
<section class="aside-module grid__item one-whole lap-one-half"> <section class="aside-module grid__item one-whole lap-one-half">
<div class="section"> <div class="section">
<h1 class="title epsilon"><iconify-icon inline icon="mdi:rocket-launch-outline"></iconify-icon> Getting started</h1> <h1 class="title epsilon">{% icon "mdi:rocket-launch-outline" %} Getting started</h1>
<ul class="divided sidebar-menu"> <ul class="divided sidebar-menu">
<li>{% active_link /installation/ Installation %}</li> <li>{% active_link /installation/ Installation %}</li>
<li>{% active_link /getting-started/onboarding/ Onboarding %}</li> <li>{% active_link /getting-started/onboarding/ Onboarding %}</li>
@ -17,7 +17,7 @@
%} %}
</li> </li>
<li> <li>
{% active_link /getting-started/configuration/ Advanced configuration %} {% active_link /getting-started/configuration/ Next steps %}
</li> </li>
</ul> </ul>
</div> </div>

View File

@ -6,7 +6,7 @@
<li> <li>
<a class="external-link" href="https://developers.home-assistant.io" <a class="external-link" href="https://developers.home-assistant.io"
>Developer documentation >Developer documentation
<iconify-icon inline icon="tabler:external-link"></iconify-icon> {% icon "tabler:external-link" %}
</a> </a>
</li> </li>
<li> <li>

View File

@ -1,5 +1,5 @@
<section id="recent-posts" class="aside-module grid__item one-whole lap-one-half"> <section id="recent-posts" class="aside-module grid__item one-whole lap-one-half">
<h1 class="title epsilon">Recent Posts</h1> <h1 class="title epsilon">{% icon "mdi:newspaper-variant-multiple" %} Recent Posts</h1>
<ul class="divided"> <ul class="divided">
{% for post in site.posts limit: site.recent_posts %} {% for post in site.posts limit: site.recent_posts %}
{% if post.url != page.url %} {% if post.url != page.url %}

View File

@ -2,7 +2,7 @@
{% assign elements = site.dashboards | sort_natural: 'title' %} {% assign elements = site.dashboards | sort_natural: 'title' %}
<div class="section"> <div class="section">
<h1 class="title epsilon">Devices</h1> <h1 class="title epsilon"><iconify-icon icon="mdi:devices"></iconify-icon> Devices</h1>
<ul class="divided sidebar-menu"> <ul class="divided sidebar-menu">
<li>{% active_link /voice_control/android/ Assist for Android %}</li> <li>{% active_link /voice_control/android/ Assist for Android %}</li>
<li>{% active_link /voice_control/apple/ Assist for Apple %}</li> <li>{% active_link /voice_control/apple/ Assist for Apple %}</li>
@ -11,7 +11,7 @@
</div> </div>
<div class="section"> <div class="section">
<h1 class="title epsilon">{% active_link /voice_control/ Voice assistants %}</h1> <h1 class="title epsilon">{% icon "mdi:comment-processing-outline" %} {% active_link /voice_control/ Voice assistants %}</h1>
<ul class="divided sidebar-menu"> <ul class="divided sidebar-menu">
<li>{% active_link /voice_control/voice_remote_local_assistant/ Configuring a local assistant %}</li> <li>{% active_link /voice_control/voice_remote_local_assistant/ Configuring a local assistant %}</li>
<li>{% active_link /voice_control/voice_remote_cloud_assistant/ Configuring a cloud assistant %}</li> <li>{% active_link /voice_control/voice_remote_cloud_assistant/ Configuring a cloud assistant %}</li>
@ -27,7 +27,7 @@
</div> </div>
<div class="section"> <div class="section">
<h1 class="title epsilon">Projects</h1> <h1 class="title epsilon">{% icon "mdi:checkbox-marked" %} Projects</h1>
<ul class="divided sidebar-menu"> <ul class="divided sidebar-menu">
<li>{% active_link /voice_control/s3_box_voice_assistant/ Tutorial: ESP32-S3-BOX voice assistant %}</li> <li>{% active_link /voice_control/s3_box_voice_assistant/ Tutorial: ESP32-S3-BOX voice assistant %}</li>
<li>{% active_link /voice_control/s3-box-customize/ Tutorial: Customize the S3-BOX %}</li> <li>{% active_link /voice_control/s3-box-customize/ Tutorial: Customize the S3-BOX %}</li>
@ -38,7 +38,7 @@
</ul> </ul>
</div> </div>
<div class="section"> <div class="section">
<h1 class="title epsilon">Troubleshooting</h1> <h1 class="title epsilon">{% icon "mdi:account-help" %} Troubleshooting</h1>
<ul class="divided sidebar-menu"> <ul class="divided sidebar-menu">
<li>{% active_link /voice_control/troubleshooting/ Troubleshooting Assist %}</li> <li>{% active_link /voice_control/troubleshooting/ Troubleshooting Assist %}</li>
<li>{% active_link /voice_control/troubleshooting_the_s3_box/ Troubleshooting the ESP32-S3-BOX %}</li> <li>{% active_link /voice_control/troubleshooting_the_s3_box/ Troubleshooting the ESP32-S3-BOX %}</li>

View File

@ -7,7 +7,7 @@
{% capture was_updated %}{{ updated | size }}{% endcapture %} {% capture was_updated %}{{ updated | size }}{% endcapture %}
{% if has_date != '0' %} {% if has_date != '0' %}
{% capture time %}<time datetime="{{ date | datetime | date_to_xmlschema }}" pubdate{% if updated %} data-updated="true"{% endif %}><iconify-icon inline icon="mdi:calendar"></iconify-icon> {{ date_formatted }}</time>{% endcapture %} {% capture time %}<time datetime="{{ date | datetime | date_to_xmlschema }}" pubdate{% if updated %} data-updated="true"{% endif %}>{% icon "mdi:calendar" %} {{ date_formatted }}</time>{% endcapture %}
{% endif %} {% endif %}
{% if was_updated != '0' %} {% if was_updated != '0' %}

View File

@ -50,7 +50,7 @@ There are multiple ways to store the backup on another device:
- **Option 1**: Under {% my supervisor_backups title="**Settings** > **System** > **Backups**" %}, on the list, single-click or tap the backup of interest. - **Option 1**: Under {% my supervisor_backups title="**Settings** > **System** > **Backups**" %}, on the list, single-click or tap the backup of interest.
- **Result**: The backup dialog opens. - **Result**: The backup dialog opens.
- In the dialog, select the three dots menu and select **Download backup**. - In the dialog, select the three dots {% icon "mdi:dots-vertical" %} menu and select **Download backup**.
- **Result**: The selected backup is stored in the **Downloads** folder of your computer. - **Result**: The selected backup is stored in the **Downloads** folder of your computer.
- **Option 2**: If you haven't already done so, [configure access to files on Home Assistant](/common-tasks/{{page.installation}}/#configuring-access-to-files), using one of the methods listed there. - **Option 2**: If you haven't already done so, [configure access to files on Home Assistant](/common-tasks/{{page.installation}}/#configuring-access-to-files), using one of the methods listed there.
- For example, [use the samba add-on](/common-tasks/{{page.installation}}/#installing-and-using-the-samba-add-on). - For example, [use the samba add-on](/common-tasks/{{page.installation}}/#installing-and-using-the-samba-add-on).

View File

@ -15,10 +15,10 @@ If you would like to test next release before anyone else, you can install the b
4. Go to the {% my configuration title="**Configuration**" %} panel. 4. Go to the {% my configuration title="**Configuration**" %} panel.
5. Install the update that is presented to you. 5. Install the update that is presented to you.
- **Troubleshooting**: If you do not see that notification: - **Troubleshooting**: If you do not see that notification:
- In the top right corner, select the three dots menu and select **Check for updates**. - In the top right corner, select the three dots {% icon "mdi:dots-vertical" %} menu and select **Check for updates**.
- Go to {% my updates title="**System** > **Updates**" %}. - Go to {% my updates title="**System** > **Updates**" %}.
- Select the update notification. - Select the update notification.
- Select the cogwheel, then set **Visible** to active. - Select the cogwheel {% icon "mdi:cog-outline" %}, then set **Visible** to active.
- title: From the CLI - title: From the CLI
content: | content: |

View File

@ -81,7 +81,7 @@ To migrate an external data disk from one system to another, follow these steps:
2. Shut down system 1 and remove the data disk. 2. Shut down system 1 and remove the data disk.
3. Make sure system 2 has Home Assistant OS installed, and Home Assistant is up and running. Home Assistant is using the data disk (partition) on the boot drive (e.g. SD card) at this point. 3. Make sure system 2 has Home Assistant OS installed, and Home Assistant is up and running. Home Assistant is using the data disk (partition) on the boot drive (e.g. SD card) at this point.
4. Make sure system 2 has completed the basic [onboarding](/getting-started/onboarding/) steps, including the last steps where devices are discovered automatically. 4. Make sure system 2 has completed the basic [onboarding](/getting-started/onboarding/) steps, including the last steps where devices are discovered automatically.
5. Plug the external disk into system 2 and go to the **Settings** > **System**. Select the three dots menu, and **Restart Home Assistant** > **Reboot system**. 5. Plug the external disk into system 2 and go to the **Settings** > **System**. Select the three dots {% icon "mdi:dots-vertical" %} menu, and **Restart Home Assistant** > **Reboot system**.
**Result**: A repair issue is displayed **Multiple data disks detected**. **Result**: A repair issue is displayed **Multiple data disks detected**.
- The repair issue comes up because system 2 now sees two file systems with an identical name. During a reboot, there is a name conflict with the existing data disk as it is undefined which file system should be used. This can lead to a random selection of the system you end up with. Hence you must make a decision. - The repair issue comes up because system 2 now sees two file systems with an identical name. During a reboot, there is a name conflict with the existing data disk as it is undefined which file system should be used. This can lead to a random selection of the system you end up with. Hence you must make a decision.
6. Open the repair issue and choose one of the options: 6. Open the repair issue and choose one of the options:

View File

@ -5,7 +5,7 @@ If you want to define a specific interval at which your device is being polled f
To add the automation: To add the automation:
1. Go to {% my integrations title="**Settings** > **Devices & Services**" %}, and select your integration. 1. Go to {% my integrations title="**Settings** > **Devices & Services**" %}, and select your integration.
2. On the integration entry, select the three dots. 2. On the integration entry, select the {% icon "mdi:dots-vertical" %}.
- Then, select **System options** and toggle the button to disable polling. - Then, select **System options** and toggle the button to disable polling.
![Disable polling for updates](/images/screenshots/custom_polling_01.png) ![Disable polling for updates](/images/screenshots/custom_polling_01.png)
3. To define your custom polling interval, create an automation. 3. To define your custom polling interval, create an automation.

View File

@ -6,7 +6,7 @@ Some entities are disabled by default. To enable them, follow these steps:
- To enable or disable entities, go to {% my entities title="**Settings** > **Devices & Services** > **Entities**" %}. - To enable or disable entities, go to {% my entities title="**Settings** > **Devices & Services** > **Entities**" %}.
- To enable or disable automations, go to {% my automations title="**Settings** > **Automations & Scenes**" %}. - To enable or disable automations, go to {% my automations title="**Settings** > **Automations & Scenes**" %}.
2. [Enable multiselect](/docs/organizing/tables) and select all the entities you want to enable or disable. 2. [Enable multiselect](/docs/organizing/tables) and select all the entities you want to enable or disable.
3. In the top right corner, select the three dots menu, then select **Enable** or **Disable**. 3. In the top right corner, select the three dots {% icon "mdi:dots-vertical" %} menu, then select **Enable** or **Disable**.
![Screenshot showing how to enable or disable multiple automations](/images/organizing/enable_disable.png) ![Screenshot showing how to enable or disable multiple automations](/images/organizing/enable_disable.png)

View File

@ -21,10 +21,10 @@ To update Home Assistant Core when you run Home Assistant {{ page.installation_n
2. Navigate to the **Settings** panel. 2. Navigate to the **Settings** panel.
3. On the top you will be presented with an update notification. 3. On the top you will be presented with an update notification.
- **Troubleshooting**: If you do not see that notification: - **Troubleshooting**: If you do not see that notification:
- In the top right corner, select the three dots menu and select **Check for updates**. - In the top right corner, select the three dots {% icon "mdi:dots-vertical" %} menu and select **Check for updates**.
- Go to {% my updates title="**System** > **Updates**" %}. - Go to {% my updates title="**System** > **Updates**" %}.
- Select the update notification. - Select the update notification.
- Select the cogwheel, then set **Visible** to active. - Select the cogwheel {% icon "mdi:cog-outline" %}, then set **Visible** to active.
- title: Using the CLI - title: Using the CLI
content: | content: |

View File

@ -1,119 +1,128 @@
<div class="feature-cards"> <section class="grid features">
<div class="card"> <div class="grid__item one-whole">
<div class="card-header"> <h2 class="sub-title">Features</h2>
<iconify-icon inline icon="mdi:lightbulb-variant-outline"></iconify-icon>
Works with over 1000 brands
</div>
<div class="card-content">
<p>
Home Assistant integrates with over a thousand different devices
and services.
</p>
<p> <div class="feature-cards">
Once started, Home Assistant will automatically scan your network for <div class="card">
known devices and allow you to easily set them up. <div class="card-header">
</p> {% icon "mdi:lightbulb-variant-outline" %}
<a class="button" href="/integrations">EXPLORE INTEGRATIONS</a> Works with over 1000 brands
</div> </div>
</div> <div class="card-content">
<div class="card"> <p>
<div class="card-header"> Home Assistant integrates with over a thousand different devices
<iconify-icon inline icon="mdi:robot-happy-outline"></iconify-icon> and services.
Powerful automations </p>
</div>
<div class="card-content">
<p>
Once you have integrated all your devices at home, you can unleash Home
Assistants advanced automation engine to make your home work for you.
</p>
<ul> <p>
<li>Turn on the light when the sun sets or when coming home</li> Once started, Home Assistant will automatically scan your network for
<li>Alert you when you leave your garage door open.</li> known devices and allow you to easily set them up.
</ul> </p>
<a class="button" href="/docs/automation">EXPLORE AUTOMATIONS</a> <a class="button" href="/integrations">EXPLORE INTEGRATIONS</a>
</div> </div>
</div> </div>
<div class="card">
<div class="card-header">
<iconify-icon inline icon="mdi:puzzle"></iconify-icon>
Extend your system with add-ons
</div>
<div class="card-content">
<p>
Home Assistant is not just limited to Home Assistant. Easily install
other applications that will help you manage your home.
</p>
<ul> <div class="card">
<li>Run AdGuard, a DNS-based ad blocker</li> <div class="card-header">
<li>Run third party automation engines like NodeRed</li> {% icon "mdi:robot-happy-outline" %}
<li>Turn Home Assistant into a Spotify Connect target</li> Powerful automations
</ul> </div>
<a class="button" href="/addons">EXPLORE ADD-ONS</a> <div class="card-content">
</div> <p>
</div> Once you have integrated all your devices at home, you can unleash Home
<div class="card"> Assistants advanced automation engine to make your home work for you.
<div class="card-header"> </p>
<iconify-icon inline icon="mdi:shield-home-outline"></iconify-icon>
All your smart home data stays local
</div>
<div class="card-content">
<p>Home Assistant keeps your data local, no need for a cloud.</p>
<p> <ul>
Home Assistant communicates with your devices locally, and will fallback <li>Turn on the light when the sun sets or when coming home</li>
to pulling in data from the cloud if there is no other option. No data <li>Alert you when you leave your garage door open.</li>
is stored in the cloud, and everything is processed locally. </ul>
</p> <a class="button" href="/docs/automation">EXPLORE AUTOMATIONS</a>
</div> </div>
</div> </div>
<div class="card"> <div class="card">
<div class="card-header"> <div class="card-header">
<iconify-icon inline icon="mdi:cellphone"></iconify-icon> {% icon "mdi:puzzle" %}
Companion Mobile Apps Extend your system with add-ons
</div> </div>
<div class="card-content"> <div class="card-content">
<p> <p>
Use the official Home Assistant apps, a convenient companion to quickly Home Assistant is not just limited to Home Assistant. Easily install
control your devices and be notified when things happen in your home, other applications that will help you manage your home.
even on your wrist using the Apple Watch. </p>
</p>
<p> <ul>
The apps can also be used to send your location home to use presence <li>Run AdGuard, a DNS-based ad blocker</li>
detection as part of your automations. Data is sent directly to your <li>Run third party automation engines like NodeRed</li>
home, no access by third-parties. <li>Turn Home Assistant into a Spotify Connect target</li>
</p> </ul>
<a <a class="button" href="/addons">EXPLORE ADD-ONS</a>
class="button" </div>
href="https://companion.home-assistant.io/" </div>
target="_blank" <div class="card">
> <div class="card-header">
DOWNLOAD APPS {% icon "mdi:shield-home-outline" %}
</a> All your smart home data stays local
</div> </div>
</div> <div class="card-content">
<div class="card"> <p>Home Assistant keeps your data local, no need for a cloud.</p>
<div class="card-header">
<iconify-icon inline icon="mdi:solar-power-variant"></iconify-icon>
Home Energy Management
</div>
<div class="card-content">
<p>
Home Assistant allows you to get on top of your energy use with its
home energy management feature. Gain new insights,
optimize your solar panel production, plan energy usage and save money.
</p>
<a <p>
class="button" Home Assistant communicates with your devices locally, and will fallback
href="/home-energy-management/" to pulling in data from the cloud if there is no other option. No data
aria-label="Learn more about Home Energy Management" is stored in the cloud, and everything is processed locally.
> </p>
LEARN MORE </div>
</a> </div>
<div class="card">
<div class="card-header">
{% icon "mdi:cellphone" %}
Companion Mobile Apps
</div>
<div class="card-content">
<p>
Use the official Home Assistant apps, a convenient companion to quickly
control your devices and be notified when things happen in your home,
even on your wrist using the Apple Watch.
</p>
<p>
The apps can also be used to send your location home to use presence
detection as part of your automations. Data is sent directly to your
home, no access by third-parties.
</p>
<a
class="button"
href="https://companion.home-assistant.io/"
target="_blank"
>
DOWNLOAD APPS
</a>
</div>
</div>
<div class="card">
<div class="card-header">
{% icon "mdi:solar-power-variant" %}
Home Energy Management
</div>
<div class="card-content">
<p>
Home Assistant allows you to get on top of your energy use with its
home energy management feature. Gain new insights,
optimize your solar panel production, plan energy usage and save money.
</p>
<a
class="button"
href="/home-energy-management/"
aria-label="Learn more about Home Energy Management"
>
LEARN MORE
</a>
</div>
</div>
</div> </div>
</div> </div>
</div> </section>

View File

@ -8,5 +8,5 @@ To add the {{ title | downcase }} to your user interface:
- If this is your first time editing a dashboard, the **Edit dashboard** dialog appears. - If this is your first time editing a dashboard, the **Edit dashboard** dialog appears.
- By editing the dashboard, you are taking over control of this dashboard. - By editing the dashboard, you are taking over control of this dashboard.
- 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.
- To continue, in the dialog, select the three dots 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](/dashboards/cards/#adding-cards-to-your-dashboard) to your dashboard.

View File

@ -1,6 +1,6 @@
{% unless page.feedback == false or page.layout == "landingpage" %} {% unless page.feedback == false or page.layout == "landingpage" %}
<div class="material-card text feedback"> <div class="material-card text feedback">
<h4><iconify-icon inline icon="mdi:feedback"></iconify-icon> <b> Help us improve our documentation</b><a href="#feedback_section" class="title-link" name="feedback_section"></a></h4> <h4>{% icon "mdi:feedback" %} <b> Help us improve our documentation</b><a href="#feedback_section" class="title-link" name="feedback_section"></a></h4>
Suggest an edit to this page, or provide/view feedback for this page. Suggest an edit to this page, or provide/view feedback for this page.
<div class="links"> <div class="links">
<a <a

View File

@ -120,7 +120,7 @@ To write the HAOS image to the boot medium on your x86-64 hardware, there are 2
6. In Ubuntu, in the bottom left corner, select **Show Applications**. 6. In Ubuntu, in the bottom left corner, select **Show Applications**.
7. In the applications, search and open **Disks** and start restoring the HAOS image: 7. In the applications, search and open **Disks** and start restoring the HAOS image:
1. In **Disks**, on the left side, select the internal disk device you want to install HAOS onto. 1. In **Disks**, on the left side, select the internal disk device you want to install HAOS onto.
2. On top of the screen, select the three dots menu and select **Restore Disk Image...**. 2. On top of the screen, select the three dots {% icon "mdi:dots-vertical" %} menu and select **Restore Disk Image...**.
![Restore disk image: select three dots menu](/images/installation/ubuntu_restore_disk_image.png) ![Restore disk image: select three dots menu](/images/installation/ubuntu_restore_disk_image.png)
3. Select the image you just downloaded. 3. Select the image you just downloaded.
![Restore disk image: select image](/images/installation/select_haos.png) ![Restore disk image: select image](/images/installation/select_haos.png)
@ -319,12 +319,12 @@ Minimum recommended assignments:
- Make sure **EFI** is enabled. If EFI is not enabled, HAOS won't boot. - Make sure **EFI** is enabled. If EFI is not enabled, HAOS won't boot.
4. Under **Hard Disk**, select **Use an existing virtual hard disk file**, select the unzipped VDI file from above. 4. Under **Hard Disk**, select **Use an existing virtual hard disk file**, select the unzipped VDI file from above.
5. Then go to **Network** > **Adapter 1**. Choose **Bridged Adapter** and choose your network adapter. 5. Then go to **Network** > **Adapter 1**. Choose **Bridged Adapter** and choose your network adapter.
<iconify-icon inline icon="mdi:alert-outline"></iconify-icon> Please keep in mind that the bridged {% icon "mdi:alert-outline" %} Please keep in mind that the bridged
adapter only functions over a hardwired Ethernet connection. adapter only functions over a hardwired Ethernet connection.
Using Wi-Fi on your VirtualBox host is unsupported. Using Wi-Fi on your VirtualBox host is unsupported.
6. Then go to <b>Audio</b> and choose <b>Intel HD Audio</b> as audio controller. 6. Then go to <b>Audio</b> and choose <b>Intel HD Audio</b> as audio controller.
<iconify-icon inline icon="mdi:alert-outline"></iconify-icon> By default, VirtualBox does not {% icon "mdi:alert-outline" %} By default, VirtualBox does not
free up unused disk space. To automatically shrink the vdi disk image the `discard` option must free up unused disk space. To automatically shrink the vdi disk image the `discard` option must
be enabled using your host machine's terminal: be enabled using your host machine's terminal:
@ -374,7 +374,7 @@ Minimum recommended assignments:
virt-install --name haos --description "Home Assistant OS" --os-variant=generic --ram=4096 --vcpus=2 --disk <PATH TO QCOW2 FILE>,bus=scsi --controller type=scsi,model=virtio-scsi --import --graphics none --boot uefi virt-install --name haos --description "Home Assistant OS" --os-variant=generic --ram=4096 --vcpus=2 --disk <PATH TO QCOW2 FILE>,bus=scsi --controller type=scsi,model=virtio-scsi --import --graphics none --boot uefi
``` ```
<iconify-icon inline icon="mdi:alert-outline"></iconify-icon> If you have a USB {% icon "mdi:alert-outline" %} If you have a USB
dongle to attach, you need to add the option `--hostdev busID.deviceId`. You can dongle to attach, you need to add the option `--hostdev busID.deviceId`. You can
discover these IDs via the `lsusb` command. As example, if `lsusb` output is: discover these IDs via the `lsusb` command. As example, if `lsusb` output is:

View File

@ -23,7 +23,7 @@ document.querySelector('.site-title').addEventListener('contextmenu', function(e
const changeNavColor = () => { const changeNavColor = () => {
const scrollPosition = document.documentElement.scrollTop; const scrollPosition = document.documentElement.scrollTop;
const nav = document.querySelector("header"); const nav = document.querySelector("header");
if (scrollPosition <= 10) { if (scrollPosition <= 1) {
nav.classList.add("dark"); nav.classList.add("dark");
} else { } else {
nav.classList.remove("dark"); nav.classList.remove("dark");

View File

@ -5,4 +5,4 @@
{% else %} {% else %}
{% assign author = site.author %} {% assign author = site.author %}
{% endif %} {% endif %}
{% if author %}<span class="byline author vcard"><iconify-icon inline icon="mdi:person"></iconify-icon> {{ author }}</span>{% endif %} {% if author %}<span class="byline author vcard">{% icon "mdi:person" %} {{ author }}</span>{% endif %}

View File

@ -1,5 +1,5 @@
<section class="sharing aside-module grid__item one-whole lap-one-half"> <section class="sharing aside-module grid__item one-whole lap-one-half">
<h1 class="title epsilon">Share this post</h1> <h1 class="title epsilon">{% icon "mdi:ios-share" %} Share this post</h1>
<ul class="divided"> <ul class="divided">
{% if site.twitter_tweet_button %} {% if site.twitter_tweet_button %}
<li> <li>

View File

@ -24,29 +24,36 @@
<div class="grid__item one-quarter lap-one-half palm-one-whole"> <div class="grid__item one-quarter lap-one-half palm-one-whole">
<h4>Join us and contribute!</h4> <h4>Join us and contribute!</h4>
<ul> <ul>
<li><a class="external-link" href="https://github.com/home-assistant/">GitHub repo <iconify-icon inline icon="tabler:external-link"></iconify-icon></a></li> <li><a class="external-link" href="https://github.com/home-assistant/">GitHub repo {% icon "tabler:external-link" %}</a></li>
<li> <li>
<a class="external-link" href="https://developers.home-assistant.io">Developers Portal <iconify-icon inline icon="tabler:external-link"></iconify-icon></a> <a class="external-link" href="https://developers.home-assistant.io">Developers Portal {% icon "tabler:external-link" %}</a>
</li> </li>
<li><a class="external-link" href="https://data.home-assistant.io">Data Science Portal <iconify-icon inline icon="tabler:external-link"></iconify-icon></a></li> <li><a class="external-link" href="https://data.home-assistant.io">Data Science Portal {% icon "tabler:external-link" %}</a></li>
<li> <li>
<a class="external-link" href="https://community.home-assistant.io">Community Forum <iconify-icon inline icon="tabler:external-link"></iconify-icon></a> <a class="external-link" href="https://community.home-assistant.io">Community Forum {% icon "tabler:external-link" %}</a>
</li> </li>
<li><a href="/help/reporting_issues/">Reporting issues</a></li> <li><a href="/help/reporting_issues/">Reporting issues</a></li>
<li><a href="https://home-assistant-store.creator-spring.com/">Community Merch Store</a></li>
</ul> </ul>
<h4>System status</h4> <h4>System status</h4>
<ul> <ul>
<li> <li>
<a class="external-link" href="https://alerts.home-assistant.io">Integration Alerts <iconify-icon inline icon="tabler:external-link"></iconify-icon></a> <a class="external-link" href="https://alerts.home-assistant.io">Integration Alerts {% icon "tabler:external-link" %}</a>
</li> </li>
<li><a href="/security/">Security Alerts</a></li> <li><a href="/security/">Security Alerts</a></li>
<li> <li>
<a class="external-link" href="https://status.home-assistant.io">System Status <iconify-icon inline icon="tabler:external-link"></iconify-icon></a> <a class="external-link" href="https://status.home-assistant.io">System Status {% icon "tabler:external-link" %}</a>
</li> </li>
</ul> </ul>
</div> </div>
<div class="grid__item one-quarter lap-one-half palm-one-whole"> <div class="grid__item one-quarter lap-one-half palm-one-whole">
<h4>Companion apps</h4>
<ul>
<li><a class="external-link" href="https://apps.apple.com/us/app/home-assistant/id1099568401">iOS and Apple devices</a></li>
<li><a class="external-link" href="https://play.google.com/store/apps/details?id=io.homeassistant.companion.android">Android and Wear OS</a></li>
<li><a class="external-link" href="https://companion.home-assistant.io/">...and more!</a></li>
</ul>
<h4>Governance</h4> <h4>Governance</h4>
<ul> <ul>
<li><a href="/privacy/">Privacy Notices</a></li> <li><a href="/privacy/">Privacy Notices</a></li>
@ -61,7 +68,7 @@
<div class="socials grid__item one-quarter lap-one-half palm-one-whole"> <div class="socials grid__item one-quarter lap-one-half palm-one-whole">
<h4>Follow us</h4> <h4>Follow us</h4>
<p><a class="external-link" href='https://building.open-home.io/#/portal'>Sign up for our newsletter <iconify-icon inline icon="tabler:external-link"></iconify-icon></a></p> <p><a class="external-link" href='https://building.open-home.io/#/portal'>Sign up for our newsletter {% icon "tabler:external-link" %}</a></p>
<div class="icons"> <div class="icons">
<a <a
rel="me" rel="me"

View File

@ -26,24 +26,24 @@
<li><a href="/getting-started/">Getting started</a></li> <li><a href="/getting-started/">Getting started</a></li>
<li> <li>
<a href="/docs/" <a href="/docs/"
>Documentation <iconify-icon inline icon="mdi:chevron-down"></iconify-icon></i >Documentation {% icon "mdi:chevron-down" %}</i
></a> ></a>
<ul> <ul>
<li><a href="/installation/"><iconify-icon inline icon="simple-icons:homeassistant"></iconify-icon> Installation</a></li> <li><a href="/installation/">{% icon "simple-icons:homeassistant" %} Installation</a></li>
<li> <li>
<a href="/docs/configuration/"><iconify-icon inline icon="mdi:cog"></iconify-icon> Configuration</a> <a href="/docs/configuration/">{% icon "mdi:cog" %} Configuration</a>
</li> </li>
<li> <li>
<a href="/docs/automation/"><iconify-icon inline icon="mdi:robot-happy"></iconify-icon> Automation</a> <a href="/docs/automation/">{% icon "mdi:robot-happy" %} Automation</a>
</li> </li>
<li> <li>
<a href="/docs/scripts/"><iconify-icon inline icon="mdi:script-text"></iconify-icon> Scripting</a> <a href="/docs/scripts/">{% icon "mdi:script-text" %} Scripting</a>
</li> </li>
<li> <li>
<a href="/dashboards/"><iconify-icon inline icon="mdi:view-dashboard"></iconify-icon> Dashboards</a> <a href="/dashboards/">{% icon "mdi:view-dashboard" %} Dashboards</a>
</li> </li>
<li> <li>
<a href="/voice_control/"><iconify-icon inline icon="mdi:comment-processing-outline"></iconify-icon> Voice assistant</a> <a href="/voice_control/">{% icon "mdi:comment-processing-outline" %} Voice assistant</a>
</li> </li>
</ul> </ul>
</li> </li>

View File

@ -1,12 +1,12 @@
<div class="hero"> <div class="hero">
<div class="grid-wrapper"> <div class="grid-wrapper">
<div class="grid flex"> <div class="grid flex">
<div class="grid__item flex__item three-fifths lap-one-half palm-one-whole"> <div class="grid__item flex__item three-fifths lap-one-whole palm-one-whole">
{% include custom/welcome.html %} {% include custom/welcome.html %}
</div> </div>
<div class="grid__item flex__item two-fifths lap-one-half palm-one-whole"> <div class="grid__item flex__item two-fifths lap-one-whole palm-one-whole">
<iframe id="HAdemo" title="Home Assistant Demo" <iframe id="HAdemo" title="Home Assistant Demo"
src="https://demo.home-assistant.io/"> src="https://demo.home-assistant.io/?frontpage">
</iframe> </iframe>
<a id="HAdemoScreenshot" href='https://demo.home-assistant.io/' target='_blank'> <a id="HAdemoScreenshot" href='https://demo.home-assistant.io/' target='_blank'>

View File

@ -42,7 +42,7 @@
{%- unless page.no_toc -%} {%- unless page.no_toc -%}
<section class="aside-module grid__item one-whole lap-one-half"> <section class="aside-module grid__item one-whole lap-one-half">
<div class='section'> <div class='section'>
<h1 class="title epsilon"><iconify-icon inline icon="mdi:toc"></iconify-icon> On this page</h1> <h1 class="title epsilon">{% icon "mdi:toc" %} On this page</h1>
{{ content | toc_only }} {{ content | toc_only }}
</div> </div>
</section> </section>
@ -52,7 +52,7 @@
{%- if page.ha_category.first -%} {%- if page.ha_category.first -%}
<section class="aside-module grid__item one-whole lap-one-half"> <section class="aside-module grid__item one-whole lap-one-half">
<div class='section'> <div class='section'>
<h1 class="title epsilon"><iconify-icon inline icon="mdi:category"></iconify-icon> Categories</h1> <h1 class="title epsilon">{% icon "mdi:category" %} Categories</h1>
<ul class='divided'> <ul class='divided'>
{%- for category in page.ha_category -%} {%- for category in page.ha_category -%}
<li> <li>

View File

@ -10,7 +10,7 @@ ha_platforms:
- tts - tts
ha_integration_type: integration ha_integration_type: integration
ha_codeowners: ha_codeowners:
- '@jschlyter' - '@jschlyter'
related: related:
- docs: /docs/configuration/ - docs: /docs/configuration/
title: Configuration file title: Configuration file

View File

@ -19,7 +19,7 @@ Some integrations like [Google Calendar](/integrations/google/) will automatical
## To view stored application credentials ## To view stored application credentials
1. Go to {% my integrations title="**Settings** > **Devices & services**" %}. 1. Go to {% my integrations title="**Settings** > **Devices & services**" %}.
2. In the top right corner, select the three dots menu and select **Application credentials**. 2. In the top right corner, select the three dots {% icon "mdi:dots-vertical" %} menu and select **Application credentials**.
![Devices and services overflow menu](/images/integrations/application_credentials/devices-and-services-menu.png) ![Devices and services overflow menu](/images/integrations/application_credentials/devices-and-services-menu.png)
@ -32,7 +32,7 @@ when setting up for the first time. You may also manually enter credentials with
1. Obtain an OAuth *Client ID* and *Client Secret* from the cloud provider. The integration should have specific instructions for this. 1. Obtain an OAuth *Client ID* and *Client Secret* from the cloud provider. The integration should have specific instructions for this.
2. In Home Assistant, go to {% my integrations title="**Settings** > **Devices & services**" %}. 2. In Home Assistant, go to {% my integrations title="**Settings** > **Devices & services**" %}.
3. In the top right corner, select the three dots menu and select **Application credentials**. 3. In the top right corner, select the three dots {% icon "mdi:dots-vertical" %} menu and select **Application credentials**.
4. Select the integration, enter a *Name* and your OAuth *Client ID* and *Client Secret*. 4. Select the integration, enter a *Name* and your OAuth *Client ID* and *Client Secret*.
5. Save the credentials. 5. Save the credentials.
@ -48,7 +48,7 @@ To delete an application credential, for example because you created a new one,
![Devices and services overflow menu](/images/integrations/application_credentials/devices-and-services-menu.png) ![Devices and services overflow menu](/images/integrations/application_credentials/devices-and-services-menu.png)
2. In the top right corner, select the three dots menu and select **Application credentials**. 2. In the top right corner, select the three dots {% icon "mdi:dots-vertical" %} menu and select **Application credentials**.
3. Select the credential from the list, select the three-dots menu and select **Delete**. 3. Select the credential from the list, select the three-dots menu and select **Delete**.
![Application credential list](/images/integrations/application_credentials/application-credential_delete.png) ![Application credential list](/images/integrations/application_credentials/application-credential_delete.png)

View File

@ -1,6 +1,6 @@
--- ---
title: Aprilaire title: AprilAire
description: Instructions on how to integrate Aprilaire devices into Home Assistant. description: Instructions on how to integrate AprilAire devices into Home Assistant.
ha_category: ha_category:
- Climate - Climate
ha_iot_class: Local Push ha_iot_class: Local Push
@ -16,11 +16,11 @@ ha_platforms:
ha_integration_type: device ha_integration_type: device
--- ---
The Aprilaire integration allows you to control an Aprilaire thermostat. The AprilAire integration allows you to control an AprilAire thermostat.
## Supported Models ## Supported Models
This integration supports Aprilaire [8800-series Home Automation Wi-Fi Thermostats](https://www.aprilaire.com/whole-house-products/thermostats/home-automation) and [6000-series Wi-Fi Zone Control devices](https://www.aprilaire.com/whole-house-products/zone-control) which support setting the thermostat to automation mode. It is known that there are some models which are marketed as home automation capable that do not support automation mode, and are therefore not supported. This integration supports AprilAire [8800-series Home Automation Wi-Fi Thermostats](https://www.aprilaire.com/whole-house-products/thermostats/home-automation) and [6000-series Wi-Fi Zone Control devices](https://www.aprilaire.com/whole-house-products/zone-control) which support setting the thermostat to automation mode. It is known that there are some models which are marketed as home automation capable that do not support automation mode, and are therefore not supported.
## Prerequisites ## Prerequisites
@ -30,4 +30,4 @@ In order to connect to the thermostat, you will need to enable automation mode.
## Caution regarding device limitations ## Caution regarding device limitations
Due to limitations of the thermostats, only one automation connection to a device is permitted at one time (the Aprilaire app is not included in this limitation as it uses a separate protocol). Attempting to connect multiple times to the same thermostat simultaneously can cause various issues, including the thermostat becoming unresponsive and shutting down. If this does occur, power cycling the thermostat should restore functionality. Due to limitations of the thermostats, only one automation connection to a device is permitted at one time (the AprilAire app is not included in this limitation as it uses a separate protocol). Attempting to connect multiple times to the same thermostat simultaneously can cause various issues, including the thermostat becoming unresponsive and shutting down. If this does occur, power cycling the thermostat should restore functionality.

View File

@ -8,8 +8,8 @@ ha_category:
- Energy - Energy
ha_domain: apsystems ha_domain: apsystems
ha_platforms: ha_platforms:
- sensor
- number - number
- sensor
ha_integration_type: device ha_integration_type: device
ha_codeowners: ha_codeowners:
- '@mawoka-myblock' - '@mawoka-myblock'

View File

@ -1,5 +1,5 @@
--- ---
title: AquaCell title: Aquacell
description: Instructions on how to integrate AquaCell with Home Assistant. description: Instructions on how to integrate AquaCell with Home Assistant.
ha_category: ha_category:
- Sensor - Sensor
@ -11,7 +11,7 @@ ha_codeowners:
ha_domain: aquacell ha_domain: aquacell
ha_platforms: ha_platforms:
- sensor - sensor
ha_integration_type: integration ha_integration_type: device
--- ---
AquaCell is a water-softening device. The **AquaCell** {% term integration %} allows you to monitor your AquaCell device in Home Assistant. AquaCell is a water-softening device. The **AquaCell** {% term integration %} allows you to monitor your AquaCell device in Home Assistant.

View File

@ -11,7 +11,9 @@ ha_codeowners:
ha_domain: azure_data_explorer ha_domain: azure_data_explorer
related: related:
- docs: /docs/configuration/ - docs: /docs/configuration/
ha_integration_type: integration
--- ---
[Azure Data Explorer](https://azure.microsoft.com/en-us/services/data-explorer/) is a high-performance time-series database, query engine, and dashboarding tool. The Home Assistant **Azure Data Explorer** {% term integration %} allows you to hook into the Home Assistant event bus and forward events to Azure Data Explorer for analytics and dashboarding. From here, data can be viewed in building dashboards, PowerBi, and Grafana, among others. [Azure Data Explorer](https://azure.microsoft.com/en-us/services/data-explorer/) is a high-performance time-series database, query engine, and dashboarding tool. The Home Assistant **Azure Data Explorer** {% term integration %} allows you to hook into the Home Assistant event bus and forward events to Azure Data Explorer for analytics and dashboarding. From here, data can be viewed in building dashboards, PowerBi, and Grafana, among others.
## Prerequisites ## Prerequisites

View File

@ -8,7 +8,6 @@ ha_iot_class: Local Polling
ha_config_flow: true ha_config_flow: true
ha_codeowners: ha_codeowners:
- '@bbx-a' - '@bbx-a'
- '@riokuu'
- '@swistakm' - '@swistakm'
ha_domain: blebox ha_domain: blebox
ha_platforms: ha_platforms:

View File

@ -29,7 +29,11 @@ related:
title: Configuration file title: Configuration file
--- ---
The **Broadlink** {% term integration %} allows you to control and monitor Broadlink universal remotes, smart plugs, power strips, switches and sensors. The following devices are supported: The **Broadlink** {% term integration %} allows you to control and monitor Broadlink universal remotes, smart plugs, power strips, switches and sensors.
The manufacturer's app is required in order to connect new devices to the network.
The following devices are supported:
- Thermostats: `Hysen HY02B05H` and `Floureon HY03WE` - Thermostats: `Hysen HY02B05H` and `Floureon HY03WE`
- Power Strips: `MP1-1K3S2U` and `MP1-1K4S` - Power Strips: `MP1-1K3S2U` and `MP1-1K4S`

View File

@ -8,7 +8,6 @@ ha_category:
ha_iot_class: Cloud Push ha_iot_class: Cloud Push
ha_release: 0.77 ha_release: 0.77
ha_codeowners: ha_codeowners:
- '@OverloadUT'
- '@mib1185' - '@mib1185'
- '@edenhaus' - '@edenhaus'
- '@Augar' - '@Augar'

View File

@ -8,6 +8,7 @@ ha_iot_class: Local Polling
ha_domain: emoncms ha_domain: emoncms
ha_codeowners: ha_codeowners:
- '@borpin' - '@borpin'
- '@alexandrecuer'
ha_platforms: ha_platforms:
- sensor - sensor
ha_integration_type: integration ha_integration_type: integration

View File

@ -3,6 +3,7 @@ title: Amazon Fire TV
description: Connect and control your Amazon Fire TV devices using the Android Debug Bridge integration description: Connect and control your Amazon Fire TV devices using the Android Debug Bridge integration
ha_category: ha_category:
- Media player - Media player
- Remote
ha_domain: fire_tv ha_domain: fire_tv
ha_integration_type: virtual ha_integration_type: virtual
ha_supporting_domain: androidtv ha_supporting_domain: androidtv
@ -15,6 +16,7 @@ ha_config_flow: true
ha_platforms: ha_platforms:
- diagnostics - diagnostics
- media_player - media_player
- remote
ha_iot_class: Local Polling ha_iot_class: Local Polling
--- ---

View File

@ -2,6 +2,7 @@
title: Generic hygrostat title: Generic hygrostat
description: Virtual hygrostat device description: Virtual hygrostat device
ha_category: ha_category:
- Helper
- Humidifier - Humidifier
ha_release: 2021.8 ha_release: 2021.8
ha_domain: generic_hygrostat ha_domain: generic_hygrostat

View File

@ -1,8 +1,9 @@
--- ---
title: Generic thermostat title: Generic Thermostat
description: Turn Home Assistant into a thermostat description: Turn Home Assistant into a thermostat
ha_category: ha_category:
- Climate - Climate
- Helper
ha_release: pre 0.7 ha_release: pre 0.7
ha_iot_class: Local Polling ha_iot_class: Local Polling
ha_domain: generic_thermostat ha_domain: generic_thermostat

View File

@ -22,7 +22,7 @@ The `glances` integration allows you to monitor the system information provided
Support for Glances api version 2 is deprecated. It is recommended to upgrade your Glances server to version 3. Once upgraded, reload the integration to connect again. Support for Glances api version 2 is deprecated. It is recommended to upgrade your Glances server to version 3. Once upgraded, reload the integration to connect again.
{% endimportant %} {% endimportant %}
These sensors needs a running instance of `glances` on the host. The minimal supported version of `glances` is 2.3. These sensors needs a running instance of `glances` in [Web Server Mode](https://glances.readthedocs.io/en/latest/quickstart.html#web-server-mode) on the host. The minimal supported version of `glances` is 2.3.
For details about auto-starting `glances`, please refer to [Start Glances through Systemd](https://github.com/nicolargo/glances/wiki/Start-Glances-through-Systemd). For details about auto-starting `glances`, please refer to [Start Glances through Systemd](https://github.com/nicolargo/glances/wiki/Start-Glances-through-Systemd).

View File

@ -12,6 +12,7 @@ ha_codeowners:
- '@tronikos' - '@tronikos'
ha_integration_type: service ha_integration_type: service
ha_platforms: ha_platforms:
- diagnostics
- notify - notify
ha_quality_scale: platinum ha_quality_scale: platinum
google_dev_console_link: https://console.developers.google.com/apis/api/embeddedassistant.googleapis.com/overview google_dev_console_link: https://console.developers.google.com/apis/api/embeddedassistant.googleapis.com/overview

View File

@ -16,7 +16,6 @@ ha_ssdp: true
ha_platforms: ha_platforms:
- remote - remote
- select - select
- switch
ha_integration_type: integration ha_integration_type: integration
--- ---

View File

@ -12,6 +12,7 @@ ha_iot_class: Cloud Polling
ha_domain: hydrawise ha_domain: hydrawise
ha_codeowners: ha_codeowners:
- '@dknowles2' - '@dknowles2'
- '@thomaskistler'
- '@ptcryan' - '@ptcryan'
ha_platforms: ha_platforms:
- binary_sensor - binary_sensor

View File

@ -9,7 +9,7 @@ ha_category:
ha_release: 0.93 ha_release: 0.93
ha_iot_class: Local Polling ha_iot_class: Local Polling
ha_codeowners: ha_codeowners:
- '@zxdavb' - '@jbouwh'
ha_domain: incomfort ha_domain: incomfort
ha_platforms: ha_platforms:
- binary_sensor - binary_sensor

View File

@ -7,12 +7,12 @@ ha_config_flow: true
ha_release: 2024.7 ha_release: 2024.7
ha_iot_class: Cloud Push ha_iot_class: Cloud Push
ha_codeowners: ha_codeowners:
- '@jgatto'
- '@joostlek' - '@joostlek'
- '@jgatto1'
ha_domain: knocki ha_domain: knocki
ha_platforms: ha_platforms:
- event - event
ha_integration_type: integration ha_integration_type: device
--- ---
The **Knocki** {% term integration %} can receive events for the triggers set up from your [Knocki devices](https://knocki.com/). The **Knocki** {% term integration %} can receive events for the triggers set up from your [Knocki devices](https://knocki.com/).

View File

@ -11,6 +11,7 @@ ha_domain: lamarzocco
ha_platforms: ha_platforms:
- binary_sensor - binary_sensor
- button - button
- calendar
- diagnostics - diagnostics
- number - number
- select - select

View File

@ -14,7 +14,7 @@ related:
title: Configuration file title: Configuration file
--- ---
The `marytts` text-to-speech {% term integration %} uses [MaryTTS](http://mary.dfki.de/) text-to-speech engine to read a text with natural sounding voices. The `marytts` text-to-speech {% term integration %} uses [MaryTTS](https://marytts.github.io/) text-to-speech engine to read a text with natural sounding voices.
## Configuration ## Configuration
@ -59,7 +59,7 @@ effect:
type: map type: map
{% endconfiguration %} {% endconfiguration %}
See [documentation](http://mary.dfki.de/documentation/index.html) for details. See [documentation](https://marytts.github.io/documentation/index.html) for details.
## Speech effects ## Speech effects

View File

@ -275,7 +275,7 @@ Follow these steps if you have added a Matter device to Home Assistant and you w
- There is no need to press a hardware button on the device to set it to commissioning mode. - There is no need to press a hardware button on the device to set it to commissioning mode.
4. To join the device to the other platform, in their app, scan the QR code or enter the sharing code. 4. To join the device to the other platform, in their app, scan the QR code or enter the sharing code.
5. Follow the instructions in their app. Once the process is complete, you can see that the device is shared in Home Assistant: 5. Follow the instructions in their app. Once the process is complete, you can see that the device is shared in Home Assistant:
- Next to the **Share device** button, select the three dots menu, then **Manage fabrics**. - Next to the **Share device** button, select the three dots {% icon "mdi:dots-vertical" %} menu, then **Manage fabrics**.
- In the list there, the new platform should be listed. - In the list there, the new platform should be listed.
- For example, if you shared it with Google Home, it lists **Google LLC**. - For example, if you shared it with Google Home, it lists **Google LLC**.
![image](/images/integrations/matter/matter_share-device-with-other-platform.png) ![image](/images/integrations/matter/matter_share-device-with-other-platform.png)

View File

@ -11,7 +11,7 @@ ha_codeowners:
ha_domain: mealie ha_domain: mealie
ha_platforms: ha_platforms:
- calendar - calendar
ha_integration_type: integration ha_integration_type: service
--- ---

View File

@ -9,9 +9,12 @@ ha_config_flow: true
ha_domain: melcloud ha_domain: melcloud
ha_platforms: ha_platforms:
- climate - climate
- diagnostics
- sensor - sensor
- water_heater - water_heater
ha_integration_type: integration ha_integration_type: integration
ha_codeowners:
- '@erwindouna'
--- ---
The `melcloud` integration integrates Mitsubishi Electric's [MELCloud](https://www.melcloud.com/) enabled devices into Home Assistant. The `melcloud` integration integrates Mitsubishi Electric's [MELCloud](https://www.melcloud.com/) enabled devices into Home Assistant.

View File

@ -3,10 +3,11 @@ title: Nanoleaf
description: Instructions how to integrate Nanoleaf Panels into Home Assistant. description: Instructions how to integrate Nanoleaf Panels into Home Assistant.
ha_category: ha_category:
- Button - Button
- Light
- Event - Event
- Light
ha_codeowners: ha_codeowners:
- '@milanmeu' - '@milanmeu'
- '@joostlek'
ha_config_flow: true ha_config_flow: true
ha_homekit: true ha_homekit: true
ha_iot_class: Local Push ha_iot_class: Local Push

View File

@ -4,7 +4,7 @@ description: Instructions on how to integrate Onkyo and some Pioneer receivers i
ha_category: ha_category:
- Media player - Media player
ha_release: 0.17 ha_release: 0.17
ha_iot_class: Local Polling ha_iot_class: Local Push
ha_domain: onkyo ha_domain: onkyo
ha_platforms: ha_platforms:
- media_player - media_player
@ -12,6 +12,8 @@ ha_integration_type: integration
related: related:
- docs: /docs/configuration/ - docs: /docs/configuration/
title: Configuration file title: Configuration file
ha_codeowners:
- '@arturpragacz'
--- ---
The `onkyo` {% term integration %} allows you to control a [Onkyo](https://www.onkyo.com), [Integra](http://www.integrahometheater.com) The `onkyo` {% term integration %} allows you to control a [Onkyo](https://www.onkyo.com), [Integra](http://www.integrahometheater.com)

View File

@ -10,9 +10,12 @@ ha_codeowners:
- '@tr4nt0r' - '@tr4nt0r'
ha_platforms: ha_platforms:
- button - button
- diagnostics
- sensor - sensor
- switch - switch
ha_integration_type: integration ha_integration_type: service
ha_quality_scale: platinum
ha_config_flow: true
--- ---
The [**pyLoad**](https://pyload.net/) {% term integration %} enables monitoring your downloads directly in Home Assistant. This integration provides various sensors to keep track of your download activities and allows creating automations based on the sensor information, alongside button and switch controls for performing specific tasks such as aborting downloads and managing file restarts. The [**pyLoad**](https://pyload.net/) {% term integration %} enables monitoring your downloads directly in Home Assistant. This integration provides various sensors to keep track of your download activities and allows creating automations based on the sensor information, alongside button and switch controls for performing specific tasks such as aborting downloads and managing file restarts.

View File

@ -278,6 +278,7 @@ The following models have been tested and confirmed to work with a direct link t
- [RLC-820A](https://reolink.com/product/rlc-820a/) - [RLC-820A](https://reolink.com/product/rlc-820a/)
- [RLC-822A](https://reolink.com/product/rlc-822a/) - [RLC-822A](https://reolink.com/product/rlc-822a/)
- [RLC-823A](https://reolink.com/product/rlc-823a/) - [RLC-823A](https://reolink.com/product/rlc-823a/)
- [RLC-830A](https://reolink.com/product/rlc-830a/)
- [RLC-833A](https://reolink.com/product/rlc-833a/) - [RLC-833A](https://reolink.com/product/rlc-833a/)
- [RLC-1212A](https://reolink.com/product/rlc-1212a/) - [RLC-1212A](https://reolink.com/product/rlc-1212a/)
- [RLC-1224A](https://reolink.com/product/rlc-1224a/) - [RLC-1224A](https://reolink.com/product/rlc-1224a/)
@ -301,6 +302,7 @@ Battery-powered Reolink cameras can be used with Home Assistant with the help of
The following battery-powered models have been tested and confirmed to work through the Reolink Home Hub: The following battery-powered models have been tested and confirmed to work through the Reolink Home Hub:
- [Argus 4 Pro](https://reolink.com/product/argus-4-pro/)
- [Argus Eco Ultra](https://reolink.com/product/argus-eco-ultra/) - [Argus Eco Ultra](https://reolink.com/product/argus-eco-ultra/)
- [Argus Track](https://reolink.com/product/argus-track/) - [Argus Track](https://reolink.com/product/argus-track/)
- [Reolink Doorbell Battery](https://reolink.com/roadmap/) - [Reolink Doorbell Battery](https://reolink.com/roadmap/)

View File

@ -16,8 +16,6 @@ ha_category:
ha_release: 0.87 ha_release: 0.87
ha_iot_class: Cloud Push ha_iot_class: Cloud Push
ha_config_flow: true ha_config_flow: true
ha_codeowners:
- '@andrewsayre'
ha_domain: smartthings ha_domain: smartthings
ha_platforms: ha_platforms:
- binary_sensor - binary_sensor

View File

@ -9,6 +9,7 @@ ha_iot_class: Local Polling
ha_config_flow: true ha_config_flow: true
ha_codeowners: ha_codeowners:
- '@Ernst79' - '@Ernst79'
- '@dontinelli'
ha_domain: solarlog ha_domain: solarlog
ha_platforms: ha_platforms:
- sensor - sensor

View File

@ -2,6 +2,7 @@
title: Statistics title: Statistics
description: Instructions on how to integrate statistical sensors into Home Assistant. description: Instructions on how to integrate statistical sensors into Home Assistant.
ha_category: ha_category:
- Helper
- Sensor - Sensor
- Utility - Utility
ha_iot_class: Local Polling ha_iot_class: Local Polling
@ -13,7 +14,8 @@ ha_domain: statistics
ha_config_flow: true ha_config_flow: true
ha_platforms: ha_platforms:
- sensor - sensor
ha_integration_type: integration ha_integration_type: helper
ha_config_flow: true
--- ---
The `statistics` integration observes the state of a source sensor and provides aggregated statistical characteristics about its recent past. This integration can be useful in automation, for example, to trigger an action when the air humidity in the bathroom settles after a hot shower or when the number of brewed coffees over a day gets too high. The `statistics` integration observes the state of a source sensor and provides aggregated statistical characteristics about its recent past. This integration can be useful in automation, for example, to trigger an action when the air humidity in the bathroom settles after a hot shower or when the number of brewed coffees over a day gets too high.

View File

@ -9,8 +9,6 @@ ha_codeowners:
- '@dmulcahey' - '@dmulcahey'
ha_domain: tag ha_domain: tag
ha_quality_scale: internal ha_quality_scale: internal
ha_platforms:
- event
ha_integration_type: integration ha_integration_type: integration
--- ---

View File

@ -50,4 +50,6 @@ The {% term integration %} adds the following sensors:
The {% term integration %} adds the following switch: The {% term integration %} adds the following switch:
- Auto-charge mode | Name | Description |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Auto-charge mode | When enabled, vehicles will start charging automatically when plugged in. When turned off, charging will need to be manually started each time a vehicle is plugged in. Note: Disabling auto-charge mode does not interrupt an ongoing charging session. |

View File

@ -17,7 +17,6 @@ ha_iot_class: Local Polling
ha_config_flow: true ha_config_flow: true
ha_codeowners: ha_codeowners:
- '@rytilahti' - '@rytilahti'
- '@thegardenmonkey'
- '@bdraco' - '@bdraco'
- '@sdb9696' - '@sdb9696'
ha_domain: tplink ha_domain: tplink

View File

@ -12,6 +12,7 @@ ha_codeowners:
ha_domain: tplink_omada ha_domain: tplink_omada
ha_platforms: ha_platforms:
- binary_sensor - binary_sensor
- device_tracker
- switch - switch
- update - update
ha_integration_type: hub ha_integration_type: hub

View File

@ -19,7 +19,6 @@ ha_supporting_domain: tplink
ha_supporting_integration: TP-Link Smart Home ha_supporting_integration: TP-Link Smart Home
ha_codeowners: ha_codeowners:
- '@rytilahti' - '@rytilahti'
- '@thegardenmonkey'
- '@bdraco' - '@bdraco'
- '@sdb9696' - '@sdb9696'
ha_config_flow: true ha_config_flow: true

View File

@ -21,9 +21,6 @@ ha_ssdp: true
ha_release: 2022.2 ha_release: 2022.2
ha_iot_class: Local Push ha_iot_class: Local Push
ha_config_flow: true ha_config_flow: true
ha_quality_scale: platinum
ha_codeowners:
- '@bdraco'
ha_domain: unifiprotect ha_domain: unifiprotect
ha_platforms: ha_platforms:
- binary_sensor - binary_sensor

View File

@ -11,6 +11,7 @@ ha_codeowners:
ha_domain: v2c ha_domain: v2c
ha_platforms: ha_platforms:
- binary_sensor - binary_sensor
- diagnostics
- number - number
- sensor - sensor
- switch - switch

View File

@ -15,7 +15,6 @@ ha_codeowners:
ha_domain: wled ha_domain: wled
ha_zeroconf: true ha_zeroconf: true
ha_platforms: ha_platforms:
- binary_sensor
- button - button
- diagnostics - diagnostics
- light - light

View File

@ -7,6 +7,7 @@ ha_release: 2023.2
ha_iot_class: Local Polling ha_iot_class: Local Polling
ha_domain: zeversolar ha_domain: zeversolar
ha_platforms: ha_platforms:
- diagnostics
- sensor - sensor
ha_config_flow: true ha_config_flow: true
ha_integration_type: device ha_integration_type: device

View File

@ -0,0 +1,893 @@
---
layout: post
title: "2024.7: Time to resize your cards!"
description: "Home Assistant 2024.7! With timers support for Assist, resize cards on your dashboard, expose scripts to OpenAI ChatGPT and Google Gemini, taking control of blueprint-based automations, and much more."
date: 2024-07-03 00:00:00
date_formatted: "July 3, 2024"
author: Franck Nijhof
author_twitter: frenck
comments: true
categories:
- Release-Notes
- Core
og_image: /images/blog/2024-07/social.png
---
<a href='/integrations/#version/2024.7'><img src='/images/blog/2024-07/social.png' style='border: 0;box-shadow: none;'></a>
Home Assistant 2024.7! 🎉
Get ready for a really nice release with something interesting for everyone! 🤗
And not just that, I bring you these release notes from our refreshed website 🤩
that [Madelena] and [yours truly] have been spontaneously working on over the
past few days. We hope you like it! ❤️
Some fantastic additions to [Assist](/voice_control): Timers!
and the ability to expose your scripts to LLMs. In case you missed it,
it has been covered and demonstrated live in our recent
[Voice - Chapter 7 livestream!](https://www.youtube.com/watch?v=nLLO4u2Tbbo)
which you definitely should watch. 📺
The [sections view](/dashboards/sections/) becomes more feature-rich with
every release, and this time, the [ability to resize cards](#resize-the-cards-on-your-dashboard)
is added. Absolutely the highlight of the release for me!
My second favorite highlight for this release is the ability to
[take control of blueprint-based automations](#take-control-of-blueprint-based-automations).
There are so many [amazing blueprints out there](https://community.home-assistant.io/c/blueprints-exchange/53/l/top?period=yearly),
and many are perfect, but sometimes they fit 90% of what you need. Being able
to take control of that last 10% is just amazing!
Enjoy the release!
../Frenck
[yours truly]: https://github.com/frenck
[Madelena]: https://github.com/Madelena
<!--more-->
- [Resize the cards on your dashboard](#resize-the-cards-on-your-dashboard)
- [Data tables improvements](#data-tables-improvements)
- [Voice \& Assist](#voice--assist)
- [Timers are here!](#timers-are-here)
- [Expand an LLM using your scripts](#expand-an-llm-using-your-scripts)
- [Take control of blueprint-based automations](#take-control-of-blueprint-based-automations)
- [Integrations](#integrations)
- [New integrations](#new-integrations)
- [Noteworthy improvements to existing integrations](#noteworthy-improvements-to-existing-integrations)
- [Integrations reaching platinum quality level](#integrations-reaching-platinum-quality-level)
- [Now available to set up from the UI](#now-available-to-set-up-from-the-ui)
- [Farewell to the following](#farewell-to-the-following)
- [ESPHome update entities for ready-made projects](#esphome-update-entities-for-ready-made-projects)
- [Other noteworthy changes](#other-noteworthy-changes)
- [Link your template entity to an existing device](#link-your-template-entity-to-an-existing-device)
- [Change the radius of your home zone](#change-the-radius-of-your-home-zone)
- [Need help? Join the community!](#need-help-join-the-community)
- [Backward-incompatible changes](#backward-incompatible-changes)
- [All changes](#all-changes)
Don't forget to [join our release party live stream on YouTube](https://www.youtube.com/watch?v=Snk6oslMQFc)
3 July 2024, at 20:00 GMT / 12:00 PST / 21:00 CEST!
<lite-youtube videoid="Snk6oslMQFc" videotitle="Home Assistant 2024.7 Release Party"></lite-youtube>
## Resize the cards on your dashboard
As [part of our roadmap](/blog/2024/06/12/roadmap-2024h1/#dashboards), we're
continuing to make dashboard organization and customization easier and more
intuitive. This month, we add the ability to [resize the cards] on your
dashboard!
<img src='/images/blog/2024-07/dashboard-resize-cards-example.png' style='border: 0;box-shadow: none;' alt='Screenshot showing several cards at different sizes.'>
Resizing is done with a very nice slider interface, found in the card editing
menu under the new **Layout** tab, where you can preview your changes. Make
small 1x1 buttons or give a [map] the space it needs. This is only available on
our experimental [sections view], which was recently released with drag-and-drop.
<img src='/images/blog/2024-07/dashboard-resize-card.png' style='border: 0;box-shadow: none;' alt='Screenshot showing the card edit diaglog, with the new layout tag and its card resize capabilities.'>
It works with [every card], which gives users a lot of freedom. Most cards have
been given a built-in minimum and maximum size, to make it easier to get your
layouts just right. If you mess up the look of a card, luckily we have included
a revert button {% icon "mdi:restore" %} in the
top left corner 😉.
[every card]: /dashboards/cards/
[map]: /dashboards/map/
[part of our roadmap]: /blog/2024/06/12/roadmap-2024h1/#dashboards
[resize the cards]: /dashboards/cards/#resizing-a-card
[sections view]: /blog/2024/03/06/release-20243/#a-new-experimental-sections-view
## Data tables improvements
Like the [last release] and [release before that], we keep improving our data
tables. We use data tables to organize information in our settings pages,
including our devices and automations pages.
With this release, we add the final big piece of the puzzle: The ability to
customize the columns shown! 😎
<img src='/images/blog/2024-07/data-tables-customize-columns.png' style='border: 0;box-shadow: none;' alt='Screenshot showing the dialog that allow customizing the order and visibility of data table columns available on the device page.'>
By selecting the cog {% icon "mdi:cog" %} in
the top right, you can not only customize the columns shown by toggling
visibility {% icon "mdi:eye" %}, but you
can also change the order of the columns by
dragging {% icon "mdi:drag" %} them around.
Making it even easier to show the data you want, in the order you want it.
Your customized columns and view are stored in your browser, so you only have
to set them up once. They will be remembered the next time you visit the page.
[last release]: /blog/2024/06/05/release-20246/#data-tables-improvements
[release before that]: /blog/2024/05/01/release-20245/#more-features-for-our-data-tables
## Voice & Assist
This month, we're thrilled to bring more enhancements to [Assist's] out-of-the-box
capabilities. We've added support for timers ⏲️ — our third most requested
feature for voice control — and the powerful ability to expose your
{% term scripts %} to LLMs (like [ChatGPT] and [Google Gemini]) as well! 💪
If you missed it, be sure to check out our recent Voice - Chapter 7 livestream
from June 26th, where we showcased all these exciting developments. You can
[read more in our blog post here] and [watch the full livestream on YouTube]. 🎙️
[Assist's]: /voice_control/
[ChatGPT]: /integrations/openai_conversation/
[Google Gemini]: /integrations/google_generative_ai_conversation
[read more in our blog post here]: /blog/2024/06/26/voice-chapter-7/
[watch the full livestream on YouTube]: https://www.youtube.com/watch?v=nLLO4u2Tbbo
### Timers are here!
You asked, and we listened! As of this release, timers are available. This
feature allows you to create, cancel, pause, resume, and adjust timers using
your voice, making everyday tasks like cooking much easier. And yes, you can
set multiple timers at once! 🎉
[Read more about timers in the Chapter 7 blog post](/blog/2024/06/26/voice-chapter-7/#timers-are-here).
<p class='img'><lite-youtube videoid="v3mNdTsX4J0" videotitle="Voice timers with countdown text and loading bar"></lite-youtube>Timers running on an S3 Box, with countdown text and a loading bar!</p>
{% note %}
Timers are available today on [ESPHome] and [Wyoming voice satellites].
To take advantage of this new feature, update these devices to the latest
version.
{% endnote %}
[ESPHome]: https://esphome.io/projects/
[Wyoming voice satellites]: https://github.com/rhasspy/wyoming-satellite
### Expand an LLM using your scripts
You can now expand LLM capabilities by allowing them access to (your choice)
of your {% term scripts %}. This feature lets you precisely control what the
LLM does in specific situations, while still benefiting from the flexibility
and natural language processing that AIs excel at.
For example, you can create a _"leaving home"_ script that performs the actions
you want and [expose it to Assist]. This ensures that commands like
_"I'm heading out for a couple of minutes"_ will run your predefined script,
such as locking the door without turning off the air conditioning.
[Read more about expanding LLMs with script in the Chapter 7 blog post](/blog/2024/06/26/voice-chapter-7/#expand-an-llm-with-scripts).
[expose it to Assist]: /voice_control/voice_remote_expose_devices/
## Take control of blueprint-based automations
{% term Blueprints %} are amazing; they allow you to use {% term automations %}
and {% term scripts %} created and shared by other awesome Home Assistant users.
Most are easy to use and set up, but what if that great blueprint you've been
using just needs a little tweak? Just that tiny change to make it perfect for
your home?
Well, now you can! 🎉
<img src='/images/blog/2024-07/blueprint-automation-take-control.png' style='border: 0;box-shadow: none;' alt='Screenshot showing a blueprint-based automation that can be taken of using the "Take control" option in the three-dotted menu.'>
You can now [take full control over the automations created from a blueprint](/docs/automation/using_blueprints/#editing-an-imported-blueprint).
By taking control {% icon "mdi:file-edit" %},
Home Assistant will convert the blueprint automation into a regular,
stand-alone, automation. This allows you to make any tweak you want,
without having to re-invent the wheel.
<img src='/images/blog/2024-07/blueprint-automation-preview.png' style='border: 0;box-shadow: none;' alt='Screenshot showing a preview of how a converted blueprint automation would look like before you take control.'>
The cool thing is that it shows you a preview of how the converted automation
would look like before you take over. This way, you can see what you are getting
into before you actually do it.
{% tip %}
Looking for some inspiration for your next automation?<br />
Check out the [Blueprint exchange on the Home Assistant Community Forum](https://community.home-assistant.io/c/blueprints-exchange/53/l/top?period=yearly).
{% endtip %}
## Integrations
Thanks to our community for keeping pace with the new {% term integrations %}
and improvements to existing ones! Youre all awesome 🥰
### New integrations
We welcome the following new integrations in this release:
- **[Aquacell]**, added by [@Jordi1990]
Monitor your [AquaCell water-softener] from Home Assistant.
- **[ista EcoTrend]**, added by [@tr4nt0r]
The ista EcoTrend integration allows you to import your monthly heating,
hot water, and water consumption and costs from the ista EcoTrend service.
- **[Mealie]**, added by [@joostlek]
Mealie is a [self-hosted recipe manager] and meal planner. This integration
will pull in your meal plan as calendars in Home Assistant.
- **[Knocki]**, added by [@joostlek]
[Knocki](https://knocki.com/) is a smart device that turns any surface into a
remote control, which you can now use in Home Assistant to trigger
{% term automations %}.
[@joostlek]: https://github.com/joostlek
[@Jordi1990]: https://github.com/Jordi1990
[@tr4nt0r]: https://github.com/tr4nt0r
[AquaCell water-softener]: https://www.aquacell-waterontharder.nl/aquacell
[Aquacell]: /integrations/aquacell
[ista EcoTrend]: /integrations/ista_ecotrend
[Knocki]: /integrations/knocki
[Mealie]: /integrations/mealie
[self-hosted recipe manager]: https://mealie.io/
### Noteworthy improvements to existing integrations
It is not just new {% term integrations %} that have been added; existing
integrations are also being constantly improved. Here are some of the noteworthy
changes to existing integrations:
- The **[Matter]** integration now provides number entities that allow you to
configure the behavior of your Matter lights, thanks [@jvmahon]!
- The **[TP-Link Smart Home]** integration has been fully modernized by
[@rytilahti], [@sdb9696], and [@bdraco]! It adds support for many new devices
(like hubs) and unlocks many new features in Home Assistant, including
light effects and presets, firmware updates, and so much more!
- [@tronikos] has added support for integrating the camera from the tablet
running **[Fully Kiosk Browser]**. Furthermore, there's now an image entity
for taking screenshots, the ability to send notifications and text-to-speech
messages to the tablet, and the media player can now play videos! Nice!
- The **[Android TV Remote]** integration now supports browsing your apps
directly from the media browser, thanks [@tronikos]!
- We've seen a lot of improvements to the **[UniFi Protect]** integration,
thanks to [@bdraco]. [@wfltaylor] chipped in as well, adding support for
animal detection sensors. 🐶🐱🐰
- The **[Android Debug Bridge]** integration now supports remote entities,
allowing you to remotely control your Android TV. Thanks [@ollo69]!
- The **[Reolink]** integration has seen a lot of improvements, thanks to
[@starkillerOG]. Added support for manual recording, software updates
for more cameras, playback of the auto track lens, and support for
their battery-powered cameras through the [Reolink Home Hub]. 🎥
- The **[Bang & Olufsen]** integration now supports announcements, and support
for Tidal has been added too! Nice work [@mj23000]!
- [@joostlek] added the event entity to the **[Nanoleaf]** integration, allowing
you to trigger automations when you touch your [Nanoleaf panels]. Nice!
- If you have a [Roborock Dyad] vacuum, you are in luck as they are now
supported by the **[Roborock]** integration. Awesome [@Lash-L]!
- The **[SwitchBot]** integration added support for the [SwitchBot Lock Pro].
Good work [@szclsya]!
[@bdraco]: https://github.com/bdraco
[@joostlek]: https://github.com/joostlek
[@jvmahon]: https://github.com/jvmahon
[@Lash-L]: https://github.com/Lash-L
[@mj23000]: https://github.com/mj23000
[@ollo69]: https://github.com/ollo69
[@rytilahti]: https://github.com/rytilahti
[@sdb9696]: https://github.com/sdb9696
[@starkillerOG]: https://github.com/starkillerOG
[@szclsya]: https://github.com/szclsya
[@tronikos]: https://github.com/tronikos
[@wfltaylor]: https://github.com/wfltaylor
[Android Debug Bridge]: /integrations/androidtv
[Android TV Remote]: /integrations/androidtv_remote
[Bang & Olufsen]: /integrations/bang_olufsen
[Fully Kiosk Browser]: /integrations/fully_kiosk
[Matter]: /integrations/matter
[Nanoleaf panels]: https://nanoleaf.me
[Nanoleaf]: /integrations/nanoleaf
[Reolink Home Hub]: https://reolink.com/product/reolink-home-hub/
[Reolink]: /integrations/reolink
[Roborock Dyad]: https://global.roborock.com/pages/roborock-dyad-pro-combo
[Roborock]: /integrations/roborock
[SwitchBot Lock Pro]: https://www.switch-bot.com/products/switchbot-lock-pro
[SwitchBot]: /integrations/switchbot
[TP-Link Smart Home]: /integrations/tplink
[UniFi Protect]: /integrations/unifiprotect
### Integrations reaching platinum quality level
The following {% term integrations %} have reached the platinum 🏆 level on our
[integration quality scale](/docs/quality_scale). These integrations are
the best of the best and give you an excellent out-of-the-box experience.
- **[ESPHome][esphome-integration]**, done by [@jesserockz] & [@bdraco]
- **[pyLoad]**, done by [@tr4nt0r]
- **[Teslemetry]**, done by [@Bre77]
Congratulations to all the developers who worked on these integrations!
[@Bre77]: https://github.com/Bre77
[@jesserockz]: https://github.com/jesserockz
[@tr4nt0r]: https://github.com/tr4nt0r
[esphome-integration]: /integrations/esphome
[pyLoad]: /integrations/pyload
[Teslemetry]: /integrations/teslemetry
### Now available to set up from the UI
While most {% term integrations %} can be set up directly from the Home Assistant
user interface, some were only available using YAML configuration. We keep moving
more integrations to the UI, making them more accessible for everyone
to set up and use.
The following integrations are now available via the Home Assistant UI:
- **[Feedreader]**, done by [@mib1185]
- **[Generic Hygrostat]**, done by [@elupus]
- **[Generic Thermostat]**, done by [@elupus]
- **[Intergas InComfort/Intouch Lan2RF gateway]**, done by [@jbouwh]
- **[Music Player Daemon (MPD)]**, done by [@joostlek]
- **[One-Time Password (OTP)]**, done by [@tr4nt0r]
- **[pyLoad]**, done by [@tr4nt0r]
- **[Statistics]**, done by [@gjohansson-ST]
[@elupus]: https://github.com/elupus
[@gjohansson-ST]: https://github.com/gjohansson-ST
[@jbouwh]: https://github.com/jbouwh
[@joostlek]: https://github.com/joostlek
[@mib1185]: https://github.com/mib1185
[@tr4nt0r]: https://github.com/tr4nt0r
[@tr4nt0r]: https://github.com/tr4nt0r
[Feedreader]: /integrations/feedreader
[Generic Hygrostat]: /integrations/generic_hygrostat
[Generic Thermostat]: /integrations/generic_thermostat
[Intergas InComfort/Intouch Lan2RF gateway]: /integrations/incomfort
[Music Player Daemon (MPD)]: /integrations/mpd
[One-Time Password (OTP)]: /integrations/otp
[pyLoad]: /integrations/pyload
[Statistics]: /integrations/statistics
### Farewell to the following
The following {% term integrations %} are no longer available as
of this release:
- **Aladdin Connect** has been removed, as Home Assistant cannot use the
upstream library at this time.
- **Unify Circuit** was deprecated in Home Assistant 2024.5 and has now been
removed.
## ESPHome update entities for ready-made projects
Our sister project, [ESPHome] received a brand new logo this month! 🎉
<img style='border: 0;box-shadow: none; padding-bottom: 16px' src='https://esphome.io/_static/logo-text-on-light.svg' alt='Logo of ESPHome'>
Looks familiar, right? 😃 That is because ESPHome has [been donated] to the
[Open Home Foundation] by [Nabu Casa]. The same foundation that the Home
Assistant project is part of.
Besides the new logo, ESPHome has added a new feature that works with this
release of Home Assistant: The ability for makers of
[ready-made devices or projects] running on ESPHome, to [provide updates]
for their devices directly to Home Assistant.
This means that if you have a device that is powered-by or [Made for ESPHome],
and the maker of that device provides updates for it, you can now update that
device directly from Home Assistant; without the need for you to build, adopt,
or set up the ESPHome software yourself! 😎
These two new features&mdash;updating from Home Assistant, and the ESPHome
integration reaching the platinum quality level 🏆&mdash;make it easier for new
users and creators to use this powerful platform to build a more Open Home.
[been donated]: https://esphome.io/changelog/2024.6.0.html#esphome-branding
[ESPHome]: https://esphome.io
[Made for ESPHome]: https://esphome.io/guides/made_for_esphome
[Nabu Casa]: https://www.nabucasa.com
[Open Home Foundation]: https://www.openhomefoundation.org/blog/announcing-the-open-home-foundation/
[provide updates]: https://esphome.io/changelog/2024.6.0.html#update-entities
[ready-made devices or projects]: https://esphome.io/projects/
## Other noteworthy changes
There are many more improvements in this release; here are some of the other
noteworthy changes this release:
- It is now actually possible to change the username of your Home Assistant
account, thanks [@edenhaus] & [@bramkragten]!
- Home Assistant will now raise a repair issue if an automation can't be set up
(for example, because of YAML syntax errors). Thanks [@emontnemery]!
- We now show additional entity categories on the device page, grouping
[notification] entities in a "Notification" category. Furthermore, all
[Assist]-related entities, like [conversation agents and text-to-speech]
entities, are now grouped in an "Assist" category. Thanks [@balloob]!
- [Assist] now has _"Previous"_ media player intent, adding to the list
of new intents we [added last release]. Nice [@OzGav]!
- [Trend helpers] are now automatically linked to the same device as the source
entity they are based on. Thanks [@dougiteixeira]!
- The [generic thermostat] and [generic hygrostat] are now available via the
UI, allowing you to create a thermostat or hygrostat based on existing
switches and sensors. Thanks [@elupus]!
[@balloob]: https://github.com/balloob
[@bramkragten]: https://github.com/bramkragten
[@dougiteixeira]: https://github.com/dougiteixeira
[@edenhaus]: https://github.com/edenhaus
[@elupus]: https://github.com/elupus
[@emontnemery]: https://github.com/emontnemery
[@OzGav]: https://github.com/OzGav
[added last release]: /blog/2024/06/05/release-20246/#improved-media-player-commands
[Assist]: /voice_control/
[conversation agents and text-to-speech]: /integrations/#voice
[generic hygrostat]: /integrations/generic_hygrostat
[generic thermostat]: /integrations/generic_thermostat
[notification]: /integrations/notify
[Trend helpers]: /integrations/trend
### Link your template entity to an existing device
[Template entities] are an advanced and powerful way to create your own
{% term entities %} in Home Assistant based on any calculation or logic you
can imagine.
One of the [most requested features] for {% term template %} entities is the
ability to assign and link them to an existing {% term device %}. Thanks
to [@dougiteixeira], you can now do just that! 🎉
<img src='/images/blog/2024-07/templates-link-to-device.png' style='border: 0;box-shadow: none;' alt='Screenshot showing you can select a device the template can be linked to, when adding a new template helper.'>
Assigning a template entity to an existing device can be very useful if you have
a template that calculates an additional sensor value for a device. For example,
in the screenshot above, a template helper calculates the sum of two sensors
and is linked to the device that has those sensors.
{% note %}
This feature is only available for template entities that are created
from the UI.
{% endnote %}
[Template entities]: /integrations/template
[@dougiteixeira]: https://github.com/dougiteixeira
[most requested features]: https://community.home-assistant.io/t/why-cant-we-add-template-entities-to-existing-devices/467149
### Change the radius of your home zone
{% term Zones %} in Home Assistant are a great way to define locations on your
map, such as your work, and trigger automations based on your location. The most
powerful zone is undoubtedly the home zone, which you can use to determine
if someone is home, coming home, or leaving.
Until now, the radius of the home zone was fixed at 100 meters, which was not
always ideal for everyone. Although it could be changed using YAML, as of this
release, you can now change the radius of your home zone directly from the
Home Assistant user interface!
<img class="no-shadow" src='/images/docs/configuration/change_location_radius.webp' alt='Screenrecording of how you can now change the radius of the home zone.'><br/>
{% important %}
If you have currently configured and overridden your home zone using YAML
configuration, this new feature will not be available to you. You can remove
the YAML configuration and restart Home Assistant to enable UI control.
{% endimportant %}
## Need help? Join the community!
Home Assistant has a great community of users who are all more than willing
to help each other out. So, join us!
Our very active [Discord chat server](/join-chat) is an excellent place to be
at, and don't forget to join our amazing [forums](https://community.home-assistant.io/).
Found a bug or issue? Please report it in our [issue tracker](https://github.com/home-assistant/core/issues),
to get it fixed! Or, check [our help page](/help) for guidance for more
places you can go.
Are you more into email? [Sign-up for our Building the Open Home Newsletter](/newsletter)
to get the latest news about features, things happening in our community and
other news about building an Open Home; straight into your inbox.
## Backward-incompatible changes
We do our best to avoid making changes to existing functionality that might
unexpectedly impact your Home Assistant installation. Unfortunately, sometimes,
it is inevitable.
We always make sure to document these changes to make the transition as easy as
possible for you. This release has the following backward-incompatible changes:
{% details "Authentication" %}
The legacy API password (`legacy_api_password`) authentication provider that
was deprecated in Home Assistant 2023.12, has been removed.
([@edenhaus] - [#119976]) ([documentation](/integrations/auth))
[@edenhaus]: https://github.com/edenhaus
[#119976]: https://github.com/home-assistant/core/pull/119976
{% enddetails %}
{% details "Azure DevOps" %}
All attributes of the "latest build" sensor are now deprecated; each now has
a dedicated sensor entity available. If you use these attributes in your
automations or scripts, you need to adjust these to use one of the
new sensors instead.
([@timmo001] - [#114948]) ([documentation](/integrations/azure_devops))
[@timmo001]: https://github.com/timmo001
[#114948]: https://github.com/home-assistant/core/pull/114948
{% enddetails %}
{% details "Blink" %}
The previously deprecated Blink update service has now been removed.
([@gjohansson-ST] - [#119919]) ([documentation](/integrations/blink))
[@gjohansson-ST]: https://github.com/gjohansson-ST
[#119919]: https://github.com/home-assistant/core/pull/119919
{% enddetails %}
{% details "BMW Connected Drive" %}
The charging mode and charging status sensors have been updated to use lowercase
state values. If you use these sensors in your automations or scripts,
you must update them to use the new lowercase values.
([@rikroe] - [#118751]) ([documentation](/integrations/bmw_connected_drive))
[@rikroe]: https://github.com/rikroe
[#118751]: https://github.com/home-assistant/core/pull/118751
{% enddetails %}
{% details "Calendar" %}
Calendar service `list_events` was deprecated in favor of `get_events` in
Home Assistant 2023.12 and has now been removed.
Use the new `get_events` service to retrieve events from `calendar` entities
instead.
([@gjohansson-ST] - [#118663]) ([documentation](/integrations/calendar))
[@gjohansson-ST]: https://github.com/gjohansson-ST
[#118663]: https://github.com/home-assistant/core/pull/118663
{% enddetails %}
{% details "ComEd Hourly Pricing" %}
The unit of measurement for the ComEd Hourly Pricing integration has been
corrected from `c` to `¢/kWh`.
([@themaxgross] - [#115594]) ([documentation](/integrations/comed_hourly_pricing))
[@themaxgross]: https://github.com/themaxgross
[#115594]: https://github.com/home-assistant/core/pull/115594
{% enddetails %}
{% details "DNS IP" %}
The attribute names `Resolver` and `Querytype` have been renamed to
`resolver` and `querytype`. If you use these in any automations or scripts,
you need to update them to use the new lowercase names.
([@gjohansson-ST] - [#119727]) ([documentation](/integrations/dnsip))
[@gjohansson-ST]: https://github.com/gjohansson-ST
[#119727]: https://github.com/home-assistant/core/pull/119727
---
The attributes `resolver`, `querytype`, and `ip_addresses` for the DNS IP
sensor are excluded from the recorder and no longer stored in history.
([@gjohansson-ST] - [#119726]) ([documentation](/integrations/dnsip))
[@gjohansson-ST]: https://github.com/gjohansson-ST
[#119726]: https://github.com/home-assistant/core/pull/119726
{% enddetails %}
{% details "Fast.com" %}
The previously deprecated `speedtest` service from `fastdotcom` has been removed.
Use the [`homeassistant.update_entity` service](/common-tasks/general/#defining-a-custom-polling-interval)
to refresh and run a speedtest manually instead.
([@gjohansson-ST] - [#119780]) ([documentation](/integrations/fastdotcom))
[@gjohansson-ST]: https://github.com/gjohansson-ST
[#119780]: https://github.com/home-assistant/core/pull/119780
{% enddetails %}
{% details "Intergas InComfort/Intouch Lan2RF gateway" %}
Based on the boiler display code or fault code, the boiler status
has been refactored to be signified and unique so we can start supporting
localization.
Depending on the old status texts, automations or scripts might break.
You need to ensure your automations and scripts are updated to use the new
status values.
The new display codes are:
- 0: `opentherm`
- 15: `boiler_ext`
- 24: `frost`
- 37: `central_heating_rf`
- 51: `tapwater_int`
- 85: `sensortest`
- 102: `central_heating`
- 126: `standby`
- 153: `postrun_boiler`
- 170: `service`
- 204: `tapwater`
- 231: `postrun_ch`
- 240: `boiler_int`
- 255: `buffer`
The new fault codes are:
- 0: `sensor_fault_after_self_check`
- 1: `cv_temperature_too_high`
- 2: `s1_and_s2_interchanged`
- 4: `no_flame_signal`
- 5: `poor_flame_signal`
- 6: `flame_detection_fault`
- 8: `incorrect_fan_speed`
- 10: `sensor_fault_s1`
- 11: `sensor_fault_s1`
- 12: `sensor_fault_s1`
- 13: `sensor_fault_s1`
- 14: `sensor_fault_s1`
- 20: `sensor_fault_s2`
- 21: `sensor_fault_s2`
- 22: `sensor_fault_s2`
- 23: `sensor_fault_s2`
- 24: `sensor_fault_s2`
- 27: `shortcut_outside_sensor_temperature`
- 29: `gas_valve_relay_faulty`
- 30: `gas_valve_relay_faulty`
([@jbouwh] - [#119207]) ([documentation](/integrations/incomfort))
[@jbouwh]: https://github.com/jbouwh
[#119207]: https://github.com/home-assistant/core/pull/119207
{% enddetails %}
{% details "La Marzocco" %}
On March 19th, 2024, La Marzocco released a machine firmware update, v3.5-rc5,
together with a new version of the La Marzocco Home App.
Once the app update is installed, the previous scheduling functionality is
removed from the app, and a new scheduling mode is shown. This mode is disabled
until the machine's firmware has also been updated.
Similarly, if the machine's firmware is updated before the app, the previous
scheduling functionality does not work.
The previous calendar and auto on/off switches are replaced with calendars
and switches per schedule.
([@zweckj] - [#113935]) ([documentation](/integrations/lamarzocco))
[@zweckj]: https://github.com/zweckj
[#113935]: https://github.com/home-assistant/core/pull/113935
{% enddetails %}
{% details "Logitech Harmony Hub" %}
The harmony switch entities that were deprecated since Home Assistant 2024.1,
have now been removed.
([@joostlek] - [#119206]) ([documentation](/integrations/harmony))
[@joostlek]: https://github.com/joostlek
[#119206]: https://github.com/home-assistant/core/pull/119206
{% enddetails %}
{% details "OpenWeatherMap" %}
The now obsolete forecast sensors have been removed. They have been
fully replaced by `weather.get_forecasts` service.
([@freekode] - [#119922]) ([documentation](/integrations/openweathermap))
[@freekode]: https://github.com/freekode
[#119922]: https://github.com/home-assistant/core/pull/119922
{% enddetails %}
{% details "Shelly" %}
The switch entity for controlling a Shelly Gas Valve Add-on has been removed,
and a valve entity has taken its place. If you use the switch entity
in your automations or scripts, you must update them to use the new
valve entity.
([@bieniu] - [#119817]) ([documentation](/integrations/shelly))
[@bieniu]: https://github.com/bieniu
[#119817]: https://github.com/home-assistant/core/pull/119817
{% enddetails %}
{% details "SimpliSafe" %}
SimpliSafe no longer contains functionality to set a code for use within Home
Assistant. This was a virtual code that was not used by the SimpliSafe system.
([@bachya] - [#118759]) ([documentation](/integrations/simplisafe))
[@bachya]: https://github.com/bachya
[#118759]: https://github.com/home-assistant/core/pull/118759
{% enddetails %}
{% details "SQL" %}
An SQL query generating several columns output was putting the additional
attributes on the SQL sensor.
From now on, these are still shown as state attributes but are no longer
recorded in the database as attributes on this particular sensor
(as the data for these attributes are already present in the database
from where they come).
([@gjohansson-ST] - [#120170]) ([documentation](/integrations/sql))
[@gjohansson-ST]: https://github.com/gjohansson-ST
[#120170]: https://github.com/home-assistant/core/pull/120170
{% enddetails %}
{% details "Sun WEG" %}
The new API version this integration now uses doesn't provide the kWh per kWP
information, so that sensor is no longer available.
([@rokam] - [#118435]) ([documentation](/integrations/sunweg))
[@rokam]: https://github.com/rokam
[#118435]: https://github.com/home-assistant/core/pull/118435
{% enddetails %}
{% details "Swiss public transport" %}
Swiss public transport no longer provides additional state attributes; since
the release of Home Assistant 2023.12, all information has been moved to
dedicated individual sensors.
([@miaucl] - [#120256]) ([documentation](/integrations/swiss_public_transport))
[@miaucl]: https://github.com/miaucl
[#120256]: https://github.com/home-assistant/core/pull/120256
{% enddetails %}
{% details "Tami4 Edge / Edge+" %}
Due to upstream API changes, the UV & filter's last replaced date has been
removed.
Additionally, `uv_status` & `filter_status` sensor entities have been changed
to `uv_installed` and `filter_installed`.
([@Guy293] - [#119158]) ([documentation](/integrations/tami4))
[@Guy293]: https://github.com/Guy293
[#119158]: https://github.com/home-assistant/core/pull/119158
{% enddetails %}
{% details "UniFi Protect" %}
The set default doorbell text service (`set_default_doorbell_text`) has been
removed. UI has removed this functionality in UI Protect 4.x.
It is still possible to set a custom message using the other services
(`unifiprotect.add_doorbell_text` and `unifiprotect.remove_doorbell_text`,
and setting it via the `select` entity), but there is no longer a default.
([@bdraco] - [#119695]) ([documentation](/integrations/unifiprotect))
[@bdraco]: https://github.com/bdraco
[#119695]: https://github.com/home-assistant/core/pull/119695
{% enddetails %}
{% details "Utility Meter" %}
The source entity, period, and CRON pattern entity state attributes have been
removed from the sensor entity and moved to the integration diagnostics.
Note that these values are constant throughout the lifetime of a utility meter.
([@dgomes] - [#118637]) ([documentation](/integrations/utility_meter))
[@dgomes]: https://github.com/dgomes
[#118637]: https://github.com/home-assistant/core/pull/118637
{% enddetails %}
{% details "Weather" %}
Weather service `get_forecast` was deprecated in favor of `get_forecasts` in
Home Assistant 2023.12 and has now been removed.
Use the new `get_forecasts` service to retrieve forecast information
from `weather` entities instead.
([@gjohansson-ST] - [#118664]) ([documentation](/integrations/weather))
[@gjohansson-ST]: https://github.com/gjohansson-ST
[#118664]: https://github.com/home-assistant/core/pull/118664
{% enddetails %}
{% details "WLED" %}
The previously deprecated firmware binary sensor has been removed.
Use the provided update entity for your WLED device instead.
([@frenck] - [#119984]) ([documentation](/integrations/wled))
[@frenck]: https://github.com/frenck
[#119984]: https://github.com/home-assistant/core/pull/119984
{% enddetails %}
{% details "Z-Wave" %}
With this release, you will need to update your `zwave-js-server` instance.
You must use `zwave-js-server` 1.36.0 or greater (schema 36).
- If you use the Z-Wave JS add-on, you need at least version 0.6.0.
- If you use the Z-Wave JS UI add-on, you need at least version [3.8.2](https://github.com/hassio-addons/addon-zwave-js-ui/releases/tag/v3.8.2).
- If you use the Z-Wave JS UI Docker container, you need at least version [9.14.2](https://github.com/zwave-js/zwave-js-ui/releases/tag/v9.14.2).
- If you run your own Docker container or some other installation method, you will need to update your zwave-js-server instance to at least 1.36.0.
([@raman325]) ([documentation](/integrations/zwave_js))
[@raman325]: https://github.com/raman325
{% enddetails %}
If you are a custom integration developer and want to learn about changes and
new features available for your integration: Be sure to follow our
[developer blog][devblog]. The following are the most notable for this release:
- [Excluding all state attributes from recording using MATCH_ALL](https://developers.home-assistant.io/blog/2024/06/22/excluding-state-attributes-from-recording-match-all)
- [Forwarding setup to config entry platforms](https://developers.home-assistant.io/blog/2024/06/12/async_forward_entry_setups/)
- [Making http path registration async safe with `async_register_static_paths`](https://developers.home-assistant.io/blog/2024/06/18/async_register_static_paths)
[devblog]: https://developers.home-assistant.io/blog/
## All changes
Of course, there is a lot more in this release. You can find a list of
all changes made here: [Full changelog for Home Assistant Core 2024.7](/changelogs/core-2024.7)

File diff suppressed because it is too large Load Diff

View File

@ -112,7 +112,7 @@ In [sections view](/dashboards/sections/), you can resize cards. Follow these st
If you previously [resized](#resizing-a-card) a card in the [sections view](/dashboards/sections/), and you don't like the new size, you can revert back to the card's default size. Follow these steps: If you previously [resized](#resizing-a-card) a card in the [sections view](/dashboards/sections/), and you don't like the new size, you can revert back to the card's default size. Follow these steps:
1. On the **Layout** tab, select the <iconify-icon inline icon="mdi-restore"></iconify-icon> icon. 1. On the **Layout** tab, select the {% icon "mdi:restore" %} icon.
![Screenshot of the Layout tab in the card dialog](/images/dashboards/card_resize.png) ![Screenshot of the Layout tab in the card dialog](/images/dashboards/card_resize.png)
2. Select **Save**. 2. Select **Save**.

View File

@ -96,7 +96,7 @@ This will leave the default dashboard intact.
- The **Edit dashboard** dialog appears. - The **Edit dashboard** dialog appears.
- By editing the dashboard, you are taking over control of this dashboard. - By editing the dashboard, you are taking over control of this dashboard.
- 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.
- To continue, in the dialog, select the three dots menu, then select **Take control**. - To continue, in the dialog, select the three dots {% icon "mdi:dots-vertical" %} menu, then select **Take control**.
7. You can now [add a card](/dashboards/cards/#adding-cards-to-your-dashboard) or [add a view](/dashboards/views/#adding-a-view-to-a-dashboard). 7. You can now [add a card](/dashboards/cards/#adding-cards-to-your-dashboard) or [add a view](/dashboards/views/#adding-a-view-to-a-dashboard).
## Deleting a dashboard ## Deleting a dashboard
@ -121,10 +121,10 @@ A good way to start this file is to copy and paste the "Raw configuration" from
- In your sidebar, select **Overview**. - In your sidebar, select **Overview**.
- In the top-right corner, select the pencil icon. - In the top-right corner, select the pencil icon.
- Select the three dots menu and select **Raw configuration editor**. - Select the three dots {% icon "mdi:dots-vertical" %} menu and select **Raw configuration editor**.
- There you see the configuration for your current dashboard. Copy that into the `<config>/ui-lovelace.yaml` file. - There you see the configuration for your current dashboard. Copy that into the `<config>/ui-lovelace.yaml` file.
Once you take control of your UI via YAML, the Home Assistant interface for modifying it won't be available anymore and new entities will not automatically be added to your UI. Once you take control of your UI via YAML, the Home Assistant interface for modifying it won't be available anymore, and new entities will not automatically be added to your UI.
When you make changes to `ui-lovelace.yaml`, you don't have to restart Home Assistant or refresh the page. Just hit the refresh button in the menu at the top of the UI. When you make changes to `ui-lovelace.yaml`, you don't have to restart Home Assistant or refresh the page. Just hit the refresh button in the menu at the top of the UI.
@ -181,7 +181,7 @@ mode:
type: string type: string
resources: resources:
required: false required: false
description: "List of resources that should be loaded. Only use this when mode is `yaml`. If you change anything here, click the three dots menu (top-right) and click on `Reload resources` to pick up changes without restarting Home Assistant. You can also call `lovelace.reload_resources` service directly." description: "List of resources that should be loaded. Only use this when mode is `yaml`. If you change anything here, click the three dots {% icon "mdi:dots-vertical" %} menu (top-right) and click on `Reload resources` to pick up changes without restarting Home Assistant. You can also call `lovelace.reload_resources` service directly."
type: list type: list
keys: keys:
url: url:

View File

@ -1,59 +1,48 @@
--- ---
title: "Advanced Configuration" title: "Next steps"
description: "Instructions to get Home Assistant configured." description: "Next steps in configuring your Home Assistant"
related:
- docs: configuration/basic/
title: Changing basic settings
- docs: /docs/configuration/
title: configuration.yaml file
- docs: /common-tasks/os/#network-storage
title: Network storage
- docs: /common-tasks/os/#backups
title: Backups
- docs: /voice_control/
title: Voice control
- url: https://companion.home-assistant.io/
title: Home Assistant on Android and iOS
--- ---
The onboarding process takes care of the initial setup for Home Assistant, such as naming your home and selecting your location. After initial onboarding, these options can be changed in the user interface by clicking on Configuration in the sidebar and clicking on General, or by manually editing them in the Home Assistant configuration file called `configuration.yaml`. This section will explain how to do the latter. The onboarding process takes you through the initial setup for Home Assistant, such as getting the system up and running, naming your home and selecting your location. This section points you to further documentation helping you with the next steps.
{% note %} ## Changing the basic settings
The steps below do not apply to Home Assistant Core & Container installations, for those types of installations, [see here](/docs/configuration/).
{% endnote %}
We are going to help you make your first changes to `configuration.yaml`. To do this, we are going to install an add-on from the Home Assistant add-on store: the File editor. To get to the add-on store, go to {% my supervisor title="Settings > Add-ons" %}. On the new page, open the add-on store tab. To change basic settings such as location, unit system and language, refer to [Changing basic settings](/docs/configuration/basic/).
![Add-on store.](/images/hassio/screenshots/dashboard.png) ## Creating a backup
Under the **Official add-ons** section, you will find the **File editor** add-on. You can back up your Home Assistant, add-on data, and configuration. Backups are used to restore a system or parts of it if a rollback is needed, or to migrate your Home Assistant to new hardware. It is good practice to create a backup before updating.
- Click on **File editor** and click on **Install**. When the installation is complete, the UI will go to the add-on details page for the file editor. To learn how to create a backup of your Home Assistant installation, refer to the following topics:
- Now start the add-on by clicking on **Start**.
- Open the user interface by clicking on **Open Web UI**.
Now let's make a change using the file editor: we are going to change the name, location, unit system, and time zone of your Home Assistant installation. - {% term "Home Assistant Operating System" %}: [Creating a backup from OS](/common-tasks/os/#backups)
- {% term "Home Assistant Supervised" %}: [Creating a backup from Supervised](/common-tasks/supervised/#backups)
- Click the folder icon in the top left of the file editor window to open the file browser sidebar. ## Editing the configuration.yaml and configuring file access
- Click the `configuration.yaml` file (in the `/config/` folder) to load it into the main file editor window.
- Add the following to this file (preferably at the very top, but it ultimately doesn't matter):
```yaml
homeassistant:
name: Home
latitude: xx.xxxx
longitude: xx.xxxx
unit_system: us_customary
time_zone: America/Chicago
```
{% note %}
Valid options for `unit_system` are `us_customary` or `metric`. See [here](https://timezonedb.com/time-zones) for a list of valid time zones. Enter the appropriate option found under the Time Zone column at that page. While you can configure most of Home Assistant from the user interface, for some integrations, you will need to [edit the `configuration.yaml` file](/docs/configuration/). This file contains integrations to be loaded along with their configurations. Throughout the documentation, you will find snippets that you can add to your configuration file to enable specific functionality. For starters, there is no need to edit the `configuration.yaml` file. You will be pointed to the documentation when this is needed.
{% endnote %} ## Setting up network storage
- Click the save icon in the top right to commit changes. If you need more space to store data, you can configure a [network storage](/common-tasks/os/#network-storage), for example to store backups or to access media.
- Most changes in `configuration.yaml` require Home Assistant to be restarted to see the changes. You can verify that your changes are acceptable by running a configuration check. Do this by navigating to {% my server_controls title="Developer Tools > YAML" %} and then clicking on the **Check configuration** button. When it's valid, it will show the text "Configuration valid!". In order for the **Check Configuration**" button to be visible, you must enable **Advanced Mode** on your user profile.
- Now restart Home Assistant. You can do so by either using the **Restart** option in the ⚙ menu of the File Editor UI or by navigating to {% my system_dashboard title="Settings > System" %} and then clicking on the **Restart** button on the top right of the page.
![Screenshot of the "General" page in the configuration panel.](/images/screenshots/configuration-validation.png) ## Getting started with voice assistant
{% note %} If you want to get started with a voice assistant, refer to the documentation on [Assist](/voice_control/).
If you have watched any videos about setting up Home Assistant using `configuration.yaml` (particularly ones that are old), you might notice your default configuration file is much smaller than what the videos show. Don't be concerned, you haven't done anything wrong. Many items in the default configuration files shown in those old videos are now included in the `default_config:` line that you see in your configuration file. [See here](/integrations/default_config/) for more information on what's included in that line. ## Apps for Android and iOS
{% endnote %} If you are looking for information on Home Assistant for Android or iOS, refer to the [documentation for the Companion Apps](https://companion.home-assistant.io/).
### Editing configuration via Samba/Windows Networking
Maybe you are not a big fan of our web editor and want to use a text editor on your computer instead. This is possible by sharing the configuration over the network using the Samba add-on, which can also be installed from the Home Assistant add-on store. This will make your configuration accessible via the network tab on your computer.
Go to the add-on store and look for Samba in the core section. After you have installed the add-on, click on **Start**. Home Assistant should now be available in the networking tab on your computer.
We suggest that to edit `configuration.yaml`, you use the free text editor [Visual Studio Code](https://code.visualstudio.com/) in combination with the [Home Assistant Configuration Helper extension](https://marketplace.visualstudio.com/items?itemName=keesschollaart.vscode-home-assistant).

View File

@ -15,4 +15,4 @@ show_title: true
{% include getting-started/next_step.html step="Automation" link="/getting-started/automation/" icon="mdi:robot-happy" %} {% include getting-started/next_step.html step="Automation" link="/getting-started/automation/" icon="mdi:robot-happy" %}
{% include getting-started/next_step.html step="Presence detection" link="/getting-started/presence-detection/" icon="mdi:motion-detector" %} {% include getting-started/next_step.html step="Presence detection" link="/getting-started/presence-detection/" icon="mdi:motion-detector" %}
{% include getting-started/next_step.html step="Join the community" link="/getting-started/join-the-community/" icon="mdi:people-group-outline" %} {% include getting-started/next_step.html step="Join the community" link="/getting-started/join-the-community/" icon="mdi:people-group-outline" %}
{% include getting-started/next_step.html step="Advanced Configuration" link="/getting-started/configuration/" icon="mdi:cog" %} {% include getting-started/next_step.html step="Next steps" link="/getting-started/configuration/" icon="mdi:cog" %}

View File

@ -7,7 +7,7 @@ You made it here? Good job! You've been able to install Home Assistant and get a
Now that you've got that going, let's see what is next: Now that you've got that going, let's see what is next:
- Learn about [advanced configuration](/getting-started/configuration/) using `configuration.yaml` in our bonus step of the getting started guide. - Learn about [next steps](/getting-started/configuration/) of the getting started guide, such as creating a backup or configuring network storage.
- Join the community in [our forums] or [our chat]. - Join the community in [our forums] or [our chat].
- Check out [video tutorials] on a wide range of Home Assistant related topics - Check out [video tutorials] on a wide range of Home Assistant related topics

View File

@ -81,7 +81,7 @@ In the following steps, we will create a new dashboard and edit some card settin
4. Open your new dashboard and in the top right of the screen, select the <img height="28px" src="/images/blog/2024-03-dashboard-chapter-1/mdi-edit.png" alt="Edit icon"/> button. 4. Open your new dashboard and in the top right of the screen, select the <img height="28px" src="/images/blog/2024-03-dashboard-chapter-1/mdi-edit.png" alt="Edit icon"/> button.
5. By editing the dashboard, you are taking over control of this dashboard. 5. By editing the dashboard, you are taking over control of this dashboard.
- 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.
- To continue, in the dialog, select the three dots menu, then select **Take control**. - To continue, in the dialog, select the three dots {% icon "mdi:dots-vertical" %} menu, then select **Take control**.
- Read and accept this before continuing. - Read and accept this before continuing.
6. Your dashboard might not have much on it yet. 6. Your dashboard might not have much on it yet.
- If you have smart home devices in your home, some may have been connected automatically. - If you have smart home devices in your home, some may have been connected automatically.
@ -91,7 +91,7 @@ In the following steps, we will create a new dashboard and edit some card settin
![Dashboard after onboarding a new device](/images/getting-started/onboarding_dashboard_01.png) ![Dashboard after onboarding a new device](/images/getting-started/onboarding_dashboard_01.png)
7. Next, we want to edit the weather card. 7. Next, we want to edit the weather card.
- Select the weather card. - Select the weather card.
- Then, select the cogwheel. - Then, select the cogwheel {% icon "mdi:cog-outline" %}.
![Weather details](/images/getting-started/weather_card_details_01.png) ![Weather details](/images/getting-started/weather_card_details_01.png)
@ -101,7 +101,7 @@ In the following steps, we will create a new dashboard and edit some card settin
![Weather details](/images/getting-started/onboarding_card_settings_01.png) ![Weather details](/images/getting-started/onboarding_card_settings_01.png)
9. Next, we want to add a new card for this weather {% term service %}. 9. Next, we want to add a new card for this weather {% term service %}.
- Select the weather card again, select the three dots, then **Device info**. - Select the weather card again, select the three dots {% icon "mdi:dots-vertical" %}, then **Device info**.
- Under **Sensors**, select **Add to dashboard**, then **Pick different card**. - Under **Sensors**, select **Add to dashboard**, then **Pick different card**.
![Dashboard - change the card type](/images/getting-started/onboarding_pick_different_card_01.png) ![Dashboard - change the card type](/images/getting-started/onboarding_pick_different_card_01.png)

View File

@ -75,10 +75,8 @@ article.page h3 {
text-transform: unset; text-transform: unset;
} }
@media only screen and (max-width: 480px) { #landingpage .page-content {
#landingpage .page-content { padding-top: 68px;
padding-top: 68px;
}
} }
.exploded-view-animation { .exploded-view-animation {

Binary file not shown.

After

Width:  |  Height:  |  Size: 295 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 KiB

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