Merge branch 'current' into next

This commit is contained in:
Franck Nijhof 2020-10-21 02:10:41 +02:00
commit 06f9f368ad
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
311 changed files with 4554 additions and 1439 deletions

View File

@ -151,6 +151,7 @@ source/_integrations/geonetnz_volcano.markdown @exxamalte
source/_integrations/gios.markdown @bieniu source/_integrations/gios.markdown @bieniu
source/_integrations/gitter.markdown @fabaff source/_integrations/gitter.markdown @fabaff
source/_integrations/glances.markdown @fabaff @engrbm87 source/_integrations/glances.markdown @fabaff @engrbm87
source/_integrations/goalzero.markdown @tkdrob
source/_integrations/gogogate2.markdown @vangorra source/_integrations/gogogate2.markdown @vangorra
source/_integrations/google_assistant.markdown @home-assistant/cloud source/_integrations/google_assistant.markdown @home-assistant/cloud
source/_integrations/google_cloud.markdown @lufton source/_integrations/google_cloud.markdown @lufton
@ -162,6 +163,7 @@ source/_integrations/group.markdown @home-assistant/core
source/_integrations/growatt_server.markdown @indykoning source/_integrations/growatt_server.markdown @indykoning
source/_integrations/guardian.markdown @bachya source/_integrations/guardian.markdown @bachya
source/_integrations/harmony.markdown @ehendrix23 @bramkragten @bdraco source/_integrations/harmony.markdown @ehendrix23 @bramkragten @bdraco
source/_integrations/hdmi_cec.markdown @newAM
source/_integrations/heatmiser.markdown @andylockran source/_integrations/heatmiser.markdown @andylockran
source/_integrations/heos.markdown @andrewsayre source/_integrations/heos.markdown @andrewsayre
source/_integrations/here_travel_time.markdown @eifinger source/_integrations/here_travel_time.markdown @eifinger
@ -186,6 +188,7 @@ source/_integrations/humidifier.markdown @home-assistant/core @Shulyaka
source/_integrations/hunterdouglas_powerview.markdown @bdraco source/_integrations/hunterdouglas_powerview.markdown @bdraco
source/_integrations/hvv_departures.markdown @vigonotion source/_integrations/hvv_departures.markdown @vigonotion
source/_integrations/hydrawise.markdown @ptcryan source/_integrations/hydrawise.markdown @ptcryan
source/_integrations/hyperion.markdown @dermotduffy
source/_integrations/iammeter.markdown @lewei50 source/_integrations/iammeter.markdown @lewei50
source/_integrations/iaqualink.markdown @flz source/_integrations/iaqualink.markdown @flz
source/_integrations/icloud.markdown @Quentame source/_integrations/icloud.markdown @Quentame
@ -217,7 +220,7 @@ source/_integrations/keenetic_ndms2.markdown @foxel
source/_integrations/kef.markdown @basnijholt source/_integrations/kef.markdown @basnijholt
source/_integrations/keyboard_remote.markdown @bendavid source/_integrations/keyboard_remote.markdown @bendavid
source/_integrations/knx.markdown @Julius2342 @farmio @marvin-w source/_integrations/knx.markdown @Julius2342 @farmio @marvin-w
source/_integrations/kodi.markdown @OnFreund source/_integrations/kodi.markdown @OnFreund @cgtobi
source/_integrations/konnected.markdown @heythisisnate @kit-klein source/_integrations/konnected.markdown @heythisisnate @kit-klein
source/_integrations/lametric.markdown @robbiet480 source/_integrations/lametric.markdown @robbiet480
source/_integrations/launch_library.markdown @ludeeus source/_integrations/launch_library.markdown @ludeeus
@ -228,7 +231,7 @@ source/_integrations/local_ip.markdown @issacg
source/_integrations/logger.markdown @home-assistant/core source/_integrations/logger.markdown @home-assistant/core
source/_integrations/logi_circle.markdown @evanjd source/_integrations/logi_circle.markdown @evanjd
source/_integrations/loopenergy.markdown @pavoni source/_integrations/loopenergy.markdown @pavoni
source/_integrations/luci.markdown @fbradyirl @mzdrale source/_integrations/luci.markdown @mzdrale
source/_integrations/luftdaten.markdown @fabaff source/_integrations/luftdaten.markdown @fabaff
source/_integrations/lupusec.markdown @majuss source/_integrations/lupusec.markdown @majuss
source/_integrations/lutron.markdown @JonGilmore source/_integrations/lutron.markdown @JonGilmore
@ -251,7 +254,7 @@ source/_integrations/min_max.markdown @fabaff
source/_integrations/minecraft_server.markdown @elmurato source/_integrations/minecraft_server.markdown @elmurato
source/_integrations/minio.markdown @tkislan source/_integrations/minio.markdown @tkislan
source/_integrations/mobile_app.markdown @robbiet480 source/_integrations/mobile_app.markdown @robbiet480
source/_integrations/modbus.markdown @adamchengtkc @janiversen source/_integrations/modbus.markdown @adamchengtkc @janiversen @vzahradnik
source/_integrations/monoprice.markdown @etsinko @OnFreund source/_integrations/monoprice.markdown @etsinko @OnFreund
source/_integrations/moon.markdown @fabaff source/_integrations/moon.markdown @fabaff
source/_integrations/mpd.markdown @fabaff source/_integrations/mpd.markdown @fabaff
@ -290,6 +293,7 @@ source/_integrations/nzbget.markdown @chriscla
source/_integrations/obihai.markdown @dshokouhi source/_integrations/obihai.markdown @dshokouhi
source/_integrations/ohmconnect.markdown @robbiet480 source/_integrations/ohmconnect.markdown @robbiet480
source/_integrations/ombi.markdown @larssont source/_integrations/ombi.markdown @larssont
source/_integrations/omnilogic.markdown @oliver84 @djtimca @gentoosu
source/_integrations/onboarding.markdown @home-assistant/core source/_integrations/onboarding.markdown @home-assistant/core
source/_integrations/onewire.markdown @garbled1 source/_integrations/onewire.markdown @garbled1
source/_integrations/onvif.markdown @hunterjm source/_integrations/onvif.markdown @hunterjm
@ -339,6 +343,7 @@ source/_integrations/raincloud.markdown @vanstinator
source/_integrations/rainforest_eagle.markdown @gtdiehl @jcalbert source/_integrations/rainforest_eagle.markdown @gtdiehl @jcalbert
source/_integrations/rainmachine.markdown @bachya source/_integrations/rainmachine.markdown @bachya
source/_integrations/random.markdown @fabaff source/_integrations/random.markdown @fabaff
source/_integrations/rejseplanen.markdown @DarkFox
source/_integrations/repetier.markdown @MTrab source/_integrations/repetier.markdown @MTrab
source/_integrations/rfxtrx.markdown @danielhiversen @elupus source/_integrations/rfxtrx.markdown @danielhiversen @elupus
source/_integrations/ring.markdown @balloob source/_integrations/ring.markdown @balloob
@ -347,6 +352,7 @@ source/_integrations/rmvtransport.markdown @cgtobi
source/_integrations/roku.markdown @ctalkington source/_integrations/roku.markdown @ctalkington
source/_integrations/roomba.markdown @pschmitt @cyr-ius @shenxn source/_integrations/roomba.markdown @pschmitt @cyr-ius @shenxn
source/_integrations/roon.markdown @pavoni source/_integrations/roon.markdown @pavoni
source/_integrations/rpi_power.markdown @shenxn @swetoast
source/_integrations/safe_mode.markdown @home-assistant/core source/_integrations/safe_mode.markdown @home-assistant/core
source/_integrations/saj.markdown @fredericvl source/_integrations/saj.markdown @fredericvl
source/_integrations/salt.markdown @bjornorri source/_integrations/salt.markdown @bjornorri
@ -389,9 +395,11 @@ source/_integrations/soma.markdown @ratsept
source/_integrations/somfy.markdown @tetienne source/_integrations/somfy.markdown @tetienne
source/_integrations/sonarr.markdown @ctalkington source/_integrations/sonarr.markdown @ctalkington
source/_integrations/songpal.markdown @rytilahti @shenxn source/_integrations/songpal.markdown @rytilahti @shenxn
source/_integrations/sonos.markdown @cgtobi
source/_integrations/spaceapi.markdown @fabaff source/_integrations/spaceapi.markdown @fabaff
source/_integrations/speedtestdotnet.markdown @rohankapoorcom @engrbm87 source/_integrations/speedtestdotnet.markdown @rohankapoorcom @engrbm87
source/_integrations/spider.markdown @peternijssen source/_integrations/spider.markdown @peternijssen
source/_integrations/splunk.markdown @Bre77
source/_integrations/spotify.markdown @frenck source/_integrations/spotify.markdown @frenck
source/_integrations/sql.markdown @dgomes source/_integrations/sql.markdown @dgomes
source/_integrations/squeezebox.markdown @rajlaud source/_integrations/squeezebox.markdown @rajlaud
@ -411,7 +419,7 @@ source/_integrations/switchbot.markdown @danielhiversen
source/_integrations/switcher_kis.markdown @tomerfi source/_integrations/switcher_kis.markdown @tomerfi
source/_integrations/switchmate.markdown @danielhiversen source/_integrations/switchmate.markdown @danielhiversen
source/_integrations/syncthru.markdown @nielstron source/_integrations/syncthru.markdown @nielstron
source/_integrations/synology_dsm.markdown @ProtoThis @Quentame source/_integrations/synology_dsm.markdown @hacf-fr @Quentame
source/_integrations/synology_srm.markdown @aerialls source/_integrations/synology_srm.markdown @aerialls
source/_integrations/syslog.markdown @fabaff source/_integrations/syslog.markdown @fabaff
source/_integrations/tado.markdown @michaelarnauts @bdraco source/_integrations/tado.markdown @michaelarnauts @bdraco

View File

@ -86,7 +86,7 @@ GEM
rb-inotify (0.10.1) rb-inotify (0.10.1)
ffi (~> 1.0) ffi (~> 1.0)
rexml (3.2.4) rexml (3.2.4)
rouge (3.23.0) rouge (3.24.0)
ruby-enum (0.8.0) ruby-enum (0.8.0)
i18n i18n
ruby2_keywords (0.0.2) ruby2_keywords (0.0.2)
@ -109,7 +109,7 @@ GEM
tilt (2.0.10) tilt (2.0.10)
tzinfo (2.0.2) tzinfo (2.0.2)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
tzinfo-data (1.2020.1) tzinfo-data (1.2020.3)
tzinfo (>= 1.0.0) tzinfo (>= 1.0.0)
unicode-display_width (1.7.0) unicode-display_width (1.7.0)

View File

@ -99,9 +99,9 @@ social:
# Home Assistant release details # Home Assistant release details
current_major_version: 0 current_major_version: 0
current_minor_version: 115 current_minor_version: 116
current_patch_version: 6 current_patch_version: 4
date_released: 2020-09-30 date_released: 2020-10-15
# Either # or the anchor link to latest release notes in the blog post. # Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it. # Must be prefixed with a # and have double quotes around it.

364
package-lock.json generated
View File

