mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-13 20:36:52 +00:00
Merge branch 'current' into next
This commit is contained in:
commit
05d5712f82
@ -9,22 +9,24 @@
|
||||
}
|
||||
},
|
||||
"appPort": [4000],
|
||||
"postCreateCommand": "bundle install && npm install",
|
||||
"onCreateCommand": "bundle install && npm install",
|
||||
"containerEnv": { "DEVCONTAINER": "true" },
|
||||
"extensions": [
|
||||
"davidanson.vscode-markdownlint",
|
||||
"editorconfig.editorconfig",
|
||||
"GitHub.vscode-pull-request-github",
|
||||
"mrmlnc.vscode-scss",
|
||||
"rebornix.Ruby",
|
||||
"streetsidesoftware.code-spell-checker",
|
||||
"taichi.vscode-textlint",
|
||||
"yzhang.markdown-all-in-one"
|
||||
],
|
||||
"settings": {
|
||||
"editor.rulers": [80, 100, 120],
|
||||
"editor.renderWhitespace": "boundary",
|
||||
"errorLens.gutterIconsEnabled": true,
|
||||
"errorLens.addAnnotationTextPrefixes": false,
|
||||
"errorLens.enabledDiagnosticLevels": ["error", "warning"],
|
||||
"terminal.integrated.shell.linux": "/usr/bin/zsh"
|
||||
"editor.rulers": [80, 100, 120],
|
||||
"gitlens.showWelcomeOnInstall": false,
|
||||
"gitlens.showWhatsNewAfterUpgrades": false,
|
||||
"terminal.integrated.shell.linux": "/usr/bin/zsh",
|
||||
"workbench.startupEditor": "none"
|
||||
}
|
||||
}
|
||||
|
2
.github/workflows/stale.yml
vendored
2
.github/workflows/stale.yml
vendored
@ -11,7 +11,7 @@ jobs:
|
||||
pull-requests: write
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v6.0.0
|
||||
- uses: actions/stale@v6.0.1
|
||||
if: ${{ github.repository_owner == 'home-assistant' }}
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
8
.github/workflows/test.yml
vendored
8
.github/workflows/test.yml
vendored
@ -8,9 +8,9 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out files from GitHub
|
||||
uses: actions/checkout@v3.0.2
|
||||
uses: actions/checkout@v3.1.0
|
||||
- name: Setting up Node.js
|
||||
uses: actions/setup-node@v3.5.0
|
||||
uses: actions/setup-node@v3.5.1
|
||||
with:
|
||||
node-version: 16.x
|
||||
cache: "npm"
|
||||
@ -25,9 +25,9 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out files from GitHub
|
||||
uses: actions/checkout@v3.0.2
|
||||
uses: actions/checkout@v3.1.0
|
||||
- name: Setting up Node.js
|
||||
uses: actions/setup-node@v3.5.0
|
||||
uses: actions/setup-node@v3.5.1
|
||||
with:
|
||||
node-version: 16.x
|
||||
cache: "npm"
|
||||
|
4
.vscode/extensions.json
vendored
4
.vscode/extensions.json
vendored
@ -2,7 +2,11 @@
|
||||
"recommendations": [
|
||||
"davidanson.vscode-markdownlint",
|
||||
"editorconfig.editorconfig",
|
||||
"GitHub.vscode-pull-request-github",
|
||||
"mrmlnc.vscode-scss",
|
||||
"rebornix.Ruby",
|
||||
"streetsidesoftware.code-spell-checker",
|
||||
"taichi.vscode-textlint",
|
||||
"yzhang.markdown-all-in-one"
|
||||
]
|
||||
}
|
23
CODEOWNERS
23
CODEOWNERS
@ -40,6 +40,7 @@ source/_integrations/android_ip_webcam.markdown @engrbm87
|
||||
source/_integrations/androidtv.markdown @JeffLIrion @ollo69
|
||||
source/_integrations/anthemav.markdown @hyralex
|
||||
source/_integrations/apache_kafka.markdown @bachya
|
||||
source/_integrations/apcupsd.markdown @yuxincs
|
||||
source/_integrations/api.markdown @home-assistant/core
|
||||
source/_integrations/apple_tv.markdown @postlund
|
||||
source/_integrations/application_credentials.markdown @home-assistant/core
|
||||
@ -68,6 +69,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
|
||||
source/_integrations/bayesian.markdown @HarvsG
|
||||
source/_integrations/beewi_smartclim.markdown @alemuro
|
||||
source/_integrations/binary_sensor.markdown @home-assistant/core
|
||||
source/_integrations/bizkaibus.markdown @UgaitzEtxebarria
|
||||
@ -75,6 +77,7 @@ source/_integrations/blebox.markdown @bbx-a @riokuu
|
||||
source/_integrations/blink.markdown @fronzbot
|
||||
source/_integrations/bliss_automation.markdown @starkillerOG
|
||||
source/_integrations/bloc_blinds.markdown @starkillerOG
|
||||
source/_integrations/bluemaestro.markdown @bdraco
|
||||
source/_integrations/blueprint.markdown @home-assistant/core
|
||||
source/_integrations/bluesound.markdown @thrawnarn
|
||||
source/_integrations/bluetooth.markdown @bdraco
|
||||
@ -87,8 +90,11 @@ source/_integrations/broadlink.markdown @danielhiversen @felipediel @L-I-Am
|
||||
source/_integrations/brother.markdown @bieniu
|
||||
source/_integrations/brunt.markdown @eavanvalkenburg
|
||||
source/_integrations/bsblan.markdown @liudger
|
||||
source/_integrations/bswitch.markdown @jafar-atili
|
||||
source/_integrations/bt_smarthub.markdown @jxwolstenholme
|
||||
source/_integrations/bthome.markdown @Ernst79
|
||||
source/_integrations/bticino.markdown @cgtobi
|
||||
source/_integrations/bubendorff.markdown @cgtobi
|
||||
source/_integrations/buienradar.markdown @mjj4791 @ties @Robbie1221
|
||||
source/_integrations/button.markdown @home-assistant/core
|
||||
source/_integrations/calendar.markdown @home-assistant/core
|
||||
@ -147,7 +153,7 @@ source/_integrations/dnsip.markdown @gjohansson-ST
|
||||
source/_integrations/doorbird.markdown @oblogic7 @bdraco @flacjacket
|
||||
source/_integrations/dooya.markdown @starkillerOG
|
||||
source/_integrations/dsmr.markdown @Robbie1221 @frenck
|
||||
source/_integrations/dsmr_reader.markdown @depl0y
|
||||
source/_integrations/dsmr_reader.markdown @depl0y @glodenox
|
||||
source/_integrations/dunehd.markdown @bieniu
|
||||
source/_integrations/dwd_weather_warnings.markdown @runningman84 @stephan192 @Hummel95
|
||||
source/_integrations/dynalite.markdown @ziv1234
|
||||
@ -189,6 +195,7 @@ source/_integrations/fan.markdown @home-assistant/core
|
||||
source/_integrations/fastdotcom.markdown @rohankapoorcom
|
||||
source/_integrations/fibaro.markdown @rappenze
|
||||
source/_integrations/file.markdown @fabaff
|
||||
source/_integrations/file_upload.markdown @home-assistant/core
|
||||
source/_integrations/filesize.markdown @gjohansson-ST
|
||||
source/_integrations/filter.markdown @dgomes
|
||||
source/_integrations/fireservicerota.markdown @cyberjunky
|
||||
@ -235,6 +242,7 @@ source/_integrations/goodwe.markdown @mletenay @starkillerOG
|
||||
source/_integrations/google.markdown @allenporter
|
||||
source/_integrations/google_assistant.markdown @home-assistant/cloud
|
||||
source/_integrations/google_cloud.markdown @lufton
|
||||
source/_integrations/google_sheets.markdown @tkdrob
|
||||
source/_integrations/google_travel_time.markdown @eifinger
|
||||
source/_integrations/govee_ble.markdown @bdraco
|
||||
source/_integrations/gpsd.markdown @fabaff
|
||||
@ -244,6 +252,7 @@ source/_integrations/group.markdown @home-assistant/core
|
||||
source/_integrations/growatt_server.markdown @indykoning @muppet3000 @JasperPlant
|
||||
source/_integrations/guardian.markdown @bachya
|
||||
source/_integrations/habitica.markdown @ASMfreaK @leikoilja
|
||||
source/_integrations/hardware.markdown @home-assistant/core
|
||||
source/_integrations/harmony.markdown @ehendrix23 @bramkragten @bdraco @mkeesey @Aohzan
|
||||
source/_integrations/hassio.markdown @home-assistant/supervisor
|
||||
source/_integrations/hdmi_cec.markdown @inytar
|
||||
@ -279,6 +288,7 @@ source/_integrations/hyperion.markdown @dermotduffy
|
||||
source/_integrations/ialarm.markdown @RyuzakiKK
|
||||
source/_integrations/iammeter.markdown @lewei50
|
||||
source/_integrations/iaqualink.markdown @flz
|
||||
source/_integrations/ibeacon.markdown @bdraco
|
||||
source/_integrations/icloud.markdown @Quentame @nzapponi
|
||||
source/_integrations/ign_sismologia.markdown @exxamalte
|
||||
source/_integrations/image.markdown @home-assistant/core
|
||||
@ -316,7 +326,9 @@ source/_integrations/kaleidescape.markdown @SteveEasley
|
||||
source/_integrations/keba.markdown @dannerph
|
||||
source/_integrations/keenetic_ndms2.markdown @foxel
|
||||
source/_integrations/kef.markdown @basnijholt
|
||||
source/_integrations/kegtron.markdown @Ernst79
|
||||
source/_integrations/keyboard_remote.markdown @bendavid @lanrat
|
||||
source/_integrations/keymitt_ble.markdown @spycle
|
||||
source/_integrations/kmtronic.markdown @dgomes
|
||||
source/_integrations/knx.markdown @Julius2342 @farmio @marvin-w
|
||||
source/_integrations/kodi.markdown @OnFreund @cgtobi
|
||||
@ -331,8 +343,10 @@ source/_integrations/launch_library.markdown @ludeeus @DurgNomis-drol
|
||||
source/_integrations/laundrify.markdown @xLarry
|
||||
source/_integrations/lcn.markdown @alengwenus
|
||||
source/_integrations/led_ble.markdown @bdraco
|
||||
source/_integrations/legrand.markdown @cgtobi
|
||||
source/_integrations/leviton_z_wave.markdown @home-assistant/z-wave
|
||||
source/_integrations/lg_netcast.markdown @Drafteed
|
||||
source/_integrations/lidarr.markdown @tkdrob
|
||||
source/_integrations/life360.markdown @pnbruckner
|
||||
source/_integrations/lifx.markdown @bdraco @Djelibeybi
|
||||
source/_integrations/light.markdown @home-assistant/core
|
||||
@ -409,6 +423,7 @@ source/_integrations/nextbus.markdown @vividboarder
|
||||
source/_integrations/nextcloud.markdown @meichthys
|
||||
source/_integrations/nextdns.markdown @bieniu
|
||||
source/_integrations/nfandroidtv.markdown @tkdrob
|
||||
source/_integrations/nibe_heatpump.markdown @elupus
|
||||
source/_integrations/nightscout.markdown @marciogranzotto
|
||||
source/_integrations/nilu.markdown @hfurubotten
|
||||
source/_integrations/nina.markdown @DeerMaximum
|
||||
@ -479,13 +494,14 @@ source/_integrations/pushover.markdown @engrbm87
|
||||
source/_integrations/pvoutput.markdown @frenck
|
||||
source/_integrations/pvpc_hourly_pricing.markdown @azogue
|
||||
source/_integrations/qbittorrent.markdown @geoffreylagaisse
|
||||
source/_integrations/qingping.markdown @bdraco
|
||||
source/_integrations/qingping.markdown @bdraco @skgsergio
|
||||
source/_integrations/qld_bushfire.markdown @exxamalte
|
||||
source/_integrations/qnap_qsw.markdown @Noltari
|
||||
source/_integrations/quantum_gateway.markdown @cisasteelersfan
|
||||
source/_integrations/qvr_pro.markdown @oblogic7
|
||||
source/_integrations/qwikswitch.markdown @kellerza
|
||||
source/_integrations/rachio.markdown @bdraco
|
||||
source/_integrations/radarr.markdown @tkdrob
|
||||
source/_integrations/radio_browser.markdown @frenck
|
||||
source/_integrations/radiotherm.markdown @bdraco @vinnyfuria
|
||||
source/_integrations/rainbird.markdown @konikvranik
|
||||
@ -565,6 +581,7 @@ source/_integrations/smappee.markdown @bsmappee
|
||||
source/_integrations/smart_blinds.markdown @starkillerOG
|
||||
source/_integrations/smart_home.markdown @starkillerOG
|
||||
source/_integrations/smart_meter_texas.markdown @grahamwetzler
|
||||
source/_integrations/smarther.markdown @cgtobi
|
||||
source/_integrations/smartthings.markdown @andrewsayre
|
||||
source/_integrations/smarttub.markdown @mdz
|
||||
source/_integrations/smarty.markdown @z0mbieprocess
|
||||
@ -605,6 +622,7 @@ source/_integrations/swiss_hydrological_data.markdown @fabaff
|
||||
source/_integrations/swiss_public_transport.markdown @fabaff
|
||||
source/_integrations/switch.markdown @home-assistant/core
|
||||
source/_integrations/switch_as_x.markdown @home-assistant/core
|
||||
source/_integrations/switchbee.markdown @jafar-atili
|
||||
source/_integrations/switchbot.markdown @bdraco @danielhiversen @RenierM26 @murtas @Eloston
|
||||
source/_integrations/switcher_kis.markdown @tomerfi @thecode
|
||||
source/_integrations/switchmate.markdown @danielhiversen @qiz-li
|
||||
@ -631,6 +649,7 @@ source/_integrations/thethingsnetwork.markdown @fabaff
|
||||
source/_integrations/threshold.markdown @fabaff
|
||||
source/_integrations/tibber.markdown @danielhiversen
|
||||
source/_integrations/tile.markdown @bachya
|
||||
source/_integrations/tilt_ble.markdown @apt-itude
|
||||
source/_integrations/time_date.markdown @fabaff
|
||||
source/_integrations/tmb.markdown @alemuro
|
||||
source/_integrations/todoist.markdown @boralyl
|
||||
|
4
Gemfile
4
Gemfile
@ -4,7 +4,7 @@ ruby '> 2.5.0'
|
||||
|
||||
group :development do
|
||||
gem 'rake', '13.0.6'
|
||||
gem 'jekyll', '4.2.2'
|
||||
gem 'jekyll', '4.3.0'
|
||||
gem 'compass', '1.0.3'
|
||||
gem 'sass-globbing', '1.1.5'
|
||||
gem 'stringex', '2.8.5'
|
||||
@ -20,7 +20,7 @@ group :jekyll_plugins do
|
||||
end
|
||||
|
||||
gem 'sinatra', '3.0.2'
|
||||
gem 'nokogiri', '1.13.8'
|
||||
gem 'nokogiri', '1.13.9'
|
||||
|
||||
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
|
||||
# and associated library
|
||||
|
32
Gemfile.lock
32
Gemfile.lock
@ -30,21 +30,22 @@ GEM
|
||||
http_parser.rb (0.8.0)
|
||||
i18n (1.12.0)
|
||||
concurrent-ruby (~> 1.0)
|
||||
jekyll (4.2.2)
|
||||
jekyll (4.3.0)
|
||||
addressable (~> 2.4)
|
||||
colorator (~> 1.0)
|
||||
em-websocket (~> 0.5)
|
||||
i18n (~> 1.0)
|
||||
jekyll-sass-converter (~> 2.0)
|
||||
jekyll-sass-converter (>= 2.0, < 4.0)
|
||||
jekyll-watch (~> 2.0)
|
||||
kramdown (~> 2.3)
|
||||
kramdown (~> 2.3, >= 2.3.1)
|
||||
kramdown-parser-gfm (~> 1.0)
|
||||
liquid (~> 4.0)
|
||||
mercenary (~> 0.4.0)
|
||||
mercenary (>= 0.3.6, < 0.5)
|
||||
pathutil (~> 0.9)
|
||||
rouge (~> 3.0)
|
||||
rouge (>= 3.0, < 5.0)
|
||||
safe_yaml (~> 1.0)
|
||||
terminal-table (~> 2.0)
|
||||
terminal-table (>= 1.8, < 4.0)
|
||||
webrick (~> 1.7)
|
||||
jekyll-commonmark (1.4.0)
|
||||
commonmarker (~> 0.22)
|
||||
jekyll-paginate (1.1.0)
|
||||
@ -70,11 +71,9 @@ GEM
|
||||
multi_json (1.15.0)
|
||||
mustermann (3.0.0)
|
||||
ruby2_keywords (~> 0.0.1)
|
||||
nokogiri (1.13.8)
|
||||
nokogiri (1.13.9)
|
||||
mini_portile2 (~> 2.8.0)
|
||||
racc (~> 1.4)
|
||||
nokogiri (1.13.8-x64-mingw32)
|
||||
racc (~> 1.4)
|
||||
pathutil (0.16.2)
|
||||
forwardable-extended (~> 2.6)
|
||||
public_suffix (5.0.0)
|
||||
@ -87,7 +86,7 @@ GEM
|
||||
rb-inotify (0.10.1)
|
||||
ffi (~> 1.0)
|
||||
rexml (3.2.5)
|
||||
rouge (3.30.0)
|
||||
rouge (4.0.0)
|
||||
ruby2_keywords (0.0.5)
|
||||
safe_yaml (1.0.5)
|
||||
sass (3.4.25)
|
||||
@ -103,14 +102,15 @@ GEM
|
||||
rack-protection (= 3.0.2)
|
||||
tilt (~> 2.0)
|
||||
stringex (2.8.5)
|
||||
terminal-table (2.0.0)
|
||||
unicode-display_width (~> 1.1, >= 1.1.1)
|
||||
terminal-table (3.0.2)
|
||||
unicode-display_width (>= 1.1.1, < 3)
|
||||
tilt (2.0.11)
|
||||
tzinfo (2.0.5)
|
||||
concurrent-ruby (~> 1.0)
|
||||
tzinfo-data (1.2022.4)
|
||||
tzinfo-data (1.2022.5)
|
||||
tzinfo (>= 1.0.0)
|
||||
unicode-display_width (1.8.0)
|
||||
unicode-display_width (2.3.0)
|
||||
webrick (1.7.0)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
@ -118,12 +118,12 @@ PLATFORMS
|
||||
|
||||
DEPENDENCIES
|
||||
compass (= 1.0.3)
|
||||
jekyll (= 4.2.2)
|
||||
jekyll (= 4.3.0)
|
||||
jekyll-commonmark (= 1.4.0)
|
||||
jekyll-paginate (= 1.1.0)
|
||||
jekyll-sitemap (= 1.4.0)
|
||||
jekyll-toc (= 0.17.1)
|
||||
nokogiri (= 1.13.8)
|
||||
nokogiri (= 1.13.9)
|
||||
rake (= 13.0.6)
|
||||
sass-globbing (= 1.1.5)
|
||||
sassc (= 2.1.0)
|
||||
|
@ -106,9 +106,9 @@ social:
|
||||
|
||||
# Home Assistant release details
|
||||
current_major_version: 2022
|
||||
current_minor_version: 9
|
||||
current_patch_version: 7
|
||||
date_released: 2022-09-26
|
||||
current_minor_version: 10
|
||||
current_patch_version: 4
|
||||
date_released: 2022-10-14
|
||||
|
||||
# Either # or the anchor link to latest release notes in the blog post.
|
||||
# Must be prefixed with a # and have double quotes around it.
|
||||
|
14
package-lock.json
generated
14
package-lock.json
generated
@ -17,7 +17,7 @@
|
||||
"textlint": "^12.2.2",
|
||||
"textlint-filter-rule-comments": "^1.2.2",
|
||||
"textlint-rule-common-misspellings": "^1.0.1",
|
||||
"textlint-rule-terminology": "^3.0.3"
|
||||
"textlint-rule-terminology": "^3.0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@azu/format-text": {
|
||||
@ -5385,9 +5385,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/textlint-rule-terminology": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/textlint-rule-terminology/-/textlint-rule-terminology-3.0.3.tgz",
|
||||
"integrity": "sha512-c1AzZ7ztXZfLySI8j7CnUGj8leNsfTCs+OPwJQV0ZWpKIZ7FsuRULCof1wLxsOZM+9MpVkmJWGfi6/qR6kRGIg==",
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/textlint-rule-terminology/-/textlint-rule-terminology-3.0.4.tgz",
|
||||
"integrity": "sha512-obQ3y0hqX6OWCrM8K5K6WSJGE4BOyNfGF6hUGPet56taTm/xzkRu8XA6vpn2GFr4zom/oMa0sBJ3OtDWCgrS/g==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"lodash": "^4.17.15",
|
||||
@ -10079,9 +10079,9 @@
|
||||
}
|
||||
},
|
||||
"textlint-rule-terminology": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/textlint-rule-terminology/-/textlint-rule-terminology-3.0.3.tgz",
|
||||
"integrity": "sha512-c1AzZ7ztXZfLySI8j7CnUGj8leNsfTCs+OPwJQV0ZWpKIZ7FsuRULCof1wLxsOZM+9MpVkmJWGfi6/qR6kRGIg==",
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/textlint-rule-terminology/-/textlint-rule-terminology-3.0.4.tgz",
|
||||
"integrity": "sha512-obQ3y0hqX6OWCrM8K5K6WSJGE4BOyNfGF6hUGPet56taTm/xzkRu8XA6vpn2GFr4zom/oMa0sBJ3OtDWCgrS/g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"lodash": "^4.17.15",
|
||||
|
@ -12,7 +12,7 @@
|
||||
"textlint": "^12.2.2",
|
||||
"textlint-filter-rule-comments": "^1.2.2",
|
||||
"textlint-rule-common-misspellings": "^1.0.1",
|
||||
"textlint-rule-terminology": "^3.0.3"
|
||||
"textlint-rule-terminology": "^3.0.4"
|
||||
},
|
||||
"resolutions": {
|
||||
"minimist": ">=1.2.5"
|
||||
|
@ -4,6 +4,7 @@ module Jekyll
|
||||
def initialize(tag_name, title, tokens)
|
||||
super
|
||||
@title = title
|
||||
@details_idx = 1
|
||||
end
|
||||
|
||||
def render(context)
|
||||
@ -15,25 +16,35 @@ module Jekyll
|
||||
end
|
||||
title = title.to_s.delete("\"")
|
||||
|
||||
idx = context["details_idx"]
|
||||
if idx.nil? then
|
||||
idx = 0
|
||||
end
|
||||
context["details_idx"] = idx + 1
|
||||
|
||||
<<~MARKUP
|
||||
<script>
|
||||
function showDetails(el) {
|
||||
const content = el.parentElement.querySelector(".details-block-content");
|
||||
const up = el.querySelector("svg#up");
|
||||
const down = el.querySelector("svg#down");
|
||||
up.style.display = up.style.display === "none" ? "block" : "none";
|
||||
down.style.display = down.style.display === "none" ? "block" : "none";
|
||||
content.hidden = !content.hidden;
|
||||
const shouldExpand = down.style.display === "block";
|
||||
up.style.display = shouldExpand ? "block" : "none";
|
||||
down.style.display = !shouldExpand ? "block" : "none";
|
||||
content.hidden = !shouldExpand;
|
||||
el.ariaExpanded = shouldExpand;
|
||||
}
|
||||
</script>
|
||||
<div class="details-block">
|
||||
<div class='details-block-item'>
|
||||
<div class='details-block-title' onclick='showDetails(this)'>
|
||||
<button class='details-block-title' onclick='showDetails(this)' aria-controls="content_#{idx}" aria-expanded="false">
|
||||
#{title}
|
||||
<div class='details-block-arrow'>
|
||||
<svg id="down" style="display: block;" width="24" height="24" viewBox="0 0 24 24"><path d="M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z" /></svg>
|
||||
<svg id="up" style="display: none;" width="24" height="24" viewBox="0 0 24 24"><path d="M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z" /></svg>
|
||||
</div>
|
||||
<div class='details-block-content' hidden>#{contents}</div>
|
||||
</div>
|
||||
</button>
|
||||
<div class='details-block-content' id="content_#{idx}" hidden>#{contents}</div>
|
||||
</div>
|
||||
</div>
|
||||
MARKUP
|
||||
|
@ -90,7 +90,7 @@ module Jekyll
|
||||
end
|
||||
|
||||
{ "label" => version, "new_components_count" => v[1].count, "sort_key" => gem_ver }
|
||||
}.sort_by { |v| v["sort_key"] }.reverse.group_by { |v|
|
||||
}.sort_by { |v| Gem::Version.new(v["sort_key"]) }.reverse.group_by { |v|
|
||||
version = v["label"]
|
||||
|
||||
split_ver = version.split('.')
|
||||
|
@ -18,6 +18,9 @@ div.details-block {
|
||||
justify-content: space-between;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
background-color: white;
|
||||
border: 0px;
|
||||
width: 100%;
|
||||
}
|
||||
.details-block-content {
|
||||
margin: 4px 32px 12px 0;
|
||||
|
@ -901,7 +901,7 @@ $ha__primary_color: #03a9f4;
|
||||
width: 100%;
|
||||
left: unset;
|
||||
font-size: 2em;
|
||||
line-height: 0px;
|
||||
line-height: 1em;
|
||||
|
||||
svg {
|
||||
width: 152px;
|
||||
|
@ -328,7 +328,7 @@ for documentation.
|
||||
|
||||
* [BSkyB](http://en.wikipedia.org/wiki/BSkyB)
|
||||
* [pr.ofile.me](http://pr.ofile.me)
|
||||
* [Lukas Bestle](http://lu-x.me)
|
||||
* [Lukas Bestle]
|
||||
* [Matthew Tyas](http://matthewtyas.com/)
|
||||
|
||||
### Using inuit.css?
|
||||
|
@ -2,3 +2,4 @@ Contact: mailto:security@home-assistant.io
|
||||
Preferred-Languages: en
|
||||
Canonical: https://www.home-assistant.io/.well-known/security.txt
|
||||
Policy: https://www.home-assistant.io/security/
|
||||
Expires: 2032-12-31T22:59:00.000Z
|
||||
|
@ -154,3 +154,31 @@ segments:
|
||||
- from: 65
|
||||
color: '#db4437'
|
||||
```
|
||||
|
||||
CSS variables can be used (instead of CSS '#rrggbb') for default gauge segment colors:
|
||||
|
||||
- `var(--success-color)` for green color
|
||||
- `var(--warning-color)` for yellow color
|
||||
- `var(--error-color)` for red color
|
||||
- `var(--info-color)` for blue color
|
||||
|
||||
Therefore, the previous example can be defined also as:
|
||||
|
||||
```yaml
|
||||
type: gauge
|
||||
entity: sensor.kitchen_humidity
|
||||
needle: true
|
||||
min: 20
|
||||
max: 80
|
||||
segments:
|
||||
- from: 0
|
||||
color: var(--error-color)
|
||||
- from: 35
|
||||
color: var(--warning-color)
|
||||
- from: 40
|
||||
color: var(--success-color)
|
||||
- from: 60
|
||||
color: var(--warning-color)
|
||||
- from: 65
|
||||
color: var(--error-color)
|
||||
```
|
||||
|
@ -21,7 +21,7 @@
|
||||
- topic: Discovery
|
||||
description: "[Discovery](/integrations/discovery/) is the automatic setup of zeroconf/mDNS and uPnP devices after they are discovered."
|
||||
- topic: Domain
|
||||
description: "Each integration in Home Assitant has a unique identifier: a domain. All of the entities and services available in Home Assistant are provided by integrations and thus belong to such a domain. The first part of the entity or service, before the `.` shows the domain they belong to. For example `light.kitchen` is an entity in the `light` domain from the [light integration](/integrations/light), while `hue.activate_scene` is the `activate_scene` service for the `hue` domain which belongs to the [Hue integration](/integrations/hue)."
|
||||
description: "Each integration in Home Assistant has a unique identifier: a domain. All of the entities and services available in Home Assistant are provided by integrations and thus belong to such a domain. The first part of the entity or service, before the `.` shows the domain they belong to. For example `light.kitchen` is an entity in the `light` domain from the [light integration](/integrations/light), while `hue.activate_scene` is the `activate_scene` service for the `hue` domain which belongs to the [Hue integration](/integrations/hue)."
|
||||
- topic: Entity
|
||||
description: "An entity is the representation of a single control or data point of a device or service inside Home Assistant. A single device or service can thus provide multiple entities to be able to monitor and control all features a device provides. For example, a combined temperature and humidity sensor, in general, provides two `sensor` entities. One for the temperature (e.g., `sensor.temperature` with state `21.0` and unit `°C`) and one for the humity (e.g., `sensor.humidity` with state `65.4` and unit `%`)."
|
||||
- topic: Event
|
||||
|
@ -5,7 +5,7 @@ description: "Guide on authentication in Home Assistant."
|
||||
|
||||
Our authentication system secures access to Home Assistant.
|
||||
|
||||
If you are starting Home Assistant for the first time, or you have logged out, you will be asked for credentials before you can log in.
|
||||
If you are starting Home Assistant for the first time, or you have logged out, you will be asked for credentials before you can log in.
|
||||
|
||||
<img src='/images/docs/authentication/login.png' alt='Screenshot of the login screen' style='border: 0;box-shadow: none;'>
|
||||
|
||||
@ -21,29 +21,28 @@ For the moment, other user accounts will have the same access as the owner accou
|
||||
</div>
|
||||
|
||||
<div class="note">
|
||||
If you want to manage users and you're an owner but you do not see "Users" in your main configuration menu, make sure that "Advanced Mode" is enabled for your user in your profile.
|
||||
If you want to manage users and you're an owner but you do not see "Users" in your main configuration menu, make sure that "Advanced Mode" is enabled for your user in your profile.
|
||||
</div>
|
||||
|
||||
### Your Account Profile
|
||||
|
||||
Once you're logged in, you can see the details of your account at the _Profile_ page by clicking on the circular at the very bottom of the sidebar.
|
||||
Once you're logged in, you can see the details of your account at the _Profile_ page by clicking on the circular at the very bottom of the sidebar.
|
||||
|
||||
<img src='/images/docs/authentication/profile.png' alt='Screenshot of the profile page' style='border: 0;box-shadow: none;'>
|
||||
|
||||
You can:
|
||||
|
||||
* Change your password.
|
||||
* Enable or disable [multi-factor authentication](/docs/authentication/multi-factor-auth/).
|
||||
* Delete _Refresh Tokens_. These are created when you log in from a device. Delete them if you want to force the device to log out.
|
||||
* Create [Long Lived Access Tokens](https://developers.home-assistant.io/docs/en/auth_api.html#long-lived-access-token) so scripts can securely interact with Home Assistant.
|
||||
* Log out of Home Assistant.
|
||||
- Change your password.
|
||||
- Enable or disable [multi-factor authentication](/docs/authentication/multi-factor-auth/).
|
||||
- Delete _Refresh Tokens_. These are created when you log in from a device. Delete them if you want to force the device to log out.
|
||||
- Create [Long Lived Access Tokens](https://developers.home-assistant.io/docs/auth_api/#long-lived-access-token) so scripts can securely interact with Home Assistant.
|
||||
- Log out of Home Assistant.
|
||||
|
||||
### Securing your login
|
||||
|
||||
_Make sure to choose a secure password!_ At some time in the future, you will probably want to access Home Assistant from outside your local network. This means you are also exposed to random black-hats trying to do the same. Treat the password like the key to your house.
|
||||
_Make sure to choose a secure password!_ At some time in the future, you will probably want to access Home Assistant from outside your local network. This means you are also exposed to random black-hats trying to do the same. Treat the password like the key to your house.
|
||||
|
||||
|
||||
As an extra level of security, you can turn on [multi-factor authentication](/docs/authentication/multi-factor-auth/).
|
||||
As an extra level of security, you can turn on [multi-factor authentication](/docs/authentication/multi-factor-auth/).
|
||||
|
||||
## Other authentication techniques
|
||||
|
||||
@ -77,7 +76,7 @@ INFO (MainThread) [homeassistant.components.http.auth] You need to use a bearer
|
||||
|
||||
Before using the procedure below, make sure you explore options provided [here](/docs/locked_out).
|
||||
|
||||
While you should hopefully be storing your passwords in a password manager, if you lose the password associated with the owner account the only way to resolve this is to delete *all* the authentication data. You do this by shutting down Home Assistant and deleting the following files from the `.storage/` folder in your [configuration folder](/docs/configuration/):
|
||||
While you should hopefully be storing your passwords in a password manager, if you lose the password associated with the owner account the only way to resolve this is to delete _all_ the authentication data. You do this by shutting down Home Assistant and deleting the following files from the `.storage/` folder in your [configuration folder](/docs/configuration/):
|
||||
|
||||
- `auth`
|
||||
- `auth_provider.homeassistant`
|
||||
|
@ -63,7 +63,7 @@ homeassistant:
|
||||
keys:
|
||||
min_version:
|
||||
description: >
|
||||
Minimum required version of Home Assistant to use the blueprint (e.g.
|
||||
Minimum required version of Home Assistant to use the blueprint (e.g.
|
||||
`2022.4.0`. It is important to set this if the blueprint uses any features
|
||||
introduced in recent releases to head off issues.
|
||||
type: string
|
||||
@ -135,7 +135,7 @@ A blueprint can have as many inputs as you like.
|
||||
|
||||
The inputs are available as custom YAML tags, but not as template variables.
|
||||
To use a blueprint input in a template, it first needs to be exposed as either
|
||||
a [script level variable](/integrations/script/#configuration-variables) or in
|
||||
a [script level variable](/integrations/script/#configuration-variables) or in
|
||||
a [variable script step](/docs/scripts/#variables).
|
||||
|
||||
```yaml
|
||||
|
@ -304,7 +304,7 @@ The output of this selector is the entry ID of the config entry, for example, `6
|
||||
|
||||
## Date selector
|
||||
|
||||
The date selector shows a date input that allows the user to specify a date.
|
||||
The date selector shows a date input that allows the user to specify a date.
|
||||
|
||||

|
||||
|
||||
@ -320,7 +320,7 @@ The output of this selector is will contain the date in Year-Month-Day
|
||||
## Date & time selector
|
||||
|
||||
The date selector shows a date and time input that allows the user to specify a
|
||||
date with a specific time.
|
||||
date with a specific time.
|
||||
|
||||

|
||||
|
||||
@ -453,7 +453,7 @@ duration:
|
||||
```
|
||||
|
||||
{% configuration attribute %}
|
||||
enable_days:
|
||||
enable_day:
|
||||
description: When `true`, the duration selector will allow selecting days.
|
||||
type: boolean
|
||||
default: false
|
||||
@ -464,7 +464,7 @@ The output of this selector is a mapping of the time values the user selected.
|
||||
For example:
|
||||
|
||||
```yaml
|
||||
days: 1 # Only when enable_days was set to true
|
||||
days: 1 # Only when enable_day was set to true
|
||||
hours: 12
|
||||
minutes: 30
|
||||
seconds: 15
|
||||
@ -775,7 +775,7 @@ select:
|
||||
|
||||
{% configuration select %}
|
||||
options:
|
||||
description: >
|
||||
description: >
|
||||
List of options that the user can choose from. Small lists (5 items or less), are displayed as radio buttons. When more items are added, a dropdown list is used.
|
||||
type: list
|
||||
required: true
|
||||
@ -820,7 +820,7 @@ select:
|
||||
|
||||
{% configuration select_map %}
|
||||
options:
|
||||
description: >
|
||||
description: >
|
||||
List of options that the user can choose from. Small lists (5 items or less), are displayed as radio buttons. When more items are added, a dropdown list is used.
|
||||
type: map
|
||||
required: true
|
||||
@ -1012,7 +1012,7 @@ suffix:
|
||||
type: string
|
||||
required: false
|
||||
type:
|
||||
description: >
|
||||
description: >
|
||||
The type of input. This is a browser hint, which can improve
|
||||
the client-side validation of the input. The value isn't validated
|
||||
by the backend. Possible types are:
|
||||
@ -1042,7 +1042,7 @@ The output of this selector is will contain the selected theme, for example:
|
||||
## Time selector
|
||||
|
||||
The time selector shows a time input that allows the user to specify a time
|
||||
of the day.
|
||||
of the day.
|
||||
|
||||

|
||||
|
||||
|
@ -3,7 +3,7 @@ title: "Securing"
|
||||
description: "Instructions on how to secure your Home Assistant installation."
|
||||
---
|
||||
|
||||
One major advantage of Home Assistant is that it's not dependent on cloud services. Even if you're only using Home Assistant on a local network, you should take steps to secure your instance.
|
||||
One major advantage of Home Assistant is that it is not dependent on cloud services. Even if you are only using Home Assistant on a local network, you should take steps to secure your instance.
|
||||
|
||||
## Checklist
|
||||
|
||||
@ -14,17 +14,17 @@ Here's the summary of what you *must* do to secure your Home Assistant system:
|
||||
|
||||
## Remote Access
|
||||
|
||||
If you want secure remote access, the easiest option is to use [Home Assistant cloud](/cloud/) by which you also [support](https://www.nabucasa.com/about) the founders of Home Assistant.
|
||||
If you want secure remote access, the easiest option is to use [Home Assistant cloud](/cloud/) by which you also [support](https://www.nabucasa.com/about/) the founders of Home Assistant.
|
||||
|
||||
Another option is to use TLS/SSL via the add-on [Duck DNS](/integrations/duckdns/) integrating Let's Encrypt.
|
||||
|
||||
To expose your instance to the internet, use a [VPN](https://pivpn.io), or an [SSH tunnel](/blog/2017/11/02/secure-shell-tunnel/). Make sure to expose the used port in your router.
|
||||
To expose your instance to the internet, use a [VPN](https://pivpn.io), or an [SSH tunnel](/blog/2017/11/02/secure-shell-tunnel/). Make sure to expose the used port in your router.
|
||||
|
||||
### Extras for manual installations
|
||||
|
||||
As well as the above we advise that you consider the following to improve security:
|
||||
Besides the above we advise that you consider the following to improve security:
|
||||
|
||||
- For systems that use SSH set `PermitRootLogin no` in your sshd configuration (usually `/etc/ssh/sshd_config`) and to use SSH keys for authentication instead of passwords. This is particularly important if you enable remote access to your SSH services.
|
||||
- Lock down the host following good practice guidance, for example:
|
||||
* [Securing Debian Manual](https://www.debian.org/doc/manuals/securing-debian-manual/index.en.html) (this also applies to Raspberry Pi OS)
|
||||
* [Red Hat Enterprise Linux 7 Security Guide](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/index), [CIS Red Hat Enterprise Linux 7 Benchmark](https://www.cisecurity.org/cis-benchmarks/)
|
||||
- [Securing Debian Manual](https://www.debian.org/doc/manuals/securing-debian-manual/index.en.html) (this also applies to Raspberry Pi OS)
|
||||
- [Red Hat Enterprise Linux 7 Security Guide](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/index), [CIS Red Hat Enterprise Linux 7 Benchmark](https://www.cisecurity.org/cis-benchmarks/)
|
||||
|
@ -72,10 +72,11 @@ Not supported in [limited templates](#limited-templates).
|
||||
- Iterating `states` will yield each state sorted alphabetically by entity ID.
|
||||
- Iterating `states.domain` will yield each state of that domain sorted alphabetically by entity ID.
|
||||
- `states.sensor.temperature` returns the state object for `sensor.temperature` (avoid when possible, see note below).
|
||||
- `states('device_tracker.paulus')` will return the state string (not the object) of the given entity, `unknown` if it doesn't exist, `unavailable` if the object exists but is not yet available.
|
||||
- `states('device_tracker.paulus')` will return the state string (not the object) of the given entity, `unknown` if it doesn't exist, `unavailable` if the object exists but is not yet available.
|
||||
- `is_state('device_tracker.paulus', 'home')` will test if the given entity is the specified state.
|
||||
- `state_attr('device_tracker.paulus', 'battery')` will return the value of the attribute or None if it doesn't exist.
|
||||
- `is_state_attr('device_tracker.paulus', 'battery', 40)` will test if the given entity attribute is the specified state (in this case, a numeric value). Note that the attribute can be `None` and you want to check if it is `None`, you need to use `state_attr('sensor.my_sensor', 'attr') is none` or `state_attr('sensor.my_sensor', 'attr') == None` (note the difference in the capitalization of none in both versions).
|
||||
- `is_state_attr('device_tracker.paulus', 'battery', 40)` will test if the given entity attribute is the specified state (in this case, a numeric value). Note that the attribute can be `None` and you want to check if it is `None`, you need to use `state_attr('sensor.my_sensor', 'attr') is none` or `state_attr('sensor.my_sensor', 'attr') == None` (note the difference in the capitalization of none in both versions).
|
||||
|
||||
<div class='note warning'>
|
||||
|
||||
Avoid using `states.sensor.temperature.state`, instead use `states('sensor.temperature')`. It is strongly advised to use the `states()`, `is_state()`, `state_attr()` and `is_state_attr()` as much as possible, to avoid errors and error message when the entity isn't ready yet (e.g., during Home Assistant startup).
|
||||
@ -400,7 +401,6 @@ For example, if you wanted to select a field from `trigger` in an automation bas
|
||||
|
||||
{% endraw %}
|
||||
|
||||
|
||||
### Time
|
||||
|
||||
`now()` and `utcnow()` are not supported in [limited templates](#limited-templates).
|
||||
@ -499,7 +499,7 @@ The `from_json` filter operates similarly, but in the other direction, de-serial
|
||||
|
||||
In this example, the special character '°' will be automatically escaped in order to produce valid JSON. The difference between the stringified object and the actual JSON is evident.
|
||||
|
||||
*Template*
|
||||
#### Template
|
||||
|
||||
{% raw %}
|
||||
|
||||
@ -511,7 +511,7 @@ object|to_json: {{ temp|to_json(ensure_ascii=False) }}
|
||||
|
||||
{% endraw %}
|
||||
|
||||
*Output*
|
||||
#### Output
|
||||
|
||||
{% raw %}
|
||||
|
||||
@ -524,7 +524,7 @@ object|to_json: {"temperature": 25, "unit": "\u00b0C"}
|
||||
|
||||
Conversely, `from_json` can be used to de-serialize a JSON string back into an object to make it possible to easily extract usable data.
|
||||
|
||||
*Template*
|
||||
#### Template
|
||||
|
||||
{% raw %}
|
||||
|
||||
@ -535,7 +535,7 @@ The temperature is {{ temp.temperature }}{{ temp.unit }}
|
||||
|
||||
{% endraw %}
|
||||
|
||||
*Output*
|
||||
#### Output
|
||||
|
||||
{% raw %}
|
||||
|
||||
@ -587,12 +587,12 @@ Not supported in [limited templates](#limited-templates).
|
||||
- `distance()` will measure the distance in kilometers between home, entity, coordinates.
|
||||
- `closest()` will find the closest entity.
|
||||
|
||||
|
||||
#### Distance examples
|
||||
|
||||
If only one location is passed in, Home Assistant will measure the distance from home.
|
||||
|
||||
{% raw %}
|
||||
|
||||
```text
|
||||
|
||||
Using Lat Lng coordinates: {{ distance(123.45, 123.45) }}
|
||||
@ -717,7 +717,7 @@ Like `float` and `int`, `bool` has a filter form. Using `none` as the default va
|
||||
- `e` mathematical constant, approximately 2.71828.
|
||||
- `pi` mathematical constant, approximately 3.14159.
|
||||
- `tau` mathematical constant, approximately 6.28318.
|
||||
- Filter `round(precision, method, default)` will convert the input to a number and round it to `precision` decimals. Round has four modes and the default mode (with no mode specified) will [round-to-even](https://en.wikipedia.org/wiki/Rounding#Roundhalfto_even). If the input value can't be converted to a `float`, returns the `default` value, or if omitted raises an error.
|
||||
- Filter `round(precision, method, default)` will convert the input to a number and round it to `precision` decimals. Round has four modes and the default mode (with no mode specified) will [round-to-even](https://en.wikipedia.org/wiki/Rounding#Roundhalfto_even). If the input value can't be converted to a `float`, returns the `default` value, or if omitted raises an error.
|
||||
- `round(precision, "floor", default)` will always round down to `precision` decimals
|
||||
- `round(precision, "ceil", default)` will always round up to `precision` decimals
|
||||
- `round(1, "half", default)` will always round to the nearest .5 value. `precision` should be 1 for this mode
|
||||
@ -729,7 +729,7 @@ Like `float` and `int`, `bool` has a filter form. Using `none` as the default va
|
||||
|
||||
These functions are used to process raw value's in a `bytes` format to values in a native Python type or vice-versa.
|
||||
The `pack` and `unpack` functions can also be used as a filter. They make use of the Python 3 `struct` library.
|
||||
See: https://docs.python.org/3/library/struct.html
|
||||
See: [Python struct library documentation](https://docs.python.org/3/library/struct.html)
|
||||
|
||||
- Filter `value | pack(format_string)` will convert a native type to a `bytes` type object. This will call function `struct.pack(format_string, value)`. Returns `None` if an error occurs or when `format_string` is invalid.
|
||||
- Function `pack(value, format_string)` will convert a native type to a `bytes` type object. This will call function `struct.pack(format_string, value)`. Returns `None` if an error occurs or when `format_string` is invalid.
|
||||
@ -757,6 +757,9 @@ Some examples:
|
||||
|
||||
### Regular expressions
|
||||
|
||||
For more information on regular expressions
|
||||
See: [Python regular expression operations](https://docs.python.org/3/library/re.html)
|
||||
|
||||
- Test `string is match(find, ignorecase=False)` will match the find expression at the beginning of the string using regex.
|
||||
- Test `string is search(find, ignorecase=False)` will match the find expression anywhere in the string using regex.
|
||||
- Filter `string|regex_replace(find='', replace='', ignorecase=False)` will replace the find expression with the replace string using regex.
|
||||
|
@ -59,7 +59,7 @@ _Attention! Installing CT clamp sensor devices requires opening your electrical
|
||||
|
||||
Some energy providers will provide you real-time information about your usage and have this data integrated into Home Assistant.
|
||||
|
||||
### Troubleshooting ###
|
||||
### Troubleshooting
|
||||
|
||||
If you are unable to select your energy sensor in the grid consumption drop-down, make sure that its value is being recorded in the Recorder settings.
|
||||
|
||||
|
@ -32,4 +32,3 @@ To accomplish such, you can use [the utility_meter integration](/integrations/ut
|
||||
## The Energy panel is not visible
|
||||
|
||||
If you do not see the Energy panel in the sidebar, make sure you have not removed [`default_config:`](/integrations/default_config/) from your `configuration.yaml`. If you have, you will need to add the `energy:` integration manually.
|
||||
|
||||
|
@ -22,4 +22,3 @@ The P1 port is a standardized port on electricity meters in the Netherlands, Bel
|
||||
We have worked with creator [Marcel Zuidwijk](https://www.zuidwijk.com) to develop [SlimmeLezer+](https://www.zuidwijk.com/product/slimmelezer-plus/). It's an affordable P1 reader powered by [ESPHome](https://esphome.io) that will seamlessly integrate this information in Home Assistant. It is being sold on [his website](https://www.zuidwijk.com/product/slimmelezer-plus/) and the firmware is open source [on GitHub](https://github.com/zuidwijk/dsmr).
|
||||
|
||||

|
||||
|
||||
|
@ -12,4 +12,3 @@ The frontend of Home Assistant is built with [Polymer](https://www.polymer-proje
|
||||
The [User Interface section](/examples/#user-interface) can give you some starting points to expand the frontend.
|
||||
|
||||
If you want to work on the frontend, please refer to the [Frontend Development documentation](/developers/frontend/).
|
||||
|
||||
|
@ -72,7 +72,7 @@ There are reports that devices running with iOS prior to iOS 10, especially old
|
||||
[Chrome]: https://www.google.com/chrome/
|
||||
[Chromium]: https://www.chromium.org/
|
||||
[Conkeror]: http://conkeror.org/
|
||||
[Edge]: https://www.microsoft.com/en-us/windows/microsoft-edge
|
||||
[Edge]: https://www.microsoft.com/en-us/edge
|
||||
[elinks]: http://elinks.or.cz/
|
||||
[Epiphany]: https://wiki.gnome.org/Apps/Web
|
||||
[Firefox]: https://www.mozilla.org/en-US/firefox/
|
||||
@ -80,12 +80,12 @@ There are reports that devices running with iOS prior to iOS 10, especially old
|
||||
[Iridium]: https://iridiumbrowser.de/
|
||||
[Konqueror]: https://konqueror.org/
|
||||
[Lynx]: https://lynx.browser.org/
|
||||
[Midori]: https://astian.org/midori-browser/
|
||||
[Midori]: https://astian.org/en/midori-browser/
|
||||
[Opera]: https://www.opera.com/
|
||||
[Safari]: https://www.apple.com/safari/
|
||||
[surf]: https://surf.suckless.org/
|
||||
[Tor Browser]: https://www.torproject.org/
|
||||
[Uzbl]: https://www.uzbl.org/
|
||||
[w3m]: http://w3m.sourceforge.net/
|
||||
[Waterfox]: https://www.waterfoxproject.org
|
||||
[w3m]: https://w3m.sourceforge.net/
|
||||
[Waterfox]: https://www.waterfox.net
|
||||
[LG webOS TV Built-In]: https://www.lg.com/uk/support/help-library/details-on-enjoying-internet-browsing-on-your-lg-webos-tv-CT00008334-1435838149474
|
||||
|
@ -30,6 +30,7 @@ Supported by MQTT discovery:
|
||||
- [Vacuums](/integrations/vacuum.mqtt/)
|
||||
|
||||
## Configuration
|
||||
|
||||
MQTT discovery is enabled by default, but can be disabled. To do this, click on "Configure" in the integration page in the UI, then "Re-configure MQTT" and then "Next".
|
||||
|
||||
### Advanced discovery configuration
|
||||
@ -432,7 +433,6 @@ Setting up a [light that takes JSON payloads](/integrations/light.mqtt/#json-sch
|
||||
|
||||
### Use object_id to influence the entity id
|
||||
|
||||
|
||||
The entity id is automatically generated from the entity's name. All MQTT entity components optionally support providing an `object_id` which will be used instead if provided.
|
||||
|
||||
- Configuration topic: `homeassistant/sensor/device1/config`
|
||||
@ -443,8 +443,7 @@ The entity id is automatically generated from the entity's name. All MQTT entity
|
||||
"name":"My Super Device",
|
||||
"object_id":"my_super_device",
|
||||
"state_topic": "homeassistant/sensor/device1/state"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
In the example above, the entity_id will be `sensor.my_super_device` instead of `sensor.device1`.
|
||||
|
||||
|
@ -14,7 +14,7 @@ Until recently, 700 series Z-Wave Controllers had a bug that could cause the mes
|
||||
Users should upgrade the firmware on all 700 series controllers to version 7.17.2 or greater. Firmware can be upgraded using the below directions:
|
||||
|
||||
- [Upgrade instructions using Linux](https://github.com/kpine/zwave-js-server-docker/wiki/700-series-Controller-Firmware-Updates-(Linux))
|
||||
- [Upgrade instructions using Windows (Aeotec)](https://help.aeotec.com/support/solutions/articles/6000252296-update-z-stick-7-with-windows)
|
||||
- [Upgrade instructions using Windows (Aeotec)](https://aeotec.freshdesk.com/support/solutions/articles/6000252296-update-z-stick-7-with-windows)
|
||||
- [Upgrade instructions using Windows (Zooz)](https://www.support.getzooz.com/kb/article/931-how-to-perform-an-ota-firmware-update-on-your-zst10-700-z-wave-stick/)
|
||||
- [Upgrade instructions using Windows/Linux (Z-Wave.Me)](https://z-wave.me/support/uzbrazberry-firmwares/)
|
||||
|
||||
|
@ -1,6 +0,0 @@
|
||||
---
|
||||
title: "Configuration.yaml by Gummientchen"
|
||||
description: ""
|
||||
ha_category: Example configuration.yaml
|
||||
ha_external_link: https://github.com/Gummientchen/Home-AssistantConfig
|
||||
---
|
@ -1,6 +0,0 @@
|
||||
---
|
||||
title: "Configuration.yaml by Joshua Garrison"
|
||||
description: ""
|
||||
ha_category: Example configuration.yaml
|
||||
ha_external_link: https://github.com/JoshuaGarrison27/Home-Assistant-Configuration
|
||||
---
|
@ -6,36 +6,44 @@
|
||||
{%- if page.logo -%}
|
||||
<img src='/images/supported_brands/{{ page.logo }}' />
|
||||
{%- else -%}
|
||||
<img src='https://brands.home-assistant.io/_/{{ domain }}/logo.png' srcset='https://brands.home-assistant.io/_/{{ page.ha_domain }}/logo@2x.png 2x' />
|
||||
<img src='https://brands.home-assistant.io/{% if page.ha_brand %}brands{% else %}_{% endif %}/{{ domain }}/logo.png' srcset='https://brands.home-assistant.io/{% if page.ha_brand %}brands{% else %}_{% endif %}/{{ page.ha_domain }}/logo@2x.png 2x' />
|
||||
{%- endif -%}
|
||||
|
||||
{%- if page.ha_config_flow and domain -%}
|
||||
{% my config_flow_start badge domain=domain %}
|
||||
{%- elsif page.ha_iot_standard == "zigbee" -%}
|
||||
{% my config_zha badge %}
|
||||
{%- elsif page.ha_iot_standard == "zwave" -%}
|
||||
{% my config_zwave_js badge %}
|
||||
{%- endif -%}
|
||||
</div>
|
||||
|
||||
<div class='section'>
|
||||
The {{ page.name | default: page.title }} {{ page.ha_integration_type | default: "integration" }} was introduced in Home Assistant {{ page.ha_release | default: "unknown" }},
|
||||
and it's used by <a title="Open analytics.home-assistant.io" href="https://analytics.home-assistant.io/#integrations" target="_blank" rel="noopener">
|
||||
|
||||
{% if percentage < 1 %}
|
||||
{{ active_installations }}</a> active installations.
|
||||
{% else %}
|
||||
{{ percentage | remove: ".0" }}%</a> of the active installations.
|
||||
{% endif %}
|
||||
{%- if page.ha_brand -%}
|
||||
The {{ page.name | default: page.title }} brand was introduced in Home Assistant {{ page.ha_release | default: "unknown" }}.
|
||||
{%- else -%}
|
||||
The {{ page.name | default: page.title }} {{ page.ha_integration_type | default: "integration" }} was introduced in Home Assistant {{ page.ha_release | default: "unknown" }},
|
||||
and it's used by <a title="Open analytics.home-assistant.io" href="https://analytics.home-assistant.io/#integrations" target="_blank" rel="noopener">
|
||||
|
||||
{%- if page.ha_iot_class %}
|
||||
Its IoT class is <a href='/blog/2016/02/12/classifying-the-internet-of-things/#classifiers'>{{ page.ha_iot_class }}</a>
|
||||
{%- endif -%}
|
||||
|
||||
{%- if page.ha_quality_scale %}
|
||||
{% if page.ha_iot_class %}
|
||||
and
|
||||
{% if percentage < 1 %}
|
||||
{{ active_installations }}</a> active installations.
|
||||
{% else %}
|
||||
It
|
||||
{{ percentage | remove: ".0" }}%</a> of the active installations.
|
||||
{% endif %}
|
||||
scores {{page.ha_quality_scale}} on our <a href='/docs/quality_scale/'>quality scale</a>
|
||||
{%- endif -%}.
|
||||
|
||||
{%- if page.ha_iot_class %}
|
||||
Its IoT class is <a href='/blog/2016/02/12/classifying-the-internet-of-things/#classifiers'>{{ page.ha_iot_class }}</a>
|
||||
{%- endif -%}
|
||||
|
||||
{%- if page.ha_quality_scale %}
|
||||
{% if page.ha_iot_class %}
|
||||
and it
|
||||
{% else %}
|
||||
It
|
||||
{% endif %}
|
||||
scores {{page.ha_quality_scale}} on our <a href='/docs/quality_scale/'>quality scale</a>
|
||||
{%- endif -%}{%- if page.ha_quality_scale or page.ha_iot_class %}.{%- endif -%}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% if page.works_with %}
|
||||
|
@ -12,7 +12,7 @@ Follow this guide if you want to get started with Home Assistant easily or if yo
|
||||
|
||||
We will need a few things to get started with installing Home Assistant. Links below lead to Amazon US. If you’re not in the US, you should be able to find these items in web stores in your country.
|
||||
|
||||
- [Raspberry Pi 4](https://amzn.to/2S0Gcl1) (Raspberry Pi 3 is ok too, if you have one laying around). Raspberry Pi are currently hard to come by, use [RPilocator](https://rpilocator.com/?cat=PI4) or [Fast Alerts (US)](https://fastalerts.io/product/raspberry-pi-4/) to find webshops with stock.
|
||||
- [Raspberry Pi 4](https://amzn.to/2S0Gcl1) (Raspberry Pi 3 is ok too, if you have one laying around). Raspberry Pi are currently hard to come by, use [RPilocator](https://rpilocator.com/?cat=PI4) to find official distributors with stock.
|
||||
- [Power Supply for Raspberry Pi 4](https://amzn.to/2ReZ2Vq) or [Power Supply for Raspberry Pi 3](https://amzn.to/2R8yG7h)
|
||||
- [Micro SD Card](https://amzn.to/2X0Z2di). Ideally get one that is [Application Class 2](https://www.sdcard.org/developers/overview/application/index.html) as they handle small I/O much more consistently than cards not optimized to host applications. A 32 GB or bigger card is recommended.
|
||||
- SD Card reader. This is already part of most laptops, but you can purchase a [standalone USB adapter](https://amzn.to/2WWxntY) if you don't have one. The brand doesn't matter, just pick the cheapest.
|
||||
@ -91,6 +91,19 @@ To use this method, follow the steps described in the procedure below: [Write th
|
||||
|
||||
- To use this method, follow the instructions of your Live distribution (e.g., [this Ubuntu guide](https://ubuntu.com/tutorials/try-ubuntu-before-you-install)). Once you booted the live operating system, follow the steps described in the procedure below: [Write the image to your boot media](#write-the-image-to-your-boot-media).
|
||||
|
||||
{% details "Ubuntu dependency's for Etcher" %}
|
||||
|
||||
When installing Etcher on an Ubuntu system you may need to install the fuse
|
||||
dependency, you can do so with the following commands:
|
||||
|
||||
```bash
|
||||
sudo add-apt-repository universe
|
||||
sudo apt update
|
||||
sudo apt install libfuse2
|
||||
```
|
||||
|
||||
{% enddetails %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
### Write the image to your boot media
|
||||
@ -230,6 +243,10 @@ _All these can be extended if your usage calls for more resources._
|
||||
3. Select “Use an existing virtual hard disk file”, select the unzipped VDI file from above
|
||||
4. Edit the “Settings” of the VM and go “System” then “Motherboard” and select “Enable EFI”
|
||||
5. Then go to “Network” “Adapter 1” choose “Bridged Adapter” and choose your Network adapter
|
||||
<div class="note warning">
|
||||
Please keep in mind that the bridged adapter only functions over a hardwired ethernet connection.
|
||||
Using Wi-Fi on your VirtualBox host is unsupported.
|
||||
</div>
|
||||
6. Then go to “Audio” and choose “Intel HD Audio” as Audio Controller.
|
||||
<div class="note info">
|
||||
|
||||
|
@ -7,7 +7,7 @@ ha_quality_scale: internal
|
||||
ha_category: []
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: entity
|
||||
---
|
||||
|
||||
The `air_quality` base platform allows other integrations to process information about air quality and pollution details. It is used by integrations that provide an `air_quality` sensor - you can find those under the `health` [integrations](/integrations/#health).
|
||||
|
@ -8,7 +8,7 @@ ha_quality_scale: internal
|
||||
ha_domain: alarm_control_panel
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: entity
|
||||
---
|
||||
|
||||
Home Assistant can give you an interface which is similar to a classic alarm system.
|
||||
|
@ -190,7 +190,7 @@ The tables below show the key press sequences used for arming for the different
|
||||
|
||||
<div class='note'>
|
||||
|
||||
The `chr(4)` and `chr(5)` sequences below are equivalent to pressing the <em>Stay</em> and <em>Away</em> keypad keys respectively (as outlined in the <a href='http://www.alarmdecoder.com/wiki/index.php/Protocol#Special_Keys'>AlarmDecoder documentation</a>).
|
||||
The `chr(4)` and `chr(5)` sequences below are equivalent to pressing the <em>Stay</em> and <em>Away</em> keypad keys respectively (as outlined in the <a href='https://www.alarmdecoder.com/wiki/index.php/Protocol#Special_Keys'>AlarmDecoder documentation</a>).
|
||||
|
||||
</div>
|
||||
|
||||
|
@ -395,4 +395,4 @@ Alexa will now respond with a random phrase each time. You can use the include f
|
||||
[large-icon]: /images/integrations/alexa/alexa-512x512.png
|
||||
[small-icon]: /images/integrations/alexa/alexa-108x108.png
|
||||
[templates]: /topics/templating/
|
||||
[generate-long-lived-access-token]: https://developers.home-assistant.io/docs/en/auth_api.html#long-lived-access-token
|
||||
[generate-long-lived-access-token]: https://developers.home-assistant.io/docs/auth_api/#long-lived-access-token
|
||||
|
@ -1095,6 +1095,6 @@ logger:
|
||||
|
||||
[alexa-dev-console]: https://developer.amazon.com/alexa/console/ask
|
||||
[emulated-hue-component]: /integrations/emulated_hue/
|
||||
[generate-long-lived-access-token]: https://developers.home-assistant.io/docs/en/auth_api.html#long-lived-access-token
|
||||
[generate-long-lived-access-token]: https://developers.home-assistant.io/docs/auth_api/#long-lived-access-token
|
||||
[alexa-display-categories]: https://developer.amazon.com/docs/alexa/device-apis/alexa-discovery.html#display-categories
|
||||
[alexa-supported-locales]: https://developer.amazon.com/docs/alexa/device-apis/list-of-interfaces.html
|
||||
|
@ -10,7 +10,7 @@ ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
- '@ludeeus'
|
||||
ha_domain: analytics
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: system
|
||||
---
|
||||
|
||||
{% assign current_version = site.current_major_version | append: "." | append: site.current_minor_version | append: "." | append: site.current_patch_version %}
|
||||
|
@ -11,7 +11,7 @@ ha_platforms:
|
||||
ha_integration_type: integration
|
||||
---
|
||||
|
||||
The `anel_pwrctrl` switch platform allows you to control [ANEL PwrCtrl](https://anel-elektronik.de/SITE/produkte/produkte.htm) devices.
|
||||
The `anel_pwrctrl` switch platform allows you to control [ANEL PwrCtrl](https://en.anel.eu/index.htm?src=/produkte/produkte.htm) devices.
|
||||
|
||||
Supported devices (tested):
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
title: apcupsd
|
||||
title: APC UPS Daemon
|
||||
description: Instructions on how to integrate apcupsd status with Home Assistant.
|
||||
ha_category:
|
||||
- Binary Sensor
|
||||
@ -121,4 +121,3 @@ Some sensors are disabled by default, since they provide information that is onl
|
||||
- UPS Transfer from Battery (XOFFBAT)
|
||||
- UPS Transfer from Battery (XOFFBATT)
|
||||
- UPS Transfer to Battery (XONBATT)
|
||||
|
||||
|
@ -8,7 +8,7 @@ ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_domain: api
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: system
|
||||
---
|
||||
|
||||
The `api` integration exposes a RESTful API and allows one to interact with a Home Assistant instance that is running headless. This integration depends on the [HTTP integration](/integrations/http/).
|
||||
|
@ -7,7 +7,7 @@ ha_quality_scale: internal
|
||||
ha_category: []
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: system
|
||||
---
|
||||
|
||||
The Application Credentials integration is used by integrations that use OAuth2 to link your account to Home Assistant. The most common and preferred approach is using account linking with Home Assistant Cloud, however not all cloud providers support that and integrations can use Application Credentials instead. Additionally, users may use Application Credentials if preferred instead of Home Assistant Cloud Account Linking.
|
||||
|
@ -11,7 +11,7 @@ ha_platforms:
|
||||
ha_integration_type: integration
|
||||
---
|
||||
|
||||
The `aquostv` platform allows you to control a [Sharp Aquos TV](http://www.sharp-world.com/aquos/en/index.html).
|
||||
The `aquostv` platform allows you to control a [Sharp Aquos TV](https://global.sharp/aquos/en/index.html).
|
||||
|
||||
When the TV is first connected, you will need to accept Home Assistant on the TV to allow communication.
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
---
|
||||
title: Arris TG2492LG
|
||||
description: Instructions on how to integrate Arris TG2492LG routers into Home Assistant.
|
||||
logo: arris.jpg
|
||||
ha_category:
|
||||
- Presence Detection
|
||||
ha_release: 0.109
|
||||
|
@ -18,7 +18,7 @@ ha_platforms:
|
||||
ha_integration_type: integration
|
||||
---
|
||||
|
||||
The `Atag` integration allows Home Assistant to connect to [Atag One](https://atag-one.com) thermostats, reporting and setting its status.
|
||||
The `Atag` integration allows Home Assistant to connect to [Atag One](https://www.atagverwarming.nl) thermostats, reporting and setting its status.
|
||||
The integration implements the following platforms:
|
||||
|
||||
- Climate
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: August Bluetooth
|
||||
description: Instructions on how to integrate August Bluetooth locks into Home Assistant.
|
||||
description: Connect and control your August Bluetooth devices using the Yale Access Bluetooth integration
|
||||
ha_category:
|
||||
- Binary Sensor
|
||||
- Lock
|
||||
@ -25,4 +25,4 @@ Integrates [August](https://august.com/) locks over Bluetooth into Home Assistan
|
||||
|
||||
Following Assa Abloy, Yale's parent company, purchasing August in 2017, most newer devices use the Yale Access branding.
|
||||
|
||||
{% include integrations/supported_brand.md %}
|
||||
{% include integrations/supported_brand.md %}
|
||||
|
@ -8,7 +8,7 @@ ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_domain: auth
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: system
|
||||
---
|
||||
|
||||
This integration creates the endpoints for the [authentication system](/docs/authentication/) that is built into Home Assistant.
|
||||
|
@ -8,7 +8,7 @@ ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_domain: automation
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: system
|
||||
---
|
||||
|
||||
<script>document.location.href = '/docs/automation/';</script>
|
||||
|
@ -9,7 +9,7 @@ ha_domain: backup
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_iot_class: Calculated
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: system
|
||||
---
|
||||
|
||||
The Backup integration allow you to create and download backups for your Home Assistant Core and Home Assistant Container installations. This backup file can be used if you migrate to Home Assistant Operating System.
|
||||
|
@ -16,7 +16,7 @@ ha_config_flow: true
|
||||
ha_integration_type: integration
|
||||
---
|
||||
|
||||
This integration adds support for [Balboa](http://www.balboawatergroup.com/) Spa WiFi Modules to be used within Home Assistant.
|
||||
This integration adds support for [Balboa](https://www.balboawatergroup.com/) Spa WiFi Modules to be used within Home Assistant.
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
|
@ -11,6 +11,8 @@ ha_domain: bayesian
|
||||
ha_platforms:
|
||||
- binary_sensor
|
||||
ha_integration_type: integration
|
||||
ha_codeowners:
|
||||
- '@HarvsG'
|
||||
---
|
||||
|
||||
The `bayesian` binary sensor platform observes the state from multiple sensors and uses [Bayes' rule](https://en.wikipedia.org/wiki/Bayes%27_theorem) to estimate the probability that an event has occurred given the state of the observed sensors. If the estimated posterior probability is above the `probability_threshold`, the sensor is `on` otherwise it is `off`.
|
||||
@ -71,6 +73,10 @@ name:
|
||||
required: false
|
||||
type: string
|
||||
default: Bayesian Binary Sensor
|
||||
device_class:
|
||||
description: Sets the [class of the device](/integrations/binary_sensor/), changing the device state and icon that is displayed on the frontend.
|
||||
required: false
|
||||
type: string
|
||||
observations:
|
||||
description: The observations which should influence the probability that the given event is occurring.
|
||||
required: true
|
||||
@ -172,6 +178,7 @@ Finally, here's an example for `template` observation platform, as seen in the c
|
||||
binary_sensor:
|
||||
name: "Paulus Home"
|
||||
platform: "bayesian"
|
||||
device_class: "presence"
|
||||
prior: 0.5
|
||||
probability_threshold: 0.9
|
||||
observations:
|
||||
|
@ -13,7 +13,7 @@ ha_platforms:
|
||||
ha_integration_type: integration
|
||||
---
|
||||
|
||||
The `beewi_smartclim` sensor platform allows one to monitor room or external temperature and humidity. The [BeeWi SmartClim BLE](http://www.bee-wi.com/produits/capteurs/capteur-de-temperature/) is a Bluetooth Low Energy sensor device that monitors temperature from a room or a garden from your smartphone by using an APP. Use this integration to track these metrics from any location thanks to Home Assistant, as well as to create some automation scripts based on your room's temperature.
|
||||
The `beewi_smartclim` sensor platform allows one to monitor room or external temperature and humidity. The BeeWi SmartClim BLE is a Bluetooth Low Energy sensor device that monitors temperature from a room or a garden from your smartphone by using an APP. Use this integration to track these metrics from any location thanks to Home Assistant, as well as to create some automation scripts based on your room's temperature.
|
||||
|
||||
## Installation
|
||||
|
||||
|
@ -8,7 +8,7 @@ ha_quality_scale: internal
|
||||
ha_domain: binary_sensor
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: entity
|
||||
---
|
||||
|
||||
Binary sensors are similar to other [sensors](/integrations/sensor) in that they
|
||||
|
@ -8,7 +8,7 @@ ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_domain: blueprint
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: system
|
||||
---
|
||||
|
||||
<script>document.location.href = '/docs/automation/using_blueprints/';</script>
|
||||
|
@ -15,7 +15,9 @@ ha_integration_type: integration
|
||||
|
||||
The `bluesound` platform allows you to control your [Bluesound](https://www.bluesound.com/) HiFi wireless speakers and audio integrations from Home Assistant.
|
||||
|
||||
If you want to automatically discover new devices, just make sure you have discovery: in your `configuration.yaml` file. To manually add a Bluesound device to your installation, add the following to your `configuration.yaml` file:
|
||||
Bluesound devices should be discovered automatically by using [the discovery integration](/integrations/discovery/).
|
||||
|
||||
To manually add a Bluesound device to your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml
|
||||
|
@ -32,7 +32,7 @@ bluetooth:
|
||||
|
||||
For Bluetooth to function on Linux systems:
|
||||
|
||||
- The [D-Bus](https://en.wikipedia.org/wiki/D-Bus) socket must be accessible to Home Assistant.
|
||||
- The [D-Bus](https://en.wikipedia.org/wiki/D-Bus) socket must be accessible to Home Assistant.
|
||||
- The Bluetooth adapter must be accessible to D-Bus and running [BlueZ](http://www.bluez.org/) >= 5.43. It is highly recommended to use BlueZ >= 5.63 as older versions have been reported to be unreliable.
|
||||
- The D-Bus implementation should be [dbus-broker](https://github.com/bus1/dbus-broker).
|
||||
- The host system should be running Linux kernel 5.15.62 or later.
|
||||
@ -105,7 +105,7 @@ The following methods are known to work to add multiple adapters:
|
||||
|
||||
- Long USB Extension cables
|
||||
- USB-Ethernet extenders
|
||||
- [USB/IP](http://usbip.sourceforge.net/)
|
||||
- [USB/IP](https://usbip.sourceforge.net/)
|
||||
|
||||
Integrations that have followed the [Best practices for library authors](https://developers.home-assistant.io/docs/bluetooth/?_highlight=Best+practices#best-practices-for-library-authors) will automatically connect via the adapter with the best signal and failover to an active adapter if one becomes unavailable.
|
||||
|
||||
@ -119,7 +119,7 @@ Many integrations require active scanning and may not function when scanning is
|
||||
|
||||
## Remote adapters
|
||||
|
||||
The Bluetooth integration supports receiving advertisement data from external adapters for devices and sensors that do not need an active connection. The number of remote scanners is limited only by the performance of the host system.
|
||||
The Bluetooth integration supports receiving advertisement data from external adapters for devices and sensors that do not need an active connection, as well as establishing active connections. The number of remote scanners is limited only by the performance of the host system.
|
||||
|
||||
The following remote adapters are supported:
|
||||
|
||||
@ -173,7 +173,7 @@ For example, unshielded USB 3 port and their cables are especially infamously kn
|
||||
- Try to place the Bluetooth adapter at some distance away from walls, ceilings, and floors.
|
||||
- Try different orientations of the adapter's external antenna (or whole Bluetooth adapter).
|
||||
- USB 3.0 ports/computers/peripherals are known culprits of RFI/EMI/EMF disruption. (See Ref. [1](https://www.usb.org/sites/default/files/327216.pdf) and [2](https://www.unit3compliance.co.uk/2-4ghz-intra-system-or-self-platform-interference-demonstration/)).
|
||||
- Make sure to only connect the Bluetooth USB adapter to a USB 2.0 port (and not to a USB 3.x port).
|
||||
- Make sure to only connect the Bluetooth USB adapter to a USB 2.0 port (and not to a USB 3.x port).
|
||||
- If your computer only has a USB 3.x port then connect the adapter via a powered USB 2.0 hub:
|
||||
- A USB 2.0 hub will convert USB 3.0 to a USB 2.0 port and avoid USB 3.0 EMF.
|
||||
- A USB 2.0 hub that uses an external power supply will ensure power requirements are fulfilled.
|
||||
|
23
source/_integrations/bswitch.markdown
Normal file
23
source/_integrations/bswitch.markdown
Normal file
@ -0,0 +1,23 @@
|
||||
---
|
||||
title: BSwitch
|
||||
description: Connect and control your BSwitch devices using the SwitchBee integration
|
||||
ha_category:
|
||||
- Button
|
||||
- Light
|
||||
- Switch
|
||||
ha_domain: bswitch
|
||||
ha_codeowners:
|
||||
- '@jafar-atili'
|
||||
ha_integration_type: integration
|
||||
ha_config_flow: true
|
||||
ha_platforms:
|
||||
- button
|
||||
- light
|
||||
- switch
|
||||
ha_iot_class: Local Polling
|
||||
ha_supporting_domain: switchbee
|
||||
ha_supporting_integration: SwitchBee
|
||||
ha_release: '2022.10'
|
||||
---
|
||||
|
||||
{% include integrations/supported_brand.md %}
|
@ -11,6 +11,7 @@ ha_codeowners:
|
||||
ha_domain: bthome
|
||||
ha_config_flow: true
|
||||
ha_platforms:
|
||||
- binary_sensor
|
||||
- sensor
|
||||
ha_integration_type: integration
|
||||
---
|
||||
|
36
source/_integrations/bticino.markdown
Normal file
36
source/_integrations/bticino.markdown
Normal file
@ -0,0 +1,36 @@
|
||||
---
|
||||
title: BTicino
|
||||
description: Connect and control your BTicino devices using the Netatmo integration
|
||||
ha_category:
|
||||
- Camera
|
||||
- Climate
|
||||
- Cover
|
||||
- Environment
|
||||
- Hub
|
||||
- Light
|
||||
- Media Source
|
||||
- Sensor
|
||||
- Switch
|
||||
- Weather
|
||||
ha_domain: bticino
|
||||
ha_codeowners:
|
||||
- '@cgtobi'
|
||||
ha_integration_type: integration
|
||||
ha_config_flow: true
|
||||
ha_platforms:
|
||||
- camera
|
||||
- climate
|
||||
- cover
|
||||
- diagnostics
|
||||
- light
|
||||
- select
|
||||
- sensor
|
||||
- switch
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_homekit: true
|
||||
ha_supporting_domain: netatmo
|
||||
ha_supporting_integration: Netatmo
|
||||
ha_release: '0.20'
|
||||
---
|
||||
|
||||
{% include integrations/supported_brand.md %}
|
36
source/_integrations/bubendorff.markdown
Normal file
36
source/_integrations/bubendorff.markdown
Normal file
@ -0,0 +1,36 @@
|
||||
---
|
||||
title: Bubendorff
|
||||
description: Connect and control your Bubendorff devices using the Netatmo integration
|
||||
ha_category:
|
||||
- Camera
|
||||
- Climate
|
||||
- Cover
|
||||
- Environment
|
||||
- Hub
|
||||
- Light
|
||||
- Media Source
|
||||
- Sensor
|
||||
- Switch
|
||||
- Weather
|
||||
ha_domain: bubendorff
|
||||
ha_codeowners:
|
||||
- '@cgtobi'
|
||||
ha_integration_type: integration
|
||||
ha_config_flow: true
|
||||
ha_platforms:
|
||||
- camera
|
||||
- climate
|
||||
- cover
|
||||
- diagnostics
|
||||
- light
|
||||
- select
|
||||
- sensor
|
||||
- switch
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_homekit: true
|
||||
ha_supporting_domain: netatmo
|
||||
ha_supporting_integration: Netatmo
|
||||
ha_release: '0.20'
|
||||
---
|
||||
|
||||
{% include integrations/supported_brand.md %}
|
@ -8,7 +8,7 @@ ha_quality_scale: internal
|
||||
ha_domain: button
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: entity
|
||||
---
|
||||
|
||||
A button entity is an entity that can fire an event / trigger an action towards
|
||||
|
@ -15,7 +15,7 @@ The `caldav` platform allows you to connect to your WebDAV calendar and generate
|
||||
|
||||
## Prerequisites
|
||||
|
||||
You need to have a CalDAV server and credentials for it. This integration was tested against [Baikal](http://sabre.io/baikal/) but any integration complying with the RFC4791 should work. [Nextcloud](https://nextcloud.com/) and [Owncloud](https://owncloud.org/) work fine.
|
||||
You need to have a CalDAV server and credentials for it. This integration was tested against [Baikal](https://sabre.io/baikal/) but any integration complying with the RFC4791 should work. [Nextcloud](https://nextcloud.com/) and [Owncloud](https://owncloud.org/) work fine.
|
||||
|
||||
{% details "Notes for Home Assistant Core Installations" %}
|
||||
|
||||
|
@ -7,7 +7,7 @@ ha_quality_scale: internal
|
||||
ha_category: []
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: entity
|
||||
---
|
||||
|
||||
The calendar integration allows you to integrate your calendars into Home Assistant. Calendars are shown on the calendar dashboard, and can be used with automations.
|
||||
|
@ -9,7 +9,7 @@ ha_quality_scale: internal
|
||||
ha_domain: camera
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: entity
|
||||
ha_platforms:
|
||||
- diagnostics
|
||||
---
|
||||
|
@ -259,7 +259,7 @@ Optional:
|
||||
|
||||
### Plex
|
||||
|
||||
To cast media directly from a configured Plex server, set the fields [as documented in the Plex integration](/integrations/plex/#service-play_media) and prepend the `media_content_id` with `plex://`:
|
||||
To cast media directly from a configured Plex server, set the fields [as documented in the Plex integration](/integrations/plex/#service-media_playerplay_media) and prepend the `media_content_id` with `plex://`:
|
||||
|
||||
```yaml
|
||||
'cast_plex_to_chromecast':
|
||||
|
@ -48,7 +48,7 @@ caller:
|
||||
required: false
|
||||
type: string
|
||||
language:
|
||||
description: The language you want to use to convert the message to audio. Accepted values are found in the [ClickSend Documentation](http://docs.clicksend.apiary.io/#reference/voice/voice-languages).
|
||||
description: The language you want to use to convert the message to audio. Accepted values are found in the [ClickSend Documentation](https://clicksend.docs.apiary.io/#reference/voice/voice-languages).
|
||||
required: false
|
||||
default: en-us
|
||||
type: string
|
||||
|
@ -8,7 +8,7 @@ ha_quality_scale: internal
|
||||
ha_domain: climate
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: entity
|
||||
---
|
||||
|
||||
The Climate integration allows you to control and monitor HVAC (heating, ventilating, and air conditioning) devices and thermostats.
|
||||
|
@ -10,7 +10,7 @@ ha_codeowners:
|
||||
ha_domain: config
|
||||
ha_platforms:
|
||||
- scene
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: system
|
||||
---
|
||||
|
||||
The `config` integration is designed to display panels in the frontend to configure and manage parts of Home Assistant.
|
||||
|
@ -8,7 +8,7 @@ ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_domain: configurator
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: system
|
||||
---
|
||||
|
||||
<div class='note'>
|
||||
|
@ -9,7 +9,7 @@ ha_iot_class: Local Push
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_domain: conversation
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: system
|
||||
---
|
||||
|
||||
The conversation integration allows you to converse with Home Assistant. You can either converse by pressing the microphone in the frontend (supported browsers only (no iOS)) or by calling the `conversation/process` service with the transcribed text.
|
||||
|
@ -8,7 +8,7 @@ ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_domain: cover
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: entity
|
||||
---
|
||||
|
||||
Home Assistant can give you an interface to control covers such as rollershutters, blinds, and garage doors.
|
||||
|
@ -38,7 +38,7 @@ There is currently support for the following device types within Home Assistant:
|
||||
- The European versions of the Wifi Controller Unit (BRP069A41, 42, 43, 45), which is powered by the [Daikin Online Controller](https://play.google.com/store/apps/details?id=eu.daikin.remoapp) application. The new version of WiFi Controller Unit BRP069Bxx is also confirmed to work, tested and working devices are the BRP069B41 and BRP069B45.
|
||||
- The Australian version of the Daikin Wifi Controller Unit BRP072A42, which is operated by the [Daikin Mobile Controller (iOS)](https://itunes.apple.com/au/app/daikin-mobile-controller/id917168708?mt=8) ([Android](https://play.google.com/store/apps/details?id=ao.daikin.remoapp)) application. Confirmed working on a Daikin Cora Series Reverse Cycle Split System Air Conditioner 2.5kW Cooling FTXM25QVMA with operation mode, temp, fan swing (3d, horizontal, vertical).
|
||||
- BRP072Cxx based units (including Zena devices)*.
|
||||
- The United States version of the Wifi Controller Unit (BRP069A43), which is powered by the [Daikin Comfort Control](https://play.google.com/store/apps/details?id=us.daikin.wwapp) application. Confirmed working on a Daikin Wall Units FTXS09LVJU, FTXS15LVJU, FTXS18LVJU and a Floor Unit FVXS15NVJU with operation mode, temp, fan swing (3d, horizontal, vertical).
|
||||
- The United States version of the Wifi Controller Unit (BRP069A43), which is powered by the [Daikin Comfort Control](https://play.google.com/store/apps/details?id=us.daikin.comfortcontrols) application. Confirmed working on a Daikin Wall Units FTXS09LVJU, FTXS15LVJU, FTXS18LVJU and a Floor Unit FVXS15NVJU with operation mode, temp, fan swing (3d, horizontal, vertical).
|
||||
- The Australian version of the Daikin Wifi Controller for **AirBase** units (BRP15B61), which is operated by the [Daikin Airbase](https://play.google.com/store/apps/details?id=au.com.daikin.airbase) application.
|
||||
- **SKYFi** based units, which is operated by the SKYFi application*.
|
||||
|
||||
|
@ -8,7 +8,7 @@ ha_domain: default_config
|
||||
ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: system
|
||||
---
|
||||
|
||||
This integration is a meta-component and configures a default set of integrations for Home Assistant to load. The integrations that will be loaded are:
|
||||
|
@ -1,5 +1,6 @@
|
||||
---
|
||||
title: Device Automation
|
||||
description: Information about the Device Automation plugin.
|
||||
ha_category:
|
||||
- Automation
|
||||
ha_release: 0.7
|
||||
@ -7,7 +8,7 @@ ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_domain: device_automation
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: system
|
||||
---
|
||||
|
||||
Device Automations is a plugin for the automation integration to allow other integrations to provide device specific triggers, conditions and actions.
|
||||
|
@ -8,7 +8,7 @@ ha_quality_scale: internal
|
||||
ha_domain: device_tracker
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: entity
|
||||
---
|
||||
|
||||
The device tracker allows you to track devices in Home Assistant. This can happen by querying your wireless router or by having applications push location info.
|
||||
|
@ -232,7 +232,7 @@ value_template:
|
||||
|
||||
### Using the discovery protocol
|
||||
|
||||
The device_tracker can be created via a discovery topic that follows the following topic name convention: `<discovery_prefix>/device_tracker/[<node_id>/]<object_id>/config`.
|
||||
The device_tracker can be created via publishing to a discovery topic that follows the following [MQTT Discovery](/docs/mqtt/discovery/#discovery-topic) topic name format: `<discovery_prefix>/device_tracker/[<node_id>/]<object_id>/config`.
|
||||
|
||||
You can use the command line tool `mosquitto_pub` shipped with `mosquitto` or the `mosquitto-clients` package to send MQTT messages.
|
||||
|
||||
|
@ -9,7 +9,7 @@ ha_domain: dhcp
|
||||
ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@bdraco'
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: system
|
||||
---
|
||||
|
||||
The `dhcp` "DHCP Discovery" integration will watch the network for DHCP requests for supported devices and services. Discovered integrations will show up in the discovered section on the integrations page in the configuration panel.
|
||||
|
@ -8,7 +8,7 @@ ha_quality_scale: internal
|
||||
ha_domain: diagnostics
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: system
|
||||
---
|
||||
|
||||
The diagnostics integration provides a way to download diagnostic data from
|
||||
|
@ -8,7 +8,7 @@ ha_quality_scale: internal
|
||||
ha_domain: discovery
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: system
|
||||
---
|
||||
|
||||
This is the legacy discovery integration for Home Assistant. It's use is no longer recommended. Use the [SSDP](/integrations/ssdp/), [Zeroconf](/integrations/zeroconf/) and [USB](/integrations/usb/) integrations instead.
|
||||
|
@ -25,11 +25,13 @@ The `doorbird` implementation allows you to integrate your [DoorBird](https://ww
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
- [Camera](#camera) - View live and historical event based images.
|
||||
- [Button](#button) - Enable control of relays and camera night vision.
|
||||
- [Button](#button) - Enable control of relays and camera low-light/night vision (IR).
|
||||
|
||||
## Setup
|
||||
|
||||
It is recommended to set up a new account on your Doorbird App for use with Home Assistant. This can be added via the Doorbird App by clicking settings (cog icon) -> Administration-> LOGIN (using your 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:
|
||||
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:
|
||||
|
||||
- "Watch Always" (live view)
|
||||
- "History" (last motion)
|
||||
@ -64,7 +66,7 @@ If DoorBird was setup using UI prompts, a token can be discovered through DoorBi
|
||||
|
||||
#### Event Data
|
||||
|
||||
Each event will include live image and video URLs for the Doorbird device that triggered the event. These URLs can be found on the event data and can be useful in automation actions. For example, you could use `html5_viewer_url` on a notification to be linked directly to the live view of the device that triggered the automation.
|
||||
Each event will include live image and video URLs for the DoorBird device that triggered the event. These URLs can be found on the event data and are helpful in automation actions. For example, you could use `html5_viewer_url` on a notification to be linked directly to the live view of the device that triggered the automation.
|
||||
|
||||
The following keys are available on `event_data`:
|
||||
|
||||
@ -75,14 +77,14 @@ The following keys are available on `event_data`:
|
||||
- `html5_viewer_url`
|
||||
|
||||
<div class="note">
|
||||
The URLs on the event will be based on the configuration used to connect to your Doorbird device. Ability to connect from outside your network will depend on your configuration.
|
||||
The URLs on the event will be based on the configuration used to connect to your DoorBird device. The ability to connect from outside your network will depend on your configuration.
|
||||
</div>
|
||||
|
||||
#### Schedules
|
||||
|
||||
Once events have been registered on the DoorBird device, they must be attached to a schedule using the official DoorBird app on Android or iOS. Currently, there are schedules available for doorbell, motion, relay, and RFID events (on supported Doorbird devices).
|
||||
Once events have been registered on the DoorBird device, they must be attached to a schedule using the official DoorBird app on Android or iOS or the [DoorBird - WebAdmin](https://webadmin.doorbird.com) portal. Currently, there are schedules available for doorbell, motion, relay, and RFID events (on supported DoorBird devices). Essentially, you can enable an HTTP(S) call from your DoorBird device to the Home Assistant DoorBird API by configuring an action/event (by enabling a schedule).
|
||||
|
||||
The schedules can be found by navigating to the following area of the Doorbird app (Android or IOS):
|
||||
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
|
||||
|
||||
@ -94,10 +96,12 @@ Click on the dropdown button in the top left and choose your specific "Schedule
|
||||
|
||||
On the desired event, you should be able to specify blocks of time for when you would like the event to be sent to Home Assistant. If you want the event to always send, the square in the upper right can be used to populate the entire schedule. Events will be fired to Home Assistant for blocks of time that are blue.
|
||||
|
||||
Note: Remember to complete the schedule assignment steps above for each event type that you registered.
|
||||
Note: Remember to complete the schedule assignment steps above for each event type you registered. If you are configuring HTTP Call(s) schedules for registered RFID tags, please note that you will have to enable/configure the schedule for each RFID tag.
|
||||
|
||||
### Automation Example
|
||||
|
||||
The example automation below shows how to turn on a light when somebody presses the DoorBird call button:
|
||||
|
||||
```yaml
|
||||
- alias: "Doorbird Ring"
|
||||
trigger:
|
||||
@ -109,6 +113,8 @@ Note: Remember to complete the schedule assignment steps above for each event ty
|
||||
entity_id: light.side_entry_porch
|
||||
```
|
||||
|
||||
You can also create automation actions based on the DoorBird RFID scanner being successfully triggered (configured per RFID tag) and motion events.
|
||||
|
||||
## Camera
|
||||
|
||||
The `doorbird` implementation allows you to view the live video, the last doorbell ring image, and the last motion sensor image from your [DoorBird](https://www.doorbird.com/) device in Home Assistant.
|
||||
@ -116,4 +122,4 @@ The `doorbird` implementation allows you to view the live video, the last doorbe
|
||||
|
||||
## Button
|
||||
|
||||
The `doorbird` button platform allows you to power connected relays and trigger the IR array in your [DoorBird](https://www.doorbird.com/) video doorbell device.
|
||||
The `doorbird` button platform allows you to power connected relays and trigger the low-light/dark Infra-Red (IR) array on your [DoorBird](https://www.doorbird.com/) video doorbell device.
|
||||
|
@ -83,7 +83,7 @@ $ docker run --device /dev/ttyUSB0:/dev/ttyUSB0 -d --name="home-assistant" -v /h
|
||||
|
||||
#### Serial to network proxies:
|
||||
|
||||
- [ser2net](http://ser2net.sourceforge.net)
|
||||
- [ser2net](https://ser2net.sourceforge.net)
|
||||
- [WIZnet WIZ110SR](https://www.wiznet.io/product-item/wiz110sr/)
|
||||
|
||||
DIY solutions (ESP8266 based):
|
||||
|
@ -9,7 +9,7 @@ ha_domain: duckdns
|
||||
ha_integration_type: integration
|
||||
---
|
||||
|
||||
With the DuckDNS integration you can keep your DuckDNS record up to date. DuckDNS is a free dynamic DNS service that allows you to point a subdomain under `duckdns.org` at your computer.
|
||||
The DuckDNS integration allows you to keep your DuckDNS subdomain always in sync with your public IP address. [DuckDNS](https://www.duckdns.org) is a free service that allows you to bind your own favorite subdomain under `duckdns.org` to the public IP address in use from your router, even though such address is dynamically allocated by your internet service provider and therefore changes over time.
|
||||
|
||||
<div class='note'>
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
---
|
||||
title: UK Environment Agency Flood Monitoring
|
||||
description: Monitor nearby water levels and be prepared for flooding with the UK Environment Agency API integration.
|
||||
logo: environment_agency.jpg
|
||||
ha_category:
|
||||
- Sensor
|
||||
ha_release: 0.115
|
||||
|
@ -20,10 +20,10 @@ To enable this sensor, add the following lines to your `configuration.yaml`, it
|
||||
```yaml
|
||||
# Example configuration.yaml entry using cloud based Emoncms
|
||||
sensor:
|
||||
platform: emoncms
|
||||
api_key: API_KEY
|
||||
url: https://emoncms.org
|
||||
id: 1
|
||||
- platform: emoncms
|
||||
api_key: API_KEY
|
||||
url: https://emoncms.org
|
||||
id: 1
|
||||
```
|
||||
|
||||
As of Feb 2020, the integration will discover all sensors from Emoncms and will use the unit of measurement specified in the Feed from Emoncms, in preference to the one set in the configuration. Tested with [Emoncms](https://github.com/emoncms/emoncms) V10.1.13 - `unit` was added to the API around version V9.9.1.
|
||||
|
@ -18,8 +18,8 @@ Be aware that `emulated_hue` doesn't work for new users of **Google Home** with
|
||||
|
||||
</div>
|
||||
|
||||
The `emulated_hue` integration provides a virtual Philips Hue bridge, written entirely in software that allows services that work with the Hue API to interact with Home Assistant
|
||||
entities. The driving use case behind for functionality is to allow Home Assistant to work with an Amazon Echo or Google Home with no setup cost outside of configuration changes.
|
||||
The `emulated_hue` integration provides a virtual [Philips Hue](https://www.philips-hue.com) bridge, written entirely in software that allows services that work with the Hue API to interact with Home Assistant
|
||||
entities. The driving use case behind this functionality is to allow Home Assistant to work with an Amazon Echo or Google Home with no setup cost outside of configuration changes.
|
||||
The virtual bridge can turn entities on/off or change the brightness of dimmable lights. The volume level of media players can be controlled as brightness.
|
||||
|
||||
<div class='note'>
|
||||
@ -32,7 +32,7 @@ It is recommended to assign a static IP address to the computer running Home Ass
|
||||
|
||||
<div class='note'>
|
||||
|
||||
Both Google Home and Alexa use the device they were initially set up with for communication with `emulated_hue`. In other words: if you remove/replace this device you will also break `emulated_hue`. To recover your `emulated_hue` functionality, backup your `config/emulated_hue_ids.json` file, delete the original one and reboot your Home Assistant instance.
|
||||
Both Google Home and Alexa use the device they were initially set up with for communication with `emulated_hue`. In other words: if you remove/replace this device you will also break `emulated_hue`. To recover your `emulated_hue` functionality, backup your `config/.storage/emulated_hue.ids` file, delete the original one and reboot your Home Assistant instance.
|
||||
|
||||
If you added or upgraded to a newer Alexa device and devices are not found, you must change to listen_port: 80. If Alexa responds with "value is out of range for device..." it means switches were automatically added as lights in discovery. Remove each device in the Alexa app. Turn on all the switches in Home Assistant. In the Alexa app go to "Add New Device" select "Switch" and then "other" to add them correctly.
|
||||
|
||||
|
@ -10,5 +10,5 @@ ha_codeowners:
|
||||
ha_domain: energy
|
||||
ha_platforms:
|
||||
- sensor
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: system
|
||||
---
|
||||
|
@ -17,7 +17,7 @@ The `enigma2` platform allows you to control a Linux based set-top box which is
|
||||
|
||||
[OpenWebif](https://github.com/E2OpenPlugins/e2openplugin-OpenWebif) is an open source web interface for Enigma2 based set-top boxes.
|
||||
|
||||
Enigma2 devices should be discovered automatically by using [the discovery component](/integrations/discovery/).
|
||||
Enigma2 devices should be discovered automatically by using [the discovery integration](/integrations/discovery/).
|
||||
|
||||
To manually add a set-top box to your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
|
@ -29,8 +29,6 @@ The integration automatically determines the closest weather station based on th
|
||||
|
||||
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).
|
||||
|
||||
Note that not all weather stations provide a complete set of data weather/sensor data. The data that is retrieved by this integration can be found [here](https://dd.weather.gc.ca/citypage_weather/xml/). Browsing the XML data for your station will help understand what data is available.
|
||||
|
||||
## Entities
|
||||
|
||||
The integration will create the entities listed below. Some of the entities are disabled by default and can be enabled via the integration's Entities page.
|
||||
@ -89,6 +87,24 @@ The integration will create the entities listed below. Some of the entities are
|
||||
|
||||
The alert sensors use the number of current alerts as their state, with an attribute containing the title of each alert.
|
||||
|
||||
## Solving Problems
|
||||
|
||||
The Environment Canada service is very stable and provides high-quality data. Here are some steps that you can take before opening a problem report or posting on the forum.
|
||||
|
||||
### Service Interruptions
|
||||
|
||||
Although infrequent, there have been some outages and instabilities of the Environment Canada service. If you see error messages in your logs similar to the one below, it is very unlikely to be a problem with this integration and is likely a problem with the Environment Canada service.
|
||||
|
||||
```txt
|
||||
2022-10-05 12:25:08.619 ERROR (MainThread) [homeassistant.components.environment_canada] Timeout fetching environment_canada weather data
|
||||
```
|
||||
|
||||
The first course of action should be to check if there are known problems with the service. Look for recent messages on the [Environment Canada mailing list](https://lists.ec.gc.ca/pipermail/dd_info/) ([example message](https://lists.ec.gc.ca/pipermail/dd_info/2022-October/000542.html)). The next course of action is to post on the forum. The answers are usually already known by someone.
|
||||
|
||||
### Sensor `unavailable` or `unknown`
|
||||
|
||||
Not all weather stations provide a complete set of weather/sensor data. The data that is retrieved by this integration can be found [here](https://dd.weather.gc.ca/citypage_weather/xml/). Browsing the XML data for your station will help you to understand what data is (un)available.
|
||||
|
||||
## Template Sensors
|
||||
|
||||
The configuration snippet below adds a useful [template sensors](/integrations/template/) showing the current "feels like" temperature among air temperature, humidex, and wind chill.
|
||||
|
@ -20,7 +20,7 @@ ha_integration_type: integration
|
||||
|
||||
The `envisalink` integration will allow Home Assistant users who own either a DSC or Honeywell alarm panel to leverage their alarm system and its sensors to provide Home Assistant with rich information about their homes. Connectivity between Home Assistant and the alarm panel is accomplished through a device produced by Eyez On, known as the Envisalink. The Envisalink evl3 and evl4 boards provide a TCP/IP interface to the alarm panel, where it emulates an alarm keypad. This board also exposes a raw TCP/IP based API, upon which this integration is built. Currently, the Envisalink version 4 is the latest model. This integration supports both the evl3 and the evl4.
|
||||
|
||||
Please visit the [eyezon website](http://www.eyezon.com/) for further information about the evl3 and evl4 boards.
|
||||
Please visit the [eyezon website](https://www.eyezon.com/) for further information about the evl3 and evl4 boards.
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
|
@ -44,3 +44,4 @@ The supported operation modes map to the ON/OFF period selection of your timeswi
|
||||
- **Off** The timeswitch is permanently off.
|
||||
|
||||
If **All Day** is selected in the EMBER app it will show as **Auto** in Home Assistant.
|
||||
To **Boost** your heating, you should call the `climate.set_aux_heater` service on your zone entity. This will then **Boost** that zone for 1 hour.
|
||||
|
@ -8,7 +8,7 @@ ha_quality_scale: internal
|
||||
ha_domain: fan
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: entity
|
||||
---
|
||||
|
||||
The Fan integration allows you to control and monitor Fan devices.
|
||||
|
@ -4,9 +4,10 @@ description: File upload integration supports various frontend features within H
|
||||
ha_release: 2022.9
|
||||
ha_quality_scale: internal
|
||||
ha_domain: file_upload
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: system
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_category: []
|
||||
---
|
||||
|
||||
The file upload integration allows various features in the frontend to upload files.
|
||||
|
@ -13,7 +13,13 @@ ha_integration_type: integration
|
||||
|
||||
The Fitbit sensor allows you to expose data from [Fitbit](https://fitbit.com/) to Home Assistant.
|
||||
|
||||
Prior to enabling the sensor, your Home Assistant instance must be enabled with SSL, using services such as [Home Assistant cloud](/cloud/) or [Duck DNS](/integrations/duckdns/) integrating Let's Encrypt. Fitbit will not allow insecure integrations. Your Fitbit account must also be registered as an Developer account at the [Fitbit Developer Portal](https://dev.fitbit.com), and have a verified email address.
|
||||
Prior to enabling the sensor, your Home Assistant instance must be enabled with SSL, using services such as [Home Assistant cloud](/cloud/) or [Duck DNS](/integrations/duckdns/) integrating Let's Encrypt. Fitbit will not allow insecure integrations.
|
||||
|
||||
<div class='note'>
|
||||
There is no need for Access from the Internet to Home Assistant for this Integration to work. Home Assistant can only be accessible from the internal Network or via VPN. But a Certificate is required in any case.
|
||||
</div>
|
||||
|
||||
Your Fitbit account must also be registered as an Developer account at the [Fitbit Developer Portal](https://dev.fitbit.com), and have a verified email address.
|
||||
|
||||
Enable the sensor by adding the following to your `configuration.yaml` file:
|
||||
|
||||
|
@ -19,7 +19,7 @@ ha_integration_type: integration
|
||||
---
|
||||
|
||||
The `flo` integration integrates
|
||||
[Flo by Moen smart water shutoff valves](https://meetflo.com/product/smart-water-shutoff) into Home Assistant.
|
||||
[Flo by Moen smart water shutoff valves](https://www.moen.com/flo) into Home Assistant.
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
|
@ -16,7 +16,9 @@ The `flux` switch platform will change the temperature of your lights similar to
|
||||
|
||||
The integration will update your lights based on the time of day. It will only affect lights that are turned on and listed in the flux configuration.
|
||||
|
||||
During the day (in between `start time` and `sunset time`), it will fade the lights from the `start_colortemp` to the `sunset_colortemp`. After sunset (between `sunset_time` and `stop_time`), the lights will fade from the `sunset_colortemp` to the `stop_colortemp`. If the lights are still on after the `stop_time` it will continue to change the light to the `stop_colortemp` until the light is turned off. The fade effect is created by updating the lights periodically.
|
||||
During the day (in between `start_time` and `sunset_time`), it will fade the lights from the `start_colortemp` to the `sunset_colortemp`. After sunset (between `sunset_time` and `stop_time`), the lights will fade from the `sunset_colortemp` to the `stop_colortemp`. If the lights are still on after the `stop_time` it will continue to change the light to the `stop_colortemp` until the light is turned off. The fade effect is created by updating the lights periodically.
|
||||
|
||||
The value of `sunset_time` is automatically calculated based on the location specified in your [Home Assistant configuration](/docs/configuration/basic).
|
||||
|
||||
The color temperature is specified in kelvin, and accepted values are between 1000 and 40000 kelvin. Lower values will seem more red, while higher will look more white.
|
||||
|
||||
|
@ -36,7 +36,7 @@ Example of bulbs:
|
||||
|
||||
- [MagicLight Smart Bulbs](https://www.magiclightbulbs.com/lightbulbs) or [Amazon](https://www.amazon.com/gp/product/B081YJHHB1/)
|
||||
- [RGBCW Downlights](https://www.amazon.com/gp/product/B093Q83G7S/)
|
||||
- [RGBCW Floodlights](https://www.amazon.com/gp/product/B09J38NKPN)
|
||||
- [RGBCW Floodlights](https://www.amazon.com/dp/product/B08CDS3N6H)
|
||||
|
||||
Examples of controllers with strips:
|
||||
|
||||
@ -47,7 +47,7 @@ Examples of controllers:
|
||||
- [Single color](https://www.amazon.com/gp/product/B07J5B3R5L/)
|
||||
- [RGB](https://www.amazon.com/gp/product/B07C1LN7FZ/)
|
||||
- [RGBW](https://www.amazon.com/gp/product/B07J9QCQNN/)
|
||||
- [RGBCW](https://www.amazon.com/gp/product/B09BMC4JNJ/)
|
||||
- [RGBCW](https://www.amazon.co.uk/gp/product/B09BMC4JNJ/)
|
||||
- [RGB/W/CW](https://www.amazon.com/gp/product/B01DY56N8U/)
|
||||
|
||||
Examples of addressable controllers:
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Free Mobile
|
||||
description: Instructions on how to add user notifications to Home Assistant.
|
||||
description: Instructions on how to add Free Mobile SMS notifications to Home Assistant.
|
||||
ha_category:
|
||||
- Notifications
|
||||
ha_release: 0.11
|
||||
@ -11,7 +11,9 @@ ha_platforms:
|
||||
ha_integration_type: integration
|
||||
---
|
||||
|
||||
The `free_mobile` platform is using the French mobile operator [Free Mobile](http://mobile.free.fr/) to send SMS to your own cell phone.
|
||||
The `free_mobile` platform uses the French mobile operator [Free Mobile](http://mobile.free.fr/) to send SMS to your own cell phone.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Before doing anything, you have to activate the SMS API option in your Free Mobile account (In "Gérer mon compte -> Mes Options"). Activating this option will automatically generate a token which is required in your configuration.
|
||||
|
||||
@ -19,13 +21,15 @@ Before doing anything, you have to activate the SMS API option in your Free Mobi
|
||||
<img src='/images/integrations/free_mobile/token.png' />
|
||||
</p>
|
||||
|
||||
This API only send classic SMS and only on the cell phone of the account owner. So you only have to provide a text message in your payload.
|
||||
This API only sends classic SMS messages and only to the cell phone of the account owner. So you only have to provide a text message in your payload.
|
||||
|
||||
<div class='note warning'>
|
||||
If you disable and re-enable the SMS API option, please be sure to update your token in your configuration.
|
||||
</div>
|
||||
|
||||
To enable SMS notifications in your installation, add the following to your `configuration.yaml` file:
|
||||
## Configuration
|
||||
|
||||
To use this notification platform in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -43,7 +47,7 @@ name:
|
||||
type: string
|
||||
default: notify
|
||||
username:
|
||||
description: This is the id given by FreeMobile to access to your online account.
|
||||
description: This is the id given by FreeMobile to access your online account.
|
||||
required: true
|
||||
type: string
|
||||
access_token:
|
||||
|
@ -8,10 +8,10 @@ ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/frontend'
|
||||
ha_domain: frontend
|
||||
ha_integration_type: integration
|
||||
ha_integration_type: system
|
||||
---
|
||||
|
||||
This offers the official frontend to control Home Assistant. 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:
|
||||
This offers the official frontend to control Home Assistant. This integration is enabled by default 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
|
||||
@ -20,7 +20,7 @@ frontend:
|
||||
|
||||
{% configuration %}
|
||||
themes:
|
||||
description: Allow to define different themes. See below for further details.
|
||||
description: Allows you to define different themes. See below for further details.
|
||||
required: false
|
||||
type: map
|
||||
keys:
|
||||
@ -42,7 +42,7 @@ frontend:
|
||||
required: false
|
||||
type: list
|
||||
development_repo:
|
||||
description: Allow 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 pre-built PyPI package. Useful for Frontend development.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
@ -129,7 +129,7 @@ There are two themes-related services:
|
||||
| Service data attribute | Description |
|
||||
| ---------------------- | --------------------------------------------------------------------------------------------------- |
|
||||
| `name` | Name of the theme to set, `default` for the default theme or `none` to restore to the default. |
|
||||
| `mode` | If the theme should be applied in light or dark mode `light` or `dark` (Optional, default `light`) |
|
||||
| `mode` | If the theme should be applied in light or dark mode `light` or `dark` (Optional, default `light`). |
|
||||
|
||||
If no dark mode backend theme is set, the light mode theme will also be used in dark mode.
|
||||
The backend theme settings will be saved and restored on a restart of Home Assistant.
|
||||
@ -160,7 +160,7 @@ frontend:
|
||||
```
|
||||
|
||||
Modules will be loaded with `import({{ extra_module }})`, on devices that support it (`latest` mode).
|
||||
For other devices (`es5` mode) you can use `extra_js_url_es5`, this will be loaded with `<script defer src='{{ extra_module }}'></script>`
|
||||
For other devices (`es5` mode) you can use `extra_js_url_es5`, this will be loaded with `<script defer src='{{ extra_module }}'></script>`.
|
||||
|
||||
The ES5 and module version will never both be loaded, depending on if the device supports `import` the module of ES5 version will be loaded.
|
||||
|
||||
|
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