Merge branch 'current' into next

This commit is contained in:
Franck Nijhof 2024-01-04 11:43:18 +01:00
commit 3b081e3558
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
80 changed files with 2387 additions and 120 deletions

View File

@ -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`

View File

@ -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": [

View File

@ -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

View File

@ -1 +1 @@
2.7.2 3.1.4

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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'> ![Screenshot of the conditional card](/images/dashboards/conditional_card.gif)
<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

View File

@ -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:

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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
--- ---

View File

@ -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.

View File

@ -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

View File

@ -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>

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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:

View File

@ -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 %}

View File

@ -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

View File

@ -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.

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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:

View File

@ -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/).

View File

@ -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

View File

@ -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:

View File

@ -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

View File

@ -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
--- ---

View File

@ -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.

View File

@ -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

View File

@ -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 %}

View File

@ -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

View File

@ -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.

View File

@ -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.

View File

@ -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].

View File

@ -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

View File

@ -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
--- ---

View File

@ -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

View File

@ -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,

View File

@ -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

View File

@ -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/)

View File

@ -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

View File

@ -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
--- ---

View File

@ -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 |
| ---------------------- | -------- | ----------- | | ---------------------- | -------- | ----------- |

View File

@ -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

View File

@ -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.

View File

@ -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'>

View File

@ -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
--- ---

View File

@ -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

View File

@ -192,4 +192,4 @@ weather.toronto_forecast:
temperature: 0 temperature: 0
``` ```
{% enddetails %} {% enddetails %}

View File

@ -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
--- ---

View File

@ -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:

View 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, lets 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, weve 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.'>
Dont worry; well 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)

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 243 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 389 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 270 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 288 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 232 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 252 KiB