Merge branch 'current' into next

This commit is contained in:
Franck Nijhof 2022-10-24 12:31:22 +02:00
commit 05d5712f82
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
260 changed files with 4179 additions and 548 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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

View File

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

View File

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

View File

@ -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('.')

View File

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

View File

@ -901,7 +901,7 @@ $ha__primary_color: #03a9f4;
width: 100%;
left: unset;
font-size: 2em;
line-height: 0px;
line-height: 1em;
svg {
width: 152px;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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.
![Screenshot of the Date selector](/images/blueprints/selector-date.png)
@ -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.
![Screenshot of the Date & time selector](/images/blueprints/selector-datetime.png)
@ -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.
![Screenshot of a time selector](/images/blueprints/selector-time.png)

View File

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

View File

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

View File

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

View File

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

View File

@ -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).
![Photo of SlimmeLezer attached to a smart electricity meter](/images/docs/energy/slimmelezer.jpg)

View File

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

View File

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

View File

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

View File

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

View File

@ -1,6 +0,0 @@
---
title: "Configuration.yaml by Gummientchen"
description: ""
ha_category: Example configuration.yaml
ha_external_link: https://github.com/Gummientchen/Home-AssistantConfig
---

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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

View File

@ -11,6 +11,7 @@ ha_codeowners:
ha_domain: bthome
ha_config_flow: true
ha_platforms:
- binary_sensor
- sensor
ha_integration_type: integration
---

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

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -10,5 +10,5 @@ ha_codeowners:
ha_domain: energy
ha_platforms:
- sensor
ha_integration_type: integration
ha_integration_type: system
---

View File

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

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

View File

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

View File

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

View File

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

View File

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

View File

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

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

View File

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

View File

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

View File

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

View File

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