mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-23 01:06:52 +00:00
Merge branch 'current' into next
This commit is contained in:
commit
e75f91bbaf
4
.github/workflows/test.yml
vendored
4
.github/workflows/test.yml
vendored
@ -10,7 +10,7 @@ jobs:
|
||||
- name: Check out files from GitHub
|
||||
uses: actions/checkout@v4.1.1
|
||||
- name: Setting up Node.js
|
||||
uses: actions/setup-node@v4.0.1
|
||||
uses: actions/setup-node@v4.0.2
|
||||
with:
|
||||
node-version: 20
|
||||
cache: "npm"
|
||||
@ -27,7 +27,7 @@ jobs:
|
||||
- name: Check out files from GitHub
|
||||
uses: actions/checkout@v4.1.1
|
||||
- name: Setting up Node.js
|
||||
uses: actions/setup-node@v4.0.1
|
||||
uses: actions/setup-node@v4.0.2
|
||||
with:
|
||||
node-version: 20
|
||||
cache: "npm"
|
||||
|
46
CODEOWNERS
46
CODEOWNERS
@ -23,7 +23,7 @@ source/_integrations/air_quality.markdown @home-assistant/core
|
||||
source/_integrations/airly.markdown @bieniu
|
||||
source/_integrations/airnow.markdown @asymworks
|
||||
source/_integrations/airq.markdown @Sibgatulin @dl2080
|
||||
source/_integrations/airthings.markdown @danielhiversen
|
||||
source/_integrations/airthings.markdown @danielhiversen @LaStrada
|
||||
source/_integrations/airthings_ble.markdown @vincegio @LaStrada
|
||||
source/_integrations/airtouch4.markdown @samsinnamon
|
||||
source/_integrations/airtouch5.markdown @danzel
|
||||
@ -42,6 +42,7 @@ source/_integrations/ambient_station.markdown @bachya
|
||||
source/_integrations/amcrest.markdown @flacjacket
|
||||
source/_integrations/amp_motorization.markdown @starkillerOG
|
||||
source/_integrations/analytics.markdown @home-assistant/core @ludeeus
|
||||
source/_integrations/analytics_insights.markdown @joostlek
|
||||
source/_integrations/android_ip_webcam.markdown @engrbm87
|
||||
source/_integrations/androidtv.markdown @JeffLIrion @ollo69
|
||||
source/_integrations/androidtv_remote.markdown @tronikos @Drafteed
|
||||
@ -83,6 +84,7 @@ source/_integrations/azure_service_bus.markdown @hfurubotten
|
||||
source/_integrations/backup.markdown @home-assistant/core
|
||||
source/_integrations/baf.markdown @bdraco @jfroy
|
||||
source/_integrations/balboa.markdown @garbled1 @natekspencer
|
||||
source/_integrations/bang_olufsen.markdown @mj23000
|
||||
source/_integrations/bayesian.markdown @HarvsG
|
||||
source/_integrations/beewi_smartclim.markdown @alemuro
|
||||
source/_integrations/bge.markdown @tronikos
|
||||
@ -104,6 +106,7 @@ source/_integrations/bosch_shc.markdown @tschamm
|
||||
source/_integrations/brandt.markdown @imicknl @vlebourl @tetienne @nyroDev
|
||||
source/_integrations/braviatv.markdown @bieniu @Drafteed
|
||||
source/_integrations/brel_home.markdown @starkillerOG
|
||||
source/_integrations/bring.markdown @miaucl @tr4nt0r
|
||||
source/_integrations/broadlink.markdown @danielhiversen @felipediel @L-I-Am @eifinger
|
||||
source/_integrations/brother.markdown @bieniu
|
||||
source/_integrations/brottsplatskartan.markdown @gjohansson-ST
|
||||
@ -129,6 +132,7 @@ source/_integrations/climate.markdown @home-assistant/core
|
||||
source/_integrations/cloud.markdown @home-assistant/cloud
|
||||
source/_integrations/cloudflare.markdown @ludeeus @ctalkington
|
||||
source/_integrations/co2signal.markdown @jpbede @VIKTORVAV99
|
||||
source/_integrations/coautilities.markdown @tronikos
|
||||
source/_integrations/coinbase.markdown @tombrien
|
||||
source/_integrations/color_extractor.markdown @GenericStudent
|
||||
source/_integrations/comed.markdown @tronikos
|
||||
@ -194,7 +198,7 @@ source/_integrations/eastron.markdown @DCSBL
|
||||
source/_integrations/easyenergy.markdown @klaasnicolaas
|
||||
source/_integrations/ecoforest.markdown @pjanuario
|
||||
source/_integrations/econet.markdown @w1ll1am23
|
||||
source/_integrations/ecovacs.markdown @OverloadUT @mib1185
|
||||
source/_integrations/ecovacs.markdown @OverloadUT @mib1185 @edenhaus
|
||||
source/_integrations/ecowitt.markdown @pvizeli
|
||||
source/_integrations/efergy.markdown @tkdrob
|
||||
source/_integrations/egardia.markdown @jeroenterheerdt
|
||||
@ -204,6 +208,7 @@ source/_integrations/elgato.markdown @frenck
|
||||
source/_integrations/elkm1.markdown @gwww @bdraco
|
||||
source/_integrations/elmax.markdown @albertogeniola
|
||||
source/_integrations/elv.markdown @majuss
|
||||
source/_integrations/elvia.markdown @ludeeus
|
||||
source/_integrations/emby.markdown @mezz64
|
||||
source/_integrations/emoncms.markdown @borpin
|
||||
source/_integrations/emonitor.markdown @bdraco
|
||||
@ -219,6 +224,7 @@ source/_integrations/enphase_envoy.markdown @bdraco @cgarwood @dgomes @joostlek
|
||||
source/_integrations/entur_public_transport.markdown @hfurubotten
|
||||
source/_integrations/environment_canada.markdown @gwww @michaeldavie
|
||||
source/_integrations/ephember.markdown @ttroy50
|
||||
source/_integrations/epion.markdown @lhgravendeel
|
||||
source/_integrations/epson.markdown @pszafer
|
||||
source/_integrations/epsonworkforce.markdown @ThaStealth
|
||||
source/_integrations/escea.markdown @lazdavila
|
||||
@ -294,7 +300,8 @@ source/_integrations/google_sheets.markdown @tkdrob
|
||||
source/_integrations/google_tasks.markdown @allenporter
|
||||
source/_integrations/google_travel_time.markdown @eifinger
|
||||
source/_integrations/govee_ble.markdown @bdraco @PierreAronnax
|
||||
source/_integrations/gpsd.markdown @fabaff
|
||||
source/_integrations/govee_light_local.markdown @Galorhallen
|
||||
source/_integrations/gpsd.markdown @fabaff @jrieger
|
||||
source/_integrations/gree.markdown @cmroche
|
||||
source/_integrations/greeneye_monitor.markdown @jkeljo
|
||||
source/_integrations/group.markdown @home-assistant/core
|
||||
@ -316,10 +323,11 @@ source/_integrations/hikvisioncam.markdown @fbradyirl
|
||||
source/_integrations/hisense_aehw4a1.markdown @bannhead
|
||||
source/_integrations/history.markdown @home-assistant/core
|
||||
source/_integrations/hive.markdown @Rendili @KJonline
|
||||
source/_integrations/hko.markdown @MisterCommand
|
||||
source/_integrations/hlk_sw16.markdown @jameshilliard
|
||||
source/_integrations/holiday.markdown @jrieger
|
||||
source/_integrations/holiday.markdown @jrieger @gjohansson-ST
|
||||
source/_integrations/home_connect.markdown @DavidMStraub
|
||||
source/_integrations/home_plus_control.markdown @chemaaa
|
||||
source/_integrations/home_plus_control.markdown @cgtobi
|
||||
source/_integrations/homeassistant.markdown @home-assistant/core
|
||||
source/_integrations/homeassistant_alerts.markdown @home-assistant/core
|
||||
source/_integrations/homeassistant_green.markdown @home-assistant/core
|
||||
@ -403,6 +411,7 @@ source/_integrations/kostal_plenticore.markdown @stegm
|
||||
source/_integrations/kraken.markdown @eifinger
|
||||
source/_integrations/kulersky.markdown @emlove
|
||||
source/_integrations/lacrosse_view.markdown @IceBotYT
|
||||
source/_integrations/lamarzocco.markdown @zweckj
|
||||
source/_integrations/lametric.markdown @robbiet480 @frenck @bachya
|
||||
source/_integrations/landisgyr_heat_meter.markdown @vpathuis
|
||||
source/_integrations/lastfm.markdown @joostlek
|
||||
@ -411,6 +420,7 @@ source/_integrations/laundrify.markdown @xLarry
|
||||
source/_integrations/lawn_mower.markdown @home-assistant/core
|
||||
source/_integrations/lcn.markdown @alengwenus
|
||||
source/_integrations/ld2410_ble.markdown @930913
|
||||
source/_integrations/leaone.markdown @bdraco
|
||||
source/_integrations/led_ble.markdown @bdraco
|
||||
source/_integrations/legrand.markdown @cgtobi
|
||||
source/_integrations/leviton_z_wave.markdown @home-assistant/z-wave
|
||||
@ -434,8 +444,8 @@ source/_integrations/lookin.markdown @ANMalko @bdraco
|
||||
source/_integrations/loqed.markdown @mikewoudenberg
|
||||
source/_integrations/luci.markdown @mzdrale
|
||||
source/_integrations/luftdaten.markdown @fabaff @frenck
|
||||
source/_integrations/lupusec.markdown @majuss
|
||||
source/_integrations/lutron.markdown @cdheiser
|
||||
source/_integrations/lupusec.markdown @majuss @suaveolent
|
||||
source/_integrations/lutron.markdown @cdheiser @wilburCForce
|
||||
source/_integrations/lutron_caseta.markdown @swails @bdraco @danaues
|
||||
source/_integrations/luxaflex.markdown @bdraco @kingy444 @trullock
|
||||
source/_integrations/lyric.markdown @timmo001
|
||||
@ -482,9 +492,9 @@ source/_integrations/msteams.markdown @peroyvind
|
||||
source/_integrations/mullvad.markdown @meichthys
|
||||
source/_integrations/mutesync.markdown @currentoor
|
||||
source/_integrations/my.markdown @home-assistant/core
|
||||
source/_integrations/mypermobil.markdown @IsakNyberg
|
||||
source/_integrations/mysensors.markdown @MartinHjelmare @functionpointer
|
||||
source/_integrations/mystrom.markdown @fabaff
|
||||
source/_integrations/myuplink.markdown @pajzo
|
||||
source/_integrations/nam.markdown @bieniu
|
||||
source/_integrations/nanoleaf.markdown @milanmeu
|
||||
source/_integrations/neato.markdown @dshokouhi @Santobert
|
||||
@ -561,6 +571,7 @@ source/_integrations/peco.markdown @IceBotYT
|
||||
source/_integrations/peco_opower.markdown @tronikos
|
||||
source/_integrations/pegel_online.markdown @mib1185
|
||||
source/_integrations/pepco.markdown @tronikos
|
||||
source/_integrations/permobil.markdown @IsakNyberg
|
||||
source/_integrations/persistent_notification.markdown @home-assistant/core
|
||||
source/_integrations/pge.markdown @tronikos
|
||||
source/_integrations/philips_js.markdown @elupus
|
||||
@ -604,13 +615,15 @@ source/_integrations/quadrafire.markdown @jeeftor
|
||||
source/_integrations/quantum_gateway.markdown @cisasteelersfan
|
||||
source/_integrations/qvr_pro.markdown @oblogic7
|
||||
source/_integrations/qwikswitch.markdown @kellerza
|
||||
source/_integrations/rachio.markdown @bdraco
|
||||
source/_integrations/rabbitair.markdown @rabbit-air
|
||||
source/_integrations/rachio.markdown @bdraco @rfverbruggen
|
||||
source/_integrations/radarr.markdown @tkdrob
|
||||
source/_integrations/radio_browser.markdown @frenck
|
||||
source/_integrations/radiotherm.markdown @vinnyfuria
|
||||
source/_integrations/rainbird.markdown @konikvranik @allenporter
|
||||
source/_integrations/raincloud.markdown @vanstinator
|
||||
source/_integrations/rainforest_eagle.markdown @gtdiehl @jcalbert @hastarin
|
||||
source/_integrations/rainforest_raven.markdown @cottsay
|
||||
source/_integrations/rainmachine.markdown @bachya
|
||||
source/_integrations/random.markdown @fabaff
|
||||
source/_integrations/rapt_ble.markdown @sairon
|
||||
@ -639,6 +652,7 @@ source/_integrations/rituals_perfume_genie.markdown @milanmeu @frenck
|
||||
source/_integrations/rmvtransport.markdown @cgtobi
|
||||
source/_integrations/roborock.markdown @humbertogontijo @Lash-L
|
||||
source/_integrations/roku.markdown @ctalkington
|
||||
source/_integrations/romy.markdown @xeniter
|
||||
source/_integrations/roomba.markdown @pschmitt @cyr-ius @shenxn @Xitee1
|
||||
source/_integrations/roon.markdown @pavoni
|
||||
source/_integrations/rpi_power.markdown @shenxn @swetoast
|
||||
@ -759,24 +773,27 @@ source/_integrations/synology_dsm.markdown @hacf-fr @Quentame @mib1185
|
||||
source/_integrations/synology_srm.markdown @aerialls
|
||||
source/_integrations/system_bridge.markdown @timmo001
|
||||
source/_integrations/systemmonitor.markdown @gjohansson-ST
|
||||
source/_integrations/tado.markdown @michaelarnauts @chiefdragon @erwindouna
|
||||
source/_integrations/tado.markdown @chiefdragon @erwindouna
|
||||
source/_integrations/tag.markdown @balloob @dmulcahey
|
||||
source/_integrations/tailscale.markdown @frenck
|
||||
source/_integrations/tailwind.markdown @frenck
|
||||
source/_integrations/tami4.markdown @Guy293
|
||||
source/_integrations/tankerkoenig.markdown @guillempages @mib1185
|
||||
source/_integrations/tankerkoenig.markdown @guillempages @mib1185 @jpbede
|
||||
source/_integrations/tapsaff.markdown @bazwilliams
|
||||
source/_integrations/tasmota.markdown @emontnemery
|
||||
source/_integrations/tautulli.markdown @ludeeus @tkdrob
|
||||
source/_integrations/technove.markdown @Moustachauve
|
||||
source/_integrations/tedee.markdown @patrickhilker @zweckj
|
||||
source/_integrations/tellduslive.markdown @fredrike
|
||||
source/_integrations/template.markdown @PhracturedBlue @tetienne @home-assistant/core
|
||||
source/_integrations/tesla_wall_connector.markdown @einarhauks
|
||||
source/_integrations/teslemetry.markdown @Bre77
|
||||
source/_integrations/tessie.markdown @Bre77
|
||||
source/_integrations/text.markdown @home-assistant/core
|
||||
source/_integrations/tfiac.markdown @fredrike @mellado
|
||||
source/_integrations/thermobeacon.markdown @bdraco
|
||||
source/_integrations/thermoplus.markdown @bdraco
|
||||
source/_integrations/thermopro.markdown @bdraco
|
||||
source/_integrations/thermopro.markdown @bdraco @h3ss
|
||||
source/_integrations/thethingsnetwork.markdown @fabaff
|
||||
source/_integrations/thread.markdown @home-assistant/core
|
||||
source/_integrations/tibber.markdown @danielhiversen
|
||||
@ -790,9 +807,10 @@ source/_integrations/todoist.markdown @boralyl
|
||||
source/_integrations/tolo.markdown @MatthiasLohr
|
||||
source/_integrations/tomorrowio.markdown @raman325 @lymanepp
|
||||
source/_integrations/totalconnect.markdown @austinmroczek
|
||||
source/_integrations/tplink.markdown @rytilahti @thegardenmonkey @bdraco
|
||||
source/_integrations/tplink.markdown @rytilahti @thegardenmonkey @bdraco @sdb9696
|
||||
source/_integrations/tplink_omada.markdown @MarkGodwin
|
||||
source/_integrations/traccar.markdown @ludeeus
|
||||
source/_integrations/traccar_server.markdown @ludeeus
|
||||
source/_integrations/tractive.markdown @Danielhiversen @zhulik @bieniu
|
||||
source/_integrations/trafikverket_camera.markdown @gjohansson-ST
|
||||
source/_integrations/trafikverket_ferry.markdown @gjohansson-ST
|
||||
@ -899,6 +917,6 @@ source/_integrations/zeversolar.markdown @kvanzuijlen
|
||||
source/_integrations/zha.markdown @dmulcahey @adminiuga @puddly @TheJulianJES
|
||||
source/_integrations/zodiac.markdown @JulienTant
|
||||
source/_integrations/zone.markdown @home-assistant/core
|
||||
source/_integrations/zoneminder.markdown @rohankapoorcom
|
||||
source/_integrations/zoneminder.markdown @rohankapoorcom @nabbi
|
||||
source/_integrations/zwave_js.markdown @home-assistant/z-wave
|
||||
source/_integrations/zwave_me.markdown @lawfulchaos @Z-Wave-Me @PoltoS
|
||||
|
4
Gemfile
4
Gemfile
@ -11,7 +11,7 @@ group :development do
|
||||
# > 2.1.0 causes slowdowns https://github.com/sass/sassc-ruby/issues/189
|
||||
gem 'sassc', '2.1.0'
|
||||
gem 'rubocop', '1.60.2'
|
||||
gem 'ruby-lsp', '0.13.4'
|
||||
gem 'ruby-lsp', '0.14.1'
|
||||
gem 'rackup', '2.1.0'
|
||||
end
|
||||
|
||||
@ -23,7 +23,7 @@ group :jekyll_plugins do
|
||||
end
|
||||
|
||||
gem 'sinatra', '4.0.0'
|
||||
gem 'nokogiri', '1.16.0'
|
||||
gem 'nokogiri', '1.16.2'
|
||||
|
||||
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
|
||||
# and associated library
|
||||
|
22
Gemfile.lock
22
Gemfile.lock
@ -27,7 +27,7 @@ GEM
|
||||
eventmachine (1.2.7)
|
||||
ffi (1.16.3)
|
||||
forwardable-extended (2.6.0)
|
||||
google-protobuf (3.25.2-x86_64-linux)
|
||||
google-protobuf (3.25.3-x86_64-linux)
|
||||
http_parser.rb (0.8.0)
|
||||
i18n (1.14.1)
|
||||
concurrent-ruby (~> 1.0)
|
||||
@ -73,7 +73,7 @@ GEM
|
||||
multi_json (1.15.0)
|
||||
mustermann (3.0.0)
|
||||
ruby2_keywords (~> 0.0.1)
|
||||
nokogiri (1.16.0-x86_64-linux)
|
||||
nokogiri (1.16.2-x86_64-linux)
|
||||
racc (~> 1.4)
|
||||
parallel (1.24.0)
|
||||
parser (3.3.0.5)
|
||||
@ -81,10 +81,10 @@ GEM
|
||||
racc
|
||||
pathutil (0.16.2)
|
||||
forwardable-extended (~> 2.6)
|
||||
prism (0.19.0)
|
||||
prism (0.24.0)
|
||||
public_suffix (5.0.4)
|
||||
racc (1.7.3)
|
||||
rack (3.0.8)
|
||||
rack (3.0.9)
|
||||
rack-protection (4.0.0)
|
||||
base64 (>= 0.1.0)
|
||||
rack (>= 3.0.0, < 4)
|
||||
@ -114,15 +114,15 @@ GEM
|
||||
unicode-display_width (>= 2.4.0, < 3.0)
|
||||
rubocop-ast (1.30.0)
|
||||
parser (>= 3.2.1.0)
|
||||
ruby-lsp (0.13.4)
|
||||
ruby-lsp (0.14.1)
|
||||
language_server-protocol (~> 3.17.0)
|
||||
prism (>= 0.19.0, < 0.20)
|
||||
prism (>= 0.22.0, < 0.25)
|
||||
sorbet-runtime (>= 0.5.10782)
|
||||
ruby-progressbar (1.13.0)
|
||||
ruby2_keywords (0.0.5)
|
||||
safe_yaml (1.0.5)
|
||||
sass (3.4.25)
|
||||
sass-embedded (1.70.0-x86_64-linux-gnu)
|
||||
sass-embedded (1.71.0-x86_64-linux-gnu)
|
||||
google-protobuf (~> 3.25)
|
||||
sass-globbing (1.1.5)
|
||||
sass (>= 3.1)
|
||||
@ -134,14 +134,14 @@ GEM
|
||||
rack-protection (= 4.0.0)
|
||||
rack-session (>= 2.0.0, < 3)
|
||||
tilt (~> 2.0)
|
||||
sorbet-runtime (0.5.11222)
|
||||
sorbet-runtime (0.5.11262)
|
||||
stringex (2.8.6)
|
||||
terminal-table (3.0.2)
|
||||
unicode-display_width (>= 1.1.1, < 3)
|
||||
tilt (2.3.0)
|
||||
tzinfo (2.0.6)
|
||||
concurrent-ruby (~> 1.0)
|
||||
tzinfo-data (1.2023.4)
|
||||
tzinfo-data (1.2024.1)
|
||||
tzinfo (>= 1.0.0)
|
||||
unicode-display_width (2.5.0)
|
||||
webrick (1.8.1)
|
||||
@ -156,11 +156,11 @@ DEPENDENCIES
|
||||
jekyll-paginate (= 1.1.0)
|
||||
jekyll-sitemap (= 1.4.0)
|
||||
jekyll-toc (= 0.18.0)
|
||||
nokogiri (= 1.16.0)
|
||||
nokogiri (= 1.16.2)
|
||||
rackup (= 2.1.0)
|
||||
rake (= 13.1.0)
|
||||
rubocop (= 1.60.2)
|
||||
ruby-lsp (= 0.13.4)
|
||||
ruby-lsp (= 0.14.1)
|
||||
sass-globbing (= 1.1.5)
|
||||
sassc (= 2.1.0)
|
||||
sinatra (= 4.0.0)
|
||||
|
@ -109,9 +109,9 @@ social:
|
||||
|
||||
# Home Assistant release details
|
||||
current_major_version: 2024
|
||||
current_minor_version: 1
|
||||
current_patch_version: 6
|
||||
date_released: 2024-01-30
|
||||
current_minor_version: 2
|
||||
current_patch_version: 2
|
||||
date_released: 2024-02-16
|
||||
|
||||
# Either # or the anchor link to latest release notes in the blog post.
|
||||
# Must be prefixed with a # and have double quotes around it.
|
||||
|
247
package-lock.json
generated
247
package-lock.json
generated
@ -20,7 +20,7 @@
|
||||
"remark-lint-prohibited-strings": "^3.1.0",
|
||||
"remark-lint-unordered-list-marker-style": "^3.1.2",
|
||||
"remark-stringify": "^11.0.0",
|
||||
"textlint": "^13.4.1",
|
||||
"textlint": "^14.0.3",
|
||||
"textlint-filter-rule-comments": "^1.2.2",
|
||||
"textlint-rule-common-misspellings": "^1.0.1",
|
||||
"textlint-rule-terminology": "^4.0.1"
|
||||
@ -416,57 +416,68 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@textlint/ast-tester": {
|
||||
"version": "13.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-13.4.1.tgz",
|
||||
"integrity": "sha512-YSHUR1qDgMPGF5+nvrquEhif6zRJ667xUnfP/9rTNtThIhoTQINvczr5/7xa43F1PDWplL6Curw+2jrE1qHwGQ==",
|
||||
"version": "14.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-14.0.3.tgz",
|
||||
"integrity": "sha512-TNArbA0a/9nxJadZDsnfV6I4kB6C+Vb6BmFbDxBglS/NWtFqI9SYPV2tRhGBnTHFyTl5bgyzrAyb2FNSxbrSuQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@textlint/ast-node-types": "^13.4.1",
|
||||
"@textlint/ast-node-types": "^14.0.3",
|
||||
"debug": "^4.3.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@textlint/ast-tester/node_modules/@textlint/ast-node-types": {
|
||||
"version": "14.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.0.3.tgz",
|
||||
"integrity": "sha512-umIMn3yy2arl9QHH2fEhCxVgbLbQFC8NpzYbAzOQ4Y5m+p0RQaKClHtHXnDqsXHp6WKAVAXxcuFolW2SZMnhDQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@textlint/ast-traverse": {
|
||||
"version": "13.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-13.4.1.tgz",
|
||||
"integrity": "sha512-uucuC7+NHWkXx2TX5vuyreuHeb+GFiA83V65I+FnYP5EC4dAMOQ86rTSPrZmCwLz+qIWgfDgihGzPccpj3EZGg==",
|
||||
"version": "14.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-14.0.3.tgz",
|
||||
"integrity": "sha512-rZ0PwLWuLlAOkDp/9wGsHa1jZMjNdJ3CpZMPTNnqEppaxb3o4OKFbjt2Hh87E215B84Cz8KaeKFT/QEn+YiRjA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@textlint/ast-node-types": "^13.4.1"
|
||||
"@textlint/ast-node-types": "^14.0.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@textlint/ast-traverse/node_modules/@textlint/ast-node-types": {
|
||||
"version": "14.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.0.3.tgz",
|
||||
"integrity": "sha512-umIMn3yy2arl9QHH2fEhCxVgbLbQFC8NpzYbAzOQ4Y5m+p0RQaKClHtHXnDqsXHp6WKAVAXxcuFolW2SZMnhDQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@textlint/config-loader": {
|
||||
"version": "13.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/config-loader/-/config-loader-13.4.1.tgz",
|
||||
"integrity": "sha512-ggh6her5PdgcEsvgm3FfCY2+r7IhoQoBTGYxM+IbfkwyVoSoQ2CrXbCVlQkpLPFzhHVbIwgNxkiMr1o2npwfJQ==",
|
||||
"version": "14.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/config-loader/-/config-loader-14.0.3.tgz",
|
||||
"integrity": "sha512-uUDVKEkIcq7VDljM6RWIpz76TvHQfOjXh+CFgZ/oVScSsPuvqR3TeBRLm8tgyho4MKmdTtHrhmuZj5DQrTOxig==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@textlint/kernel": "^13.4.1",
|
||||
"@textlint/module-interop": "^13.4.1",
|
||||
"@textlint/types": "^13.4.1",
|
||||
"@textlint/utils": "^13.4.1",
|
||||
"@textlint/kernel": "^14.0.3",
|
||||
"@textlint/module-interop": "^14.0.3",
|
||||
"@textlint/types": "^14.0.3",
|
||||
"@textlint/utils": "^14.0.3",
|
||||
"debug": "^4.3.4",
|
||||
"rc-config-loader": "^4.1.3",
|
||||
"try-resolve": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@textlint/feature-flag": {
|
||||
"version": "13.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-13.4.1.tgz",
|
||||
"integrity": "sha512-qY8gKUf30XtzWMTkwYeKytCo6KPx6milpz8YZhuRsEPjT/5iNdakJp5USWDQWDrwbQf7RbRncQdU+LX5JbM9YA==",
|
||||
"version": "14.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-14.0.3.tgz",
|
||||
"integrity": "sha512-qDQr8qA3glb6WF0cgmhG2OST5zTY5ft6OJ/J6smDoKse/1cnPlFwbvDLvrlxwnmWDyujvqb3p9Kw7GDToTIxYg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@textlint/fixer-formatter": {
|
||||
"version": "13.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-13.4.1.tgz",
|
||||
"integrity": "sha512-P195Soyxmzv7S5QyCJIjuDXl5t3EyOhYwxR4ukKBZ7bw5hp/P1+e4GEhzqrXWx3z7h0nZZ0TuTjepNxOMo6cAQ==",
|
||||
"version": "14.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-14.0.3.tgz",
|
||||
"integrity": "sha512-Uk8CYLRye7KglYa1y8kW1BikA7kJ6bn9xK6FX93iwcL5yz9vOUUHYz9IINcOdg1NYfST4KaDbnBNKGfeQqr52Q==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@textlint/module-interop": "^13.4.1",
|
||||
"@textlint/types": "^13.4.1",
|
||||
"@textlint/module-interop": "^14.0.3",
|
||||
"@textlint/types": "^14.0.3",
|
||||
"chalk": "^4.1.2",
|
||||
"debug": "^4.3.4",
|
||||
"diff": "^4.0.2",
|
||||
"is-file": "^1.0.0",
|
||||
"diff": "^5.1.0",
|
||||
"string-width": "^4.2.3",
|
||||
"strip-ansi": "^6.0.1",
|
||||
"text-table": "^0.2.0",
|
||||
@ -474,33 +485,39 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@textlint/kernel": {
|
||||
"version": "13.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/kernel/-/kernel-13.4.1.tgz",
|
||||
"integrity": "sha512-r2sUhjPysFjl2Ax37x9AfWkJM8jgKN0bL4SX3xRzOukdcj69Dst5On5qBZtULaVMX1LDkwkdxA6ZEADmq27qQA==",
|
||||
"version": "14.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/kernel/-/kernel-14.0.3.tgz",
|
||||
"integrity": "sha512-RRyY7oL6CD5JwD3cgl8KvSd80rbnJKSUXTsn2ZAtLAjqJR+io0tVZLkQwij7diXaMjCnoJQfmnbIJf8C29/G5Q==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@textlint/ast-node-types": "^13.4.1",
|
||||
"@textlint/ast-tester": "^13.4.1",
|
||||
"@textlint/ast-traverse": "^13.4.1",
|
||||
"@textlint/feature-flag": "^13.4.1",
|
||||
"@textlint/source-code-fixer": "^13.4.1",
|
||||
"@textlint/types": "^13.4.1",
|
||||
"@textlint/utils": "^13.4.1",
|
||||
"@textlint/ast-node-types": "^14.0.3",
|
||||
"@textlint/ast-tester": "^14.0.3",
|
||||
"@textlint/ast-traverse": "^14.0.3",
|
||||
"@textlint/feature-flag": "^14.0.3",
|
||||
"@textlint/source-code-fixer": "^14.0.3",
|
||||
"@textlint/types": "^14.0.3",
|
||||
"@textlint/utils": "^14.0.3",
|
||||
"debug": "^4.3.4",
|
||||
"fast-equals": "^4.0.3",
|
||||
"structured-source": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@textlint/kernel/node_modules/@textlint/ast-node-types": {
|
||||
"version": "14.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.0.3.tgz",
|
||||
"integrity": "sha512-umIMn3yy2arl9QHH2fEhCxVgbLbQFC8NpzYbAzOQ4Y5m+p0RQaKClHtHXnDqsXHp6WKAVAXxcuFolW2SZMnhDQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@textlint/linter-formatter": {
|
||||
"version": "13.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-13.4.1.tgz",
|
||||
"integrity": "sha512-VDLnyHRO9hf6CGxMJLM5oi7NH9s0mqiWxtgi95nuXmJZWbQLZVfcxkD1Cp16pwk8zTvlbyMZFqamFCYZyD9Sww==",
|
||||
"version": "14.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-14.0.3.tgz",
|
||||
"integrity": "sha512-CSwrE7LH/0KeQPP6/Nar5sakI+c1ToaYc14MwjWKCljK9RqkZCBFZqEWdy7LhXeIL5Pwf2BhsdGOImx14NpyHw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@azu/format-text": "^1.0.2",
|
||||
"@azu/style-format": "^1.0.1",
|
||||
"@textlint/module-interop": "^13.4.1",
|
||||
"@textlint/types": "^13.4.1",
|
||||
"@textlint/module-interop": "^14.0.3",
|
||||
"@textlint/types": "^14.0.3",
|
||||
"chalk": "^4.1.2",
|
||||
"debug": "^4.3.4",
|
||||
"js-yaml": "^3.14.1",
|
||||
@ -514,22 +531,28 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@textlint/markdown-to-ast": {
|
||||
"version": "13.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-13.4.1.tgz",
|
||||
"integrity": "sha512-jUa5bTNmxjEgfCXW4xfn7eSJqzUXyNKiIDWLKtI4MUKRNhT3adEaa/NuQl0Mii3Hu3HraZR7hYhRHLh+eeM43w==",
|
||||
"version": "14.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-14.0.3.tgz",
|
||||
"integrity": "sha512-+CkWt9a9pd1+Rl37dqiiEGQ2f2faLX/vd7qiV+OTfkKUyHQ0HkOLK7sfbPpTx5ee5+5fKVMTStTTHrFZz5mlBw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@textlint/ast-node-types": "^13.4.1",
|
||||
"@textlint/ast-node-types": "^14.0.3",
|
||||
"debug": "^4.3.4",
|
||||
"mdast-util-gfm-autolink-literal": "^0.1.3",
|
||||
"remark-footnotes": "^3.0.0",
|
||||
"remark-frontmatter": "^3.0.0",
|
||||
"remark-gfm": "^1.0.0",
|
||||
"remark-parse": "^9.0.0",
|
||||
"traverse": "^0.6.7",
|
||||
"traverse": "^0.6.8",
|
||||
"unified": "^9.2.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@textlint/markdown-to-ast/node_modules/@textlint/ast-node-types": {
|
||||
"version": "14.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.0.3.tgz",
|
||||
"integrity": "sha512-umIMn3yy2arl9QHH2fEhCxVgbLbQFC8NpzYbAzOQ4Y5m+p0RQaKClHtHXnDqsXHp6WKAVAXxcuFolW2SZMnhDQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@textlint/markdown-to-ast/node_modules/bail": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz",
|
||||
@ -757,61 +780,73 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@textlint/module-interop": {
|
||||
"version": "13.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-13.4.1.tgz",
|
||||
"integrity": "sha512-keM5zHwyifijEDqEvAFhhXHC5UbmZjfGytRJzPPJaW3C3UsGbIzDCnfOSE9jUVTWZcngHuSJ7aKGv42Rhy9nEg==",
|
||||
"version": "14.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-14.0.3.tgz",
|
||||
"integrity": "sha512-76K6y4wNCZH3+BGziJm6iGPbKsBtb214332EgdXDMNsYah51LPT9YrXuOI1ROyxvfVoztJMH0MDZdtdY/t7cig==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@textlint/source-code-fixer": {
|
||||
"version": "13.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-13.4.1.tgz",
|
||||
"integrity": "sha512-Sl29f3Tpimp0uVE3ysyJBjxaFTVYLOXiJX14eWCQ/kC5ZhIXGosEbStzkP1n8Urso1rs1W4p/2UemVAm3NH2ng==",
|
||||
"version": "14.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-14.0.3.tgz",
|
||||
"integrity": "sha512-/htnQzs+8qMIiZWQEpFF4+PgxDhi6flP+qIdoL8l5Q/jbIIZbGgOz9pdEFwnwOur/ddqFfuOKy5GtwZDoF+gOg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@textlint/types": "^13.4.1",
|
||||
"@textlint/types": "^14.0.3",
|
||||
"debug": "^4.3.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@textlint/text-to-ast": {
|
||||
"version": "13.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-13.4.1.tgz",
|
||||
"integrity": "sha512-vCA7uMmbjRv06sEHPbwxTV5iS8OQedC5s7qwmXnWAn2LLWxg4Yp98mONPS1o4D5cPomzYyKNCSfbLwu6yJBUQA==",
|
||||
"version": "14.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-14.0.3.tgz",
|
||||
"integrity": "sha512-NrlZQ5RO3O6aSqDMzLzGWhKP5Rx2UlbGulVgO2sQ+59837+32cHjzrV+J1nBVVcsfsv+GOFperfo5C/Rn+F7SA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@textlint/ast-node-types": "^13.4.1"
|
||||
"@textlint/ast-node-types": "^14.0.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@textlint/text-to-ast/node_modules/@textlint/ast-node-types": {
|
||||
"version": "14.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.0.3.tgz",
|
||||
"integrity": "sha512-umIMn3yy2arl9QHH2fEhCxVgbLbQFC8NpzYbAzOQ4Y5m+p0RQaKClHtHXnDqsXHp6WKAVAXxcuFolW2SZMnhDQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@textlint/textlint-plugin-markdown": {
|
||||
"version": "13.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-13.4.1.tgz",
|
||||
"integrity": "sha512-OcLkFKYmbYeGJ0kj2487qcicCYTiE2vJLwfPcUDJrNoMYak5JtvHJfWffck8gON2mEM00DPkHH0UdxZpFjDfeg==",
|
||||
"version": "14.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-14.0.3.tgz",
|
||||
"integrity": "sha512-1zwiwmayFRIElGdeCUXCJjlP+mpZDCCtcsNqB+07i/xi3UlSFM3NGRUzJ5CYQbjJ7Nrb3kmA5FKxB7xTMdZH4w==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@textlint/markdown-to-ast": "^13.4.1"
|
||||
"@textlint/markdown-to-ast": "^14.0.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@textlint/textlint-plugin-text": {
|
||||
"version": "13.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-13.4.1.tgz",
|
||||
"integrity": "sha512-z0p5B8WUfTCIRmhjVHFfJv719oIElDDKWOIZei4CyYkfMGo0kq8fkrYBkUR6VZ6gofHwc+mwmIABdUf1rDHzYA==",
|
||||
"version": "14.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-14.0.3.tgz",
|
||||
"integrity": "sha512-dDRkNAoOH/HHxpC5Ghn89L90Ax5GQ4CIwCiV91qmjYUaCH710wkqRppBCEIHnS+1E/5wq1ukhTbGJjvxe7rP4w==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@textlint/text-to-ast": "^13.4.1"
|
||||
"@textlint/text-to-ast": "^14.0.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@textlint/types": {
|
||||
"version": "13.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/types/-/types-13.4.1.tgz",
|
||||
"integrity": "sha512-1ApwQa31sFmiJeJ5yTNFqjbb2D1ICZvIDW0tFSM0OtmQCSDFNcKD3YrrwDBgSokZ6gWQq/FpNjlhi6iETUWt0Q==",
|
||||
"version": "14.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/types/-/types-14.0.3.tgz",
|
||||
"integrity": "sha512-Ft08kK3BNxbuRYb0BOEjSr9CkJyHIYBiUfWvaNcqhXESQLhplb5EfynkXw0uAerzhx9CxkdC2FcOFU+HIcuYRg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@textlint/ast-node-types": "^13.4.1"
|
||||
"@textlint/ast-node-types": "^14.0.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@textlint/types/node_modules/@textlint/ast-node-types": {
|
||||
"version": "14.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.0.3.tgz",
|
||||
"integrity": "sha512-umIMn3yy2arl9QHH2fEhCxVgbLbQFC8NpzYbAzOQ4Y5m+p0RQaKClHtHXnDqsXHp6WKAVAXxcuFolW2SZMnhDQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@textlint/utils": {
|
||||
"version": "13.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/utils/-/utils-13.4.1.tgz",
|
||||
"integrity": "sha512-wX8RT1ejHAPTDmqlzngf0zI5kYoe3QvGDcj+skoTxSv+m/wOs/NyEr92d+ahCP32YqFYzXlqU7aDx2FkULKT+g==",
|
||||
"version": "14.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/utils/-/utils-14.0.3.tgz",
|
||||
"integrity": "sha512-Rt7KFrqPpLmpTz3ftTbA8A4kUABwW8CuvgbAAOL/XYpejnQeGPmVfVF3b3AvDtD5jYjp4rPkXHGHDPJTj+lYwA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/concat-stream": {
|
||||
@ -1284,9 +1319,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/diff": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
|
||||
"integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz",
|
||||
"integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.3.1"
|
||||
@ -1685,12 +1720,6 @@
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/is-file": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-file/-/is-file-1.0.0.tgz",
|
||||
"integrity": "sha512-ZGMuc+xA8mRnrXtmtf2l/EkIW2zaD2LSBWlaOVEF6yH4RTndHob65V4SwWWdtGKVthQfXPVKsXqw4TDUjbVxVQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/is-fullwidth-code-point": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
|
||||
@ -5925,23 +5954,23 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/textlint": {
|
||||
"version": "13.4.1",
|
||||
"resolved": "https://registry.npmjs.org/textlint/-/textlint-13.4.1.tgz",
|
||||
"integrity": "sha512-ev6XkQEUMWcW90hTHJKlvt23ca1AtmmK2iw4mazqKnSVz8PTSMg45NB68ht3ev92lIPD+8Wt4D6JxCInZkh4GQ==",
|
||||
"version": "14.0.3",
|
||||
"resolved": "https://registry.npmjs.org/textlint/-/textlint-14.0.3.tgz",
|
||||
"integrity": "sha512-AqEG9OcGBSw4KHss55ZrBv75uWeruqTHfix3koQHwqnazRw3eAkFQwQ+NLpzMut+rIBWUUikUzuBN/SOG+obEw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@textlint/ast-node-types": "^13.4.1",
|
||||
"@textlint/ast-traverse": "^13.4.1",
|
||||
"@textlint/config-loader": "^13.4.1",
|
||||
"@textlint/feature-flag": "^13.4.1",
|
||||
"@textlint/fixer-formatter": "^13.4.1",
|
||||
"@textlint/kernel": "^13.4.1",
|
||||
"@textlint/linter-formatter": "^13.4.1",
|
||||
"@textlint/module-interop": "^13.4.1",
|
||||
"@textlint/textlint-plugin-markdown": "^13.4.1",
|
||||
"@textlint/textlint-plugin-text": "^13.4.1",
|
||||
"@textlint/types": "^13.4.1",
|
||||
"@textlint/utils": "^13.4.1",
|
||||
"@textlint/ast-node-types": "^14.0.3",
|
||||
"@textlint/ast-traverse": "^14.0.3",
|
||||
"@textlint/config-loader": "^14.0.3",
|
||||
"@textlint/feature-flag": "^14.0.3",
|
||||
"@textlint/fixer-formatter": "^14.0.3",
|
||||
"@textlint/kernel": "^14.0.3",
|
||||
"@textlint/linter-formatter": "^14.0.3",
|
||||
"@textlint/module-interop": "^14.0.3",
|
||||
"@textlint/textlint-plugin-markdown": "^14.0.3",
|
||||
"@textlint/textlint-plugin-text": "^14.0.3",
|
||||
"@textlint/types": "^14.0.3",
|
||||
"@textlint/utils": "^14.0.3",
|
||||
"debug": "^4.3.4",
|
||||
"file-entry-cache": "^5.0.1",
|
||||
"get-stdin": "^5.0.1",
|
||||
@ -5961,7 +5990,7 @@
|
||||
"textlint": "bin/textlint.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.0.0"
|
||||
"node": ">=18.14.0"
|
||||
}
|
||||
},
|
||||
"node_modules/textlint-filter-rule-comments": {
|
||||
@ -6066,6 +6095,12 @@
|
||||
"url": "https://opencollective.com/unified"
|
||||
}
|
||||
},
|
||||
"node_modules/textlint/node_modules/@textlint/ast-node-types": {
|
||||
"version": "14.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.0.3.tgz",
|
||||
"integrity": "sha512-umIMn3yy2arl9QHH2fEhCxVgbLbQFC8NpzYbAzOQ4Y5m+p0RQaKClHtHXnDqsXHp6WKAVAXxcuFolW2SZMnhDQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/to-regex-range": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
||||
@ -6079,10 +6114,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/traverse": {
|
||||
"version": "0.6.7",
|
||||
"resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz",
|
||||
"integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==",
|
||||
"version": "0.6.8",
|
||||
"resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.8.tgz",
|
||||
"integrity": "sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
@ -6604,15 +6642,6 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/uvu/node_modules/diff": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz",
|
||||
"integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.3.1"
|
||||
}
|
||||
},
|
||||
"node_modules/validate-npm-package-license": {
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
|
||||
|
@ -15,7 +15,7 @@
|
||||
"remark-lint-prohibited-strings": "^3.1.0",
|
||||
"remark-lint-unordered-list-marker-style": "^3.1.2",
|
||||
"remark-stringify": "^11.0.0",
|
||||
"textlint": "^13.4.1",
|
||||
"textlint": "^14.0.3",
|
||||
"textlint-filter-rule-comments": "^1.2.2",
|
||||
"textlint-rule-common-misspellings": "^1.0.1",
|
||||
"textlint-rule-terminology": "^4.0.1"
|
||||
|
@ -72,12 +72,12 @@ module Jekyll
|
||||
if attr['type'].kind_of? Array
|
||||
attr['type'].each do |type|
|
||||
raise ArgumentError, "Configuration type '#{type}' for key '#{key}' is not a valid type in the documentation."\
|
||||
" See: https://developers.home-assistant.io/docs/en/documentation_create_page.html#configuration" unless \
|
||||
" See: https://developers.home-assistant.io/docs/documenting/create-page#configuration" unless \
|
||||
TYPES.include? type
|
||||
end
|
||||
else
|
||||
raise ArgumentError, "Configuration type '#{attr['type']}' for key '#{key}' is not a valid type in the documentation."\
|
||||
" See: https://developers.home-assistant.io/docs/en/documentation_create_page.html#configuration" unless \
|
||||
" See: https://developers.home-assistant.io/docs/documenting/create-page#configuration" unless \
|
||||
TYPES.include? attr['type']
|
||||
end
|
||||
|
||||
|
@ -9,6 +9,8 @@
|
||||
}
|
||||
|
||||
.terminology-tooltip {
|
||||
--horizontal-move: 0px;
|
||||
|
||||
visibility: hidden;
|
||||
width: 250px;
|
||||
background-color: $primary-color;
|
||||
@ -24,7 +26,7 @@
|
||||
z-index: 1;
|
||||
|
||||
bottom: 100%;
|
||||
left: 50%;
|
||||
left: calc(50% + var(--horizontal-move));
|
||||
margin-left: -125px;
|
||||
|
||||
a {
|
||||
@ -32,15 +34,36 @@
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
&:after {
|
||||
@mixin arrow {
|
||||
content: " ";
|
||||
position: absolute;
|
||||
top: 100%;
|
||||
left: 50%;
|
||||
left: calc(50% - var(--horizontal-move));
|
||||
margin-left: -5px;
|
||||
border-width: 5px;
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
&:after {
|
||||
@include arrow;
|
||||
|
||||
top: 100%;
|
||||
border-color: $primary-color transparent transparent transparent;
|
||||
}
|
||||
|
||||
&.below {
|
||||
bottom: auto;
|
||||
top: 1lh;
|
||||
|
||||
&:before {
|
||||
@include arrow;
|
||||
|
||||
top: -10px;
|
||||
border-color: transparent transparent $primary-color transparent;
|
||||
}
|
||||
|
||||
&:after {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -70,7 +70,7 @@ square: false
|
||||
cards:
|
||||
- type: picture-entity
|
||||
entity: group.all_lights
|
||||
image: /local/house.png
|
||||
image: /local/house.png
|
||||
- type: horizontal-stack
|
||||
cards:
|
||||
- type: picture-entity
|
||||
|
@ -17,7 +17,7 @@ Screenshot of the statistics graph card with none metered entities and `chart_ty
|
||||
Screenshot of the statistics graph card with a metered entity and `chart_type` `bar`.
|
||||
</p>
|
||||
|
||||
Statistics are gathered every 5 minutes for sensors that support it. It will either keep the <abbr title="Minimum">`min`</abbr>, <abbr title="Maximum">`max`</abbr>, and <abbr title="Average">`mean`</abbr> of a sensor's value for a specific hour or the <abbr title="Total">`sum`</abbr> for a metered entity.
|
||||
Statistics are gathered every 5 minutes and also hourly for sensors that support it. The 5-minute statistics will be retained for the duration set in the [recorder configuration](/integrations/recorder/#purge_keep_days), and hourly statistics will be retained indefinitely. It will either keep the <abbr title="Minimum">`min`</abbr>, <abbr title="Maximum">`max`</abbr>, and <abbr title="Average">`mean`</abbr> of a sensor's value for a specific hour or the <abbr title="Total">`sum`</abbr> for a metered entity.
|
||||
|
||||
If your sensor doesn't work with statistics, check [this](/more-info/statistics/).
|
||||
|
||||
|
@ -42,7 +42,7 @@ You can:
|
||||
|
||||
<div class="note">
|
||||
|
||||
Unused refresh tokens will be automatically removed. A refresh token is considered unused if it has not been used for a login within 90 days. If you need a permanent token, then we recommend using [Long Lived Access Tokens](/docs/auth_api/#long-lived-access-token).
|
||||
Unused refresh tokens will be automatically removed. A refresh token is considered unused if it has not been used for a login within 90 days. If you need a permanent token, then we recommend using [Long Lived Access Tokens](https://developers.home-assistant.io/docs/auth_api/#long-lived-access-token).
|
||||
|
||||
</div>
|
||||
|
||||
@ -106,7 +106,3 @@ This will allow you to open Home Assistant at `http://homeassistant.home:8123/`
|
||||
### Stuck on loading data
|
||||
|
||||
Some ad blocking software, such as Wipr, also blocks WebSockets. If you're stuck on the Loading data screen, try disabling your ad blocker.
|
||||
|
||||
### Migrating from pre 0.77
|
||||
|
||||
If you were using the authentication system before 0.77, you'd likely have `auth:` and `auth_providers:` defined. You'll need to remove these and let Home Assistant [handle it automatically](/docs/authentication/providers/#configuring-auth-providers).
|
||||
|
@ -43,6 +43,7 @@ The following selectors are currently available:
|
||||
- [Number selector](#number-selector)
|
||||
- [Example number selectors](#example-number-selectors)
|
||||
- [Object selector](#object-selector)
|
||||
- [QR code selector](#qr-code-selector)
|
||||
- [RGB color selector](#rgb-color-selector)
|
||||
- [Select selector](#select-selector)
|
||||
- [State selector](#state-selector)
|
||||
@ -417,20 +418,6 @@ language:
|
||||
|
||||
The output of this selector is the ID of the conversation agent.
|
||||
|
||||
## Date selector
|
||||
|
||||
The date selector shows a date input that allows the user to specify a date.
|
||||
|
||||

|
||||
|
||||
This selector does not have any other options; therefore, it only has its key.
|
||||
|
||||
```yaml
|
||||
date:
|
||||
```
|
||||
|
||||
The output of this selector will contain the date in Year-Month-Day
|
||||
(`YYYY-MM-DD`) format, for example, `2022-02-22`.
|
||||
|
||||
## Country selector
|
||||
|
||||
@ -458,6 +445,21 @@ no_sort:
|
||||
|
||||
The output of this selector is an ISO 3166 country code.
|
||||
|
||||
## Date selector
|
||||
|
||||
The date selector shows a date input that allows the user to specify a date.
|
||||
|
||||

|
||||
|
||||
This selector does not have any other options; therefore, it only has its key.
|
||||
|
||||
```yaml
|
||||
date:
|
||||
```
|
||||
|
||||
The output of this selector will contain the date in Year-Month-Day
|
||||
(`YYYY-MM-DD`) format, for example, `2022-02-22`.
|
||||
|
||||
## Date & time selector
|
||||
|
||||
The date selector shows a date and time input that allows the user to specify a
|
||||
@ -948,6 +950,39 @@ object:
|
||||
|
||||
The output of this selector is a YAML object.
|
||||
|
||||
## QR code selector
|
||||
|
||||
The QR code selector shows a QR code. It has no return value.
|
||||
|
||||

|
||||
|
||||
The QR code's data must be configured, and optionally, the scale, and error correction level can be set.
|
||||
The scale makes the QR code bigger or smaller.
|
||||
|
||||
{% configuration qr_code %}
|
||||
data:
|
||||
description: The data that should be represented in the QR code.
|
||||
type: any
|
||||
required: true
|
||||
scale:
|
||||
description: The scale factor to use, this will make the QR code bigger or smaller.
|
||||
type: integer
|
||||
required: false
|
||||
default: 4
|
||||
error_correction_level:
|
||||
description: The error correction level of the QR code, with a higher error correction level the QR code can be scanned even when some pieces are missing. Can be "low", "medium", "quartile" or "high".
|
||||
type: string
|
||||
required: false
|
||||
default: medium
|
||||
{% endconfiguration %}
|
||||
|
||||
```yaml
|
||||
qr_code:
|
||||
data: "https://home-assistant.io"
|
||||
scale: 5
|
||||
error_correction_level: quartile
|
||||
```
|
||||
|
||||
## RGB color selector
|
||||
|
||||
The RGB color selector allows the user to select an color from a color picker
|
||||
@ -1324,4 +1359,4 @@ The output of this selector is a list of triggers. For example:
|
||||
- platform: numeric_state
|
||||
entity_id: "sensor.outside_temperature"
|
||||
below: 20
|
||||
```
|
||||
```
|
@ -41,8 +41,8 @@ When an attribute contains spaces, you can retrieve it like this: `state_attr('s
|
||||
|
||||
Context is used to tie {% term events %} and {% term states %} together in Home Assistant. Whenever an {% term automation %} or user interaction causes states to change, a new context is assigned. This context will be attached to all events and states that happen as result of the change.
|
||||
|
||||
| Field | Description |
|
||||
| ----- | ------------------------------------------------------------------- |
|
||||
| context_id | Unique identifier for the context. |
|
||||
| user_id | Unique identifier of the user that started the change. Will be `None` if action was not started by a user (ie. started by an automation) |
|
||||
| parent_id | Unique identifier of the parent context that started the change, if available. For example, if an automation is triggered, the context of the trigger will be set as parent. |
|
||||
| Field | Description |
|
||||
| ------------ | ------------------------------------------------------------------- |
|
||||
| `context_id` | Unique identifier for the context. |
|
||||
| `user_id` | Unique identifier of the user that started the change. Will be `None` if the action was not started by a user (for example, started by an automation). |
|
||||
| `parent_id` | Unique identifier of the parent context that started the change, if available. For example, if an automation is triggered, the context of the trigger will be set as parent. |
|
||||
|
@ -13,7 +13,7 @@
|
||||
<li>{% active_link /installation Installation %}</li>
|
||||
<li>{% active_link /common-tasks/os/ Common tasks %}</li>
|
||||
<li>
|
||||
{% active_link /docs/troubleshooting/ Troubleshooting
|
||||
{% active_link /docs/troubleshooting/ Troubleshooting installation
|
||||
%}
|
||||
</li>
|
||||
</ul>
|
||||
@ -30,8 +30,7 @@
|
||||
entities %}
|
||||
</li>
|
||||
<li>
|
||||
{% active_link /docs/configuration/troubleshooting/ Troubleshooting
|
||||
%}
|
||||
{% active_link /docs/configuration/troubleshooting/ Troubleshooting configuration %}
|
||||
</li>
|
||||
<li>
|
||||
{% active_link /docs/configuration/securing/ Security check points
|
||||
@ -77,6 +76,9 @@
|
||||
{% active_link /docs/authentication/multi-factor-auth/ Multi factor
|
||||
auth %}
|
||||
</li>
|
||||
<li>
|
||||
{% active_link /docs/locked_out/ I'm locked out %}
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@ -102,7 +104,7 @@
|
||||
<li>{% active_link /docs/automation/templating/ Templates %}</li>
|
||||
<li>{% active_link /docs/automation/yaml/ YAML %}</li>
|
||||
<li>
|
||||
{% active_link /docs/automation/troubleshooting/ Troubleshooting %}
|
||||
{% active_link /docs/automation/troubleshooting/ Troubleshooting automation %}
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
@ -20,6 +20,7 @@
|
||||
<li>{% active_link /voice_control/about_wake_word/ About wake words %}</li>
|
||||
<li>{% active_link /voice_control/builtin_sentences/ Built-in sentences %}</li>
|
||||
<li>{% active_link /voice_control/custom_sentences/ Custom sentences %}</li>
|
||||
<li>{% active_link /voice_control/aliases/ Using aliases %}</li>
|
||||
<li>{% active_link /voice_control/using_tts_in_automation/ Using Piper TTS in automations %}</li>
|
||||
<li>{% active_link /voice_control/assist_create_open_ai_personality/ Creating a personality with OpenAI %}</li>
|
||||
</ul>
|
||||
@ -28,10 +29,10 @@
|
||||
<div class="section">
|
||||
<h1 class="title delta">Projects</h1>
|
||||
<ul class="divided sidebar-menu">
|
||||
<li>{% active_link /voice_control/worlds-most-private-voice-assistant/ Tutorial: World's most private voice assistant %}</li>
|
||||
<li>{% active_link /voice_control/thirteen-usd-voice-remote/ Tutorial: $13 voice assistant %}</li>
|
||||
<li>{% active_link /voice_control/s3_box_voice_assistant/ Tutorial: ESP32-S3-BOX voice assistant %}</li>
|
||||
<li>{% active_link /voice_control/s3-box-customize/ Tutorial: Customize the S3-BOX with your own illustrations %}</li>
|
||||
<li>{% active_link /voice_control/s3-box-customize/ Tutorial: Customize the S3-BOX %}</li>
|
||||
<li>{% active_link /voice_control/thirteen-usd-voice-remote/ Tutorial: $13 voice assistant %}</li>
|
||||
<li>{% active_link /voice_control/worlds-most-private-voice-assistant/ Tutorial: World's most private voice assistant %}</li>
|
||||
<li>{% active_link /voice_control/create_wake_word/ Tutorial: Create your own wake word %}</li>
|
||||
<li>{% active_link /voice_control/assist_daily_summary/ Tutorial: Your daily summary by Assist %}</li>
|
||||
</ul>
|
||||
|
@ -1,6 +1,6 @@
|
||||
## Using external Data Disk
|
||||
## Using external data disk
|
||||
|
||||
Home Assistant Operating System supports storing most data on an external storage medium (e.g. USB attached SSD or HDD). This data disk contains not only user data but also most of the Home Assistant software as well (Core, Supervisor etc.). This means a fast data disk will make the system overall much faster.
|
||||
Home Assistant Operating System supports storing most data on an external storage medium, such as an USB attached SSD or HDD. This data disk contains not only user data but also most of the Home Assistant software as well (Core, Supervisor, etc.). This means a fast data disk will make the system overall much faster.
|
||||
|
||||

|
||||
|
||||
@ -28,7 +28,7 @@ The data disk feature can be used on an existing installation without losing dat
|
||||
|
||||
1. Connect the data disk to your system.
|
||||
2. Go to **{% my storage title="Settings > System > Storage" %}** in the UI.
|
||||
3. Select the "Move data disk" button.
|
||||
3. Select **Move data disk**.
|
||||
4. Select the data disk from the list of available devices.
|
||||
5. Select **Move**.
|
||||
|
||||
|
@ -1,6 +1,8 @@
|
||||
|
||||
|
||||
If you want to define a specific interval at which your device is being polled for data, you can disable the default polling interval and create your own polling service.
|
||||
If you want to define a specific interval at which your device is being polled for data, you can disable the default polling interval and create your own polling automation.
|
||||
|
||||
To add the automation:
|
||||
|
||||
1. Go to {% my integrations title="**Settings** > **Devices & Services**" %}, and select your integration.
|
||||
2. On the integration entry, select the three dots.
|
||||
|
@ -1,5 +1,7 @@
|
||||
<script type="module" src="https://cdn.jsdelivr.net/npm/@justinribeiro/lite-youtube@1.3.1/lite-youtube.js"></script>
|
||||
|
||||
<script src="{{ '/javascripts/terminology_tooltip.js' | cache_buster }}" type="text/javascript" defer></script>
|
||||
|
||||
<script src="{{ '/javascripts/prism.js' | cache_buster }}" type="text/javascript" defer></script>
|
||||
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@docsearch/js@3/dist/umd/index.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
@ -3,9 +3,9 @@
|
||||
2. To connect the {{ product_name }} to your computer, follow these steps:
|
||||
- In the pop-up window, view the available ports.
|
||||
- Plug the USB-C cable into the {{ product_name }} and connect it to your computer.{% if page.product_name == 'ESP32-S3-BOX' %}
|
||||
- If you have an ESP32-S3-BOX-3, plug it into the box directly, not into the docking station (not into the blue part).
|
||||
- If you have an ESP32-S3-BOX-3, plug it into the box directly, not into the docking station (not into the blue part).
|
||||
- **Troubleshooting**: If your ESP32-S3-BOX-3 does not appear in the list of devices presented by your browser, you need to manually invoke "flash mode":
|
||||
- Hold the "boot" button (left side upper button) as you tap the "reset" button (left side lower button)
|
||||
- Hold the "boot" button (left side upper button) as you tap the "reset" button (left side lower button).
|
||||
- After a few seconds, the ESP32-S3-BOX-3 should appear in the list of USB devices presented by your browser.
|
||||
- Follow the steps until step 3. After selecting the **Next** button, on the S3-Box, tap the "Reset" button again.
|
||||
- Then, select the blue **Connect button** again, select the USB device and follow the prompts to configure the Wi-Fi.{% endif %}
|
||||
|
@ -66,25 +66,27 @@ They are grouped into the below events:
|
||||
|
||||
All {% term events %} have the fields:
|
||||
|
||||
Field | Description
|
||||
----- | -----------
|
||||
`device_id` | The Abode device ID of the event.
|
||||
`device_name` | The Abode device name of the event.
|
||||
`device_type` | The Abode device type of the event.
|
||||
`event_code` | The event code of the event.
|
||||
`event_name` | The name of the event.
|
||||
`event_type` | The type of the event.
|
||||
`event_utc` | The UTC timestamp of the event.
|
||||
`user_name` | The Abode user that triggered the event, if applicable.
|
||||
`app_type` | The Abode app that triggered the event (e.g., web app, iOS app, etc.).
|
||||
`event_by` | The keypad user that triggered the event.
|
||||
`date` | The date of the event in the format `MM/DD/YYYY`.
|
||||
`time` | The time of the event in the format `HH:MM AM`.
|
||||
| Field | Description |
|
||||
| ----- | ----------- |
|
||||
| `device_id` | The Abode device ID of the event. |
|
||||
| `device_name` | The Abode device name of the event. |
|
||||
| `device_type` | The Abode device type of the event. |
|
||||
| `event_code` | The event code of the event. |
|
||||
| `event_name` | The name of the event. |
|
||||
| `event_type` | The type of the event. |
|
||||
| `event_utc` | The UTC timestamp of the event. |
|
||||
| `user_name` | The Abode user that triggered the event, if applicable. |
|
||||
| `app_type` | The Abode app that triggered the event (e.g., web app, iOS app, etc.). |
|
||||
| `event_by` | The keypad user that triggered the event. |
|
||||
| `date` | The date of the event in the format `MM/DD/YYYY`. |
|
||||
| `time` | The time of the event in the format `HH:MM AM`. |
|
||||
|
||||
There is a unique list of known event_codes that can be found
|
||||
[here](https://github.com/MisterWil/abodepy/files/1262019/timeline_events.txt).
|
||||
|
||||
## {% term Services %}
|
||||
## Services
|
||||
|
||||
Available {% term services %}: `change_setting`, `capture_image`, `trigger_automation`
|
||||
|
||||
### Service `change_setting`
|
||||
|
||||
@ -94,8 +96,8 @@ For a full list of settings and valid values, consult the
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `setting` | No | The setting you wish to change.
|
||||
| `value` | No | The value you wish to change the setting to.
|
||||
| `setting` | No | The setting you wish to change. |
|
||||
| `value` | No | The value you wish to change the setting to. |
|
||||
|
||||
### Service `capture_image`
|
||||
|
||||
@ -103,7 +105,7 @@ Request a new still image from your Abode camera.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | No | String or list of strings that point at `entity_id`s of Abode cameras.
|
||||
| `entity_id` | No | String or list of strings that point at `entity_id`s of Abode cameras. |
|
||||
|
||||
### Service `trigger_automation`
|
||||
|
||||
@ -111,4 +113,4 @@ Trigger an automation on your Abode system.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | No | String or list of strings that point at `entity_id`s of switches that represent your Abode automations.
|
||||
| `entity_id` | No | String or list of strings that point at `entity_id`s of switches that represent your Abode automations. |
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: AccuWeather
|
||||
description: Instructions on how to integrate Accuweather within Home Assistant.
|
||||
description: Instructions on how to integrate AccuWeather within Home Assistant.
|
||||
ha_category:
|
||||
- Weather
|
||||
ha_release: 0.114
|
||||
|
@ -2,14 +2,14 @@
|
||||
title: Advantage Air
|
||||
description: Instructions on how to integrate Advantage Air A/C controller into Home Assistant.
|
||||
ha_category:
|
||||
- Binary switch
|
||||
- Binary sensor
|
||||
- Climate
|
||||
- Cover
|
||||
- Light
|
||||
- Select
|
||||
- Sensor
|
||||
- Switch
|
||||
- Update
|
||||
- Update
|
||||
ha_release: 0.117
|
||||
ha_iot_class: Local Polling
|
||||
ha_config_flow: true
|
||||
|
@ -20,10 +20,20 @@ as a source for air quality data for your location.
|
||||
|
||||
## Setup
|
||||
|
||||
To generate an AirNow API key, go to the [AirNow Developer Tools Page](https://docs.airnowapi.org/account/request/) page.
|
||||
To generate an AirNow API key, go to the [AirNow Developer Tools](https://docs.airnowapi.org/account/request/) page.
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
The EPA AirNow API is often flaky and will occasionally not return any results for a particular location. This will prevent the integration from being added to Home Assistant, but the situation is usually temporary and will resolve itself later.
|
||||
|
||||
If the integration continues to report "No results found for that location" and cannot be added to Home Assistant, please do the following before submitting a bug report.
|
||||
|
||||
First, navigate to the [AirNow Current Observations By Lat/Lon](https://docs.airnowapi.org/CurrentObservationsByLatLon/query) page, enter the same latitude/longitude and station radius, select `application/json` as the output format, select "Build" and then "Run".
|
||||
|
||||
If the query returns a result other than `[]`, open a bug report and include the query result (you may sanitize the data to remove your latitude and longitude, but please do not remove any fields). This information will help a lot to figure out the source of the issue.
|
||||
|
||||
<div class="note">
|
||||
|
||||
The AirNow API allows 500 data updates per hour, but since observations are only updated hourly, the default update rate is set to 2 per hour and should not trigger rate limiting. If you use this API key for other purposes, ensure the total request rate does not exceed 500 per hour.
|
||||
|
@ -3,6 +3,7 @@ title: Airthings
|
||||
description: Instructions on how to integrate Airthings into Home Assistant.
|
||||
ha_category:
|
||||
- Environment
|
||||
- Health
|
||||
- Sensor
|
||||
ha_release: '2021.10'
|
||||
ha_iot_class: Cloud Polling
|
||||
|
@ -3,6 +3,7 @@ title: Airthings BLE
|
||||
description: Instructions on how to set up Airthings Devices over Bluetooth LE.
|
||||
ha_category:
|
||||
- Environment
|
||||
- Health
|
||||
- Sensor
|
||||
ha_release: '2022.11'
|
||||
ha_iot_class: Local Polling
|
||||
|
@ -23,4 +23,3 @@ The AirTouch 5 integration allows you to control ducted air conditioning systems
|
||||
### Climate
|
||||
|
||||
The integration will create a climate entity for each AC unit and each zone.
|
||||
|
||||
|
@ -9,7 +9,7 @@ ha_qa_scale: internal
|
||||
ha_domain: template
|
||||
---
|
||||
|
||||
The `template` integrations creates alarm control panels that combine integrations or adds pre-processing logic to actions.
|
||||
The `template` integrations creates alarm control panels that combine integrations or adds preprocessing logic to actions.
|
||||
|
||||
There are several powerful ways to use this integration, including grouping existing integrations into a simpler integrations, or adding logic that Home Assistant will execute when accessed.
|
||||
|
||||
|
@ -78,7 +78,7 @@ repeat:
|
||||
required: true
|
||||
type: [integer, list]
|
||||
can_acknowledge:
|
||||
description: Allows the alert to be unacknowledgeable.
|
||||
description: Control whether the notification can be acknowledged; set to `false` if the alert should not be acknowledgeable.
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
|
@ -12,6 +12,8 @@ ha_codeowners:
|
||||
- '@jbouwh'
|
||||
ha_domain: alexa
|
||||
ha_integration_type: integration
|
||||
ha_platforms:
|
||||
- diagnostics
|
||||
---
|
||||
|
||||
## Automatic setup via Home Assistant Cloud
|
||||
|
@ -100,7 +100,6 @@ Steps to Integrate an Amazon Alexa Smart Home Skill with Home Assistant:
|
||||
- [Water heater](#water-heater)
|
||||
- [Set target temperature](#set-target-temperature)
|
||||
- [Operation Mode](#operation-mode)
|
||||
- [Alexa Web-Based App](#alexa-web-based-app)
|
||||
- [Troubleshooting](#troubleshooting)
|
||||
- [Debugging](#debugging)
|
||||
|
||||
@ -266,9 +265,8 @@ Alexa needs to link your Amazon account to your Home Assistant account. Therefor
|
||||
</p>
|
||||
|
||||
- Click `Save` button in the top right corner.
|
||||
- Next, you will use the Alexa Mobile App or the [Alexa web-based app](#alexa-web-based-app) to link your account.
|
||||
- Next, you will use the Alexa Mobile App to link your account.
|
||||
- In the Alexa app, navigate to `More` -> `Skills & Games` -> `Your Skills` -> `Dev`
|
||||
- Or In the Alexa web app, navigate to `Skills` -> `Your Skills` in the top right -> `Dev Skill`
|
||||
- Click the Smart Home skill you just created.
|
||||
- Click `Enable to use`.
|
||||
- A new window will open to direct you to your Home Assistant's login screen.
|
||||
@ -1078,21 +1076,6 @@ If the water heater entity supports on/off, use _"turn on"_ and _"turn off"_ utt
|
||||
- _"Alexa, turn on the [mode utterance]."_
|
||||
- _"Alexa, turn off the [entity name]."_
|
||||
|
||||
## Alexa Web-Based App
|
||||
|
||||
The following is a list of regions and the corresponding URL for the web-based Alexa app:
|
||||
|
||||
- United States: `https://alexa.amazon.com`
|
||||
- United Kingdom: `https://alexa.amazon.co.uk`
|
||||
- Germany: `https://alexa.amazon.de`
|
||||
- Japan: `https://alexa.amazon.co.jp`
|
||||
- Canada: `https://alexa.amazon.ca`
|
||||
- Australia: `https://alexa.amazon.com.au`
|
||||
- India: `https://alexa.amazon.in`
|
||||
- Spain: `https://alexa.amazon.es`
|
||||
- France: `https://alexa.amazon.fr`
|
||||
- Italy: `https://alexa.amazon.it`
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Binary Sensor not available in Routine Trigger <!-- omit in toc -->
|
||||
|
@ -71,4 +71,4 @@ Enable temperature mode on your AC:
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `Name` | yes | String with device name.
|
||||
| `value` | yes | Target value in celsius
|
||||
| `value` | yes | Target value in Celsius
|
||||
|
@ -1,12 +1,12 @@
|
||||
---
|
||||
title: AMP Motorization
|
||||
description: Connect and control your AMP Motorization devices using the Motion Blinds integration
|
||||
description: Connect and control your AMP Motorization devices using the Motionblinds integration
|
||||
ha_category:
|
||||
- Cover
|
||||
ha_domain: amp_motorization
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: motion_blinds
|
||||
ha_supporting_integration: Motion Blinds
|
||||
ha_supporting_integration: Motionblinds
|
||||
ha_release: 2020.12
|
||||
ha_codeowners:
|
||||
- '@starkillerOG'
|
||||
|
@ -178,7 +178,7 @@ All data is received and processed by the Home Assistant Analytics Receiver ([so
|
||||
|
||||
When your installation sends a payload, that payload includes a unique identifier. This identifier is used to make sure that your installation is only counted once.
|
||||
|
||||
Your data is securely stored in [CloudFlare's Key-Value store](https://www.cloudflare.com/products/workers-kv/). It will be stored for a maximum of 60 days since the last update. Only aggregated data is made publicly available.
|
||||
Your data is securely stored in [Cloudflare's Key-Value store](https://www.cloudflare.com/products/workers-kv/). It will be stored for a maximum of 60 days since the last update. Only aggregated data is made publicly available.
|
||||
|
||||
This is an example of how the information is stored:
|
||||
{% configuration_basic %}
|
||||
|
@ -16,7 +16,7 @@ ha_integration_type: service
|
||||
|
||||
The **Analytics Insights** {% term integration %} allows you to get integration usage statistics into Home Assistant.
|
||||
The data comes from [Home Assistant Analytics](https://analytics.home-assistant.io/).
|
||||
For more information about the component that collects analytics, checkout [Analytics](/analytics).
|
||||
For more information about the component that collects analytics, checkout [Analytics](/integrations/analytics).
|
||||
|
||||
Only integrations with one or more active installations will be displayed. This means it will take some time before newly released integrations are visible.
|
||||
|
||||
|
@ -539,4 +539,4 @@ cards:
|
||||
- Some devices, like TCL, become unavailable after they are turned off, unless you activate the **Screenless service**. To activate it, go to **Settings** > **System** > **Power and energy** > **Screenless service**, and activate it.
|
||||
- Some devices experience disconnects every 15 seconds. This is typically resolved by rebooting the Android TV device after the initial setup of the integration.
|
||||
- If you are not able to connect to the Android TV device, or are asked to pair it again and again, try force-stopping the Android TV Remote Service and clearing its storage. On the Android TV device, go to **Settings** > **Apps** > **Show system apps**. Then, select **Android TV Remote Service** > **Storage** > **Clear storage**. You will have to pair again.
|
||||
- Some onscreen keyboards enabled by TV manufacturers do not support concurrent virtual and onscreen keyboard use. This presents whenever a text field is selected, such as "search" where a constant **use the keyboard on your mobile device** will show, preventing you from opening the onscreen keyboard to type. This can be overcome by either disabling your 3rd party keyboard and using the default Gboard keyboard or by unselecting **Enable IME** in the **Configure** page of the integration.
|
||||
- Some onscreen keyboards enabled by TV manufacturers do not support concurrent virtual and onscreen keyboard use. This presents whenever a text field is selected, such as "search" where a constant **use the keyboard on your mobile device** will show, preventing you from opening the onscreen keyboard to type. This can be overcome by either disabling your 3rd party keyboard and using the default Gboard keyboard or by deselecting **Enable IME** in the **Configure** page of the integration.
|
||||
|
@ -52,7 +52,7 @@ port:
|
||||
## Notes and limitations
|
||||
|
||||
- The tuner is currently unsupported as are the `media_player` play, pause, prev, and next controls.
|
||||
- Enabling this platform will set and enforce **Standby IP Control On** on your Anthem device. You almost certainly want this. If you disable it on the device, it will just get re-enabled by Home Assistant.
|
||||
- Enabling this platform will set and enforce **Standby IP Control On** within your Anthem device. You almost certainly want this. If you disable it on the device, it will just get re-enabled by Home Assistant.
|
||||
|
||||
<div class='note warning'>
|
||||
|
||||
|
@ -10,6 +10,7 @@ ha_config_flow: true
|
||||
ha_codeowners:
|
||||
- '@bdr99'
|
||||
ha_platforms:
|
||||
- diagnostics
|
||||
- sensor
|
||||
- water_heater
|
||||
ha_integration_type: integration
|
||||
@ -39,7 +40,7 @@ Before using this integration, your water heater must be connected to a Wi-Fi ne
|
||||
- HPV10-66H01DV
|
||||
- HPV10-80H01DV
|
||||
|
||||
Water heaters that can be controlled using the A. O. Smith mobile app should be compatible with this integration. If your water heater is not detected by the integration, but it can be controlled using the mobile app, please [open an issue on GitHub](https://github.com/home-assistant/core/issues/new?template=bug_report.yml&integration_name=A.%20O.%20Smith&integration_link=https%3A%2F%2Fwww.home-assistant.io%2Fintegrations%2Faosmith) so that support can be added. Similarly, if your water heater is working with this integration, but its model number is not listed here, please [open an documentation issue](https://github.com/home-assistant/home-assistant.io/issues/new?template=feedback.yml&url=https%3A%2F%2Fwww.home-assistant.io%2Fintegrations%2Faosmith) so it can be added to the list.
|
||||
Water heaters that can be controlled using the A. O. Smith mobile app should be compatible with this integration. If your water heater is not detected by the integration, but it can be controlled using the mobile app, please [open an issue on GitHub](https://github.com/home-assistant/core/issues/new?template=bug_report.yml&integration_name=A.%20O.%20Smith&integration_link=https%3A%2F%2Fwww.home-assistant.io%2Fintegrations%2Faosmith) so that support can be added. Similarly, if your water heater is working with this integration, but its model number is not listed here, please [open a documentation issue](https://github.com/home-assistant/home-assistant.io/issues/new?template=feedback.yml&url=https%3A%2F%2Fwww.home-assistant.io%2Fintegrations%2Faosmith) so it can be added to the list.
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
|
@ -27,7 +27,7 @@ notify:
|
||||
url: YOUR_APPRISE_URLS
|
||||
```
|
||||
|
||||
You can also pre-define your own configuration files while storing them either remotely or locally. Simply just use the `config` option.
|
||||
You can also predefine your own configuration files while storing them either remotely or locally. Simply just use the `config` option.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry using externally located Apprise
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Aurora ABB PowerOne Solar PV
|
||||
description: Instructions on how to integrate an Aurora ABB Powerone solar inverter within Home Assistant.
|
||||
description: Instructions on how to integrate an Aurora ABB PowerOne solar inverter within Home Assistant.
|
||||
ha_category:
|
||||
- Energy
|
||||
- Sensor
|
||||
|
@ -10,10 +10,10 @@ ha_domain: bang_olufsen
|
||||
ha_platforms:
|
||||
- media_player
|
||||
ha_codeowners:
|
||||
- "@mj23000"
|
||||
- '@mj23000'
|
||||
ha_config_flow: true
|
||||
ha_zeroconf: true
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: device
|
||||
---
|
||||
|
||||
The Bang & Olufsen integration enables control of some of the features of certain [Bang & Olufsen](https://www.bang-olufsen.com/) devices through Home Assistant.
|
||||
|
@ -202,7 +202,7 @@ unique_id:
|
||||
required: false
|
||||
type: string
|
||||
value_template:
|
||||
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) that returns a string to be compared to `payload_on`/`payload_off` or an empty string, in which case the MQTT message will be removed. Remove this option when `payload_on` and `payload_off` are sufficient to match your payloads (i.e no pre-processing of original message is required)."
|
||||
description: "Defines a [template](/docs/configuration/templating/#using-templates-with-the-mqtt-integration) that returns a string to be compared to `payload_on`/`payload_off` or an empty string, in which case the MQTT message will be removed. Remove this option when `payload_on` and `payload_off` are sufficient to match your payloads (i.e no preprocessing of original message is required)."
|
||||
required: false
|
||||
type: template
|
||||
{% endconfiguration %}
|
||||
|
@ -28,6 +28,10 @@ ha_integration_type: integration
|
||||
|
||||
The **Blink** {% term integration %} lets you view camera images and motion events from [Blink](https://blinkforhome.com/) camera and security systems.
|
||||
|
||||
<p class='note'>
|
||||
This integration does NOT allow for live viewing of your Blink camera within Home Assistant.
|
||||
</p>
|
||||
|
||||
## Setup
|
||||
|
||||
You will need your Blink login information (username, which is usually your email address, and password) to use this module.
|
||||
|
@ -1,12 +1,12 @@
|
||||
---
|
||||
title: Bliss Automation
|
||||
description: Connect and control your Bliss Automation devices using the Motion Blinds integration
|
||||
description: Connect and control your Bliss Automation devices using the Motionblinds integration
|
||||
ha_category:
|
||||
- Cover
|
||||
ha_domain: bliss_automation
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: motion_blinds
|
||||
ha_supporting_integration: Motion Blinds
|
||||
ha_supporting_integration: Motionblinds
|
||||
ha_release: 2020.12
|
||||
ha_codeowners:
|
||||
- '@starkillerOG'
|
||||
|
@ -1,12 +1,12 @@
|
||||
---
|
||||
title: Bloc Blinds
|
||||
description: Connect and control your Bloc Blinds devices using the Motion Blinds integration
|
||||
description: Connect and control your Bloc Blinds devices using the Motionblinds integration
|
||||
ha_category:
|
||||
- Cover
|
||||
ha_domain: bloc_blinds
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: motion_blinds
|
||||
ha_supporting_integration: Motion Blinds
|
||||
ha_supporting_integration: Motionblinds
|
||||
ha_release: 2020.12
|
||||
ha_codeowners:
|
||||
- '@starkillerOG'
|
||||
|
@ -21,7 +21,7 @@ The **Bluetooth** {% term integration %} will detect nearby Bluetooth devices. D
|
||||
|
||||
## Before you begin
|
||||
|
||||
In many cases, a better approach than a directly connected adapter or card is to use a Bluetooth proxy using an ESP32 since Linux kernel updates have previously broken Bluetooth functionality and Bluetooth driver support Linux generally falls behind other operating systems for newer adapters. A Bluetooth proxy is particularly interesting to users who virtualize their instance, where the USB pass-through may cause additional problems. More information is available in the Remote Adapters section below or by visiting ESPhome's [Bluetooth proxy page](https://esphome.github.io/bluetooth-proxies/).
|
||||
In many cases, a better approach than a directly connected adapter or card is to use a Bluetooth proxy using an ESP32 since Linux kernel updates have previously broken Bluetooth functionality and Bluetooth driver support Linux generally falls behind other operating systems for newer adapters. A Bluetooth proxy is particularly interesting to users who virtualize their instance, where the USB pass-through may cause additional problems. More information is available in the Remote Adapters section below or by visiting ESPhome's [Bluetooth proxy page](https://esphome.io/projects/?type=bluetooth).
|
||||
|
||||
Suppose a Bluetooth proxy is not a good fit for your use case. Consider using the Home Assistant Operating System when using a local adapter because it includes Bluetooth patches for issues unsolved in other operating systems.
|
||||
|
||||
@ -106,6 +106,7 @@ If you experience an unreliable Bluetooth connection, installing a short USB ext
|
||||
- Sena UD100-G03 (CSR8510A10) 📶
|
||||
- StarTech USBBT1EDR4 (CSR8510A10)
|
||||
- Techkey PBT06H (CSR8510A10)
|
||||
- TRENDnet TBW-106UB (CSR8510A10)
|
||||
- TRENDnet TBW-107UB (CSR8510A10)
|
||||
- UGREEN CM109 (CSR8510A10)
|
||||
- Warmstor WBT-AD01 (CSR8510A10)
|
||||
@ -250,7 +251,7 @@ When adding multiple remote adapters to increase range or available connection s
|
||||
|
||||
The following remote adapters are supported:
|
||||
|
||||
- [ESPHome](https://esphome.github.io/bluetooth-proxies/)
|
||||
- [ESPHome](https://esphome.io/projects/?type=bluetooth)
|
||||
- Bluetooth advertisement listening: ESPHome ESP32 device with firmware 2022.8.2 or later
|
||||
- Bluetooth advertisement bundling: ESPHome ESP32 device with firmware 2023.6.0 or later
|
||||
- Single active connection: ESPHome ESP32 device with firmware 2022.9.3 or later
|
||||
|
@ -51,7 +51,7 @@ Using the media browser, you can view a list of all installed applications and T
|
||||
|
||||
## Play media service
|
||||
|
||||
The `play_media` {% term service %} can be used in a automation or script to switch to a specified application or TV channel. It selects the best matching application or channel according to the `media_content_id`:
|
||||
The `play_media` {% term service %} can be used in an automation or script to switch to a specified application or TV channel. It selects the best matching application or channel according to the `media_content_id`:
|
||||
|
||||
1. Channel number *(i.e., '1' or '6')*
|
||||
2. Exact app or channel name *(i.e., 'Google Play' or 'CNN')*
|
||||
|
@ -1,12 +1,12 @@
|
||||
---
|
||||
title: Brel Home
|
||||
description: Connect and control your Brel Home devices using the Motion Blinds integration
|
||||
description: Connect and control your Brel Home devices using the Motionblinds integration
|
||||
ha_category:
|
||||
- Cover
|
||||
ha_domain: brel_home
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: motion_blinds
|
||||
ha_supporting_integration: Motion Blinds
|
||||
ha_supporting_integration: Motionblinds
|
||||
ha_release: 2020.12
|
||||
ha_codeowners:
|
||||
- '@starkillerOG'
|
||||
|
@ -10,7 +10,7 @@ ha_codeowners:
|
||||
- '@miaucl'
|
||||
- '@tr4nt0r'
|
||||
ha_domain: bring
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: service
|
||||
ha_platforms:
|
||||
- todo
|
||||
---
|
||||
|
@ -32,7 +32,8 @@ Some very old Brother printers use different data format and these models are no
|
||||
|
||||
## Configuring the printer
|
||||
|
||||
To enable SNMP, navigate to the printer's web interface (for example: `http://192.168.5.6`) and turn it on under Network / Protocol / SNMP.
|
||||
To enable SNMP, navigate to the printer's web interface (for example: `http://192.168.5.6`) and turn it on under Network / Protocol / SNMP. For some models, access to the web interface is password-protected. For some printers, the default password is printed on a sticker on the back of the printer, preceded by "Pwd:". If the printer does not have a password on the sticker, the default password is "initpass".
|
||||
|
||||
For some Brother devices, `SNMPv3 read-write access and v1/v2c read-only access` is the option required (under advanced settings).
|
||||
|
||||

|
||||
|
@ -6,6 +6,7 @@ ha_category:
|
||||
- Climate
|
||||
- Cover
|
||||
- Environment
|
||||
- Fan
|
||||
- Hub
|
||||
- Light
|
||||
- Media source
|
||||
@ -25,6 +26,7 @@ ha_platforms:
|
||||
- climate
|
||||
- cover
|
||||
- diagnostics
|
||||
- fan
|
||||
- light
|
||||
- select
|
||||
- sensor
|
||||
|
@ -6,6 +6,7 @@ ha_category:
|
||||
- Climate
|
||||
- Cover
|
||||
- Environment
|
||||
- Fan
|
||||
- Hub
|
||||
- Light
|
||||
- Media source
|
||||
@ -25,6 +26,7 @@ ha_platforms:
|
||||
- climate
|
||||
- cover
|
||||
- diagnostics
|
||||
- fan
|
||||
- light
|
||||
- select
|
||||
- sensor
|
||||
|
@ -17,7 +17,7 @@ ha_config_flow: true
|
||||
The CalDAV integration allows you to connect your WebDAV calendar to Home Assistant
|
||||
as one of these entity types:
|
||||
|
||||
- A [calendar](/integrations/calendar) entity which can be used to trigger automations based on the the start or end of an event using criteria such as the event name or description.
|
||||
- A [calendar](/integrations/calendar) entity which can be used to trigger automations based on the start or end of an event using criteria such as the event name or description.
|
||||
- A [todo](/integrations/todo) entity which tracks the number of active items
|
||||
on the to-do list.
|
||||
|
||||
|
@ -4,7 +4,7 @@ description: Get energy usage from City of Austin Utilities using the Opower int
|
||||
ha_category:
|
||||
- Energy
|
||||
- Sensor
|
||||
ha_release: 2024.2
|
||||
ha_release: 2023.8
|
||||
ha_domain: coautilities
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: opower
|
||||
|
@ -16,7 +16,6 @@ ha_platforms:
|
||||
- light
|
||||
- sensor
|
||||
- switch
|
||||
ha_ssdp: false
|
||||
ha_integration_type: integration
|
||||
---
|
||||
|
||||
|
@ -4,7 +4,7 @@ description: Get energy usage from Consolidated Edison (ConEd) using the Opower
|
||||
ha_category:
|
||||
- Energy
|
||||
- Sensor
|
||||
ha_release: 2023.9
|
||||
ha_release: 2023.8
|
||||
ha_domain: coned
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: opower
|
||||
|
@ -70,7 +70,7 @@ availability_template:
|
||||
required: false
|
||||
type: template
|
||||
availability_topic:
|
||||
description: "The MQTT topic subscribed to to receive birth and LWT messages from the MQTT cover device. If an `availability` topic is not defined, the cover availability state will always be `available`. If an `availability` topic is defined, the cover availability state will be `unavailable` by default. Must not be used together with `availability`."
|
||||
description: "The subscribed-to MQTT topic to receive birth and LWT messages from the MQTT cover device. If an `availability` topic is not defined, the cover availability state will always be `available`. If an `availability` topic is defined, the cover availability state will be `unavailable` by default. Must not be used together with `availability`."
|
||||
required: false
|
||||
type: string
|
||||
command_topic:
|
||||
|
@ -23,6 +23,14 @@ The integration also sends events from the logbook into Datadog, allowing you to
|
||||
<img src='/images/screenshots/datadog-event-stream.png' />
|
||||
</p>
|
||||
|
||||
## Setup
|
||||
|
||||
You need to have a Datadog agent installed in a network accessible by Home Assistant.
|
||||
|
||||
In the [Datadog Agent configuration](https://github.com/DataDog/datadog-agent/blob/main/pkg/config/config_template.yaml#L2203-L2207), you must enable [DogStatsD](https://docs.datadoghq.com/developers/dogstatsd/) non-local traffic to allow StatsD data collection from outside `localhost`.
|
||||
|
||||
## Configuration
|
||||
|
||||
To use the `datadog` integration in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
@ -42,7 +50,7 @@ port:
|
||||
default: 8125
|
||||
type: integer
|
||||
prefix:
|
||||
description: Prefix to use.
|
||||
description: Metric prefix to use.
|
||||
required: false
|
||||
default: "`hass`"
|
||||
type: string
|
||||
|
@ -1,12 +1,12 @@
|
||||
---
|
||||
title: Diaz
|
||||
description: Connect and control your Diaz devices using the Motion Blinds integration
|
||||
description: Connect and control your Diaz devices using the Motionblinds integration
|
||||
ha_category:
|
||||
- Cover
|
||||
ha_domain: diaz
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: motion_blinds
|
||||
ha_supporting_integration: Motion Blinds
|
||||
ha_supporting_integration: Motionblinds
|
||||
ha_release: 2020.12
|
||||
ha_codeowners:
|
||||
- '@starkillerOG'
|
||||
|
@ -31,7 +31,7 @@ There is currently support for the following device types within Home Assistant:
|
||||
|
||||
It is recommended to set up a new & dedicated account on your DoorBird App/web portal for use with Home Assistant. The instructions in this document refer specifically to the DoorBird IOS/Android app. Still, most actions can also be performed using the web-based [DoorBird - WebAdmin](https://webadmin.doorbird.com) portal and logging in on your DoorBird admin account.
|
||||
|
||||
To setup a new account for Home Assistant, open the DoorBird App by clicking settings (cog icon) -> Administration-> LOGIN (using your DoorBird App Administration details). Under the "USER" section, choose "Add". This new user account requires specific permissions enabled (depending on what functionality you want). Permissions can be found under "Permissions". The following permissions are recommended (or amend depending on your requirements:
|
||||
To setup a new account for Home Assistant, open the DoorBird App by selecting **Settings** (cog icon) > **Administration** > **LOGIN** (using your DoorBird App Administration details). Under the **USER** section, choose **Add**. This new user account requires specific permissions enabled (depending on what functionality you want). Permissions can be found under **Permissions**. The following permissions are recommended (or amend depending on your requirements:
|
||||
|
||||
- "Watch Always" (live view)
|
||||
- "History" (last motion)
|
||||
@ -63,7 +63,7 @@ localhost:8123`. Replace `{DEVICE_TOKEN}` with the token specified in your confi
|
||||
<br><br>
|
||||
Please note that clearing device events will require configuration steps above to be taken again. It could also affect other third-party applications you may use with your DoorBird device. It will not break the official mobile app in any way, so mobile push notifications will still work.
|
||||
<br><br>
|
||||
If DoorBird was setup using UI prompts, a token can be discovered through DoorBird App by clicking settings (cog icon) -> Administration-> LOGIN (using your App Administration details). Under the "FAVORITES" section, choose "HTTP(S) Calls". This displays all events and the associated HTTP URL. In that URL field, you will be able to see the token that was auto-generated by Home Assistant.
|
||||
If DoorBird was setup using UI prompts, a token can be discovered through DoorBird App by selecting **Settings** (cog icon) > **Administration** > **LOGIN** (using your App Administration details). Under the **FAVORITES** section, choose **HTTP(S) Calls**. This displays all events and the associated HTTP URL. In that URL field, you will be able to see the token that was auto-generated by Home Assistant.
|
||||
|
||||
### Event data
|
||||
|
||||
@ -87,7 +87,7 @@ Once events have been registered on the DoorBird device, they must be attached t
|
||||
|
||||
The schedules can be found by navigating to the following area of the DoorBird app (Android or IOS):
|
||||
|
||||
Settings (cog icon) -> Administration -> LOGIN LOGIN (using your App Administration details) -> (under "EXPERT SETTINGS") Schedule for doorbell
|
||||
**Settings** (cog icon) > **Administration** > **LOGIN** (using your App Administration details) > (under **EXPERT SETTINGS**) Schedule for doorbell.
|
||||
|
||||
- `Push notification`
|
||||
- `Trigger Relay ("Relay 1" or "Relay 2")`
|
||||
|
@ -1,12 +1,12 @@
|
||||
---
|
||||
title: Dooya
|
||||
description: Connect and control your Dooya devices using the Motion Blinds integration
|
||||
description: Connect and control your Dooya devices using the Motionblinds integration
|
||||
ha_category:
|
||||
- Cover
|
||||
ha_domain: dooya
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: motion_blinds
|
||||
ha_supporting_integration: Motion Blinds
|
||||
ha_supporting_integration: Motionblinds
|
||||
ha_release: 2020.12
|
||||
ha_codeowners:
|
||||
- '@starkillerOG'
|
||||
|
@ -38,7 +38,7 @@ There is currently support for the following DROP products within Home Assistant
|
||||
- **RO Filter**: reverse osmosis drinking water filtration.
|
||||
- **Salt Sensor**: alerts when the salt level in the softener brine tank is low.
|
||||
|
||||
### Pre-requisites
|
||||
### Prerequisites
|
||||
|
||||
To use DROP with Home Assistant, you must have already configured the [MQTT](/integrations/mqtt/) platform.
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: DTE Energy Bridge
|
||||
description: Instructions on how to setup DTE Energy Bridge with Home Assistant.
|
||||
title: DTE Energy Bridge (2020 and older hardware only)
|
||||
description: Setup early-model DTE Energy Bridge with Home Assistant.
|
||||
ha_category:
|
||||
- Energy
|
||||
ha_release: 0.21
|
||||
@ -11,18 +11,20 @@ ha_platforms:
|
||||
ha_integration_type: integration
|
||||
---
|
||||
|
||||
A sensor platform for the [DTE](https://www.newlook.dteenergy.com/) Energy Bridge. To find out which version of the DTE Energy Bridge sensor you have, find the status LED on your box.
|
||||
A sensor platform for [DTE](https://www.newlook.dteenergy.com/) using an early model of the Energy Bridge. To find out which version of the DTE Energy Bridge you have, find the status LED on your box.
|
||||
|
||||
- If the status LED is on the top, you have a v1.
|
||||
- If the status LED is on the front, you have a v2.
|
||||
|
||||
<div class='note'>
|
||||
|
||||
The firmware of the DTE v2 bridges that started shipping circa mid-2020 will not work with this integration.
|
||||
The firmware of the DTE v2 bridges that started shipping circa mid-2020 will not work with this integration. This includes the model containing integrated Wi-Fi.
|
||||
|
||||
You can check if your firmware is still supported by trying accessing `http://{ip_address}:8888/zigbee/se/instantaneousdemand`, and see if
|
||||
you get a response.
|
||||
|
||||
Later model DTE Energy Bridge hardware uses [MQTT](https://www.home-assistant.io/integrations/mqtt/) to communicate your energy data with Home Assistant.
|
||||
|
||||
</div>
|
||||
|
||||
To enable this sensor, add the following lines to your `configuration.yaml` file:
|
||||
|
@ -25,7 +25,7 @@ ha_platforms:
|
||||
ha_integration_type: integration
|
||||
---
|
||||
|
||||
The `ecovacs` {% term integration %} is the main integration to integrate all [Ecovacs](https://www.ecovacs.com) (Deebot) vacuums. You will need your Ecovacs account information (username, password) to discover and control vacuums in your account.
|
||||
The `ecovacs` {% term integration %} is the main integration to integrate [Ecovacs](https://www.ecovacs.com) (Deebot) vacuums. You will need your Ecovacs account information (username, password) to discover and control vacuums in your account.
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
@ -41,10 +41,10 @@ Using the vacuum entity, you can monitor and control your Ecovacs Deebot vacuum.
|
||||
|
||||
Additionally, **depending on your model**, the integration provides the following entities:
|
||||
|
||||
- **Binary sensor**:
|
||||
- **Binary sensor**:
|
||||
- `Mop attached`: On if the mop is attached. Note: If you do not see the state change to `Mop attached` in Home Assistant, you may need to wake up the robot in order to push the state change. Some models report an entity state change only if the overall status of the vacuum has changed. For example, if the overall state changes from `docked` to `cleaning`.
|
||||
- **Button**:
|
||||
- `Reset lifespan`: For each supported component an button entity to reset the lifespan will be created. All disabled by default
|
||||
- `Reset lifespan`: For each supported component, a button entity to reset the lifespan will be created. All disabled by default.
|
||||
- `Relocate`: Button entity to trigger manual relocation.
|
||||
- **Image**:
|
||||
- `Map`: The floorplan/map as an image in SVG format.
|
||||
@ -55,16 +55,16 @@ Additionally, **depending on your model**, the integration provides the followin
|
||||
- `Water amount`: Specify the water amount used during cleaning with the mop.
|
||||
- `Work mode`: Specify the mode, how the bot should clean.
|
||||
- **Sensor**:
|
||||
- `Error`: The error code and a description of the error. `0` means no error. Disabled by default
|
||||
- `Lifespan`: For each supported component an entity with the remaining lifespan will be created
|
||||
- `Network`: The following network related entities will be created. All disabled by default
|
||||
- `Error`: The error code and a description of the error. `0` means no error. Disabled by default.
|
||||
- `Lifespan`: For each supported component, an entity with the remaining lifespan will be created.
|
||||
- `Network`: The following network related entities will be created. All disabled by default.
|
||||
- `Ip address`
|
||||
- `Wi-Fi RSSI`
|
||||
- `Wi-Fi SSID`
|
||||
- `Cleaning cycle`:
|
||||
- `Area`: The cleaned area
|
||||
- `Time`: The cleaned time
|
||||
- `Total statistics`: Updated after each cleaning cycle:
|
||||
- `Total statistics`: Updated after each cleaning cycle:
|
||||
- `Area`: Total cleaned area
|
||||
- `Cleanings`: The number of cleanings
|
||||
- `Time`: The total cleaning time
|
||||
|
@ -25,7 +25,7 @@ elv:
|
||||
device: SERIAL_PORT
|
||||
```
|
||||
|
||||
This platform will add all PCA 301 switches which are in range. You can read the total used energy in KWh and the current power in Watt.
|
||||
This platform will add all PCA 301 switches which are in range. You can read the total used energy in kWh and the current power in Watt.
|
||||
|
||||
{% configuration %}
|
||||
device:
|
||||
|
@ -15,7 +15,7 @@ ha_integration_type: integration
|
||||
The Elvia integration will import your historical grid consumption.
|
||||
You can use the Elvia integration, regardless of which provider you are subscribed to, as long as Elvia operates the grid. If you are unsure if this works for you, log in to [Min side](https://www.elvia.no/logg-inn/) and check. If you see a meter there, you can use it.
|
||||
|
||||
The imported data can be used in the [Energy dashboard](/docs/energy/) and with the [statistics-graph card](/dashboards/statistics-graph/).
|
||||
Unlike most other integrations, this integration provides no entities. The imported data can be used in the [Energy dashboard](/docs/energy/) and with the [statistics-graph card](/dashboards/statistics-graph/).
|
||||
|
||||
## Prerequisites
|
||||
|
||||
|
@ -22,12 +22,14 @@ The integration makes it possible to retrieve the dynamic energy/gas prices
|
||||
from EnergyZero in order to gain insight into the price trend of the day and
|
||||
to adjust your consumption accordingly.
|
||||
|
||||
Partners who purchase their energy through EnergyZero:
|
||||
Partners who are a reseller from EnergyZero:
|
||||
|
||||
- [ANWB Energie](https://www.anwb.nl/huis/energie/anwb-energie)
|
||||
- [Mijndomein Energie](https://www.mijndomein.nl/energie)
|
||||
- [Energie van Ons](https://www.energie.vanons.org)
|
||||
- [GroeneStroomLokaal](https://www.groenestroomlokaal.nl)
|
||||
- [Mijndomein Energie](https://www.mijndomein.nl/energie)
|
||||
- [SamSam](https://www.samsam.nu)
|
||||
- [ZonderGas](https://www.zondergas.nu)
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
|
@ -59,7 +59,7 @@ line_whitelist:
|
||||
required: false
|
||||
type: list
|
||||
omit_non_boarding:
|
||||
description: If the sensors should remove resulting departures that doesn't take new passangers, or is at last stop.
|
||||
description: If the sensors should remove resulting departures that doesn't take new passengers, or is at last stop.
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
|
@ -28,7 +28,7 @@ The **Environment Canada** {% term integration %} provides meteorological data f
|
||||
|
||||
The integration automatically determines the closest weather station based on the latitude and longitude specified. If integration-specific coordinates are not provided, the coordinates configured for Home Assistant are used.
|
||||
|
||||
You can also specify a weather station to use by providing a identification code of the form `AB/s0000123`, based on those listed in [this CSV file](https://dd.weather.gc.ca/citypage_weather/docs/site_list_towns_en.csv).
|
||||
You can also specify a weather station to use by providing an identification code of the form `AB/s0000123`, based on those listed in [this CSV file](https://dd.weather.gc.ca/citypage_weather/docs/site_list_towns_en.csv).
|
||||
|
||||
## Entities
|
||||
|
||||
|
@ -72,7 +72,7 @@ user_name:
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: Which password to authenticate with when connecting to the device. This must be the password for connceting directly to the device and not the password for your EyezOn account. EVL3 only works with max. 6 characters.
|
||||
description: Which password to authenticate with when connecting to the device. This must be the password for connecting directly to the device and not the password for your EyezOn account. EVL3 only works with max. 6 characters.
|
||||
required: true
|
||||
type: string
|
||||
code:
|
||||
|
@ -12,7 +12,7 @@ ha_config_flow: true
|
||||
ha_domain: epion
|
||||
ha_platforms:
|
||||
- sensor
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: hub
|
||||
---
|
||||
|
||||
Integrates Epion Air sensors into Home Assistant.
|
||||
|
@ -13,7 +13,7 @@ ha_integration_type: entity
|
||||
|
||||
Events are signals that are emitted when something happens, for example, when a user presses a physical button like a doorbell or when a button on a remote control is pressed.
|
||||
|
||||
These events are stateless. For example, a doorbell does not have a state like being "on" or "off" but instead is momentarily pressed. Some events can have variations in the type of event that is emitted. For example, maybe your remote control is capable of emitting a single press, a double press, or a long press.
|
||||
These events do not capture a state in the traditional sense. For example, a doorbell does not have a state such as "on" or "off" but instead is momentarily pressed. Some events can have variations in the type of event that is emitted. For example, maybe your remote control is capable of emitting a single press, a double press, or a long press.
|
||||
|
||||
The event entity can capture these events in the physical world and makes them available in Home Assistant as an entity.
|
||||
|
||||
@ -21,9 +21,12 @@ The event entity can capture these events in the physical world and makes them a
|
||||
|
||||
## The state of an event entity
|
||||
|
||||
The event entity is stateless, as in, it cannot have a state like the `on` or `off` state that, for example, a normal switch or light entity has.
|
||||
The event entity does not capture a state such as `on` or `off`. Instead, an event entity keeps track of the timestamp when the emitted event has last been detected.
|
||||
|
||||
Therefore, every event entity keeps track of the timestamp when the emitted event has last been detected.
|
||||
<p class='img'>
|
||||
<img src='/images/integrations/event/event_timestamp.png' alt='Event entity with timestamp value in state and event type "pressed"'>
|
||||
Event entity with a timestamp value in state and event type "pressed".
|
||||
</p>
|
||||
|
||||
Because the state of an event entity in Home Assistant is a timestamp, it means we can use it in our automations. For example:
|
||||
|
||||
|
@ -83,7 +83,7 @@ This entity reflects the duty you have scheduled, the value can be `on` = on dut
|
||||
### Incident response switch
|
||||
|
||||
With this switch you can respond to an incident, either by manually controlling the switch via the GUI, or by using an automation action.
|
||||
It gets reset to `unknown` value with every incident received. Switching it to `on` means you send a response acknowledgement, switching it back `off` sends a response rejected.
|
||||
It gets reset to `unknown` value with every incident received. Switching it to `on` means you send a response acknowledgment, switching it back `off` sends a response rejected.
|
||||
|
||||
The following attributes are available:
|
||||
|
||||
|
@ -139,11 +139,11 @@ automation:
|
||||
|
||||
```
|
||||
|
||||
### Automation: Phone notification with Wi-fi credentials when guest Wi-fi is created
|
||||
### Automation: Phone notification with Wi-Fi credentials when guest Wi-Fi is created
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
- alias: "Guests Wi-fi Turned On -> Send Password To Phone"
|
||||
- alias: "Guests Wi-Fi Turned On -> Send Password To Phone"
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: switch.fritzbox_7530_wifi_myssid
|
||||
|
@ -42,7 +42,7 @@ frontend:
|
||||
required: false
|
||||
type: list
|
||||
development_repo:
|
||||
description: Allows you to point to a directory containing frontend files instead of taking them from a pre-built PyPI package. Useful for Frontend development.
|
||||
description: Allows you to point to a directory containing frontend files instead of taking them from a prebuilt PyPI package. Useful for Frontend development.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
@ -1,12 +1,12 @@
|
||||
---
|
||||
title: Gaviota
|
||||
description: Connect and control your Gaviota devices using the Motion Blinds integration
|
||||
description: Connect and control your Gaviota devices using the Motionblinds integration
|
||||
ha_category:
|
||||
- Cover
|
||||
ha_domain: gaviota
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: motion_blinds
|
||||
ha_supporting_integration: Motion Blinds
|
||||
ha_supporting_integration: Motionblinds
|
||||
ha_release: 2020.12
|
||||
ha_codeowners:
|
||||
- '@starkillerOG'
|
||||
|
@ -66,26 +66,27 @@ To use Google Assistant, your Home Assistant configuration has to be [externally
|
||||
|
||||
3. Select the **Develop** tab at the top of the page, then, in the upper right hand corner, select the **Test** button to generate the draft version Test App. If you don't see this option, go to the **Test** tab instead, select the **Settings** button in the top right below the header, and ensure **On device testing** is enabled (if it isn't, enable it).
|
||||
|
||||
4. Go to [Google Cloud Platform](https://console.cloud.google.com/).
|
||||
1. Go to **Select a project**.
|
||||
2. In the window that popped up, select your newly created project from step 1.
|
||||
3. Go to the menu and select **APIs and Services** and next **Credentials**.
|
||||
4. In the **Credentials** view, select **Create credentials** and next **Service account**.
|
||||
4. Enable device sync ([see below for more information](#enable-device-sync)).
|
||||
1. Go to [Google Cloud Platform](https://console.cloud.google.com/).
|
||||
2. Go to **Select a project**.
|
||||
3. In the window that popped up, select your newly created project from step 1.
|
||||
4. Go to the menu and select **APIs and Services** and next **Credentials**.
|
||||
5. In the **Credentials** view, select **Create credentials** and next **Service account**.
|
||||
1. **Service account name**: Give your account a self-selected name.
|
||||
2. Select **Create and Continue**.
|
||||
3. Under **Select a role**, select **Service Accounts** > **Service Account Token Creator**.
|
||||
4. Select **Continue** and then **Done**.
|
||||
5. Under **Service Accounts**, there should now be an account called [name from 4.1]@[projectname].iam.gserviceaccount.com.
|
||||
6. Select the pencil button of that service account.
|
||||
7. Go to **Keys** and **Add key**.
|
||||
8. Create a private key, make sure it is in JSON format.
|
||||
9. This will start a download of a JSON file.
|
||||
6. Under **Service Accounts**, there should now be an account called [name from 4.1]@[projectname].iam.gserviceaccount.com.
|
||||
7. Select the pencil button of that service account.
|
||||
8. Go to **Keys** and **Add key**.
|
||||
9. Create a private key in JSON format.
|
||||
10. This will start a download of a JSON file.
|
||||
1. Rename the file to `SERVICE_ACCOUNT.JSON`.
|
||||
2. Add this file to your config-folder. This will be the same folder as your `configuration.yaml`.
|
||||
10. Go back to [Google Cloud Platform](https://console.cloud.google.com/) and select **Close**.
|
||||
11. Then select **Save**.
|
||||
12. Go to the **Search products and resources** and search for **Homegraph API** and select it.
|
||||
13. Enable the HomeGraph API.
|
||||
11. Go back to [Google Cloud Platform](https://console.cloud.google.com/) and select **Close**.
|
||||
12. Then select **Save**.
|
||||
13. Go to the **Search products and resources** and search for **Homegraph API** and select it.
|
||||
14. Enable the HomeGraph API.
|
||||
|
||||
5. Add the `google_assistant` integration configuration to your `configuration.yaml` file and restart Home Assistant following the [configuration guide](#yaml-configuration) below.
|
||||
6. Add services in the Google Home App (note that app versions may be slightly different).
|
||||
@ -117,23 +118,9 @@ If you want to allow other household users to control the devices:
|
||||
|
||||
If you want to support active reporting of state to Google's server (configuration option `report_state`) and synchronize Home Assistant devices with the Google Home app (`google_assistant.request_sync` service), you will need to create a service account. It is recommended to set up this configuration key as it also allows the usage of the following command, "Ok Google, sync my devices". Once you have set up this component, you will need to call this service (or command) each time you add a new device in Home Assistant that you wish to control via the Google Assistant integration. This allows you to update devices without unlinking and relinking an account (see [below](#troubleshooting)).
|
||||
|
||||
1. Service Account
|
||||
1. In the Google Cloud Platform Console, go to the [Create Service account key](https://console.cloud.google.com/iam-admin/serviceaccounts/create) page.
|
||||
2. At the top left of the page next to "Google Cloud Platform" logo, select your project created in the Actions on Google console. Confirm this by reviewing the project ID and it ensure it matches.
|
||||
3. From the Service account list, select **Create service account**.
|
||||
4. In the **Service account name** field, enter a name.
|
||||
5. In the **Service account ID** field, enter an ID.
|
||||
6. Under **Select a role**, select **Service Accounts** > **Service Account Token Creator**.
|
||||
7. Select **Continue** and then **Done**. You are returned to the service account list, and your new account is shown.
|
||||
8. Select the three dots menu under **Actions** next to your new account, and select **Manage keys**. You are taken to a **Keys** page.
|
||||
9. Select **Add key** then **Create new key**. Leave the **key type** as **JSON** and select **Create**. A JSON file that contains your key downloads to your computer.
|
||||
10. Use the information in this file or the file directly to add to the `service_account` key in the configuration.
|
||||
11. Select **Close**.
|
||||
2. HomeGraph API
|
||||
1. Go to the [Google API Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview).
|
||||
2. At the top left of the page next to "Google Cloud Platform" logo, select your project created in the Actions on Google console. Confirm this by reviewing the project ID and it ensure it matches.
|
||||
3. Select **Enable HomeGraph API**.
|
||||
3. Try "OK Google, sync my devices" - the Google Home app should import your exposed Home Assistant devices and prompt you to assign them to rooms.
|
||||
The service account is created by following Step 4 (Enable device sync) in the previous section [Google Cloud Platform configuration](#google-cloud-platform-configuration).
|
||||
|
||||
Try it with "OK Google, sync my devices" - the Google Home app should import your exposed Home Assistant devices and prompt you to assign them to rooms.
|
||||
|
||||
### Enable local fulfillment
|
||||
|
||||
@ -159,14 +146,18 @@ For secure remote access, use a reverse proxy such as the {% my supervisor_addon
|
||||
|
||||
1. Open the project you created in the [Actions on Google console](https://console.actions.google.com/).
|
||||
2. Select **Develop** on the top of the page, then select **Actions** located in the hamburger menu on the top left.
|
||||
3. Upload `app.js` from [here](https://github.com/NabuCasa/home-assistant-google-assistant-local-sdk/releases/latest) for both Node and Chrome by selecting the **Upload JavaScript files** button.
|
||||
4. Add device scan configuration:
|
||||
3. Upload Javascript files
|
||||
1. Download `app.js` from [here](https://github.com/NabuCasa/home-assistant-google-assistant-local-sdk/releases/latest)
|
||||
2. Select the **Upload JavaScript files** button.
|
||||
3. Select **Upload your JavaScript targeting Node** and upload the `app.js` from step 3.1.
|
||||
4. Select **Upload your JavaScript targeting Chrome (browser)** and upload the `app.js` from step 3.1.
|
||||
4. Check the box **Support local query** under **Add capabilities**.
|
||||
5. Add device scan configuration:
|
||||
1. Select **+ New scan config** if no configuration exists.
|
||||
2. Select **MDNS**.
|
||||
3. Set **MDNS service name** to `_home-assistant._tcp.local`
|
||||
4. Select **Add field**, then under **Select a field**, choose **Name**.
|
||||
5. Enter a new **Value** field set to `.*\._home-assistant\._tcp\.local`
|
||||
5. Check the box **Support local query** under **Add capabilities**.
|
||||
6. Save your changes.
|
||||
7. Either wait for 30 minutes, or restart all your Google Assistant devices.
|
||||
8. Restart Home Assistant Core.
|
||||
@ -373,13 +364,13 @@ This error may occur if the service key is invalid. Try deleting and creating a
|
||||
|
||||
#### NGINX
|
||||
|
||||
When using NGINX, ensure that your `proxy_pass` line *does not* have a trailing `/`, as this will result in errors. Your line should look like:
|
||||
When using NGINX, ensure that your `proxy_pass` line _does not_ have a trailing `/`, as this will result in errors. Your line should look like:
|
||||
|
||||
proxy_pass http://localhost:8123;
|
||||
|
||||
### Unlink and relink
|
||||
|
||||
If you're having trouble with *Account linking failed* after you unlinked your service, try clearing the browser history and cache.
|
||||
If you're having trouble with _Account linking failed_ after you unlinked your service, try clearing the browser history and cache.
|
||||
|
||||
### Failed linking - Could not update the setting. Please check your connection
|
||||
|
||||
|
@ -69,24 +69,76 @@ The integration setup will next give you instructions to enter the [Application
|
||||
|
||||
{% enddetails %}
|
||||
|
||||
## Enable personal results (for advanced users)
|
||||
|
||||
This guide shows you how to enable personal commands such as "remind me tomorrow at 9 pm to take out the trash".
|
||||
|
||||
This guide is for advanced users only. It requires creating an OAuth client ID of the Desktop app, running a Python program on your desktop or laptop, copying the resulting credentials to your Home Assistant config files, and likely running an Android emulator.
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- Successfully installed the Google Assistant integration.
|
||||
|
||||
{% details "Create credentials" %}
|
||||
|
||||
1. Navigate to [Google Developers Console > Credentials](https://console.cloud.google.com/apis/credentials).
|
||||
2. Select the project you created earlier from the dropdown menu in the upper left corner.
|
||||
3. Select **Create credentials** (at the top of the screen), then select **OAuth client ID**.
|
||||
4. Set the Application type to **Desktop app** and give this credential set a name (like "Home Assistant Desktop Credentials").
|
||||
5. Select **Create**.
|
||||
6. In the OAuth client-created screen, select **Download JSON**.
|
||||
7. Rename the downloaded file to `client_secret.json`.
|
||||
8. On your Windows, Linux, or Mac machine, download Python if you don't have it already.
|
||||
9. Open the terminal (on Windows, select **Start** and then type `cmd`).
|
||||
10. In the terminal, run the following commands (preferably in a Python virtual environment):
|
||||
11. `python -m pip install --upgrade google-auth-oauthlib[tool]`
|
||||
- Under Windows: `google-oauthlib-tool --scope https://www.googleapis.com/auth/assistant-sdk-prototype --scope https://www.googleapis.com/auth/gcm --save --client-secrets %userprofile%\Downloads\client_secret.json`
|
||||
- Under Linux: `google-oauthlib-tool --scope https://www.googleapis.com/auth/assistant-sdk-prototype --scope https://www.googleapis.com/auth/gcm --save --client-secrets ~/Downloads/client_secret.json`
|
||||
- **Result**: A browser window will open, asking you to select the account to continue to the cloud project you created earlier.
|
||||
12. Once you select the correct account, select both checkboxes:
|
||||
- **Use your Google Assistant: broad access to your Google account**
|
||||
- **Send information to your Android device**
|
||||
13. Select **Continue**.
|
||||
- **Result**: If everything was successful, you will get a **The authentication flow has completed. You may close this window** message in your browser.
|
||||
- In your terminal you will see the path where the credentials were saved. For example: `credentials saved: C:\Users\user\AppData\Roaming\google-oauthlib-tool\credentials.json`
|
||||
14. Open the `credentials.json` in a text editor. Keep it open since you will need to copy several values from it.
|
||||
15. In the file editor of your Home Assistant, typically http://homeassistant.local:8123/core_configurator, open `/homeassistant/.storage/application_credentials`.
|
||||
- Locate the entry for `google_assistant_sdk` and modify `client_id` and `client_secret` to match the ones from `credentials.json`.
|
||||
- Save the file.
|
||||
16. Open `/homeassistant/.storage/core.config_entries`.
|
||||
- Locate the entry for `google_assistant_sdk` and modify `refresh_token` to match the one from `credentials.json`.
|
||||
- Save the file.
|
||||
17. Restart Home Assistant.
|
||||
|
||||
{% enddetails %}
|
||||
|
||||
{% details "Enable personal results" %}
|
||||
|
||||
1. Go to **{% my developer_services title="Developer Tools > Services" %}** and issue a query that requires personal results, for example call `google_assistant_sdk.send_text_command` with `command: "what is my name"`
|
||||
2. On your phone, you should receive a notification **Allow personal answers** **Allow Google Assistant to answer your questions about your calendar, trips, and more**.
|
||||
3. DO NOT tap on **ALLOW** (it won't work until you enter a device name). Instead, tap on the notification text.
|
||||
4. If the app doesn't open, you need to retry on a device running Android 12. If you don't have such a device, you can use an Android emulator.
|
||||
5. Tap on **Device Name**, enter any device name (like Home Assistant), and tap on **OK**.
|
||||
6. Only after having a non-empty device name, enable the checkbox next to **Personal results**.
|
||||
|
||||
{% enddetails %}
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
If you have an error with your credentials you can delete them in the [Application Credentials](/integrations/application_credentials/) user interface.
|
||||
|
||||
If commands don't work try removing superfluous words such as "the". E.g. "play rain sounds on bedroom speaker" instead of "play rain sounds on the bedroom speaker".
|
||||
|
||||
If broadcasting doesn't work, make sure: the speakers aren't in do not disturb mode, the Home Assistant server is in the same network as the speakers, and IPv6 is disabled in the router.
|
||||
If broadcasting doesn't work, make sure: the speakers aren't in do not disturb mode, the Home Assistant server is in the same network as the speakers.
|
||||
|
||||
The easiest way to check if the integration is working is to check [My Google Activity](https://myactivity.google.com/myactivity) for the issued commands and their responses.
|
||||
|
||||
## Limitations/known issues
|
||||
|
||||
- Multiple Google accounts are not supported.
|
||||
- Personal results are not supported yet since that requires creating an OAuth client ID of the Desktop app.
|
||||
- If you see the issued commands in [My Google Activity](https://myactivity.google.com/myactivity), the integration is working fine. If the commands don't have the expected outcome, don't open an issue in the Home Assistant Core project or the [underlying library](https://github.com/tronikos/gassist_text). You should instead report the issue directly to Google [here](https://github.com/googlesamples/assistant-sdk-python/issues). Examples of known Google Assistant API issues:
|
||||
- Media playback commands (other than play news, play podcast, play white noise, or play rain sounds) don't work.
|
||||
- Routines don't work.
|
||||
- Broadcast doesn't work with IPv6.
|
||||
- Broadcast to specific rooms often doesn't work for non-English languages.
|
||||
- Commands that need to verify your identity through voice match do not work.
|
||||
|
||||
|
@ -55,7 +55,7 @@ device_tracker:
|
||||
|
||||
Once enabled and you have rebooted devices discovered through this integration will be listed in the `known_devices.yaml` file within your configuration directory.
|
||||
|
||||
They will be created with indentifiers like `google_maps_<numeric_id>`. To be able to properly track entities you must set the `track` attribute to `true`.
|
||||
They will be created with identifiers like `google_maps_<numeric_id>`. To be able to properly track entities you must set the `track` attribute to `true`.
|
||||
|
||||
{% configuration %}
|
||||
username:
|
||||
|
@ -17,6 +17,12 @@ ha_platforms:
|
||||
The **Google Tasks** integration allows you to connect your [Google Tasks](https://support.google.com/tasks/answer/7675772) to Home Assistant. The integration adds a [to-do list entity](/integrations/todo) for
|
||||
each task list, allowing you to create, update, or delete items on the list from the **To-do list** dashboard.
|
||||
|
||||
<div class='note'>
|
||||
|
||||
The Google Tasks public API does not support viewing or setting the due time of tasks, only the due date.
|
||||
|
||||
</div>
|
||||
|
||||
## Prerequisites
|
||||
|
||||
You need to configure developer credentials to allow Home Assistant to access your Google Account.
|
||||
|
@ -22,4 +22,62 @@ To enable local control on your Govee device, refer to the instructions availabl
|
||||
|
||||
## Supported devices
|
||||
|
||||
H619Z, H6072, H619C, H7060, H619B, H6066, H619D, H619E, H61A1, H61A3, H61A2, H618A, H619A, H61A0, H6117, H6159, H6163, H6056, H6076, H6062, H6061, H6046, H6047, H6065, H6087, H610A, H610B, H6172, H61B2, H61E1, H7061, H7062, H7065, H6067, H6059, H6051, H6073, H618F, H7050, H61A5, H618C, H618E, H61A8, H7055, H6078, H705A, H6168, H705B, H7041, H7042, H615E, H7051, H7028, H6173, H7013, H7012, H7021, H70C1
|
||||
H6046,
|
||||
H6047,
|
||||
H6051,
|
||||
H6056,
|
||||
H6059,
|
||||
H6061,
|
||||
H6062,
|
||||
H6065,
|
||||
H6066,
|
||||
H6067,
|
||||
H6072,
|
||||
H6073,
|
||||
H6076,
|
||||
H6078,
|
||||
H6087,
|
||||
H610A,
|
||||
H610B,
|
||||
H6117,
|
||||
H6159,
|
||||
H615E,
|
||||
H6163,
|
||||
H6168,
|
||||
H6172,
|
||||
H6173,
|
||||
H618A,
|
||||
H618C,
|
||||
H618E,
|
||||
H618F,
|
||||
H619A,
|
||||
H619B,
|
||||
H619C,
|
||||
H619D,
|
||||
H619E,
|
||||
H619Z,
|
||||
H61A0,
|
||||
H61A1,
|
||||
H61A2,
|
||||
H61A3,
|
||||
H61A5,
|
||||
H61A8,
|
||||
H61B2,
|
||||
H61E1,
|
||||
H7012,
|
||||
H7013,
|
||||
H7021,
|
||||
H7028,
|
||||
H7041,
|
||||
H7042,
|
||||
H7050,
|
||||
H7051,
|
||||
H7055,
|
||||
H705A,
|
||||
H705B,
|
||||
H7060,
|
||||
H7061,
|
||||
H7062,
|
||||
H7065,
|
||||
H706A,
|
||||
H70C1
|
||||
|
@ -8,6 +8,7 @@ ha_config_flow: true
|
||||
ha_iot_class: Local Polling
|
||||
ha_codeowners:
|
||||
- '@fabaff'
|
||||
- '@jrieger'
|
||||
ha_domain: gpsd
|
||||
ha_platforms:
|
||||
- sensor
|
||||
|
@ -253,7 +253,7 @@ name:
|
||||
required: false
|
||||
type: string
|
||||
unique_id:
|
||||
description: An ID that uniquely identifies this group. If two groups have the same unique ID, Home Assistant will raise an error. Giving an group a unique ID allow the group name, icon and area to be customized via the UI.
|
||||
description: An ID that uniquely identifies this group. If two groups have the same unique ID, Home Assistant will raise an error. Giving the group a unique ID allows the group name, icon and area to be customized via the UI.
|
||||
required: false
|
||||
type: string
|
||||
all:
|
||||
|
@ -13,9 +13,4 @@ ha_integration_type: system
|
||||
|
||||
The Hardware integration provides an API which offers information about certain board types, USB dongles, and resource usage.
|
||||
|
||||
This integration is by default enabled, unless you've disabled or removed the [`default_config:`](/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
hardware:
|
||||
```
|
||||
This integration is enabled by default.
|
||||
|
@ -1,12 +1,12 @@
|
||||
---
|
||||
title: Havana Shade
|
||||
description: Connect and control your Havana Shade devices using the Motion Blinds integration
|
||||
description: Connect and control your Havana Shade devices using the Motionblinds integration
|
||||
ha_category:
|
||||
- Cover
|
||||
ha_domain: havana_shade
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: motion_blinds
|
||||
ha_supporting_integration: Motion Blinds
|
||||
ha_supporting_integration: Motionblinds
|
||||
ha_release: 2020.12
|
||||
ha_codeowners:
|
||||
- '@starkillerOG'
|
||||
|
@ -11,6 +11,7 @@ ha_platforms:
|
||||
- calendar
|
||||
ha_codeowners:
|
||||
- '@jrieger'
|
||||
- '@gjohansson-ST'
|
||||
ha_integration_type: integration
|
||||
---
|
||||
|
||||
|
@ -1,19 +1,38 @@
|
||||
---
|
||||
title: Legrand Home+ Control
|
||||
description: Instructions on how to integrate Legrand Home+ Control into Home Assistant.
|
||||
description: Connect and control your Legrand Home+ Control devices using the Netatmo integration
|
||||
ha_category:
|
||||
- Camera
|
||||
- Climate
|
||||
- Cover
|
||||
- Environment
|
||||
- Fan
|
||||
- Hub
|
||||
- Light
|
||||
- Media source
|
||||
- Sensor
|
||||
- Switch
|
||||
ha_release: 2021.4
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_codeowners:
|
||||
- '@chemaaa'
|
||||
ha_config_flow: true
|
||||
- Weather
|
||||
ha_release: '0.20'
|
||||
ha_domain: home_plus_control
|
||||
ha_platforms:
|
||||
- switch
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: netatmo
|
||||
ha_supporting_integration: Netatmo
|
||||
ha_codeowners:
|
||||
- '@cgtobi'
|
||||
ha_config_flow: true
|
||||
ha_platforms:
|
||||
- camera
|
||||
- climate
|
||||
- cover
|
||||
- diagnostics
|
||||
- fan
|
||||
- light
|
||||
- select
|
||||
- sensor
|
||||
- switch
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_homekit: true
|
||||
---
|
||||
|
||||
{% include integrations/supported_brand.md %}
|
||||
|
@ -116,7 +116,7 @@ You can add a HomeKit [compatible device](#supported-devices) to Home Assistant
|
||||
|
||||
## Adding a HomeKit device through Thread
|
||||
|
||||
This section shows the the ways you can join a HomeKit device to a {% term Thread %} network:
|
||||
This section shows the ways you can join a HomeKit device to a {% term Thread %} network:
|
||||
|
||||
1. via Home Assistant
|
||||
2. via Apple Thread border router
|
||||
|
@ -64,14 +64,14 @@ Sensors for P1 meter, only available when smart meter exposes these values:
|
||||
- **Frequency (Hz)**: Net frequency.
|
||||
- **Voltage sags and swells**: Number of times a voltage sag or well has been detected.
|
||||
- **Power failures**: Two sensors that indicate the number of power failures that have been detected by the smart meter. One for all power failures and another for 'long' power failures.
|
||||
- **Peak demand**: Belgium users are started to get charged for the peak usage per month (see [capaciteitstarief](https://www.fluvius.be/thema/factuur-en-tarieven/capaciteitstarief)). Two sensors are available: One that shows the current quarterly average and another that shows the peak measured this month. Both these sensors are provided directly from the smart meter and can be used to keep the peak as low as possible.
|
||||
- **Peak demand**: Belgium users are starting to get charged for the peak usage per month (see [capaciteitstarief](https://www.fluvius.be/thema/factuur-en-tarieven/capaciteitstarief)). Two sensors are available: One that shows the current quarterly average and another that shows the peak measured this month. Both these sensors are provided directly from the smart meter and can be used to keep the peak as low as possible.
|
||||
|
||||
Sensors for kWh meter:
|
||||
- **Voltage (V)**: Active voltage that is measured on each phase.
|
||||
- **Current (A)**: Active current that is measured on each phase.
|
||||
- **Frequency (Hz)**: Net frequency.
|
||||
- **Reactive power (VAR)**: Active reactive power measurent on each phase.
|
||||
- **Apparent power (VA)**: Active reactie power measurent on each phase.
|
||||
- **Reactive power (VAR)**: Active reactive power measurement on each phase.
|
||||
- **Apparent power (VA)**: Active apparent power measurement on each phase.
|
||||
|
||||
Sensors for Water meter:
|
||||
|
||||
|
@ -45,7 +45,7 @@ If you'd like to use those `grouped lights`, you can enable them from Settings -
|
||||
|
||||
## Scenes
|
||||
|
||||
In the Hue concept you can create (dynamic) scenes for the lights within rooms and zones. You can create, edit and delete Hue scenes from the (official) Hue app on iOS and Android. Each Zone/Room can have it's own scenes assigned and there is a large library of precreated scenes for specific moods. These Hue scenes are automatically imported in Home Assistant and they're available as `scene entities`. Creating or editing Hue scenes in Home Assistant is not supported.
|
||||
In the Hue concept you can create (dynamic) scenes for the lights within rooms and zones. You can create, edit and delete Hue scenes from the (official) Hue app on iOS and Android. Each Zone/Room can have its own scenes assigned and there is a large library of preset scenes for specific moods. These Hue scenes are automatically imported in Home Assistant and they're available as `scene entities`. Creating or editing Hue scenes in Home Assistant is not supported.
|
||||
|
||||
It is advised to use Hue scenes for controlling multiple lights at once for a smooth experience. If you individually control multiple lights and/or use Home Assistant scenes, each light command will be sent to each light one by one which doesn't give a very good user experience, while using a Hue scene sends commands to all lights at once in an optimized way, resulting in a smooth experience.
|
||||
|
||||
@ -59,7 +59,7 @@ To have more control over Hue scenes we've implemented a secondary, more advance
|
||||
| `transition` | no | Transition duration (in seconds) it takes to bring devices to the state defined in the scene. |
|
||||
| `dynamic` | no | Enable (true) or Disable (false) dynamic mode for the scene. |
|
||||
| `speed` | no | Set the speed (of the dynamic palette) for this scene. |
|
||||
| `brightness` | no | Set the brightnes for this scene. |
|
||||
| `brightness` | no | Set the brightness for this scene. |
|
||||
|
||||
You can use this service for example if you'd like to start/stop Dynamic Mode.
|
||||
|
||||
|
@ -1,12 +1,12 @@
|
||||
---
|
||||
title: Hurrican Shutters Wholesale
|
||||
description: Connect and control your Hurrican Shutters Wholesale devices using the Motion Blinds integration
|
||||
description: Connect and control your Hurrican Shutters Wholesale devices using the Motionblinds integration
|
||||
ha_category:
|
||||
- Cover
|
||||
ha_domain: hurrican_shutters_wholesale
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: motion_blinds
|
||||
ha_supporting_integration: Motion Blinds
|
||||
ha_supporting_integration: Motionblinds
|
||||
ha_release: 2020.12
|
||||
ha_codeowners:
|
||||
- '@starkillerOG'
|
||||
|
@ -37,7 +37,7 @@ The default InfluxDB configuration doesn't enforce authentication. If you have i
|
||||
influxdb:
|
||||
```
|
||||
|
||||
You will still need to create a database named `home_assistant` via InfluxDB's command-line interface. For instructions on how to create a database check the [InfluxDB documentation](https://docs.influxdata.com/influxdb/latest/introduction/getting_started/#creating-a-database) relevant to the version you have installed.
|
||||
You will still need (not for version 2) to create a database named `home_assistant` via InfluxDB's command-line interface. For instructions on how to create a database check the [InfluxDB documentation](https://docs.influxdata.com/influxdb/latest/introduction/getting_started/#creating-a-database) relevant to the version you have installed.
|
||||
|
||||
{% configuration %}
|
||||
api_version:
|
||||
|
@ -1,12 +1,12 @@
|
||||
---
|
||||
title: Inspired Shades
|
||||
description: Connect and control your Inspired Shades devices using the Motion Blinds integration
|
||||
description: Connect and control your Inspired Shades devices using the Motionblinds integration
|
||||
ha_category:
|
||||
- Cover
|
||||
ha_domain: inspired_shades
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: motion_blinds
|
||||
ha_supporting_integration: Motion Blinds
|
||||
ha_supporting_integration: Motionblinds
|
||||
ha_release: 2020.12
|
||||
ha_codeowners:
|
||||
- '@starkillerOG'
|
||||
|
@ -1,12 +1,12 @@
|
||||
---
|
||||
title: iSmartWindow
|
||||
description: Connect and control your iSmartWindow devices using the Motion Blinds integration
|
||||
description: Connect and control your iSmartWindow devices using the Motionblinds integration
|
||||
ha_category:
|
||||
- Cover
|
||||
ha_domain: ismartwindow
|
||||
ha_integration_type: virtual
|
||||
ha_supporting_domain: motion_blinds
|
||||
ha_supporting_integration: Motion Blinds
|
||||
ha_supporting_integration: Motionblinds
|
||||
ha_release: 2020.12
|
||||
ha_codeowners:
|
||||
- '@starkillerOG'
|
||||
|
@ -11,8 +11,8 @@ ha_codeowners:
|
||||
- '@msavazzi'
|
||||
ha_domain: jvc_projector
|
||||
ha_platforms:
|
||||
- remote
|
||||
- binary_sensor
|
||||
- remote
|
||||
ha_integration_type: device
|
||||
---
|
||||
|
||||
|
@ -4,11 +4,19 @@ description: Instructions on how to integrate your La Marzocco coffee machine wi
|
||||
ha_release: 2024.2
|
||||
ha_category:
|
||||
- Switch
|
||||
- Update
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_config_flow: true
|
||||
ha_domain: lamarzocco
|
||||
ha_platforms:
|
||||
- binary_sensor
|
||||
- button
|
||||
- diagnostics
|
||||
- number
|
||||
- select
|
||||
- sensor
|
||||
- switch
|
||||
- update
|
||||
ha_codeowners:
|
||||
- '@zweckj'
|
||||
ha_integration_type: device
|
||||
@ -95,4 +103,3 @@ Host:
|
||||
|-------------|-------------| ------------------------| ---------------------- |
|
||||
| Prebrew/-infusion mode | Whether to use prebrew, preinfusion, or neither | Disabled, Prebrew, Preinfusion | Linea Micra, Linea Mini, GS3 AV |
|
||||
| Steam level | The level your steam boiler should run at | 1,2,3 | Linea Micra |
|
||||
|
||||
|
@ -6,6 +6,7 @@ ha_category:
|
||||
- Climate
|
||||
- Cover
|
||||
- Environment
|
||||
- Fan
|
||||
- Hub
|
||||
- Light
|
||||
- Media source
|
||||
@ -25,6 +26,7 @@ ha_platforms:
|
||||
- climate
|
||||
- cover
|
||||
- diagnostics
|
||||
- fan
|
||||
- light
|
||||
- select
|
||||
- sensor
|
||||
|
@ -130,7 +130,7 @@ logger:
|
||||
logs:
|
||||
custom_components.my_integration: critical
|
||||
filters:
|
||||
custom_component.my_integration:
|
||||
custom_components.my_integration:
|
||||
- "HTTP 429" # Filter all HTTP 429 errors
|
||||
- "Request to .*unreliable.com.* Timed Out"
|
||||
homeassistant.components.nws:
|
||||
|
@ -17,6 +17,7 @@ ha_platforms:
|
||||
- binary_sensor
|
||||
- switch
|
||||
ha_integration_type: integration
|
||||
ha_config_flow: true
|
||||
---
|
||||
|
||||
The `lupusec` integration allows the user to integrate their Lupusec alarm control panel and ultimately all connected sensors and other devices. For more information about the LUPUS-Electronics security system please visit their [website](https://www.lupus-electronics.de).
|
||||
|
@ -12,7 +12,7 @@ ha_release: 0.37
|
||||
ha_iot_class: Local Polling
|
||||
ha_codeowners:
|
||||
- '@cdheiser'
|
||||
- '@wilburCforce'
|
||||
- '@wilburCForce'
|
||||
ha_domain: lutron
|
||||
ha_platforms:
|
||||
- binary_sensor
|
||||
@ -22,6 +22,7 @@ ha_platforms:
|
||||
- scene
|
||||
- switch
|
||||
ha_integration_type: integration
|
||||
ha_config_flow: true
|
||||
---
|
||||
|
||||
[Lutron](http://www.lutron.com/) is an American lighting control company. They have several lines of home automation devices that manage light switches/dimmers, occupancy sensors, HVAC controls, etc. The `lutron` integration in Home Assistant is responsible for communicating with the main hub for these systems.
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user