Merge branch 'current' into next
@ -3,6 +3,7 @@ FROM mcr.microsoft.com/vscode/devcontainers/ruby:${VARIANT}
|
|||||||
|
|
||||||
ARG NODE_VERSION="lts/*"
|
ARG NODE_VERSION="lts/*"
|
||||||
RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"
|
RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"
|
||||||
|
RUN su vscode -c "/usr/local/rvm/bin/rvm fix-permissions"
|
||||||
|
|
||||||
# Locale env vars
|
# Locale env vars
|
||||||
ENV \
|
ENV \
|
||||||
@ -17,7 +18,3 @@ RUN \
|
|||||||
ack \
|
ack \
|
||||||
&& echo "en_US UTF-8" > /etc/locale.gen \
|
&& echo "en_US UTF-8" > /etc/locale.gen \
|
||||||
&& locale-gen en_US.UTF-8
|
&& locale-gen en_US.UTF-8
|
||||||
|
|
||||||
# Install the specific version of bundler we need
|
|
||||||
COPY Gemfile.lock ./
|
|
||||||
RUN gem install bundler -v `awk 'c&&c--;/BUNDLED WITH/{c=1}' Gemfile.lock`
|
|
@ -1,16 +1,19 @@
|
|||||||
{
|
{
|
||||||
"name": "home-assistant.io",
|
"name": "home-assistant.io",
|
||||||
"build": {
|
"build": {
|
||||||
"dockerfile": "../Dockerfile",
|
"dockerfile": "./Dockerfile",
|
||||||
"context": "..",
|
"context": "..",
|
||||||
"args": {
|
"args": {
|
||||||
"VARIANT": "2.7",
|
"VARIANT": "3.1",
|
||||||
"NODE_VERSION": "18"
|
"NODE_VERSION": "20"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"appPort": [4000],
|
"appPort": [4000],
|
||||||
"onCreateCommand": "bundle install && npm install",
|
"onCreateCommand": "bundle install && npm install",
|
||||||
"containerEnv": { "DEVCONTAINER": "true" },
|
"containerEnv": {
|
||||||
|
"DEVCONTAINER": "true",
|
||||||
|
"BUNDLE_PATH": "vendor/bundle"
|
||||||
|
},
|
||||||
"customizations": {
|
"customizations": {
|
||||||
"vscode": {
|
"vscode": {
|
||||||
"extensions": [
|
"extensions": [
|
||||||
|
4
.github/workflows/test.yml
vendored
@ -12,7 +12,7 @@ jobs:
|
|||||||
- name: Setting up Node.js
|
- name: Setting up Node.js
|
||||||
uses: actions/setup-node@v4.0.1
|
uses: actions/setup-node@v4.0.1
|
||||||
with:
|
with:
|
||||||
node-version: 16.x
|
node-version: 20
|
||||||
cache: "npm"
|
cache: "npm"
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: npm install
|
run: npm install
|
||||||
@ -29,7 +29,7 @@ jobs:
|
|||||||
- name: Setting up Node.js
|
- name: Setting up Node.js
|
||||||
uses: actions/setup-node@v4.0.1
|
uses: actions/setup-node@v4.0.1
|
||||||
with:
|
with:
|
||||||
node-version: 16.x
|
node-version: 20
|
||||||
cache: "npm"
|
cache: "npm"
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: npm install
|
run: npm install
|
||||||
|
@ -1 +1 @@
|
|||||||
2.7.2
|
3.1.4
|
||||||
|
2
.vscode/extensions.json
vendored
@ -4,7 +4,7 @@
|
|||||||
"editorconfig.editorconfig",
|
"editorconfig.editorconfig",
|
||||||
"GitHub.vscode-pull-request-github",
|
"GitHub.vscode-pull-request-github",
|
||||||
"mrmlnc.vscode-scss",
|
"mrmlnc.vscode-scss",
|
||||||
"rebornix.Ruby",
|
"Shopify.ruby-lsp",
|
||||||
"streetsidesoftware.code-spell-checker",
|
"streetsidesoftware.code-spell-checker",
|
||||||
"taichi.vscode-textlint",
|
"taichi.vscode-textlint",
|
||||||
"yzhang.markdown-all-in-one"
|
"yzhang.markdown-all-in-one"
|
||||||
|
43
CODEOWNERS
@ -16,6 +16,8 @@ source/_integrations/adax.markdown @danielhiversen
|
|||||||
source/_integrations/adguard.markdown @frenck
|
source/_integrations/adguard.markdown @frenck
|
||||||
source/_integrations/advantage_air.markdown @Bre77
|
source/_integrations/advantage_air.markdown @Bre77
|
||||||
source/_integrations/aemet.markdown @Noltari
|
source/_integrations/aemet.markdown @Noltari
|
||||||
|
source/_integrations/aep_ohio.markdown @tronikos
|
||||||
|
source/_integrations/aep_texas.markdown @tronikos
|
||||||
source/_integrations/agent_dvr.markdown @ispysoftware
|
source/_integrations/agent_dvr.markdown @ispysoftware
|
||||||
source/_integrations/air_quality.markdown @home-assistant/core
|
source/_integrations/air_quality.markdown @home-assistant/core
|
||||||
source/_integrations/airly.markdown @bieniu
|
source/_integrations/airly.markdown @bieniu
|
||||||
@ -32,7 +34,7 @@ source/_integrations/aladdin_connect.markdown @mkmer
|
|||||||
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
|
source/_integrations/alexa.smart_home.markdown @home-assistant/cloud @ochlocracy @jbouwh
|
||||||
source/_integrations/amberelectric.markdown @madpilot
|
source/_integrations/amberelectric.markdown @madpilot
|
||||||
source/_integrations/ambiclimate.markdown @danielhiversen
|
source/_integrations/ambiclimate.markdown @danielhiversen
|
||||||
source/_integrations/ambient_station.markdown @bachya
|
source/_integrations/ambient_station.markdown @bachya
|
||||||
@ -45,9 +47,11 @@ source/_integrations/androidtv_remote.markdown @tronikos @Drafteed
|
|||||||
source/_integrations/anova.markdown @Lash-L
|
source/_integrations/anova.markdown @Lash-L
|
||||||
source/_integrations/anthemav.markdown @hyralex
|
source/_integrations/anthemav.markdown @hyralex
|
||||||
source/_integrations/anwb_energie.markdown @klaasnicolaas
|
source/_integrations/anwb_energie.markdown @klaasnicolaas
|
||||||
|
source/_integrations/aosmith.markdown @bdr99
|
||||||
source/_integrations/apache_kafka.markdown @bachya
|
source/_integrations/apache_kafka.markdown @bachya
|
||||||
source/_integrations/apcupsd.markdown @yuxincs
|
source/_integrations/apcupsd.markdown @yuxincs
|
||||||
source/_integrations/api.markdown @home-assistant/core
|
source/_integrations/api.markdown @home-assistant/core
|
||||||
|
source/_integrations/appalachianpower.markdown @tronikos
|
||||||
source/_integrations/apple_tv.markdown @postlund
|
source/_integrations/apple_tv.markdown @postlund
|
||||||
source/_integrations/application_credentials.markdown @home-assistant/core
|
source/_integrations/application_credentials.markdown @home-assistant/core
|
||||||
source/_integrations/apprise.markdown @caronc
|
source/_integrations/apprise.markdown @caronc
|
||||||
@ -87,6 +91,7 @@ source/_integrations/blebox.markdown @bbx-a @riokuu
|
|||||||
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
|
||||||
|
source/_integrations/blue_current.markdown @Floris272 @gleeuwen
|
||||||
source/_integrations/bluemaestro.markdown @bdraco
|
source/_integrations/bluemaestro.markdown @bdraco
|
||||||
source/_integrations/blueprint.markdown @home-assistant/core
|
source/_integrations/blueprint.markdown @home-assistant/core
|
||||||
source/_integrations/bluesound.markdown @thrawnarn
|
source/_integrations/bluesound.markdown @thrawnarn
|
||||||
@ -113,6 +118,7 @@ source/_integrations/button.markdown @home-assistant/core
|
|||||||
source/_integrations/calendar.markdown @home-assistant/core
|
source/_integrations/calendar.markdown @home-assistant/core
|
||||||
source/_integrations/camera.markdown @home-assistant/core
|
source/_integrations/camera.markdown @home-assistant/core
|
||||||
source/_integrations/cast.markdown @emontnemery
|
source/_integrations/cast.markdown @emontnemery
|
||||||
|
source/_integrations/ccm15.markdown @ocalvo
|
||||||
source/_integrations/cert_expiry.markdown @jjlawren
|
source/_integrations/cert_expiry.markdown @jjlawren
|
||||||
source/_integrations/circuit.markdown @braam
|
source/_integrations/circuit.markdown @braam
|
||||||
source/_integrations/cisco_ios.markdown @fbradyirl
|
source/_integrations/cisco_ios.markdown @fbradyirl
|
||||||
@ -121,7 +127,7 @@ source/_integrations/cisco_webex_teams.markdown @fbradyirl
|
|||||||
source/_integrations/climate.markdown @home-assistant/core
|
source/_integrations/climate.markdown @home-assistant/core
|
||||||
source/_integrations/cloud.markdown @home-assistant/cloud
|
source/_integrations/cloud.markdown @home-assistant/cloud
|
||||||
source/_integrations/cloudflare.markdown @ludeeus @ctalkington
|
source/_integrations/cloudflare.markdown @ludeeus @ctalkington
|
||||||
source/_integrations/co2signal.markdown @jpbede
|
source/_integrations/co2signal.markdown @jpbede @VIKTORVAV99
|
||||||
source/_integrations/coinbase.markdown @tombrien
|
source/_integrations/coinbase.markdown @tombrien
|
||||||
source/_integrations/color_extractor.markdown @GenericStudent
|
source/_integrations/color_extractor.markdown @GenericStudent
|
||||||
source/_integrations/comed.markdown @tronikos
|
source/_integrations/comed.markdown @tronikos
|
||||||
@ -177,6 +183,7 @@ source/_integrations/doorbird.markdown @oblogic7 @bdraco @flacjacket
|
|||||||
source/_integrations/dooya.markdown @starkillerOG
|
source/_integrations/dooya.markdown @starkillerOG
|
||||||
source/_integrations/dormakaba_dkey.markdown @emontnemery
|
source/_integrations/dormakaba_dkey.markdown @emontnemery
|
||||||
source/_integrations/dremel_3d_printer.markdown @tkdrob
|
source/_integrations/dremel_3d_printer.markdown @tkdrob
|
||||||
|
source/_integrations/drop_connect.markdown @ChandlerSystems @pfrazer
|
||||||
source/_integrations/dsmr.markdown @Robbie1221 @frenck
|
source/_integrations/dsmr.markdown @Robbie1221 @frenck
|
||||||
source/_integrations/dsmr_reader.markdown @depl0y @glodenox
|
source/_integrations/dsmr_reader.markdown @depl0y @glodenox
|
||||||
source/_integrations/duotecno.markdown @cereal2nd
|
source/_integrations/duotecno.markdown @cereal2nd
|
||||||
@ -205,7 +212,7 @@ source/_integrations/emulated_kasa.markdown @kbickar
|
|||||||
source/_integrations/energie_vanons.markdown @klaasnicolaas
|
source/_integrations/energie_vanons.markdown @klaasnicolaas
|
||||||
source/_integrations/energy.markdown @home-assistant/core
|
source/_integrations/energy.markdown @home-assistant/core
|
||||||
source/_integrations/energyzero.markdown @klaasnicolaas
|
source/_integrations/energyzero.markdown @klaasnicolaas
|
||||||
source/_integrations/enigma2.markdown @fbradyirl
|
source/_integrations/enigma2.markdown @autinerd
|
||||||
source/_integrations/enmax.markdown @tronikos
|
source/_integrations/enmax.markdown @tronikos
|
||||||
source/_integrations/enocean.markdown @bdurrer
|
source/_integrations/enocean.markdown @bdurrer
|
||||||
source/_integrations/enphase_envoy.markdown @bdraco @cgarwood @dgomes @joostlek @catsmanac
|
source/_integrations/enphase_envoy.markdown @bdraco @cgarwood @dgomes @joostlek @catsmanac
|
||||||
@ -237,6 +244,7 @@ source/_integrations/firmata.markdown @DaAwesomeP
|
|||||||
source/_integrations/fitbit.markdown @allenporter
|
source/_integrations/fitbit.markdown @allenporter
|
||||||
source/_integrations/fivem.markdown @Sander0542
|
source/_integrations/fivem.markdown @Sander0542
|
||||||
source/_integrations/fjaraskupan.markdown @elupus
|
source/_integrations/fjaraskupan.markdown @elupus
|
||||||
|
source/_integrations/flexit_bacnet.markdown @lellky @piotrbulinski
|
||||||
source/_integrations/flexom.markdown @imicknl @vlebourl @tetienne @nyroDev
|
source/_integrations/flexom.markdown @imicknl @vlebourl @tetienne @nyroDev
|
||||||
source/_integrations/flick_electric.markdown @ZephireNZ
|
source/_integrations/flick_electric.markdown @ZephireNZ
|
||||||
source/_integrations/flipr.markdown @cnico
|
source/_integrations/flipr.markdown @cnico
|
||||||
@ -246,7 +254,7 @@ source/_integrations/flux_led.markdown @icemanch
|
|||||||
source/_integrations/forecast_solar.markdown @klaasnicolaas @frenck
|
source/_integrations/forecast_solar.markdown @klaasnicolaas @frenck
|
||||||
source/_integrations/forked_daapd.markdown @uvjustin
|
source/_integrations/forked_daapd.markdown @uvjustin
|
||||||
source/_integrations/fortios.markdown @kimfrellsen
|
source/_integrations/fortios.markdown @kimfrellsen
|
||||||
source/_integrations/foscam.markdown @skgsergio
|
source/_integrations/foscam.markdown @skgsergio @krmarien
|
||||||
source/_integrations/freebox.markdown @hacf-fr @Quentame
|
source/_integrations/freebox.markdown @hacf-fr @Quentame
|
||||||
source/_integrations/freedompro.markdown @stefano055415
|
source/_integrations/freedompro.markdown @stefano055415
|
||||||
source/_integrations/fritz.markdown @mammuth @AaronDavidSchneider @chemelli74 @mib1185
|
source/_integrations/fritz.markdown @mammuth @AaronDavidSchneider @chemelli74 @mib1185
|
||||||
@ -255,6 +263,7 @@ source/_integrations/fritzbox_callmonitor.markdown @cdce8p
|
|||||||
source/_integrations/fronius.markdown @farmio
|
source/_integrations/fronius.markdown @farmio
|
||||||
source/_integrations/frontend.markdown @home-assistant/frontend
|
source/_integrations/frontend.markdown @home-assistant/frontend
|
||||||
source/_integrations/frontier_silicon.markdown @wlcrs
|
source/_integrations/frontier_silicon.markdown @wlcrs
|
||||||
|
source/_integrations/fujitsu_anywair.markdown @Bre77
|
||||||
source/_integrations/fully_kiosk.markdown @cgarwood
|
source/_integrations/fully_kiosk.markdown @cgarwood
|
||||||
source/_integrations/garages_amsterdam.markdown @klaasnicolaas
|
source/_integrations/garages_amsterdam.markdown @klaasnicolaas
|
||||||
source/_integrations/gardena_bluetooth.markdown @elupus
|
source/_integrations/gardena_bluetooth.markdown @elupus
|
||||||
@ -308,6 +317,7 @@ source/_integrations/hisense_aehw4a1.markdown @bannhead
|
|||||||
source/_integrations/history.markdown @home-assistant/core
|
source/_integrations/history.markdown @home-assistant/core
|
||||||
source/_integrations/hive.markdown @Rendili @KJonline
|
source/_integrations/hive.markdown @Rendili @KJonline
|
||||||
source/_integrations/hlk_sw16.markdown @jameshilliard
|
source/_integrations/hlk_sw16.markdown @jameshilliard
|
||||||
|
source/_integrations/holiday.markdown @jrieger
|
||||||
source/_integrations/home_connect.markdown @DavidMStraub
|
source/_integrations/home_connect.markdown @DavidMStraub
|
||||||
source/_integrations/home_plus_control.markdown @chemaaa
|
source/_integrations/home_plus_control.markdown @chemaaa
|
||||||
source/_integrations/homeassistant.markdown @home-assistant/core
|
source/_integrations/homeassistant.markdown @home-assistant/core
|
||||||
@ -344,6 +354,7 @@ source/_integrations/image_upload.markdown @home-assistant/core
|
|||||||
source/_integrations/imap.markdown @jbouwh
|
source/_integrations/imap.markdown @jbouwh
|
||||||
source/_integrations/improv_ble.markdown @emontnemery
|
source/_integrations/improv_ble.markdown @emontnemery
|
||||||
source/_integrations/incomfort.markdown @zxdavb
|
source/_integrations/incomfort.markdown @zxdavb
|
||||||
|
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
|
||||||
source/_integrations/input_boolean.markdown @home-assistant/core
|
source/_integrations/input_boolean.markdown @home-assistant/core
|
||||||
@ -379,13 +390,13 @@ source/_integrations/keba.markdown @dannerph
|
|||||||
source/_integrations/keenetic_ndms2.markdown @foxel
|
source/_integrations/keenetic_ndms2.markdown @foxel
|
||||||
source/_integrations/kef.markdown @basnijholt
|
source/_integrations/kef.markdown @basnijholt
|
||||||
source/_integrations/kegtron.markdown @Ernst79
|
source/_integrations/kegtron.markdown @Ernst79
|
||||||
|
source/_integrations/kentuckypower.markdown @tronikos
|
||||||
source/_integrations/keyboard_remote.markdown @bendavid @lanrat
|
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/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/komfovent.markdown @ProstoSanja
|
|
||||||
source/_integrations/konnected.markdown @heythisisnate
|
source/_integrations/konnected.markdown @heythisisnate
|
||||||
source/_integrations/kostal_plenticore.markdown @stegm
|
source/_integrations/kostal_plenticore.markdown @stegm
|
||||||
source/_integrations/kraken.markdown @eifinger
|
source/_integrations/kraken.markdown @eifinger
|
||||||
@ -537,7 +548,7 @@ source/_integrations/opower.markdown @tronikos
|
|||||||
source/_integrations/oralb.markdown @bdraco @Lash-L
|
source/_integrations/oralb.markdown @bdraco @Lash-L
|
||||||
source/_integrations/oru.markdown @bvlaicu
|
source/_integrations/oru.markdown @bvlaicu
|
||||||
source/_integrations/oru_opower.markdown @tronikos
|
source/_integrations/oru_opower.markdown @tronikos
|
||||||
source/_integrations/osoenergy @osohotwateriot
|
source/_integrations/osoenergy.markdown @osohotwateriot
|
||||||
source/_integrations/otbr.markdown @home-assistant/core
|
source/_integrations/otbr.markdown @home-assistant/core
|
||||||
source/_integrations/ourgroceries.markdown @OnFreund
|
source/_integrations/ourgroceries.markdown @OnFreund
|
||||||
source/_integrations/overkiz.markdown @imicknl @vlebourl @tetienne @nyroDev
|
source/_integrations/overkiz.markdown @imicknl @vlebourl @tetienne @nyroDev
|
||||||
@ -573,9 +584,10 @@ source/_integrations/prometheus.markdown @knyar
|
|||||||
source/_integrations/prosegur.markdown @dgomes
|
source/_integrations/prosegur.markdown @dgomes
|
||||||
source/_integrations/proximity.markdown @mib1185
|
source/_integrations/proximity.markdown @mib1185
|
||||||
source/_integrations/proxmoxve.markdown @jhollowe @Corbeno
|
source/_integrations/proxmoxve.markdown @jhollowe @Corbeno
|
||||||
source/_integrations/prusalink.markdown @balloob
|
source/_integrations/prusalink.markdown @balloob @Skaronator
|
||||||
source/_integrations/ps4.markdown @ktnrg45
|
source/_integrations/ps4.markdown @ktnrg45
|
||||||
source/_integrations/pse.markdown @tronikos
|
source/_integrations/pse.markdown @tronikos
|
||||||
|
source/_integrations/psoklahoma.markdown @tronikos
|
||||||
source/_integrations/pure_energie.markdown @klaasnicolaas
|
source/_integrations/pure_energie.markdown @klaasnicolaas
|
||||||
source/_integrations/purpleair.markdown @bachya
|
source/_integrations/purpleair.markdown @bachya
|
||||||
source/_integrations/push.markdown @dgomes
|
source/_integrations/push.markdown @dgomes
|
||||||
@ -583,7 +595,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/qbittorrent.markdown @geoffreylagaisse
|
source/_integrations/qbittorrent.markdown @geoffreylagaisse @finder39
|
||||||
source/_integrations/qingping.markdown @bdraco @skgsergio
|
source/_integrations/qingping.markdown @bdraco @skgsergio
|
||||||
source/_integrations/qld_bushfire.markdown @exxamalte
|
source/_integrations/qld_bushfire.markdown @exxamalte
|
||||||
source/_integrations/qnap.markdown @disforw
|
source/_integrations/qnap.markdown @disforw
|
||||||
@ -607,6 +619,7 @@ source/_integrations/rdw.markdown @frenck @joostlek
|
|||||||
source/_integrations/recollect_waste.markdown @bachya
|
source/_integrations/recollect_waste.markdown @bachya
|
||||||
source/_integrations/recorder.markdown @home-assistant/core
|
source/_integrations/recorder.markdown @home-assistant/core
|
||||||
source/_integrations/recovery_mode.markdown @home-assistant/core
|
source/_integrations/recovery_mode.markdown @home-assistant/core
|
||||||
|
source/_integrations/refoss.markdown @ashionky
|
||||||
source/_integrations/rejseplanen.markdown @DarkFox
|
source/_integrations/rejseplanen.markdown @DarkFox
|
||||||
source/_integrations/remote.markdown @home-assistant/core
|
source/_integrations/remote.markdown @home-assistant/core
|
||||||
source/_integrations/renault.markdown @epenet
|
source/_integrations/renault.markdown @epenet
|
||||||
@ -614,6 +627,7 @@ source/_integrations/renson.markdown @jimmyd-be
|
|||||||
source/_integrations/reolink.markdown @starkillerOG
|
source/_integrations/reolink.markdown @starkillerOG
|
||||||
source/_integrations/repairs.markdown @home-assistant/core
|
source/_integrations/repairs.markdown @home-assistant/core
|
||||||
source/_integrations/repetier.markdown @ShadowBr0ther
|
source/_integrations/repetier.markdown @ShadowBr0ther
|
||||||
|
source/_integrations/rest_command.markdown @jpbede
|
||||||
source/_integrations/rexel.markdown @imicknl @vlebourl @tetienne @nyroDev
|
source/_integrations/rexel.markdown @imicknl @vlebourl @tetienne @nyroDev
|
||||||
source/_integrations/rflink.markdown @javicalle
|
source/_integrations/rflink.markdown @javicalle
|
||||||
source/_integrations/rfxtrx.markdown @danielhiversen @elupus @RobBie1221
|
source/_integrations/rfxtrx.markdown @danielhiversen @elupus @RobBie1221
|
||||||
@ -641,6 +655,7 @@ source/_integrations/scene.markdown @home-assistant/core
|
|||||||
source/_integrations/schedule.markdown @home-assistant/core
|
source/_integrations/schedule.markdown @home-assistant/core
|
||||||
source/_integrations/schlage.markdown @dknowles2
|
source/_integrations/schlage.markdown @dknowles2
|
||||||
source/_integrations/schluter.markdown @prairieapps
|
source/_integrations/schluter.markdown @prairieapps
|
||||||
|
source/_integrations/scl.markdown @tronikos
|
||||||
source/_integrations/scrape.markdown @fabaff @gjohansson-ST
|
source/_integrations/scrape.markdown @fabaff @gjohansson-ST
|
||||||
source/_integrations/screenaway.markdown @starkillerOG
|
source/_integrations/screenaway.markdown @starkillerOG
|
||||||
source/_integrations/screenlogic.markdown @dieselrabbit @bdraco
|
source/_integrations/screenlogic.markdown @dieselrabbit @bdraco
|
||||||
@ -724,10 +739,12 @@ source/_integrations/stt.markdown @home-assistant/core
|
|||||||
source/_integrations/subaru.markdown @G-Two
|
source/_integrations/subaru.markdown @G-Two
|
||||||
source/_integrations/suez_water.markdown @ooii
|
source/_integrations/suez_water.markdown @ooii
|
||||||
source/_integrations/sun.markdown @Swamp-Ig
|
source/_integrations/sun.markdown @Swamp-Ig
|
||||||
|
source/_integrations/sunweg.markdown @rokam
|
||||||
source/_integrations/supla.markdown @mwegrzynek
|
source/_integrations/supla.markdown @mwegrzynek
|
||||||
source/_integrations/surepetcare.markdown @benleb @danielhiversen
|
source/_integrations/surepetcare.markdown @benleb @danielhiversen
|
||||||
|
source/_integrations/swepco.markdown @tronikos
|
||||||
source/_integrations/swiss_hydrological_data.markdown @fabaff
|
source/_integrations/swiss_hydrological_data.markdown @fabaff
|
||||||
source/_integrations/swiss_public_transport.markdown @fabaff
|
source/_integrations/swiss_public_transport.markdown @fabaff @miaucl
|
||||||
source/_integrations/switch.markdown @home-assistant/core
|
source/_integrations/switch.markdown @home-assistant/core
|
||||||
source/_integrations/switch_as_x.markdown @home-assistant/core
|
source/_integrations/switch_as_x.markdown @home-assistant/core
|
||||||
source/_integrations/switchbee.markdown @jafar-atili
|
source/_integrations/switchbee.markdown @jafar-atili
|
||||||
@ -741,9 +758,11 @@ source/_integrations/syncthru.markdown @nielstron
|
|||||||
source/_integrations/synology_dsm.markdown @hacf-fr @Quentame @mib1185
|
source/_integrations/synology_dsm.markdown @hacf-fr @Quentame @mib1185
|
||||||
source/_integrations/synology_srm.markdown @aerialls
|
source/_integrations/synology_srm.markdown @aerialls
|
||||||
source/_integrations/system_bridge.markdown @timmo001
|
source/_integrations/system_bridge.markdown @timmo001
|
||||||
source/_integrations/tado.markdown @michaelarnauts @chiefdragon
|
source/_integrations/systemmonitor.markdown @gjohansson-ST
|
||||||
|
source/_integrations/tado.markdown @michaelarnauts @chiefdragon @erwindouna
|
||||||
source/_integrations/tag.markdown @balloob @dmulcahey
|
source/_integrations/tag.markdown @balloob @dmulcahey
|
||||||
source/_integrations/tailscale.markdown @frenck
|
source/_integrations/tailscale.markdown @frenck
|
||||||
|
source/_integrations/tailwind.markdown @frenck
|
||||||
source/_integrations/tami4.markdown @Guy293
|
source/_integrations/tami4.markdown @Guy293
|
||||||
source/_integrations/tankerkoenig.markdown @guillempages @mib1185
|
source/_integrations/tankerkoenig.markdown @guillempages @mib1185
|
||||||
source/_integrations/tapsaff.markdown @bazwilliams
|
source/_integrations/tapsaff.markdown @bazwilliams
|
||||||
@ -752,6 +771,7 @@ source/_integrations/tautulli.markdown @ludeeus @tkdrob
|
|||||||
source/_integrations/tellduslive.markdown @fredrike
|
source/_integrations/tellduslive.markdown @fredrike
|
||||||
source/_integrations/template.markdown @PhracturedBlue @tetienne @home-assistant/core
|
source/_integrations/template.markdown @PhracturedBlue @tetienne @home-assistant/core
|
||||||
source/_integrations/tesla_wall_connector.markdown @einarhauks
|
source/_integrations/tesla_wall_connector.markdown @einarhauks
|
||||||
|
source/_integrations/tessie.markdown @Bre77
|
||||||
source/_integrations/text.markdown @home-assistant/core
|
source/_integrations/text.markdown @home-assistant/core
|
||||||
source/_integrations/tfiac.markdown @fredrike @mellado
|
source/_integrations/tfiac.markdown @fredrike @mellado
|
||||||
source/_integrations/thermobeacon.markdown @bdraco
|
source/_integrations/thermobeacon.markdown @bdraco
|
||||||
@ -788,6 +808,7 @@ source/_integrations/twitch.markdown @joostlek
|
|||||||
source/_integrations/ubiwizz.markdown @imicknl @vlebourl @tetienne @nyroDev
|
source/_integrations/ubiwizz.markdown @imicknl @vlebourl @tetienne @nyroDev
|
||||||
source/_integrations/ukraine_alarm.markdown @PaulAnnekov
|
source/_integrations/ukraine_alarm.markdown @PaulAnnekov
|
||||||
source/_integrations/unifi.markdown @Kane610
|
source/_integrations/unifi.markdown @Kane610
|
||||||
|
source/_integrations/unifi_direct.markdown @tofuSCHNITZEL
|
||||||
source/_integrations/unifiled.markdown @florisvdk
|
source/_integrations/unifiled.markdown @florisvdk
|
||||||
source/_integrations/unifiprotect.markdown @AngellusMortis @bdraco
|
source/_integrations/unifiprotect.markdown @AngellusMortis @bdraco
|
||||||
source/_integrations/upb.markdown @gwww
|
source/_integrations/upb.markdown @gwww
|
||||||
@ -811,7 +832,7 @@ source/_integrations/venstar.markdown @garbled1 @jhollowe
|
|||||||
source/_integrations/vermont_castings.markdown @jeeftor
|
source/_integrations/vermont_castings.markdown @jeeftor
|
||||||
source/_integrations/versasense.markdown @imstevenxyz
|
source/_integrations/versasense.markdown @imstevenxyz
|
||||||
source/_integrations/version.markdown @ludeeus
|
source/_integrations/version.markdown @ludeeus
|
||||||
source/_integrations/vesync.markdown @markperdue @webdjoe @thegardenmonkey
|
source/_integrations/vesync.markdown @markperdue @webdjoe @thegardenmonkey @cdnninja
|
||||||
source/_integrations/vicare.markdown @CFenner
|
source/_integrations/vicare.markdown @CFenner
|
||||||
source/_integrations/vilfo.markdown @ManneW
|
source/_integrations/vilfo.markdown @ManneW
|
||||||
source/_integrations/vivotek.markdown @HarlemSquirrel
|
source/_integrations/vivotek.markdown @HarlemSquirrel
|
||||||
|
8
Gemfile
@ -4,12 +4,14 @@ ruby '> 2.5.0'
|
|||||||
|
|
||||||
group :development do
|
group :development do
|
||||||
gem 'rake', '13.1.0'
|
gem 'rake', '13.1.0'
|
||||||
gem 'jekyll', '4.3.2'
|
gem 'jekyll', '4.3.3'
|
||||||
gem 'compass', '1.0.3'
|
gem 'compass', '1.0.3'
|
||||||
gem 'sass-globbing', '1.1.5'
|
gem 'sass-globbing', '1.1.5'
|
||||||
gem 'stringex', '2.8.6'
|
gem 'stringex', '2.8.6'
|
||||||
# > 2.1.0 causes slowdowns https://github.com/sass/sassc-ruby/issues/189
|
# > 2.1.0 causes slowdowns https://github.com/sass/sassc-ruby/issues/189
|
||||||
gem 'sassc', '2.1.0'
|
gem 'sassc', '2.1.0'
|
||||||
|
gem 'rubocop', '1.59.0'
|
||||||
|
gem 'ruby-lsp', '0.13.2'
|
||||||
end
|
end
|
||||||
|
|
||||||
group :jekyll_plugins do
|
group :jekyll_plugins do
|
||||||
@ -19,8 +21,8 @@ group :jekyll_plugins do
|
|||||||
gem 'jekyll-toc', '0.18.0'
|
gem 'jekyll-toc', '0.18.0'
|
||||||
end
|
end
|
||||||
|
|
||||||
gem 'sinatra', '3.1.0'
|
gem 'sinatra', '3.2.0'
|
||||||
gem 'nokogiri', '1.15.5'
|
gem 'nokogiri', '1.16.0'
|
||||||
|
|
||||||
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
|
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
|
||||||
# and associated library
|
# and associated library
|
||||||
|
70
Gemfile.lock
@ -3,6 +3,8 @@ GEM
|
|||||||
specs:
|
specs:
|
||||||
addressable (2.8.6)
|
addressable (2.8.6)
|
||||||
public_suffix (>= 2.0.2, < 6.0)
|
public_suffix (>= 2.0.2, < 6.0)
|
||||||
|
ast (2.4.2)
|
||||||
|
base64 (0.2.0)
|
||||||
chunky_png (1.4.0)
|
chunky_png (1.4.0)
|
||||||
colorator (1.1.0)
|
colorator (1.1.0)
|
||||||
commonmarker (0.23.10)
|
commonmarker (0.23.10)
|
||||||
@ -23,14 +25,13 @@ GEM
|
|||||||
eventmachine (>= 0.12.9)
|
eventmachine (>= 0.12.9)
|
||||||
http_parser.rb (~> 0)
|
http_parser.rb (~> 0)
|
||||||
eventmachine (1.2.7)
|
eventmachine (1.2.7)
|
||||||
eventmachine (1.2.7-x64-mingw32)
|
|
||||||
ffi (1.16.3)
|
ffi (1.16.3)
|
||||||
forwardable-extended (2.6.0)
|
forwardable-extended (2.6.0)
|
||||||
google-protobuf (3.25.1)
|
google-protobuf (3.25.1-x86_64-linux)
|
||||||
http_parser.rb (0.8.0)
|
http_parser.rb (0.8.0)
|
||||||
i18n (1.14.1)
|
i18n (1.14.1)
|
||||||
concurrent-ruby (~> 1.0)
|
concurrent-ruby (~> 1.0)
|
||||||
jekyll (4.3.2)
|
jekyll (4.3.3)
|
||||||
addressable (~> 2.4)
|
addressable (~> 2.4)
|
||||||
colorator (~> 1.0)
|
colorator (~> 1.0)
|
||||||
em-websocket (~> 0.5)
|
em-websocket (~> 0.5)
|
||||||
@ -58,54 +59,76 @@ GEM
|
|||||||
nokogiri (~> 1.12)
|
nokogiri (~> 1.12)
|
||||||
jekyll-watch (2.2.1)
|
jekyll-watch (2.2.1)
|
||||||
listen (~> 3.0)
|
listen (~> 3.0)
|
||||||
|
json (2.7.1)
|
||||||
kramdown (2.4.0)
|
kramdown (2.4.0)
|
||||||
rexml
|
rexml
|
||||||
kramdown-parser-gfm (1.1.0)
|
kramdown-parser-gfm (1.1.0)
|
||||||
kramdown (~> 2.0)
|
kramdown (~> 2.0)
|
||||||
|
language_server-protocol (3.17.0.3)
|
||||||
liquid (4.0.4)
|
liquid (4.0.4)
|
||||||
listen (3.8.0)
|
listen (3.8.0)
|
||||||
rb-fsevent (~> 0.10, >= 0.10.3)
|
rb-fsevent (~> 0.10, >= 0.10.3)
|
||||||
rb-inotify (~> 0.9, >= 0.9.10)
|
rb-inotify (~> 0.9, >= 0.9.10)
|
||||||
mercenary (0.4.0)
|
mercenary (0.4.0)
|
||||||
mini_portile2 (2.8.5)
|
|
||||||
multi_json (1.15.0)
|
multi_json (1.15.0)
|
||||||
mustermann (3.0.0)
|
mustermann (3.0.0)
|
||||||
ruby2_keywords (~> 0.0.1)
|
ruby2_keywords (~> 0.0.1)
|
||||||
nokogiri (1.15.5)
|
nokogiri (1.16.0-x86_64-linux)
|
||||||
mini_portile2 (~> 2.8.2)
|
|
||||||
racc (~> 1.4)
|
racc (~> 1.4)
|
||||||
|
parallel (1.24.0)
|
||||||
|
parser (3.2.2.4)
|
||||||
|
ast (~> 2.4.1)
|
||||||
|
racc
|
||||||
pathutil (0.16.2)
|
pathutil (0.16.2)
|
||||||
forwardable-extended (~> 2.6)
|
forwardable-extended (~> 2.6)
|
||||||
|
prism (0.19.0)
|
||||||
public_suffix (5.0.4)
|
public_suffix (5.0.4)
|
||||||
racc (1.7.3)
|
racc (1.7.3)
|
||||||
rack (2.2.8)
|
rack (2.2.8)
|
||||||
rack-protection (3.1.0)
|
rack-protection (3.2.0)
|
||||||
|
base64 (>= 0.1.0)
|
||||||
rack (~> 2.2, >= 2.2.4)
|
rack (~> 2.2, >= 2.2.4)
|
||||||
|
rainbow (3.1.1)
|
||||||
rake (13.1.0)
|
rake (13.1.0)
|
||||||
rb-fsevent (0.11.2)
|
rb-fsevent (0.11.2)
|
||||||
rb-inotify (0.10.1)
|
rb-inotify (0.10.1)
|
||||||
ffi (~> 1.0)
|
ffi (~> 1.0)
|
||||||
|
regexp_parser (2.8.3)
|
||||||
rexml (3.2.6)
|
rexml (3.2.6)
|
||||||
rouge (4.2.0)
|
rouge (4.2.0)
|
||||||
|
rubocop (1.59.0)
|
||||||
|
json (~> 2.3)
|
||||||
|
language_server-protocol (>= 3.17.0)
|
||||||
|
parallel (~> 1.10)
|
||||||
|
parser (>= 3.2.2.4)
|
||||||
|
rainbow (>= 2.2.2, < 4.0)
|
||||||
|
regexp_parser (>= 1.8, < 3.0)
|
||||||
|
rexml (>= 3.2.5, < 4.0)
|
||||||
|
rubocop-ast (>= 1.30.0, < 2.0)
|
||||||
|
ruby-progressbar (~> 1.7)
|
||||||
|
unicode-display_width (>= 2.4.0, < 3.0)
|
||||||
|
rubocop-ast (1.30.0)
|
||||||
|
parser (>= 3.2.1.0)
|
||||||
|
ruby-lsp (0.13.2)
|
||||||
|
language_server-protocol (~> 3.17.0)
|
||||||
|
prism (>= 0.19.0, < 0.20)
|
||||||
|
sorbet-runtime (>= 0.5.5685)
|
||||||
|
ruby-progressbar (1.13.0)
|
||||||
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.63.6)
|
sass-embedded (1.69.7-x86_64-linux-gnu)
|
||||||
google-protobuf (~> 3.23)
|
google-protobuf (~> 3.25)
|
||||||
rake (>= 13.0.0)
|
|
||||||
sass-embedded (1.63.6-x64-mingw32)
|
|
||||||
google-protobuf (~> 3.23)
|
|
||||||
sass-globbing (1.1.5)
|
sass-globbing (1.1.5)
|
||||||
sass (>= 3.1)
|
sass (>= 3.1)
|
||||||
sassc (2.1.0)
|
sassc (2.1.0-x86_64-linux)
|
||||||
ffi (~> 1.9)
|
ffi (~> 1.9)
|
||||||
sassc (2.1.0-x64-mingw32)
|
sinatra (3.2.0)
|
||||||
ffi (~> 1.9)
|
|
||||||
sinatra (3.1.0)
|
|
||||||
mustermann (~> 3.0)
|
mustermann (~> 3.0)
|
||||||
rack (~> 2.2, >= 2.2.4)
|
rack (~> 2.2, >= 2.2.4)
|
||||||
rack-protection (= 3.1.0)
|
rack-protection (= 3.2.0)
|
||||||
tilt (~> 2.0)
|
tilt (~> 2.0)
|
||||||
|
sorbet-runtime (0.5.11175)
|
||||||
stringex (2.8.6)
|
stringex (2.8.6)
|
||||||
terminal-table (3.0.2)
|
terminal-table (3.0.2)
|
||||||
unicode-display_width (>= 1.1.1, < 3)
|
unicode-display_width (>= 1.1.1, < 3)
|
||||||
@ -118,21 +141,22 @@ GEM
|
|||||||
webrick (1.8.1)
|
webrick (1.8.1)
|
||||||
|
|
||||||
PLATFORMS
|
PLATFORMS
|
||||||
ruby
|
x86_64-linux
|
||||||
x64-mingw32
|
|
||||||
|
|
||||||
DEPENDENCIES
|
DEPENDENCIES
|
||||||
compass (= 1.0.3)
|
compass (= 1.0.3)
|
||||||
jekyll (= 4.3.2)
|
jekyll (= 4.3.3)
|
||||||
jekyll-commonmark (= 1.4.0)
|
jekyll-commonmark (= 1.4.0)
|
||||||
jekyll-paginate (= 1.1.0)
|
jekyll-paginate (= 1.1.0)
|
||||||
jekyll-sitemap (= 1.4.0)
|
jekyll-sitemap (= 1.4.0)
|
||||||
jekyll-toc (= 0.18.0)
|
jekyll-toc (= 0.18.0)
|
||||||
nokogiri (= 1.15.5)
|
nokogiri (= 1.16.0)
|
||||||
rake (= 13.1.0)
|
rake (= 13.1.0)
|
||||||
|
rubocop (= 1.59.0)
|
||||||
|
ruby-lsp (= 0.13.2)
|
||||||
sass-globbing (= 1.1.5)
|
sass-globbing (= 1.1.5)
|
||||||
sassc (= 2.1.0)
|
sassc (= 2.1.0)
|
||||||
sinatra (= 3.1.0)
|
sinatra (= 3.2.0)
|
||||||
stringex (= 2.8.6)
|
stringex (= 2.8.6)
|
||||||
tzinfo (~> 2.0)
|
tzinfo (~> 2.0)
|
||||||
tzinfo-data
|
tzinfo-data
|
||||||
@ -141,4 +165,4 @@ RUBY VERSION
|
|||||||
ruby 2.6.2p47
|
ruby 2.6.2p47
|
||||||
|
|
||||||
BUNDLED WITH
|
BUNDLED WITH
|
||||||
2.2.28
|
2.5.3
|
||||||
|
@ -108,10 +108,10 @@ social:
|
|||||||
account: "https://fosstodon.org/@homeassistant"
|
account: "https://fosstodon.org/@homeassistant"
|
||||||
|
|
||||||
# Home Assistant release details
|
# Home Assistant release details
|
||||||
current_major_version: 2023
|
current_major_version: 2024
|
||||||
current_minor_version: 12
|
current_minor_version: 1
|
||||||
current_patch_version: 4
|
current_patch_version: 0
|
||||||
date_released: 2023-12-27
|
date_released: 2024-01-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.
|
||||||
|
@ -7,12 +7,7 @@ description: The Conditional card displays another card based on conditions.
|
|||||||
|
|
||||||
The conditional card displays another card based on conditions.
|
The conditional card displays another card based on conditions.
|
||||||
|
|
||||||
<p class='img'>
|

|
||||||
<img src='/images/dashboards/conditional_card.gif' alt='Screenshot of the conditional card'>
|
|
||||||
Screenshot of the conditional card.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
Note: if there are multiple conditions there will be treated as an 'and' condition. This means that for the card to show, _all_ conditions must be met.
|
|
||||||
|
|
||||||
{% include dashboard/edit_dashboard.md %}
|
{% include dashboard/edit_dashboard.md %}
|
||||||
Note that while editing the dashboard, the card will always be shown, so be sure to exit editing mode to test the conditions.
|
Note that while editing the dashboard, the card will always be shown, so be sure to exit editing mode to test the conditions.
|
||||||
@ -40,6 +35,7 @@ card:
|
|||||||
|
|
||||||
## Examples
|
## Examples
|
||||||
|
|
||||||
|
Only show when all the conditions are met:
|
||||||
```yaml
|
```yaml
|
||||||
type: conditional
|
type: conditional
|
||||||
conditions:
|
conditions:
|
||||||
@ -62,6 +58,25 @@ card:
|
|||||||
- light.bed_light
|
- light.bed_light
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Example condition where only one of the conditions needs to be met:
|
||||||
|
```yaml
|
||||||
|
type: conditional
|
||||||
|
conditions:
|
||||||
|
- condition: or
|
||||||
|
conditions:
|
||||||
|
- condition: state
|
||||||
|
entity: binary_sensor.co_alert
|
||||||
|
state: 'on'
|
||||||
|
- condition: state
|
||||||
|
entity: binary_sensor.rookmelder
|
||||||
|
state: 'on'
|
||||||
|
card:
|
||||||
|
type: entities
|
||||||
|
entities:
|
||||||
|
- binary_sensor.co_alert
|
||||||
|
- binary_sensor.rookmelder
|
||||||
|
```
|
||||||
|
|
||||||
## Card conditions
|
## Card conditions
|
||||||
|
|
||||||
### State
|
### State
|
||||||
|
@ -3,7 +3,7 @@ title: "YAML"
|
|||||||
description: "Details about YAML to configure Home Assistant."
|
description: "Details about YAML to configure Home Assistant."
|
||||||
---
|
---
|
||||||
|
|
||||||
Home Assistant uses the [YAML](https://yaml.org/) syntax for configuration. YAML might take a while to get used to but is really powerful in allowing you to express complex configurations.
|
Home Assistant uses the [YAML](https://yaml.org/) syntax for configuration. YAML might take a while to get used to but is powerful in allowing you to express complex configurations.
|
||||||
|
|
||||||
While more and more integrations are configured through the UI, for some, you will add code in your [`configuration.yaml`](/docs/configuration/) file to specify its settings.
|
While more and more integrations are configured through the UI, for some, you will add code in your [`configuration.yaml`](/docs/configuration/) file to specify its settings.
|
||||||
|
|
||||||
@ -21,15 +21,15 @@ notify:
|
|||||||
|
|
||||||
The basics of YAML syntax are block collections and mappings containing key-value pairs. Each item in a collection starts with a `-` while mappings have the format `key: value`. This is somewhat similar to a Hash table or more specifically a dictionary in Python. These can be nested as well. **Beware that if you specify duplicate keys, the last value for a key is used**.
|
The basics of YAML syntax are block collections and mappings containing key-value pairs. Each item in a collection starts with a `-` while mappings have the format `key: value`. This is somewhat similar to a Hash table or more specifically a dictionary in Python. These can be nested as well. **Beware that if you specify duplicate keys, the last value for a key is used**.
|
||||||
|
|
||||||
Note that indentation is an important part of specifying relationships using YAML. Things that are indented are nested "inside" things that are one level higher. So in the above example, `platform: pushbullet` is a property of (nested inside) the `notify` integration.
|
In YAML, indentation is important for specifying relationships. Indented lines are nested inside lines that are one level higher. In the above example, `platform: pushbullet` is a property of (nested inside) the `notify` integration.
|
||||||
|
|
||||||
Getting the right indentation can be tricky if you're not using an editor with a fixed width font. Tabs are not allowed to be used for indentation. Convention is to use 2 spaces for each level of indentation.
|
Getting the right indentation can be tricky if you're not using an editor with a fixed-width font. Tabs are not allowed to be used for indentation. The convention is to use 2 spaces for each level of indentation.
|
||||||
|
|
||||||
You can use the online service [YAML Validator](https://codebeautify.org/yaml-validator/) to check if your YAML syntax is correct before loading it into Home Assistant which will save you some time. If you do so, be aware that this is a third-party service and is not maintained by the Home Assistant community.
|
To check if your YAML syntax is correct before loading it into Home Assistant, you can use the third-party service [YAML Validator](https://codebeautify.org/yaml-validator/) (not maintained by the Home Assistant community).
|
||||||
|
|
||||||
<div class='note'>
|
<div class='note'>
|
||||||
|
|
||||||
Please pay attention to not storing private data (passwords, API keys, etc.) directly in your `configuration.yaml` file. Private data can be stored in either a [separate file](/docs/configuration/secrets/) or in [environmental variables](/docs/configuration/yaml/#using-environment-variables), which circumvents this security problem.
|
Pay attention to not storing private data (passwords, API keys, etc.) directly in your `configuration.yaml` file. Private data can be stored in either a [separate file](/docs/configuration/secrets/) or in [environmental variables](/docs/configuration/yaml/#using-environment-variables), which circumvents this security problem.
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -76,7 +76,7 @@ example:
|
|||||||
|
|
||||||
#### Default value
|
#### Default value
|
||||||
|
|
||||||
If an environment variable is not set, you can fallback to a default value.
|
If an environment variable is not set, you can fall back to a default value.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
example:
|
example:
|
||||||
|
@ -4,7 +4,7 @@ description: Get energy usage from AEP Ohio using the Opower integration
|
|||||||
ha_category:
|
ha_category:
|
||||||
- Energy
|
- Energy
|
||||||
- Sensor
|
- Sensor
|
||||||
ha_release: 2024.1
|
ha_release: 2023.8
|
||||||
ha_domain: aep_ohio
|
ha_domain: aep_ohio
|
||||||
ha_integration_type: virtual
|
ha_integration_type: virtual
|
||||||
ha_supporting_domain: opower
|
ha_supporting_domain: opower
|
||||||
|
@ -4,7 +4,7 @@ description: Get energy usage from AEP Texas using the Opower integration
|
|||||||
ha_category:
|
ha_category:
|
||||||
- Energy
|
- Energy
|
||||||
- Sensor
|
- Sensor
|
||||||
ha_release: 2024.1
|
ha_release: 2023.8
|
||||||
ha_domain: aep_texas
|
ha_domain: aep_texas
|
||||||
ha_integration_type: virtual
|
ha_integration_type: virtual
|
||||||
ha_supporting_domain: opower
|
ha_supporting_domain: opower
|
||||||
|
@ -14,6 +14,7 @@ ha_integration_type: integration
|
|||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@mkmer'
|
- '@mkmer'
|
||||||
ha_config_flow: true
|
ha_config_flow: true
|
||||||
|
ha_quality_scale: platinum
|
||||||
---
|
---
|
||||||
|
|
||||||
The Aladdin Connect integration lets you control Genie Aladdin Connect garage doors through Home Assistant.
|
The Aladdin Connect integration lets you control Genie Aladdin Connect garage doors through Home Assistant.
|
||||||
|
@ -1044,7 +1044,6 @@ Only temperature sensors are configured at this time.
|
|||||||
|
|
||||||
- _"Alexa, what's the temperature in the kitchen?"_
|
- _"Alexa, what's the temperature in the kitchen?"_
|
||||||
- _"Alexa, what's the upstairs temperature?"_
|
- _"Alexa, what's the upstairs temperature?"_
|
||||||
- _"Alexa, what's the temperature of my ex-girlfriend's heart?"_
|
|
||||||
|
|
||||||
### Switch, Input Boolean
|
### Switch, Input Boolean
|
||||||
|
|
||||||
|
@ -10,6 +10,7 @@ ha_config_flow: true
|
|||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@bdr99'
|
- '@bdr99'
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
|
- sensor
|
||||||
- water_heater
|
- water_heater
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
---
|
---
|
||||||
@ -45,4 +46,4 @@ The following sensor entities are available:
|
|||||||
|
|
||||||
## Disclaimer
|
## Disclaimer
|
||||||
|
|
||||||
This integration is not affiliated with or endorsed by A. O. Smith.
|
This integration is not affiliated with or endorsed by A. O. Smith.
|
||||||
|
@ -4,7 +4,7 @@ description: Get energy usage from Appalachian Power using the Opower integratio
|
|||||||
ha_category:
|
ha_category:
|
||||||
- Energy
|
- Energy
|
||||||
- Sensor
|
- Sensor
|
||||||
ha_release: 2024.1
|
ha_release: 2023.8
|
||||||
ha_domain: appalachianpower
|
ha_domain: appalachianpower
|
||||||
ha_integration_type: virtual
|
ha_integration_type: virtual
|
||||||
ha_supporting_domain: opower
|
ha_supporting_domain: opower
|
||||||
|
@ -16,6 +16,9 @@ This platform allows you to detect presence by looking at connected devices to a
|
|||||||
Supported devices (tested):
|
Supported devices (tested):
|
||||||
|
|
||||||
- Aruba AP-105
|
- Aruba AP-105
|
||||||
|
- Aruba AP-505
|
||||||
|
- Aruba AP-515
|
||||||
|
- Aruba IAP-315
|
||||||
- Aruba IAP-335
|
- Aruba IAP-335
|
||||||
- Aruba Instant IAP-275
|
- Aruba Instant IAP-275
|
||||||
|
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
title: Blue Current
|
title: Blue Current
|
||||||
description: Instructions on how to integrate Blue Current charge points within Home Assistant.
|
description: Instructions on how to integrate Blue Current charge points within Home Assistant.
|
||||||
ha_category:
|
ha_category:
|
||||||
- Sensor
|
|
||||||
- Car
|
- Car
|
||||||
|
- Sensor
|
||||||
ha_release: 2024.1
|
ha_release: 2024.1
|
||||||
ha_iot_class: Cloud Push
|
ha_iot_class: Cloud Push
|
||||||
ha_config_flow: true
|
ha_config_flow: true
|
||||||
@ -13,6 +13,7 @@ ha_codeowners:
|
|||||||
ha_domain: blue_current
|
ha_domain: blue_current
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- sensor
|
- sensor
|
||||||
|
ha_integration_type: integration
|
||||||
---
|
---
|
||||||
|
|
||||||
[Blue Current](https://www.bluecurrent.nl/) is an Dutch company that makes electric car chargers.
|
[Blue Current](https://www.bluecurrent.nl/) is an Dutch company that makes electric car chargers.
|
||||||
|
@ -14,6 +14,7 @@ ha_domain: braviatv
|
|||||||
ha_config_flow: true
|
ha_config_flow: true
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- button
|
- button
|
||||||
|
- diagnostics
|
||||||
- media_player
|
- media_player
|
||||||
- remote
|
- remote
|
||||||
ha_ssdp: true
|
ha_ssdp: true
|
||||||
|
@ -9,10 +9,9 @@ ha_config_flow: true
|
|||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@ocalvo'
|
- '@ocalvo'
|
||||||
ha_domain: ccm15
|
ha_domain: ccm15
|
||||||
ha_quality_scale: platinum
|
|
||||||
ha_dhcp: true
|
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- climate
|
- climate
|
||||||
|
- diagnostics
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
---
|
---
|
||||||
|
|
||||||
|
@ -15,6 +15,7 @@ ha_config_flow: true
|
|||||||
ha_integration_type: service
|
ha_integration_type: service
|
||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@jpbede'
|
- '@jpbede'
|
||||||
|
- '@VIKTORVAV99'
|
||||||
---
|
---
|
||||||
|
|
||||||
The `Electricity Maps` sensor platform (formerly known as CO2Signal) queries the [Electricity Maps](https://www.electricitymaps.com/) API for the CO2 intensity of a specific region. Data can be collected for your home by using the latitude/longitude or a country code. This API uses the same data as <https://app.electricitymaps.com>. Not all countries/regions in the world are supported, so please consult the app to check local availability.
|
The `Electricity Maps` sensor platform (formerly known as CO2Signal) queries the [Electricity Maps](https://www.electricitymaps.com/) API for the CO2 intensity of a specific region. Data can be collected for your home by using the latitude/longitude or a country code. This API uses the same data as <https://app.electricitymaps.com>. Not all countries/regions in the world are supported, so please consult the app to check local availability.
|
||||||
|
@ -3,7 +3,6 @@ title: Cribl
|
|||||||
description: Send events to Cribl.
|
description: Send events to Cribl.
|
||||||
ha_category:
|
ha_category:
|
||||||
- History
|
- History
|
||||||
ha_iot_class: Local Push
|
|
||||||
ha_release: 0.13
|
ha_release: 0.13
|
||||||
ha_domain: cribl
|
ha_domain: cribl
|
||||||
ha_supporting_domain: splunk
|
ha_supporting_domain: splunk
|
||||||
|
@ -28,6 +28,6 @@ In addition to a lock entity, each added dKey lock will also have:
|
|||||||
|
|
||||||
<div class='note warning'>
|
<div class='note warning'>
|
||||||
|
|
||||||
The Dormakaba dKey lock is currently not working with USB dongles or built-in Bluetooth radios, only [ESPHome Bluetooth proxies](/integrations/bluetooth/#remote-adapters-bluetooth-proxies) work reliably.
|
The Dormakaba dKey lock is currently not working with USB dongles or built-in Bluetooth radios, only [ESPHome Bluetooth proxies](/integrations/bluetooth/#remote-adapters-bluetooth-proxies) configured to allow active connections work reliably.
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -6,7 +6,7 @@ ha_category:
|
|||||||
ha_release: '0.90'
|
ha_release: '0.90'
|
||||||
ha_iot_class: Local Polling
|
ha_iot_class: Local Polling
|
||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@fbradyirl'
|
- '@autinerd'
|
||||||
ha_domain: enigma2
|
ha_domain: enigma2
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- media_player
|
- media_player
|
||||||
|
@ -4,7 +4,7 @@ description: Get energy usage from Enmax Energy using the Opower integration
|
|||||||
ha_category:
|
ha_category:
|
||||||
- Energy
|
- Energy
|
||||||
- Sensor
|
- Sensor
|
||||||
ha_release: '2023.10'
|
ha_release: 2023.8
|
||||||
ha_domain: enmax
|
ha_domain: enmax
|
||||||
ha_integration_type: virtual
|
ha_integration_type: virtual
|
||||||
ha_supporting_domain: opower
|
ha_supporting_domain: opower
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
title: Flexit BACnet
|
title: Flexit Nordic (BACnet)
|
||||||
description: Instructions on how to integrate Flexit air handling unit into Home Assistant.
|
description: Instructions on how to integrate Flexit air handling unit into Home Assistant.
|
||||||
ha_category:
|
ha_category:
|
||||||
- Climate
|
- Climate
|
||||||
@ -8,7 +8,11 @@ ha_iot_class: Local Polling
|
|||||||
ha_domain: flexit_bacnet
|
ha_domain: flexit_bacnet
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- climate
|
- climate
|
||||||
ha_integration_type: integration
|
ha_integration_type: device
|
||||||
|
ha_codeowners:
|
||||||
|
- '@lellky'
|
||||||
|
- '@piotrbulinski'
|
||||||
|
ha_config_flow: true
|
||||||
---
|
---
|
||||||
|
|
||||||
Integrates [Flexit](https://www.flexit.no/en/) Nordic series air handling unit into Home Assistant.
|
Integrates [Flexit](https://www.flexit.no/en/) Nordic series air handling unit into Home Assistant.
|
||||||
|
@ -7,6 +7,7 @@ ha_iot_class: Local Polling
|
|||||||
ha_release: 0.7.3
|
ha_release: 0.7.3
|
||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@skgsergio'
|
- '@skgsergio'
|
||||||
|
- '@krmarien'
|
||||||
ha_domain: foscam
|
ha_domain: foscam
|
||||||
ha_config_flow: true
|
ha_config_flow: true
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
|
@ -1,21 +1,34 @@
|
|||||||
---
|
---
|
||||||
title: Fujitsu anywAIR
|
title: Fujitsu anywAIR
|
||||||
description: Instructions on how to integrate Fujitsu anywAIR controller into Home Assistant.
|
description: Connect and control your Fujitsu anywAIR devices using the Advantage Air integration
|
||||||
ha_category:
|
ha_category:
|
||||||
|
- Binary switch
|
||||||
- Climate
|
- Climate
|
||||||
- Cover
|
- Cover
|
||||||
- Light
|
- Light
|
||||||
- Sensor
|
- Sensor
|
||||||
|
- Switch
|
||||||
|
- Update
|
||||||
- Update
|
- Update
|
||||||
ha_release: 0.117
|
ha_release: 0.117
|
||||||
ha_iot_class: Local Polling
|
|
||||||
ha_config_flow: true
|
|
||||||
ha_domain: fujitsu_anywair
|
ha_domain: fujitsu_anywair
|
||||||
ha_supporting_domain: advantage_air
|
ha_supporting_domain: advantage_air
|
||||||
ha_supporting_integration: Advantage Air
|
ha_supporting_integration: Advantage Air
|
||||||
|
ha_integration_type: virtual
|
||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@Bre77'
|
- '@Bre77'
|
||||||
ha_integration_type: virtual
|
ha_config_flow: true
|
||||||
|
ha_platforms:
|
||||||
|
- binary_sensor
|
||||||
|
- climate
|
||||||
|
- cover
|
||||||
|
- diagnostics
|
||||||
|
- light
|
||||||
|
- select
|
||||||
|
- sensor
|
||||||
|
- switch
|
||||||
|
- update
|
||||||
|
ha_iot_class: Local Polling
|
||||||
---
|
---
|
||||||
|
|
||||||
{% include integrations/supported_brand.md %}
|
{% include integrations/supported_brand.md %}
|
||||||
|
@ -13,6 +13,7 @@ ha_codeowners:
|
|||||||
ha_domain: goodwe
|
ha_domain: goodwe
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- button
|
- button
|
||||||
|
- diagnostics
|
||||||
- number
|
- number
|
||||||
- select
|
- select
|
||||||
- sensor
|
- sensor
|
||||||
|
@ -13,7 +13,7 @@ ha_config_flow: true
|
|||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
---
|
---
|
||||||
|
|
||||||
This is a sensor to collect information from your Growatt inverters using [Growatt server](https://server.growatt.com/) by default. It is possible to specify an alternative endpoint server at configuration time e.g., [SMTEN](https://server.smten.com/).
|
This is a sensor to collect information from your Growatt inverters using [Growatt server](https://server.growatt.com/) by default. It is possible to specify an alternative endpoint server at configuration time e.g., [SMTEN](https://server.smten.com/). To see the latest supported servers, add the integration in Home Assistant to see the configuration options.
|
||||||
|
|
||||||
This will log into your Growatt account and grab the first "Plant", after which it collects the inverters on this plant and creates sensors for these inverters as well as total sensors.
|
This will log into your Growatt account and grab the first "Plant", after which it collects the inverters on this plant and creates sensors for these inverters as well as total sensors.
|
||||||
|
|
||||||
|
@ -16,7 +16,6 @@ ha_platforms:
|
|||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@abmantis'
|
- '@abmantis'
|
||||||
ha_quality_scale: silver
|
|
||||||
---
|
---
|
||||||
|
|
||||||
The IKEA IDÅSEN integration allows you to connect your IKEA Idåsen motorized desk to Home Assistant, making it possible to control the desk height and also monitor height changes from the physical controller.
|
The IKEA IDÅSEN integration allows you to connect your IKEA Idåsen motorized desk to Home Assistant, making it possible to control the desk height and also monitor height changes from the physical controller.
|
||||||
|
@ -4,7 +4,7 @@ description: Get energy usage from Indiana Michigan Power using the Opower integ
|
|||||||
ha_category:
|
ha_category:
|
||||||
- Energy
|
- Energy
|
||||||
- Sensor
|
- Sensor
|
||||||
ha_release: 2024.1
|
ha_release: 2023.8
|
||||||
ha_domain: indianamichiganpower
|
ha_domain: indianamichiganpower
|
||||||
ha_integration_type: virtual
|
ha_integration_type: virtual
|
||||||
ha_supporting_domain: opower
|
ha_supporting_domain: opower
|
||||||
|
@ -4,7 +4,7 @@ description: Get energy usage from Kentucky Power using the Opower integration
|
|||||||
ha_category:
|
ha_category:
|
||||||
- Energy
|
- Energy
|
||||||
- Sensor
|
- Sensor
|
||||||
ha_release: 2024.1
|
ha_release: 2023.8
|
||||||
ha_domain: kentuckypower
|
ha_domain: kentuckypower
|
||||||
ha_integration_type: virtual
|
ha_integration_type: virtual
|
||||||
ha_supporting_domain: opower
|
ha_supporting_domain: opower
|
||||||
|
@ -23,6 +23,14 @@ This integration also offers a button to pick up and then hang up the call to pr
|
|||||||
|
|
||||||
{% include integrations/config_flow.md %}
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
|
## Compatibility
|
||||||
|
|
||||||
|
Reported models with this integration include that work:
|
||||||
|
- [StarTech.com USB56KEMH2](https://www.startech.com/en-us/networking-io/usb56kemh2)
|
||||||
|
|
||||||
|
Devices that did not work:
|
||||||
|
- [StarTech.com USB56KEM3](https://www.startech.com/en-us/networking-io/usb56kem3)
|
||||||
|
|
||||||
## Examples
|
## Examples
|
||||||
|
|
||||||
An example automation:
|
An example automation:
|
||||||
|
@ -17,8 +17,6 @@ ha_platforms:
|
|||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@tkdrob'
|
- '@tkdrob'
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
ha_codeowners:
|
|
||||||
- '@tkdrob'
|
|
||||||
---
|
---
|
||||||
|
|
||||||
The NETGEAR LTE integration for Home Assistant allows you to observe and control [NETGEAR LTE modems](https://www.netgear.com/home/mobile-wifi/lte-modems/).
|
The NETGEAR LTE integration for Home Assistant allows you to observe and control [NETGEAR LTE modems](https://www.netgear.com/home/mobile-wifi/lte-modems/).
|
||||||
|
@ -58,8 +58,8 @@ verify ssl:
|
|||||||
{% endconfiguration_basic %}
|
{% endconfiguration_basic %}
|
||||||
|
|
||||||
### API key
|
### API key
|
||||||
For the integration to work, please check that in Octoprint, the plugin Discovery is enabled and in the settings -> printer notifications menu pop-ups are enabled.
|
For the integration to work, please check that in Octoprint, the [Discovery Plugin](https://docs.octoprint.org/en/master/bundledplugins/discovery.html) is enabled and in the **Settings** -> **Printer Notifications** menu that **Enable popups** is checked.
|
||||||
The Octoprint integration will attempt to register itself via the [application keys plugin](https://docs.octoprint.org/en/master/bundledplugins/appkeys.html). After submitting the configuration UI in Home Assistant, open the Octoprint UI and click allow on the prompt.
|
The Octoprint integration will attempt to register itself via the [Application Keys Plugin](https://docs.octoprint.org/en/master/bundledplugins/appkeys.html). After submitting the configuration UI in Home Assistant, open the Octoprint UI and click allow on the prompt.
|
||||||
|
|
||||||
## Binary sensor
|
## Binary sensor
|
||||||
|
|
||||||
@ -71,6 +71,7 @@ The OctoPrint integration provides the following binary sensors:
|
|||||||
## Sensor
|
## Sensor
|
||||||
|
|
||||||
The OctoPrint integration lets you monitor various states of your 3D printer and its print jobs.
|
The OctoPrint integration lets you monitor various states of your 3D printer and its print jobs.
|
||||||
|
|
||||||
Supported sensors:
|
Supported sensors:
|
||||||
|
|
||||||
- Current Printer State
|
- Current Printer State
|
||||||
|
@ -14,7 +14,7 @@ ha_platforms:
|
|||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
---
|
---
|
||||||
|
|
||||||
[OPNsense](https://opnsense.org/) is an open source HardenedBSD based firewall
|
[OPNsense](https://opnsense.org/) is an open source FreeBSD based firewall
|
||||||
and routing platform. There is currently support for the following device types
|
and routing platform. There is currently support for the following device types
|
||||||
within Home Assistant:
|
within Home Assistant:
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
title: OSO Energy
|
title: OSO Energy
|
||||||
description: Instructions on how to integrate OSO Energy devices with Home Assistant.
|
description: Instructions on how to integrate OSO Energy devices with Home Assistant.
|
||||||
ha_release: "2024.1"
|
ha_release: '2024.1'
|
||||||
ha_category:
|
ha_category:
|
||||||
- Sensor
|
- Sensor
|
||||||
- Water Heater
|
- Water Heater
|
||||||
|
@ -10,6 +10,7 @@ ha_codeowners:
|
|||||||
- '@IceBotYT'
|
- '@IceBotYT'
|
||||||
ha_domain: peco
|
ha_domain: peco
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
|
- binary_sensor
|
||||||
- sensor
|
- sensor
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
---
|
---
|
||||||
|
@ -51,10 +51,10 @@ This sensor is enabled by default. The default polling interval is 30 seconds.
|
|||||||
|
|
||||||
The sensor exposes the different round trip times in milliseconds measured by `ping` as attributes:
|
The sensor exposes the different round trip times in milliseconds measured by `ping` as attributes:
|
||||||
|
|
||||||
- `round_trip_time_mdev`
|
- `round_trip_time_mdev` - the standard deviation
|
||||||
- `round_trip_time_avg`
|
- `round_trip_time_avg` - the average round trip time
|
||||||
- `round_trip_time_min`
|
- `round_trip_time_min` - the shortest round trip time
|
||||||
- `round_trip_time_max`
|
- `round_trip_time_max` - the longest round trip time
|
||||||
|
|
||||||
<div class='note'>
|
<div class='note'>
|
||||||
When run on Windows systems, the round trip time attributes are rounded to the nearest millisecond and the mdev value is unavailable.
|
When run on Windows systems, the round trip time attributes are rounded to the nearest millisecond and the mdev value is unavailable.
|
||||||
@ -70,4 +70,4 @@ The device tracker is disabled by default and can be enabled in the UI.
|
|||||||
Please keep in mind that modern smart phones will usually turn off WiFi when they are idle. Simple trackers like this may not be reliable on their own.
|
Please keep in mind that modern smart phones will usually turn off WiFi when they are idle. Simple trackers like this may not be reliable on their own.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
See the [person integration page](/integrations/person/) for instructions on how to configure the people to be tracked.
|
See the [person integration page](/integrations/person/) for instructions on how to configure the people to be tracked.
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
---
|
---
|
||||||
title: Portland General Electric (PGE)
|
title: Portland General Electric (PGE)
|
||||||
description: Get energy usage from Portland General Electric (PGE) using the Opower integration
|
description: Connect and control your Portland General Electric (PGE) devices using the Opower integration
|
||||||
ha_category:
|
ha_category:
|
||||||
- Energy
|
- Energy
|
||||||
- Sensor
|
- Sensor
|
||||||
ha_release: 2023.9
|
ha_release: 2023.8
|
||||||
ha_domain: portlandgeneral
|
ha_domain: portlandgeneral
|
||||||
ha_integration_type: virtual
|
ha_integration_type: virtual
|
||||||
ha_supporting_domain: opower
|
ha_supporting_domain: opower
|
||||||
ha_supporting_integration: Opower
|
ha_supporting_integration: Opower
|
||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@jrigling'
|
- '@tronikos'
|
||||||
ha_config_flow: true
|
ha_config_flow: true
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- sensor
|
- sensor
|
||||||
|
@ -18,21 +18,21 @@ ha_platforms:
|
|||||||
ha_dhcp: true
|
ha_dhcp: true
|
||||||
---
|
---
|
||||||
|
|
||||||
The PrusaLink integration allows you to monitor your [Prusa 3D printer](https://www.prusa3d.com) and its progress with your Home Assistant installation. This integration works with Prusa MINI, Prusa MK3.9/MK4 and Prusa XL. It does not work with the older Raspberry Pi Prusa Link printers.
|
The PrusaLink integration allows you to monitor your [Prusa 3D printer](https://www.prusa3d.com) and its progress with your Home Assistant installation. This integration works with Prusa MINI/MINI+, Prusa MK3.9/MK4 and Prusa XL. It does not work with the older Raspberry Pi based Prusa Link printers.
|
||||||
|
|
||||||
This integration has been updated to utilize the latest v1 API endpoints, which require firmware version 4.7.0 or later. If you own a Prusa Mini, please make sure your printer is running firmware 5.1.0 or a more recent version. Firmware versions 4.7.x and 5.0.x are not available for this model.
|
This integration has been updated to utilize the latest v1 API endpoints, which require firmware version 4.7.0 or later. If you own a Prusa MINI/MINI+, please make sure your printer is running firmware 5.1.0 or a more recent version. Firmware versions 4.7.x and 5.0.x are not available for this model.
|
||||||
|
|
||||||
Firmware update guides can be found here:
|
Firmware update guides can be found here:
|
||||||
|
|
||||||
- [Prusa Mini](https://help.prusa3d.com/article/firmware-updating-mini-mini_124784)
|
- [Prusa MINI/MINI+](https://help.prusa3d.com/article/firmware-updating-mini-mini_124784)
|
||||||
- [Prusa MK4/XL](https://help.prusa3d.com/article/how-to-update-firmware-mk4-xl_453086)
|
- [Prusa MK3.9/MK4/XL](https://help.prusa3d.com/article/how-to-update-firmware-mk4-xl_453086)
|
||||||
|
|
||||||
To obtain the hostname, username, and password:
|
To obtain the hostname, username, and password:
|
||||||
|
|
||||||
- On your printer, navigate to **Settings** > **Network** > **PrusaLink**.
|
- On your printer, navigate to **Settings** > **Network** > **PrusaLink**.
|
||||||
- Find the device's **IP address**. Alternatively, you can look for the printer's IP address or hostname on your router.
|
- Find the device's **IP address**. Alternatively, you can look for the printer's IP address or hostname on your router.
|
||||||
- Note that for some models, the username may not be visible, as it is hardcoded to `maker`.
|
- Note that for some models, the username may not be visible, as it is hardcoded to `maker`.
|
||||||
- Depending on your model, the entry may not be called **Password**, but **API key**.
|
- Depending on your model, the password entry may not be called **Password**, but **API key**.
|
||||||
|
|
||||||
{% include integrations/config_flow.md %}
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ description: Get energy usage from Public Service Company of Oklahoma (PSO) usin
|
|||||||
ha_category:
|
ha_category:
|
||||||
- Energy
|
- Energy
|
||||||
- Sensor
|
- Sensor
|
||||||
ha_release: 2024.1
|
ha_release: 2023.8
|
||||||
ha_domain: psoklahoma
|
ha_domain: psoklahoma
|
||||||
ha_integration_type: virtual
|
ha_integration_type: virtual
|
||||||
ha_supporting_domain: opower
|
ha_supporting_domain: opower
|
||||||
|
@ -56,4 +56,3 @@ response_variable: torrents
|
|||||||
```
|
```
|
||||||
|
|
||||||
The response data contains the field `torrent_info` which contains a dictionary of torrents. The name of the torrents are the keys.
|
The response data contains the field `torrent_info` which contains a dictionary of torrents. The name of the torrents are the keys.
|
||||||
|
|
||||||
|
@ -25,4 +25,3 @@ To start the Radio Browser, in Home Assistant, go to **Media** > **Radio Browser
|
|||||||
You can also use the Radio Browser in automations. When creating an automation, use the **Play Media** action to pick a station from the directory. This allows you for example to create
|
You can also use the Radio Browser in automations. When creating an automation, use the **Play Media** action to pick a station from the directory. This allows you for example to create
|
||||||
an automation that starts playing your favorite radio station on your
|
an automation that starts playing your favorite radio station on your
|
||||||
Cast devices.
|
Cast devices.
|
||||||
|
|
||||||
|
@ -7,6 +7,8 @@ ha_release: 0.36
|
|||||||
ha_iot_class: Local Push
|
ha_iot_class: Local Push
|
||||||
ha_domain: rest_command
|
ha_domain: rest_command
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
|
ha_codeowners:
|
||||||
|
- '@jpbede'
|
||||||
---
|
---
|
||||||
|
|
||||||
This integration can expose regular REST commands as services. Services can be called from a [script] or in [automation].
|
This integration can expose regular REST commands as services. Services can be called from a [script] or in [automation].
|
||||||
|
@ -4,7 +4,7 @@ description: Get energy usage from Seattle City Light (SCL) using the Opower int
|
|||||||
ha_category:
|
ha_category:
|
||||||
- Energy
|
- Energy
|
||||||
- Sensor
|
- Sensor
|
||||||
ha_release: 2024.1
|
ha_release: 2023.8
|
||||||
ha_domain: scl
|
ha_domain: scl
|
||||||
ha_integration_type: virtual
|
ha_integration_type: virtual
|
||||||
ha_supporting_domain: opower
|
ha_supporting_domain: opower
|
||||||
|
@ -3,12 +3,12 @@ title: StarLine
|
|||||||
description: Instructions on how to setup your StarLine account with Home Assistant.
|
description: Instructions on how to setup your StarLine account with Home Assistant.
|
||||||
ha_category:
|
ha_category:
|
||||||
- Binary sensor
|
- Binary sensor
|
||||||
|
- Button
|
||||||
- Car
|
- Car
|
||||||
- Lock
|
- Lock
|
||||||
- Presence detection
|
- Presence detection
|
||||||
- Sensor
|
- Sensor
|
||||||
- Switch
|
- Switch
|
||||||
- Button
|
|
||||||
ha_release: 0.103
|
ha_release: 0.103
|
||||||
ha_iot_class: Cloud Polling
|
ha_iot_class: Cloud Polling
|
||||||
ha_config_flow: true
|
ha_config_flow: true
|
||||||
@ -17,11 +17,11 @@ ha_codeowners:
|
|||||||
ha_domain: starline
|
ha_domain: starline
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- binary_sensor
|
- binary_sensor
|
||||||
|
- button
|
||||||
- device_tracker
|
- device_tracker
|
||||||
- lock
|
- lock
|
||||||
- sensor
|
- sensor
|
||||||
- switch
|
- switch
|
||||||
- button
|
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
---
|
---
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ description: Get energy usage from Southwestern Electric Power Company (SWEPCO)
|
|||||||
ha_category:
|
ha_category:
|
||||||
- Energy
|
- Energy
|
||||||
- Sensor
|
- Sensor
|
||||||
ha_release: 2024.1
|
ha_release: 2023.8
|
||||||
ha_domain: swepco
|
ha_domain: swepco
|
||||||
ha_integration_type: virtual
|
ha_integration_type: virtual
|
||||||
ha_supporting_domain: opower
|
ha_supporting_domain: opower
|
||||||
|
@ -10,6 +10,8 @@ ha_config_flow: true
|
|||||||
ha_platforms:
|
ha_platforms:
|
||||||
- sensor
|
- sensor
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
|
ha_codeowners:
|
||||||
|
- '@gjohansson-ST'
|
||||||
---
|
---
|
||||||
|
|
||||||
The System monitor integration allows you to monitor disk usage,
|
The System monitor integration allows you to monitor disk usage,
|
||||||
|
@ -14,6 +14,7 @@ ha_iot_class: Cloud Polling
|
|||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@michaelarnauts'
|
- '@michaelarnauts'
|
||||||
- '@chiefdragon'
|
- '@chiefdragon'
|
||||||
|
- '@erwindouna'
|
||||||
ha_domain: tado
|
ha_domain: tado
|
||||||
ha_config_flow: true
|
ha_config_flow: true
|
||||||
ha_homekit: true
|
ha_homekit: true
|
||||||
|
@ -14,8 +14,11 @@ ha_platforms:
|
|||||||
- binary_sensor
|
- binary_sensor
|
||||||
- button
|
- button
|
||||||
- cover
|
- cover
|
||||||
|
- diagnostics
|
||||||
- number
|
- number
|
||||||
ha_integration_type: device
|
ha_integration_type: device
|
||||||
|
ha_quality_scale: platinum
|
||||||
|
ha_dhcp: true
|
||||||
---
|
---
|
||||||
|
|
||||||
The Tailwind integration integrates [Tailwind](https://gotailwind.com/)
|
The Tailwind integration integrates [Tailwind](https://gotailwind.com/)
|
||||||
|
@ -12,6 +12,7 @@ ha_codeowners:
|
|||||||
- '@mib1185'
|
- '@mib1185'
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- binary_sensor
|
- binary_sensor
|
||||||
|
- diagnostics
|
||||||
- sensor
|
- sensor
|
||||||
ha_config_flow: true
|
ha_config_flow: true
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
|
@ -27,7 +27,9 @@ ha_platforms:
|
|||||||
- lock
|
- lock
|
||||||
- media_player
|
- media_player
|
||||||
- number
|
- number
|
||||||
|
- select
|
||||||
- sensor
|
- sensor
|
||||||
|
- switch
|
||||||
- update
|
- update
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
---
|
---
|
||||||
|
@ -107,7 +107,7 @@ Change an active timer. This changes the duration of the timer with the duration
|
|||||||
|
|
||||||
### Service `timer.pause`
|
### Service `timer.pause`
|
||||||
|
|
||||||
Pause a running timer. This will retain the remaining duration for later continuation. You can also use `entity_id: all` and all active timers will be paused.
|
Pause a running timer. This will retain the remaining duration for later continuation. To resume a timer use the `timer.start` service without passing a duration. You can also use `entity_id: all` and all active timers will be paused.
|
||||||
|
|
||||||
| Service data attribute | Optional | Description |
|
| Service data attribute | Optional | Description |
|
||||||
| ---------------------- | -------- | ----------- |
|
| ---------------------- | -------- | ----------- |
|
||||||
|
@ -3,8 +3,8 @@ title: Trend
|
|||||||
description: Instructions on how to integrate Trend binary sensors into Home Assistant.
|
description: Instructions on how to integrate Trend binary sensors into Home Assistant.
|
||||||
ha_category:
|
ha_category:
|
||||||
- Binary sensor
|
- Binary sensor
|
||||||
- Utility
|
|
||||||
- Helper
|
- Helper
|
||||||
|
- Utility
|
||||||
ha_release: 0.28
|
ha_release: 0.28
|
||||||
ha_iot_class: Calculated
|
ha_iot_class: Calculated
|
||||||
ha_quality_scale: internal
|
ha_quality_scale: internal
|
||||||
|
@ -9,6 +9,8 @@ ha_domain: unifi_direct
|
|||||||
ha_platforms:
|
ha_platforms:
|
||||||
- device_tracker
|
- device_tracker
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
|
ha_codeowners:
|
||||||
|
- '@tofuSCHNITZEL'
|
||||||
---
|
---
|
||||||
|
|
||||||
This platform allows you to detect presence by looking at devices connected to a [UniFi AP](https://www.ui.com/products/#unifi). This device tracker differs from [Ubiquiti UniFi](/integrations/unifi) because it doesn't require the UniFi Network application.
|
This platform allows you to detect presence by looking at devices connected to a [UniFi AP](https://www.ui.com/products/#unifi). This device tracker differs from [Ubiquiti UniFi](/integrations/unifi) because it doesn't require the UniFi Network application.
|
||||||
|
@ -53,11 +53,11 @@ This {% term integration %} supports all UniFi OS Consoles that can run UniFi Pr
|
|||||||
- Any UniFi "Dream" device (**[UDMPRO](https://store.ui.com/collections/unifi-network-unifi-os-consoles/products/udm-pro)**, **[UDR](https://store.ui.com/collections/unifi-network-unifi-os-consoles/products/dream-router)**, or **[UDMSE](https://store.ui.com/collections/unifi-network-unifi-os-consoles/products/dream-machine-se)**), _except the base UniFi Dream Machine/UDM_
|
- Any UniFi "Dream" device (**[UDMPRO](https://store.ui.com/collections/unifi-network-unifi-os-consoles/products/udm-pro)**, **[UDR](https://store.ui.com/collections/unifi-network-unifi-os-consoles/products/dream-router)**, or **[UDMSE](https://store.ui.com/collections/unifi-network-unifi-os-consoles/products/dream-machine-se)**), _except the base UniFi Dream Machine/UDM_
|
||||||
- UniFi Cloud Key Gen2 Plus (**[UCKP](https://store.ui.com/collections/unifi-protect-nvr/products/unifi-cloudkey-plus)**) firmware version v2.0.24+
|
- UniFi Cloud Key Gen2 Plus (**[UCKP](https://store.ui.com/collections/unifi-protect-nvr/products/unifi-cloudkey-plus)**) firmware version v2.0.24+
|
||||||
|
|
||||||
UCKP with Firmware v1.x **do NOT run UniFi OS**, you must upgrade to firmware `[v2.0.24](https://community.ui.com/releases/UniFi-Cloud-Key-Firmware-2-0-24/b6684f1e-8542-4660-bc0b-74e0634448e8)` or newer.
|
UCKP with Firmware v1.x **do NOT run UniFi OS**, you must upgrade to firmware [`v2.0.24`](https://community.ui.com/releases/UniFi-Cloud-Key-Firmware-2-0-24/b6684f1e-8542-4660-bc0b-74e0634448e8) or newer.
|
||||||
|
|
||||||
### Software support
|
### Software support
|
||||||
|
|
||||||
The absolute **minimal** software version is `[v1.20.0](https://community.ui.com/releases/UniFi-Protect-Application-1-20-0/d43c0905-3fb4-456b-a7ca-73aa830cb011)` for UniFi Protect. If you have an older version, you will get errors trying to set up the integration. However, the general advice is the latest 2 minor versions of UniFi Protect and hardware supported by those are supported.
|
The absolute **minimal** software version is [`v1.20.0`](https://community.ui.com/releases/UniFi-Protect-Application-1-20-0/d43c0905-3fb4-456b-a7ca-73aa830cb011) for UniFi Protect. If you have an older version, you will get errors trying to set up the integration. However, the general advice is the latest 2 minor versions of UniFi Protect and hardware supported by those are supported.
|
||||||
|
|
||||||
<div class='note warning'>
|
<div class='note warning'>
|
||||||
|
|
||||||
|
@ -14,7 +14,6 @@ ha_domain: utility_meter
|
|||||||
ha_platforms:
|
ha_platforms:
|
||||||
- select
|
- select
|
||||||
- sensor
|
- sensor
|
||||||
ha_config_flow: true
|
|
||||||
ha_integration_type: helper
|
ha_integration_type: helper
|
||||||
---
|
---
|
||||||
|
|
||||||
|
@ -12,6 +12,7 @@ ha_codeowners:
|
|||||||
- '@markperdue'
|
- '@markperdue'
|
||||||
- '@webdjoe'
|
- '@webdjoe'
|
||||||
- '@thegardenmonkey'
|
- '@thegardenmonkey'
|
||||||
|
- '@cdnninja'
|
||||||
ha_domain: vesync
|
ha_domain: vesync
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- diagnostics
|
- diagnostics
|
||||||
|
@ -192,4 +192,4 @@ weather.toronto_forecast:
|
|||||||
temperature: 0
|
temperature: 0
|
||||||
```
|
```
|
||||||
|
|
||||||
{% enddetails %}
|
{% enddetails %}
|
||||||
|
@ -15,6 +15,7 @@ ha_config_flow: true
|
|||||||
ha_platforms:
|
ha_platforms:
|
||||||
- stt
|
- stt
|
||||||
- tts
|
- tts
|
||||||
|
- wake_word
|
||||||
ha_iot_class: Local Push
|
ha_iot_class: Local Push
|
||||||
---
|
---
|
||||||
|
|
||||||
|
@ -11,10 +11,14 @@ ha_codeowners:
|
|||||||
ha_domain: wyoming
|
ha_domain: wyoming
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
|
- binary_sensor
|
||||||
|
- number
|
||||||
|
- select
|
||||||
- stt
|
- stt
|
||||||
|
- switch
|
||||||
- tts
|
- tts
|
||||||
- wake_word
|
|
||||||
ha_config_flow: true
|
ha_config_flow: true
|
||||||
|
ha_zeroconf: true
|
||||||
---
|
---
|
||||||
|
|
||||||
The **Wyoming** {% term integration %} connects external voice services to Home Assistant using a [small protocol](https://github.com/rhasspy/rhasspy3/blob/master/docs/wyoming.md). This enables [Assist](/voice_control/) to use a variety of local [speech-to-text](/integrations/stt/), [text-to-speech](/integrations/tts/), and [wake-word-detection](/integrations/wake_word/) systems, such as:
|
The **Wyoming** {% term integration %} connects external voice services to Home Assistant using a [small protocol](https://github.com/rhasspy/rhasspy3/blob/master/docs/wyoming.md). This enables [Assist](/voice_control/) to use a variety of local [speech-to-text](/integrations/stt/), [text-to-speech](/integrations/tts/), and [wake-word-detection](/integrations/wake_word/) systems, such as:
|
||||||
|
579
source/_posts/2024-01-03-release-20241.markdown
Normal file
@ -0,0 +1,579 @@
|
|||||||
|
---
|
||||||
|
layout: post
|
||||||
|
title: "2024.1: Happy automating!"
|
||||||
|
description: "Happy New Year! 🥂 2024.1 starts with many UI improvements to our automation editor, due date and description support for to-do items, a brand new valve entity, and more card features!"
|
||||||
|
date: 2024-01-03 00:00:00
|
||||||
|
date_formatted: "January 3, 2024"
|
||||||
|
author: Franck Nijhof
|
||||||
|
author_twitter: frenck
|
||||||
|
comments: true
|
||||||
|
categories:
|
||||||
|
- Release-Notes
|
||||||
|
- Core
|
||||||
|
og_image: /images/blog/2024-01/social.png
|
||||||
|
---
|
||||||
|
|
||||||
|
<a href='/integrations/#version/2024.1'><img src='/images/blog/2024-01/social.png' style='border: 0;box-shadow: none;'></a>
|
||||||
|
|
||||||
|
Happy New Year! 🍾
|
||||||
|
|
||||||
|
We wish you, and all the loved ones around you, all the best for 2024! 🥂
|
||||||
|
|
||||||
|
I cannot think of a better way to start the new year: Home Assistant Core 2024.1! 🎉
|
||||||
|
|
||||||
|
This release is fairly small, as expected; we are just coming out of the holiday
|
||||||
|
season. However, it does contain some nice improvements and
|
||||||
|
features to be excited about and a stunning total of 13 new integrations!
|
||||||
|
|
||||||
|
My favorite: the automation editor changes. It had quite a bunch of user
|
||||||
|
interface tweaks. Most are focused on making it friendlier and easier to use
|
||||||
|
for new and long-term users, making it quicker to find the right trigger,
|
||||||
|
condition, or action.
|
||||||
|
|
||||||
|
I greatly like this improved experience, and I hope you do too!
|
||||||
|
|
||||||
|
Enjoy the release!
|
||||||
|
|
||||||
|
../Frenck
|
||||||
|
|
||||||
|
<!--more-->
|
||||||
|
|
||||||
|
- [Automation editor improvements](#automation-editor-improvements)
|
||||||
|
- [Improved empty automations dashboard](#improved-empty-automations-dashboard)
|
||||||
|
- [Guidance when creating a new automation](#guidance-when-creating-a-new-automation)
|
||||||
|
- [Building blocks](#building-blocks)
|
||||||
|
- [Improved trigger, condition \& action buttons](#improved-trigger-condition--action-buttons)
|
||||||
|
- [Unified actions](#unified-actions)
|
||||||
|
- [Description \& due date support for to-do list items](#description--due-date-support-for-to-do-list-items)
|
||||||
|
- [New entity type: Valve](#new-entity-type-valve)
|
||||||
|
- [Swappable current/target on thermostat \& humidifier cards](#swappable-currenttarget-on-thermostat--humidifier-cards)
|
||||||
|
- [New card features](#new-card-features)
|
||||||
|
- [Other noteworthy changes](#other-noteworthy-changes)
|
||||||
|
- [New integrations](#new-integrations)
|
||||||
|
- [Integrations now available to set up from the UI](#integrations-now-available-to-set-up-from-the-ui)
|
||||||
|
- [Need help? Join the community!](#need-help-join-the-community)
|
||||||
|
- [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=dRwzSkKYIDs)
|
||||||
|
3 January 2024, at 12:00 PST / 21:00 CET!
|
||||||
|
|
||||||
|
<lite-youtube videoid="dRwzSkKYIDs" videotitle="Home Assistant 2024.1 Release Party"></lite-youtube>
|
||||||
|
|
||||||
|
## Automation editor improvements
|
||||||
|
|
||||||
|
The automation editor got some love for this release, with many small
|
||||||
|
improvements to make it easier for both new and long-time users.
|
||||||
|
|
||||||
|
As there are many small improvements, let’s go over them individually.
|
||||||
|
|
||||||
|
PS: One quick note: all changes are UI changes, meaning that these changes
|
||||||
|
do not affect the underlying automation configuration. All your existing
|
||||||
|
automations will continue to work as they did before.
|
||||||
|
|
||||||
|
### Improved empty automations dashboard
|
||||||
|
|
||||||
|
If you start with Home Assistant, visiting the automations dashboard would
|
||||||
|
result in an empty page. That is not very helpful if you see this for the
|
||||||
|
first time. So, we’ve improved that!
|
||||||
|
|
||||||
|
You are now greeted by the little automation robot that explains what an
|
||||||
|
automation is and references to the documentation that can help you get started.
|
||||||
|
|
||||||
|
<img class="no-shadow" src='/images/blog/2024-01/start-automating.png' alt='Screenshot showing an empty automations dashboard, explaining what automations are.'>
|
||||||
|
|
||||||
|
A small but effective improvement to help new users get started. We have also
|
||||||
|
applied this same improvement to the scripts and scenes dashboards.
|
||||||
|
|
||||||
|
### Guidance when creating a new automation
|
||||||
|
|
||||||
|
When starting a new automation from scratch, you used to be greeted by some,
|
||||||
|
possibly, new terminology and almost a blank page with some buttons to
|
||||||
|
add triggers, conditions or actions. As a new user, this immediately imposes
|
||||||
|
a challenge: what do I need to do?
|
||||||
|
|
||||||
|
You guessed it: We have slightly improved that. We have changed the big headers
|
||||||
|
to be more descriptive and less technical. We have also added some help text to
|
||||||
|
explain each section, including examples of what they can be used for.
|
||||||
|
|
||||||
|
<img class="no-shadow" src='/images/blog/2024-01/automation-descriptions.png' alt='Screenshot showing descriptions on what each section in an automation is and can be used for.'>
|
||||||
|
|
||||||
|
Don’t worry; we’ll hide the explanation once you add elements to the sections
|
||||||
|
to keep the overview of existing automations as clean as possible.
|
||||||
|
|
||||||
|
### Building blocks
|
||||||
|
|
||||||
|
You might have noticed in the screenshots above the conditions and actions have
|
||||||
|
a new button next to them: **+ Add building block**.
|
||||||
|
|
||||||
|
Selecting these new buttons allows you to add logical elements to your
|
||||||
|
automation or scripts, like **And**, **Or**, **If-then**, **Choose**, etc.
|
||||||
|
|
||||||
|
These used to be mixed in with the conditions and actions but now have their
|
||||||
|
own dedicated button. It makes it easier to find them and declutters the
|
||||||
|
list of conditions and actions.
|
||||||
|
|
||||||
|
<img class="no-shadow" src='/images/blog/2024-01/automation-building-blocks.png' alt='Screenshot showing the new dialog that allows you to add logical building blocks to automations.'>
|
||||||
|
|
||||||
|
Notice how this now opens up a dialog? A dialog gives us more space to describe
|
||||||
|
what each building block does and room for a search box to find the one you need.
|
||||||
|
|
||||||
|
### Improved trigger, condition & action buttons
|
||||||
|
|
||||||
|
The bigger change can be found in the buttons to add a trigger, conditions,
|
||||||
|
or actions to your automation. This change was not just aimed at new users
|
||||||
|
but also long-time users.
|
||||||
|
|
||||||
|
All these buttons are used to give a dropdown that allows you to select the
|
||||||
|
type of trigger, condition, or action you want to add. This dropdown has been
|
||||||
|
replaced by a new dialog similar to the one we just saw for the building blocks.
|
||||||
|
|
||||||
|
Like the building block, it describes what each trigger, condition,
|
||||||
|
or action does. These descriptions are important, as they help you understand
|
||||||
|
what they do.
|
||||||
|
|
||||||
|
<img class="no-shadow" src='/images/blog/2024-01/add-trigger-dialog.png' alt='Screenshot showing the new add trigger dialog, which displayed the most common triggers first.'>
|
||||||
|
|
||||||
|
If you add an element, we will first show you the most used
|
||||||
|
triggers/conditions/actions by our community. We now have all others neatly
|
||||||
|
grouped. For actions, we took it a step further and unified them with
|
||||||
|
service calls.
|
||||||
|
|
||||||
|
### Unified actions
|
||||||
|
|
||||||
|
If you have been using Home Assistant for a while, you are probably familiar
|
||||||
|
with the “service call”-action that you can add to your automation. But,
|
||||||
|
honestly, what is a “service call”? It is a bit of a technical term that is
|
||||||
|
especially confusing for newer users. You just want to turn on a light, right?
|
||||||
|
|
||||||
|
This release unifies those “service calls” with all other actions, meaning
|
||||||
|
there is no “service call” anymore; that layer has been refactored from the UI.
|
||||||
|
Instead, you add an action and select the action you want to take, for example,
|
||||||
|
turn on a light.
|
||||||
|
|
||||||
|
<img class="no-shadow" src='/images/blog/2024-01/add-light-action.png' alt='Screenshot showing the new add action dialog, which now shows all possible actions, including services.'>
|
||||||
|
|
||||||
|
This means that if you add an action, you see all actions (including all
|
||||||
|
service calls), categorized, with description, and searchable! Being able
|
||||||
|
to search through all available actions is a huge improvement.
|
||||||
|
|
||||||
|
<img class="no-shadow" src='/images/blog/2024-01/add-action-search.png' alt='Screenshot showing the new add action dialog utilizing the search function to find whatever you need.'>
|
||||||
|
|
||||||
|
By default, just like with the triggers and conditions, we show you the most
|
||||||
|
used actions first and the actions for the entities you have on your system.
|
||||||
|
All others are neatly grouped by integration in the **Other actions** section.
|
||||||
|
|
||||||
|
<img class="no-shadow" src='/images/blog/2024-01/add-action-other-integrations.png' alt='Screenshot showing the new add action dialog that neatly groups all other actions that integrations provide.'>
|
||||||
|
|
||||||
|
## Description & due date support for to-do list items
|
||||||
|
|
||||||
|
The to-do list integration keeps getting better and better. This release adds
|
||||||
|
support for descriptions and due dates!
|
||||||
|
|
||||||
|
If the integration you are using supports it, you can now add descriptions to
|
||||||
|
each task on your list. It fully supports the Markdown markup to add links,
|
||||||
|
bold text, etc. If due dates (or due date + time) are supported, you can
|
||||||
|
set these.
|
||||||
|
|
||||||
|
<img class="no-shadow" src='/images/blog/2024-01/todo-dialog.png' alt='Screenshot showing the new to-do item dialog, where you now can set a description and a URL.'>
|
||||||
|
|
||||||
|
As shown in the screenshot above, there is a whole new dialog to adjust
|
||||||
|
your to-do item. But this is not the only change. The list itself has been
|
||||||
|
improved as well.
|
||||||
|
|
||||||
|
<img class="no-shadow" src='/images/blog/2024-01/todo-new-dashboard.png' alt='Screenshot showing the improve to-do dashboard, showing descriptions and highlighting overdue items.'>
|
||||||
|
|
||||||
|
It is much cleaner, all big text boxes are gone, and each item is nicely
|
||||||
|
formatted, including an excerpt of the description and the due date. If the due
|
||||||
|
date is overdue, it will be highlighted.
|
||||||
|
|
||||||
|
## New entity type: Valve
|
||||||
|
|
||||||
|
A brand new entity type has been added to Home Assistant: Valve!
|
||||||
|
|
||||||
|
Integrations can use this entity type to expose valves, such as a valve on
|
||||||
|
a radiator, pool, sprinkler system, and main house gas or water line.
|
||||||
|
|
||||||
|
<img class="no-shadow" src='/images/blog/2024-01/valve-entity-type.png' alt='Screenshot showing a valve entity in the Home Assistant UI.'>
|
||||||
|
|
||||||
|
Currently, the [Shelly integration] supports it and now provides a `valve` entity
|
||||||
|
for the Valve addon for Shelly Gas. Additionally, support for it has been
|
||||||
|
added to [MQTT], and the valve entities also work with Amazon Alexa
|
||||||
|
and Google Assistant.
|
||||||
|
|
||||||
|
Tip: Do you have a switch entity that controls a valve? You can now change the
|
||||||
|
entity type to valve in the entity settings.
|
||||||
|
|
||||||
|
[Shelly integration]: /integrations/shelly
|
||||||
|
[MQTT]: integrations/valve.mqtt
|
||||||
|
|
||||||
|
## Swappable current/target on thermostat & humidifier cards
|
||||||
|
|
||||||
|
By popular demand, the thermostat and humidifier cards now support setting
|
||||||
|
current temperature/humidity as the primary information to show on the
|
||||||
|
card.
|
||||||
|
|
||||||
|
You can enable the **show current temperature as primary information** option
|
||||||
|
in the card, which will result in the target temperature being swapped with the
|
||||||
|
current temperature in the card.
|
||||||
|
|
||||||
|
<img class="no-shadow" src='/images/blog/2024-01/climate-card-change-primary-temperature.png' alt='Screenshot showing two thermostat cards. One has the setpoint as a primary temperature, the other the current temperature.'>
|
||||||
|
|
||||||
|
## New card features
|
||||||
|
|
||||||
|
Last year, we saw many new features added to the cards, so let's start
|
||||||
|
the new year with some more!
|
||||||
|
|
||||||
|
[@Quentame] added the climate fan mode card feature. This feature can be
|
||||||
|
used with both the thermostat and the tile card:
|
||||||
|
|
||||||
|
<img class="no-shadow" src='/images/blog/2024-01/climate-fan-card-feature.png' alt='Screenshot showing the new fan mode card feature that can be used on the tile and thermostat cards.'>
|
||||||
|
|
||||||
|
Also new is the update actions card feature. This addition by [@piitaya] allows
|
||||||
|
you to add buttons to a card to trigger update actions when pressed.
|
||||||
|
|
||||||
|
<img class="no-shadow" src='/images/blog/2024-01/update-card-feature.png' alt='Screenshot showing the new update card feature the can be used on the tile card.'>
|
||||||
|
|
||||||
|
[@piitaya]: https://github.com/piitaya
|
||||||
|
[@Quentame]: https://github.com/Quentame
|
||||||
|
|
||||||
|
## Other noteworthy changes
|
||||||
|
|
||||||
|
There are many more improvements in this release; here are some of the other
|
||||||
|
noteworthy changes this release:
|
||||||
|
|
||||||
|
- Two brand new [template functions] have been added this release: `median` and
|
||||||
|
`statistical_mode`. Thanks, [@TheFes]!
|
||||||
|
- [@bieniu] added support for the brand new Shelly 3rd generation devices to
|
||||||
|
the [Shelly] integration. Nice!
|
||||||
|
- A long-time shutdown bug has been fixed: You can now run automations triggered
|
||||||
|
when Home Assistant shuts down. This could, for example, be used to send
|
||||||
|
yourself a notification when that happens. Thanks, [@tetele]!
|
||||||
|
- Created your own fan controller using [ESPHome]? You can now add preset modes
|
||||||
|
to it! Thanks, [@mill1000]!
|
||||||
|
- The [ping] integration now has the option to configure the number of seconds
|
||||||
|
that must elapse before considering a disconnected device "not at home".
|
||||||
|
Awesome, [@jpbede]!
|
||||||
|
- Looking for the ZAMG integration? It has been renamed to [GeoSphere Austria].
|
||||||
|
Thanks, [@killer0071234]!
|
||||||
|
- Got one of those Sonos amps? [@jjlawren] added support for the subwoofer
|
||||||
|
crossover setting to the [Sonos] integration. Nice!
|
||||||
|
- [@tkdrob] added support for the new calendar entity to the [Radarr] integration.
|
||||||
|
So you can see the release schedules straight from Home Assistant. Awesome!
|
||||||
|
- You can now configure the minimal number of samples the [trend] helper uses.
|
||||||
|
It allows you to make it less sensitive when there is not that much data.
|
||||||
|
Thanks, [@jpbede]!
|
||||||
|
- Got cold toes in bed? [@kbickar] to the rescue! He added support for
|
||||||
|
foot warmers to the [SleepIQ] integration. Nice!
|
||||||
|
|
||||||
|
[@bieniu]: https://github.com/bieniu
|
||||||
|
[@jjlawren]: https://github.com/jjlawren
|
||||||
|
[@jpbede]: https://github.com/jpbede
|
||||||
|
[@kbickar]: https://github.com/kbickar
|
||||||
|
[@killer0071234]: https://github.com/killer0071234
|
||||||
|
[@mill1000]: https://github.com/mill1000
|
||||||
|
[@tetele]: https://github.com/tetele
|
||||||
|
[@TheFes]: https://github.com/TheFes
|
||||||
|
[@tkdrob]: https://github.com/tkdrob
|
||||||
|
[ESPHome]: /integrations/esphome
|
||||||
|
[GeoSphere Austria]: /integrations/zamg
|
||||||
|
[ping]: /integrations/ping
|
||||||
|
[Radarr]: /integrations/radarr
|
||||||
|
[Shelly]: /integrations/shelly
|
||||||
|
[SleepIQ]: /integrations/sleepiq
|
||||||
|
[Sonos]: /integrations/sonos
|
||||||
|
[template functions]: /docs/configuration/templating/#numeric-functions-and-filters
|
||||||
|
[trend]: /integrations/trend
|
||||||
|
|
||||||
|
## New integrations
|
||||||
|
|
||||||
|
We welcome the following new integrations in this release:
|
||||||
|
|
||||||
|
- **[A. O. Smith]**, added by [@bdr99]<br />
|
||||||
|
Integrate and control your A. O. Smith water heater.
|
||||||
|
- **[Blue Current]**, added by [@Floris272]<br />
|
||||||
|
Monitor your Blue Current EV charger charge point(s).
|
||||||
|
- **[DROP]**, added by [@pfrazer]<br />
|
||||||
|
Manage your DROP Smart Water System with Home Assistant.
|
||||||
|
- **[Flexit Nordic (BACnet)]**, added by [@lellky]<br />
|
||||||
|
Control and monitor your Flexit Nordic series air handling units.
|
||||||
|
- **[Holiday]**, added by [@jrieger]<br />
|
||||||
|
Add holiday calendars to Home Assistant for powering automations.
|
||||||
|
- **[Midea CCM15 AC Controller]**, added by [@ocalvo]<br />
|
||||||
|
Use your AC connected to a Midea CCM15 AC Controller.
|
||||||
|
- **[OSO Energy]**, added by [@osohotwateriot]<br />
|
||||||
|
Use your OSO Energy water heater with Home Assistant.
|
||||||
|
- **[Sun WEG]**, added by [@rokam]<br />
|
||||||
|
Collect and monitor energy production data from your Sun WEG inverter.
|
||||||
|
- **[Tailwind]**, added by [@frenck]<br />
|
||||||
|
Operate your garage door openers connected to a Tailwind smart garage door controller.
|
||||||
|
- **[Tessie]**, added by [@Bre77]<br />
|
||||||
|
Integrate, monitor and control your Tesla vehicle connected to the Tessie platform.
|
||||||
|
- **[Refoss]**, added by [@ashionky]<br />
|
||||||
|
Use your Refoss smart devices directly with Home Assistant.
|
||||||
|
- **[Valve]**, added by [@cibernox]<br />
|
||||||
|
An entity type for valves, which can be used by integrations to expose valves.
|
||||||
|
- **[Vogel's MotionMount]**, added by [@RJPoelstra]<br />
|
||||||
|
Control the position of your Vogel's MotionMount TV mount.
|
||||||
|
|
||||||
|
[@ashionky]: https://github.com/ashionky
|
||||||
|
[@bdr99]: https://github.com/bdr99
|
||||||
|
[@Bre77]: https://github.com/Bre77
|
||||||
|
[@cibernox]: https://github.com/cibernox
|
||||||
|
[@Floris272]: https://github.com/Floris272
|
||||||
|
[@frenck]: https://github.com/frenck
|
||||||
|
[@jrieger]: https://github.com/jrieger
|
||||||
|
[@lellky]: https://github.com/lellky
|
||||||
|
[@ocalvo]: https://github.com/ocalvo
|
||||||
|
[@osohotwateriot]: https://github.com/osohotwateriot
|
||||||
|
[@pfrazer]: https://github.com/pfrazer
|
||||||
|
[@RJPoelstra]: https://github.com/RJPoelstra
|
||||||
|
[@rokam]: https://github.com/rokam
|
||||||
|
[A. O. Smith]: /integrations/aosmith
|
||||||
|
[Blue Current]: /integrations/blue_current
|
||||||
|
[DROP]: /integrations/drop_connect
|
||||||
|
[Flexit Nordic (BACnet)]: /integrations/flexit_bacnet
|
||||||
|
[Holiday]: /integrations/holiday
|
||||||
|
[Midea CCM15 AC Controller]: /integrations/ccm15
|
||||||
|
[OSO Energy]: /integrations/osoenergy
|
||||||
|
[Refoss]: /integrations/refoss
|
||||||
|
[Sun WEG]: /integrations/sunweg
|
||||||
|
[Tailwind]: /integrations/tailwind
|
||||||
|
[Tessie]: /integrations/tessie
|
||||||
|
[Valve]: /integrations/valve
|
||||||
|
[Vogel's MotionMount]: /integrations/motionmount
|
||||||
|
|
||||||
|
This release also has a new virtual integration. Virtual integrations are stubs
|
||||||
|
that are handled by other (existing) integrations to help with findability.
|
||||||
|
The following virtual integrations have been added:
|
||||||
|
|
||||||
|
- **[AEP Ohio]**, provided by [Opower]
|
||||||
|
- **[AEP Texas]**, provided by [Opower]
|
||||||
|
- **[Appalachian Power]**, provided by [Opower]
|
||||||
|
- **[Fujitsu anywAIR]**, provided by [Advantage Air]
|
||||||
|
- **[Indiana Michigan Power]**, provided by [Opower]
|
||||||
|
- **[Kentucky Power]**, provided by [Opower]
|
||||||
|
- **[Public Service Company of Oklahoma (PSO)]**, provided by [Opower]
|
||||||
|
- **[Seattle City Light]**, provided by [Opower]
|
||||||
|
- **[Southwestern Electric Power Company (SWEPCO)]**, provided by [Opower]
|
||||||
|
|
||||||
|
[Advantage Air]: /integrations/advantage_air
|
||||||
|
[AEP Ohio]: /integrations/aep_ohio
|
||||||
|
[AEP Texas]: /integrations/aep_texas
|
||||||
|
[Appalachian Power]: /integrations/appalachianpower
|
||||||
|
[Fujitsu anywAIR]: /integrations/fujitsu_anywair
|
||||||
|
[Indiana Michigan Power]: /integrations/indianamichiganpower
|
||||||
|
[Kentucky Power]: /integrations/kentuckypower
|
||||||
|
[Opower]: /integrations/opower
|
||||||
|
[Public Service Company of Oklahoma (PSO)]: /integrations/psoklahoma
|
||||||
|
[Seattle City Light]: /integrations/scl
|
||||||
|
[Southwestern Electric Power Company (SWEPCO)]: /integrations/swepco
|
||||||
|
|
||||||
|
## Integrations now available to set up from the UI
|
||||||
|
|
||||||
|
The following integrations are now available via the Home Assistant UI:
|
||||||
|
|
||||||
|
- **[Netgear LTE]**, done by [@tkdrob]
|
||||||
|
- **[StreamLabs]**, done by [@joostlek]
|
||||||
|
- **[Suez Water]**, done by [@joostlek]
|
||||||
|
- **[Swiss public transport]**, done by [@miaucl]
|
||||||
|
- **[System Monitor]**, done by [@gjohansson-ST]
|
||||||
|
- **[Trend]**, done by [@jpbede]
|
||||||
|
|
||||||
|
[@gjohansson-ST]: https://github.com/gjohansson-ST
|
||||||
|
[@joostlek]: https://github.com/joostlek
|
||||||
|
[@jpbede]: https://github.com/jpbede
|
||||||
|
[@miaucl]: https://github.com/miaucl
|
||||||
|
[@tkdrob]: https://github.com/tkdrob
|
||||||
|
[Netgear LTE]: /integrations/netgear_lte
|
||||||
|
[StreamLabs]: /integrations/streamlabswater
|
||||||
|
[Suez Water]: /integrations/suez_water
|
||||||
|
[Swiss public transport]: /integrations/swiss_public_transport
|
||||||
|
[System Monitor]: /integrations/systemmonitor
|
||||||
|
[Trend]: /integrations/trend
|
||||||
|
|
||||||
|
## 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
|
||||||
|
|
||||||
|
{% details "Blink" %}
|
||||||
|
|
||||||
|
The service calls of Blink have been adjusted. This affects
|
||||||
|
`blink.trigger_camera`, `blink.save_video` and `blink.save_recent_clips`.
|
||||||
|
|
||||||
|
This change will require these service calls to be updated with a `target` for
|
||||||
|
the camera and by removing `name` from `data` of the blink service calls.
|
||||||
|
|
||||||
|
For example, service call before 2023.11:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
service: blink.save_video
|
||||||
|
data:
|
||||||
|
name: Front door
|
||||||
|
filename: test.mp4
|
||||||
|
```
|
||||||
|
|
||||||
|
Service call after 2023.11 and before 2024.1:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
service: blink.save_video
|
||||||
|
data:
|
||||||
|
device_id: 87dc3b85c18ee84f8c322a95e8230eb2
|
||||||
|
name: Front door
|
||||||
|
filename: test.mp4
|
||||||
|
```
|
||||||
|
|
||||||
|
New service call:
|
||||||
|
```yaml
|
||||||
|
service: blink.save_video
|
||||||
|
target:
|
||||||
|
entity_id:
|
||||||
|
- camera.front_door
|
||||||
|
data:
|
||||||
|
filename: test.mp4
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
The `blink.send_pin` service now uses an integration/configuration entry selector:
|
||||||
|
|
||||||
|
Example service call before 2023.11:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
service: blink.send_pin
|
||||||
|
data:
|
||||||
|
pin: "1234"
|
||||||
|
```
|
||||||
|
|
||||||
|
Service call after 2023.11 and before 2024.1:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
service: blink.send_pin
|
||||||
|
data:
|
||||||
|
pin: "1234"
|
||||||
|
device_id: 87dc3b85c18ee84f8c322a95e8230eb2
|
||||||
|
```
|
||||||
|
|
||||||
|
New service call:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
service: blink.send_pin
|
||||||
|
data:
|
||||||
|
config_entry_id: a1bee602deade2b09bc522749bbce48e
|
||||||
|
pin: "1234"
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
The `blink.blink_update` service is deprecated and will be removed in 2024.7.0.
|
||||||
|
Use the `homeassistant.update_entity` service instead.
|
||||||
|
|
||||||
|
([@mkmer] - [#105413]) ([documentation](/integrations/blink))
|
||||||
|
|
||||||
|
[@mkmer]: https://github.com/mkmer
|
||||||
|
[#105413]: https://github.com/home-assistant/core/pull/105413
|
||||||
|
|
||||||
|
{% enddetails %}
|
||||||
|
|
||||||
|
{% details "Home Assistant shutdown event" %}
|
||||||
|
|
||||||
|
The event key in the (undocumented) trigger data for the `homeassistant` trigger
|
||||||
|
platform is now the string `shutdown` for a `homeassistant` trigger configured
|
||||||
|
to fire on shutdown instead of an `Event` object.
|
||||||
|
|
||||||
|
([@tetele] - [#91165]) ([documentation](/integrations/homeassistant))
|
||||||
|
|
||||||
|
[@tetele]: https://github.com/tetele
|
||||||
|
[#91165]: https://github.com/home-assistant/core/pull/91165
|
||||||
|
|
||||||
|
{% enddetails %}
|
||||||
|
|
||||||
|
{% details "Modbus" %}
|
||||||
|
|
||||||
|
Setting `swap: none` has been removed from the Modbus configuration.
|
||||||
|
It is identical to omitting it: `swap:`.
|
||||||
|
|
||||||
|
([@janiversen] - [#104713]) ([documentation](/integrations/modbus))
|
||||||
|
|
||||||
|
[@janiversen]: https://github.com/janiversen
|
||||||
|
[#104713]: https://github.com/home-assistant/core/pull/104713
|
||||||
|
|
||||||
|
{% enddetails %}
|
||||||
|
|
||||||
|
{% details "PrusaLink" %}
|
||||||
|
|
||||||
|
- The printer state now contains several new statuses, most importantly
|
||||||
|
"attention", which always needs your intervention.
|
||||||
|
- Firmware 4.7.0 is now the minimum version for Prusa XL and MK4.
|
||||||
|
- Firmware 5.1.0 is now the minimum version for Prusa Mini since 4.7.x and 5.0.x
|
||||||
|
aren't available for the Mini.
|
||||||
|
|
||||||
|
([@Skaronator] - [#103396]) ([documentation](/integrations/prusalink))
|
||||||
|
|
||||||
|
[@Skaronator]: https://github.com/Skaronator
|
||||||
|
[#103396]: https://github.com/home-assistant/core/pull/103396
|
||||||
|
|
||||||
|
{% enddetails %}
|
||||||
|
|
||||||
|
{% details "Reolink" %}
|
||||||
|
|
||||||
|
The Reolink `Infrared lights in night mode` entity has been migrated from
|
||||||
|
the `light` to the `switch` domain.
|
||||||
|
|
||||||
|
This means the entity ID also changed, and automations and dashboards may need
|
||||||
|
to be adjusted to use the new entity ID.
|
||||||
|
|
||||||
|
If you want to go back to the light domain, use the
|
||||||
|
[switch_as_x "Show as" option](/integrations/switch_as_x/#change-device-type-of-a-switch-from-the-existing-entity)
|
||||||
|
on the new `Infrared lights in night mode` switch entity and select light.
|
||||||
|
|
||||||
|
([@starkillerOG] - [#105916]) ([documentation](/integrations/reolink))
|
||||||
|
|
||||||
|
[@starkillerOG]: https://github.com/starkillerOG
|
||||||
|
[#105916]: https://github.com/home-assistant/core/pull/105916
|
||||||
|
|
||||||
|
{% enddetails %}
|
||||||
|
|
||||||
|
{% details "Shelly" %}
|
||||||
|
|
||||||
|
The minimum supported firmware version for generation 1 devices is 1.11.0 (2021-07-15).
|
||||||
|
The minimum supported firmware version for generation 2 devices is 1.0.0 (2023-08-03).
|
||||||
|
|
||||||
|
You must update your devices to the firmware versions listed or newer.
|
||||||
|
|
||||||
|
([@bieniu] - [#105384]) ([documentation](/integrations/shelly))
|
||||||
|
|
||||||
|
[@bieniu]: https://github.com/bieniu
|
||||||
|
[#105384]: https://github.com/home-assistant/core/pull/105384
|
||||||
|
|
||||||
|
{% enddetails %}
|
||||||
|
|
||||||
|
If you are a custom integration developer and want to learn about breaking
|
||||||
|
changes and new features available for your integration: Be sure to follow our
|
||||||
|
[developer blog][devblog]. The following are the most notable for this release:
|
||||||
|
|
||||||
|
- [Changes to EntityDescription data classes](https://developers.home-assistant.io/blog/2023/12/11/entity-description-changes/)
|
||||||
|
- [Config entry now supports minor versions](https://developers.home-assistant.io/blog/2023/12/18/config-entry-minor-version/)
|
||||||
|
- [Deprecated constants create a log entry](https://developers.home-assistant.io/blog/2023/12/19/constant-deprecation/)
|
||||||
|
- [Deprecating all magic numbers for supported features](https://developers.home-assistant.io/blog/2023/12/28/support-feature-magic-numbers-deprecation/)
|
||||||
|
|
||||||
|
[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.1](/changelogs/core-2024.1)
|
1579
source/changelogs/core-2024.1.markdown
Normal file
BIN
source/images/blog/2024-01/add-action-other-integrations.png
Normal file
After Width: | Height: | Size: 243 KiB |
BIN
source/images/blog/2024-01/add-action-search.png
Normal file
After Width: | Height: | Size: 262 KiB |
BIN
source/images/blog/2024-01/add-light-action.png
Normal file
After Width: | Height: | Size: 389 KiB |
BIN
source/images/blog/2024-01/add-trigger-dialog.png
Normal file
After Width: | Height: | Size: 255 KiB |
BIN
source/images/blog/2024-01/automation-building-blocks.png
Normal file
After Width: | Height: | Size: 276 KiB |
BIN
source/images/blog/2024-01/automation-descriptions.png
Normal file
After Width: | Height: | Size: 270 KiB |
After Width: | Height: | Size: 214 KiB |
BIN
source/images/blog/2024-01/climate-fan-card-feature.png
Normal file
After Width: | Height: | Size: 207 KiB |
BIN
source/images/blog/2024-01/social.png
Normal file
After Width: | Height: | Size: 288 KiB |
BIN
source/images/blog/2024-01/start-automating.png
Normal file
After Width: | Height: | Size: 213 KiB |
BIN
source/images/blog/2024-01/todo-dialog.png
Normal file
After Width: | Height: | Size: 232 KiB |
BIN
source/images/blog/2024-01/todo-new-dashboard.png
Normal file
After Width: | Height: | Size: 245 KiB |
BIN
source/images/blog/2024-01/update-card-feature.png
Normal file
After Width: | Height: | Size: 129 KiB |
BIN
source/images/blog/2024-01/valve-entity-type.png
Normal file
After Width: | Height: | Size: 252 KiB |