Merge branch 'rc' into current
43
CODEOWNERS
@ -22,7 +22,8 @@ source/_integrations/airly.markdown @bieniu
|
|||||||
source/_integrations/airnow.markdown @asymworks
|
source/_integrations/airnow.markdown @asymworks
|
||||||
source/_integrations/airq.markdown @Sibgatulin @dl2080
|
source/_integrations/airq.markdown @Sibgatulin @dl2080
|
||||||
source/_integrations/airthings.markdown @danielhiversen
|
source/_integrations/airthings.markdown @danielhiversen
|
||||||
source/_integrations/airthings_ble.markdown @vincegio
|
source/_integrations/airthings_ble.markdown @vincegio @LaStrada
|
||||||
|
source/_integrations/airtouch4.markdown @samsinnamon
|
||||||
source/_integrations/airvisual.markdown @bachya
|
source/_integrations/airvisual.markdown @bachya
|
||||||
source/_integrations/airvisual_pro.markdown @bachya
|
source/_integrations/airvisual_pro.markdown @bachya
|
||||||
source/_integrations/airzone.markdown @Noltari
|
source/_integrations/airzone.markdown @Noltari
|
||||||
@ -120,6 +121,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/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
|
||||||
@ -180,6 +182,7 @@ source/_integrations/dwd_weather_warnings.markdown @runningman84 @stephan192 @an
|
|||||||
source/_integrations/dynalite.markdown @ziv1234
|
source/_integrations/dynalite.markdown @ziv1234
|
||||||
source/_integrations/easyenergy.markdown @klaasnicolaas
|
source/_integrations/easyenergy.markdown @klaasnicolaas
|
||||||
source/_integrations/ecobee.markdown @marthoc @marcolivierarsenault
|
source/_integrations/ecobee.markdown @marthoc @marcolivierarsenault
|
||||||
|
source/_integrations/ecoforest.markdown @pjanuario
|
||||||
source/_integrations/econet.markdown @vangorra @w1ll1am23
|
source/_integrations/econet.markdown @vangorra @w1ll1am23
|
||||||
source/_integrations/ecovacs.markdown @OverloadUT @mib1185
|
source/_integrations/ecovacs.markdown @OverloadUT @mib1185
|
||||||
source/_integrations/ecowitt.markdown @pvizeli
|
source/_integrations/ecowitt.markdown @pvizeli
|
||||||
@ -201,6 +204,7 @@ 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 @fbradyirl
|
||||||
|
source/_integrations/enmax.markdown @tronikos
|
||||||
source/_integrations/enocean.markdown @bdurrer
|
source/_integrations/enocean.markdown @bdurrer
|
||||||
source/_integrations/enphase_envoy.markdown @bdraco @cgarwood @dgomes @joostlek
|
source/_integrations/enphase_envoy.markdown @bdraco @cgarwood @dgomes @joostlek
|
||||||
source/_integrations/entur_public_transport.markdown @hfurubotten
|
source/_integrations/entur_public_transport.markdown @hfurubotten
|
||||||
@ -212,7 +216,7 @@ source/_integrations/epsonworkforce.markdown @ThaStealth
|
|||||||
source/_integrations/eq3btsmart.markdown @rytilahti
|
source/_integrations/eq3btsmart.markdown @rytilahti
|
||||||
source/_integrations/escea.markdown @lazdavila
|
source/_integrations/escea.markdown @lazdavila
|
||||||
source/_integrations/esera_onewire.markdown @garbled1 @epenet
|
source/_integrations/esera_onewire.markdown @garbled1 @epenet
|
||||||
source/_integrations/esphome.markdown @OttoWinter @jesserockz @bdraco
|
source/_integrations/esphome.markdown @OttoWinter @jesserockz @kbx81 @bdraco
|
||||||
source/_integrations/eufylife_ble.markdown @bdr99
|
source/_integrations/eufylife_ble.markdown @bdr99
|
||||||
source/_integrations/event.markdown @home-assistant/core
|
source/_integrations/event.markdown @home-assistant/core
|
||||||
source/_integrations/evergy.markdown @tronikos
|
source/_integrations/evergy.markdown @tronikos
|
||||||
@ -230,6 +234,7 @@ source/_integrations/filter.markdown @dgomes
|
|||||||
source/_integrations/fire_tv.markdown @JeffLIrion @ollo69
|
source/_integrations/fire_tv.markdown @JeffLIrion @ollo69
|
||||||
source/_integrations/fireservicerota.markdown @cyberjunky
|
source/_integrations/fireservicerota.markdown @cyberjunky
|
||||||
source/_integrations/firmata.markdown @DaAwesomeP
|
source/_integrations/firmata.markdown @DaAwesomeP
|
||||||
|
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/flexom.markdown @imicknl @vlebourl @tetienne @nyroDev
|
source/_integrations/flexom.markdown @imicknl @vlebourl @tetienne @nyroDev
|
||||||
@ -237,7 +242,7 @@ source/_integrations/flick_electric.markdown @ZephireNZ
|
|||||||
source/_integrations/flipr.markdown @cnico
|
source/_integrations/flipr.markdown @cnico
|
||||||
source/_integrations/flo.markdown @dmulcahey
|
source/_integrations/flo.markdown @dmulcahey
|
||||||
source/_integrations/flume.markdown @ChrisMandich @bdraco @jeeftor
|
source/_integrations/flume.markdown @ChrisMandich @bdraco @jeeftor
|
||||||
source/_integrations/flux_led.markdown @icemanch @bdraco
|
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
|
||||||
@ -307,6 +312,7 @@ 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
|
||||||
source/_integrations/homeassistant_alerts.markdown @home-assistant/core
|
source/_integrations/homeassistant_alerts.markdown @home-assistant/core
|
||||||
|
source/_integrations/homeassistant_green.markdown @home-assistant/core
|
||||||
source/_integrations/homeassistant_hardware.markdown @home-assistant/core
|
source/_integrations/homeassistant_hardware.markdown @home-assistant/core
|
||||||
source/_integrations/homeassistant_sky_connect.markdown @home-assistant/core
|
source/_integrations/homeassistant_sky_connect.markdown @home-assistant/core
|
||||||
source/_integrations/homeassistant_yellow.markdown @home-assistant/core
|
source/_integrations/homeassistant_yellow.markdown @home-assistant/core
|
||||||
@ -330,6 +336,7 @@ source/_integrations/iammeter.markdown @lewei50
|
|||||||
source/_integrations/iaqualink.markdown @flz
|
source/_integrations/iaqualink.markdown @flz
|
||||||
source/_integrations/ibeacon.markdown @bdraco
|
source/_integrations/ibeacon.markdown @bdraco
|
||||||
source/_integrations/icloud.markdown @Quentame @nzapponi
|
source/_integrations/icloud.markdown @Quentame @nzapponi
|
||||||
|
source/_integrations/idasen_desk.markdown @abmantis
|
||||||
source/_integrations/ign_sismologia.markdown @exxamalte
|
source/_integrations/ign_sismologia.markdown @exxamalte
|
||||||
source/_integrations/image.markdown @home-assistant/core
|
source/_integrations/image.markdown @home-assistant/core
|
||||||
source/_integrations/image_processing.markdown @home-assistant/core
|
source/_integrations/image_processing.markdown @home-assistant/core
|
||||||
@ -396,7 +403,6 @@ source/_integrations/leviton_z_wave.markdown @home-assistant/z-wave
|
|||||||
source/_integrations/lg_netcast.markdown @Drafteed
|
source/_integrations/lg_netcast.markdown @Drafteed
|
||||||
source/_integrations/lidarr.markdown @tkdrob
|
source/_integrations/lidarr.markdown @tkdrob
|
||||||
source/_integrations/life360.markdown @pnbruckner
|
source/_integrations/life360.markdown @pnbruckner
|
||||||
source/_integrations/lifx.markdown @bdraco
|
|
||||||
source/_integrations/light.markdown @home-assistant/core
|
source/_integrations/light.markdown @home-assistant/core
|
||||||
source/_integrations/linux_battery.markdown @fabaff
|
source/_integrations/linux_battery.markdown @fabaff
|
||||||
source/_integrations/litejet.markdown @joncar
|
source/_integrations/litejet.markdown @joncar
|
||||||
@ -408,6 +414,7 @@ source/_integrations/lock.markdown @home-assistant/core
|
|||||||
source/_integrations/logbook.markdown @home-assistant/core
|
source/_integrations/logbook.markdown @home-assistant/core
|
||||||
source/_integrations/logger.markdown @home-assistant/core
|
source/_integrations/logger.markdown @home-assistant/core
|
||||||
source/_integrations/logi_circle.markdown @evanjd
|
source/_integrations/logi_circle.markdown @evanjd
|
||||||
|
source/_integrations/london_underground.markdown @jpbede
|
||||||
source/_integrations/lookin.markdown @ANMalko @bdraco
|
source/_integrations/lookin.markdown @ANMalko @bdraco
|
||||||
source/_integrations/loqed.markdown @mikewoudenberg
|
source/_integrations/loqed.markdown @mikewoudenberg
|
||||||
source/_integrations/luci.markdown @mzdrale
|
source/_integrations/luci.markdown @mzdrale
|
||||||
@ -420,9 +427,11 @@ source/_integrations/lyric.markdown @timmo001
|
|||||||
source/_integrations/marantz.markdown @ol-iver @starkillerOG
|
source/_integrations/marantz.markdown @ol-iver @starkillerOG
|
||||||
source/_integrations/martec.markdown @starkillerOG
|
source/_integrations/martec.markdown @starkillerOG
|
||||||
source/_integrations/mastodon.markdown @fabaff
|
source/_integrations/mastodon.markdown @fabaff
|
||||||
|
source/_integrations/matrix.markdown @PaarthShah
|
||||||
source/_integrations/matter.markdown @home-assistant/matter
|
source/_integrations/matter.markdown @home-assistant/matter
|
||||||
source/_integrations/mazda.markdown @bdr99
|
source/_integrations/mazda.markdown @bdr99
|
||||||
source/_integrations/meater.markdown @Sotolotl @emontnemery
|
source/_integrations/meater.markdown @Sotolotl @emontnemery
|
||||||
|
source/_integrations/medcom_ble.markdown @elafargue
|
||||||
source/_integrations/media_extractor.markdown @joostlek
|
source/_integrations/media_extractor.markdown @joostlek
|
||||||
source/_integrations/media_player.markdown @home-assistant/core
|
source/_integrations/media_player.markdown @home-assistant/core
|
||||||
source/_integrations/media_source.markdown @hunterjm
|
source/_integrations/media_source.markdown @hunterjm
|
||||||
@ -444,7 +453,7 @@ source/_integrations/minecraft_server.markdown @elmurato
|
|||||||
source/_integrations/minio.markdown @tkislan
|
source/_integrations/minio.markdown @tkislan
|
||||||
source/_integrations/moat.markdown @bdraco
|
source/_integrations/moat.markdown @bdraco
|
||||||
source/_integrations/mobile_app.markdown @home-assistant/core
|
source/_integrations/mobile_app.markdown @home-assistant/core
|
||||||
source/_integrations/modbus.markdown @adamchengtkc @janiversen @vzahradnik
|
source/_integrations/modbus.markdown @janiversen
|
||||||
source/_integrations/modem_callerid.markdown @tkdrob
|
source/_integrations/modem_callerid.markdown @tkdrob
|
||||||
source/_integrations/modern_forms.markdown @wonderslug
|
source/_integrations/modern_forms.markdown @wonderslug
|
||||||
source/_integrations/moehlenhoff_alpha2.markdown @j-a-n
|
source/_integrations/moehlenhoff_alpha2.markdown @j-a-n
|
||||||
@ -459,7 +468,7 @@ source/_integrations/msteams.markdown @peroyvind
|
|||||||
source/_integrations/mullvad.markdown @meichthys
|
source/_integrations/mullvad.markdown @meichthys
|
||||||
source/_integrations/mutesync.markdown @currentoor
|
source/_integrations/mutesync.markdown @currentoor
|
||||||
source/_integrations/my.markdown @home-assistant/core
|
source/_integrations/my.markdown @home-assistant/core
|
||||||
source/_integrations/myq.markdown @ehendrix23
|
source/_integrations/myq.markdown @ehendrix23 @Lash-L
|
||||||
source/_integrations/mysensors.markdown @MartinHjelmare @functionpointer
|
source/_integrations/mysensors.markdown @MartinHjelmare @functionpointer
|
||||||
source/_integrations/mystrom.markdown @fabaff
|
source/_integrations/mystrom.markdown @fabaff
|
||||||
source/_integrations/nam.markdown @bieniu
|
source/_integrations/nam.markdown @bieniu
|
||||||
@ -550,6 +559,7 @@ source/_integrations/plum_lightpad.markdown @ColinHarrington @prystupa
|
|||||||
source/_integrations/point.markdown @fredrike
|
source/_integrations/point.markdown @fredrike
|
||||||
source/_integrations/poolsense.markdown @haemishkyd
|
source/_integrations/poolsense.markdown @haemishkyd
|
||||||
source/_integrations/powerwall.markdown @bdraco @jrester @daniel-simpson
|
source/_integrations/powerwall.markdown @bdraco @jrester @daniel-simpson
|
||||||
|
source/_integrations/private_ble_device.markdown @Jc2k
|
||||||
source/_integrations/profiler.markdown @bdraco
|
source/_integrations/profiler.markdown @bdraco
|
||||||
source/_integrations/progettihwsw.markdown @ardaseremet
|
source/_integrations/progettihwsw.markdown @ardaseremet
|
||||||
source/_integrations/prometheus.markdown @knyar
|
source/_integrations/prometheus.markdown @knyar
|
||||||
@ -610,7 +620,7 @@ source/_integrations/roon.markdown @pavoni
|
|||||||
source/_integrations/rpi_power.markdown @shenxn @swetoast
|
source/_integrations/rpi_power.markdown @shenxn @swetoast
|
||||||
source/_integrations/rss_feed_template.markdown @home-assistant/core
|
source/_integrations/rss_feed_template.markdown @home-assistant/core
|
||||||
source/_integrations/rtsp_to_webrtc.markdown @allenporter
|
source/_integrations/rtsp_to_webrtc.markdown @allenporter
|
||||||
source/_integrations/ruckus_unleashed.markdown @gabe565 @lanrat
|
source/_integrations/ruckus_unleashed.markdown @lanrat @ms264556 @gabe565
|
||||||
source/_integrations/ruuvi_gateway.markdown @akx
|
source/_integrations/ruuvi_gateway.markdown @akx
|
||||||
source/_integrations/ruuvitag_ble.markdown @akx
|
source/_integrations/ruuvitag_ble.markdown @akx
|
||||||
source/_integrations/rympro.markdown @OnFreund @elad-bar @maorcc
|
source/_integrations/rympro.markdown @OnFreund @elad-bar @maorcc
|
||||||
@ -657,7 +667,7 @@ source/_integrations/siren.markdown @home-assistant/core @raman325
|
|||||||
source/_integrations/sisyphus.markdown @jkeljo
|
source/_integrations/sisyphus.markdown @jkeljo
|
||||||
source/_integrations/sky_hub.markdown @rogerselwyn
|
source/_integrations/sky_hub.markdown @rogerselwyn
|
||||||
source/_integrations/skybell.markdown @tkdrob
|
source/_integrations/skybell.markdown @tkdrob
|
||||||
source/_integrations/slack.markdown @tkdrob
|
source/_integrations/slack.markdown @tkdrob @fletcherau
|
||||||
source/_integrations/sleepiq.markdown @mfugate1 @kbickar
|
source/_integrations/sleepiq.markdown @mfugate1 @kbickar
|
||||||
source/_integrations/slide.markdown @ualex73
|
source/_integrations/slide.markdown @ualex73
|
||||||
source/_integrations/slimproto.markdown @marcelveldt
|
source/_integrations/slimproto.markdown @marcelveldt
|
||||||
@ -688,7 +698,7 @@ source/_integrations/spaceapi.markdown @fabaff
|
|||||||
source/_integrations/speedtestdotnet.markdown @rohankapoorcom @engrbm87
|
source/_integrations/speedtestdotnet.markdown @rohankapoorcom @engrbm87
|
||||||
source/_integrations/spider.markdown @peternijssen
|
source/_integrations/spider.markdown @peternijssen
|
||||||
source/_integrations/splunk.markdown @Bre77
|
source/_integrations/splunk.markdown @Bre77
|
||||||
source/_integrations/spotify.markdown @frenck
|
source/_integrations/spotify.markdown @frenck @joostlek
|
||||||
source/_integrations/sql.markdown @gjohansson-ST @dougiteixeira
|
source/_integrations/sql.markdown @gjohansson-ST @dougiteixeira
|
||||||
source/_integrations/squeezebox.markdown @rajlaud
|
source/_integrations/squeezebox.markdown @rajlaud
|
||||||
source/_integrations/srp_energy.markdown @briglx
|
source/_integrations/srp_energy.markdown @briglx
|
||||||
@ -713,6 +723,7 @@ 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
|
||||||
source/_integrations/switchbot.markdown @danielhiversen @RenierM26 @murtas @Eloston @dsypniewski
|
source/_integrations/switchbot.markdown @danielhiversen @RenierM26 @murtas @Eloston @dsypniewski
|
||||||
|
source/_integrations/switchbot_cloud.markdown @SeraphicRav
|
||||||
source/_integrations/switcher_kis.markdown @thecode
|
source/_integrations/switcher_kis.markdown @thecode
|
||||||
source/_integrations/switchmate.markdown @danielhiversen @qiz-li
|
source/_integrations/switchmate.markdown @danielhiversen @qiz-li
|
||||||
source/_integrations/symfonisk.markdown @cgtobi @jjlawren
|
source/_integrations/symfonisk.markdown @cgtobi @jjlawren
|
||||||
@ -757,10 +768,11 @@ source/_integrations/trafikverket_ferry.markdown @gjohansson-ST
|
|||||||
source/_integrations/trafikverket_train.markdown @endor-force @gjohansson-ST
|
source/_integrations/trafikverket_train.markdown @endor-force @gjohansson-ST
|
||||||
source/_integrations/trafikverket_weatherstation.markdown @endor-force @gjohansson-ST
|
source/_integrations/trafikverket_weatherstation.markdown @endor-force @gjohansson-ST
|
||||||
source/_integrations/transmission.markdown @engrbm87 @JPHutchins
|
source/_integrations/transmission.markdown @engrbm87 @JPHutchins
|
||||||
|
source/_integrations/trend.markdown @jpbede
|
||||||
source/_integrations/tts.markdown @home-assistant/core @pvizeli
|
source/_integrations/tts.markdown @home-assistant/core @pvizeli
|
||||||
source/_integrations/tuya.markdown @Tuya @zlinoliver @frenck
|
source/_integrations/tuya.markdown @Tuya @zlinoliver @frenck
|
||||||
source/_integrations/twentemilieu.markdown @frenck
|
source/_integrations/twentemilieu.markdown @frenck
|
||||||
source/_integrations/twinkly.markdown @dr1rrb @Robbie1221
|
source/_integrations/twinkly.markdown @dr1rrb @Robbie1221 @Olen
|
||||||
source/_integrations/twitch.markdown @joostlek
|
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
|
||||||
@ -782,10 +794,10 @@ source/_integrations/vacuum.markdown @home-assistant/core
|
|||||||
source/_integrations/vallox.markdown @andre-richter @slovdahl @viiru-
|
source/_integrations/vallox.markdown @andre-richter @slovdahl @viiru-
|
||||||
source/_integrations/velbus.markdown @Cereal2nd @brefra
|
source/_integrations/velbus.markdown @Cereal2nd @brefra
|
||||||
source/_integrations/velux.markdown @Julius2342
|
source/_integrations/velux.markdown @Julius2342
|
||||||
source/_integrations/venstar.markdown @garbled1
|
source/_integrations/venstar.markdown @garbled1 @jhollowe
|
||||||
source/_integrations/verisure.markdown @frenck @niro1987
|
source/_integrations/verisure.markdown @frenck
|
||||||
source/_integrations/vermont_castings.markdown @jeeftor
|
source/_integrations/vermont_castings.markdown @jeeftor
|
||||||
source/_integrations/versasense.markdown @flamm3blemuff1n
|
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
|
||||||
source/_integrations/vilfo.markdown @ManneW
|
source/_integrations/vilfo.markdown @ManneW
|
||||||
@ -800,12 +812,13 @@ source/_integrations/volvooncall.markdown @molobrakos
|
|||||||
source/_integrations/vulcan.markdown @Antoni-Czaplicki
|
source/_integrations/vulcan.markdown @Antoni-Czaplicki
|
||||||
source/_integrations/wake_on_lan.markdown @ntilley905
|
source/_integrations/wake_on_lan.markdown @ntilley905
|
||||||
source/_integrations/wallbox.markdown @hesselonline
|
source/_integrations/wallbox.markdown @hesselonline
|
||||||
source/_integrations/waqi.markdown @andrey-git
|
source/_integrations/waqi.markdown @joostlek
|
||||||
source/_integrations/water_heater.markdown @home-assistant/core
|
source/_integrations/water_heater.markdown @home-assistant/core
|
||||||
source/_integrations/watson_tts.markdown @rutkai
|
source/_integrations/watson_tts.markdown @rutkai
|
||||||
source/_integrations/watttime.markdown @bachya
|
source/_integrations/watttime.markdown @bachya
|
||||||
source/_integrations/waze_travel_time.markdown @eifinger
|
source/_integrations/waze_travel_time.markdown @eifinger
|
||||||
source/_integrations/weather.markdown @home-assistant/core
|
source/_integrations/weather.markdown @home-assistant/core
|
||||||
|
source/_integrations/weatherkit.markdown @tjhorner
|
||||||
source/_integrations/webhook.markdown @home-assistant/core
|
source/_integrations/webhook.markdown @home-assistant/core
|
||||||
source/_integrations/webostv.markdown @thecode
|
source/_integrations/webostv.markdown @thecode
|
||||||
source/_integrations/websocket_api.markdown @home-assistant/core
|
source/_integrations/websocket_api.markdown @home-assistant/core
|
||||||
@ -816,7 +829,7 @@ source/_integrations/whois.markdown @frenck
|
|||||||
source/_integrations/wiffi.markdown @mampfes
|
source/_integrations/wiffi.markdown @mampfes
|
||||||
source/_integrations/wilight.markdown @leofig-rj
|
source/_integrations/wilight.markdown @leofig-rj
|
||||||
source/_integrations/wirelesstag.markdown @sergeymaysak
|
source/_integrations/wirelesstag.markdown @sergeymaysak
|
||||||
source/_integrations/withings.markdown @vangorra
|
source/_integrations/withings.markdown @vangorra @joostlek
|
||||||
source/_integrations/wiz.markdown @sbidy
|
source/_integrations/wiz.markdown @sbidy
|
||||||
source/_integrations/wled.markdown @frenck
|
source/_integrations/wled.markdown @frenck
|
||||||
source/_integrations/wolflink.markdown @adamkrol93
|
source/_integrations/wolflink.markdown @adamkrol93
|
||||||
|
@ -109,9 +109,9 @@ social:
|
|||||||
|
|
||||||
# Home Assistant release details
|
# Home Assistant release details
|
||||||
current_major_version: 2023
|
current_major_version: 2023
|
||||||
current_minor_version: 9
|
current_minor_version: 10
|
||||||
current_patch_version: 3
|
current_patch_version: 0
|
||||||
date_released: 2023-09-24
|
date_released: 2023-10-04
|
||||||
|
|
||||||
# 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.
|
||||||
|
@ -27,7 +27,7 @@ type:
|
|||||||
type: string
|
type: string
|
||||||
entities:
|
entities:
|
||||||
required: true
|
required: true
|
||||||
description: List of entity IDs. Either this or the `geo_location_sources` configuration option is required.
|
description: List of entity IDs or `entity` objects (see below). Either this or the `geo_location_sources` configuration option is required.
|
||||||
type: list
|
type: list
|
||||||
geo_location_sources:
|
geo_location_sources:
|
||||||
required: true
|
required: true
|
||||||
@ -75,6 +75,31 @@ hours_to_show:
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
## Options For Entities
|
||||||
|
|
||||||
|
If you define entities as objects instead of strings (by adding `entity:` before entity ID), you can add more customization and configuration.
|
||||||
|
|
||||||
|
{% configuration %}
|
||||||
|
entity:
|
||||||
|
required: true
|
||||||
|
description: Entity ID.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
required: false
|
||||||
|
description: Replace the default label for the marker.
|
||||||
|
type: string
|
||||||
|
label_mode:
|
||||||
|
required: false
|
||||||
|
default: name
|
||||||
|
description: When set to `state`, renders the entity's state as the label for the map marker instead of the entity's name. This option doesn't apply to [zone](/integrations/zone/) entities because they don't use a label but an icon.
|
||||||
|
type: string
|
||||||
|
focus:
|
||||||
|
required: false
|
||||||
|
default: true
|
||||||
|
description: When set to `false`, this entity will not be considered for determining the default zoom or fit of the map.
|
||||||
|
type: boolean
|
||||||
|
{% endconfiguration %}
|
||||||
|
|
||||||
## Examples
|
## Examples
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
@ -99,5 +124,8 @@ entities:
|
|||||||
type: map
|
type: map
|
||||||
entities:
|
entities:
|
||||||
- device_tracker.demo_paulus
|
- device_tracker.demo_paulus
|
||||||
|
- entity: sensor.gas_station_gas_price
|
||||||
|
label_mode: state
|
||||||
|
focus: false
|
||||||
hours_to_show: 48
|
hours_to_show: 48
|
||||||
```
|
```
|
||||||
|
@ -52,6 +52,11 @@ aspect_ratio:
|
|||||||
required: false
|
required: false
|
||||||
description: 'Forces the height of the image to be a ratio of the width. Valid formats: Height percentage value (`23%`) or ratio expressed with colon or "x" separator (`16:9` or `16x9`). For a ratio, the second element can be omitted and will default to "1" (`1.78` equals `1.78:1`).'
|
description: 'Forces the height of the image to be a ratio of the width. Valid formats: Height percentage value (`23%`) or ratio expressed with colon or "x" separator (`16:9` or `16x9`). For a ratio, the second element can be omitted and will default to "1" (`1.78` equals `1.78:1`).'
|
||||||
type: string
|
type: string
|
||||||
|
fit_mode:
|
||||||
|
required: false
|
||||||
|
description: 'Defines the manner in which the image is stretched/clipped to fit the card area. `cover`: The image keeps its aspect ratio and fills the given dimension. The image will be clipped to fit. `contain`: The image keeps its aspect ratio, but is resized to fit within the given dimension. `fill`: The image is resized to fill the given dimension. If necessary, the image will be stretched or squished to fit.'
|
||||||
|
type: string
|
||||||
|
default: cover
|
||||||
name:
|
name:
|
||||||
required: false
|
required: false
|
||||||
description: Overwrite entity name.
|
description: Overwrite entity name.
|
||||||
|
@ -9,6 +9,7 @@ ha_domain: aftership
|
|||||||
ha_platforms:
|
ha_platforms:
|
||||||
- sensor
|
- sensor
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
|
ha_config_flow: true
|
||||||
---
|
---
|
||||||
|
|
||||||
The `aftership` platform allows one to track deliveries by [AfterShip](https://www.aftership.com), a service that supports 490+ couriers worldwide. To use the tracking API functionality, the Essentials plan is required. This plan includes 100 shipments per month. There are various paid-for tiers after that.
|
The `aftership` platform allows one to track deliveries by [AfterShip](https://www.aftership.com), a service that supports 490+ couriers worldwide. To use the tracking API functionality, the Essentials plan is required. This plan includes 100 shipments per month. There are various paid-for tiers after that.
|
||||||
@ -23,27 +24,7 @@ To use this sensor, you need an [AfterShip Account](https://accounts.aftership.c
|
|||||||
AfterShip recently removed the tracking API functionality from the Forever Free plan. The tracking API functionality requires at least the Essentials plan.
|
AfterShip recently removed the tracking API functionality from the Forever Free plan. The tracking API functionality requires at least the Essentials plan.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
## Configuration
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
To enable this sensor, add the following lines to your `configuration.yaml`:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
sensor:
|
|
||||||
- platform: aftership
|
|
||||||
api_key: AFTERSHIP_APIKEY
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
name:
|
|
||||||
description: The sensor name to use in the frontend.
|
|
||||||
required: false
|
|
||||||
default: "aftership"
|
|
||||||
type: string
|
|
||||||
api_key:
|
|
||||||
description: The API key for AfterShip.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
## Service `add_tracking`
|
## Service `add_tracking`
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ ha_release: '2022.11'
|
|||||||
ha_iot_class: Local Polling
|
ha_iot_class: Local Polling
|
||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@vincegio'
|
- '@vincegio'
|
||||||
|
- '@LaStrada'
|
||||||
ha_domain: airthings_ble
|
ha_domain: airthings_ble
|
||||||
ha_bluetooth: true
|
ha_bluetooth: true
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
|
@ -10,6 +10,8 @@ ha_domain: airtouch4
|
|||||||
ha_platforms:
|
ha_platforms:
|
||||||
- climate
|
- climate
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
|
ha_codeowners:
|
||||||
|
- '@samsinnamon'
|
||||||
---
|
---
|
||||||
|
|
||||||
The AirTouch 4 integration allows you to control Ducted Air Conditioning Systems that are using the [AirTouch 4](https://www.airtouch.net.au/airtouch/airtouch-4/) Controller. Currently, this integration only supports AirTouch 4 controllers with the Individual Temperature Control (ITC) modules.
|
The AirTouch 4 integration allows you to control Ducted Air Conditioning Systems that are using the [AirTouch 4](https://www.airtouch.net.au/airtouch/airtouch-4/) Controller. Currently, this integration only supports AirTouch 4 controllers with the Individual Temperature Control (ITC) modules.
|
||||||
|
@ -7,6 +7,7 @@ ha_category:
|
|||||||
- Climate
|
- Climate
|
||||||
- Select
|
- Select
|
||||||
- Sensor
|
- Sensor
|
||||||
|
- Water Heater
|
||||||
ha_iot_class: Local Polling
|
ha_iot_class: Local Polling
|
||||||
ha_config_flow: true
|
ha_config_flow: true
|
||||||
ha_domain: airzone
|
ha_domain: airzone
|
||||||
@ -16,6 +17,7 @@ ha_platforms:
|
|||||||
- diagnostics
|
- diagnostics
|
||||||
- select
|
- select
|
||||||
- sensor
|
- sensor
|
||||||
|
- water_heater
|
||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@Noltari'
|
- '@Noltari'
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
@ -94,3 +96,7 @@ For each Airzone zone (Thermostat), the following *sensors* are created:
|
|||||||
| :------------------ | :--------------------------------- |
|
| :------------------ | :--------------------------------- |
|
||||||
| humidity | Current zone relative humidity. |
|
| humidity | Current zone relative humidity. |
|
||||||
| temperature | Current zone temperature. |
|
| temperature | Current zone temperature. |
|
||||||
|
|
||||||
|
## Water Heater
|
||||||
|
|
||||||
|
For each Airzone device a *water heater entity* is created if supported.
|
||||||
|
@ -10,6 +10,7 @@ ha_config_flow: true
|
|||||||
ha_domain: airzone_cloud
|
ha_domain: airzone_cloud
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- binary_sensor
|
- binary_sensor
|
||||||
|
- climate
|
||||||
- diagnostics
|
- diagnostics
|
||||||
- sensor
|
- sensor
|
||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
@ -58,6 +59,14 @@ For each Airzone zone (thermostat), the following *binary sensors* are created:
|
|||||||
| :------------------ | :------------------------------------------------------ |
|
| :------------------ | :------------------------------------------------------ |
|
||||||
| problems | Indicates that the current zone has errors or warnings. |
|
| problems | Indicates that the current zone has errors or warnings. |
|
||||||
|
|
||||||
|
## Climate
|
||||||
|
|
||||||
|
For each Airzone zone (thermostat), a climate entity is created.
|
||||||
|
|
||||||
|
**HVAC mode can only be changed on a *parent zone*.**
|
||||||
|
|
||||||
|
*Child zones* can only enable/disable the current HVAC mode selected on the corresponding *parent zone*. Attempting to change the HVAC mode on a *child zone* will result in a Home Assistant error.
|
||||||
|
|
||||||
## Sensors
|
## Sensors
|
||||||
|
|
||||||
For each Airzone Aidoo (HVAC Wi-Fi controller), the following *sensors* are created:
|
For each Airzone Aidoo (HVAC Wi-Fi controller), the following *sensors* are created:
|
||||||
|
@ -8,6 +8,7 @@ ha_iot_class: Cloud Polling
|
|||||||
ha_domain: aladdin_connect
|
ha_domain: aladdin_connect
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- cover
|
- cover
|
||||||
|
- diagnostics
|
||||||
- sensor
|
- sensor
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
|
@ -12,7 +12,9 @@ ha_platforms:
|
|||||||
- diagnostics
|
- diagnostics
|
||||||
- sensor
|
- sensor
|
||||||
ha_config_flow: true
|
ha_config_flow: true
|
||||||
ha_integration_type: integration
|
ha_integration_type: service
|
||||||
|
ha_codeowners:
|
||||||
|
- '@jpbede'
|
||||||
---
|
---
|
||||||
|
|
||||||
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.
|
||||||
|
@ -7,20 +7,14 @@ ha_category:
|
|||||||
ha_domain: color_extractor
|
ha_domain: color_extractor
|
||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@GenericStudent'
|
- '@GenericStudent'
|
||||||
|
ha_config_flow: true
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
---
|
---
|
||||||
|
|
||||||
The `color_extractor` integration will extract the predominant color from a given image and apply that color to a target light.
|
The color extractor integration will extract the predominant color from a given image and apply that color to a target light.
|
||||||
Useful as part of an automation.
|
Useful as part of an automation.
|
||||||
|
|
||||||
## Configuration
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
To enable the `color_extractor` service in your installation, add the following to your `configuration.yaml` file:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
# Example configuration.yaml entry
|
|
||||||
color_extractor:
|
|
||||||
```
|
|
||||||
|
|
||||||
## Services
|
## Services
|
||||||
|
|
||||||
|
@ -11,6 +11,7 @@ ha_codeowners:
|
|||||||
ha_iot_class: Local Polling
|
ha_iot_class: Local Polling
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- light
|
- light
|
||||||
|
- cover
|
||||||
ha_ssdp: false
|
ha_ssdp: false
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
---
|
---
|
||||||
@ -19,9 +20,5 @@ The Comelit SimpleHome integration allows you to control your [Comelit home auto
|
|||||||
|
|
||||||
There is support for the following platform types within Home Assistant:
|
There is support for the following platform types within Home Assistant:
|
||||||
|
|
||||||
- **Comelit Serial Bridge** - allows local control for climate, light and cover devices.
|
- **Comelit Serial Bridge** - allows local control for light and cover devices.
|
||||||
{% include integrations/config_flow.md %}
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
## Configuration
|
|
||||||
|
|
||||||
The configuration in the UI asks for a a few information: host, alarm_pin.
|
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
title: Duotecno
|
title: Duotecno
|
||||||
description: Access and control your Duotecno nodes.
|
description: Access and control your Duotecno nodes.
|
||||||
ha_category:
|
ha_category:
|
||||||
|
- Climate
|
||||||
- Cover
|
- Cover
|
||||||
- Light
|
- Light
|
||||||
- Switch
|
- Switch
|
||||||
@ -12,6 +13,8 @@ ha_codeowners:
|
|||||||
- '@cereal2nd'
|
- '@cereal2nd'
|
||||||
ha_domain: duotecno
|
ha_domain: duotecno
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
|
- binary_sensor
|
||||||
|
- climate
|
||||||
- cover
|
- cover
|
||||||
- light
|
- light
|
||||||
- switch
|
- switch
|
||||||
@ -20,4 +23,13 @@ ha_integration_type: integration
|
|||||||
|
|
||||||
The Duotecno integration can be used to control [Duotecno](https://www.duotecno.be/) nodes in Home Assistant.
|
The Duotecno integration can be used to control [Duotecno](https://www.duotecno.be/) nodes in Home Assistant.
|
||||||
|
|
||||||
|
There is currently support for the following device types within Home Assistant:
|
||||||
|
|
||||||
|
- Climate
|
||||||
|
- Cover
|
||||||
|
- Light
|
||||||
|
- Switch
|
||||||
|
|
||||||
{% include integrations/config_flow.md %}
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
|
The information needed is the connection info to your Smart Box.
|
||||||
|
61
source/_integrations/ecoforest.markdown
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
---
|
||||||
|
title: Ecoforest
|
||||||
|
description: Instructions on how to integrate Ecoforest fireplaces with Home Assistant.
|
||||||
|
ha_category:
|
||||||
|
- Climate
|
||||||
|
ha_release: '2023.10'
|
||||||
|
ha_iot_class: Local Polling
|
||||||
|
ha_config_flow: true
|
||||||
|
ha_codeowners:
|
||||||
|
- '@pjanuario'
|
||||||
|
ha_domain: ecoforest
|
||||||
|
ha_platforms:
|
||||||
|
- number
|
||||||
|
- sensor
|
||||||
|
- switch
|
||||||
|
ha_integration_type: integration
|
||||||
|
---
|
||||||
|
|
||||||
|
The Ecoforest integration allows monitoring and control of local [Ecoforest](https://ecoforest.com) fireplaces in Home Assistant.
|
||||||
|
|
||||||
|
There is currently support for the following device platforms within Home Assistant:
|
||||||
|
|
||||||
|
- [Number](#number)
|
||||||
|
- [Switch](#switch)
|
||||||
|
- [Sensor](#sensor)
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
To configure the Ecoforest integration you will need to enter your Ecoforest credentials which are the same ones you would use with the manufacturer app. The image below shows how to obtain the credentials:
|
||||||
|
|
||||||
|
- Username: use the serial number of the device as identified by 1.
|
||||||
|
- Password: use the first 8 characters of the wifi password as identified by 4.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
|
## Supported models
|
||||||
|
|
||||||
|
Any Ecoforest device working with [Ecoforest Home](https://ecoforesthome.com/) should be supported, this integration is confirmed to support:
|
||||||
|
|
||||||
|
- Ecoforest Cordoba Glass (using firmware version `30Abr19_v2z`)
|
||||||
|
|
||||||
|
## Number
|
||||||
|
|
||||||
|
The Ecoforest integration exposes a number entity for the device power level.
|
||||||
|
|
||||||
|
## Switch
|
||||||
|
|
||||||
|
The Ecoforest integration exposes a switch entity to turn status of the device to on and off.
|
||||||
|
|
||||||
|
## Sensor
|
||||||
|
|
||||||
|
The Ecoforest integration exposes multiple sensors to monitor various features:
|
||||||
|
|
||||||
|
- temperature: a sensor for the current ambient temperature
|
||||||
|
- cpu_temperature: a sensor for the current CPU temperature
|
||||||
|
- gas_temperature: a sensor for the current gas temperature
|
||||||
|
- ntc_temperature: a sensor for the current <abbr title="negative temperature coefficient">NTC</abbr> probe temperature
|
||||||
|
- status: a sensor for the current status of the device. Possible values are: off, starting, pre-heating, on, shutting down, standby, alarm.
|
||||||
|
- alarm: a sensor for the current alarm of the device. Possible values are: air depression, pellets, CPU overheating, unknown.
|
20
source/_integrations/enmax.markdown
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
---
|
||||||
|
title: Enmax Energy
|
||||||
|
description: Get energy usage from Enmax Energy using the Opower integration
|
||||||
|
ha_category:
|
||||||
|
- Energy
|
||||||
|
- Sensor
|
||||||
|
ha_release: '2023.10'
|
||||||
|
ha_domain: enmax
|
||||||
|
ha_integration_type: virtual
|
||||||
|
ha_supporting_domain: opower
|
||||||
|
ha_supporting_integration: Opower
|
||||||
|
ha_codeowners:
|
||||||
|
- '@tronikos'
|
||||||
|
ha_config_flow: true
|
||||||
|
ha_platforms:
|
||||||
|
- sensor
|
||||||
|
ha_iot_class: Cloud Polling
|
||||||
|
---
|
||||||
|
|
||||||
|
{% include integrations/supported_brand.md %}
|
@ -12,6 +12,7 @@ ha_config_flow: true
|
|||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@OttoWinter'
|
- '@OttoWinter'
|
||||||
- '@jesserockz'
|
- '@jesserockz'
|
||||||
|
- '@kbx81'
|
||||||
- '@bdraco'
|
- '@bdraco'
|
||||||
ha_domain: esphome
|
ha_domain: esphome
|
||||||
ha_zeroconf: true
|
ha_zeroconf: true
|
||||||
|
@ -30,12 +30,7 @@ Data measured includes:
|
|||||||
|
|
||||||
The airport entered must be a valid IATA
|
The airport entered must be a valid IATA
|
||||||
airport code for an airport in the US. You can find this by looking up the
|
airport code for an airport in the US. You can find this by looking up the
|
||||||
FAA Identifier at [Airnav](https://airnav.com/airports/). Officially the FAA
|
FAA Identifier at [Airnav](https://airnav.com/airports/).
|
||||||
only supports the airports listed below, but all airports will return data.
|
|
||||||
|
|
||||||
Supported airports: BOS, LGA, TEB, EWR, JFK, PHL, PIT, IAD, BWI, DCA, RDU,
|
|
||||||
CLT, ATL, MCO, TPA, MCO, FLL, MIA, DTW, CLE, MDW, ORD, IND, CVG, BNA, MEM,
|
|
||||||
STL, MCI, MSP, DFW, IAH, DEN, SLC, PHX, LAS, SAN, LAX, SJC, SFO, PDX, SEA
|
|
||||||
|
|
||||||
## Additional Delay Information
|
## Additional Delay Information
|
||||||
|
|
||||||
@ -57,4 +52,3 @@ listed below:
|
|||||||
- Closure
|
- Closure
|
||||||
- Start of closure (begin)
|
- Start of closure (begin)
|
||||||
- End of closure (end)
|
- End of closure (end)
|
||||||
- Closure reason
|
|
||||||
|
@ -9,6 +9,8 @@ ha_domain: fitbit
|
|||||||
ha_platforms:
|
ha_platforms:
|
||||||
- sensor
|
- sensor
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
|
ha_codeowners:
|
||||||
|
- '@allenporter'
|
||||||
---
|
---
|
||||||
|
|
||||||
The Fitbit sensor allows you to expose data from [Fitbit](https://fitbit.com/) to Home Assistant.
|
The Fitbit sensor allows you to expose data from [Fitbit](https://fitbit.com/) to Home Assistant.
|
||||||
|
@ -21,8 +21,6 @@ ha_platforms:
|
|||||||
- switch
|
- switch
|
||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@icemanch'
|
- '@icemanch'
|
||||||
- '@bdraco'
|
|
||||||
ha_quality_scale: platinum
|
|
||||||
ha_config_flow: true
|
ha_config_flow: true
|
||||||
ha_dhcp: true
|
ha_dhcp: true
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
|
@ -34,6 +34,7 @@ There is currently support for the following device types within Home Assistant:
|
|||||||
- [Device tracker](#presence-detection) for connected devices
|
- [Device tracker](#presence-detection) for connected devices
|
||||||
- [Switch](#switch) to control Wi-Fi
|
- [Switch](#switch) to control Wi-Fi
|
||||||
- [Camera](#camera)
|
- [Camera](#camera)
|
||||||
|
- [Binary sensors](#binary)
|
||||||
|
|
||||||
{% include integrations/config_flow.md %}
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
@ -127,6 +128,12 @@ The health status of each RAID array can be monitored with a diagnostics binary
|
|||||||
|
|
||||||
Cameras are only available in Freebox V7 (also known as Freebox Delta).
|
Cameras are only available in Freebox V7 (also known as Freebox Delta).
|
||||||
|
|
||||||
|
## Binary
|
||||||
|
This platform offers you sensors to monitor:
|
||||||
|
- motion sensor
|
||||||
|
- door opener
|
||||||
|
- plastic cover
|
||||||
|
|
||||||
## Service
|
## Service
|
||||||
|
|
||||||
### Service `freebox.reboot`
|
### Service `freebox.reboot`
|
||||||
|
@ -274,6 +274,7 @@ Currently, the following domains are available to be used with Google Assistant,
|
|||||||
- camera (streaming, requires compatible camera)
|
- camera (streaming, requires compatible camera)
|
||||||
- climate (temperature setting, hvac_mode)
|
- climate (temperature setting, hvac_mode)
|
||||||
- cover (on/off/set position)
|
- cover (on/off/set position)
|
||||||
|
- event (only entities with device class `doorbell` are supported)
|
||||||
- fan (on/off/speed percentage/preset mode)
|
- fan (on/off/speed percentage/preset mode)
|
||||||
- group (on/off)
|
- group (on/off)
|
||||||
- humidifier (humidity setting/on/off/mode)
|
- humidifier (humidity setting/on/off/mode)
|
||||||
|
@ -72,6 +72,7 @@ Update the location of the Home Assistant default zone (usually "Home").
|
|||||||
|---------------------------|----------|-------------------------------------------------------|
|
|---------------------------|----------|-------------------------------------------------------|
|
||||||
| `latitude` | no | Latitude of your location. |
|
| `latitude` | no | Latitude of your location. |
|
||||||
| `longitude` | no | Longitude of your location. |
|
| `longitude` | no | Longitude of your location. |
|
||||||
|
| `elevation` | yes | Elevation of your location. |
|
||||||
|
|
||||||
#### Example
|
#### Example
|
||||||
|
|
||||||
@ -81,6 +82,7 @@ action:
|
|||||||
data:
|
data:
|
||||||
latitude: 32.87336
|
latitude: 32.87336
|
||||||
longitude: 117.22743
|
longitude: 117.22743
|
||||||
|
elevation: 120
|
||||||
```
|
```
|
||||||
|
|
||||||
### Service `homeassistant.toggle`
|
### Service `homeassistant.toggle`
|
||||||
|
20
source/_integrations/homeassistant_green.markdown
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
---
|
||||||
|
title: Home Assistant Green
|
||||||
|
description: Home Assistant Green provides hardware information for the hardware configuration page.
|
||||||
|
ha_release: 2023.9
|
||||||
|
ha_category:
|
||||||
|
- Other
|
||||||
|
ha_codeowners:
|
||||||
|
- '@home-assistant/core'
|
||||||
|
ha_domain: homeassistant_green
|
||||||
|
ha_integration_type: hardware
|
||||||
|
---
|
||||||
|
|
||||||
|
The Home Assistant Green integration provides hardware information for the hardware configuration page.
|
||||||
|
|
||||||
|
For documentation on the Home Assistant Green, please visit the [documentation page](https://green.home-assistant.io/).
|
||||||
|
If you are looking to buy one, please visit the [product page](https://home-assistant.io/green).
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
This integration is not user configurable.
|
@ -8,6 +8,7 @@ ha_codeowners:
|
|||||||
- '@home-assistant/core'
|
- '@home-assistant/core'
|
||||||
ha_domain: homeassistant_sky_connect
|
ha_domain: homeassistant_sky_connect
|
||||||
ha_integration_type: hardware
|
ha_integration_type: hardware
|
||||||
|
ha_config_flow: true
|
||||||
---
|
---
|
||||||
|
|
||||||
The Home Assistant SkyConnect integration provides hardware information for the hardware configuration page.
|
The Home Assistant SkyConnect integration provides hardware information for the hardware configuration page.
|
||||||
|
@ -324,7 +324,7 @@ It is recommended to only edit a HomeKit instance in the UI that was created in
|
|||||||
|
|
||||||
### Accessory mode
|
### Accessory mode
|
||||||
|
|
||||||
When exposing a Camera, Activity based remote (a `remote` that supports activities), Lock, or Television media player (a `media_player` with device class `tv`) to HomeKit, `mode` must be set to `accessory`, and the relevant `include` filter should be setup to only include a single entity.
|
When exposing a Camera, Activity based remote (a `remote` that supports activities), Lock, or Television media player (a `media_player` with device class `tv` or `receiver`) to HomeKit, `mode` must be set to `accessory`, and the relevant `include` filter should be setup to only include a single entity.
|
||||||
|
|
||||||
To quickly add all accessory mode entities in the UI:
|
To quickly add all accessory mode entities in the UI:
|
||||||
|
|
||||||
@ -412,6 +412,7 @@ The following integrations are currently supported:
|
|||||||
| lock | DoorLock | Support for `lock / unlock`. |
|
| lock | DoorLock | Support for `lock / unlock`. |
|
||||||
| media_player | MediaPlayer | Represented as a series of switches which control `on / off`, `play / pause`, `play / stop`, or `mute` depending on `supported_features` of entity and the `mode` list specified in `entity_config`. |
|
| media_player | MediaPlayer | Represented as a series of switches which control `on / off`, `play / pause`, `play / stop`, or `mute` depending on `supported_features` of entity and the `mode` list specified in `entity_config`. |
|
||||||
| media_player | TelevisionMediaPlayer | All media players that have `tv` as their `device_class`. Represented as Television and Remote accessories in HomeKit to control `on / off`, `play / pause`, `select source`, or `volume increase / decrease`, depending on `supported_features` of entity. Requires iOS 12.2/macOS 10.14.4 or later. |
|
| media_player | TelevisionMediaPlayer | All media players that have `tv` as their `device_class`. Represented as Television and Remote accessories in HomeKit to control `on / off`, `play / pause`, `select source`, or `volume increase / decrease`, depending on `supported_features` of entity. Requires iOS 12.2/macOS 10.14.4 or later. |
|
||||||
|
| media_player | ReceiverMediaPlayer | All media players that have `receiver` as their `device_class`. Represented as Receiver and Remote accessories in HomeKit to control `on / off`, `play / pause`, `select source`, or `volume increase / decrease`, depending on `supported_features` of entity. Requires iOS 12.2/macOS 10.14.4 or later. |
|
||||||
| sensor | TemperatureSensor | All sensors that have `°C` or `°F` as their `unit_of_measurement` and `temperature` as their `device_class`. |
|
| sensor | TemperatureSensor | All sensors that have `°C` or `°F` as their `unit_of_measurement` and `temperature` as their `device_class`. |
|
||||||
| sensor | HumiditySensor | All sensors that have `%` as their `unit_of_measurement` and `humidity` as their `device_class`. |
|
| sensor | HumiditySensor | All sensors that have `%` as their `unit_of_measurement` and `humidity` as their `device_class`. |
|
||||||
| sensor | AirQualitySensor | All sensors that have `gas`/`pm10`/`pm25` as part of their `entity_id` or `gas`/`pm10`/`pm25`/`nitrogen_dioxide`/`volatile_organic_compounds` as their `device_class`. The VOC mappings use the IAQ guidelines for Europe released by the WHO (World Health Organization). |
|
| sensor | AirQualitySensor | All sensors that have `gas`/`pm10`/`pm25` as part of their `entity_id` or `gas`/`pm10`/`pm25`/`nitrogen_dioxide`/`volatile_organic_compounds` as their `device_class`. The VOC mappings use the IAQ guidelines for Europe released by the WHO (World Health Organization). |
|
||||||
@ -430,7 +431,7 @@ Bridged device triggers are represented as a single press button on stateless pr
|
|||||||
|
|
||||||
## iOS Remote Widget
|
## iOS Remote Widget
|
||||||
|
|
||||||
Entities exposed as `TelevisionMediaPlayer` are controllable within the Apple Remote widget in
|
Entities exposed as `TelevisionMediaPlayer` and `ReceiverMediaPlayer` are controllable within the Apple Remote widget in
|
||||||
Control Center. Play, pause, volume up and volume down should work out of the box depending on the `supported_features`
|
Control Center. Play, pause, volume up and volume down should work out of the box depending on the `supported_features`
|
||||||
of the entity. However, if your television can be controlled in other ways outside of the `media_player` entity, (e.g.,
|
of the entity. However, if your television can be controlled in other ways outside of the `media_player` entity, (e.g.,
|
||||||
service calls to an IR blaster), it is possible to build an automation to take advantage of these events.
|
service calls to an IR blaster), it is possible to build an automation to take advantage of these events.
|
||||||
@ -594,7 +595,7 @@ To use the HomeKit integration with multiple different Home Assistant instances
|
|||||||
|
|
||||||
Although we try our best, some entities don't work with the HomeKit integration yet. The result will be that either pairing fails completely or all Home Assistant accessories will stop working. Use the filter to identify which entity is causing the issue. It's best to try pairing and step by step including more entities. If it works, unpair and repeat until you find the one that is causing the issues. To help others and the developers, please open a new issue here: [core/issues/new](https://github.com/home-assistant/core/issues/new)
|
Although we try our best, some entities don't work with the HomeKit integration yet. The result will be that either pairing fails completely or all Home Assistant accessories will stop working. Use the filter to identify which entity is causing the issue. It's best to try pairing and step by step including more entities. If it works, unpair and repeat until you find the one that is causing the issues. To help others and the developers, please open a new issue here: [core/issues/new](https://github.com/home-assistant/core/issues/new)
|
||||||
|
|
||||||
If you have any iOS 12.x devices signed into your iCloud account, media player entities with `device_class: tv` may trigger this condition. Filtering the entity or signing the iOS 12.x device out of iCloud should resolve the issue after restarting other devices.
|
If you have any iOS 12.x devices signed into your iCloud account, media player entities with `device_class: tv` or `device_class: receiver` may trigger this condition. Filtering the entity or signing the iOS 12.x device out of iCloud should resolve the issue after restarting other devices.
|
||||||
|
|
||||||
#### Accessories are all listed as not responding
|
#### Accessories are all listed as not responding
|
||||||
|
|
||||||
@ -610,9 +611,9 @@ See [resetting accessories](#resetting-accessories) and [Unpairing and Re-pairin
|
|||||||
|
|
||||||
Try removing the entity from HomeKit and then adding it again. If you are adding this configuration option to an existing entity in HomeKit, any changes you make to this entity's configuration options won't appear until the accessory is removed from HomeKit and then re-added. See [resetting accessories](#resetting-accessories).
|
Try removing the entity from HomeKit and then adding it again. If you are adding this configuration option to an existing entity in HomeKit, any changes you make to this entity's configuration options won't appear until the accessory is removed from HomeKit and then re-added. See [resetting accessories](#resetting-accessories).
|
||||||
|
|
||||||
#### My media player is not showing up as a television accessory
|
#### My media player is not showing up as a television or receiver accessory
|
||||||
|
|
||||||
Media Player entities with `device_class: tv` will show up as Television accessories on devices running iOS 12.2/macOS 10.14.4 or later. If needed, try removing the entity from HomeKit and then adding it again, especially if the `media_player` was previously exposed as a series of switches. Any changes, including changed supported features, made to an existing accessory won't appear until the accessory is removed from HomeKit and then re-added. See [resetting accessories](#resetting-accessories).
|
Media Player entities with `device_class: tv` or `device_class: receiver` will show up as Television or Receiver accessories on devices running iOS 12.2/macOS 10.14.4 or later. If needed, try removing the entity from HomeKit and then adding it again, especially if the `media_player` was previously exposed as a series of switches. Any changes, including changed supported features, made to an existing accessory won't appear until the accessory is removed from HomeKit and then re-added. See [resetting accessories](#resetting-accessories).
|
||||||
|
|
||||||
The [Universal Media Player](/integrations/universal/#harmony-remote-example) has an example of how it can be used to wrap existing entities to enable them to be used as a Television accessory in HomeKit.
|
The [Universal Media Player](/integrations/universal/#harmony-remote-example) has an example of how it can be used to wrap existing entities to enable them to be used as a Television accessory in HomeKit.
|
||||||
|
|
||||||
|
@ -13,6 +13,7 @@ ha_codeowners:
|
|||||||
ha_domain: honeywell
|
ha_domain: honeywell
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- climate
|
- climate
|
||||||
|
- diagnostics
|
||||||
- sensor
|
- sensor
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
---
|
---
|
||||||
|
@ -6,6 +6,7 @@ ha_category:
|
|||||||
- Irrigation
|
- Irrigation
|
||||||
- Sensor
|
- Sensor
|
||||||
- Switch
|
- Switch
|
||||||
|
ha_config_flow: true
|
||||||
ha_release: 0.71
|
ha_release: 0.71
|
||||||
ha_iot_class: Cloud Polling
|
ha_iot_class: Cloud Polling
|
||||||
ha_domain: hydrawise
|
ha_domain: hydrawise
|
||||||
@ -27,114 +28,44 @@ There is currently support for the following device types within Home Assistant:
|
|||||||
- [Sensor](#sensor)
|
- [Sensor](#sensor)
|
||||||
- [Switch](#switch)
|
- [Switch](#switch)
|
||||||
|
|
||||||
## Configuration
|
## Prerequisites
|
||||||
|
|
||||||
To enable it, add the following to your `configuration.yaml` file:
|
To set up the Hydrawise integration, you must first obtain an API Key.
|
||||||
|
|
||||||
```yaml
|
1. Login at [https://app.hydrawise.com](https://app.hydrawise.com).
|
||||||
# Example configuration.yaml entry
|
2. Go to **Account Details** under the **My Account** menu (in the upper-right-hand corner).
|
||||||
hydrawise:
|
3. Under the **Account Settings** section, copy the **API Key**.
|
||||||
access_token: YOUR_API_KEY
|
1. If no API Key is present, select the **Generate API Key** button.
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
{% include integrations/config_flow.md %}
|
||||||
access_token:
|
|
||||||
description: The API KEY assigned to your Hydrawise account.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
scan_interval:
|
|
||||||
description: The time interval, in seconds, to poll the Hydrawise cloud.
|
|
||||||
required: false
|
|
||||||
type: integer
|
|
||||||
default: 120
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
To get your API access token log into your [Hydrawise account](https://app.hydrawise.com/config/login) and in the 'My Account Details' section under Account Settings click 'Generate API Key'. Enter that key in your configuration file as `YOUR_API_KEY`.
|
|
||||||
|
|
||||||
## Binary Sensor
|
## Binary Sensor
|
||||||
|
|
||||||
Once you have enabled the `hydrawise` integration, add the following to your `configuration.yaml` file:
|
Binary sensor entities are created for the controller:
|
||||||
|
|
||||||
```yaml
|
- Cloud API availability
|
||||||
# Example configuration.yaml entry
|
|
||||||
binary_sensor:
|
|
||||||
- platform: hydrawise
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
monitored_conditions:
|
|
||||||
description: The binary sensors that should be displayed on the frontend.
|
|
||||||
required: false
|
|
||||||
type: list
|
|
||||||
default: All binary sensors are enabled.
|
|
||||||
keys:
|
|
||||||
is_watering:
|
|
||||||
description: The binary sensor is `on` when the zone is actively watering.
|
|
||||||
status:
|
|
||||||
description: This will indicate `on` when there is a connection to the Hydrawise cloud. It is not an indication of whether the irrigation controller hardware is online.
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
<div class='note warning'>
|
<div class='note warning'>
|
||||||
The Hydrawise API removed the ability to read the rain sensor status. Therefore it is no longer supported by the Hydrawise integration to Home Assistant.
|
The Hydrawise API removed the ability to read the rain sensor status. Therefore it is no longer supported by the Hydrawise integration to Home Assistant.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class='note warning'>
|
Binary sensor entities are created for each zone:
|
||||||
|
|
||||||
The Hydrawise API uses rate limiting and might throw errors in case the `scan_interval` is too low or too many manual service calls are triggered:
|
- Running status
|
||||||
The limit is 3 calls to start/stop/suspend a zone per 30 seconds and an additional limit across the entire API of 30 calls in a 5-minute period per user.
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
## Sensor
|
## Sensor
|
||||||
|
|
||||||
Once you have enabled the `hydrawise` integration, add the following to your `configuration.yaml` file:
|
Sensor entities are added to each zone:
|
||||||
|
|
||||||
```yaml
|
- Timestamp for the next scheduled automatic watering cycle
|
||||||
# Example configuration.yaml entry
|
- Remaining time for the current watering cycle
|
||||||
sensor:
|
|
||||||
- platform: hydrawise
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
monitored_conditions:
|
|
||||||
description: The sensors that should be displayed on the frontend.
|
|
||||||
required: false
|
|
||||||
type: list
|
|
||||||
default: All sensors are enabled.
|
|
||||||
keys:
|
|
||||||
watering_time:
|
|
||||||
description: The amount of time left if the zone is actively watering. Otherwise the time is 0.
|
|
||||||
next_cycle:
|
|
||||||
description: The day and time when the next scheduled automatic watering cycle will start.
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
## Switch
|
## Switch
|
||||||
|
|
||||||
Once you have enabled the `hydrawise` integration, add the following to your `configuration.yaml` file:
|
Switches are added for each zone, controlling:
|
||||||
|
|
||||||
```yaml
|
- Smart watering features
|
||||||
# Example configuration.yaml entry
|
- Manual watering
|
||||||
switch:
|
|
||||||
- platform: hydrawise
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
watering_minutes:
|
|
||||||
description: When manual watering is enabled this will determine the length of time in minutes that the irrigation zone will run. The allowed values are 5, 10, 15, 30, 45, or 60.
|
|
||||||
required: false
|
|
||||||
type: integer
|
|
||||||
default: 15
|
|
||||||
monitored_conditions:
|
|
||||||
description: Selects the set of switches that should be enabled on the frontend. Also sets the length of time a zone will run under manual control.
|
|
||||||
required: false
|
|
||||||
type: list
|
|
||||||
default: All switches are enabled.
|
|
||||||
keys:
|
|
||||||
auto_watering:
|
|
||||||
description: Enables the Smart Watering features for this zone.
|
|
||||||
manual_watering:
|
|
||||||
description: Enables the manual watering control for this zone.
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
### Switch Operation
|
### Switch Operation
|
||||||
|
|
||||||
@ -145,17 +76,3 @@ When `manual_watering` is `on` the zone will run for the amount of time set by `
|
|||||||
<div class='note warning'>
|
<div class='note warning'>
|
||||||
Due to changes in the Hydrawise API the status of the Auto Watering switches has changed. Under normal conditions the Auto Watering switches correctly reflect the Smart Watering schedule on the Hydrawise mobile or web app. However, if a rain sensor is connected to the system and it is active (rain detected), or the zone is running the Auto Watering switch will turn off. After both of those conditions are removed the switch will again show the correct Auto Watering condition.
|
Due to changes in the Hydrawise API the status of the Auto Watering switches has changed. Under normal conditions the Auto Watering switches correctly reflect the Smart Watering schedule on the Hydrawise mobile or web app. However, if a rain sensor is connected to the system and it is active (rain detected), or the zone is running the Auto Watering switch will turn off. After both of those conditions are removed the switch will again show the correct Auto Watering condition.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
```yaml
|
|
||||||
# An example that enables all the switches, and sets the manual watering time to 20 minutes.
|
|
||||||
switch:
|
|
||||||
- platform: hydrawise
|
|
||||||
watering_minutes: 20
|
|
||||||
```
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
# An example that enables only the manual control switches.
|
|
||||||
switch:
|
|
||||||
- platform: hydrawise
|
|
||||||
monitored_conditions: manual_watering
|
|
||||||
```
|
|
||||||
|
26
source/_integrations/idasen_desk.markdown
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
---
|
||||||
|
title: IKEA Idasen Desk
|
||||||
|
description: Control and monitor your IKEA Idåsen standing desk.
|
||||||
|
ha_iot_class: Local Push
|
||||||
|
ha_config_flow: true
|
||||||
|
ha_release: '2023.10'
|
||||||
|
ha_category:
|
||||||
|
- Cover
|
||||||
|
ha_domain: idasen_desk
|
||||||
|
ha_bluetooth: true
|
||||||
|
ha_platforms:
|
||||||
|
- cover
|
||||||
|
ha_integration_type: integration
|
||||||
|
ha_codeowners:
|
||||||
|
- '@abmantis'
|
||||||
|
---
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
|
Home Assistant will display a list of addresses of the available desks, and you just need to select the one you want to add. Repeat the process to add more than one desk.
|
||||||
|
|
||||||
|
<div class='note'>
|
||||||
|
If you see an "No unconfigured devices found" message, make sure that the desk is in Bluetooth pairing mode. For that, press the small button with the Bluetooth logo on the controller until it starts blinking (about 3 seconds).
|
||||||
|
</div>
|
@ -96,7 +96,7 @@ Email providers may limit the number of reported emails. The number may be less
|
|||||||
|
|
||||||
### Using events
|
### Using events
|
||||||
|
|
||||||
When a new message arrives that meets the search criteria the `imap` integration will send a custom [event](/docs/automation/trigger/#event-trigger) that can be used to trigger an automation.
|
When a new message arrives or a message is removed within the defined search command scope, the `imap` integration will send a custom [event](/docs/automation/trigger/#event-trigger) that can be used to trigger an automation.
|
||||||
It is also possible to use to create a template [`binary_sensor` or `sensor`](/integrations/template/#trigger-based-template-binary-sensors-buttons-numbers-selects-and-sensors) based the [event data](/docs/automation/templating/#event).
|
It is also possible to use to create a template [`binary_sensor` or `sensor`](/integrations/template/#trigger-based-template-binary-sensors-buttons-numbers-selects-and-sensors) based the [event data](/docs/automation/templating/#event).
|
||||||
|
|
||||||
The table below shows what attributes come with `trigger.event.data`. The data is a dictionary that has the keys that are shown below.
|
The table below shows what attributes come with `trigger.event.data`. The data is a dictionary that has the keys that are shown below.
|
||||||
@ -130,6 +130,8 @@ headers:
|
|||||||
description: The `headers` of the message in the for of a dictionary. The values are iterable as headers can occur more than once.
|
description: The `headers` of the message in the for of a dictionary. The values are iterable as headers can occur more than once.
|
||||||
custom:
|
custom:
|
||||||
description: Holds the result of the custom event data [template](/docs/configuration/templating). All attributes are available as a variable in the template.
|
description: Holds the result of the custom event data [template](/docs/configuration/templating). All attributes are available as a variable in the template.
|
||||||
|
initial:
|
||||||
|
description: Returns `True` if this is the initial event for the last message received. When a message within the search scope is removed and the last message received has not been changed, then an `imap_content` event is generated and the `initial` property is set to `False`. Note that if no `Message-ID` header was set on the triggering email, the `initial` property will always be set to `True`.
|
||||||
|
|
||||||
{% endconfiguration_basic %}
|
{% endconfiguration_basic %}
|
||||||
|
|
||||||
@ -163,6 +165,7 @@ template:
|
|||||||
Sender: "{{ trigger.event.data['sender'] }}"
|
Sender: "{{ trigger.event.data['sender'] }}"
|
||||||
Date: "{{ trigger.event.data['date'] }}"
|
Date: "{{ trigger.event.data['date'] }}"
|
||||||
Subject: "{{ trigger.event.data['subject'] }}"
|
Subject: "{{ trigger.event.data['subject'] }}"
|
||||||
|
Initial: "{{ trigger.event.data['initial'] }}"
|
||||||
To: "{{ trigger.event.data['headers'].get('Delivered-To', ['n/a'])[0] }}"
|
To: "{{ trigger.event.data['headers'].get('Delivered-To', ['n/a'])[0] }}"
|
||||||
Return-Path: "{{ trigger.event.data['headers'].get('Return-Path',['n/a'])[0] }}"
|
Return-Path: "{{ trigger.event.data['headers'].get('Return-Path',['n/a'])[0] }}"
|
||||||
Received-first: "{{ trigger.event.data['headers'].get('Received',['n/a'])[0] }}"
|
Received-first: "{{ trigger.event.data['headers'].get('Received',['n/a'])[0] }}"
|
||||||
@ -185,6 +188,7 @@ template:
|
|||||||
id: "custom_event"
|
id: "custom_event"
|
||||||
event_data:
|
event_data:
|
||||||
sender: "no-reply@smartconnect.apc.com"
|
sender: "no-reply@smartconnect.apc.com"
|
||||||
|
initial: true
|
||||||
sensor:
|
sensor:
|
||||||
- name: house_electricity
|
- name: house_electricity
|
||||||
state: >-
|
state: >-
|
||||||
|
@ -19,7 +19,9 @@ The `ipma` weather platform uses the [Instituto Português do Mar e Atmosfera](h
|
|||||||
|
|
||||||
There is currently support for the following device types within Home Assistant:
|
There is currently support for the following device types within Home Assistant:
|
||||||
|
|
||||||
- Sensor (Risk of Fire for your location)
|
- Sensor
|
||||||
|
- Risk of Fire for your location
|
||||||
|
- UV Index for your district
|
||||||
- Weather (current state and forecast)
|
- Weather (current state and forecast)
|
||||||
|
|
||||||
{% include integrations/config_flow.md %}
|
{% include integrations/config_flow.md %}
|
||||||
|
@ -48,3 +48,27 @@ sensors:
|
|||||||
- maghrib: Show the maghrib prayer time for today.
|
- maghrib: Show the maghrib prayer time for today.
|
||||||
- isha: Show the isha prayer time for today.
|
- isha: Show the isha prayer time for today.
|
||||||
- midnight: Show the midnight for today which is the end of isha prayer. This is a calculated field and is not the same as 12AM.
|
- midnight: Show the midnight for today which is the end of isha prayer. This is a calculated field and is not the same as 12AM.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
### Prayer calcuation method
|
||||||
|
|
||||||
|
Default: Islamic Society of North America
|
||||||
|
|
||||||
|
A prayer times calculation method. Methods identify various schools of thought about how to compute the timings. If not specified, it defaults to Islamic Society of North America.
|
||||||
|
|
||||||
|
### Latatude Adjustment Method
|
||||||
|
|
||||||
|
Default: Middle of the night
|
||||||
|
|
||||||
|
Method for adjusting times higher latitudes - for instance, if you are checking timings in the UK or Sweden.
|
||||||
|
|
||||||
|
### Midnight mode
|
||||||
|
|
||||||
|
Default: Standard (mid sunset to sunrise)
|
||||||
|
|
||||||
|
### School
|
||||||
|
|
||||||
|
Default: Shafi
|
||||||
|
|
||||||
|
Method for adjusting Asr time calcuation, if not specified, it defaults to Shafi.
|
||||||
|
@ -10,6 +10,7 @@ ha_codeowners:
|
|||||||
- '@pnbruckner'
|
- '@pnbruckner'
|
||||||
ha_domain: life360
|
ha_domain: life360
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
|
- button
|
||||||
- device_tracker
|
- device_tracker
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
---
|
---
|
||||||
@ -69,6 +70,10 @@ See [Zone documentation](/integrations/zone/#home-zone) for details about how Ho
|
|||||||
radius: ZZZ
|
radius: ZZZ
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Polling Location
|
||||||
|
|
||||||
|
A button is also provided that has the ability to poll for a user's location when pressed.
|
||||||
|
|
||||||
## Disclaimer
|
## Disclaimer
|
||||||
|
|
||||||
It does not appear that Life360 officially supports its REST API for use with other than its own apps. This integration is based on reverse engineering that has been done by the open source community, and an API token that was somehow discovered by the same community. At any time Life360 could disable that token or otherwise change its REST API such that this integration would no longer work.
|
It does not appear that Life360 officially supports its REST API for use with other than its own apps. This integration is based on reverse engineering that has been done by the open source community, and an API token that was somehow discovered by the same community. At any time Life360 could disable that token or otherwise change its REST API such that this integration would no longer work.
|
||||||
|
@ -17,9 +17,6 @@ ha_platforms:
|
|||||||
- select
|
- select
|
||||||
- sensor
|
- sensor
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
ha_codeowners:
|
|
||||||
- '@bdraco'
|
|
||||||
ha_quality_scale: platinum
|
|
||||||
ha_dhcp: true
|
ha_dhcp: true
|
||||||
---
|
---
|
||||||
|
|
||||||
|
@ -192,6 +192,11 @@ payload_open:
|
|||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
default: OPEN
|
default: OPEN
|
||||||
|
payload_reset:
|
||||||
|
description: A special payload that resets the state to `unknown` when received on the `state_topic`.
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
default: '"None"'
|
||||||
qos:
|
qos:
|
||||||
description: The maximum QoS level to be used when receiving and publishing messages.
|
description: The maximum QoS level to be used when receiving and publishing messages.
|
||||||
required: false
|
required: false
|
||||||
|
@ -9,6 +9,8 @@ ha_domain: london_underground
|
|||||||
ha_platforms:
|
ha_platforms:
|
||||||
- sensor
|
- sensor
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
|
ha_codeowners:
|
||||||
|
- '@jpbede'
|
||||||
---
|
---
|
||||||
|
|
||||||
The `london_underground` sensor will display the status of London underground lines, as well as the Overground and DLR.
|
The `london_underground` sensor will display the status of London underground lines, as well as the Overground and DLR.
|
||||||
|
@ -10,6 +10,8 @@ ha_domain: matrix
|
|||||||
ha_platforms:
|
ha_platforms:
|
||||||
- notify
|
- notify
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
|
ha_codeowners:
|
||||||
|
- '@PaarthShah'
|
||||||
---
|
---
|
||||||
|
|
||||||
This integration allows you to send messages to matrix rooms, as well as to react to messages in matrix rooms. Reacting to commands is accomplished by firing an event when one of the configured commands is triggered.
|
This integration allows you to send messages to matrix rooms, as well as to react to messages in matrix rooms. Reacting to commands is accomplished by firing an event when one of the configured commands is triggered.
|
||||||
|
37
source/_integrations/medcom_ble.markdown
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
---
|
||||||
|
title: Medcom Bluetooth
|
||||||
|
description: Integrate International Medcom radiation monitors
|
||||||
|
ha_category:
|
||||||
|
- Environment
|
||||||
|
- Sensor
|
||||||
|
ha_release: '2023.10'
|
||||||
|
ha_iot_class: Local Polling
|
||||||
|
ha_codeowners:
|
||||||
|
- '@elafargue'
|
||||||
|
ha_domain: medcom_ble
|
||||||
|
ha_bluetooth: true
|
||||||
|
ha_platforms:
|
||||||
|
- sensor
|
||||||
|
ha_config_flow: true
|
||||||
|
ha_integration_type: integration
|
||||||
|
---
|
||||||
|
|
||||||
|
Integrates International Medcom Bluetooth-enabled radiation monitors into Home Assistant.
|
||||||
|
|
||||||
|
[International Medcom](https://medcom.com/) is an American company that manufactures radiation detection instruments that are used in professional environments, for home and office, and by community projects worldwide.
|
||||||
|
|
||||||
|
This integration supports the Medcom [Inspector BLE](https://medcom.com/product/inspector-ble/) via a Bluetooth low-energy interface.
|
||||||
|
|
||||||
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
|
The Medcom Bluetooth integration will automatically discover devices once the [Bluetooth](integrations/bluetooth) integration is enabled and working. It will list each detected Inspector using its Bluetooth MAC address as the serial number.
|
||||||
|
|
||||||
|
To limit the load on the Bluetooth radio on the Home Assistant side, the integration only polls for a reading every 5 minutes, which should be adequate for ongoing background monitoring. An Inspector BLE battery should last several months with continuous use before needing replacement.
|
||||||
|
|
||||||
|
## Supported Devices
|
||||||
|
|
||||||
|
- Medcom Inspector BLE
|
||||||
|
|
||||||
|
## Sensors
|
||||||
|
|
||||||
|
This integration adds a counts-per-minute ("CPM") sensor for each detected Inspector BLE device. See the Inspector BLE manual for how to convert this CPM reading into another unit if desired, which can be done via a custom [template sensor](integrations/template)
|
@ -17,18 +17,48 @@ ha_platforms:
|
|||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
---
|
---
|
||||||
|
|
||||||
Minecraft servers allow players to play the sandbox video game [Minecraft](https://www.minecraft.net/en-us) by Mojang Studios online or via a local area network with other players. The `Minecraft Server` integration lets you retrieve information from a Minecraft server within Home Assistant.
|
[Minecraft](https://www.minecraft.net/en-us) is a sandbox video game developed by Mojang Studios. Minecraft servers allow players to play the game online or via a local area network with other players. The **Minecraft Server** integration lets you retrieve information from a Minecraft server within Home Assistant.
|
||||||
|
|
||||||
<div class='note'>
|
<div class='note'>
|
||||||
Minecraft Java edition servers must be version 1.7 or newer, since older versions don't expose any information.
|
|
||||||
|
Minecraft Java Edition servers must be version 1.7 or newer, since older versions don't expose any information.
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class='note'>
|
<div class='note warning'>
|
||||||
Minecraft Bedrock edition servers are not supported yet.
|
|
||||||
|
Minecraft Bedrock Edition servers are not supported yet.
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% include integrations/config_flow.md %}
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
|
During setup you will be prompted to enter the **name** and the **address** of the server.
|
||||||
|
|
||||||
|
### Server name
|
||||||
|
|
||||||
|
The **server name** can be chosen freely.
|
||||||
|
|
||||||
|
<div class='note'>
|
||||||
|
|
||||||
|
Default is `Minecraft Server`.
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
### Server address
|
||||||
|
|
||||||
|
The **server address** is a combination of the hostname and the port, where the port is optional. For SRV records, the port is automatically extracted. For all other cases the default port **25565** is used, if the port is omitted. Here are some server address examples:
|
||||||
|
|
||||||
|
- **SRV record**: `hypixel.net`
|
||||||
|
- **Hostname**: `mc.hypixel.net:25565` or `mc.hypixel.net`
|
||||||
|
- **IP address**: `192.168.0.123:25565` or `192.168.0.123`
|
||||||
|
|
||||||
|
<div class='note'>
|
||||||
|
|
||||||
|
Default is `localhost:25565`.
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
## Binary sensors
|
## Binary sensors
|
||||||
|
|
||||||
This integration provides a binary sensor for the following information from a Minecraft server:
|
This integration provides a binary sensor for the following information from a Minecraft server:
|
||||||
@ -48,5 +78,7 @@ This integration provides sensors for the following information from a Minecraft
|
|||||||
- World Message / Message of the Day (MOTD)
|
- World Message / Message of the Day (MOTD)
|
||||||
|
|
||||||
<div class='note'>
|
<div class='note'>
|
||||||
|
|
||||||
Depending on the server, the player names list may not be shown completely. Some servers and plugins limit or completely hide this list or even replace the player names with fake ones to show some custom messages there.
|
Depending on the server, the player names list may not be shown completely. Some servers and plugins limit or completely hide this list or even replace the player names with fake ones to show some custom messages there.
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -6,9 +6,7 @@ ha_category:
|
|||||||
ha_release: pre 0.7
|
ha_release: pre 0.7
|
||||||
ha_iot_class: Local Polling
|
ha_iot_class: Local Polling
|
||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@adamchengtkc'
|
|
||||||
- '@janiversen'
|
- '@janiversen'
|
||||||
- '@vzahradnik'
|
|
||||||
ha_domain: modbus
|
ha_domain: modbus
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- binary_sensor
|
- binary_sensor
|
||||||
@ -37,13 +35,6 @@ The modbus integration allows you to use multiple connections each with multiple
|
|||||||
The modbus integration provides a number of parameters to help communicate with "difficult" devices, these parameters are independent of the type of communication.
|
The modbus integration provides a number of parameters to help communicate with "difficult" devices, these parameters are independent of the type of communication.
|
||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
close_comm_on_error:
|
|
||||||
description: "Close connection when an error occurs.
|
|
||||||
Some serial-rs485 adapters deliver garble when opened, this leads to a disconnect and a new connect, which can continue.
|
|
||||||
If the log contains a message from pymodbus, with the text 'cleaning....', then try this parameter."
|
|
||||||
required: false
|
|
||||||
default: true
|
|
||||||
type: boolean
|
|
||||||
delay:
|
delay:
|
||||||
description: "Time to delay sending messages in seconds after connecting.
|
description: "Time to delay sending messages in seconds after connecting.
|
||||||
Some modbus devices need a delay of typically 1-2 seconds after connection is established to prepare the communication.
|
Some modbus devices need a delay of typically 1-2 seconds after connection is established to prepare the communication.
|
||||||
@ -66,11 +57,6 @@ retries:
|
|||||||
required: false
|
required: false
|
||||||
default: 3
|
default: 3
|
||||||
type: integer
|
type: integer
|
||||||
retry_on_empty:
|
|
||||||
description: "Retry request, when receiving an empty message."
|
|
||||||
required: false
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
timeout:
|
timeout:
|
||||||
description: "Timeout while waiting for a response in seconds."
|
description: "Timeout while waiting for a response in seconds."
|
||||||
required: false
|
required: false
|
||||||
@ -133,7 +119,6 @@ modbus:
|
|||||||
delay: 0
|
delay: 0
|
||||||
message_wait_milliseconds: 30
|
message_wait_milliseconds: 30
|
||||||
retries: 3
|
retries: 3
|
||||||
retry_on_empty: false
|
|
||||||
timeout: 5
|
timeout: 5
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -182,7 +167,6 @@ modbus:
|
|||||||
delay: 0
|
delay: 0
|
||||||
message_wait_milliseconds: 30
|
message_wait_milliseconds: 30
|
||||||
retries: 3
|
retries: 3
|
||||||
retry_on_empty: false
|
|
||||||
timeout: 5
|
timeout: 5
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -227,7 +211,6 @@ modbus:
|
|||||||
delay: 0
|
delay: 0
|
||||||
message_wait_milliseconds: 30
|
message_wait_milliseconds: 30
|
||||||
retries: 3
|
retries: 3
|
||||||
retry_on_empty: false
|
|
||||||
timeout: 5
|
timeout: 5
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -324,7 +307,6 @@ modbus:
|
|||||||
delay: 0
|
delay: 0
|
||||||
message_wait_milliseconds: 30
|
message_wait_milliseconds: 30
|
||||||
retries: 3
|
retries: 3
|
||||||
retry_on_empty: false
|
|
||||||
timeout: 5
|
timeout: 5
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -399,6 +381,11 @@ scan_interval:
|
|||||||
type: integer
|
type: integer
|
||||||
default: 15
|
default: 15
|
||||||
slave:
|
slave:
|
||||||
|
description: "Identical to `device_address`"
|
||||||
|
required: false
|
||||||
|
type: integer
|
||||||
|
default: 0
|
||||||
|
device_address:
|
||||||
description: "Id of the device. Used to address multiple devices on a rs485 bus or devices connected to a modbus repeater."
|
description: "Id of the device. Used to address multiple devices on a rs485 bus or devices connected to a modbus repeater."
|
||||||
required: false
|
required: false
|
||||||
type: integer
|
type: integer
|
||||||
@ -480,6 +467,10 @@ binary_sensors:
|
|||||||
default: coil
|
default: coil
|
||||||
type: string
|
type: string
|
||||||
slave_count:
|
slave_count:
|
||||||
|
description: "Identical to `virtual_count`."
|
||||||
|
required: false
|
||||||
|
type: integer
|
||||||
|
virtual_count:
|
||||||
description: "Generate count+1 binary sensors (master + slaves).
|
description: "Generate count+1 binary sensors (master + slaves).
|
||||||
Addresses are automatically incremented.
|
Addresses are automatically incremented.
|
||||||
The parameter simplifies configuration and provides a much better performance by not using count+1 requests but a single request."
|
The parameter simplifies configuration and provides a much better performance by not using count+1 requests but a single request."
|
||||||
@ -719,6 +710,11 @@ climates:
|
|||||||
description: "Register address for target temperature (Setpoint)."
|
description: "Register address for target temperature (Setpoint)."
|
||||||
required: true
|
required: true
|
||||||
type: integer
|
type: integer
|
||||||
|
target_temp_write_registers:
|
||||||
|
description: "If `true` use `write_registers` for target temperature."
|
||||||
|
required: false
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
temp_step:
|
temp_step:
|
||||||
description: "Step size target temperature."
|
description: "Step size target temperature."
|
||||||
required: false
|
required: false
|
||||||
@ -765,6 +761,7 @@ modbus:
|
|||||||
max_temp: 30
|
max_temp: 30
|
||||||
structure: ">f"
|
structure: ">f"
|
||||||
target_temp_register: 2782
|
target_temp_register: 2782
|
||||||
|
target_temp_write_registers: true
|
||||||
temp_step: 1
|
temp_step: 1
|
||||||
temperature_unit: C
|
temperature_unit: C
|
||||||
```
|
```
|
||||||
@ -1277,6 +1274,10 @@ sensors:
|
|||||||
type: float
|
type: float
|
||||||
default: 1
|
default: 1
|
||||||
slave_count:
|
slave_count:
|
||||||
|
description: "Identical to `virtual_count`."
|
||||||
|
required: false
|
||||||
|
type: integer
|
||||||
|
virtual_count:
|
||||||
description: "Generates x+1 sensors (master + slaves), allowing read of multiple registers with a single read messsage."
|
description: "Generates x+1 sensors (master + slaves), allowing read of multiple registers with a single read messsage."
|
||||||
required: false
|
required: false
|
||||||
type: integer
|
type: integer
|
||||||
@ -1292,6 +1293,10 @@ sensors:
|
|||||||
type: string
|
type: string
|
||||||
default: ">f"
|
default: ">f"
|
||||||
slave_count:
|
slave_count:
|
||||||
|
description: "Identical to `virtual_count`."
|
||||||
|
required: false
|
||||||
|
type: integer
|
||||||
|
virtual_count:
|
||||||
description: Generates x-1 slave sensors, allowing read of multiple registers with a single read message.
|
description: Generates x-1 slave sensors, allowing read of multiple registers with a single read message.
|
||||||
required: false
|
required: false
|
||||||
type: integer
|
type: integer
|
||||||
@ -1525,6 +1530,7 @@ Some parameters exclude other parameters, the following tables show what can be
|
|||||||
| count | Yes | Yes | No | No | No |
|
| count | Yes | Yes | No | No | No |
|
||||||
| structure | Yes | No | No | No | No |
|
| structure | Yes | No | No | No | No |
|
||||||
| slave_count | No | No | Yes | Yes | Yes |
|
| slave_count | No | No | Yes | Yes | Yes |
|
||||||
|
| virtual_count | No | No | Yes | Yes | Yes |
|
||||||
| swap: none | Yes | Yes | Yes | Yes | Yes |
|
| swap: none | Yes | Yes | Yes | Yes | Yes |
|
||||||
| swap: byte | No | No | Yes | Yes | Yes |
|
| swap: byte | No | No | Yes | Yes | Yes |
|
||||||
| swap: word | No | No | No | Yes | Yes |
|
| swap: word | No | No | No | Yes | Yes |
|
||||||
@ -1545,8 +1551,7 @@ Description:
|
|||||||
| Attribute | Description |
|
| Attribute | Description |
|
||||||
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| hub | Hub name (defaults to 'modbus_hub' when omitted) |
|
| hub | Hub name (defaults to 'modbus_hub' when omitted) |
|
||||||
| unit | Slave address (0-255), alternative to slave |
|
| slave | Slave address (0-255) |
|
||||||
| slave | Slave address (0-255), alternative to unit |
|
|
||||||
| address | Address of the Register (e.g. 138) |
|
| address | Address of the Register (e.g. 138) |
|
||||||
| value | (write_register) A single value or an array of 16-bit values. Single value will call modbus function code 0x06. Array will call modbus function code 0x10. Values might need reverse ordering. E.g., to set 0x0004 you might need to set `[4,0]`, this depend on the byte order of your CPU |
|
| value | (write_register) A single value or an array of 16-bit values. Single value will call modbus function code 0x06. Array will call modbus function code 0x10. Values might need reverse ordering. E.g., to set 0x0004 you might need to set `[4,0]`, this depend on the byte order of your CPU |
|
||||||
| state | (write_coil) A single boolean or an array of booleans. Single boolean will call modbus function code 0x05. Array will call modbus function code 0x0F |
|
| state | (write_coil) A single boolean or an array of booleans. Single boolean will call modbus function code 0x05. Array will call modbus function code 0x0F |
|
||||||
@ -1572,7 +1577,7 @@ To write a float32 datatype register use network format like `10.0` == `0x412000
|
|||||||
service: modbus.write_register
|
service: modbus.write_register
|
||||||
data:
|
data:
|
||||||
address: <target register address>
|
address: <target register address>
|
||||||
unit: <target slave address>
|
slave: <target slave address>
|
||||||
hub: <hub name>
|
hub: <hub name>
|
||||||
value: [0x4120, 0x0000]
|
value: [0x4120, 0x0000]
|
||||||
```
|
```
|
||||||
|
@ -10,6 +10,7 @@ ha_iot_class: Cloud Polling
|
|||||||
ha_config_flow: true
|
ha_config_flow: true
|
||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@ehendrix23'
|
- '@ehendrix23'
|
||||||
|
- '@Lash-L'
|
||||||
ha_domain: myq
|
ha_domain: myq
|
||||||
ha_homekit: true
|
ha_homekit: true
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
|
@ -6,6 +6,7 @@ ha_category:
|
|||||||
- Transport
|
- Transport
|
||||||
ha_iot_class: Cloud Polling
|
ha_iot_class: Cloud Polling
|
||||||
ha_release: 0.93
|
ha_release: 0.93
|
||||||
|
ha_config_flow: true
|
||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@vividboarder'
|
- '@vividboarder'
|
||||||
ha_domain: nextbus
|
ha_domain: nextbus
|
||||||
@ -16,41 +17,4 @@ ha_integration_type: integration
|
|||||||
|
|
||||||
The `nextbus` sensor will give you the next departure time and associated data from your public transit station/stop. The data comes from [NextBus](https://www.nextbus.com), which provides real time transit data for a number of transit authorities.
|
The `nextbus` sensor will give you the next departure time and associated data from your public transit station/stop. The data comes from [NextBus](https://www.nextbus.com), which provides real time transit data for a number of transit authorities.
|
||||||
|
|
||||||
It is possible to get the tag information from the NextBus website.
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
1. Visit https://www.nextbus.com/
|
|
||||||
2. Use the drop downs to select the transit system, route, direction, and stop
|
|
||||||
3. Extract the tags from the URL. It is constructed with the following pattern:
|
|
||||||
|
|
||||||
https://www.nextbus.com/#!/<agency>/<route>/<direction>/<stop>
|
|
||||||
|
|
||||||
If tags are incorrect, valid ones will be displayed in the logs as a convenience. Note that the `<direction>` tag is not used in this integration.
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
# Example configuration.yaml entry
|
|
||||||
sensor:
|
|
||||||
- platform: nextbus
|
|
||||||
agency: AGENCY_TAG
|
|
||||||
route: ROUTE_TAG
|
|
||||||
stop: STOP_TAG
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
agency:
|
|
||||||
description: The agency tag from NextBus.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
route:
|
|
||||||
description: The route tag from NextBus.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
stop:
|
|
||||||
description: The stop tag from NextBus.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
name:
|
|
||||||
description: Name to use in the frontend.
|
|
||||||
required: false
|
|
||||||
default: <Agency> - <Route>
|
|
||||||
type: string
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
@ -21,6 +21,7 @@ More than 175 utilities use Opower. Currently only the following utilities are s
|
|||||||
|
|
||||||
- Consolidated Edison (ConEd) and subsidiaries
|
- Consolidated Edison (ConEd) and subsidiaries
|
||||||
- Orange & Rockland Utilities (ORU)
|
- Orange & Rockland Utilities (ORU)
|
||||||
|
- Enmax Energy
|
||||||
- Evergy
|
- Evergy
|
||||||
- Exelon subsidiaries
|
- Exelon subsidiaries
|
||||||
- Atlantic City Electric
|
- Atlantic City Electric
|
||||||
@ -30,6 +31,7 @@ More than 175 utilities use Opower. Currently only the following utilities are s
|
|||||||
- PECO Energy Company (PECO)
|
- PECO Energy Company (PECO)
|
||||||
- Potomac Electric Power Company (Pepco)
|
- Potomac Electric Power Company (Pepco)
|
||||||
- Pacific Gas & Electric (PG&E)
|
- Pacific Gas & Electric (PG&E)
|
||||||
|
- Portland General Electric (PGE)
|
||||||
- Puget Sound Energy (PSE)
|
- Puget Sound Energy (PSE)
|
||||||
|
|
||||||
When you add the Opower integration to Home Assistant, you will need to provide your utility account's authentication details to enable retrieving your energy data.
|
When you add the Opower integration to Home Assistant, you will need to provide your utility account's authentication details to enable retrieving your energy data.
|
||||||
|
45
source/_integrations/private_ble_device.markdown
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
---
|
||||||
|
title: Private BLE Device
|
||||||
|
description: Instructions on how to integrate private BLE devices into Home Assistant.
|
||||||
|
ha_category:
|
||||||
|
- Device Tracker
|
||||||
|
ha_release: '2023.10'
|
||||||
|
ha_iot_class: Local Push
|
||||||
|
ha_domain: private_ble_device
|
||||||
|
ha_platforms:
|
||||||
|
- device_tracker
|
||||||
|
- sensor
|
||||||
|
ha_config_flow: true
|
||||||
|
ha_integration_type: integration
|
||||||
|
ha_codeowners:
|
||||||
|
- '@Jc2k'
|
||||||
|
---
|
||||||
|
|
||||||
|
Some BLE devices use a privacy feature called Resolvable Private Addresses to stop businesses from tracking you when you are out with your smart devices. Instead of having a single static address that can be used to track you, its Bluetooth address changes frequently. If you have [Bluetooth](/integrations/bluetooth) enabled and functioning and know your device's Identity Resolving Key, you can add it to Home Assistant as a Private BLE Device. We can then work out which random MAC addresses are related to the IRK and track those.
|
||||||
|
|
||||||
|
In addition to telling you if your device is home or away, it can also tell you an estimated distance to the nearest Bluetooth dongle or proxy and its signal strength.
|
||||||
|
|
||||||
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
|
Your device must be on and broadcasting in range before adding it to Home Assistant - we check that it's visible to validate that your IRK is correct.
|
||||||
|
|
||||||
|
There are two common representations for encoding an IRK - base64 encoding or hex encoding. This integration supports both.
|
||||||
|
|
||||||
|
## Getting your Identity Resolving Key (IRK)
|
||||||
|
|
||||||
|
### On macOS
|
||||||
|
|
||||||
|
If you are trying to get the IRK for your iPhone or Apple Watch, you must be logged in to the Mac with the same iCloud account on those devices. This procedure should also work for devices that you pair with macOS.
|
||||||
|
|
||||||
|
1. Start the **Keychain Acess** application.
|
||||||
|
2. In the left sidebar, make sure iCloud is selected.
|
||||||
|
3. In the search bar in the upper right, type Bluetooth.
|
||||||
|
4. A list of GUIDs is shown.
|
||||||
|
5. Double-click on a record. As part of the **Account** field, it will say `Public: XX:XX:XX:XX:XX:XX`. This MAC address should match the device you are trying to work with.
|
||||||
|
6. Click on show password
|
||||||
|
7. You will have to enter your password, then enter your username and password.
|
||||||
|
8. macOS will show some XML. You are looking for the "Remote IRK" field. After there is a data field that contains a base64 encoded version of your Identity Resolving Key.
|
||||||
|
|
||||||
|
## ESPresense
|
||||||
|
|
||||||
|
If you already use Identity Resolving Key tracking with ESPresence then you already have a hex-encoded version of your Identity Resolving Key. Home Assistant can use the key in this format directly.
|
@ -3,6 +3,7 @@ title: Rain Bird
|
|||||||
description: Instructions on how to integrate your Rain Bird LNK WiFi Module within Home Assistant.
|
description: Instructions on how to integrate your Rain Bird LNK WiFi Module within Home Assistant.
|
||||||
ha_category:
|
ha_category:
|
||||||
- Binary Sensor
|
- Binary Sensor
|
||||||
|
- Calendar
|
||||||
- Irrigation
|
- Irrigation
|
||||||
- Sensor
|
- Sensor
|
||||||
- Switch
|
- Switch
|
||||||
@ -15,6 +16,7 @@ ha_codeowners:
|
|||||||
ha_domain: rainbird
|
ha_domain: rainbird
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- binary_sensor
|
- binary_sensor
|
||||||
|
- calendar
|
||||||
- number
|
- number
|
||||||
- sensor
|
- sensor
|
||||||
- switch
|
- switch
|
||||||
@ -26,6 +28,7 @@ This `rainbird` integration allows interacting with [LNK WiFi](https://www.rainb
|
|||||||
There is currently support for the following device types within Home Assistant:
|
There is currently support for the following device types within Home Assistant:
|
||||||
|
|
||||||
- [Binary Sensor](#binary-sensor)
|
- [Binary Sensor](#binary-sensor)
|
||||||
|
- [Calendar](#calendar)
|
||||||
- [Number](#number)
|
- [Number](#number)
|
||||||
- [Switch](#switch)
|
- [Switch](#switch)
|
||||||
|
|
||||||
@ -40,6 +43,12 @@ will run when turning on a zone switch (default is 6 minutes). This can be overr
|
|||||||
|
|
||||||
The `rainsensor` sensor will tell if you if the device has detected rain.
|
The `rainsensor` sensor will tell if you if the device has detected rain.
|
||||||
|
|
||||||
|
## Calendar
|
||||||
|
|
||||||
|
Some Rain Bird devices support automatic irrigation schedules configured with the Rain Bird app.
|
||||||
|
and are available in Home Assistant as a [Calendar](https://www.home-assistant.io/integrations/calendar/) entity. You can view the program schedule in the UI, or trigger other automations
|
||||||
|
based on the irrigation start or end time.
|
||||||
|
|
||||||
## Number
|
## Number
|
||||||
|
|
||||||
The Rain Delay Number Entity lets you set and view the number of days, if any, the automatic irrigation schedule has been delayed.
|
The Rain Delay Number Entity lets you set and view the number of days, if any, the automatic irrigation schedule has been delayed.
|
||||||
|
@ -3,6 +3,9 @@ title: Renson
|
|||||||
description: Instructions on how to integrate Renson Endura Delta sensors into Home Assistant.
|
description: Instructions on how to integrate Renson Endura Delta sensors into Home Assistant.
|
||||||
ha_category:
|
ha_category:
|
||||||
- Binary Sensor
|
- Binary Sensor
|
||||||
|
- Button
|
||||||
|
- Fan
|
||||||
|
- Number
|
||||||
- Sensor
|
- Sensor
|
||||||
ha_release: 2023.7
|
ha_release: 2023.7
|
||||||
ha_iot_class: Local Polling
|
ha_iot_class: Local Polling
|
||||||
@ -12,11 +15,13 @@ ha_codeowners:
|
|||||||
ha_domain: renson
|
ha_domain: renson
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- binary_sensor
|
- binary_sensor
|
||||||
|
- button
|
||||||
|
- fan
|
||||||
|
- number
|
||||||
- sensor
|
- sensor
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
---
|
---
|
||||||
|
|
||||||
The Renson integration pulls in data from the Renson Endura delta device. Most of the sensors that can be monitored from inside the Android/iOS application can be monitored with this integration.
|
The Renson integration pulls in data from the Renson Endura delta device. Most of the sensors that can be monitored from inside the Android/iOS application can be monitored with this integration.
|
||||||
|
|
||||||
|
|
||||||
{% include integrations/config_flow.md %}
|
{% include integrations/config_flow.md %}
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
title: Roborock
|
title: Roborock
|
||||||
description: Instructions on how to integrate Roborock vacuums into Home Assistant
|
description: Instructions on how to integrate Roborock vacuums into Home Assistant
|
||||||
ha_category:
|
ha_category:
|
||||||
|
- Binary Sensor
|
||||||
- Number
|
- Number
|
||||||
- Select
|
- Select
|
||||||
- Sensor
|
- Sensor
|
||||||
@ -16,6 +17,7 @@ ha_codeowners:
|
|||||||
- '@Lash-L'
|
- '@Lash-L'
|
||||||
ha_domain: roborock
|
ha_domain: roborock
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
|
- binary_sensor
|
||||||
- diagnostics
|
- diagnostics
|
||||||
- number
|
- number
|
||||||
- select
|
- select
|
||||||
@ -49,20 +51,41 @@ Mop mode - Describes how to mop the floor. On some firmware, it is called 'mop r
|
|||||||
|
|
||||||
Mop intensity - How hard you would like your vacuum to mop.
|
Mop intensity - How hard you would like your vacuum to mop.
|
||||||
|
|
||||||
|
### Binary sensor
|
||||||
|
|
||||||
|
Mop attached - States if the mop is currently attached.
|
||||||
|
|
||||||
|
Mop drying status - Only available on docks with drying capabilites - States if the mop is currently being driven.
|
||||||
|
|
||||||
|
Water box attached - States if the water box is currently attached.
|
||||||
|
|
||||||
|
Water shortage - States if the water box is low on water - 'Ok' if it has not detected a water shortage.
|
||||||
|
|
||||||
|
|
||||||
### Sensor
|
### Sensor
|
||||||
|
|
||||||
Cleaning area - How much area the vacuum has cleaned in its current run. If the vacuum is not currently cleaning, how much area it has cleaned during its last run.
|
Cleaning area - How much area the vacuum has cleaned in its current run. If the vacuum is not currently cleaning, how much area it has cleaned during its last run.
|
||||||
|
|
||||||
Cleaning time - How long the vacuum has been cleaning for. If the vacuum is not currently cleaning, how long it cleaned for in its last run.
|
Cleaning time - How long the vacuum has been cleaning for. If the vacuum is not currently cleaning, how long it cleaned for in its last run.
|
||||||
|
|
||||||
|
Cleaning progress - Only available on some newer devices - what percent of the current cleaning is completed.
|
||||||
|
|
||||||
|
Dock error - Only available on the non-basic docks - The current error of the vacuum or 'Ok' if none exist
|
||||||
|
|
||||||
Main brush time left - How much time is left before Roborock recommends you replace your main brush.
|
Main brush time left - How much time is left before Roborock recommends you replace your main brush.
|
||||||
|
|
||||||
|
Mop drying remaining time - Only available on the non-basic docks - How much time is left until the mop is dry and ready to continue cleaning.
|
||||||
|
|
||||||
Side brush time left - How much time is left before Roborock recommends you replace your side brush.
|
Side brush time left - How much time is left before Roborock recommends you replace your side brush.
|
||||||
|
|
||||||
Filter time left - How much time is left before Roborock recommends you replace your vacuum's air filter.
|
Filter time left - How much time is left before Roborock recommends you replace your vacuum's air filter.
|
||||||
|
|
||||||
Status - The current status of your vacuum. This typically describes the action that is currently being run. For example, 'spot_cleaning' or 'docking'.
|
Status - The current status of your vacuum. This typically describes the action that is currently being run. For example, 'spot_cleaning' or 'docking'.
|
||||||
|
|
||||||
|
Last clean begin - the last time that your vacuum started cleaning.
|
||||||
|
|
||||||
|
Last clean end - The last time that your vacuum finished cleaning.
|
||||||
|
|
||||||
Total cleaning time - The lifetime cleaning duration of your vacuum.
|
Total cleaning time - The lifetime cleaning duration of your vacuum.
|
||||||
|
|
||||||
Total cleaning area - The lifetime cleaning area of your vacuum.
|
Total cleaning area - The lifetime cleaning area of your vacuum.
|
||||||
|
@ -7,8 +7,9 @@ ha_release: 0.117
|
|||||||
ha_iot_class: Local Polling
|
ha_iot_class: Local Polling
|
||||||
ha_config_flow: true
|
ha_config_flow: true
|
||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@gabe565'
|
|
||||||
- '@lanrat'
|
- '@lanrat'
|
||||||
|
- '@ms264556'
|
||||||
|
- '@gabe565'
|
||||||
ha_domain: ruckus_unleashed
|
ha_domain: ruckus_unleashed
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- device_tracker
|
- device_tracker
|
||||||
|
@ -11,6 +11,7 @@ ha_config_flow: true
|
|||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@dknowles2'
|
- '@dknowles2'
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
|
- binary_sensor
|
||||||
- lock
|
- lock
|
||||||
- sensor
|
- sensor
|
||||||
- switch
|
- switch
|
||||||
@ -24,10 +25,17 @@ The Schlage integration provides connectivity with Schlage WiFi smart locks thro
|
|||||||
|
|
||||||
There is currently support for the following device types within Home Assistant:
|
There is currently support for the following device types within Home Assistant:
|
||||||
|
|
||||||
|
- Binary sensor
|
||||||
- Lock
|
- Lock
|
||||||
- Sensor
|
- Sensor
|
||||||
- Switch
|
- Switch
|
||||||
|
|
||||||
|
## Binary sensor
|
||||||
|
|
||||||
|
Once you have enabled the Schlage integration, you should see the following binary sensor:
|
||||||
|
|
||||||
|
- **Keypad disabled** - Indicates that the keypad has been disabled, typically due to too many incorrect lock codes being attempted.
|
||||||
|
|
||||||
## Sensor
|
## Sensor
|
||||||
|
|
||||||
Once you have enabled the Schlage integration, you should see the following sensors:
|
Once you have enabled the Schlage integration, you should see the following sensors:
|
||||||
|
@ -28,6 +28,7 @@ ha_platforms:
|
|||||||
- climate
|
- climate
|
||||||
- cover
|
- cover
|
||||||
- diagnostics
|
- diagnostics
|
||||||
|
- event
|
||||||
- light
|
- light
|
||||||
- number
|
- number
|
||||||
- sensor
|
- sensor
|
||||||
@ -121,6 +122,14 @@ Depending on how a device's button type is configured, the integration will crea
|
|||||||
|
|
||||||
For generation 2 hardware it's possible to select if a device's input is connected to a button or a switch. Binary sensors are created only if the input mode is set to `switch`. When the input is of type `button` you need to use events for your automations.
|
For generation 2 hardware it's possible to select if a device's input is connected to a button or a switch. Binary sensors are created only if the input mode is set to `switch`. When the input is of type `button` you need to use events for your automations.
|
||||||
|
|
||||||
|
## Event entities (generation 1)
|
||||||
|
|
||||||
|
If the **BUTTON TYPE** of the switch connected to the device is set to `momentary` or `detached switch`, the integration creates an event entity for this switch. You can use this entity in your automations.
|
||||||
|
|
||||||
|
## Event entities (generation 2)
|
||||||
|
|
||||||
|
If the **Input Mode** of the switch connected to the device is set to `Button`, the integration creates an event entity for this switch. You can use this entity in your automations.
|
||||||
|
|
||||||
## Events
|
## Events
|
||||||
|
|
||||||
If the **BUTTON TYPE** of the switch connected to the device is set to `momentary` or `detached switch`, integration fires events under the type `shelly.click` when the switch is used. You can use these events in your automations.
|
If the **BUTTON TYPE** of the switch connected to the device is set to `momentary` or `detached switch`, integration fires events under the type `shelly.click` when the switch is used. You can use these events in your automations.
|
||||||
|
@ -9,6 +9,7 @@ ha_domain: slack
|
|||||||
ha_iot_class: Cloud Push
|
ha_iot_class: Cloud Push
|
||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@tkdrob'
|
- '@tkdrob'
|
||||||
|
- '@fletcherau'
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- notify
|
- notify
|
||||||
- sensor
|
- sensor
|
||||||
@ -142,6 +143,7 @@ The following attributes can be placed inside the `data` key of the service call
|
|||||||
| `file` | yes | A file to include with the message; see below.
|
| `file` | yes | A file to include with the message; see below.
|
||||||
| `blocks` | yes | Array of [Slack blocks](https://api.slack.com/messaging/composing/layouts). *NOTE*: if using `blocks`, they are shown **in place of** the `message` (note that the `message` is required nonetheless).
|
| `blocks` | yes | Array of [Slack blocks](https://api.slack.com/messaging/composing/layouts). *NOTE*: if using `blocks`, they are shown **in place of** the `message` (note that the `message` is required nonetheless).
|
||||||
| `blocks_template` | yes | The same as `blocks`, but able to support [templates](https://www.home-assistant.io/docs/configuration/templating).
|
| `blocks_template` | yes | The same as `blocks`, but able to support [templates](https://www.home-assistant.io/docs/configuration/templating).
|
||||||
|
| `thread_ts` | yes | Sends the message as a reply to a specified parent message.
|
||||||
|
|
||||||
Note that using `file` will ignore all usage of `blocks` and `blocks_template` (as Slack does not support those frameworks in messages that accompany uploaded files).
|
Note that using `file` will ignore all usage of `blocks` and `blocks_template` (as Slack does not support those frameworks in messages that accompany uploaded files).
|
||||||
|
|
||||||
@ -243,3 +245,12 @@ title: "Reminder"
|
|||||||
data:
|
data:
|
||||||
blocks: []
|
blocks: []
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Send a message as reply to an existing message. `thread_ts` can be retrieved via a script utilising [Bolt](https://slack.dev/bolt-python/tutorial/getting-started), any other Slack library, or the Slack API directly.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
message: "Here's some supplementary information that doesn't need to be present in the channel directly."
|
||||||
|
target: "#general"
|
||||||
|
data:
|
||||||
|
thread_ts: "1684736481.064129"
|
||||||
|
```
|
||||||
|
@ -9,6 +9,7 @@ ha_config_flow: true
|
|||||||
ha_quality_scale: silver
|
ha_quality_scale: silver
|
||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@frenck'
|
- '@frenck'
|
||||||
|
- '@joostlek'
|
||||||
ha_domain: spotify
|
ha_domain: spotify
|
||||||
ha_zeroconf: true
|
ha_zeroconf: true
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
title: SwitchBot
|
title: SwitchBot Bluetooth
|
||||||
description: Instructions on how to set up SwitchBot Devices.
|
description: Instructions on how to set up SwitchBot Devices.
|
||||||
ha_category:
|
ha_category:
|
||||||
- Binary Sensor
|
- Binary Sensor
|
||||||
@ -53,6 +53,7 @@ Please note, device names configured in the SwitchBot app are not transferred in
|
|||||||
- [Bot (WoHand)](https://switch-bot.com/pages/switchbot-bot)
|
- [Bot (WoHand)](https://switch-bot.com/pages/switchbot-bot)
|
||||||
- [Contact Sensor (WoContact)](https://switch-bot.com/pages/switchbot-contact-sensor)
|
- [Contact Sensor (WoContact)](https://switch-bot.com/pages/switchbot-contact-sensor)
|
||||||
- [Curtain (WoCurtain)](https://switch-bot.com/pages/switchbot-curtain) (version 1 & 2)
|
- [Curtain (WoCurtain)](https://switch-bot.com/pages/switchbot-curtain) (version 1 & 2)
|
||||||
|
- [Curtain 3 (WoCtn3)](https://switch-bot.com/pages/switchbot-curtain-3)
|
||||||
- [Humidifier (WoHumi)](https://eu.switch-bot.com/products/switchbot-smart-humidifier)
|
- [Humidifier (WoHumi)](https://eu.switch-bot.com/products/switchbot-smart-humidifier)
|
||||||
- Light Strip (WoStrip)
|
- Light Strip (WoStrip)
|
||||||
- [Meter](https://switch-bot.com/pages/switchbot-meter)/[Meter Plus 70BB](https://switch-bot.com/pages/switchbot-meter-plus) (WoSensorTH)
|
- [Meter](https://switch-bot.com/pages/switchbot-meter)/[Meter Plus 70BB](https://switch-bot.com/pages/switchbot-meter-plus) (WoSensorTH)
|
||||||
|
38
source/_integrations/switchbot_cloud.markdown
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
---
|
||||||
|
title: SwitchBot Cloud
|
||||||
|
description: Instructions on how to set up SwitchBot Devices.
|
||||||
|
ha_category:
|
||||||
|
- Hub
|
||||||
|
- Plug
|
||||||
|
- Remote
|
||||||
|
- Switch
|
||||||
|
ha_release: '2023.10'
|
||||||
|
ha_iot_class: Cloud Polling
|
||||||
|
ha_codeowners:
|
||||||
|
- '@SeraphicRav'
|
||||||
|
ha_domain: switchbot_cloud
|
||||||
|
ha_platforms:
|
||||||
|
- switch
|
||||||
|
ha_config_flow: true
|
||||||
|
ha_integration_type: integration
|
||||||
|
---
|
||||||
|
|
||||||
|
The SwitchBot Cloud integration allows you to control SwitchBot [devices](https://www.switch-bot.com/) connected through the SwitchBot hub.
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
In order to use this integration, you will need at least a SwitchBot Hub and a SwitchBot account to get a token and secret key from the SwitchBot mobile app in Profiles>Preferences>Developer Options.
|
||||||
|
|
||||||
|
Please note, device names configured in the SwitchBot app are transferred into Home Assistant.
|
||||||
|
|
||||||
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
|
## Supported devices
|
||||||
|
|
||||||
|
- Plug (Wi-Fi only, only available in Japan)
|
||||||
|
- Plug Mini, both the original and HomeKit-enabled
|
||||||
|
- Remotes exposed through the different hubs excepted "Others" (State is inferred from previous commands in Home Assistant and might not reflect reality if you use other ways to control the device)
|
||||||
|
|
||||||
|
<div class='note warning'>
|
||||||
|
Only the switch platform is currently supported.
|
||||||
|
</div>
|
@ -13,72 +13,63 @@ ha_domain: system_bridge
|
|||||||
ha_quality_scale: silver
|
ha_quality_scale: silver
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- binary_sensor
|
- binary_sensor
|
||||||
|
- notify
|
||||||
- sensor
|
- sensor
|
||||||
ha_zeroconf: true
|
ha_zeroconf: true
|
||||||
ha_integration_type: device
|
ha_integration_type: device
|
||||||
---
|
---
|
||||||
|
|
||||||
[System Bridge](https://system-bridge.timmo.dev) is an application that runs on your local machine to share system information via its API/WebSocket. You can also send commands to the device such as opening a URL or sending keyboard keypresses.
|
[System Bridge](https://system-bridge.timmo.dev) is an application that runs on your local machine to share system information via its API/WebSocket. You can also send commands to the device such as opening a URL or sending keyboard keypresses.
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
### Version
|
### Version
|
||||||
|
|
||||||
This integration requires System Bridge 3.1.1 and above. Any older version will not work.
|
This integration requires System Bridge 3.1.1 and above. Any older version will not work.
|
||||||
|
|
||||||
### API Key
|
### API Key
|
||||||
|
|
||||||
You will need your API key. This can be found following the documentation [here](https://system-bridge.timmo.dev/docs/running).
|
You will need your API key. This can be found following the documentation [here](https://system-bridge.timmo.dev/docs/running).
|
||||||
|
|
||||||
{% include integrations/config_flow.md %}
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
## Binary Sensors
|
## Binary Sensors
|
||||||
|
|
||||||
This integration provides the following binary sensors:
|
This integration provides the following binary sensors:
|
||||||
|
|
||||||
| Name | Description |
|
| Name | Description |
|
||||||
| --------------------- | ---------------------------------- |
|
| --------------------- | ---------------------------------- |
|
||||||
| Battery Is Charging | Whether the battery is charging |
|
| Battery Is Charging | Whether the battery is charging |
|
||||||
| New Version Available | Whether a new version is available |
|
| New Version Available | Whether a new version is available |
|
||||||
|
|
||||||
## Sensors
|
## Sensors
|
||||||
|
|
||||||
This integration provides the following sensors:
|
This integration provides the following sensors:
|
||||||
|
|
||||||
| Name | Description |
|
| Name | Description |
|
||||||
| ---------------------- | --------------------------------------------------- |
|
| -------------------- | --------------------------------------------------- |
|
||||||
| Battery | Battery level of the device |
|
| Battery | Battery level of the device |
|
||||||
| Boot Time | Time the device was turned on |
|
| Boot Time | Time the device was turned on |
|
||||||
| CPU Speed | The current CPU speed |
|
| CPU Speed | The current CPU speed |
|
||||||
| Displays Connected | Number of displays connected |
|
| Displays Connected | Number of displays connected |
|
||||||
| Display Resolution X | Display resolution (across) |
|
| Display Resolution X | Display resolution (across) |
|
||||||
| Display Resolution Y | Display resolution (down) |
|
| Display Resolution Y | Display resolution (down) |
|
||||||
| Display Refresh Rate | Display refresh rate |
|
| Display Refresh Rate | Display refresh rate |
|
||||||
| Filesystem(s) | Space used for each drive letter / filesystem mount |
|
| Filesystem(s) | Space used for each drive letter / filesystem mount |
|
||||||
| GPU Memory Free | GPU memory free in GB |
|
| GPU Memory Free | GPU memory free in GB |
|
||||||
| GPU Usage % | GPU usage percentage |
|
| GPU Usage % | GPU usage percentage |
|
||||||
| Kernel | Version information of the Kernel |
|
| Kernel | Version information of the Kernel |
|
||||||
| Latest Version | System Bridge Latest Version |
|
| Latest Version | System Bridge Latest Version |
|
||||||
| Load | System load percentage |
|
| Load | System load percentage |
|
||||||
| Memory Free | Memory (RAM) free in GB |
|
| Memory Free | Memory (RAM) free in GB |
|
||||||
| Memory Used | Memory (RAM) used in GB |
|
| Memory Used | Memory (RAM) used in GB |
|
||||||
| Memory Used % | Memory (RAM) % used |
|
| Memory Used % | Memory (RAM) % used |
|
||||||
| Operating System | Version information of the Operating System |
|
| Operating System | Version information of the Operating System |
|
||||||
| Version | System Bridge Version |
|
| Version | System Bridge Version |
|
||||||
|
|
||||||
These sensors are also available, but are not enabled by default:
|
These sensors are also available, but are not enabled by default:
|
||||||
|
|
||||||
| Name | Description |
|
| Name | Description |
|
||||||
| ---------------------- | ---------------------------------------- |
|
| ---------------------- | ---------------------------------- |
|
||||||
| CPU Temperature | The current temperature of the CPU |
|
| CPU Temperature | The current temperature of the CPU |
|
||||||
| CPU Voltage | The current voltage of the CPU |
|
| CPU Voltage | The current voltage of the CPU |
|
||||||
| GPU Core Clock Speed | GPU core clock speed in MHz |
|
| GPU Core Clock Speed | GPU core clock speed in MHz |
|
||||||
| GPU Memory Clock Speed | GPU memory clock speed in MHz |
|
| GPU Memory Clock Speed | GPU memory clock speed in MHz |
|
||||||
| GPU Fan Speed | GPU fan speed percentage |
|
| GPU Fan Speed | GPU fan speed percentage |
|
||||||
| GPU Memory Used | GPU memory used in GB |
|
| GPU Memory Used | GPU memory used in GB |
|
||||||
| GPU Memory Used % | GPU memory used percentage |
|
| GPU Memory Used % | GPU memory used percentage |
|
||||||
| GPU Power Usage | GPU power usage |
|
| GPU Power Usage | GPU power usage |
|
||||||
| GPU Temperature | The current temperature of the GPU |
|
| GPU Temperature | The current temperature of the GPU |
|
||||||
|
|
||||||
## Media Source
|
## Media Source
|
||||||
|
|
||||||
@ -86,51 +77,97 @@ This integration is available as a media source to use with the media browser in
|
|||||||
|
|
||||||
## Services
|
## Services
|
||||||
|
|
||||||
|
### Notifications `notify.system_bridge_hostname`
|
||||||
|
|
||||||
|
You can send notifications to the device using the `notify` platform.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
service: notify.system_bridge_hostname
|
||||||
|
data:
|
||||||
|
data:
|
||||||
|
image: "https://brands.home-assistant.io/system_bridge/logo@2x.png"
|
||||||
|
timeout: 30
|
||||||
|
actions:
|
||||||
|
- command: api
|
||||||
|
data:
|
||||||
|
endpoint: open
|
||||||
|
method: POST
|
||||||
|
body:
|
||||||
|
url: "http://homeassistant.local:8123/lovelace/cameras"
|
||||||
|
label: "Open Cameras"
|
||||||
|
audio:
|
||||||
|
source: "https://d3qhmae9zx9eb.cloudfront.net/home/amzn_sfx_doorbell_chime_02.mp3"
|
||||||
|
volume: 80
|
||||||
|
title: "Test Title"
|
||||||
|
message: "This is a message"
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Parameters
|
||||||
|
|
||||||
|
| Parameter | Description |
|
||||||
|
| --------- | ------------------------------------------------------------ |
|
||||||
|
| target | The target to send the notification to. This can be ignored. |
|
||||||
|
| title | The title of the notification. |
|
||||||
|
| message | The message of the notification. |
|
||||||
|
| data | The data to send to the device. See below for info. |
|
||||||
|
|
||||||
|
##### Actions (`data` parameter)
|
||||||
|
|
||||||
|
This is an array of actions that can be sent to the device. These are buttons that show below the title, message and image.
|
||||||
|
|
||||||
|
| Parameter | Description |
|
||||||
|
| --------- | -------------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| command | The command to send to the device. For example `api` will send a request to the System Bridge API. |
|
||||||
|
| label | The label of the button. |
|
||||||
|
| data | The data to send to the device. The available parameters for the `api` command are: `endpoint`, `method` `body`, `params`. |
|
||||||
|
|
||||||
|
Here is an example action that will open a URL in the device's browser:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- command: api
|
||||||
|
label: "Open Cameras"
|
||||||
|
data:
|
||||||
|
endpoint: open
|
||||||
|
method: POST
|
||||||
|
body:
|
||||||
|
url: "http://homeassistant.local:8123/lovelace/cameras"
|
||||||
|
```
|
||||||
|
|
||||||
|
##### Audio (`data` parameter)
|
||||||
|
|
||||||
|
This is an object containing the `source` and `volume` (0-100). The source must be a URL to a playable audio file (an MP3 for example).
|
||||||
|
|
||||||
### Service `system_bridge.open_path`
|
### Service `system_bridge.open_path`
|
||||||
|
|
||||||
Open a URL or file on the server using the default application.
|
Open a URL or file on the server using the default application.
|
||||||
|
|
||||||
{% my developer_call_service service="system_bridge.open_path" title="Show service in your Home Assistant instance." %}
|
{% my developer_call_service service="system_bridge.open_path" title="Show service in your Home Assistant instance." %}
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: system_bridge.open_path
|
service: system_bridge.open_path
|
||||||
data:
|
data:
|
||||||
bridge: "deviceid"
|
bridge: "deviceid"
|
||||||
path: "C:\\image.jpg"
|
path: "C:\\image.jpg"
|
||||||
```
|
```
|
||||||
|
|
||||||
### Service `system_bridge.open_url`
|
### Service `system_bridge.open_url`
|
||||||
|
|
||||||
Open a URL or file on the server using the default application.
|
Open a URL or file on the server using the default application.
|
||||||
|
|
||||||
{% my developer_call_service service="system_bridge.open_url" title="Show service in your Home Assistant instance." %}
|
{% my developer_call_service service="system_bridge.open_url" title="Show service in your Home Assistant instance." %}
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: system_bridge.open_url
|
service: system_bridge.open_url
|
||||||
data:
|
data:
|
||||||
bridge: "deviceid"
|
bridge: "deviceid"
|
||||||
url: "https://home-assistant.io"
|
url: "https://home-assistant.io"
|
||||||
```
|
```
|
||||||
|
|
||||||
### Service `system_bridge.send_keypress`
|
### Service `system_bridge.send_keypress`
|
||||||
|
|
||||||
Send a keypress to the server.
|
Send a keypress to the server.
|
||||||
|
|
||||||
{% my developer_call_service service="system_bridge.send_keypress" title="Show service in your Home Assistant instance." %}
|
{% my developer_call_service service="system_bridge.send_keypress" title="Show service in your Home Assistant instance." %}
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: system_bridge.send_keypress
|
service: system_bridge.send_keypress
|
||||||
data:
|
data:
|
||||||
bridge: "deviceid"
|
bridge: "deviceid"
|
||||||
key: "a"
|
key: "a"
|
||||||
```
|
```
|
||||||
|
|
||||||
### Service `system_bridge.send_text`
|
### Service `system_bridge.send_text`
|
||||||
|
|
||||||
Sends text for the server to type.
|
Sends text for the server to type.
|
||||||
|
|
||||||
{% my developer_call_service service="system_bridge.send_text" title="Show service in your Home Assistant instance." %}
|
{% my developer_call_service service="system_bridge.send_text" title="Show service in your Home Assistant instance." %}
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
service: system_bridge.send_text
|
service: system_bridge.send_text
|
||||||
data:
|
data:
|
||||||
|
@ -268,7 +268,92 @@ image:
|
|||||||
required: false
|
required: false
|
||||||
type: boolean
|
type: boolean
|
||||||
default: true
|
default: true
|
||||||
"[all sensor, binary sensor, button, image, number, select entities]":
|
weather:
|
||||||
|
description: List of weather entities
|
||||||
|
required: true
|
||||||
|
type: map
|
||||||
|
keys:
|
||||||
|
condition_template:
|
||||||
|
description: The current weather condition.
|
||||||
|
required: true
|
||||||
|
type: template
|
||||||
|
temperature_template:
|
||||||
|
description: The current temperature.
|
||||||
|
required: true
|
||||||
|
type: template
|
||||||
|
dew_point_template:
|
||||||
|
description: The current dew point.
|
||||||
|
required: false
|
||||||
|
type: template
|
||||||
|
apparent_temperature_template:
|
||||||
|
description: The current apparent (feels-like) temperature.
|
||||||
|
required: false
|
||||||
|
type: template
|
||||||
|
temperature_unit:
|
||||||
|
description: Unit for temperature_template output. Valid options are °C, °F, and K.
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
humidity_template:
|
||||||
|
description: The current humidity.
|
||||||
|
required: true
|
||||||
|
type: template
|
||||||
|
pressure_template:
|
||||||
|
description: The current air pressure.
|
||||||
|
required: false
|
||||||
|
type: template
|
||||||
|
pressure_unit:
|
||||||
|
description: Unit for pressure_template output. Valid options are Pa, hPa, kPa, bar, cbar, mbar, mmHg, inHg, psi.
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
wind_speed_template:
|
||||||
|
description: The current wind speed.
|
||||||
|
required: false
|
||||||
|
type: template
|
||||||
|
wind_gust_speed_template:
|
||||||
|
description: The current wind gust speed.
|
||||||
|
required: false
|
||||||
|
type: template
|
||||||
|
wind_speed_unit:
|
||||||
|
description: Unit for wind_speed_template output. Valid options are m/s, km/h, mph, mm/d, in/d, and in/h.
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
wind_bearing_template:
|
||||||
|
description: The current wind bearing.
|
||||||
|
required: false
|
||||||
|
type: template
|
||||||
|
ozone_template:
|
||||||
|
description: The current ozone level.
|
||||||
|
required: false
|
||||||
|
type: template
|
||||||
|
cloud_coverage_template:
|
||||||
|
description: The current cloud coverage.
|
||||||
|
required: false
|
||||||
|
type: template
|
||||||
|
visibility_template:
|
||||||
|
description: The current visibility.
|
||||||
|
required: false
|
||||||
|
type: template
|
||||||
|
visibility_unit:
|
||||||
|
description: Unit for visibility_template output. Valid options are km, mi, ft, m, cm, mm, in, yd.
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
forecast_daily_template:
|
||||||
|
description: Daily forecast data.
|
||||||
|
required: false
|
||||||
|
type: template
|
||||||
|
forecast_hourly_template:
|
||||||
|
description: Hourly forecast data.
|
||||||
|
required: false
|
||||||
|
type: template
|
||||||
|
forecast_twice_daily_template:
|
||||||
|
description: Twice daily forecast data.
|
||||||
|
required: false
|
||||||
|
type: template
|
||||||
|
precipitation_unit:
|
||||||
|
description: Unit for precipitation output. Valid options are km, mi, ft, m, cm, mm, in, yd.
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
"[all sensor, binary sensor, button, image, number, select, weather entities]":
|
||||||
description: Fields that can be used above for sensors, binary sensors, buttons, numbers, and selects.
|
description: Fields that can be used above for sensors, binary sensors, buttons, numbers, and selects.
|
||||||
required: false
|
required: false
|
||||||
type: map
|
type: map
|
||||||
|
@ -91,7 +91,7 @@ Pick an icon from [Material Design Icons](https://pictogrammers.com/library/mdi/
|
|||||||
|
|
||||||
### Service `timer.start`
|
### Service `timer.start`
|
||||||
|
|
||||||
Starts or restarts a timer with the provided duration. If no duration is given, it will either restart with its initial value, or continue a paused timer with the remaining duration. If a new duration is provided, this will be the new default for the timer until Home Assistant is restarted (which loads your default values). The duration can be specified as a number of seconds or the easier to read `01:23:45` format.
|
Starts or restarts a timer with the provided duration. If no duration is given, it will either restart with its initial value, or continue a paused timer with the remaining duration. If a new duration is provided, this will be the duration for the timer until it finishes or is canceled, which then will reset the duration back to the original configured value. The duration can be specified as a number of seconds or the easier to read `01:23:45` format.
|
||||||
You can also use `entity_id: all` and all active timers will be started.
|
You can also use `entity_id: all` and all active timers will be started.
|
||||||
|
|
||||||
| Service data attribute | Optional | Description |
|
| Service data attribute | Optional | Description |
|
||||||
|
@ -11,24 +11,20 @@ ha_domain: todoist
|
|||||||
ha_platforms:
|
ha_platforms:
|
||||||
- calendar
|
- calendar
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
|
ha_config_flow: true
|
||||||
---
|
---
|
||||||
|
|
||||||
This platform allows you to connect to your [Todoist Projects](https://todoist.com) and generate binary sensors. A different sensor will be created for each individual project, or you can specify "custom" projects which match against criteria you set (more on that below). These sensors will be `on` if you have a task due in that project or `off` if all the tasks in the project are completed or if the project doesn't have any tasks at all. All tasks get updated roughly every 15 minutes.
|
This platform allows you to connect to your [Todoist Projects](https://todoist.com) as [calendar](/integrations/calendar/) entities. A calendar entity will be `on` if you have a task due in that project or `off` if all the tasks in the project are completed or if the project doesn't have any tasks at all. All tasks get updated roughly every 15 minutes.
|
||||||
|
|
||||||
### Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
You need to determine your Todoist API token. This is fairly simple to do; just go [to the Integrations section on your Todoist settings page](https://todoist.com/app/settings/integrations) and find the section labeled "API token" at the bottom of the page. Copy that token and use it in your configuration file.
|
You need to determine your Todoist API token. This is fairly simple to do; just go [to the Integrations section on your Todoist settings page](https://todoist.com/app/settings/integrations) and find the section labeled "API token" at the bottom of the page. Copy that token and use it in your configuration file.
|
||||||
|
|
||||||
### Basic Setup
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
To integrate Todoist in Home Assistant, add the following section to your `configuration.yaml` file:
|
## Custom Projects
|
||||||
|
|
||||||
```yaml
|
You can manually configure the integration using `configuration.yaml` which can specify "custom" projects which match against criteria you set.
|
||||||
# Example configuration.yaml entry
|
|
||||||
calendar:
|
|
||||||
- platform: todoist
|
|
||||||
token: YOUR_API_TOKEN
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
token:
|
token:
|
||||||
@ -58,8 +54,7 @@ custom_projects:
|
|||||||
type: list
|
type: list
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
### Custom Projects
|
Here's an example of a more advanced `configuration.yaml`:
|
||||||
Creating custom projects is super-easy and quite powerful. All you need to run the basic Todoist projects is your API token, but if you wanted, you could go even deeper. Here's an example:
|
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Example configuration.yaml entry
|
# Example configuration.yaml entry
|
||||||
@ -94,7 +89,7 @@ You can mix-and-match these attributes to create all sorts of custom projects. Y
|
|||||||
|
|
||||||
Home Assistant does its best to [determine what task in each project is "most" important](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/todoist/calendar.py), and it's that task which has its state reported. You can access the other tasks you have due soon via the `all_tasks` array (see below).
|
Home Assistant does its best to [determine what task in each project is "most" important](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/todoist/calendar.py), and it's that task which has its state reported. You can access the other tasks you have due soon via the `all_tasks` array (see below).
|
||||||
|
|
||||||
### Sensor attributes
|
## Calendar Entity attributes
|
||||||
|
|
||||||
- **offset_reached**: Not used.
|
- **offset_reached**: Not used.
|
||||||
|
|
||||||
@ -122,7 +117,7 @@ Home Assistant does its best to [determine what task in each project is "most" i
|
|||||||
|
|
||||||
- **due_today**: Whether the reported task is due today.
|
- **due_today**: Whether the reported task is due today.
|
||||||
|
|
||||||
### Services
|
## Services
|
||||||
|
|
||||||
Todoist also comes with access to a service, `todoist.new_task`. This service can be used to create a new Todoist task. You can specify labels and a project, or you can leave them blank, and the task will go to your "Inbox" project.
|
Todoist also comes with access to a service, `todoist.new_task`. This service can be used to create a new Todoist task. You can specify labels and a project, or you can leave them blank, and the task will go to your "Inbox" project.
|
||||||
|
|
||||||
|
@ -2,7 +2,9 @@
|
|||||||
title: Trafikverket Camera
|
title: Trafikverket Camera
|
||||||
description: Instructions how to integrate Trafikverket Camera within Home Assistant.
|
description: Instructions how to integrate Trafikverket Camera within Home Assistant.
|
||||||
ha_category:
|
ha_category:
|
||||||
|
- Binary sensor
|
||||||
- Camera
|
- Camera
|
||||||
|
- Sensor
|
||||||
ha_release: 2023.9
|
ha_release: 2023.9
|
||||||
ha_iot_class: Cloud Polling
|
ha_iot_class: Cloud Polling
|
||||||
ha_config_flow: true
|
ha_config_flow: true
|
||||||
@ -10,13 +12,17 @@ ha_codeowners:
|
|||||||
- '@gjohansson-ST'
|
- '@gjohansson-ST'
|
||||||
ha_domain: trafikverket_camera
|
ha_domain: trafikverket_camera
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
|
- binary_sensor
|
||||||
- camera
|
- camera
|
||||||
|
- sensor
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
---
|
---
|
||||||
|
|
||||||
Retrieve camera feed from [Trafikverket](https://www.trafikverket.se/).
|
Retrieve camera feed from [Trafikverket](https://www.trafikverket.se/).
|
||||||
|
|
||||||
The name of the location needs to be precisely as Trafikverket has them. See examples and look for your camera [here](https://www.trafikverket.se/trafikinformation/vag/?TrafficType=personalTraffic&map=0%2F650778%2F7200000%2F&Layers=TrafficCameras%2B=)
|
The input provided will be used to search for both the name and the location of the camera. See examples and look for your camera [here](https://www.trafikverket.se/trafikinformation/vag/?TrafficType=personalTraffic&map=0%2F650778%2F7200000%2F&Layers=TrafficCameras%2B=).
|
||||||
|
|
||||||
|
When more than one camera has the same name, use the more precise location in your search. Example: If searching for ["Hisingsleden"](https://www.trafikverket.se/trafikinformation/vag/?TrafficType=personalTraffic&map=12%2F312855%2F6401262.65%2F&Layers=TrafficCameras%2B=), then use the more detailed location in your search, for example "Hisingsleden norrut".
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
@ -24,7 +30,21 @@ Please click [here](https://api.trafikinfo.trafikverket.se/) and register to obt
|
|||||||
|
|
||||||
{% include integrations/config_flow.md %}
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
## Additional attributes
|
## Binary sensor
|
||||||
|
|
||||||
|
- Active
|
||||||
|
|
||||||
|
## Sensors
|
||||||
|
|
||||||
|
- Active
|
||||||
|
- Direction (degree of angle the camera is pointing towards)
|
||||||
|
- Modified (date and time when the record last changed)
|
||||||
|
- Photo time
|
||||||
|
- Photo URL
|
||||||
|
- Status
|
||||||
|
- Camera type
|
||||||
|
|
||||||
|
## Additional attributes available on camera
|
||||||
|
|
||||||
- Location (placement of camera)
|
- Location (placement of camera)
|
||||||
- Description (free text description)
|
- Description (free text description)
|
||||||
|
@ -5,12 +5,14 @@ ha_category:
|
|||||||
- Binary Sensor
|
- Binary Sensor
|
||||||
- Utility
|
- Utility
|
||||||
ha_release: 0.28
|
ha_release: 0.28
|
||||||
ha_iot_class: Local Push
|
ha_iot_class: Calculated
|
||||||
ha_quality_scale: internal
|
ha_quality_scale: internal
|
||||||
ha_domain: trend
|
ha_domain: trend
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- binary_sensor
|
- binary_sensor
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
|
ha_codeowners:
|
||||||
|
- '@jpbede'
|
||||||
---
|
---
|
||||||
|
|
||||||
The `trend` platform allows you to create sensors which show the trend of
|
The `trend` platform allows you to create sensors which show the trend of
|
||||||
|
@ -10,7 +10,9 @@ ha_iot_class: Local Polling
|
|||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@dr1rrb'
|
- '@dr1rrb'
|
||||||
- '@Robbie1221'
|
- '@Robbie1221'
|
||||||
|
- '@Olen'
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
|
- diagnostics
|
||||||
- light
|
- light
|
||||||
ha_dhcp: true
|
ha_dhcp: true
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
|
@ -11,58 +11,13 @@ ha_platforms:
|
|||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@joostlek'
|
- '@joostlek'
|
||||||
|
ha_config_flow: true
|
||||||
---
|
---
|
||||||
|
|
||||||
The `twitch` platform will allow you to monitor [Twitch](https://www.twitch.tv/) channel status from within Home Assistant and setup automation based on the information.
|
The Twitch integration will allow you to monitor [Twitch](https://www.twitch.tv/) channel status from within Home Assistant and setup automation based on the information.
|
||||||
|
|
||||||
## Setup Client ID and Client secret
|
## Get Twitch application credentials
|
||||||
|
|
||||||
Create a new app at "Register Your Application" in the [Twitch developer portal](https://dev.twitch.tv/console/apps). Then get the __Client ID__ and __Client secret__ for the new application.
|
Create a new app at "Register Your Application" in the [Twitch developer portal](https://dev.twitch.tv/console/apps). Then get the __Client ID__ and __Client secret__ for the new application.
|
||||||
|
|
||||||
## Setup OAuth Token
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
To enable the follow and subscription attributes, the OAuth token is needed to get the right permissions on the Twitch API.
|
|
||||||
If you don't need those, ignore the configuration setting: `token`.
|
|
||||||
|
|
||||||
To get the OAuth token, visit the [OAuth Token Generator](https://twitchapps.com/tokengen/#), insert your __Client ID__ and `user:read:subscriptions` inside __scopes__.
|
|
||||||
|
|
||||||
Before clicking Summit (the broken image below the form), visit the [Twitch dev console](https://dev.twitch.tv/console) and add a new application.
|
|
||||||
|
|
||||||
As __OAuth Redirect URLs__ add `https://twitchapps.com/tokengen/` and click __Create__
|
|
||||||
.
|
|
||||||
Back at the Token Generator, click the __Connect__ button, accept the consent screen and get your __OAuth Token__.
|
|
||||||
|
|
||||||
## Configuration
|
|
||||||
|
|
||||||
To use Twitch with your installation, add the following to your `configuration.yaml` file:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
# Example configuration.yaml entry
|
|
||||||
sensor:
|
|
||||||
platform: twitch
|
|
||||||
client_id: YOUR_TWITCH_CLIENT_ID
|
|
||||||
client_secret: YOUR_TWITCH_CLIENT_SECRET
|
|
||||||
token: YOUR_TWITCH_OAUTH_TOKEN
|
|
||||||
channels:
|
|
||||||
- channel1
|
|
||||||
- channel2
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
client_id:
|
|
||||||
description: Your Twitch client ID.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
client_secret:
|
|
||||||
description: Your Twitch client secret.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
token:
|
|
||||||
description: Your Twitch OAuth Token.
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
channels:
|
|
||||||
description: List of channels names
|
|
||||||
required: true
|
|
||||||
type: list
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
@ -130,12 +130,16 @@ Entities reporting connected clients to a WLAN.
|
|||||||
|
|
||||||
### Uptime sensor
|
### Uptime sensor
|
||||||
|
|
||||||
Get entities reporting uptime per network client.
|
Get entities reporting uptime per network client or UniFi Network device.
|
||||||
|
|
||||||
### Power Outlet sensor
|
### Power Outlet sensor
|
||||||
|
|
||||||
Get entities reporting the power utilization for outlets that support metrics (such as the AC outlets on the USP-PDU-Pro).
|
Get entities reporting the power utilization for outlets that support metrics (such as the AC outlets on the USP-PDU-Pro).
|
||||||
|
|
||||||
|
### Device temperature sensor
|
||||||
|
|
||||||
|
Get entities reporting the general temperature of a UniFi Network device.
|
||||||
|
|
||||||
## Firmware updates
|
## Firmware updates
|
||||||
|
|
||||||
This will show if there are firmware updates available for the UniFi network devices connected to the controller. If the configured user has admin privileges, the firmware upgrades can also be installed directly from Home Assistant.
|
This will show if there are firmware updates available for the UniFi network devices connected to the controller. If the configured user has admin privileges, the firmware upgrades can also be installed directly from Home Assistant.
|
||||||
|
@ -14,6 +14,7 @@ ha_platforms:
|
|||||||
- sensor
|
- sensor
|
||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@garbled1'
|
- '@garbled1'
|
||||||
|
- '@jhollowe'
|
||||||
ha_config_flow: true
|
ha_config_flow: true
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
---
|
---
|
||||||
|
@ -14,7 +14,6 @@ ha_iot_class: Cloud Polling
|
|||||||
ha_domain: verisure
|
ha_domain: verisure
|
||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@frenck'
|
- '@frenck'
|
||||||
- '@niro1987'
|
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- alarm_control_panel
|
- alarm_control_panel
|
||||||
- binary_sensor
|
- binary_sensor
|
||||||
|
@ -9,7 +9,7 @@ ha_category:
|
|||||||
- Switch
|
- Switch
|
||||||
ha_iot_class: Local Polling
|
ha_iot_class: Local Polling
|
||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@flamm3blemuff1n'
|
- '@imstevenxyz'
|
||||||
ha_domain: versasense
|
ha_domain: versasense
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- sensor
|
- sensor
|
||||||
|
@ -11,7 +11,9 @@ ha_codeowners:
|
|||||||
- '@chemelli74'
|
- '@chemelli74'
|
||||||
ha_iot_class: Local Polling
|
ha_iot_class: Local Polling
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
|
- button
|
||||||
- device_tracker
|
- device_tracker
|
||||||
|
- sensor
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -20,15 +22,10 @@ The Vodafone Station integration allows you to control your [Vodafone Station](h
|
|||||||
There is support for the following platform types within Home Assistant:
|
There is support for the following platform types within Home Assistant:
|
||||||
|
|
||||||
- **Device tracker** - presence detection by looking at connected devices.
|
- **Device tracker** - presence detection by looking at connected devices.
|
||||||
|
- **Sensor** - external IP address, uptime, firmware, resources and network monitors.
|
||||||
|
- **Button** - restart router, dsl/fiber/internet key connections.
|
||||||
{% include integrations/config_flow.md %}
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
## Configuration
|
|
||||||
|
|
||||||
The configuration in the UI asks for a a few information: host, username, password and SSL.
|
|
||||||
Depending on the model of the router, the login URL can be based on http:// or https://.
|
|
||||||
The default username is `vodafone`.
|
|
||||||
|
|
||||||
|
|
||||||
## Integration options
|
## Integration options
|
||||||
|
|
||||||
It is possible to change some behaviors through the integration options.
|
It is possible to change some behaviors through the integration options.
|
||||||
@ -42,10 +39,9 @@ To change the settings, go to {% my integrations title="**Settings** > **Devices
|
|||||||
|
|
||||||
**Note**: If you don't want to automatically track newly detected devices, disable the integration system option `Enable new added entities`.
|
**Note**: If you don't want to automatically track newly detected devices, disable the integration system option `Enable new added entities`.
|
||||||
|
|
||||||
|
|
||||||
### Tested models
|
### Tested models
|
||||||
|
|
||||||
This integartion was tested against the following models:
|
This integration was tested against the following models:
|
||||||
|
|
||||||
- Vodafone Power Station
|
- Vodafone Power Station
|
||||||
- Vodafone WiFi 6 Station
|
- Vodafone WiFi 6 Station
|
||||||
|
20
source/_integrations/wake_word.markdown
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
---
|
||||||
|
title: Wake-word-detection
|
||||||
|
description: Detect a wake word in streaming audio.
|
||||||
|
ha_category:
|
||||||
|
- Voice
|
||||||
|
ha_release: '2023.9'
|
||||||
|
ha_codeowners:
|
||||||
|
- '@balloob'
|
||||||
|
- '@synesthesiam'
|
||||||
|
ha_domain: wake_word
|
||||||
|
ha_integration_type: entity
|
||||||
|
---
|
||||||
|
|
||||||
|
A wake-word-detection entity allows other integrations or applications to detect wake words in streaming audio.
|
||||||
|
|
||||||
|
The wake-word-detection entities cannot be implemented manually, but can be provided by integrations such as [Wyoming](/integrations/wyoming). The API in [Assist Pipelines](https://developers.home-assistant.io/docs/voice/pipelines/) enables wake-word-detection as part of [Assist](/voice_control/).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{% include integrations/building_block_integration.md %}
|
@ -6,11 +6,12 @@ ha_category:
|
|||||||
ha_release: 0.34
|
ha_release: 0.34
|
||||||
ha_iot_class: Cloud Polling
|
ha_iot_class: Cloud Polling
|
||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@andrey-git'
|
- '@joostlek'
|
||||||
ha_domain: waqi
|
ha_domain: waqi
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- sensor
|
- sensor
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
|
ha_config_flow: true
|
||||||
---
|
---
|
||||||
|
|
||||||
The `waqi` sensor platform will query [World Air Quality Index](https://aqicn.org/city/beijing/) service to check AQI value for a specific set of locations. The resulting indexes will be added to the Home Assistant as sensor outputs.
|
The `waqi` sensor platform will query [World Air Quality Index](https://aqicn.org/city/beijing/) service to check AQI value for a specific set of locations. The resulting indexes will be added to the Home Assistant as sensor outputs.
|
||||||
@ -19,45 +20,15 @@ The `waqi` sensor platform will query [World Air Quality Index](https://aqicn.or
|
|||||||
|
|
||||||
This sensor requires an API token. Please obtain one at [AQICN API token](https://aqicn.org/data-platform/token/#/).
|
This sensor requires an API token. Please obtain one at [AQICN API token](https://aqicn.org/data-platform/token/#/).
|
||||||
|
|
||||||
The locations field is a search for a location. E.g., "brisbane" or "Brisban" would find Brisbane, Australia and all associated stations in the area.
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
The format for station fields is exactly from the website, e.g., you would provide the location string "[South Brisbane, Australia](http://aqicn.org/city/australia/queensland/south-brisbane/)" for the linked location.
|
|
||||||
|
|
||||||
## Configuration
|
|
||||||
|
|
||||||
To enable this sensor, add the following lines to your `configuration.yaml` file:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
# Example configuration.yaml entry
|
|
||||||
sensor:
|
|
||||||
- platform: waqi
|
|
||||||
token: AQICN_API_TOKEN
|
|
||||||
locations:
|
|
||||||
- beijing
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
token:
|
|
||||||
description: The token for the AQICN public API.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
locations:
|
|
||||||
description: A list of location names to look for air quality data. In case a specific location has multiple registered stations all of them will be added to Home Assistant.
|
|
||||||
required: true
|
|
||||||
type: list
|
|
||||||
stations:
|
|
||||||
description: A list of station names to look for air quality data. Station should be within locations specified above.
|
|
||||||
required: false
|
|
||||||
type: list
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
The value reported is an overall AQ index for the location. The values of the index can be interpreted as following:
|
The value reported is an overall AQ index for the location. The values of the index can be interpreted as following:
|
||||||
|
|
||||||
AQI | Status | Description
|
| AQI | Status | Description |
|
||||||
------- | :----------------: | ----------
|
|-----------|:----------------------------------:|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
0 - 50 | **Good** | Air quality is considered satisfactory, and air pollution poses little or no risk
|
| 0 - 50 | **Good** | Air quality is considered satisfactory, and air pollution poses little or no risk |
|
||||||
51 - 100 | **Moderate** | Air quality is acceptable; however, for some pollutants there may be a moderate health concern for a very small number of people who are unusually sensitive to air pollution
|
| 51 - 100 | **Moderate** | Air quality is acceptable; however, for some pollutants there may be a moderate health concern for a very small number of people who are unusually sensitive to air pollution |
|
||||||
101 - 150 | **Unhealthy for Sensitive Groups** | Members of sensitive groups may experience health effects. The general public is not likely to be affected
|
| 101 - 150 | **Unhealthy for Sensitive Groups** | Members of sensitive groups may experience health effects. The general public is not likely to be affected |
|
||||||
151 - 200 | **Unhealthy** | Everyone may begin to experience health effects; members of sensitive groups may experience more serious health effects
|
| 151 - 200 | **Unhealthy** | Everyone may begin to experience health effects; members of sensitive groups may experience more serious health effects |
|
||||||
201 - 300 | **Very unhealthy** | Health warnings of emergency conditions. The entire population is more likely to be affected
|
| 201 - 300 | **Very unhealthy** | Health warnings of emergency conditions. The entire population is more likely to be affected |
|
||||||
301+ | **Hazardous** | Health alert: everyone may experience more serious health effects
|
| 301+ | **Hazardous** | Health alert: everyone may experience more serious health effects |
|
||||||
|
58
source/_integrations/weatherflow.markdown
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
---
|
||||||
|
title: "WeatherFlow"
|
||||||
|
description: "Instructions on how to integrate your WeatherFlow tempest into Home Assistant."
|
||||||
|
ha_release: "2023.10"
|
||||||
|
ha_category:
|
||||||
|
- Sensor
|
||||||
|
- Environment
|
||||||
|
ha_platforms:
|
||||||
|
- sensor
|
||||||
|
ha_iot_class: "Local Push"
|
||||||
|
ha_config_flow: true
|
||||||
|
ha_codeowners:
|
||||||
|
- '@natekspencer'
|
||||||
|
- '@jeeftor'
|
||||||
|
ha_domain: weatherflow
|
||||||
|
---
|
||||||
|
|
||||||
|
This integration is a local-only WeatherFlow integration that reads weather data from all [WeatherFlow Tempest](https://weatherflow.com/tempest-weather-system/) compatible weather station on the local network.
|
||||||
|
|
||||||
|
<div class='note'>
|
||||||
|
You may see slight deviations between the values reported in Home Assistant and the values in the WeatherFlow App. This is because the WeatherFlow app considers both forecasts and neighboring weather stations in addition to the local data used in this integration.
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
|
## Sensors
|
||||||
|
|
||||||
|
This integration will expose the following sensors:
|
||||||
|
|
||||||
|
- Air density
|
||||||
|
- Air pressure
|
||||||
|
- Dew point
|
||||||
|
- Feels like
|
||||||
|
- Humidity
|
||||||
|
- Illuminance
|
||||||
|
- Irradiance
|
||||||
|
- Lightning average distance
|
||||||
|
- Lightning count
|
||||||
|
- Precipitation
|
||||||
|
- Precipitation amount
|
||||||
|
- Precipitation type
|
||||||
|
- Temperature
|
||||||
|
- UV index
|
||||||
|
- Vapor pressure
|
||||||
|
- Wet bulb temperature
|
||||||
|
- Wind direction
|
||||||
|
- Wind direction average
|
||||||
|
- Wind gust
|
||||||
|
- Wind lull
|
||||||
|
- Wind speed
|
||||||
|
|
||||||
|
## Diagnostic sensors
|
||||||
|
|
||||||
|
Additionally the following diagnostic sensors are available:
|
||||||
|
|
||||||
|
- Battery voltage
|
||||||
|
- Signal strength
|
||||||
|
- Uptime
|
52
source/_integrations/weatherkit.markdown
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
---
|
||||||
|
title: Apple WeatherKit
|
||||||
|
description: Instructions on how to set up Apple WeatherKit with Home Assistant.
|
||||||
|
ha_category:
|
||||||
|
- Weather
|
||||||
|
ha_release: '2023.10'
|
||||||
|
ha_iot_class: Cloud Polling
|
||||||
|
ha_config_flow: true
|
||||||
|
ha_codeowners:
|
||||||
|
- '@tjhorner'
|
||||||
|
ha_domain: weatherkit
|
||||||
|
ha_integration_type: integration
|
||||||
|
ha_platforms:
|
||||||
|
- weather
|
||||||
|
---
|
||||||
|
|
||||||
|
The Apple WeatherKit integration obtains current weather and forecasts (hourly and daily) from Apple Weather. It is the most direct replacement for those coming from the Dark Sky API since Apple bought Dark Sky and implemented its technology into their weather service.
|
||||||
|
|
||||||
|
There is currently support for the following device types within Home Assistant:
|
||||||
|
|
||||||
|
- Weather
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
You will need a [paid Apple Developer Program account](https://developer.apple.com/support/compare-memberships/) to use this integration.
|
||||||
|
|
||||||
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
|
### Credentials
|
||||||
|
|
||||||
|
You will need to obtain the appropriate credentials which you will use to connect to Apple WeatherKit. We need to register a few things in your Apple Developer account:
|
||||||
|
|
||||||
|
1. Go to [Certificates, Identifiers & Profiles](https://developer.apple.com/account/resources/certificates/list) in your Apple Developer account.
|
||||||
|
2. In the [Keys](https://developer.apple.com/account/resources/authkeys/list) section, add a new key.
|
||||||
|
1. Name it whatever you want.
|
||||||
|
2. Select "WeatherKit" from the list.
|
||||||
|
3. Download the `.p8` file provided. This is your **Private Key**.
|
||||||
|
4. Write down the **Key ID**. You will need it later.
|
||||||
|
3. In the [Identifiers](https://developer.apple.com/account/resources/identifiers/list) section, add a new identifier.
|
||||||
|
1. Select "Services IDs" from the drop-down in the top-right.
|
||||||
|
2. Enter whatever you'd like for the description.
|
||||||
|
3. For the identifier, Apple recommends using a reverse-DNS style name, like `com.example.homeassistant`.
|
||||||
|
4. Save the identifier you used. This is your **Service ID**.
|
||||||
|
|
||||||
|
You can add a new WeatherKit integration entry now that you have all the credentials. Using the details from earlier, it should look something like this:
|
||||||
|
|
||||||
|
- **Key ID**: `ABC123DEFG`
|
||||||
|
- **Service ID**: `com.example.homeassistant`
|
||||||
|
- **Apple team ID**: `ABC123DEFG`
|
||||||
|
- This value can be found in the top-right of the Apple Developer website.
|
||||||
|
- **Private key**: `-----BEGIN PRIVATE KEY----- [...]`
|
||||||
|
- Open the `.p8` file you downloaded earlier in a text editor and copy the contents into this field.
|
@ -9,6 +9,7 @@ ha_iot_class: Cloud Polling
|
|||||||
ha_config_flow: true
|
ha_config_flow: true
|
||||||
ha_codeowners:
|
ha_codeowners:
|
||||||
- '@vangorra'
|
- '@vangorra'
|
||||||
|
- '@joostlek'
|
||||||
ha_domain: withings
|
ha_domain: withings
|
||||||
ha_platforms:
|
ha_platforms:
|
||||||
- binary_sensor
|
- binary_sensor
|
||||||
@ -16,11 +17,11 @@ ha_platforms:
|
|||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
---
|
---
|
||||||
|
|
||||||
The `withings` sensor platform consumes data from various health products produced by [Withings](https://www.withings.com).
|
The Withings integration consumes data from various health products produced by [Withings](https://www.withings.com).
|
||||||
|
|
||||||
## Create a Withings Account
|
## Create a Withings developer account
|
||||||
|
|
||||||
You must have a developer account to distribute the data. [Create a free development account](https://account.withings.com/partner/add_oauth2).
|
You must have a developer account to distribute the data. [Create a free developer account](https://account.withings.com/partner/add_oauth2).
|
||||||
|
|
||||||
Values for your account:
|
Values for your account:
|
||||||
|
|
||||||
@ -52,32 +53,7 @@ Withings will validate (with HTTP HEAD) these requirements each time you save yo
|
|||||||
|
|
||||||
{% include integrations/config_flow.md %}
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
The integration configuration will ask for the *Client ID* and *Client Secret* created above. See [Application Credentials](/integrations/application_credentials) for more details.
|
## Data updates
|
||||||
|
|
||||||
Once authorized, the tab/window will close and the integration page will prompt to select a profile. Select the profile you chose while on the Withings site.
|
The integration will automatically detect if you can use webhooks. This will enable the integration only to update when there is new data.
|
||||||
- Note: It's important you select the same profile from the previous step. Choosing a different one will result in Home Assistant displaying the wrong data.
|
The binary sensor for sleep will only work if the integration can establish webhooks with Withings.
|
||||||
|
|
||||||
Data will synchronize immediately and update under the following conditions:
|
|
||||||
- If `use_webhook` is enabled:
|
|
||||||
- Each time Withings notifies Home Assistant of a data change.
|
|
||||||
- Every 120 minutes.
|
|
||||||
- If `use_webhook` is not enabled:
|
|
||||||
- Every 10 minutes.
|
|
||||||
|
|
||||||
## Configuration
|
|
||||||
|
|
||||||
There are additional configuration options available:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
# Example configuration.yaml entry
|
|
||||||
withings:
|
|
||||||
use_webhook: true
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
use_webhook:
|
|
||||||
description: "Configure Withings to notify Home Assistant when data changes. This also required to populate the in_bed sensor. Note: In order for this to work, your Home Assistant install must be accessible to the internet."
|
|
||||||
required: false
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
@ -19,7 +19,7 @@ ha_integration_type: integration
|
|||||||
|
|
||||||
The `workday` binary sensor indicates whether the current day is a workday or not.
|
The `workday` binary sensor indicates whether the current day is a workday or not.
|
||||||
|
|
||||||
It allows specifying which days of the week will count as workdays and also uses the Python module [holidays](https://pypi.org/project/holidays/) to incorporate information about region-specific public holidays.
|
It allows specifying which days of the week will count as workdays and also uses the Python module [holidays](https://pypi.org/project/holidays/) to incorporate information about region-specific public holidays.
|
||||||
|
|
||||||
This can be used to make daily automations that act differently on workdays than non-workdays. For example, you could make your bedroom lights turn on (gently) at 7 in the morning if it is a workday but wait until 11 if it is a non-working day.
|
This can be used to make daily automations that act differently on workdays than non-workdays. For example, you could make your bedroom lights turn on (gently) at 7 in the morning if it is a workday but wait until 11 if it is a non-working day.
|
||||||
|
|
||||||
@ -30,7 +30,7 @@ Check the [country list](https://github.com/dr-prodigy/python-holidays#available
|
|||||||
{% include integrations/config_flow.md %}
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
Days are specified as follows: `mon`, `tue`, `wed`, `thu`, `fri`, `sat`, `sun`.
|
Days are specified as follows: `mon`, `tue`, `wed`, `thu`, `fri`, `sat`, `sun`.
|
||||||
The keyword `holiday` is used for public holidays identified by the holidays module.
|
The keyword `holiday` is used for public holidays identified by the holidays module and holidays added by the `add_holidays` configuration option.
|
||||||
|
|
||||||
<div class='note warning'>
|
<div class='note warning'>
|
||||||
|
|
||||||
@ -40,13 +40,13 @@ Take note of the `holiday` keyword. Your first instinct might be to add it to th
|
|||||||
|
|
||||||
## Specific field information
|
## Specific field information
|
||||||
|
|
||||||
Country code must be given according to [holidays](https://pypi.org/project/holidays/) notation.
|
Country code must be given according to [holidays](https://pypi.org/project/holidays/) notation. The country can also be set to `None` to start with an empty set of holidays. This is useful in conjunction with the add holidays field.
|
||||||
|
|
||||||
Subdivision code must be given according to [holidays](https://pypi.org/project/holidays/) notation.
|
Subdivision code must be given according to [holidays](https://pypi.org/project/holidays/) notation.
|
||||||
|
|
||||||
Add holidays will only take dates formatted with `YYYY-MM-DD`.
|
Add holidays will only take dates formatted with `YYYY-MM-DD` or a date range formatted with `YYYY-MM-DD,YYYY-MM-DD`.
|
||||||
|
|
||||||
Remove holidays will take dates formatted with `YYYY-MM-DD` or partial of name, for example, `christmas` will exclude `Christmas Day`.
|
Remove holidays will take dates formatted with `YYYY-MM-DD`, a date range formatted with `YYYY-MM-DD,YYYY-MM-DD` or partial of name, for example, `christmas` will exclude `Christmas Day`.
|
||||||
|
|
||||||
The offset can be used to see if future days are workdays. For example, put `1` to see if tomorrow is a workday.
|
The offset can be used to see if future days are workdays. For example, put `1` to see if tomorrow is a workday.
|
||||||
|
|
||||||
|
@ -13,12 +13,14 @@ ha_integration_type: integration
|
|||||||
ha_platforms:
|
ha_platforms:
|
||||||
- stt
|
- stt
|
||||||
- tts
|
- tts
|
||||||
|
- wake_word
|
||||||
ha_config_flow: true
|
ha_config_flow: true
|
||||||
---
|
---
|
||||||
|
|
||||||
The Wyoming 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/) and [text-to-speech](/integrations/tts/) systems, such as:
|
The Wyoming 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:
|
||||||
|
|
||||||
- Whisper {% my supervisor_addon badge addon="core_whisper" %}
|
- Whisper {% my supervisor_addon badge addon="core_whisper" %}
|
||||||
- Piper {% my supervisor_addon badge addon="core_piper" %}
|
- Piper {% my supervisor_addon badge addon="core_piper" %}
|
||||||
|
- openWakeWord {% my supervisor_addon badge addon="core_openwakeword" %}
|
||||||
|
|
||||||
{% include integrations/config_flow.md %}
|
{% include integrations/config_flow.md %}
|
||||||
|
@ -26,3 +26,14 @@ There is currently support for the following platform within Home Assistant:
|
|||||||
During the configuration, you will have to manually set the **Host** and the **Access Token**. You can find them inside your [Yardian App](https://yardian.com/app/).
|
During the configuration, you will have to manually set the **Host** and the **Access Token**. You can find them inside your [Yardian App](https://yardian.com/app/).
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
## Services
|
||||||
|
|
||||||
|
### yardian.start_irrigation
|
||||||
|
|
||||||
|
Start a zone for a given number of minutes. This service accepts an Yardian Zone switch entity and allows a given duration.
|
||||||
|
|
||||||
|
| Service Data Attribute | Optional | Description |
|
||||||
|
| ---------------------- | -------- | ----------------------------------------------------- |
|
||||||
|
| `entity_id` | yes | The Yardian Zone switch to turn on. |
|
||||||
|
| `duration` | no | Number of minutes for this zone to be turned on. |
|
||||||
|
@ -152,7 +152,7 @@ The following features can be accessed from the integration configuration panel:
|
|||||||
|
|
||||||
- **Add device:** Allows you to pre-provision a SmartStart device or start the inclusion process for adding a new device to your network.
|
- **Add device:** Allows you to pre-provision a SmartStart device or start the inclusion process for adding a new device to your network.
|
||||||
- **Remove device:** Starts the exclusion process for removing a device from your network.
|
- **Remove device:** Starts the exclusion process for removing a device from your network.
|
||||||
- **Heal network:** Forces your network to rediscover routes to the controller from each device. This is useful when devices or the controller have moved to a new location, or if you are having significant problems with your network, but it also generates a lot of network traffic and should be used sparingly.
|
- **Rebuild network routes:** Forces your network to rediscover routes to the controller from each device. This is useful when devices or the controller have moved to a new location, or if you are having significant problems with your network, but it also generates a lot of network traffic and should be used sparingly.
|
||||||
- **[Controller statistics](https://zwave-js.github.io/node-zwave-js/#/api/controller?id=quotstatistics-updatedquot):** Provides statistics about communication between the controller and other devices, allowing you to troubleshoot your network's RF quality.
|
- **[Controller statistics](https://zwave-js.github.io/node-zwave-js/#/api/controller?id=quotstatistics-updatedquot):** Provides statistics about communication between the controller and other devices, allowing you to troubleshoot your network's RF quality.
|
||||||
- **Third-party data opt-in/out:** Allows you to opt-in or out of telemetry that the Z-Wave JS project collects to help inform development decisions, influence manufacturers, etc. This telemetry is disabled by default and has to be opted in to be activated.
|
- **Third-party data opt-in/out:** Allows you to opt-in or out of telemetry that the Z-Wave JS project collects to help inform development decisions, influence manufacturers, etc. This telemetry is disabled by default and has to be opted in to be activated.
|
||||||
|
|
||||||
@ -171,7 +171,7 @@ The following features can be accessed from the device panel of a Z-Wave device:
|
|||||||
|
|
||||||
- **Configure:** Provides an easy way to look up and update configuration parameters for the device. While there is an existing service for setting configuration parameter values, this UI may sometimes be quicker to use for one-off changes.
|
- **Configure:** Provides an easy way to look up and update configuration parameters for the device. While there is an existing service for setting configuration parameter values, this UI may sometimes be quicker to use for one-off changes.
|
||||||
- **Re-interview:** Forces the device to go through the interview process again so that Z-Wave-JS can discover all of its capabilities. Can be helpful if you don't see all the expected entities for your device.
|
- **Re-interview:** Forces the device to go through the interview process again so that Z-Wave-JS can discover all of its capabilities. Can be helpful if you don't see all the expected entities for your device.
|
||||||
- **Heal:** Forces the device to rediscover its optimal route back to the controller. Use this if you think you are experiencing unexpected delays or RF issues with your device. Your device may be less responsive during this process.
|
- **Rebuild routes:** Forces the device to rediscover its optimal route back to the controller. Use this if you think you are experiencing unexpected delays or RF issues with your device. Your device may be less responsive during this process.
|
||||||
- **Remove failed:** Forces the controller to remove the device from the controller. Can be used when a device has failed and it can't go through the normal exclusion process.
|
- **Remove failed:** Forces the controller to remove the device from the controller. Can be used when a device has failed and it can't go through the normal exclusion process.
|
||||||
- **[Statistics](https://zwave-js.github.io/node-zwave-js/#/api/node?id=quotstatistics-updatedquot):** Provides statistics about communication between this device and the controller, allowing you to troubleshoot RF issues with the device.
|
- **[Statistics](https://zwave-js.github.io/node-zwave-js/#/api/node?id=quotstatistics-updatedquot):** Provides statistics about communication between this device and the controller, allowing you to troubleshoot RF issues with the device.
|
||||||
- **Update:** Updates a device's firmware using a manually uploaded firmware file. Only some devices support this feature (controllers and devices with the Firmware Update Metadata Command Class).
|
- **Update:** Updates a device's firmware using a manually uploaded firmware file. Only some devices support this feature (controllers and devices with the Firmware Update Metadata Command Class).
|
||||||
@ -437,6 +437,7 @@ These are notification events fired by devices using the Notification command cl
|
|||||||
{
|
{
|
||||||
"domain": "zwave_js",
|
"domain": "zwave_js",
|
||||||
"node_id": 1,
|
"node_id": 1,
|
||||||
|
"endpoint": 0,
|
||||||
"home_id": "974823419",
|
"home_id": "974823419",
|
||||||
"device_id": "ad8098fe80980974",
|
"device_id": "ad8098fe80980974",
|
||||||
"command_class": 113,
|
"command_class": 113,
|
||||||
@ -459,6 +460,7 @@ These are notification events fired by devices using the Multilevel Switch comma
|
|||||||
{
|
{
|
||||||
"domain": "zwave_js",
|
"domain": "zwave_js",
|
||||||
"node_id": 1,
|
"node_id": 1,
|
||||||
|
"endpoint": 0,
|
||||||
"home_id": 974823419,
|
"home_id": 974823419,
|
||||||
"device_id": "2f44f0d4152be3123f7ad40cf3abd095",
|
"device_id": "2f44f0d4152be3123f7ad40cf3abd095",
|
||||||
"command_class": 38,
|
"command_class": 38,
|
||||||
@ -475,6 +477,7 @@ These are notification events fired by devices using the Multilevel Switch comma
|
|||||||
{
|
{
|
||||||
"domain": "zwave_js",
|
"domain": "zwave_js",
|
||||||
"node_id": 8,
|
"node_id": 8,
|
||||||
|
"endpoint": 0,
|
||||||
"home_id": 3803689189,
|
"home_id": 3803689189,
|
||||||
"device_id": "2f44f0d4152be3123f7ad40cf3abd095",
|
"device_id": "2f44f0d4152be3123f7ad40cf3abd095",
|
||||||
"command_class": 38,
|
"command_class": 38,
|
||||||
@ -493,6 +496,7 @@ These are notification events fired by devices using the Entry Control command c
|
|||||||
{
|
{
|
||||||
"domain": "zwave_js",
|
"domain": "zwave_js",
|
||||||
"node_id": 1,
|
"node_id": 1,
|
||||||
|
"endpoint": 0,
|
||||||
"home_id": "974823419",
|
"home_id": "974823419",
|
||||||
"device_id": "ad8098fe80980974",
|
"device_id": "ad8098fe80980974",
|
||||||
"command_class": 111,
|
"command_class": 111,
|
||||||
@ -822,7 +826,7 @@ _Many_ reported issues result from RF interference caused by the system's USB po
|
|||||||
|
|
||||||
**All users are encouraged to use a USB extension cable to prevent such interference.** Please try such a cable before opening an issue or requesting support on Discord. It will nearly always be the first troubleshooting step that we ask you to take anyway.
|
**All users are encouraged to use a USB extension cable to prevent such interference.** Please try such a cable before opening an issue or requesting support on Discord. It will nearly always be the first troubleshooting step that we ask you to take anyway.
|
||||||
|
|
||||||
After ensuring you are using an extension cable, perform a network heal.
|
After ensuring you are using an extension cable, rebuild network routes.
|
||||||
|
|
||||||
The combination of these two steps corrects a large number of reported difficulties.
|
The combination of these two steps corrects a large number of reported difficulties.
|
||||||
|
|
||||||
@ -864,18 +868,37 @@ When trying to determine why something isn't working as you expect, or when repo
|
|||||||
2. Select the **Z-Wave** integration. Then, select the three dots.
|
2. Select the **Z-Wave** integration. Then, select the three dots.
|
||||||
3. From he dropdown menu, select **Download diagnostics**.
|
3. From he dropdown menu, select **Download diagnostics**.
|
||||||
|
|
||||||
### Interference issues
|
#### How do I address interference issues?
|
||||||
|
|
||||||
Many users have reported issues with interference when the USB stick was directly connected to the machine (proximity). If you are having issues, try to use a short USB 2.0 A (male to female) extension cord.
|
Many users have reported issues with interference when the USB stick was directly connected to the machine (proximity). If you are having issues, try to use a short USB 2.0 A (male to female) extension cord.
|
||||||
|
|
||||||
#### How to access the Z-Wave logs
|
#### How do I access the Z-Wave logs?
|
||||||
|
|
||||||
Z-Wave JS writes details to its logs. To access these logs, follow these steps:
|
##### The easy way
|
||||||
|
|
||||||
1. Go to {% my integrations title="**Settings** > **Devices & Services**" %}.
|
###### Enable Z-Wave JS logging
|
||||||
2. Select the **Z-Wave** integration. Then, select **Configure**.
|
|
||||||
3. Open the **Logs** tab.
|
1. Go to the Z-Wave integration panel: {% my integration badge domain="zwave_js" %}
|
||||||
4. Make sure to keep this browser tab open. Otherwise the logging is not active.
|
2. Select `Enable debug logging` on the left-hand side of the screen.
|
||||||
|
|
||||||
|
The log level will be set to `debug` for the integration, library, and optionally the driver (if the driver log level is not already set to `verbose`, `debug`, or `silly`), and all Z-Wave JS logs will be added to the Home Assistant logs.
|
||||||
|
|
||||||
|
###### Disable Z-Wave JS logging
|
||||||
|
|
||||||
|
1. Go to the Z-Wave integration panel: {% my integration badge domain="zwave_js" %}
|
||||||
|
2. Select `Disable debug logging` on the left-hand side of the screen.
|
||||||
|
|
||||||
|
The log level will be reset to its previous value for the integration, library, and driver, and the Home Assistant frontend will automatically send you the Z-Wave logs generated during that time period for download.
|
||||||
|
|
||||||
|
##### The advanced way
|
||||||
|
|
||||||
|
###### Enable Z-Wave JS logging manually, or via an automation
|
||||||
|
|
||||||
|
Set the log level for `zwave_js_server` to `debug`. This can either be done in your `configuration.yaml` in the `logger` section, or using the `logger.set_level` service. When the integration detects that the log level has been set to `debug`, it will also set the Z-Wave JS logs to `debug` if the level isn't already `verbose`, `debug`, or `silly` and will include those logs in the Home Assistant logs. The Z-Wave JS logs can be found under the logger name `zwave_js_server.server`.
|
||||||
|
|
||||||
|
###### Disable Z-Wave JS logging manually, or via an automation
|
||||||
|
|
||||||
|
Set the log level for `zwave_js_server` to a level higher than `debug`. This can either be done in your `configuration.yaml` in the `logger` section, or using the `logger.set_level` service. The Z-Wave JS logs will no longer be included in the Home Assistant logs, and if the log level of Z-Wave JS was changed by the integration, it will automatically change back to its original level.
|
||||||
|
|
||||||
## Z-Wave terminology
|
## Z-Wave terminology
|
||||||
|
|
||||||
|
403
source/_posts/2023-10-04-release-202310.markdown
Normal file
@ -0,0 +1,403 @@
|
|||||||
|
---
|
||||||
|
layout: post
|
||||||
|
title: "2023.10: New looks and more tile card features!"
|
||||||
|
description: "We added more tile card features, added our beautiful new logo, shiny new My Home Assistant buttons, better password manager support, and more!"
|
||||||
|
date: 2023-10-04 00:00:00
|
||||||
|
date_formatted: "October 4, 2023"
|
||||||
|
author: Franck Nijhof
|
||||||
|
author_twitter: frenck
|
||||||
|
comments: true
|
||||||
|
categories:
|
||||||
|
- Release-Notes
|
||||||
|
- Core
|
||||||
|
og_image: /images/blog/2023-10/social.png
|
||||||
|
---
|
||||||
|
|
||||||
|
<a href='/integrations/#version/2023.10'><img src='/images/blog/2023-10/social.png' style='border: 0;box-shadow: none;'></a>
|
||||||
|
|
||||||
|
Home Assistant Core 2023.10! 🎉
|
||||||
|
|
||||||
|
October! 🎃 It means we've just celebrated our birthday; we are now 10 years old! 🎂 In case you've missed our
|
||||||
|
[birthday YouTube stream](https://www.youtube.com/watch?v=EmLV6lJLzSU) with all the cool announcements, we've summed it all up in our [10 year Home Assistant blog post](/blog/2023/09/17/10-years-home-assistant/).
|
||||||
|
|
||||||
|
Even more exciting news, as this is [Home Assistant's year of the voice](/blog/2022/12/20/year-of-voice/): Chapter 4 of this endeavor has been announced and will be [streamed live on YouTube](https://www.youtube.com/watch?v=YzgYYkOrnhQ) on 12 October 2023, at 12:00 PDT / 21:00 CEST! Be sure to tune in! I've seen some early demos... All I'm going to say is: It is mind-blowing! 🤯
|
||||||
|
|
||||||
|
As for this release, because of all of the above, it is a bit smaller than usual in terms of features. I promise that chapter 4 is going to make it all worth it. Yet, it contains tons of updates, bug fixes, and a couple of beautiful new features for the tile card! 🤩
|
||||||
|
|
||||||
|
Enjoy the release!
|
||||||
|
|
||||||
|
../Frenck
|
||||||
|
|
||||||
|
<!--more-->
|
||||||
|
|
||||||
|
- [A beautiful updated logo!](#a-beautiful-updated-logo)
|
||||||
|
- [Brand new My Home Assistant buttons](#brand-new-my-home-assistant-buttons)
|
||||||
|
- [New tile card features for climate entities](#new-tile-card-features-for-climate-entities)
|
||||||
|
- [Tile card feature select entities](#tile-card-feature-select-entities)
|
||||||
|
- [Password managers and Home Assistant](#password-managers-and-home-assistant)
|
||||||
|
- [Map entity marker options](#map-entity-marker-options)
|
||||||
|
- [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)
|
||||||
|
- [Breaking changes](#breaking-changes)
|
||||||
|
- [All changes](#all-changes)
|
||||||
|
|
||||||
|
Don't forget to [join our release party live stream on YouTube](https://www.youtube.com/watch?v=-GDonruFfKc)
|
||||||
|
4 October 2023, at 12:00 PDT / 21:00 CEST!
|
||||||
|
|
||||||
|
<lite-youtube videoid="-GDonruFfKc" videotitle="Home Assistant 2023.10 Release Party"></lite-youtube>
|
||||||
|
|
||||||
|
## A beautiful updated logo!
|
||||||
|
|
||||||
|
In case you've missed it, we have refreshed the Home Assistant logo! 🤩
|
||||||
|
|
||||||
|
<img class='no-shadow' src='/images/blog/2023-09-ha10/home-assistant-logo-new.png' alt='The new Home Assistant logo on a gray background.'>
|
||||||
|
|
||||||
|
This was done for the [10th anniversary of Home Assistant](/blog/2023/09/17/10-years-home-assistant/), and you can [read all about this iteration in this blog post](/blog/2023/09/17/a-refreshed-logo-for-home-assistant/). You will start seeing this logo in many more places in the upcoming weeks, but, it is already included this release!
|
||||||
|
|
||||||
|
<img class='no-shadow' src='/images/blog/2023-10/home-assistant-about.png' alt='Screenshot showing the new logo showing on the about page in the Home Assistant interface.'>
|
||||||
|
|
||||||
|
## Brand new My Home Assistant buttons
|
||||||
|
|
||||||
|
It is not just the logo that got a facelift; we have beautiful new buttons for [My Home Assistant] as well 🤩.
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<a href="https://my.home-assistant.io" target="_blank"><img class='no-shadow' src='https://my.home-assistant.io/badges/homeassistant.svg' alt='My Home Assistant logo as a button'></a>
|
||||||
|
</center><br />
|
||||||
|
|
||||||
|
If you're unfamiliar with My Home Assistant, it's a free online tool that enables websites, documentation, chat platforms, and blogs to link to places on your Home Assistant server without knowing its address or being exposed to the internet. This ensures your privacy while still allowing a seamless experience.
|
||||||
|
|
||||||
|
In our documentation, you'll find those buttons to, for example, add a new integration to your Home Assistant with a single click! Try it yourself! This button below will open up your Home Assistant's interface and show the integrations
|
||||||
|
you have installed:
|
||||||
|
|
||||||
|
<center>
|
||||||
|
|
||||||
|
{% my integrations badge %}
|
||||||
|
|
||||||
|
</center>
|
||||||
|
|
||||||
|
So, if you see these buttons showing up somewhere, you now know what they do! You can easily create your own buttons and links to share on the [create link] page.
|
||||||
|
|
||||||
|
[create link]: https://my.home-assistant.io/create-link/
|
||||||
|
[My Home Assistant]: https://my.home-assistant.io
|
||||||
|
|
||||||
|
## New tile card features for climate entities
|
||||||
|
|
||||||
|
In the last release, we added [lots of new features for the tile card](/blog/2023/09/06/release-20239/#lots-of-new-tile-features),
|
||||||
|
including features specifically for controlling your climate devices. This release, we are adding even more!
|
||||||
|
|
||||||
|
[@Weissnix4711] contributed a feature that allows you to add buttons for the presets of your climate device to the tile card. Next,[@piitaya] took it a step further: You can now select which presets you want to show and if you want them in a dropdown list instead of a series of buttons.
|
||||||
|
|
||||||
|
<img class='no-shadow' src='/images/blog/2023-10/tile-card-climate-presets.png' alt='Screenshot showing the new preset feature of the tile cards in both button and dropdown variants.'>
|
||||||
|
|
||||||
|
The screenshot above shows the same tile card, but one with the buttons and one with the dropdown.
|
||||||
|
|
||||||
|
In the options for this tile card feature, you'll be given the choice if you
|
||||||
|
prefer to show icons or if you rather have a dropdown. You can also pick
|
||||||
|
which presets you want to show/hide.
|
||||||
|
|
||||||
|
[@piitaya]: https://github.com/piitaya
|
||||||
|
[@Weissnix4711]: https://github.com/Weissnix4711
|
||||||
|
|
||||||
|
## Tile card feature select entities
|
||||||
|
|
||||||
|
But there is more goodness for the tile card. [@piitaya] also added the dropdown from above as a feature for the select entities, allowing you to select an option from a list of options.
|
||||||
|
|
||||||
|
<img class='no-shadow' src='/images/blog/2023-10/tile-card-select.png' alt='Screenshot showing the select feature for the tile card in the Home Assistant interface.'>
|
||||||
|
|
||||||
|
This feature can be used for any select entity but also your custom dropdown helpers! (also known as `input_select` entities).
|
||||||
|
|
||||||
|
## Password managers and Home Assistant
|
||||||
|
|
||||||
|
Using a password manager is arguably one of the best things you can do to
|
||||||
|
improve your online security. But using them with Home Assistant, depending on
|
||||||
|
which one you have been using, has been a bit of a pain.
|
||||||
|
|
||||||
|
If you've been using one of these password managers that had issues with
|
||||||
|
Home Assistant, you'll be happy to know that this release fixes that!
|
||||||
|
For example, 1Password now works!
|
||||||
|
|
||||||
|
<img class='no-shadow' src='/images/blog/2023-10/home-assistant-works-with-1password.png' alt='Screenshot from the Home Assistant login screen, that show the use of 1Password'>
|
||||||
|
|
||||||
|
## Map entity marker options
|
||||||
|
|
||||||
|
The [map card](/dashboards/map/) received new options (thanks [@karwosts]!)
|
||||||
|
for your entity markers that are shown on the map.
|
||||||
|
|
||||||
|
You can now choose if you want the entity name to be rendered on the map
|
||||||
|
or the entity state, but you could also override the name altogether. You could,
|
||||||
|
for example, show state values, instead of the name, for the entities providing
|
||||||
|
gas prices, so you can see where the cheapest gas is.
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<img class='no-shadow' src='/images/blog/2023-10/map-features-prices.png' alt='Screenshot of a map card showing gas prices on the map.'>
|
||||||
|
</center><br />
|
||||||
|
|
||||||
|
When centering the map, all entities on the map are taken into account.
|
||||||
|
However, you can also exclude certain entities (for example,
|
||||||
|
known outliers) that should not be considered when doing that.
|
||||||
|
|
||||||
|
This is currently only available in the YAML configuration of the map card.
|
||||||
|
See our [documentation for the map card](/dashboards/map/#label_mode) for
|
||||||
|
more information.
|
||||||
|
|
||||||
|
[@karwosts]: https://github.com/karwosts
|
||||||
|
|
||||||
|
## Other noteworthy changes
|
||||||
|
|
||||||
|
There are many more improvements in this release; here are some of the other
|
||||||
|
noteworthy changes this release:
|
||||||
|
|
||||||
|
- If you are using [ESPHome], you will notice much smaller Home Assistant
|
||||||
|
backups when you have [the latest version] installed!
|
||||||
|
- The [HomeKit Bridge] integration now supports media receivers! Thanks, [@bdraco]!
|
||||||
|
- [@Lash-L] keeps extending the [Roborock] integration.
|
||||||
|
In this release, water and last cleaned sensors have been added. Sweet!
|
||||||
|
- [Withings] received lots of love this release, thanks [@joostlek]! It is now
|
||||||
|
easier to set up and now also works with the [Home Assistant Cloud] webhooks
|
||||||
|
for push updates!
|
||||||
|
- [@allenporter] added calendar support to the [Rain Bird](/integrations/rainbird)
|
||||||
|
integration, allowing you to see your irrigation schedule in Home Assistant!
|
||||||
|
Nice!
|
||||||
|
- The [System Bridge] integration now supports notifications! Thanks, [@timmo001]!
|
||||||
|
- [@alexyao2015] added a button to [Life360] to trigger a poll to update the
|
||||||
|
location information. Cool!
|
||||||
|
- The [picture entity card] now has a fit mode option to control how the image
|
||||||
|
fits into the card. This lets you decide if the image is clipped, fitted,
|
||||||
|
or stretched into the displayed card. Thanks [@karwosts]!
|
||||||
|
- It's now easier than ever to collect [Z-Wave] logs for troubleshooting.
|
||||||
|
Just [enable debug logging](/integrations/zwave_js#how-do-i-access-the-z-wave-logs)!
|
||||||
|
|
||||||
|
[@alexyao2015]: https://github.com/alexyao2015
|
||||||
|
[@allenporter]: https://github.com/allenporter
|
||||||
|
[@bdraco]: https://github.com/bdraco
|
||||||
|
[@joostlek]: https://github.com/joostlek
|
||||||
|
[@karwosts]: https://github.com/karwosts
|
||||||
|
[@Lash-L]: https://github.com/Lash-L
|
||||||
|
[@timmo001]: https://github.com/timmo001
|
||||||
|
[ESPHome]: https://esphome.io
|
||||||
|
[Home Assistant Cloud]: https://www.nabucasa.com
|
||||||
|
[HomeKit Bridge]: /integrations/homekit
|
||||||
|
[Life360]: /integrations/life360
|
||||||
|
[picture entity card]: /dashboards/picture-entity/
|
||||||
|
[Roborock]: /integrations/roborock
|
||||||
|
[System Bridge]: /integrations/system_bridge
|
||||||
|
[the latest version]: https://esphome.io/changelog/2023.9.0.html#esphome-2023-9-0-27th-september-2023
|
||||||
|
[Withings]: /integrations/withings
|
||||||
|
[Z-Wave]: /integrations/zwave_js
|
||||||
|
|
||||||
|
## New integrations
|
||||||
|
|
||||||
|
We welcome the following new integrations in this release:
|
||||||
|
|
||||||
|
- **[Apple WeatherKit]**, added by [@tjhorner]<br />
|
||||||
|
Track the weather using Apple's WeatherKit API.
|
||||||
|
- **[Ecoforest]**, added by [@pjanuario]<br />
|
||||||
|
Monitor and control your Ecoforest fireplace.
|
||||||
|
- **[IKEA IDÅSEN Desk]**, added by [@abmantis]<br />
|
||||||
|
Connect and control the height of your IKEA IDÅSEN motorized desk.
|
||||||
|
- **[Medcom Bluetooth]**, added by [@elafargue]<br />
|
||||||
|
Integrates your Medcom radiation monitors.
|
||||||
|
- **[Private BLE Device]**, added by [@Jc2k]<br />
|
||||||
|
Track your BLE devices that change their MAC address frequently.
|
||||||
|
- **[SwitchBot Cloud]**, added by [@SeraphicRav]<br />
|
||||||
|
Control your SwitchBot devices using the SwitchBot Cloud API.
|
||||||
|
- **[WeatherFlow]**, added by [@jeeftor]<br />
|
||||||
|
Integrate your WeatherFlow Tempest Weather System.
|
||||||
|
|
||||||
|
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 integration has been added:
|
||||||
|
|
||||||
|
- **[Enmax Energy]** provided by [Opower]
|
||||||
|
|
||||||
|
[@abmantis]: https://github.com/abmantis
|
||||||
|
[@elafargue]: https://github.com/elafargue
|
||||||
|
[@Jc2k]: https://github.com/Jc2k
|
||||||
|
[@jeeftor]: https://github.com/jeeftor
|
||||||
|
[@pjanuario]: https://github.com/pjanuario
|
||||||
|
[@SeraphicRav]: https://github.com/SeraphicRav
|
||||||
|
[@tjhorner]: https://github.com/tjhorner
|
||||||
|
[Apple WeatherKit]: /integrations/weatherkit
|
||||||
|
[Ecoforest]: /integrations/ecoforest
|
||||||
|
[Enmax Energy]: /integrations/enmax
|
||||||
|
[IKEA IDÅSEN Desk]: /integrations/idasen_desk
|
||||||
|
[Medcom Bluetooth]: /integrations/medcom_ble
|
||||||
|
[Opower]: /integrations/opower
|
||||||
|
[Private BLE Device]: /integrations/private_ble_device
|
||||||
|
[SwitchBot Cloud]: /integrations/switchbot_cloud
|
||||||
|
[WeatherFlow]: /integrations/weatherflow
|
||||||
|
|
||||||
|
## Integrations now available to set up from the UI
|
||||||
|
|
||||||
|
The following integrations are now available via the Home Assistant UI:
|
||||||
|
|
||||||
|
- **[AfterShip]**, done by [@joostlek]
|
||||||
|
- **[Color extractor]**, done by [@joostlek]
|
||||||
|
- **[Hunter Hydrawise]**, done by [@dknowles2]
|
||||||
|
- **[NextBus]**, done by [@ViViDboarder]
|
||||||
|
- **[Todoist]**, done by [@allenporter]
|
||||||
|
- **[Twitch]**, done by [@joostlek]
|
||||||
|
- **[World Air Quality Index (WAQI)]**, done by [@joostlek]
|
||||||
|
|
||||||
|
[@allenporter]: https://github.com/allenporter
|
||||||
|
[@dknowles2]: https://github.com/dknowles2
|
||||||
|
[@joostlek]: https://github.com/joostlek
|
||||||
|
[@ViViDboarder]: https://github.com/ViViDboarder
|
||||||
|
[Aftership]: /integrations/aftership
|
||||||
|
[Color extractor]: /integrations/color_extractor
|
||||||
|
[Hunter Hydrawise]: /integrations/hydrawise
|
||||||
|
[NextBus]: /integrations/nextbus
|
||||||
|
[Todoist]: /integrations/todoist
|
||||||
|
[Twitch]: /integrations/twitch
|
||||||
|
[World Air Quality Index (WAQI)]: /integrations/waqi
|
||||||
|
|
||||||
|
## 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.
|
||||||
|
|
||||||
|
## Breaking changes
|
||||||
|
|
||||||
|
{% details "HomeKit Bridge" %}
|
||||||
|
|
||||||
|
The HomeKit integration now supports media player receivers. HomeKit expects
|
||||||
|
receivers to be paired in accessory mode. Existing receivers paired in bridge
|
||||||
|
mode should be re-added in [accessory mode](/integrations/homekit/#accessory-mode).
|
||||||
|
|
||||||
|
([@bdraco] - [#100717]) ([documentation](/integrations/homekit))
|
||||||
|
|
||||||
|
[@bdraco]: https://github.com/bdraco
|
||||||
|
[#100717]: https://github.com/home-assistant/core/pull/100717
|
||||||
|
|
||||||
|
{% enddetails %}
|
||||||
|
|
||||||
|
{% details "Modbus" %}
|
||||||
|
|
||||||
|
The `close_comm_on_error` configuration is no longer optional, sockets will
|
||||||
|
always be closed on error. Therefore, the `close_comm_on_error` is now
|
||||||
|
deprecated and will be removed in Home Assistant 2024.3.
|
||||||
|
|
||||||
|
([@janiversen] - [#99946]) ([documentation](/integrations/modbus))
|
||||||
|
|
||||||
|
[@janiversen]: https://github.com/janiversen
|
||||||
|
[#99946]: https://github.com/home-assistant/core/pull/99946
|
||||||
|
|
||||||
|
{% enddetails %}
|
||||||
|
|
||||||
|
{% details "MQTT" %}
|
||||||
|
|
||||||
|
An MQTT lock with a configured state topic will initialize with state
|
||||||
|
`unknown` instead of state `unlocked` unless the lock is set to optimistic mode.
|
||||||
|
|
||||||
|
MQTT locks set to optimistic mode will still be initialized with
|
||||||
|
the `unlocked` state. You should check if your automations are affected.
|
||||||
|
|
||||||
|
([@jbouwh] - [#100943]) ([documentation](/integrations/mqtt))
|
||||||
|
|
||||||
|
[@jbouwh]: https://github.com/jbouwh
|
||||||
|
[#100943]: https://github.com/home-assistant/core/pull/100943
|
||||||
|
|
||||||
|
{% enddetails %}
|
||||||
|
|
||||||
|
{% details "NZBGet" %}
|
||||||
|
|
||||||
|
The option to set a custom scan interval in NZBGet via the options UI has been
|
||||||
|
removed. The update interval is now every 5 seconds.
|
||||||
|
|
||||||
|
If you want to restore the custom scan interval behavior,
|
||||||
|
please see [the `homeassistant.update_entity` service](/common-tasks/general/#defining-a-custom-polling-interval).
|
||||||
|
|
||||||
|
([@joostlek] - [#98869]) ([documentation](/integrations/nzbget))
|
||||||
|
|
||||||
|
[@joostlek]: https://github.com/joostlek
|
||||||
|
[#98869]: https://github.com/home-assistant/core/pull/98869
|
||||||
|
|
||||||
|
{% enddetails %}
|
||||||
|
|
||||||
|
{% details "OpenTherm Gateway" %}
|
||||||
|
|
||||||
|
Some of the older binary sensors and sensors from the OpenTherm gateway have
|
||||||
|
been deprecated since January 2021. They have now been removed. Please use
|
||||||
|
the new binary sensors and sensors that have been created since.
|
||||||
|
|
||||||
|
([@joostlek] - [#99712]) ([documentation](/integrations/opentherm_gw))
|
||||||
|
|
||||||
|
[@joostlek]: https://github.com/joostlek
|
||||||
|
[#99712]: https://github.com/home-assistant/core/pull/99712
|
||||||
|
|
||||||
|
{% enddetails %}
|
||||||
|
|
||||||
|
{% details "Pentair ScreenLogic" %}
|
||||||
|
|
||||||
|
Some entity names have changed. The integration will migrate old entities
|
||||||
|
to new names/IDs. You may have to manually update old entities used
|
||||||
|
in, for example, your dashboards.
|
||||||
|
|
||||||
|
Invalid entities such as "Saturation Index" are removed
|
||||||
|
if the required equipment is not configured.
|
||||||
|
|
||||||
|
([@dieselrabbit] - [#92475]) ([documentation](/integrations/screenlogic))
|
||||||
|
|
||||||
|
[@dieselrabbit]: https://github.com/dieselrabbit
|
||||||
|
[#92475]: https://github.com/home-assistant/core/pull/92475
|
||||||
|
|
||||||
|
{% enddetails %}
|
||||||
|
|
||||||
|
{% details "Supervisor" %}
|
||||||
|
|
||||||
|
The default name given to backups created with the `hassio.full_backup`
|
||||||
|
and `hassio.partial_backup` services are no longer the UTC date and time the
|
||||||
|
backup was initiated. Instead, the local date and time are used for the name.
|
||||||
|
|
||||||
|
([@jpbede] - [#100959]) ([documentation](/integrations/hassio))
|
||||||
|
|
||||||
|
[@jpbede]: https://github.com/jpbede
|
||||||
|
[#100959]: https://github.com/home-assistant/core/pull/100959
|
||||||
|
|
||||||
|
{% enddetails %}
|
||||||
|
|
||||||
|
{% details "Z-Wave" %}
|
||||||
|
|
||||||
|
Multiple WebSocket commands have been renamed based on [this change in Z-Wave JS](https://zwave-js.github.io/node-zwave-js/#/getting-started/migrating-to-v12?id=renamed-network-heal-to-rebuild-routes).
|
||||||
|
|
||||||
|
With this release, you will need to update your zwave-js-server instance.
|
||||||
|
You must use zwave-js-server `1.32.0` or greater (schema `32`).
|
||||||
|
|
||||||
|
- If you use the Z-Wave JS add-on, you need at least version `0.1.91`.
|
||||||
|
- If you use the Z-Wave JS UI add-on, you need at least version `2.0.0`.
|
||||||
|
- If you use the Z-Wave JS UI Docker container, you need at least version `9.0.0`.
|
||||||
|
- If you run your own Docker container or some other installation method,
|
||||||
|
you will need to update your zwave-js-server instance to at least `1.32.0`.
|
||||||
|
|
||||||
|
([@raman325] - [#100833]) ([documentation](/integrations/zwave_js))
|
||||||
|
|
||||||
|
[@raman325]: https://github.com/raman325
|
||||||
|
[#100833]: https://github.com/home-assistant/core/pull/100833
|
||||||
|
|
||||||
|
{% 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:
|
||||||
|
|
||||||
|
- [Home Assistant is participating in Hacktoberfest 2023!](https://developers.home-assistant.io/blog/2023/10/01/hacktoberfest-2023)
|
||||||
|
- [New way of excluding state attributes from recording](https://developers.home-assistant.io/blog/2023/09/20/excluding-state-attributes-from-recording)
|
||||||
|
- [The websocket command entity/source has been modified](https://developers.home-assistant.io/blog/2023/09/12/ws-entity-source-simplified/)
|
||||||
|
|
||||||
|
[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 2023.10](/changelogs/core-2023.10)
|
1680
source/changelogs/core-2023.10.markdown
Normal file
BIN
source/images/blog/2023-10/home-assistant-about.png
Normal file
After Width: | Height: | Size: 77 KiB |
After Width: | Height: | Size: 56 KiB |
BIN
source/images/blog/2023-10/map-features-prices.png
Normal file
After Width: | Height: | Size: 59 KiB |
BIN
source/images/blog/2023-10/social.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
source/images/blog/2023-10/tile-card-climate-presets.png
Normal file
After Width: | Height: | Size: 76 KiB |
BIN
source/images/blog/2023-10/tile-card-select.png
Normal file
After Width: | Height: | Size: 50 KiB |
BIN
source/images/integrations/ecoforest/credentials.png
Normal file
After Width: | Height: | Size: 31 KiB |