@ -605,11 +605,14 @@
"integrity": "sha512-KmU+kGi7vG5toUhNdLHHPxyVN1mNGcjMVe1tNDEXT1wU/3oqA96bunElrROWHYw5iNt1QVRaIAtNeMVyzyAdVA==", "integrity": "sha512-KmU+kGi7vG5toUhNdLHHPxyVN1mNGcjMVe1tNDEXT1wU/3oqA96bunElrROWHYw5iNt1QVRaIAtNeMVyzyAdVA==",
"dev": true "dev": true
}, },
"@types/color-name": { "@types/mdast": {
"version": "1.1.1", "version": "3.0.3",
"resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.3.tgz",
"integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", "integrity": "sha512-SXPBMnFVQg1s00dlMCc/jCdvPqdE4mXaMMCeRlxLDmTAEoegHT53xKtkDnzDTOcmMHUfcjyf36/YYZ6SxRdnsw==",
"dev": true "dev": true,
"requires": {
"@types/unist": "*"
}
}, },
"@types/unist": { "@types/unist": {
"version": "2.0.3", "version": "2.0.3",
@ -648,12 +651,11 @@
"dev": true "dev": true
}, },
"ansi-styles": { "ansi-styles": {
"version": "4.2.1", "version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/color-name": "^1.1.1",
"color-convert": "^2.0.1" "color-convert": "^2.0.1"
} }
}, },
@ -731,12 +733,6 @@
"integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
"dev": true "dev": true
}, },
"ccount": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.5.tgz",
"integrity": "sha512-MOli1W+nfbPLlKEhInaxhRdp7KVLFxLN5ykwzHgLsLI3H3gs5jjFAK4Eoj3OzzcxCtumDaI8onoVDeQyWaNTkw==",
"dev": true
},
"chalk": { "chalk": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
@ -778,9 +774,9 @@
"dev": true "dev": true
}, },
"chokidar": { "chokidar": {
"version": "3.4.1", "version": "3.4.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.1.tgz", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz",
"integrity": "sha512-TQTJyr2stihpC4Sya9hs2Xh+O2wf+igjL36Y75xx2WdHuiICcn/XJza46Jwt0eT5hVpQOzo3FpY3cj3RVYLX0g==", "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"anymatch": "~3.1.1", "anymatch": "~3.1.1",
@ -790,7 +786,7 @@
"is-binary-path": "~2.1.0", "is-binary-path": "~2.1.0",
"is-glob": "~4.0.1", "is-glob": "~4.0.1",
"normalize-path": "~3.0.0", "normalize-path": "~3.0.0",
"readdirp": "~3.4.0" "readdirp": "~3.5.0"
} }
}, },
"co": { "co": {
@ -1175,12 +1171,6 @@
"integrity": "sha512-eEMa6MKpHFzw38eKm56iNNi6GJ7lf6aLLio7Kr23sJPAECscgRtZvOBYybejWDQ2bM949Y++61PY+udzj5QMLA==", "integrity": "sha512-eEMa6MKpHFzw38eKm56iNNi6GJ7lf6aLLio7Kr23sJPAECscgRtZvOBYybejWDQ2bM949Y++61PY+udzj5QMLA==",
"dev": true "dev": true
}, },
"is-alphanumeric": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz",
"integrity": "sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=",
"dev": true
},
"is-alphanumerical": { "is-alphanumerical": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz", "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz",
@ -1351,6 +1341,12 @@
"integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
"dev": true "dev": true
}, },
"json-parse-even-better-errors": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
"dev": true
},
"json-stable-stringify": { "json-stable-stringify": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
@ -1561,15 +1557,6 @@
"integrity": "sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==", "integrity": "sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==",
"dev": true "dev": true
}, },
"markdown-table": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz",
"integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==",
"dev": true,
"requires": {
"repeat-string": "^1.0.0"
}
},
"md5": { "md5": {
"version": "2.2.1", "version": "2.2.1",
"resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz", "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz",
@ -1595,40 +1582,30 @@
"integrity": "sha512-vTFXtmbbF3rgnTh3Zl3irso4LtvwUq/jaDvT2D1JqTGAwaipcS7RpTxzi6KjoRqI9n2yuAhzLDAC8xVTF3XYVQ==", "integrity": "sha512-vTFXtmbbF3rgnTh3Zl3irso4LtvwUq/jaDvT2D1JqTGAwaipcS7RpTxzi6KjoRqI9n2yuAhzLDAC8xVTF3XYVQ==",
"dev": true "dev": true
}, },
"mdast-util-compact": { "mdast-util-from-markdown": {
"version": "2.0.1", "version": "0.8.1",
"resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-2.0.1.tgz", "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.1.tgz",
"integrity": "sha512-7GlnT24gEwDrdAwEHrU4Vv5lLWrEer4KOkAiKT9nYstsTad7Oc1TwqT2zIMKRdZF7cTuaf+GA1E4Kv7jJh8mPA==", "integrity": "sha512-qJXNcFcuCSPqUF0Tb0uYcFDIq67qwB3sxo9RPdf9vG8T90ViKnksFqdB/Coq2a7sTnxL/Ify2y7aIQXDkQFH0w==",
"dev": true, "dev": true,
"requires": { "requires": {
"unist-util-visit": "^2.0.0" "@types/mdast": "^3.0.0",
"mdast-util-to-string": "^1.0.0",
"micromark": "~2.10.0",
"parse-entities": "^2.0.0"
}, },
"dependencies": { "dependencies": {
"unist-util-is": { "parse-entities": {
"version": "4.0.2", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.2.tgz", "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz",
"integrity": "sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ==", "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==",
"dev": true
},
"unist-util-visit": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz",
"integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/unist": "^2.0.0", "character-entities": "^1.0.0",
"unist-util-is": "^4.0.0", "character-entities-legacy": "^1.0.0",
"unist-util-visit-parents": "^3.0.0" "character-reference-invalid": "^1.0.0",
} "is-alphanumerical": "^1.0.0",
}, "is-decimal": "^1.0.0",
"unist-util-visit-parents": { "is-hexadecimal": "^1.0.0"
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.0.tgz",
"integrity": "sha512-0g4wbluTF93npyPrp/ymd3tCDTMnP0yo2akFD2FIBAYXq/Sga3lwaU1D8OYKbtpioaI6CkDcQ6fsMnmtzt7htw==",
"dev": true,
"requires": {
"@types/unist": "^2.0.0",
"unist-util-is": "^4.0.0"
} }
} }
} }
@ -1642,6 +1619,69 @@
"micromark-extension-frontmatter": "^0.2.0" "micromark-extension-frontmatter": "^0.2.0"
} }
}, },
"mdast-util-to-markdown": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.5.1.tgz",
"integrity": "sha512-7WS59irdm7lwd8iyfu+kLF+ktfzlvxLJzI/SwysF1EFFGpkU/G60Q61k7xZ420gsMVkXZ3MlcL3bTYCz5QwDeg==",
"dev": true,
"requires": {
"@types/unist": "^2.0.0",
"longest-streak": "^2.0.0",
"mdast-util-to-string": "^1.0.0",
"parse-entities": "^2.0.0",
"repeat-string": "^1.0.0",
"stringify-entities": "^3.0.0",
"zwitch": "^1.0.0"
},
"dependencies": {
"parse-entities": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz",
"integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==",
"dev": true,
"requires": {
"character-entities": "^1.0.0",
"character-entities-legacy": "^1.0.0",
"character-reference-invalid": "^1.0.0",
"is-alphanumerical": "^1.0.0",
"is-decimal": "^1.0.0",
"is-hexadecimal": "^1.0.0"
}
}
}
},
"mdast-util-to-string": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz",
"integrity": "sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==",
"dev": true
},
"micromark": {
"version": "2.10.1",
"resolved": "https://registry.npmjs.org/micromark/-/micromark-2.10.1.tgz",
"integrity": "sha512-fUuVF8sC1X7wsCS29SYQ2ZfIZYbTymp0EYr6sab3idFjigFFjGa5UwoniPlV9tAgntjuapW1t9U+S0yDYeGKHQ==",
"dev": true,
"requires": {
"debug": "^4.0.0",
"parse-entities": "^2.0.0"
},
"dependencies": {
"parse-entities": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz",
"integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==",
"dev": true,
"requires": {
"character-entities": "^1.0.0",
"character-entities-legacy": "^1.0.0",
"character-reference-invalid": "^1.0.0",
"is-alphanumerical": "^1.0.0",
"is-decimal": "^1.0.0",
"is-hexadecimal": "^1.0.0"
}
}
}
},
"micromark-extension-frontmatter": { "micromark-extension-frontmatter": {
"version": "0.2.2", "version": "0.2.2",
"resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-0.2.2.tgz", "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-0.2.2.tgz",
@ -1996,9 +2036,9 @@
} }
}, },
"readdirp": { "readdirp": {
"version": "3.4.0", "version": "3.5.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
"integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"picomatch": "^2.2.1" "picomatch": "^2.2.1"
@ -2015,24 +2055,24 @@
} }
}, },
"remark": { "remark": {
"version": "12.0.1", "version": "13.0.0",
"resolved": "https://registry.npmjs.org/remark/-/remark-12.0.1.tgz", "resolved": "https://registry.npmjs.org/remark/-/remark-13.0.0.tgz",
"integrity": "sha512-gS7HDonkdIaHmmP/+shCPejCEEW+liMp/t/QwmF0Xt47Rpuhl32lLtDV1uKWvGoq+kxr5jSgg5oAIpGuyULjUw==", "integrity": "sha512-HDz1+IKGtOyWN+QgBiAT0kn+2s6ovOxHyPAFGKVE81VSzJ+mq7RwHFledEvB5F1p4iJvOah/LOKdFuzvRnNLCA==",
"dev": true, "dev": true,
"requires": { "requires": {
"remark-parse": "^8.0.0", "remark-parse": "^9.0.0",
"remark-stringify": "^8.0.0", "remark-stringify": "^9.0.0",
"unified": "^9.0.0" "unified": "^9.1.0"
} }
}, },
"remark-cli": { "remark-cli": {
"version": "8.0.1", "version": "9.0.0",
"resolved": "https://registry.npmjs.org/remark-cli/-/remark-cli-8.0.1.tgz", "resolved": "https://registry.npmjs.org/remark-cli/-/remark-cli-9.0.0.tgz",
"integrity": "sha512-UaYeFI5qUAzkthUd8/MLBQD5OKM6jLN8GRvF6v+KF7xO/i1jQ+X2VqUSQAxWFYxZ8R25gM56GVjeoKOZ0EIr8A==", "integrity": "sha512-y6kCXdwZoMoh0Wo4Och1tDW50PmMc86gW6GpF08v9d+xUCEJE2wwXdQ+TnTaUamRnfFdU+fE+eNf2PJ53cyq8g==",
"dev": true, "dev": true,
"requires": { "requires": {
"markdown-extensions": "^1.1.0", "markdown-extensions": "^1.1.0",
"remark": "^12.0.0", "remark": "^13.0.0",
"unified-args": "^8.0.0" "unified-args": "^8.0.0"
} }
}, },
@ -2047,9 +2087,9 @@
} }
}, },
"remark-lint": { "remark-lint": {
"version": "7.0.1", "version": "8.0.0",
"resolved": "https://registry.npmjs.org/remark-lint/-/remark-lint-7.0.1.tgz", "resolved": "https://registry.npmjs.org/remark-lint/-/remark-lint-8.0.0.tgz",
"integrity": "sha512-caZXo3qhuBxzvq9JSJFVQ/ERDq/6TJVgWn0KDwKOIJCGOuLXfQhby5XttUq+Rn7kLbNMtvwfWHJlte14LpaeXQ==", "integrity": "sha512-ESI8qJQ/TIRjABDnqoFsTiZntu+FRifZ5fJ77yX63eIDijl/arvmDvT+tAf75/Nm5BFL4R2JFUtkHRGVjzYUsg==",
"dev": true, "dev": true,
"requires": { "requires": {
"remark-message-control": "^6.0.0" "remark-message-control": "^6.0.0"
@ -2147,123 +2187,21 @@
} }
}, },
"remark-parse": { "remark-parse": {
"version": "8.0.3", "version": "9.0.0",
"resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz", "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-9.0.0.tgz",
"integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==", "integrity": "sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==",
"dev": true, "dev": true,
"requires": { "requires": {
"ccount": "^1.0.0", "mdast-util-from-markdown": "^0.8.0"
"collapse-white-space": "^1.0.2",
"is-alphabetical": "^1.0.0",
"is-decimal": "^1.0.0",
"is-whitespace-character": "^1.0.0",
"is-word-character": "^1.0.0",
"markdown-escapes": "^1.0.0",
"parse-entities": "^2.0.0",
"repeat-string": "^1.5.4",
"state-toggle": "^1.0.0",
"trim": "0.0.1",
"trim-trailing-lines": "^1.0.0",
"unherit": "^1.0.4",
"unist-util-remove-position": "^2.0.0",
"vfile-location": "^3.0.0",
"xtend": "^4.0.1"
},
"dependencies": {
"parse-entities": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz",
"integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==",
"dev": true,
"requires": {
"character-entities": "^1.0.0",
"character-entities-legacy": "^1.0.0",
"character-reference-invalid": "^1.0.0",
"is-alphanumerical": "^1.0.0",
"is-decimal": "^1.0.0",
"is-hexadecimal": "^1.0.0"
}
},
"unist-util-is": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.2.tgz",
"integrity": "sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ==",
"dev": true
},
"unist-util-remove-position": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz",
"integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==",
"dev": true,
"requires": {
"unist-util-visit": "^2.0.0"
}
},
"unist-util-visit": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz",
"integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==",
"dev": true,
"requires": {
"@types/unist": "^2.0.0",
"unist-util-is": "^4.0.0",
"unist-util-visit-parents": "^3.0.0"
}
},
"unist-util-visit-parents": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.0.tgz",
"integrity": "sha512-0g4wbluTF93npyPrp/ymd3tCDTMnP0yo2akFD2FIBAYXq/Sga3lwaU1D8OYKbtpioaI6CkDcQ6fsMnmtzt7htw==",
"dev": true,
"requires": {
"@types/unist": "^2.0.0",
"unist-util-is": "^4.0.0"
}
},
"vfile-location": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.0.1.tgz",
"integrity": "sha512-yYBO06eeN/Ki6Kh1QAkgzYpWT1d3Qln+ZCtSbJqFExPl1S3y2qqotJQXoh6qEvl/jDlgpUJolBn3PItVnnZRqQ==",
"dev": true
}
} }
}, },
"remark-stringify": { "remark-stringify": {
"version": "8.1.1", "version": "9.0.0",
"resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-8.1.1.tgz", "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-9.0.0.tgz",
"integrity": "sha512-q4EyPZT3PcA3Eq7vPpT6bIdokXzFGp9i85igjmhRyXWmPs0Y6/d2FYwUNotKAWyLch7g0ASZJn/KHHcHZQ163A==", "integrity": "sha512-8x29DpTbVzEc6Dwb90qhxCtbZ6hmj3BxWWDpMhA+1WM4dOEGH5U5/GFe3Be5Hns5MvPSFAr1e2KSVtKZkK5nUw==",
"dev": true, "dev": true,
"requires": { "requires": {
"ccount": "^1.0.0", "mdast-util-to-markdown": "^0.5.0"
"is-alphanumeric": "^1.0.0",
"is-decimal": "^1.0.0",
"is-whitespace-character": "^1.0.0",
"longest-streak": "^2.0.1",
"markdown-escapes": "^1.0.0",
"markdown-table": "^2.0.0",
"mdast-util-compact": "^2.0.0",
"parse-entities": "^2.0.0",
"repeat-string": "^1.5.4",
"state-toggle": "^1.0.0",
"stringify-entities": "^3.0.0",
"unherit": "^1.0.4",
"xtend": "^4.0.1"
},
"dependencies": {
"parse-entities": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz",
"integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==",
"dev": true,
"requires": {
"character-entities": "^1.0.0",
"character-entities-legacy": "^1.0.0",
"character-reference-invalid": "^1.0.0",
"is-alphanumerical": "^1.0.0",
"is-decimal": "^1.0.0",
"is-hexadecimal": "^1.0.0"
}
}
} }
}, },
"repeat-string": { "repeat-string": {
@ -2465,9 +2403,9 @@
} }
}, },
"supports-color": { "supports-color": {
"version": "7.1.0", "version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true, "dev": true,
"requires": { "requires": {
"has-flag": "^4.0.0" "has-flag": "^4.0.0"
@ -2747,9 +2685,9 @@
} }
}, },
"unified": { "unified": {
"version": "9.0.0", "version": "9.2.0",
"resolved": "https://registry.npmjs.org/unified/-/unified-9.0.0.tgz", "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz",
"integrity": "sha512-ssFo33gljU3PdlWLjNp15Inqb77d6JnJSfyplGJPT/a+fNRNyCBeveBAYJdO5khKdF6WVHa/yYCC7Xl6BDwZUQ==", "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==",
"dev": true, "dev": true,
"requires": { "requires": {
"bail": "^1.0.0", "bail": "^1.0.0",
@ -2802,14 +2740,14 @@
}, },
"dependencies": { "dependencies": {
"parse-json": { "parse-json": {
"version": "5.0.0", "version": "5.1.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz",
"integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/code-frame": "^7.0.0", "@babel/code-frame": "^7.0.0",
"error-ex": "^1.3.1", "error-ex": "^1.3.1",
"json-parse-better-errors": "^1.0.1", "json-parse-even-better-errors": "^2.3.0",
"lines-and-columns": "^1.1.6" "lines-and-columns": "^1.1.6"
} }
} }
@ -2841,9 +2779,9 @@
"dev": true "dev": true
}, },
"unist-util-visit": { "unist-util-visit": {
"version": "2.0.2", "version": "2.0.3",
"resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.2.tgz", "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz",
"integrity": "sha512-HoHNhGnKj6y+Sq+7ASo2zpVdfdRifhTgX2KTU3B/sO/TTlZchp7E3S4vjRzDJ7L60KmrCPsQkVK3lEF3cz36XQ==", "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/unist": "^2.0.0", "@types/unist": "^2.0.0",
@ -2852,9 +2790,9 @@
} }
}, },
"unist-util-visit-parents": { "unist-util-visit-parents": {
"version": "3.0.2", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.0.2.tgz", "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.0.tgz",
"integrity": "sha512-yJEfuZtzFpQmg1OSCyS9M5NJRrln/9FbYosH3iW0MG402QbdbaB8ZESwUv9RO6nRfLAKvWcMxCwdLWOov36x/g==", "integrity": "sha512-0g4wbluTF93npyPrp/ymd3tCDTMnP0yo2akFD2FIBAYXq/Sga3lwaU1D8OYKbtpioaI6CkDcQ6fsMnmtzt7htw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/unist": "^2.0.0", "@types/unist": "^2.0.0",
@ -2862,9 +2800,9 @@
} }
}, },
"vfile-location": { "vfile-location": {
"version": "3.0.1", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.0.1.tgz", "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.1.0.tgz",
"integrity": "sha512-yYBO06eeN/Ki6Kh1QAkgzYpWT1d3Qln+ZCtSbJqFExPl1S3y2qqotJQXoh6qEvl/jDlgpUJolBn3PItVnnZRqQ==", "integrity": "sha512-FCZ4AN9xMcjFIG1oGmZKo61PjwJHRVA+0/tPUP2ul4uIwjGGndIxavEMRpWn5p4xwm/ZsdXp9YNygf1ZyE4x8g==",
"dev": true "dev": true
} }
} }
@ -2955,9 +2893,9 @@
} }
}, },
"vfile": { "vfile": {
"version": "4.1.1", "version": "4.2.0",
"resolved": "https://registry.npmjs.org/vfile/-/vfile-4.1.1.tgz", "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.0.tgz",
"integrity": "sha512-lRjkpyDGjVlBA7cDQhQ+gNcvB1BGaTHYuSOcY3S7OhDmBtnzX95FhtZZDecSTDm6aajFymyve6S5DN4ZHGezdQ==", "integrity": "sha512-a/alcwCvtuc8OX92rqqo7PflxiCgXRFjdyoGVuYV+qbgCb0GgZJRvIgCD4+U/Kl1yhaRsaTwksF88xbPyGsgpw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/unist": "^2.0.0", "@types/unist": "^2.0.0",
@ -3074,6 +3012,12 @@
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
"dev": true "dev": true
},
"zwitch": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz",
"integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==",
"dev": true
} }
} }
} }

View File

@ -4,12 +4,12 @@
"version": "1.0.0", "version": "1.0.0",
"dependencies": {}, "dependencies": {},
"devDependencies": { "devDependencies": {
"remark-cli": "^8.0.1", "remark-cli": "^9.0.0",
"remark-frontmatter": "^3.0.0", "remark-frontmatter": "^3.0.0",
"remark-lint": "^7.0.1", "remark-lint": "^8.0.0",
"remark-lint-fenced-code-flag": "^2.0.1", "remark-lint-fenced-code-flag": "^2.0.1",
"remark-lint-no-shell-dollars": "^2.0.2", "remark-lint-no-shell-dollars": "^2.0.2",
"remark-stringify": "^8.1.1", "remark-stringify": "^9.0.0",
"textlint": "^11.7.6", "textlint": "^11.7.6",
"textlint-rule-common-misspellings": "^1.0.1", "textlint-rule-common-misspellings": "^1.0.1",
"textlint-rule-terminology": "^2.1.4" "textlint-rule-terminology": "^2.1.4"

View File

@ -46,6 +46,10 @@
@media only screen and (min-width: $desk-start) { @media only screen and (min-width: $desk-start) {
#components-page { #components-page {
.filter-button-group { .filter-button-group {
.active {
font-weight: bold;
}
.featured { .featured {
margin: 12px 0; margin: 12px 0;
} }

View File

@ -0,0 +1,7 @@
{
"associatedApplications": [
{
"applicationId": "1fe091a7-b8e9-49a6-b639-b2d65970a310"
}
]
}

View File

@ -8,7 +8,7 @@ ha_iot_class: Configurable
The MQTT notification support is different than the other [notification](/integrations/notify/) platforms. It is a service. This means that you don't have to create a configuration entry but you need to provide more details when calling the service. The MQTT notification support is different than the other [notification](/integrations/notify/) platforms. It is a service. This means that you don't have to create a configuration entry but you need to provide more details when calling the service.
**Call Service** section from the <img src='/images/screenshots/developer-tool-services-icon.png' alt='service developer tool icon' class="no-shadow" height="38" /> **Developer Tools** allows you to send MQTT messages. Choose *mqtt.publish* from the list of **Available services:** and enter something like the sample below into the **Service Data** field and hit **CALL SERVICE**. **Call Service** section from **Developer Tools** -> **Services** allows you to send MQTT messages. Choose *mqtt.publish* from the list of **Available services:** and enter something like the sample below into the **Service Data** field and hit **CALL SERVICE**.
```json ```json
{"payload": "Test message from HA", "topic": "home/notification", "qos": 0, "retain": 0} {"payload": "Test message from HA", "topic": "home/notification", "qos": 0, "retain": 0}

View File

@ -41,4 +41,4 @@ Automation rules interact directly with the internal state of Home Assistant, so
State changes can be used as the source of triggers and the current state can be used in conditions. State changes can be used as the source of triggers and the current state can be used in conditions.
Actions are all about calling services. To explore the available services open the <img src='/images/screenshots/developer-tool-services-icon.png' class='no-shadow' height='38' /> Services developer tool. Services allow to change anything. For example turn on a light, run a script or enable a scene. Each service has a domain and a name. For example the service `light.turn_on` is capable of turning on any light in your system. Services can be passed parameters to for example tell which device to turn on or what color to use. Actions are all about calling services. To explore the available services open the **Developer Tools** -> **Services**. Services allow to change anything. For example turn on a light, run a script or enable a scene. Each service has a domain and a name. For example the service `light.turn_on` is capable of turning on any light in your system. Services can be passed parameters to for example tell which device to turn on or what color to use.

View File

@ -167,6 +167,7 @@ The following tables show the available trigger data per platform.
| `trigger.webhook_id` | The webhook ID that was triggered. | `trigger.webhook_id` | The webhook ID that was triggered.
| `trigger.json` | The JSON data of the request (if it had a JSON content type). | `trigger.json` | The JSON data of the request (if it had a JSON content type).
| `trigger.data` | The form data of the request (if it had a form data content type). | `trigger.data` | The form data of the request (if it had a form data content type).
| `trigger.query` | The URL query parameters of the request (if provided).
### Zone ### Zone

View File

@ -41,7 +41,7 @@ The most basic is to use SSH to connect to the system (you may need to install t
## Reloading changes ## Reloading changes
You will have to restart Home Assistant for most changes to `configuration.yaml` to take effect. You will have to restart Home Assistant for most changes to `configuration.yaml` to take effect.
You can load changes to [automations](/docs/automation/), [core (customize)](/docs/configuration/customizing-devices/), [groups](/integrations/group/), [input_booleans](/integrations/input_boolean/), [input_datetimes](/integrations/input_datetime/), [input_numbers](/integrations/input_number/), [input_selects](/integrations/input_select/), [input_texts](/integrations/input_text/), [persons](/integrations/person/), [scenes](/integrations/scene/), [scripts](/integrations/script/), [timers](/integrations/timer/), and [zones](/integrations/zone/) without restarting. You can load changes to [automations](/docs/automation/), [core (customize)](/docs/configuration/customizing-devices/), [groups](/integrations/group/), [history stats](/integrations/history_stats/), [HomeKit](/integrations/homekit/), [input_booleans](/integrations/input_boolean/), [input_datetimes](/integrations/input_datetime/), [input_numbers](/integrations/input_number/), [input_selects](/integrations/input_select/), [input_texts](/integrations/input_text/), [MQTT](/integrations/mqtt/), [persons](/integrations/person/), [scenes](/integrations/scene/), [scripts](/integrations/script/), [statistics](/integrations/statistics/), [template sensors](/integrations/template/), [timers](/integrations/timer/), [zones](/integrations/zone/), and more without restarting.
<div class='note warning'> <div class='note warning'>

View File

@ -28,7 +28,7 @@ homeassistant:
legacy_templates: false legacy_templates: false
``` ```
NOTE: You will not be able to edit anything in Configuration -> General in the UI if you are using YAML configuration for any of the following: name, latitude, longitute, elevation, unit_system, temperature_unit, time_zone, external_url, internal_url. NOTE: You will not be able to edit anything in Configuration -> General in the UI if you are using YAML configuration for any of the following: name, latitude, longitude, elevation, unit_system, temperature_unit, time_zone, external_url, internal_url.
{% configuration %} {% configuration %}
name: name:

View File

@ -20,7 +20,7 @@ By default, all of your devices will be visible and have a default icon determin
### Customization using the UI ### Customization using the UI
Under the *Configuration* menu you'll find the *Customization* menu. If this menu item is not visible, enable advanced mode on your [profile page](/docs/authentication/#your-account-profile) first. When you select an entity to customize, you'll see all the existing attributes listed and you can customize those or select an additional supported attribute ([see below](/docs/configuration/customizing-devices/#possible-values)). You may also need to add the following to your `configuration.yaml` file, depending when you started using Home Assistant: Under the *Configuration* menu you'll find the *Customizations* menu. If this menu item is not visible, enable advanced mode on your [profile page](/docs/authentication/#your-account-profile) first. When you select an entity to customize, you'll see all the existing attributes listed and you can customize those or select an additional supported attribute ([see below](/docs/configuration/customizing-devices/#possible-values)). You may also need to add the following to your `configuration.yaml` file, depending when you started using Home Assistant:
```yaml ```yaml
homeassistant: homeassistant:
@ -53,7 +53,7 @@ device_class:
type: device_class type: device_class
default: None default: None
unit_of_measurement: unit_of_measurement:
description: Defines the units of measurement, if any. This will also influence the graphical presentation in the history visualisation as continuous value. Sensors with missing `unit_of_measurement` are showing as discrete values. description: Defines the units of measurement, if any. This will also influence the graphical presentation in the history visualization as continuous value. Sensors with missing `unit_of_measurement` are showing as discrete values.
required: false required: false
type: string type: string
default: None default: None

View File

@ -438,7 +438,7 @@ The following overview contains a couple of options to get the needed values:
{% raw %}{{ value_json.tst | timestamp_custom('%Y' True) }}{% endraw %} {% raw %}{{ value_json.tst | timestamp_custom('%Y' True) }}{% endraw %}
``` ```
To evaluate a response, go to the <img src='/images/screenshots/developer-tool-templates-icon.png' alt='template developer tool icon' class="no-shadow" height="38" /> template developer tools, create your output in "Template", and check the result. To evaluate a response, go to **Developer Tools** -> **Template**, create your output in "Template editor", and check the result.
{% raw %} {% raw %}
```yaml ```yaml

View File

@ -61,9 +61,9 @@ If you use these install methods, we assume that you know how to manage and admi
**Method**|**You have**|**Recommended for** **Method**|**You have**|**Recommended for**
:-----|:-----|:----- :-----|:-----|:-----
[Home Assistant Core](/docs/installation/raspberry-pi/)|Any Linux, Python 3.7.1 or later|Those familiar with their operating system [Home Assistant Core](/docs/installation/raspberry-pi/)|Any Linux, Python 3.8 or later|Those familiar with their operating system
[Home Assistant Supervised](https://github.com/home-assistant/supervised-installer) | [Requirements](https://github.com/home-assistant/architecture/blob/master/adr/0014-home-assistant-supervised.md#supported-operating-system-system-dependencies-and-versions) | Those very familiar with their operating system [Home Assistant Supervised](https://github.com/home-assistant/supervised-installer) | [Requirements](https://github.com/home-assistant/architecture/blob/master/adr/0014-home-assistant-supervised.md#supported-operating-system-system-dependencies-and-versions) | Those very familiar with their operating system
[venv<BR>(as your user)](/docs/installation/virtualenv/)|Any Python 3.7.1 or later|**Developers** [venv<BR>(as your user)](/docs/installation/virtualenv/)|Any Python 3.8 or later|**Developers**
## Community provided guides ## Community provided guides

View File

@ -40,13 +40,19 @@ docker rm home-assistant # remove it from Docker's list of containers
docker run -d --name="home-assistant" -v /PATH_TO_YOUR_CONFIG:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/home-assistant:stable # finally, start a new one docker run -d --name="home-assistant" -v /PATH_TO_YOUR_CONFIG:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/home-assistant:stable # finally, start a new one
``` ```
### Raspberry Pi 3 (Raspberry Pi OS) ### Raspberry Pi 3/4 (Raspberry Pi OS)
Raspberry Pi 3:
```bash ```bash
docker run --init -d --name="home-assistant" -e "TZ=America/New_York" -v /PATH_TO_YOUR_CONFIG:/config --net=host homeassistant/raspberrypi3-homeassistant:stable docker run --init -d --name="home-assistant" -e "TZ=America/New_York" -v /PATH_TO_YOUR_CONFIG:/config --net=host homeassistant/raspberrypi3-homeassistant:stable
``` ```
You need to replace `/PATH_TO_YOUR_CONFIG` with your path to the configuration, for example if you choose your configuration path to be `/home/pi/homeassistant`, then command would be: Raspberry Pi 4:
```bash
docker run --init -d --name="home-assistant" -e "TZ=America/New_York" -v /PATH_TO_YOUR_CONFIG:/config --net=host homeassistant/raspberrypi4-homeassistant:stable
```
You need to replace `/PATH_TO_YOUR_CONFIG` with your path to the configuration. For example, if you choose your configuration path to be `/home/pi/homeassistant`, the command for **Raspberry Pi 3** would be:
```bash ```bash
docker run --init -d --name="home-assistant" -e "TZ=America/New_York" -v /home/pi/homeassistant:/config --net=host homeassistant/raspberrypi3-homeassistant:stable docker run --init -d --name="home-assistant" -e "TZ=America/New_York" -v /home/pi/homeassistant:/config --net=host homeassistant/raspberrypi3-homeassistant:stable
@ -224,7 +230,7 @@ device_tracker:
If you change the configuration you have to restart the server. To do that you have 2 options. If you change the configuration you have to restart the server. To do that you have 2 options.
1. You can go to the <img src='/images/screenshots/developer-tool-services-icon.png' alt='service developer tool icon' class="no-shadow" height="38" /> service developer tools, select the service `homeassistant/restart` and click "Call Service". 1. You can go to the **Developer Tools** -> **Services**, select the service `homeassistant.restart` and click "Call Service".
2. Or you can restart it from a terminal by running `docker restart home-assistant` 2. Or you can restart it from a terminal by running `docker restart home-assistant`
## Docker Compose ## Docker Compose

View File

@ -5,7 +5,7 @@ description: "Instructions to install Home Assistant Core on a Raspberry Pi runn
This installation of Home Assistant Core requires the Raspberry Pi to run [Raspberry Pi OS Lite](https://www.raspberrypi.org/downloads/raspberry-pi-os/). The installation will be installed in a [Virtual Environment](/docs/installation/virtualenv) with minimal overhead. Instructions assume this is a new installation of Raspberry Pi OS Lite. This installation of Home Assistant Core requires the Raspberry Pi to run [Raspberry Pi OS Lite](https://www.raspberrypi.org/downloads/raspberry-pi-os/). The installation will be installed in a [Virtual Environment](/docs/installation/virtualenv) with minimal overhead. Instructions assume this is a new installation of Raspberry Pi OS Lite.
You must have Python 3.7 or later installed (including the package `python3-dev`) which is *not* the case for Raspberry Pi OS Stretch. You must have Python 3.8 or later installed (including the package `python3-dev`) which is *not* the case for Raspberry Pi OS and you will need to install Python manually.
<div class='note'> <div class='note'>
Although these installation steps specifically mention a Raspberry Pi, you can go ahead and proceed on any Linux install as well. This guide is also referred to as the "Advanced Guide" for a virtual environment install. Although these installation steps specifically mention a Raspberry Pi, you can go ahead and proceed on any Linux install as well. This guide is also referred to as the "Advanced Guide" for a virtual environment install.
@ -40,7 +40,7 @@ sudo apt-get upgrade -y
Install the dependencies. Install the dependencies.
```bash ```bash
sudo apt-get install python3 python3-dev python3-venv python3-pip libffi-dev libssl-dev libtiff-dev autoconf build-essential libopenjp2-7 sudo apt-get install python3 python3-dev python3-venv python3-pip libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libtiff5
``` ```
Add an account for Home Assistant Core called `homeassistant`. Add an account for Home Assistant Core called `homeassistant`.
@ -63,7 +63,7 @@ Next up is to create and change to a virtual environment for Home Assistant Core
```bash ```bash
sudo -u homeassistant -H -s sudo -u homeassistant -H -s
cd /srv/homeassistant cd /srv/homeassistant
python3 -m venv . python3.8 -m venv .
source bin/activate source bin/activate
``` ```

View File

@ -3,15 +3,15 @@ title: "Installation in Python virtual environment"
description: "How to install Home Assistant in a Python virtual environment." description: "How to install Home Assistant in a Python virtual environment."
--- ---
If you already have Python 3.7 or later installed, you can easily give Home Assistant a spin. If you already have Python 3.8 or later installed, you can easily give Home Assistant a spin.
It's recommended when installing Python packages that you use a [virtual environment](https://docs.python.org/3.7/library/venv.html#module-venv). This will make sure that your Python installation and Home Assistant installation won't impact one another. The following steps will work on most UNIX like systems. It's recommended when installing Python packages that you use a [virtual environment](https://docs.python.org/3.8/library/venv.html#module-venv). This will make sure that your Python installation and Home Assistant installation won't impact one another. The following steps will work on most UNIX like systems.
<div class='note'> <div class='note'>
This is a generic guide for running Home Assistant under Python. We recommend to use [our recommended installation guides](/docs/installation/#recommended). The steps below may be shorter but some users find difficulty when applying updates and may run into issues. This is a generic guide for running Home Assistant under Python. We recommend to use [our recommended installation guides](/docs/installation/#recommended). The steps below may be shorter but some users find difficulty when applying updates and may run into issues.
Before you begin the guide below, ensure that you have a *so-called standard* build environment that includes things like `make`, `gcc`, `python3`, including Python 3 `setuptools` and `pip` modules. Less obvious is the need to install `openssl-dev` (for opensslv.h), `libffi-dev` (for cffi.h) for things to build later on, `libopenjp2-7` and `libtiff5` needed for the frontend. Before you begin the guide below, ensure that you have a *so-called standard* build environment that includes things like `make`, `gcc`, `python3`, including Python 3 `setuptools` and `pip` modules. Less obvious is the need to install `libssl-dev` (for opensslv.h), `libffi-dev` (for cffi.h) for things to build later on, `libjpeg-dev`, `zlib1g-dev`, `libopenjp2-7` and `libtiff5` needed for the frontend.
</div> </div>
@ -24,7 +24,7 @@ It should not contain any OS specific instructions.
1. Create a virtual environment in your current directory: 1. Create a virtual environment in your current directory:
```bash ```bash
python3 -m venv homeassistant python3.8 -m venv homeassistant
``` ```
2. Open the virtual environment: 2. Open the virtual environment:
```bash ```bash
@ -106,7 +106,7 @@ Looking for more advanced guides? Check our [Raspberry Pi OS guide](/docs/instal
### After upgrading Python ### After upgrading Python
If you've upgraded Python (for example, you were running 3.7.1 and now you've installed 3.7.3) then you'll need to build a new virtual environment. Simply rename your existing virtual environment directory: If you've upgraded Python (for example, you were running 3.8.1 and now you've installed 3.8.6) then you'll need to build a new virtual environment. Simply rename your existing virtual environment directory:
```bash ```bash
mv homeassistant homeassistant.old mv homeassistant homeassistant.old

View File

@ -4,7 +4,7 @@ description: "Instructions on how to setup MQTT birth and last will messages wit
logo: mqtt.png logo: mqtt.png
--- ---
Home Assistant's MQTT integration supports so-called Birth and Last Will and Testament (LWT) messages. The former is used to send a message after the service has started, and the latter is used to notify other clients about a disconnected client. Please note that the LWT message will be sent both in case of a clean (e.g. Home Asisstant shutting down) and in case of an unclean (e.g. Home Assistant crashing or losing its network connection) disconnect. Home Assistant's MQTT integration supports so-called Birth and Last Will and Testament (LWT) messages. The former is used to send a message after the service has started, and the latter is used to notify other clients about a disconnected client. Please note that the LWT message will be sent both in case of a clean (e.g. Home Assistant shutting down) and in case of an unclean (e.g. Home Assistant crashing or losing its network connection) disconnect.
By default, Home Assistant sends `online` and `offline` to `homeassistant/status`. By default, Home Assistant sends `online` and `offline` to `homeassistant/status`.

View File

@ -16,7 +16,9 @@ The recommended setup method is to use the [Mosquitto MQTT broker add-on](https:
<div class='note warning'> <div class='note warning'>
There is [an issue](https://github.com/rabbitmq/rabbitmq-mqtt/issues/154) with the RabbitMQ MQTT Plugin which break MQTT message retention. Don't use the RabbitMQ MQTT plugin, instead use another broker like Mosquitto. Neither ActiveMQ MQTT broker nor the RabbitMQ MQTT Plugin are supported, use a known working broker like Mosquitto instead.
There are [at least two](https://issues.apache.org/jira/browse/AMQ-6360) [issues](https://issues.apache.org/jira/browse/AMQ-6575) with the ActiveMQ MQTT broker which break MQTT message retention.
There is [an issue](https://github.com/rabbitmq/rabbitmq-mqtt/issues/154) with the RabbitMQ MQTT Plugin which breaks MQTT message retention.
</div> </div>

View File

@ -64,6 +64,8 @@ Scripts may also use a shortcut syntax for activating scenes instead of calling
The variable command allows you to set/override variables that will be accessible by templates in actions after it. The variable command allows you to set/override variables that will be accessible by templates in actions after it.
{% raw %}
```yaml ```yaml
- variables: - variables:
entities: light.kitchen, light.living_room entities: light.kitchen, light.living_room
@ -75,6 +77,8 @@ The variable command allows you to set/override variables that will be accessibl
brightness: "{{ brightness }}" brightness: "{{ brightness }}"
``` ```
{% endraw %}
## Test a Condition ## Test a Condition
While executing a script you can add a condition to stop further execution. When a condition does not return `true`, the script will stop executing. There are many different conditions which are documented at the [conditions page]. While executing a script you can add a condition to stop further execution. When a condition does not return `true`, the script will stop executing. There are many different conditions which are documented at the [conditions page].

View File

@ -3,6 +3,10 @@ title: "Z-Wave Devices - Adding and Removing"
description: "How to add and remove Z-Wave devices." description: "How to add and remove Z-Wave devices."
--- ---
## Recommendation before adding any devices
Z-Wave devices behave as a mesh and can store network relationship details on the device itself. This means used devices or even brand new devices could already be enrolled in another network, for example, a test network for a brand new device or a previous network for devices that aren't new. This could cause headaches when you're attempting to add/enrol the device to your network. It is recommended that if possible, perform a factory reset AND device perform exclusion or disenroll for the device you're attempting to add to Home Assistant. Steps can found further below on this page under "Removing Devices".
## Adding Non-Secure Devices ## Adding Non-Secure Devices
To add (include) a non-secure Z-Wave [device](/docs/z-wave/devices/) to your system: To add (include) a non-secure Z-Wave [device](/docs/z-wave/devices/) to your system:
@ -38,7 +42,8 @@ Each individual value in the defined key can be anywhere from 0x00 to 0xFF. Defi
### Network Key ### Network Key
An easy script to generate a random key: An easy Linux script to generate a random key:
(remember you can run this in Home Assistant OS or Supervised, you can use the Terminal Add-on)
```bash ```bash
cat /dev/urandom | tr -dc '0-9A-F' | fold -w 32 | head -n 1 | sed -e 's/\(..\)/0x\1, /g' -e 's/, $//' cat /dev/urandom | tr -dc '0-9A-F' | fold -w 32 | head -n 1 | sed -e 's/\(..\)/0x\1, /g' -e 's/, $//'
@ -77,10 +82,10 @@ Secure devices require additional bandwidth, and too many secure devices can slo
To remove (exclude) a Z-Wave device from your system: To remove (exclude) a Z-Wave device from your system:
1. Go to the Z-Wave control panel in the Home Assistant frontend 1. Go to the Z-Wave control panel in the Home Assistant frontend. (Home Assistant > Configuration > Integrations > Z-Wave > Configure)
2. Click the **Remove Node** button in the *Z-Wave Network Management* card - this will place the controller in exclusion mode 2. Click the **Remove Node** button in the *Z-Wave Network Management* card - this will place the controller in exclusion mode
3. Activate your device to be excluded by following the instructions provided with the device 3. Activate your device to be excluded by following the instructions provided with the device
4. The device will now be removed, but that won't show until you restart Home Assistant 4. The device should now be removed, but that won't show until you restart Home Assistant. Look for a confirmation signal on the device if available, or confirm on the Home Assistant logs.
5. Run a *Heal Network* so all the other nodes learn about its removal 5. Run a *Heal Network* so all the other nodes learn about its removal
If your device isn't responding to this process, possibly because you've factory reset it or it has failed, you can remove it using **Remove Failed Node**. This only works for devices marked as `"is_failed": true`, but you can trick the system into thinking that this the case: If your device isn't responding to this process, possibly because you've factory reset it or it has failed, you can remove it using **Remove Failed Node**. This only works for devices marked as `"is_failed": true`, but you can trick the system into thinking that this the case:

View File

@ -38,7 +38,7 @@ From 2 April 2017 all newly approved Z-Wave devices will have to support the Sec
Your Z-Wave mesh network is built with the devices that are mains powered (whether directly, or via a USB adapter), these relay traffic for other nodes, building the network. These devices are always awake and you can query them, or send configuration changes, at any time. Your Z-Wave mesh network is built with the devices that are mains powered (whether directly, or via a USB adapter), these relay traffic for other nodes, building the network. These devices are always awake and you can query them, or send configuration changes, at any time.
Battery powered devices spend most of their time asleep, unable to relay traffic, to be queried, or receive changes. Changes sent while a device is asleep will be queued and sent the next time the device wakes. Details of the default wake interval, and how to manually wake the device (if supported) will be detailed in the devices's manual. Some battery powered devices (primarily locks and thermostats) support beaming (the *Beam* command class) that allows them to be remotely woken. This does require that all devices in the network responsible for relaying the commands between the controller and the device also support beaming. Battery powered devices spend most of their time asleep, unable to relay traffic, to be queried, or receive changes. Changes sent while a device is asleep will be queued and sent the next time the device wakes. Details of the default wake interval, and how to manually wake the device (if supported) will be detailed in the device's manual. Some battery powered devices (primarily locks and thermostats) support beaming (the *Beam* command class) that allows them to be remotely woken. This does require that all devices in the network responsible for relaying the commands between the controller and the device also support beaming.
<div class='note'> <div class='note'>
@ -56,7 +56,7 @@ As long as your device lists Hail or Association in its Controlled Command Class
Where a device doesn't send updates on status changes to the controller, you can work around this by using a thing called Polling. That causes the controller to ask the device to provide an update on all its sensors and states. This will cause a lot of traffic on the network, and if you poll too many devices too quickly, you can effectively break your Z-Wave network. Polling should only be used where there is no other choice, and you should use as large a polling interval as possible. Ideally you should replace the device. Where a device doesn't send updates on status changes to the controller, you can work around this by using a thing called Polling. That causes the controller to ask the device to provide an update on all its sensors and states. This will cause a lot of traffic on the network, and if you poll too many devices too quickly, you can effectively break your Z-Wave network. Polling should only be used where there is no other choice, and you should use as large a polling interval as possible. Ideally you should replace the device.
For example, with `polling_interval=60000` (which is the default) if you have 10 devices that are being polled at every interval, and each polling takes one secound (request/response round trip), then it will take 10 seconds to complete the polling list. This only leaves 50 seconds left for normal traffic. The more devices you poll, and the shorter the interval, the less bandwidth that's available for normal traffic. For example, with `polling_interval=60000` (which is the default) if you have 10 devices that are being polled at every interval, and each polling takes one second (request/response round trip), then it will take 10 seconds to complete the polling list. This only leaves 50 seconds left for normal traffic. The more devices you poll, and the shorter the interval, the less bandwidth that's available for normal traffic.
Polling needs to be enabled per device, you can control this through the *polling intensity* (interval) of the device. See the [Node Management](/docs/z-wave/control-panel#z-wave-node-management) documentation for details. Polling needs to be enabled per device, you can control this through the *polling intensity* (interval) of the device. See the [Node Management](/docs/z-wave/control-panel#z-wave-node-management) documentation for details.

View File

@ -10,4 +10,4 @@ It can happen that you get a traceback that notify you about connection issues w
ConnectionRefusedError: [Errno 111] Connection refused ConnectionRefusedError: [Errno 111] Connection refused
``` ```
The chance is very high that this is not a bug but an issue with the service/daemon itself. Check your network (DNS, DHCP, uplink, etc.) first and make sure that Home Assistant and the service are poperly configured. Keep in mind that webservices can be down. The chance is very high that this is not a bug but an issue with the service/daemon itself. Check your network (DNS, DHCP, uplink, etc.) first and make sure that Home Assistant and the service are properly configured. Keep in mind that webservices can be down.

View File

@ -4,5 +4,5 @@ description: "Dependencies"
ha_category: Usage ha_category: Usage
--- ---
The dependencies which are used by Home Assistant are stored in the folder `deps` of the [configuration folder](/docs/configuration/) directory. After an [upgrade](/docs/installation/updating/) the dependences will be upgraded as well. The dependencies which are used by Home Assistant are stored in the folder `deps` of the [configuration folder](/docs/configuration/) directory. After an [upgrade](/docs/installation/updating/) the dependencies will be upgraded as well.

View File

@ -4,6 +4,6 @@ description: "The documentation is missing or outdated"
ha_category: Documentation ha_category: Documentation
--- ---
Home Assistant is a FAST moving open source project. This means occasionally the official documentation will not be 100% current or complete. Since this is an open source volunteer project, we would encourage anyone who finds gaps in the documentation to click the `edit this page on Github` link in the top right and submit any corrections/enhancements they may find useful. Home Assistant is a FAST moving open source project. This means occasionally the official documentation will not be 100% current or complete. Since this is an open source volunteer project, we would encourage anyone who finds gaps in the documentation to click the `edit this page on Github` link in the top right and submit any corrections/enhancements they may find useful. A step-by-step guide on how to contribute to the documentation can be found [here](https://community.home-assistant.io/t/editing-the-documentation-and-creating-a-pull-request-on-github/9573).
In the absence of information, many users find it beneficial to look at other people's configurations to find examples of what they want to accomplish in their own configurations. The easiest way to find these configurations is through this [GitHub search](https://github.com/search?q=topic%3Ahome-assistant-config&type=Repositories). In the absence of information, many users find it beneficial to look at other people's configurations to find examples of what they want to accomplish in their own configurations. The easiest way to find these configurations is through this [GitHub search](https://github.com/search?q=topic%3Ahome-assistant-config&type=Repositories).

View File

@ -1,12 +1,9 @@
--- ---
title: "Releases" title: "Releases"
description: "Releases" description: "Home Assistant release schedule"
ha_category: Common ha_category: Common
--- ---
The current release cycle is three weeks. This allows for two weeks of development time and 1 week of beta testing and fixing. Releases usually occur on a Wednesday. There is no fixed time of day when the release will happen because that depends on the person who is finishing the release, it could therefore be Tuesday or Thursday depending on your timezone when its available for you. If there was no announcement made in the previous release notes or on another communication channel then the release will happen. New versions of Home Assistant are released every three weeks on a Wednesday. The exact dates can be seen in the upcoming events calendar on the [Home Assistant Developers](https://developers.home-assistant.io/) website.
Beta's are normally released on the 2nd Wednesday after the last major release. Please subscribe to the Beta Channel on the [Home Assistant Discord server](https://discord.gg/RMC8WkX) for help running beta versions. The third week of our release schedule is primarily focused on beta testing. Users who participate in the beta can view the changelog under [beta release notes](https://rc.home-assistant.io/latest-release-notes/) and get help in the `#beta` channel of [Home Assistant's Discord server](/join-chat). Testers are also encouraged to [report issues on GitHub](/help/#bugs-feature-requests-and-alike).
When a beta release is in progress, the release notes for it can be found under [Beta Release Notes](https://rc.home-assistant.io/latest-release-notes/).
The release schedule is published in the upcoming events calender on the [Home Assistant Developers](https://developers.home-assistant.io/) website.

View File

@ -1,4 +1,5 @@
<section class="aside-module grid__item one-whole lap-one-half"> <section class="aside-module grid__item one-whole lap-one-half">
<div class="section">
<h1 class="title delta">About Home Assistant</h1> <h1 class="title delta">About Home Assistant</h1>
<ul class="divided sidebar-menu"> <ul class="divided sidebar-menu">
<li> <li>
@ -17,4 +18,5 @@
{% active_link /cloud/troubleshooting/ Troubleshooting %} {% active_link /cloud/troubleshooting/ Troubleshooting %}
</li> </li>
</ul> </ul>
</div> </div>
</section>

View File

@ -0,0 +1,36 @@
<section class="aside-module grid__item one-whole lap-one-half">
<div class="section">
<h1 class="title delta">Details</h1>
<ul class="divided sidebar-menu">
<li>
<b>When</b>: Sunday, December 13, 2020<br>
<b>Where</b>: online<br>
<b>Cost</b>: free<br>
</li>
</ul>
</div>
<div class="section">
<h1 class="title delta">Contact</h1>
<ul class="divided sidebar-menu">
<li>
If you want to collaborate with us, contact us at
<a href="mailto:conference@home-assistant.io">
conference@home-assistant.io
</a>
</li>
</ul>
</div>
<div class="section">
<h1 class="title delta">Sponsors</h1>
<ul class="divided sidebar-menu">
<li>
<a href="https://www.nabucasa.com">
<img alt='Logo Nabu Casa' src='/images/sponsors/nabu_casa.svg'>
</a>
</li>
</ul>
</div>
</section>

View File

@ -9,6 +9,7 @@
<li>{% active_link /addons/ Available add-ons %}</li> <li>{% active_link /addons/ Available add-ons %}</li>
<li>{% active_link /hassio/installing_third_party_addons/ Installing third-party add-ons %}</li> <li>{% active_link /hassio/installing_third_party_addons/ Installing third-party add-ons %}</li>
<li>{% active_link /hassio/hassos_faq/ Home Assistant OS FAQ %}</li> <li>{% active_link /hassio/hassos_faq/ Home Assistant OS FAQ %}</li>
<li>{% active_link /hassio/haos_common_tasks/ Home Assistant OS Common tasks %}</li>
</ul> </ul>
</li> </li>
</ul> </ul>

View File

@ -12,7 +12,6 @@
<div class="section"> <div class="section">
<h1 class="title delta">Advanced</h1> <h1 class="title delta">Advanced</h1>
<ul class="divided sidebar-menu"> <ul class="divided sidebar-menu">
<li>{% active_link /lovelace/how-it-works/ How it works %}</li>
<li>{% active_link /lovelace/header-footer/ Headers & Footers %}</li> <li>{% active_link /lovelace/header-footer/ Headers & Footers %}</li>
<li> <li>
{% active_link /lovelace/dashboards-and-views/ Dashboards & Views %} {% active_link /lovelace/dashboards-and-views/ Dashboards & Views %}

View File

@ -1,23 +1,26 @@
<div class="grid"> <div class="grid">
{% assign url_parts = page.url | split: '/' %} {% assign url_parts = page.url | split: '/' %}
{% if url_parts[1] == 'integrations' %} {% assign root = url_parts[1] %}
{% if root == 'integrations' %}
{% include asides/component_navigation.html %} {% include asides/component_navigation.html %}
{% elsif url_parts[1] == 'cookbook' %} {% elsif root == 'cookbook' %}
{% include asides/cookbook_navigation.html %} {% include asides/cookbook_navigation.html %}
{% elsif url_parts[1] == 'lovelace' %} {% elsif root == 'lovelace' %}
{% include asides/lovelace_navigation.html %} {% include asides/lovelace_navigation.html %}
{% elsif url_parts[1] == 'developers' or url_parts[1] == 'help' %} {% elsif root == 'developers' or root == 'help' %}
{% include asides/help_navigation.html %} {% include asides/help_navigation.html %}
{% elsif url_parts[1] == 'getting-started' %} {% elsif root == 'getting-started' %}
{% include asides/getting_started_navigation.html %} {% include asides/getting_started_navigation.html %}
{% elsif url_parts[1] == 'docs' %} {% elsif root == 'docs' %}
{% include asides/docs_navigation.html %} {% include asides/docs_navigation.html %}
{% elsif url_parts[1] == 'faq' %} {% elsif root == 'faq' %}
{% include asides/faq_navigation.html %} {% include asides/faq_navigation.html %}
{% elsif url_parts[1] == 'hassio' or url_parts[1] == 'addons' %} {% elsif root == 'hassio' or root == 'addons' %}
{% include asides/hassio_navigation.html %} {% include asides/hassio_navigation.html %}
{% elsif url_parts[1] == 'cloud' %} {% elsif root == 'cloud' %}
{% include asides/cloud_navigation.html %} {% include asides/cloud_navigation.html %}
{% elsif root == 'conference' %}
{% include asides/conference_navigation.html %}
{% else %} {% else %}
{% include asides/about.html %} {% include asides/about.html %}

View File

@ -6,7 +6,7 @@ ha_category:
- Alarm - Alarm
ha_config_flow: true ha_config_flow: true
ha_release: '0.110' ha_release: '0.110'
ha_iot_class: Local Pull ha_iot_class: Local Polling
ha_codeowners: ha_codeowners:
- '@ispysoftware' - '@ispysoftware'
ha_domain: agent_dvr ha_domain: agent_dvr

View File

@ -73,7 +73,7 @@ panels:
type: string type: string
default: Template Alarm Control Panel default: Template Alarm Control Panel
unique_id: unique_id:
description: An ID that uniquely identifies this alarm control panel. Set this to an unique value to allow customisation trough the UI. description: An ID that uniquely identifies this alarm control panel. Set this to a unique value to allow customization through the UI.
required: false required: false
type: string type: string
value_template: value_template:
@ -96,11 +96,13 @@ panels:
description: Defines an action to run when the alarm is armed to night mode. description: Defines an action to run when the alarm is armed to night mode.
required: false required: false
type: action type: action
code_arm_required:
description: If true, the code is required to arm the alarm.
required: false
type: boolean
default: false
{% endconfiguration %} {% endconfiguration %}
## Considerations ## Considerations
If you are using the state of a integration that takes extra time to load, the Template Alarm Control Panel may get an `unknown` state during startup. This results in error messages in your log file until that integration has completed loading. If you use `is_state()` function in your template, you can avoid this situation. If you are using the state of a integration that takes extra time to load, the Template Alarm Control Panel may get an `unknown` state during startup. This results in error messages in your log file until that integration has completed loading. If you use `is_state()` function in your template, you can avoid this situation.

View File

@ -9,7 +9,8 @@ ha_release: 0.43
ha_iot_class: Local Push ha_iot_class: Local Push
ha_domain: alarmdecoder ha_domain: alarmdecoder
ha_codeowners: ha_codeowners:
- "@ajschmidt8" - '@ajschmidt8'
ha_config_flow: true
--- ---
The `alarmdecoder` 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 Nu Tech Software Solutions, known as the AlarmDecoder. The AlarmDecoder devices provide a serial, TCP/IP socket or USB interface to the alarm panel, where it emulates an alarm keypad. The `alarmdecoder` 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 Nu Tech Software Solutions, known as the AlarmDecoder. The AlarmDecoder devices provide a serial, TCP/IP socket or USB interface to the alarm panel, where it emulates an alarm keypad.
@ -37,7 +38,7 @@ You will be prompted to select a protocol (i.e. `socket` or `serial`). Depending
- **path** - the path to the AlarmDecoder device (i.e. `/dev/ttyUSB0`) - **path** - the path to the AlarmDecoder device (i.e. `/dev/ttyUSB0`)
- **baud rate** - the baud rate of the AlarmDecoder device (i.e. `115200`) - **baud rate** - the baud rate of the AlarmDecoder device (i.e. `115200`)
## Configuration ## Settings
Once AlarmDecoder has been set up according to the instructions above, the arming settings and zones can be configured by selecting _Options_ on the _AlarmDecoder_ card on the **Configuration -> Integrations** page. Once AlarmDecoder has been set up according to the instructions above, the arming settings and zones can be configured by selecting _Options_ on the _AlarmDecoder_ card on the **Configuration -> Integrations** page.
@ -195,4 +196,3 @@ The `chr(4)` and `chr(5)` sequences below are equivalent to pressing the <em>Sta
| `alarm_arm_away` | `chr(5)` + `chr(5)` + `chr(5)` | | `alarm_arm_away` | `chr(5)` + `chr(5)` + `chr(5)` |
| `alarm_arm_night` (`alt_night_mode` = `false`, default) | `chr(4)` + `chr(4)` + `chr(4)` | | `alarm_arm_night` (`alt_night_mode` = `false`, default) | `chr(4)` + `chr(4)` + `chr(4)` |
| `alarm_arm_night` (`alt_night_mode` = `true`) | `*9` + `code` | | `alarm_arm_night` (`alt_night_mode` = `true`) | `*9` + `code` |

View File

@ -15,8 +15,15 @@ remind you of this by sending you repeating notifications at customizable
intervals. This is also used for low battery sensors, intervals. This is also used for low battery sensors,
water leak sensors, or any condition that may need your attention. water leak sensors, or any condition that may need your attention.
Alerts will add an entity to the front end only when they are firing. Alerts will add an entity to the front end.
This entity allows you to silence an alert until it is resolved. This entity allows you to silence an alert until it is resolved and has three
possible states:
State | Description
-|-
`idle` | The condition for the alert is false.
`on` | The condition for the alert is true.
`off` | The condition for the alert is true but it was acknowledged.
### Basic Example ### Basic Example
@ -80,15 +87,15 @@ skip_first:
default: false default: false
message: message:
description: > description: >
A message to be sent after an alert transitions from `off` to `on` A message to be sent after an alert transitions from `idle` to `on`
with [template](/docs/configuration/templating/) support. with [template](/docs/configuration/templating/) support.
required: false required: false
type: template type: template
done_message: done_message:
description: > description: >
A message sent after an alert transitions from `on` to `off` with A message sent after an alert transitions from `on` or `off` to `idle` with
[template](/docs/configuration/templating/) support. Is only sent if an alert notification [template](/docs/configuration/templating/) support. Is only sent if an alert notification
was sent for transitioning from `off` to `on`. was sent for transitioning from `idle` to `on`.
required: false required: false
type: template type: template
notifiers: notifiers:

View File

@ -5,6 +5,7 @@ ha_category:
- Text-to-speech - Text-to-speech
ha_release: 0.37 ha_release: 0.37
ha_domain: amazon_polly ha_domain: amazon_polly
ha_iot_class: Cloud Push
--- ---
The `amazon_polly` text-to-speech platform that works with [Amazon Polly](https://aws.amazon.com/polly/) to create the spoken output. The `amazon_polly` text-to-speech platform that works with [Amazon Polly](https://aws.amazon.com/polly/) to create the spoken output.

View File

@ -7,6 +7,7 @@ ha_release: 0.97
ha_codeowners: ha_codeowners:
- '@bachya' - '@bachya'
ha_domain: apache_kafka ha_domain: apache_kafka
ha_iot_class: Local Push
--- ---
The `apache_kafka` integration sends all state changes to a The `apache_kafka` integration sends all state changes to a

View File

@ -4,6 +4,7 @@ description: Instructions on how to add APNS notifications to Home Assistant.
ha_category: ha_category:
- Notifications - Notifications
ha_release: 0.31 ha_release: 0.31
ha_iot_class: Cloud Push
ha_domain: apns ha_domain: apns
--- ---

View File

@ -4,6 +4,7 @@ description: This integration is responsible for providing the authentication en
ha_category: ha_category:
- Other - Other
ha_release: 0.73 ha_release: 0.73
ha_iot_class: ~
ha_quality_scale: internal ha_quality_scale: internal
ha_codeowners: ha_codeowners:
- '@home-assistant/core' - '@home-assistant/core'

View File

@ -98,7 +98,7 @@ This service disables the automation's triggers, and optionally stops any curren
Service data attribute | Optional | Description Service data attribute | Optional | Description
-|-|- -|-|-
`entity_id` | no | Entity ID of automation to turn on. Can be a list. `none` or `all` are also accepted. `entity_id` | no | Entity ID of automation to turn on. Can be a list. `none` or `all` are also accepted.
`stop_actions` | yes | Stop any currently active actions (defaults to true.) `stop_actions` | yes | Stop any currently active actions (defaults to true).
### `automation.toggle` ### `automation.toggle`
@ -111,3 +111,12 @@ Service data attribute | Optional | Description
### `automation.reload` ### `automation.reload`
This service reloads all automations, stopping any currently active actions in all of them. This service reloads all automations, stopping any currently active actions in all of them.
### `automation.trigger`
This service will trigger the action of an automation. By default it bypasses any conditions, though that can be changed via the `skip_condition` attribute.
Service data attribute | Optional | Description
-|-|-
`entity_id` | no | Entity ID of automation to trigger. Can be a list. `none` or `all` are also accepted.
`skip_condition` | yes | Whether or not the condition will be skipped (defaults to true).

View File

@ -3,6 +3,7 @@ title: Amazon Web Services (AWS)
description: Instructions on how to integrate Amazon Web Services with Home Assistant. description: Instructions on how to integrate Amazon Web Services with Home Assistant.
ha_category: ha_category:
- Notifications - Notifications
ha_iot_class: Cloud Push
ha_release: '0.91' ha_release: '0.91'
ha_codeowners: ha_codeowners:
- '@awarecan' - '@awarecan'

View File

@ -3,6 +3,7 @@ title: Azure Service Bus
description: Setup for Azure Service Bus integration description: Setup for Azure Service Bus integration
ha_category: ha_category:
- Notifications - Notifications
ha_iot_class: Cloud Push
ha_release: 0.102 ha_release: 0.102
ha_codeowners: ha_codeowners:
- '@hfurubotten' - '@hfurubotten'

View File

@ -48,7 +48,7 @@ sensors:
required: false required: false
type: string type: string
unique_id: unique_id:
description: An ID that uniquely identifies this binary sensor. Set this to an unique value to allow customisation through the UI. description: An ID that uniquely identifies this binary sensor. Set this to a unique value to allow customization through the UI.
required: false required: false
type: string type: string
device_class: device_class:
@ -321,7 +321,6 @@ binary_sensor:
``` ```
{% endraw %} {% endraw %}
If the template accesses every state on the system, a rate limit of one update per minute is applied. If the template accesses all states under a specific domain, a rate limit of one update per second is applied. If the template only accesses specific states, receives update events for specifically referenced entities, or the `homeassistant.update_entity` service is used, no rate limit is applied. If the template accesses every state on the system, a rate limit of one update per minute is applied. If the template accesses all states under a specific domain, a rate limit of one update per second is applied. If the template only accesses specific states, receives update events for specifically referenced entities, or the `homeassistant.update_entity` service is used, no rate limit is applied.
### Working without entities ### Working without entities

View File

@ -4,6 +4,7 @@ description: Instructions on how to setup the browser integration with Home Assi
ha_category: ha_category:
- Utility - Utility
ha_release: pre 0.7 ha_release: pre 0.7
ha_iot_class: ~
ha_quality_scale: internal ha_quality_scale: internal
ha_domain: browser ha_domain: browser
--- ---

View File

@ -6,6 +6,7 @@ ha_category:
ha_release: 0.7 ha_release: 0.7
ha_quality_scale: internal ha_quality_scale: internal
ha_domain: camera ha_domain: camera
ha_iot_class: ~
--- ---
The camera integration allows you to use IP cameras with Home Assistant. The camera integration allows you to use IP cameras with Home Assistant.

View File

@ -3,6 +3,7 @@ title: Unify Circuit
description: Instructions on how to send a notification to a Unify Circuit Conversation. description: Instructions on how to send a notification to a Unify Circuit Conversation.
ha_category: ha_category:
- Notifications - Notifications
ha_iot_class: Cloud Push
ha_release: 0.111 ha_release: 0.111
ha_codeowners: ha_codeowners:
- '@braam' - '@braam'

View File

@ -3,6 +3,7 @@ title: Cisco Webex Teams
description: Instructions on how to add Cisco Webex Teams notifications to Home Assistant. description: Instructions on how to add Cisco Webex Teams notifications to Home Assistant.
ha_category: ha_category:
- Notifications - Notifications
ha_iot_class: Cloud Push
ha_release: '0.40' ha_release: '0.40'
ha_codeowners: ha_codeowners:
- '@fbradyirl' - '@fbradyirl'

View File

@ -3,6 +3,7 @@ title: Clickatell
description: Instructions on how to add Clickatell notifications to Home Assistant. description: Instructions on how to add Clickatell notifications to Home Assistant.
ha_category: ha_category:
- Notifications - Notifications
ha_iot_class: Cloud Push
ha_release: 0.56 ha_release: 0.56
ha_domain: clickatell ha_domain: clickatell
--- ---

View File

@ -3,6 +3,7 @@ title: ClickSend TTS
description: Instructions on how to add ClickSend text-to-speech (TTS) notifications to Home Assistant. description: Instructions on how to add ClickSend text-to-speech (TTS) notifications to Home Assistant.
ha_category: ha_category:
- Notifications - Notifications
ha_iot_class: Cloud Push
ha_release: 0.55 ha_release: 0.55
ha_domain: clicksend_tts ha_domain: clicksend_tts
--- ---

View File

@ -6,6 +6,7 @@ ha_category:
ha_release: 0.19 ha_release: 0.19
ha_quality_scale: internal ha_quality_scale: internal
ha_domain: climate ha_domain: climate
ha_iot_class: ~
--- ---
The Climate integration allows you to control and monitor HVAC (heating, ventilating, and air conditioning) devices and thermostats. The Climate integration allows you to control and monitor HVAC (heating, ventilating, and air conditioning) devices and thermostats.
@ -77,9 +78,9 @@ Set target temperature of climate device
| Service data attribute | Optional | Description | | Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- | | ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. To target all climate devices, use `all`. | `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. To target all climate devices, use `all`.
| `temperature` | no | New target temperature for climate device (commonly referred to as a *setpoint*). Do not use if `hvac_mode` is `heat_cool`. | `temperature` | yes | New target temperature for climate device (commonly referred to as a *setpoint*). Do not use if `hvac_mode` is `heat_cool`.
| `target_temp_high` | yes | The highest temperature that the climate device will allow. Required if `hvac_mode` is `heat_cool`. | `target_temp_high` | yes | The highest temperature that the climate device will allow. Required if `hvac_mode` is `heat_cool`. Required together with `target_temp_low`.
| `target_temp_low` | yes | The lowest temperature that the climate device will allow. Required if `hvac_mode` is `heat_cool`. | `target_temp_low` | yes | The lowest temperature that the climate device will allow. Required if `hvac_mode` is `heat_cool`. Required together with `target_temp_high`.
| `hvac_mode` | yes | HVAC mode to set the climate device to. This defaults to current HVAC mode if not set, or set incorrectly. | `hvac_mode` | yes | HVAC mode to set the climate device to. This defaults to current HVAC mode if not set, or set incorrectly.
#### Automation examples #### Automation examples

View File

@ -136,3 +136,13 @@ binary_sensor:
payload_on: 'active' payload_on: 'active'
payload_off: 'inactive' payload_off: 'inactive'
``` ```
## Services
Available services: `reload`.
### Service `command_line.reload`
Reload all `command_line` entities.
This service takes no service data attributes.

View File

@ -5,7 +5,9 @@ logo: interlogix.png
ha_category: ha_category:
- Alarm - Alarm
- Binary Sensor - Binary Sensor
ha_iot_class: Local Polling
ha_release: 0.31 ha_release: 0.31
ha_iot_class: Local Polling
ha_domain: concord232 ha_domain: concord232
--- ---

View File

@ -44,11 +44,11 @@ This section enables you to control Home Assistant from within Home Assistant. C
This section enables you to associate users with their device tracker entities using the person component. This section enables you to associate users with their device tracker entities using the person component.
### Entity Registry ### Entities
This section enables you to override the name, change the entity ID or disable an entity in Home Assistant. This section enables you to override the name, change the entity ID or disable an entity in Home Assistant.
### Area Registry ### Areas
This section enables you to organize entities to physical areas of your home. This section enables you to organize entities to physical areas of your home.
@ -64,6 +64,6 @@ Similar to the automation editor, this section enables you to create and modify
This section enables you to control your Z-Wave network and devices from within Home Assistant. You can add and remove devices, as well as change device specific configuration variables. This section enables you to control your Z-Wave network and devices from within Home Assistant. You can add and remove devices, as well as change device specific configuration variables.
### Customization ### Customizations
This section enables you to customize entities within Home Assistant. Use this to set friendly names, change icons, and modify other attributes. This section enables you to customize entities within Home Assistant. Use this to set friendly names, change icons, and modify other attributes.

View File

@ -68,7 +68,7 @@ Pick an icon that you can find on [materialdesignicons.com](https://materialdesi
### Restore State ### Restore State
This integration will automatically restore the state it had prior to Home Assistant stopping as long as you your entity has `restore` set to `true` which is the default. To disable this feature, set `restore` to `false`. This integration will automatically restore the state it had prior to Home Assistant stopping as long as your entity has `restore` set to `true`, which is the default. To disable this feature, set `restore` to `false`.
If `restore` is set to `false`, the `initial` value will only be used when no previous state is found or when the counter is reset. If `restore` is set to `false`, the `initial` value will only be used when no previous state is found or when the counter is reset.
@ -76,7 +76,7 @@ If `restore` is set to `false`, the `initial` value will only be used when no pr
Available services: `increment`, `decrement`, `reset` and `configure`. Available services: `increment`, `decrement`, `reset` and `configure`.
#### Service `counter.increment` ### Service `counter.increment`
Increments the counter with 1 or the given value for the steps. Increments the counter with 1 or the given value for the steps.
@ -84,7 +84,7 @@ Increments the counter with 1 or the given value for the steps.
| ---------------------- | -------- | ----------- | | ---------------------- | -------- | ----------- |
| `entity_id` | no | Name of the entity to take action, e.g., `counter.my_custom_counter`. | | `entity_id` | no | Name of the entity to take action, e.g., `counter.my_custom_counter`. |
#### Service `counter.decrement` ### Service `counter.decrement`
Decrements the counter with 1 or the given value for the steps. Decrements the counter with 1 or the given value for the steps.
@ -92,7 +92,7 @@ Decrements the counter with 1 or the given value for the steps.
| ---------------------- | -------- | ----------- | | ---------------------- | -------- | ----------- |
| `entity_id` | no | Name of the entity to take action, e.g., `counter.my_custom_counter`. | | `entity_id` | no | Name of the entity to take action, e.g., `counter.my_custom_counter`. |
#### Service `counter.reset` ### Service `counter.reset`
With this service the counter is reset to its initial value. With this service the counter is reset to its initial value.
@ -100,7 +100,7 @@ With this service the counter is reset to its initial value.
| ---------------------- | -------- | ----------- | | ---------------------- | -------- | ----------- |
| `entity_id` | no | Name of the entity to take action, e.g., `counter.my_custom_counter`. | | `entity_id` | no | Name of the entity to take action, e.g., `counter.my_custom_counter`. |
#### Service `counter.configure` ### Service `counter.configure`
With this service the properties of the counter can be changed while running. With this service the properties of the counter can be changed while running.

View File

@ -8,6 +8,7 @@ ha_quality_scale: internal
ha_codeowners: ha_codeowners:
- '@home-assistant/core' - '@home-assistant/core'
ha_domain: cover ha_domain: cover
ha_iot_class: ~
--- ---
Home Assistant can give you an interface to control covers such as rollershutters, blinds, and garage doors. Home Assistant can give you an interface to control covers such as rollershutters, blinds, and garage doors.

View File

@ -50,7 +50,7 @@ cover:
required: false required: false
type: string type: string
unique_id: unique_id:
description: An ID that uniquely identifies this cover. Set this to an unique value to allow customisation trough the UI. description: An ID that uniquely identifies this cover. Set this to a unique value to allow customization through the UI.
required: false required: false
type: string type: string
value_template: value_template:
@ -65,6 +65,10 @@ cover:
description: Defines a template to specify which icon to use. description: Defines a template to specify which icon to use.
required: false required: false
type: template type: template
entity_picture_template:
description: Defines a template for the entity picture of the cover.
required: false
type: template
availability_template: availability_template:
description: Defines a template to get the `available` state of the component. If the template returns `true`, the device is `available`. If the template returns any other value, the device will be `unavailable`. If `availability_template` is not configured, the component will always be `available`. description: Defines a template to get the `available` state of the component. If the template returns `true`, the device is `available`. If the template returns any other value, the device will be `unavailable`. If `availability_template` is not configured, the component will always be `available`.
required: false required: false

View File

@ -24,12 +24,17 @@ There is currently support for the following device types within Home Assistant:
## Supported hardware ## Supported hardware
- 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 also confirmed to work, tested and working devices are the BRP069B41 and BRP069B45. - 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. 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) which is powered by the [Daikin Mobile Controller](https://itunes.apple.com/au/app/daikin-mobile-controller/id917168708?mt=8) ([Android version](https://play.google.com/store/apps/details?id=eu.daikin.remoapp)) application. - The Australian version of the Daikin Wifi Controller Unit BRP072A42, which is operated by the [Daikin Mobile Controller](https://itunes.apple.com/au/app/daikin-mobile-controller/id917168708?mt=8) ([Android version](https://play.google.com/store/apps/details?id=eu.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) need to provide the API-key found on a sticker under the front cover during setup. - BRP072Cxx based units (including Zena devices)*.
- The Australian version of the Daikin Wifi Controller for **AirBase** units (BRP15B61), which is powered by the [Daikin Airbase](https://play.google.com/store/apps/details?id=au.com.daikin.airbase) application. - 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 (using the SKYFi app). These devices need to provide the password found on a sticker under the front cover during setup. - **SKYFi** based units, which is operated by the SKYFi application*.
<div class='note'>
* The integration for BRP072Cxx and SKYFi based units need API-key / password respectively. The API-key/password can be found on a sticker under the front cover. The other models are auto detected and the API-key and password field must be left empty.
</div>
## Configuration ## Configuration

View File

@ -3,6 +3,7 @@ title: Datadog
description: Send data and events to Datadog. description: Send data and events to Datadog.
ha_category: ha_category:
- History - History
ha_iot_class: Local Push
ha_release: 0.45 ha_release: 0.45
ha_domain: datadog ha_domain: datadog
--- ---

View File

@ -5,35 +5,36 @@ ha_category:
- Other - Other
ha_release: 0.88 ha_release: 0.88
ha_domain: default_config ha_domain: default_config
ha_iot_class: Calculated
--- ---
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: 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:
- [Automation](/integrations/automation/) - [Automation](/integrations/automation/) (`automation`)
- [Home Assistant Cloud](/integrations/cloud/) - [Home Assistant Cloud](/integrations/cloud/) (`cloud`)
- [Configuration](/integrations/config/) - [Configuration](/integrations/config/) (`config`)
- [Frontend](/integrations/frontend/) - [Frontend](/integrations/frontend/) (`frontend`)
- [History](/integrations/history/) - [History](/integrations/history/) (`history`)
- [Image](/integrations/image/) - [Image](/integrations/image/) (`image`)
- [Input boolean](/integrations/input_boolean) - [Input boolean](/integrations/input_boolean/) (`input_boolean`)
- [Input datetime](/integrations/input_datetime) - [Input datetime](/integrations/input_datetime/) (`input_datetime`)
- [Input number](/integrations/input_number) - [Input number](/integrations/input_number/) (`input_number`)
- [Input select](/integrations/input_select) - [Input select](/integrations/input_select/) (`input_select`)
- [Input text](/integrations/input_text) - [Input text](/integrations/input_text/) (`input_text`)
- [Logbook](/integrations/logbook/) - [Logbook](/integrations/logbook/) (`logbook`)
- [Map](/integrations/map/) - [Map](/integrations/map/) (`map`)
- [Media Source](/integrations/media_source/) - [Media Source](/integrations/media_source/) (`media_source`)
- [Mobile App Support](/integrations/mobile_app/) - [Mobile App Support](/integrations/mobile_app/) (`mobile_app`)
- [Person](/integrations/person/) - [Person](/integrations/person/) (`person`)
- [Scene](/integrations/scene/) - [Scene](/integrations/scene/) (`scene`)
- [Scripts](/integrations/script/) - [Scripts](/integrations/script/) (`script`)
- [Simple Service Discovery Protocol (SSDP)](/integrations/ssdp/) - [Simple Service Discovery Protocol (SSDP)](/integrations/ssdp/) (`ssdp`)
- [Sun](/integrations/sun/) - [Sun](/integrations/sun/) (`sun`)
- [System Health](/integrations/system_health/) - [System Health](/integrations/system_health/) (`system_health`)
- [Tag](/integrations/tag/) - [Tag](/integrations/tag/) (`tag`)
- [Updater](/integrations/updater/) - [Updater](/integrations/updater/) (`updater`)
- [Zero-configuration networking (zeroconf)](/integrations/zeroconf/) - [Zero-configuration networking (zeroconf)](/integrations/zeroconf/) (`zeroconf`)
- [Zone](/integrations/zone) - [Zone](/integrations/zone/) (`zone`)
## Configuration ## Configuration

View File

@ -8,6 +8,7 @@ ha_quality_scale: internal
ha_codeowners: ha_codeowners:
- '@home-assistant/core' - '@home-assistant/core'
ha_domain: demo ha_domain: demo
ha_iot_class: Calculated
--- ---
The `demo` platform allows you to use integrations which are providing a demo of their implementation. The demo entities are dummies but show you how the actual platform looks like. This way you can run own demonstration instance like the online [Home Assistant demo](/demo/)but combined with your own real/functional platforms. The `demo` platform allows you to use integrations which are providing a demo of their implementation. The demo entities are dummies but show you how the actual platform looks like. This way you can run own demonstration instance like the online [Home Assistant demo](/demo/)but combined with your own real/functional platforms.

View File

@ -97,7 +97,7 @@ A few notes:
- The `denonavr` platform supports some additional functionalities like album covers, custom input source names and auto discovery. - The `denonavr` platform supports some additional functionalities like album covers, custom input source names and auto discovery.
- Marantz receivers seem to a have quite a similar interface. Thus if you own one, give it a try. - Marantz receivers seem to a have quite a similar interface. Thus if you own one, give it a try.
- To remotely power on Marantz receivers with Home Assistant, the Auto-Standby feature must be enabled in the receiver's settings. - To remotely power on Marantz receivers with Home Assistant, the Auto-Standby feature must be enabled in the receiver's settings.
- Sound mode: The command to set a specific sound mode is different from the value of the current sound mode reported by the receiver (sound_mode_raw). There is a key-value structure (sound_mode_dict) that matches the raw sound mode to one of the possible commands to set a sound mode (for instance {'MUSIC':['PLII MUSIC']}. If you get a "Not able to match sound mode" warning, please open an issue on the [denonavr library](https://github.com/scarface-4711/denonavr), stating which raw sound mode could not be matched so it can be added to the matching dictionary. You can find the current raw sound mode under "Development Tools/States" in the front panel. - Sound mode: The command to set a specific sound mode is different from the value of the current sound mode reported by the receiver (sound_mode_raw). There is a key-value structure (sound_mode_dict) that matches the raw sound mode to one of the possible commands to set a sound mode (for instance {'MUSIC':['PLII MUSIC']}. If you get a "Not able to match sound mode" warning, please open an issue on the [denonavr library](https://github.com/scarface-4711/denonavr), stating which raw sound mode could not be matched so it can be added to the matching dictionary. You can find the current raw sound mode under **Developer Tools** -> **States**.
#### Service `denonavr.get_command` #### Service `denonavr.get_command`

View File

@ -6,7 +6,7 @@ ha_category:
- Energy - Energy
- Sensor - Sensor
ha_release: 0.105 ha_release: 0.105
ha_iot_class: Local Push ha_iot_class: Calculated
logo: derivative.png logo: derivative.png
ha_qa_scale: internal ha_qa_scale: internal
ha_codeowners: ha_codeowners:

View File

@ -3,6 +3,9 @@ title: Presence-based Lights
description: Instructions on how to automate your lights with Home Assistant. description: Instructions on how to automate your lights with Home Assistant.
ha_category: ha_category:
- Automation - Automation
- Light
- Presence Detection
ha_iot_class: Calculated
ha_release: pre 0.7 ha_release: pre 0.7
ha_quality_scale: internal ha_quality_scale: internal
ha_domain: device_sun_light_trigger ha_domain: device_sun_light_trigger

View File

@ -35,21 +35,21 @@ To use this integration, you should define a conversation (intent) in Dialogflow
To get the webhook URL, go to the integrations page in the configuration screen and find "Dialogflow". Click on "configure". Follow the instructions on the screen. To get the webhook URL, go to the integrations page in the configuration screen and find "Dialogflow". Click on "configure". Follow the instructions on the screen.
- [Login](https://console.dialogflow.com/) with your Google account - [Login](https://console.dialogflow.com/) with your Google account.
- Click on "Create Agent" - Click on "Create Agent".
- Select name, language (if you are planning to use Google Actions check their [supported languages](https://support.google.com/assistant/answer/7108196?hl=en)) and time zone - Select name, language (if you are planning to use Google Actions check their [supported languages](https://support.google.com/assistant/answer/7108196?hl=en)) and time zone.
- Click "Save" - Click "Save".
- Now go to "Fulfillment" (in the left menu) - Now go to "Fulfillment" (in the left menu).
- Enable Webhook and set your Dialogflow webhook URL as the endpoint, e.g., `https://myhome.duckdns.org/api/webhook/800b4cb4d27d078a8871656a90854a292651b20635685f8ea23ddb7a09e8b417` - Enable Webhook and set your Dialogflow webhook URL as the endpoint, e.g., `https://myhome.duckdns.org/api/webhook/800b4cb4d27d078a8871656a90854a292651b20635685f8ea23ddb7a09e8b417`
- Click "Save" - Click "Save".
- Create a new intent - Create a new intent.
- Below "User says" write one phrase that you, the user, will tell Dialogflow, e.g., `What is the temperature at home?` - Below "User says" type one phrase that you, the user, will say to Dialogflow, e.g., `What is the temperature at home?`.
- In "Action" set some key (this will be the bind with Home Assistant configuration), e.g.,: GetTemperature - In "Action" enter an action name. This should match the name of an IntentScript within your Home Assistant configuration, e.g., in the example below "Temperature".
- In "Response" set "Cannot connect to Home Assistant or it is taking to long" (fall back response) - In "Response" enter "Cannot connect to Home Assistant or it is taking to long" (fall back response).
- At the end of the page, click on "Fulfillment" and check "Use webhook" - At the bottom of the page, expand "Fulfillment" and check "Use webhook".
- Click "Save" - Click "Save".
- On the top right, where is written "Try it now...", write, or say, the phrase you have previously defined and hit enter - At the top right of the screen where it says "Try it now...", type, or say, the phrase you have previously defined and hit enter.
- Dialogflow has send a request to your Home Assistant server - Dialogflow will now send a request to your Home Assistant server and display the response.
<div class='note warning'> <div class='note warning'>

View File

@ -3,6 +3,7 @@ title: Dlib Face Detect
description: Instructions on how to integrate Dlib Face Detect into Home Assistant. description: Instructions on how to integrate Dlib Face Detect into Home Assistant.
ha_category: ha_category:
- Image Processing - Image Processing
ha_iot_class: Local Push
ha_release: 0.44 ha_release: 0.44
ha_domain: dlib_face_detect ha_domain: dlib_face_detect
--- ---

View File

@ -3,6 +3,7 @@ title: Dlib Face Identify
description: Instructions on how to integrate Dlib Face Identify into Home Assistant. description: Instructions on how to integrate Dlib Face Identify into Home Assistant.
ha_category: ha_category:
- Image Processing - Image Processing
ha_iot_class: Local Push
ha_release: 0.44 ha_release: 0.44
ha_domain: dlib_face_identify ha_domain: dlib_face_identify
--- ---

View File

@ -15,7 +15,7 @@ A sensor platform for Dutch Smart Meters which comply to DSMR (Dutch Smart Meter
- Currently support DSMR V2.2, V3, V4, V5 and V5 Belgian through the [dsmr_parser](https://github.com/ndokter/dsmr_parser) module by Nigel Dokter. - Currently support DSMR V2.2, V3, V4, V5 and V5 Belgian through the [dsmr_parser](https://github.com/ndokter/dsmr_parser) module by Nigel Dokter.
- For official information about DSMR refer to: [DSMR Document](https://www.netbeheernederland.nl/dossiers/slimme-meter-15) - For official information about DSMR refer to: [DSMR Document](https://www.netbeheernederland.nl/dossiers/slimme-meter-15)
- For official information about the P1 port refer to: <https://www.netbeheernederland.nl/_upload/Files/Slimme_meter_15_a727fce1f1.pdf> - For official information about the P1 port refer to: [P1 Companion Standard](https://www.netbeheernederland.nl/_upload/Files/Slimme_meter_15_a727fce1f1.pdf)
- For unofficial hardware connection examples refer to: [Domoticx](http://domoticx.com/p1-poort-slimme-meter-hardware/) - For unofficial hardware connection examples refer to: [Domoticx](http://domoticx.com/p1-poort-slimme-meter-hardware/)
<p class='img'> <p class='img'>
@ -35,13 +35,13 @@ This integration is known to work for:
USB serial converters: USB serial converters:
- Cheap (Banggood/ebay) Generic PL2303 - Cheap (Banggood/ebay) Generic PL2303
- <https://sites.google.com/site/nta8130p1smartmeter/webshop> - [Smartmeter Webshop](https://sites.google.com/site/nta8130p1smartmeter/webshop)
- <https://www.sossolutions.nl/slimme-meter-kabel> - [SOS Solutions](https://www.sossolutions.nl/slimme-meter-kabel)
- <https://nl.aliexpress.com/item/32945187155.html> - [AliExpress](https://nl.aliexpress.com/item/32945187155.html)
Serial to network proxies: Serial to network proxies:
- ser2net - <http://ser2net.sourceforge.net/> - [ser2net](http://ser2net.sourceforge.net)
DIY solutions (ESP8266 based): DIY solutions (ESP8266 based):

View File

@ -1,5 +1,5 @@
--- ---
title: Deutsche Wetter Dienst (DWD) Weather Warnings title: Deutscher Wetterdienst (DWD) Weather Warnings
description: Instructions on how to integrate Deutsche Wetter Dienst weather warnings into Home Assistant. description: Instructions on how to integrate Deutsche Wetter Dienst weather warnings into Home Assistant.
ha_category: ha_category:
- Weather - Weather

View File

@ -3,6 +3,7 @@ title: EDL21
description: Instructions on how to integrate SML-based EDL21 smart meters into Home Assistant. description: Instructions on how to integrate SML-based EDL21 smart meters into Home Assistant.
ha_category: ha_category:
- Sensor - Sensor
ha_iot_class: Local Push
ha_release: 0.107 ha_release: 0.107
ha_domain: edl21 ha_domain: edl21
ha_codeowners: ha_codeowners:

View File

@ -31,8 +31,89 @@ There is currently support for the following device types within Home Assistant:
- **Sensor** - Elk-M1 counters, keypads, panel, settings, and zones are represented as `sensor` entities. - **Sensor** - Elk-M1 counters, keypads, panel, settings, and zones are represented as `sensor` entities.
- **Switch** - Elk-M1 outputs are represented as `switch` entities. - **Switch** - Elk-M1 outputs are represented as `switch` entities.
If you would like your `alarm_control_panel` devices to keep track of the user whose code was last used to change the status of that partition (via the attributes `changed_by` and `changed_by_id`) you must configure your Elk's global setting location 35, “System Log Data Update” transmission, so that the M1 sends the updated partition status whenever it changes. (It may work anyway if you have exactly one area configured and do not have that setting enabled.) ## ElkM1 Configuration and Version
In order for the ElkM1 integration to work to its fullest with Home Assistant the
ElkM1 panel must be configured correctly. This section describes the configuration
required on the ElkM1 panel.
### ElkM1 Version
ElkM1 should be running:
- Version 4.6.8, or
- Version 5.2.0 or higher.
Force arm away and stay are available in 5.3.0 or higher.
Many features will work with lower versions of the ElkM1. Check the "ElkM1 RS232 Protocol" manual for details.
### Global Setting 35
The ElkM1 integration tracks the user number and name of the last user name to
arm or disarm the panel. The `changed_by` and `changed_by_id` attributes of
the `alarm_control_panel` hold those two attributes.
On the ElkM1 panel Global Setting 35, "Transmit Event Log" must be
enabled for this to fully work.
Note that without Global Setting 35 set and in a single area system,
`changed_by` and `changed_by_id` are updated when a user enters a valid
code on a physical keypad.
### Global Setting 36 — 40
If you are using the features below then these respective global options
should be enabled:
| Option # | Option Name | Description |
| ---------------------- | -------- | ----------- |
| 36 | Transmit Zone Changes | If you are using Zones this allows Home Assistant to track the status of the Zones.
| 37 | Transmit Output Changes | If you are using Outputs this allows Home Assistant to track the status of the Outputs.
| 38 | Transmit Automation Task Changes | If you are using ElkM1 Tasks this allows Home Assistant to track the status of the Tasks.
| 39 | Transmit Light Changes | If you are using ElkM1 Lights this allows Home Assistant to track the status of the lights.
| 40 | Transmit Keypad Changes | Oddly, this option tracks keypad changes and alarm status. If you are wishing to track keypresses on ElkM1 keypad or if you are wishing to track the armed, disarmed, and alarm state of the ElkM1 then this option should be set.
## System Trouble Status
The ElkM1 is able to report general system trouble statuses. This is
reported using the `system_trouble_status` attribute of the
panel sensor (often named `sensor.elkm1`) in Home Assistant.
The format of the `system_trouble_status` attribute is a comma separated list
of the active troubles. Only active trouble statuses are in the list.
If the trouble is for a zone then `zone <number>` is appended to the trouble name.
For example, if zone 42 wireless sensor lost communication with the panel then
`system_trouble_status` would be "Lost Transmitter zone 42". If in addition there
was an AC failure then `system_trouble_status` would be the string
"AC Fail, Lost Transmitter zone 42".
The complete list of trouble statuses are:
- AC Fail
- Box Tamper (zone is part of status)
- Fail To Communicate
- EEProm Memory Error
- Low Battery Control
- Transmitter Low Battery (zone is part of status)
- Over Current
- Telephone Fault
- Output 2
- Missing Keypad
- Zone Expander
- Output Expander
- ELKRP Remote Access
- Common Area Not Armed
- Flash Memory Error
- Security Alert (zone is part of status)
- Serial Port Expander
- Lost Transmitter (zone is part of status)
- GE Smoke CleanMe
- Ethernet
- Display Message In Keypad Line 1
- Display Message In Keypad Line 2
- Fire (zone is part of status)
## Configuration ## Configuration
@ -319,3 +400,56 @@ elkm1:
thermostat: thermostat:
enabled: false enabled: false
``` ```
## Services
Besides the standard Home Assistant services for Climate, Light, Scene, Sensor,
and Switch the ElkM1 integration offers these additional services:
- `elkm1.alarm_arm_home_instant`
- `elkm1.alarm_arm_night_instant`
- `elkm1.alarm_arm_vacation`
- `elkm1.alarm_display_message`
- `elkm1.speak_phrase`
- `elkm1.speak_word`
### Services `elkm1.alarm_arm_home_instant`, `elkm1.alarm_arm_night_instant`, and `elkm1.alarm_arm_vacation`
Arms the ElkM1 area in "home instant", "night instant", or "vacation" modes
respectively.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | ElkM1 area which to arm.
| `code` | no | Alarm code to arm the system (4 or 6 digits).
### Service `elkm1.alarm_display_message`
Display text on an area's keypads.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | ElkM1 area which to display the message.
| `clear` | yes | 0=clear message, 1=clear message with * key, 2=Display until timeout; default 2
| `beep` | yes | 0=no beep, 1=beep; default 0
| `timeout` | yes | Time to display message, 0=forever, max 65535, default 0
| `line1` | yes | Up to 16 characters of text (truncated if too long). Default blank.
| `line2` | yes | Up to 16 characters of text (truncated if too long). Default blank.
### Service `elkm1.speak_phrase`
Speak a phrase. The list of phrases is defined in the ElkM1 ASCII Protocol documentation.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `phrase` | no | Phrase to speak.
| `prefix` | yes | Prefix to identify panel when multiple panels configured.
### Service `elkm1.speak_word`
Speak a word. The list of words is defined in the ElkM1 ASCII Protocol documentation.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `word` | no | Word to speak.
| `prefix` | yes | Prefix to identify panel when multiple panels configured.

View File

@ -3,6 +3,7 @@ title: Emoncms History
description: Instructions on how to integrate Emoncms history into Home Assistant. description: Instructions on how to integrate Emoncms history into Home Assistant.
ha_category: ha_category:
- History - History
ha_iot_class: Local Polling
ha_release: 0.31 ha_release: 0.31
ha_domain: emoncms_history ha_domain: emoncms_history
--- ---

View File

@ -3,6 +3,7 @@ title: Facebox
description: Detect and recognize faces with Facebox. description: Detect and recognize faces with Facebox.
ha_category: ha_category:
- Image Processing - Image Processing
ha_iot_class: Local Push
ha_release: 0.7 ha_release: 0.7
ha_domain: facebox ha_domain: facebox
--- ---

View File

@ -64,7 +64,7 @@ fan:
required: false required: false
type: string type: string
unique_id: unique_id:
description: An ID that uniquely identifies this fan. Set this to an unique value to allow customisation trough the UI. description: An ID that uniquely identifies this fan. Set this to a unique value to allow customization through the UI.
required: false required: false
type: string type: string
value_template: value_template:

View File

@ -3,6 +3,7 @@ title: FFmpeg Motion
description: Instructions on how to integrate an FFmpeg-based motion binary sensor description: Instructions on how to integrate an FFmpeg-based motion binary sensor
ha_category: ha_category:
- Image Processing - Image Processing
ha_iot_class: Calculated
ha_release: 0.27 ha_release: 0.27
ha_domain: ffmpeg_motion ha_domain: ffmpeg_motion
--- ---

View File

@ -3,6 +3,7 @@ title: FFmpeg Noise
description: Instructions on how to integrate an FFmpeg-based noise binary sensor description: Instructions on how to integrate an FFmpeg-based noise binary sensor
ha_category: ha_category:
- Image Processing - Image Processing
ha_iot_class: Calculated
ha_release: 0.27 ha_release: 0.27
ha_domain: ffmpeg_noise ha_domain: ffmpeg_noise
--- ---

View File

@ -88,4 +88,4 @@ device_config:
### Using Z-Wave devices in automation ### Using Z-Wave devices in automation
If you want to use a Z-Wave device from the Fibaro controller in Home Assistant automation, you'll need the entity id. In the Home Assistant UI you'll find all entities listed under the <img src='/images/screenshots/developer-tool-states-icon.png' alt='service developer tool icon' class="no-shadow" height="38" /> icon of the Developer Tools section. Look for entities that contain 'fibaro_id' in their attributes, and you'll find the entity id on the left. If you want to use a Z-Wave device from the Fibaro controller in Home Assistant automation, you'll need the entity id. In the Home Assistant UI you'll find all entities listed under **Developer Tools** -> **States**. Look for entities that contain 'fibaro_id' in their attributes, and you'll find the entity id on the left.

View File

@ -1,7 +1,6 @@
--- ---
title: Flo title: Flo
description: Instructions on how to integrate Flo by Moen into Home Assistant. description: Instructions on how to integrate Flo by Moen into Home Assistant.
ha_release: 0.115
ha_category: ha_category:
- Binary Sensor - Binary Sensor
- Sensor - Sensor
@ -10,6 +9,8 @@ ha_config_flow: true
ha_codeowners: ha_codeowners:
- '@dmulcahey' - '@dmulcahey'
ha_domain: flo ha_domain: flo
ha_iot_class: Cloud Polling
ha_release: 0.115
--- ---
The `flo` integration integrates The `flo` integration integrates

View File

@ -3,6 +3,7 @@ title: Flock
description: Instructions on how to add Flock notifications to Home Assistant. description: Instructions on how to add Flock notifications to Home Assistant.
ha_category: ha_category:
- Notifications - Notifications
ha_iot_class: Cloud Push
ha_release: 0.71 ha_release: 0.71
ha_codeowners: ha_codeowners:
- '@fabaff' - '@fabaff'

View File

@ -6,6 +6,7 @@ ha_category:
ha_release: 0.21 ha_release: 0.21
ha_quality_scale: internal ha_quality_scale: internal
ha_domain: flux ha_domain: flux
ha_iot_class: Calculated
--- ---
The `flux` switch platform will change the temperature of your lights similar to the way flux works on your computer, using circadian rhythm. They will be bright during the day, and gradually fade to a red/orange at night. The `flux` switch restores its last state after startup. The `flux` switch platform will change the temperature of your lights similar to the way flux works on your computer, using circadian rhythm. They will be bright during the day, and gradually fade to a red/orange at night. The `flux` switch restores its last state after startup.

View File

@ -4,6 +4,7 @@ description: Instructions on how to add user notifications to Home Assistant.
ha_category: ha_category:
- Notifications - Notifications
ha_release: 0.11 ha_release: 0.11
ha_iot_class: Cloud Push
ha_domain: free_mobile ha_domain: free_mobile
--- ---

View File

@ -3,6 +3,7 @@ title: FreeDNS
description: Keep your DNS record up to date with FreeDNS. description: Keep your DNS record up to date with FreeDNS.
ha_category: ha_category:
- Network - Network
ha_iot_class: Cloud Push
ha_release: 0.67 ha_release: 0.67
ha_domain: freedns ha_domain: freedns
--- ---

View File

@ -4,6 +4,7 @@ description: Instructions on how to set up P5 FutureNow relay/dimmer units as li
logo: p5.png logo: p5.png
ha_category: ha_category:
- Light - Light
ha_iot_class: Local Polling
ha_release: 0.75 ha_release: 0.75
ha_domain: futurenow ha_domain: futurenow
--- ---

View File

@ -134,4 +134,7 @@ cover:
state_topic: "garadget/device_name/status" state_topic: "garadget/device_name/status"
payload_open: "open" payload_open: "open"
payload_close: "close" payload_close: "close"
value_template: "{{ value_json.status }}"
``` ```
Replace device_name with the name of the device provided when configuring garadget.

View File

@ -6,6 +6,7 @@ ha_category:
logo: geo_location.png logo: geo_location.png
ha_release: 0.78 ha_release: 0.78
ha_domain: geo_location ha_domain: geo_location
ha_iot_class: ~
--- ---
Geolocation aware entities are typically related to events in the real world in the vicinity of Home Assistant's location, like for example weather events, bush fires or earthquakes. Geolocation aware entities are typically related to events in the real world in the vicinity of Home Assistant's location, like for example weather events, bush fires or earthquakes.

View File

@ -3,6 +3,7 @@ title: Growl (GnGNTP)
description: Instructions for adding GNTP/Growl notifications to Home Assistant. description: Instructions for adding GNTP/Growl notifications to Home Assistant.
ha_category: ha_category:
- Notifications - Notifications
ha_iot_class: Local Push
ha_release: 0.16 ha_release: 0.16
ha_domain: gntp ha_domain: gntp
--- ---

View File

@ -4,6 +4,7 @@ description: Instructions on how to setup Goalfeed events within Home Assistant.
logo: goalfeed.png logo: goalfeed.png
ha_category: ha_category:
- Other - Other
ha_iot_class: Cloud Push
ha_release: 0.63 ha_release: 0.63
ha_domain: goalfeed ha_domain: goalfeed
--- ---

View File

@ -1,8 +1,9 @@
--- ---
title: GoalZero title: Goal Zero Yeti
description: Instructions on how to integrate Goal Zero Yeti with Home Assistant description: Instructions on how to integrate Goal Zero Yeti with Home Assistant
ha_category: ha_category:
- Energy - Energy
ha_iot_class: Local Polling
ha_release: 0.116 ha_release: 0.116
ha_config_flow: true ha_config_flow: true
ha_domain: goalzero ha_domain: goalzero

View File

@ -29,7 +29,7 @@ To use Google Assistant, your Home Assistant configuration has to be [externally
</div> </div>
You will need to create a service account [Create Service account key](https://console.cloud.google.com/apis/credentials/serviceaccountkey) which allows you to update devices without unlinking and relinking an account (see [below](#troubleshooting-the-request_sync-service)). If you don't provide the service account, the `google_assistant.request_sync` service is not exposed. It is recommended to set up this configuration key as it also allows the usage of the following command, "Ok Google, sync my devices". Once you have set up this component, you will need to call this service (or command) each time you add a new device in Home Assistant that you wish to control via the Google Assistant integration. See Step 2 after the note for more details. You will need to create a service account [Create Service account key](https://console.cloud.google.com/apis/credentials/serviceaccountkey) which allows you to update devices without unlinking and relinking an account (see [below](#troubleshooting)). If you don't provide the service account, the `google_assistant.request_sync` service is not exposed. It is recommended to set up this configuration key as it also allows the usage of the following command, "Ok Google, sync my devices". Once you have set up this component, you will need to call this service (or command) each time you add a new device in Home Assistant that you wish to control via the Google Assistant integration. See Step 2 after the note for more details.
1. Create a new project in the [Actions on Google console](https://console.actions.google.com/). 1. Create a new project in the [Actions on Google console](https://console.actions.google.com/).
1. Click `New Project` and give your project a name. 1. Click `New Project` and give your project a name.
@ -253,6 +253,8 @@ The `request_sync` service may fail with a 404 if the `project_id` of the HomeGr
4. Once you begin to create a new `service_account` in the [Google Cloud API Console], ensure you select the project created in [Actions on Google console] by verifying the `project_id`. 4. Once you begin to create a new `service_account` in the [Google Cloud API Console], ensure you select the project created in [Actions on Google console] by verifying the `project_id`.
5. Enable HomeGraph API to the new project. 5. Enable HomeGraph API to the new project.
Verify that the Google Assistant is available on `https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant` If it is working it should return `405: Method Not Allowed` when opened in a browser or via curl.
#### 403 errors on request sync #### 403 errors on request sync
The `request_sync` service may fail with a 403 if the HomeGraph API is not enabled. Go to [Google API Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview) and verify that HomeGraph API is enabled for your project. The `request_sync` service may fail with a 403 if the HomeGraph API is not enabled. Go to [Google API Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview) and verify that HomeGraph API is enabled for your project.

View File

@ -3,6 +3,7 @@ title: Google Cloud Platform
description: Google Cloud Platform integration. description: Google Cloud Platform integration.
ha_category: Text-to-speech ha_category: Text-to-speech
ha_release: 0.95 ha_release: 0.95
ha_iot_class: Cloud Push
ha_codeowners: ha_codeowners:
- '@lufton' - '@lufton'
ha_domain: google_cloud ha_domain: google_cloud

View File

@ -4,6 +4,7 @@ description: Setup for Google Pub/Sub integration
ha_category: ha_category:
- History - History
ha_release: 0.88 ha_release: 0.88
ha_iot_class: Cloud Push
ha_domain: google_pubsub ha_domain: google_pubsub
--- ---

View File

@ -4,6 +4,7 @@ description: Instructions on how to setup Google Translate Text-to-Speech with H
ha_category: ha_category:
- Text-to-speech - Text-to-speech
ha_release: 0.35 ha_release: 0.35
ha_iot_class: Cloud Push
ha_codeowners: ha_codeowners:
- '@awarecan' - '@awarecan'
ha_domain: google_translate ha_domain: google_translate

View File

@ -6,6 +6,7 @@ ha_category:
- History - History
ha_release: 0.13 ha_release: 0.13
ha_domain: graphite ha_domain: graphite
ha_iot_class: Local Push
--- ---
The `graphite` integration records all events and state changes and feeds the data to a [graphite](http://graphite.wikidot.com/) instance. The `graphite` integration records all events and state changes and feeds the data to a [graphite](http://graphite.wikidot.com/) instance.

View File

@ -73,6 +73,7 @@ The system can calculate group state with entities from the following domains:
* lock * lock
* media_player * media_player
* person * person
* plant
* remote * remote
* switch * switch
* vacuum * vacuum

View File

@ -1,6 +1,7 @@
--- ---
title: Elexa Guardian title: Elexa Guardian
description: Instructions on how to integrate SimpliSafe into Home Assistant. description: Instructions on how to integrate SimpliSafe into Home Assistant.
ha_iot_class: Local Polling
ha_release: '0.111' ha_release: '0.111'
ha_category: ha_category:
- Binary Sensor - Binary Sensor

View File

@ -291,7 +291,7 @@ default_conversations:
### Finding the conversation ID ### Finding the conversation ID
The conversations has to be precreated, the conversation id can be obtained from the `hangouts.conversations` entity, this can be found in with the states developer tool that is shown as this icon <img src='/images/screenshots/developer-tool-states-icon.png' class='no-shadow' height='38' /> in the side bar. Using your web browsers search tool to find the `hangouts.conversations` entity. You will find something like below. The conversations has to be precreated, the conversation id can be obtained from the `hangouts.conversations` entity, this can be found in **Developer Tools** -> **States**. Using your web browsers search tool to find the `hangouts.conversations` entity. You will find something like below.
```json ```json
0: { 0: {

View File

@ -3,6 +3,7 @@ title: Hikvision
description: Instructions on how to integrate Hikvision camera switches into Home Assistant. description: Instructions on how to integrate Hikvision camera switches into Home Assistant.
ha_category: ha_category:
- Switch - Switch
ha_iot_class: Local Polling
ha_release: pre 0.7 ha_release: pre 0.7
ha_codeowners: ha_codeowners:
- '@fbradyirl' - '@fbradyirl'

View File

@ -8,6 +8,7 @@ ha_quality_scale: internal
ha_codeowners: ha_codeowners:
- '@home-assistant/core' - '@home-assistant/core'
ha_domain: history ha_domain: history
ha_iot_class: ~
--- ---
The `history` integration will track everything that is going on within Home The `history` integration will track everything that is going on within Home

View File

@ -210,7 +210,7 @@ sensor:
- platform: template - platform: template
sensors: sensors:
bedroom_valve: bedroom_valve:
value_template: '{% raw %}{{ state_attr('climate.leq123456', 'Valve') }}{% endraw %}' value_template: "{% raw %}{{ state_attr('climate.leq123456', 'valve') }}{% endraw %}"
entity_id: climate.leq123456 entity_id: climate.leq123456
friendly_name: 'Bedroom valve' friendly_name: 'Bedroom valve'
``` ```

View File

@ -25,7 +25,7 @@ There is currently support for the following platforms within Home Assistant:
- Notifications - via SMS - Notifications - via SMS
- Sensors - device, network, signal, SMS count, traffic, and battery information - Sensors - device, network, signal, SMS count, traffic, and battery information
- Switch - mobile data on/off - Switch - mobile data on/off
- Binary sensor - mobile and Wi-Fi connection status - Binary sensor - mobile and Wi-Fi connection status, SMS storage full/not
## Configuration ## Configuration

Some files were not shown because too many files have changed in this diff Show More