diff --git a/.vscode/cSpell.json b/.vscode/cSpell.json
index 1951a92694f..dbff6649d46 100644
--- a/.vscode/cSpell.json
+++ b/.vscode/cSpell.json
@@ -18,8 +18,8 @@
"geizhals",
"Harman",
"hass",
- "hass.io",
- "hassos",
+ "Hass.io",
+ "HassOS",
"hcitool",
"heos",
"hikvision",
diff --git a/CODEOWNERS b/CODEOWNERS
new file mode 100644
index 00000000000..8a2f70fb67a
--- /dev/null
+++ b/CODEOWNERS
@@ -0,0 +1,376 @@
+# This file is generated.
+#
+# People marked here will be automatically requested for a review
+# when the documentation that they own is touched.
+#
+# It is synced with the codebase, so if you own the integration,
+# you will own the docs as well.
+# https://github.com/blog/2392-introducing-code-owners
+
+# Pages
+source/_integrations/abode.markdown @shred86
+source/_integrations/adguard.markdown @frenck
+source/_integrations/airly.markdown @bieniu
+source/_integrations/airvisual.markdown @bachya
+source/_integrations/alexa.markdown @home-assistant/cloud @ochlocracy
+source/_integrations/almond.markdown @gcampax @balloob
+source/_integrations/alpha_vantage.markdown @fabaff
+source/_integrations/amazon_polly.markdown @robbiet480
+source/_integrations/ambiclimate.markdown @danielhiversen
+source/_integrations/ambient_station.markdown @bachya
+source/_integrations/androidtv.markdown @JeffLIrion
+source/_integrations/apache_kafka.markdown @bachya
+source/_integrations/api.markdown @home-assistant/core
+source/_integrations/apprise.markdown @caronc
+source/_integrations/aprs.markdown @PhilRW
+source/_integrations/arcam_fmj.markdown @elupus
+source/_integrations/arduino.markdown @fabaff
+source/_integrations/arest.markdown @fabaff
+source/_integrations/asuswrt.markdown @kennedyshead
+source/_integrations/aten_pe.markdown @mtdcr
+source/_integrations/atome.markdown @baqs
+source/_integrations/aurora_abb_powerone.markdown @davet2001
+source/_integrations/auth.markdown @home-assistant/core
+source/_integrations/automatic.markdown @armills
+source/_integrations/automation.markdown @home-assistant/core
+source/_integrations/avea.markdown @pattyland
+source/_integrations/awair.markdown @danielsjf
+source/_integrations/aws.markdown @awarecan @robbiet480
+source/_integrations/axis.markdown @kane610
+source/_integrations/azure_event_hub.markdown @eavanvalkenburg
+source/_integrations/azure_service_bus.markdown @hfurubotten
+source/_integrations/beewi_smartclim.markdown @alemuro
+source/_integrations/bitcoin.markdown @fabaff
+source/_integrations/bizkaibus.markdown @UgaitzEtxebarria
+source/_integrations/blink.markdown @fronzbot
+source/_integrations/bmw_connected_drive.markdown @gerard33
+source/_integrations/braviatv.markdown @robbiet480
+source/_integrations/broadlink.markdown @danielhiversen @felipediel
+source/_integrations/brunt.markdown @eavanvalkenburg
+source/_integrations/bt_smarthub.markdown @jxwolstenholme
+source/_integrations/buienradar.markdown @mjj4791 @ties
+source/_integrations/cert_expiry.markdown @Cereal2nd @jjlawren
+source/_integrations/cisco_ios.markdown @fbradyirl
+source/_integrations/cisco_mobility_express.markdown @fbradyirl
+source/_integrations/cisco_webex_teams.markdown @fbradyirl
+source/_integrations/ciscospark.markdown @fbradyirl
+source/_integrations/cloud.markdown @home-assistant/cloud
+source/_integrations/cloudflare.markdown @ludeeus
+source/_integrations/comfoconnect.markdown @michaelarnauts
+source/_integrations/config.markdown @home-assistant/core
+source/_integrations/configurator.markdown @home-assistant/core
+source/_integrations/conversation.markdown @home-assistant/core
+source/_integrations/coolmaster.markdown @OnFreund
+source/_integrations/counter.markdown @fabaff
+source/_integrations/cover.markdown @home-assistant/core
+source/_integrations/cpuspeed.markdown @fabaff
+source/_integrations/cups.markdown @fabaff
+source/_integrations/daikin.markdown @fredrike @rofrantz
+source/_integrations/darksky.markdown @fabaff
+source/_integrations/deconz.markdown @kane610
+source/_integrations/delijn.markdown @bollewolle
+source/_integrations/demo.markdown @home-assistant/core
+source/_integrations/device_automation.markdown @home-assistant/core
+source/_integrations/digital_ocean.markdown @fabaff
+source/_integrations/discogs.markdown @thibmaek
+source/_integrations/doorbird.markdown @oblogic7
+source/_integrations/dsmr_reader.markdown @depl0y
+source/_integrations/dweet.markdown @fabaff
+source/_integrations/ecobee.markdown @marthoc
+source/_integrations/ecovacs.markdown @OverloadUT
+source/_integrations/egardia.markdown @jeroenterheerdt
+source/_integrations/eight_sleep.markdown @mezz64
+source/_integrations/elv.markdown @majuss
+source/_integrations/emby.markdown @mezz64
+source/_integrations/emulated_hue.markdown @NobleKangaroo
+source/_integrations/enigma2.markdown @fbradyirl
+source/_integrations/enocean.markdown @bdurrer
+source/_integrations/entur_public_transport.markdown @hfurubotten
+source/_integrations/environment_canada.markdown @michaeldavie
+source/_integrations/ephember.markdown @ttroy50
+source/_integrations/epsonworkforce.markdown @ThaStealth
+source/_integrations/eq3btsmart.markdown @rytilahti
+source/_integrations/esphome.markdown @OttoWinter
+source/_integrations/essent.markdown @TheLastProject
+source/_integrations/evohome.markdown @zxdavb
+source/_integrations/fastdotcom.markdown @rohankapoorcom
+source/_integrations/file.markdown @fabaff
+source/_integrations/filter.markdown @dgomes
+source/_integrations/fitbit.markdown @robbiet480
+source/_integrations/fixer.markdown @fabaff
+source/_integrations/flock.markdown @fabaff
+source/_integrations/flume.markdown @ChrisMandich
+source/_integrations/flunearyou.markdown @bachya
+source/_integrations/fortigate.markdown @kifeo
+source/_integrations/fortios.markdown @kimfrellsen
+source/_integrations/foscam.markdown @skgsergio
+source/_integrations/foursquare.markdown @robbiet480
+source/_integrations/freebox.markdown @snoof85
+source/_integrations/fronius.markdown @nielstron
+source/_integrations/frontend.markdown @home-assistant/frontend
+source/_integrations/gearbest.markdown @HerrHofrat
+source/_integrations/geniushub.markdown @zxdavb
+source/_integrations/geo_rss_events.markdown @exxamalte
+source/_integrations/geonetnz_quakes.markdown @exxamalte
+source/_integrations/geonetnz_volcano.markdown @exxamalte
+source/_integrations/gitter.markdown @fabaff
+source/_integrations/glances.markdown @fabaff @engrbm87
+source/_integrations/gntp.markdown @robbiet480
+source/_integrations/google_assistant.markdown @home-assistant/cloud
+source/_integrations/google_cloud.markdown @lufton
+source/_integrations/google_translate.markdown @awarecan
+source/_integrations/google_travel_time.markdown @robbiet480
+source/_integrations/gpsd.markdown @fabaff
+source/_integrations/group.markdown @home-assistant/core
+source/_integrations/growatt_server.markdown @indykoning
+source/_integrations/gtfs.markdown @robbiet480
+source/_integrations/harmony.markdown @ehendrix23
+source/_integrations/heatmiser.markdown @andylockran
+source/_integrations/heos.markdown @andrewsayre
+source/_integrations/here_travel_time.markdown @eifinger
+source/_integrations/hikvision.markdown @mezz64
+source/_integrations/hikvisioncam.markdown @fbradyirl
+source/_integrations/hisense_aehw4a1.markdown @bannhead
+source/_integrations/history.markdown @home-assistant/core
+source/_integrations/history_graph.markdown @andrey-git
+source/_integrations/hive.markdown @Rendili @KJonline
+source/_integrations/homeassistant.markdown @home-assistant/core
+source/_integrations/homekit_controller.markdown @Jc2k
+source/_integrations/homematic.markdown @pvizeli @danielperna84
+source/_integrations/homematicip_cloud.markdown @SukramJ
+source/_integrations/honeywell.markdown @zxdavb
+source/_integrations/html5.markdown @robbiet480
+source/_integrations/http.markdown @home-assistant/core
+source/_integrations/huawei_lte.markdown @scop
+source/_integrations/huawei_router.markdown @abmantis
+source/_integrations/hue.markdown @balloob
+source/_integrations/iaqualink.markdown @flz
+source/_integrations/ign_sismologia.markdown @exxamalte
+source/_integrations/incomfort.markdown @zxdavb
+source/_integrations/influxdb.markdown @fabaff
+source/_integrations/input_boolean.markdown @home-assistant/core
+source/_integrations/input_datetime.markdown @home-assistant/core
+source/_integrations/input_number.markdown @home-assistant/core
+source/_integrations/input_select.markdown @home-assistant/core
+source/_integrations/input_text.markdown @home-assistant/core
+source/_integrations/integration.markdown @dgomes
+source/_integrations/ios.markdown @robbiet480
+source/_integrations/iperf3.markdown @rohankapoorcom
+source/_integrations/ipma.markdown @dgomes
+source/_integrations/iqvia.markdown @bachya
+source/_integrations/irish_rail_transport.markdown @ttroy50
+source/_integrations/izone.markdown @Swamp-Ig
+source/_integrations/jewish_calendar.markdown @tsvi
+source/_integrations/juicenet.markdown @jesserockz
+source/_integrations/kaiterra.markdown @Michsior14
+source/_integrations/keba.markdown @dannerph
+source/_integrations/keenetic_ndms2.markdown @foxel
+source/_integrations/keyboard_remote.markdown @bendavid
+source/_integrations/knx.markdown @Julius2342
+source/_integrations/kodi.markdown @armills
+source/_integrations/konnected.markdown @heythisisnate
+source/_integrations/lametric.markdown @robbiet480
+source/_integrations/launch_library.markdown @ludeeus
+source/_integrations/lcn.markdown @alengwenus
+source/_integrations/life360.markdown @pnbruckner
+source/_integrations/linky.markdown @Quentame
+source/_integrations/linux_battery.markdown @fabaff
+source/_integrations/liveboxplaytv.markdown @pschmitt
+source/_integrations/logger.markdown @home-assistant/core
+source/_integrations/logi_circle.markdown @evanjd
+source/_integrations/luci.markdown @fbradyirl @mzdrale
+source/_integrations/luftdaten.markdown @fabaff
+source/_integrations/lupusec.markdown @majuss
+source/_integrations/lutron.markdown @JonGilmore
+source/_integrations/mastodon.markdown @fabaff
+source/_integrations/matrix.markdown @tinloaf
+source/_integrations/mcp23017.markdown @jardiamj
+source/_integrations/mediaroom.markdown @dgomes
+source/_integrations/melissa.markdown @kennedyshead
+source/_integrations/met.markdown @danielhiversen
+source/_integrations/meteo_france.markdown @victorcerutti @oncleben31
+source/_integrations/meteoalarm.markdown @rolfberkenbosch
+source/_integrations/miflora.markdown @danielhiversen @ChristianKuehnel
+source/_integrations/mill.markdown @danielhiversen
+source/_integrations/min_max.markdown @fabaff
+source/_integrations/minio.markdown @tkislan
+source/_integrations/mobile_app.markdown @robbiet480
+source/_integrations/modbus.markdown @adamchengtkc
+source/_integrations/monoprice.markdown @etsinko
+source/_integrations/moon.markdown @fabaff
+source/_integrations/mpd.markdown @fabaff
+source/_integrations/mqtt.markdown @home-assistant/core
+source/_integrations/msteams.markdown @peroyvind
+source/_integrations/mysensors.markdown @MartinHjelmare
+source/_integrations/mystrom.markdown @fabaff
+source/_integrations/neato.markdown @dshokouhi @Santobert
+source/_integrations/nello.markdown @pschmitt
+source/_integrations/ness_alarm.markdown @nickw444
+source/_integrations/nest.markdown @awarecan
+source/_integrations/netdata.markdown @fabaff
+source/_integrations/nextbus.markdown @vividboarder
+source/_integrations/nilu.markdown @hfurubotten
+source/_integrations/nissan_leaf.markdown @filcole
+source/_integrations/nmbs.markdown @thibmaek
+source/_integrations/no_ip.markdown @fabaff
+source/_integrations/notify.markdown @home-assistant/core
+source/_integrations/notion.markdown @bachya
+source/_integrations/nsw_fuel_station.markdown @nickw444
+source/_integrations/nsw_rural_fire_service_feed.markdown @exxamalte
+source/_integrations/nuki.markdown @pvizeli
+source/_integrations/nws.markdown @MatthewFlamm
+source/_integrations/nzbget.markdown @chriscla
+source/_integrations/obihai.markdown @dshokouhi
+source/_integrations/ohmconnect.markdown @robbiet480
+source/_integrations/ombi.markdown @larssont
+source/_integrations/onboarding.markdown @home-assistant/core
+source/_integrations/opentherm_gw.markdown @mvn23
+source/_integrations/openuv.markdown @bachya
+source/_integrations/openweathermap.markdown @fabaff
+source/_integrations/orangepi_gpio.markdown @pascallj
+source/_integrations/oru.markdown @bvlaicu
+source/_integrations/owlet.markdown @oblogic7
+source/_integrations/panel_custom.markdown @home-assistant/frontend
+source/_integrations/panel_iframe.markdown @home-assistant/frontend
+source/_integrations/pcal9535a.markdown @Shulyaka
+source/_integrations/persistent_notification.markdown @home-assistant/core
+source/_integrations/philips_js.markdown @elupus
+source/_integrations/pi_hole.markdown @fabaff @johnluetke
+source/_integrations/plaato.markdown @JohNan
+source/_integrations/plant.markdown @ChristianKuehnel
+source/_integrations/plex.markdown @jjlawren
+source/_integrations/plugwise.markdown @laetificat @CoMPaTech @bouwew
+source/_integrations/point.markdown @fredrike
+source/_integrations/proxmoxve.markdown @k4ds3
+source/_integrations/ps4.markdown @ktnrg45
+source/_integrations/ptvsd.markdown @swamp-ig
+source/_integrations/push.markdown @dgomes
+source/_integrations/pvoutput.markdown @fabaff
+source/_integrations/qld_bushfire.markdown @exxamalte
+source/_integrations/qnap.markdown @colinodell
+source/_integrations/quantum_gateway.markdown @cisasteelersfan
+source/_integrations/qwikswitch.markdown @kellerza
+source/_integrations/rainbird.markdown @konikvranik
+source/_integrations/raincloud.markdown @vanstinator
+source/_integrations/rainforest_eagle.markdown @gtdiehl
+source/_integrations/rainmachine.markdown @bachya
+source/_integrations/random.markdown @fabaff
+source/_integrations/repetier.markdown @MTrab
+source/_integrations/rfxtrx.markdown @danielhiversen
+source/_integrations/rmvtransport.markdown @cgtobi
+source/_integrations/roomba.markdown @pschmitt
+source/_integrations/saj.markdown @fredericvl
+source/_integrations/samsungtv.markdown @escoand
+source/_integrations/scene.markdown @home-assistant/core
+source/_integrations/scrape.markdown @fabaff
+source/_integrations/script.markdown @home-assistant/core
+source/_integrations/sense.markdown @kbickar
+source/_integrations/sensibo.markdown @andrey-git
+source/_integrations/serial.markdown @fabaff
+source/_integrations/seventeentrack.markdown @bachya
+source/_integrations/shell_command.markdown @home-assistant/core
+source/_integrations/shiftr.markdown @fabaff
+source/_integrations/shodan.markdown @fabaff
+source/_integrations/simplisafe.markdown @bachya
+source/_integrations/sinch.markdown @bendikrb
+source/_integrations/slide.markdown @ualex73
+source/_integrations/sma.markdown @kellerza
+source/_integrations/smarthab.markdown @outadoc
+source/_integrations/smartthings.markdown @andrewsayre
+source/_integrations/smarty.markdown @z0mbieprocess
+source/_integrations/smtp.markdown @fabaff
+source/_integrations/solaredge_local.markdown @drobtravels @scheric
+source/_integrations/solarlog.markdown @Ernst79
+source/_integrations/solax.markdown @squishykid
+source/_integrations/soma.markdown @ratsept
+source/_integrations/somfy.markdown @tetienne
+source/_integrations/songpal.markdown @rytilahti
+source/_integrations/spaceapi.markdown @fabaff
+source/_integrations/speedtestdotnet.markdown @rohankapoorcom
+source/_integrations/spider.markdown @peternijssen
+source/_integrations/sql.markdown @dgomes
+source/_integrations/starline.markdown @anonym-tsk
+source/_integrations/statistics.markdown @fabaff
+source/_integrations/stiebel_eltron.markdown @fucm
+source/_integrations/stream.markdown @hunterjm
+source/_integrations/stt.markdown @pvizeli
+source/_integrations/suez_water.markdown @ooii
+source/_integrations/sun.markdown @Swamp-Ig
+source/_integrations/supla.markdown @mwegrzynek
+source/_integrations/swiss_hydrological_data.markdown @fabaff
+source/_integrations/swiss_public_transport.markdown @fabaff
+source/_integrations/switchbot.markdown @danielhiversen
+source/_integrations/switcher_kis.markdown @tomerfi
+source/_integrations/switchmate.markdown @danielhiversen
+source/_integrations/syncthru.markdown @nielstron
+source/_integrations/synology_srm.markdown @aerialls
+source/_integrations/syslog.markdown @fabaff
+source/_integrations/tado.markdown @michaelarnauts
+source/_integrations/tahoma.markdown @philklei
+source/_integrations/tautulli.markdown @ludeeus
+source/_integrations/tellduslive.markdown @fredrike
+source/_integrations/template.markdown @PhracturedBlue
+source/_integrations/tesla.markdown @zabuldon
+source/_integrations/tfiac.markdown @fredrike @mellado
+source/_integrations/thethingsnetwork.markdown @fabaff
+source/_integrations/threshold.markdown @fabaff
+source/_integrations/tibber.markdown @danielhiversen
+source/_integrations/tile.markdown @bachya
+source/_integrations/time_date.markdown @fabaff
+source/_integrations/todoist.markdown @boralyl
+source/_integrations/toon.markdown @frenck
+source/_integrations/tplink.markdown @rytilahti
+source/_integrations/traccar.markdown @ludeeus
+source/_integrations/tradfri.markdown @ggravlingen
+source/_integrations/trafikverket_train.markdown @endor-force
+source/_integrations/transmission.markdown @engrbm87 @JPHutchins
+source/_integrations/tts.markdown @robbiet480
+source/_integrations/twentemilieu.markdown @frenck
+source/_integrations/twilio_call.markdown @robbiet480
+source/_integrations/twilio_sms.markdown @robbiet480
+source/_integrations/unifi.markdown @kane610
+source/_integrations/unifiled.markdown @florisvdk
+source/_integrations/upc_connect.markdown @pvizeli
+source/_integrations/upcloud.markdown @scop
+source/_integrations/updater.markdown @home-assistant/core
+source/_integrations/upnp.markdown @robbiet480
+source/_integrations/uptimerobot.markdown @ludeeus
+source/_integrations/usgs_earthquakes_feed.markdown @exxamalte
+source/_integrations/utility_meter.markdown @dgomes
+source/_integrations/velbus.markdown @cereal2nd
+source/_integrations/velux.markdown @Julius2342
+source/_integrations/versasense.markdown @flamm3blemuff1n
+source/_integrations/version.markdown @fabaff
+source/_integrations/vesync.markdown @markperdue @webdjoe
+source/_integrations/vicare.markdown @oischinger
+source/_integrations/vivotek.markdown @HarlemSquirrel
+source/_integrations/vizio.markdown @raman325
+source/_integrations/vlc_telnet.markdown @rodripf
+source/_integrations/waqi.markdown @andrey-git
+source/_integrations/watson_tts.markdown @rutkai
+source/_integrations/weather.markdown @fabaff
+source/_integrations/weblink.markdown @home-assistant/core
+source/_integrations/websocket_api.markdown @home-assistant/core
+source/_integrations/wemo.markdown @sqldiablo
+source/_integrations/withings.markdown @vangorra
+source/_integrations/wled.markdown @frenck
+source/_integrations/worldclock.markdown @fabaff
+source/_integrations/wwlln.markdown @bachya
+source/_integrations/xbox_live.markdown @MartinHjelmare
+source/_integrations/xfinity.markdown @cisasteelersfan
+source/_integrations/xiaomi_aqara.markdown @danielhiversen @syssi
+source/_integrations/xiaomi_miio.markdown @rytilahti @syssi
+source/_integrations/xiaomi_tv.markdown @simse
+source/_integrations/xmpp.markdown @fabaff @flowolf
+source/_integrations/yamaha_musiccast.markdown @jalmeroth
+source/_integrations/yandex_transport.markdown @rishatik92
+source/_integrations/yeelight.markdown @rytilahti @zewelor
+source/_integrations/yeelightsunflower.markdown @lindsaymarkward
+source/_integrations/yessssms.markdown @flowolf
+source/_integrations/yi.markdown @bachya
+source/_integrations/yr.markdown @danielhiversen
+source/_integrations/zeroconf.markdown @robbiet480 @Kane610
+source/_integrations/zha.markdown @dmulcahey @adminiuga
+source/_integrations/zone.markdown @home-assistant/core
+source/_integrations/zoneminder.markdown @rohankapoorcom
+source/_integrations/zwave.markdown @home-assistant/z-wave
diff --git a/Gemfile b/Gemfile
index 88969a48fa7..bd668c466be 100644
--- a/Gemfile
+++ b/Gemfile
@@ -18,8 +18,8 @@ group :jekyll_plugins do
gem 'jekyll-commonmark', '1.3.1'
end
-gem 'sinatra', '2.0.7'
-gem 'nokogiri', '1.10.6'
+gem 'sinatra', '2.0.8.1'
+gem 'nokogiri', '1.10.7'
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
# and associated library
diff --git a/Gemfile.lock b/Gemfile.lock
index 18e2e968de2..49dcc096717 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -70,16 +70,17 @@ GEM
mercenary (0.3.6)
mini_portile2 (2.4.0)
multi_json (1.14.1)
- mustermann (1.0.3)
- nokogiri (1.10.6)
+ mustermann (1.1.0)
+ ruby2_keywords (~> 0.0.1)
+ nokogiri (1.10.7)
mini_portile2 (~> 2.4.0)
- nokogiri (1.10.6-x64-mingw32)
+ nokogiri (1.10.7-x64-mingw32)
mini_portile2 (~> 2.4.0)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (4.0.1)
- rack (2.0.7)
- rack-protection (2.0.7)
+ rack (2.0.8)
+ rack-protection (2.0.8.1)
rack
rake (13.0.1)
rb-fsevent (0.10.3)
@@ -88,6 +89,7 @@ GEM
rouge (3.13.0)
ruby-enum (0.7.2)
i18n
+ ruby2_keywords (0.0.1)
safe_yaml (1.0.5)
sass (3.4.25)
sass-globbing (1.1.5)
@@ -96,16 +98,16 @@ GEM
ffi (~> 1.9)
sassc (2.2.1-x64-mingw32)
ffi (~> 1.9)
- sinatra (2.0.7)
+ sinatra (2.0.8.1)
mustermann (~> 1.0)
rack (~> 2.0)
- rack-protection (= 2.0.7)
+ rack-protection (= 2.0.8.1)
tilt (~> 2.0)
stringex (2.8.5)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
tilt (2.0.10)
- tzinfo (2.0.0)
+ tzinfo (2.0.1)
concurrent-ruby (~> 1.0)
tzinfo-data (1.2019.3)
tzinfo (>= 1.0.0)
@@ -123,10 +125,10 @@ DEPENDENCIES
jekyll-redirect-from (= 0.15.0)
jekyll-sitemap (= 1.4.0)
jekyll-time-to-read (= 0.1.2)
- nokogiri (= 1.10.6)
+ nokogiri (= 1.10.7)
rake (= 13.0.1)
sass-globbing (= 1.1.5)
- sinatra (= 2.0.7)
+ sinatra (= 2.0.8.1)
stringex (= 2.8.5)
tzinfo (~> 2.0)
tzinfo-data
diff --git a/Rakefile b/Rakefile
index 860f95e79c4..182f8178a11 100644
--- a/Rakefile
+++ b/Rakefile
@@ -2,28 +2,13 @@ require "rubygems"
require "bundler/setup"
require "stringex"
-## -- Rsync Deploy config -- ##
-# Be sure your public key is listed in your server's ~/.ssh/authorized_keys file
-ssh_user = "user@domain.com"
-ssh_port = "22"
-document_root = "~/website.com/"
-rsync_delete = false
-rsync_args = "" # Any extra arguments to pass to rsync
-deploy_default = "push"
-
-# This will be configured for you when you run config_deploy
-deploy_branch = "master"
-
## -- Misc Configs -- ##
-
public_dir = "public/" # compiled site directory
source_dir = "source" # source file directory
blog_index_dir = 'source/blog' # directory for your blog's index page (if you put your index in source/blog/index.html, set this to 'source/blog')
-deploy_dir = "_deploy" # deploy directory (for Github pages deployment)
stash_dir = "_stash" # directory to stash posts for speedy generation
components_dir = "_components" # directory for component files
posts_dir = "_posts" # directory for blog files
-themes_dir = ".themes" # directory for blog files
new_post_ext = "markdown" # default new post file extension when using the new_post task
new_page_ext = "markdown" # default new page file extension when using the new_page task
server_port = "4000" # port for preview server eg. localhost:4000
@@ -33,22 +18,6 @@ if (/cygwin|mswin|mingw|bccwin|wince|emx/ =~ RUBY_PLATFORM) != nil
`chcp 65001`
end
-desc "Initial setup for Octopress: copies the default theme into the path of Jekyll's generator. Rake install defaults to rake install[classic] to install a different theme run rake install[some_theme_name]"
-task :install, :theme do |t, args|
- if File.directory?(source_dir) || File.directory?("sass")
- abort("rake aborted!") if ask("A theme is already installed, proceeding will overwrite existing files. Are you sure?", ['y', 'n']) == 'n'
- end
- # copy theme into working Jekyll directories
- theme = args.theme || 'classic'
- puts "## Copying "+theme+" theme into ./#{source_dir} and ./sass"
- mkdir_p source_dir
- cp_r "#{themes_dir}/#{theme}/source/.", source_dir
- mkdir_p "sass"
- cp_r "#{themes_dir}/#{theme}/sass/.", "sass"
- mkdir_p "#{source_dir}/#{posts_dir}"
- mkdir_p public_dir
-end
-
#######################
# Working with Jekyll #
#######################
@@ -198,216 +167,6 @@ task :clean do
rm_rf [Dir.glob(".pygments-cache/**"), Dir.glob(".gist-cache/**"), Dir.glob(".sass-cache/**"), "source/stylesheets/screen.css"]
end
-desc "Move sass to sass.old, install sass theme updates, replace sass/custom with sass.old/custom"
-task :update_style, :theme do |t, args|
- theme = args.theme || 'classic'
- if File.directory?("sass.old")
- puts "removed existing sass.old directory"
- rm_r "sass.old", :secure=>true
- end
- mv "sass", "sass.old"
- puts "## Moved styles into sass.old/"
- cp_r "#{themes_dir}/"+theme+"/sass/", "sass", :remove_destination=>true
- cp_r "sass.old/custom/.", "sass/custom/", :remove_destination=>true
- puts "## Updated Sass ##"
-end
-
-desc "Move source to source.old, install source theme updates, replace source/_includes/navigation.html with source.old's navigation"
-task :update_source, :theme do |t, args|
- theme = args.theme || 'classic'
- if File.directory?("#{source_dir}.old")
- puts "## Removed existing #{source_dir}.old directory"
- rm_r "#{source_dir}.old", :secure=>true
- end
- mkdir "#{source_dir}.old"
- cp_r "#{source_dir}/.", "#{source_dir}.old"
- puts "## Copied #{source_dir} into #{source_dir}.old/"
- cp_r "#{themes_dir}/"+theme+"/source/.", source_dir, :remove_destination=>true
- cp_r "#{source_dir}.old/_includes/custom/.", "#{source_dir}/_includes/custom/", :remove_destination=>true
- cp "#{source_dir}.old/favicon.png", source_dir
- mv "#{source_dir}/index.html", "#{blog_index_dir}", :force=>true if blog_index_dir != source_dir
- cp "#{source_dir}.old/index.html", source_dir if blog_index_dir != source_dir && File.exists?("#{source_dir}.old/index.html")
- puts "## Updated #{source_dir} ##"
-end
-
-##############
-# Deploying #
-##############
-
-desc "Default deploy task"
-task :deploy do
- # Check if preview posts exist, which should not be published
- if File.exists?(".preview-mode")
- puts "## Found posts in preview mode, regenerating files ..."
- File.delete(".preview-mode")
- Rake::Task[:generate].execute
- end
-
- Rake::Task[:copydot].invoke(source_dir, public_dir)
- Rake::Task["#{deploy_default}"].execute
-end
-
-desc "Generate website and deploy"
-task :gen_deploy => [:integrate, :generate, :deploy] do
-end
-
-desc "copy dot files for deployment"
-task :copydot, :source, :dest do |t, args|
- FileList["#{args.source}/**/.*"].exclude("**/.", "**/..", "**/.DS_Store", "**/._*").each do |file|
- cp_r file, file.gsub(/#{args.source}/, "#{args.dest}") unless File.directory?(file)
- end
-end
-
-desc "Deploy website via rsync"
-task :rsync do
- exclude = ""
- if File.exists?('./rsync-exclude')
- exclude = "--exclude-from '#{File.expand_path('./rsync-exclude')}'"
- end
- puts "## Deploying website via Rsync"
- ok_failed system("rsync -avze 'ssh -p #{ssh_port}' #{exclude} #{rsync_args} #{"--delete" unless rsync_delete == false} #{public_dir}/ #{ssh_user}:#{document_root}")
-end
-
-desc "deploy public directory to github pages"
-multitask :push do
- puts "## Deploying branch to Github Pages "
- puts "## Pulling any updates from Github Pages "
- cd "#{deploy_dir}" do
- system "git checkout #{deploy_branch}"
- end
- (Dir["#{deploy_dir}/*"]).each { |f| rm_rf(f) }
- Rake::Task[:copydot].invoke(public_dir, deploy_dir)
- puts "\n## Copying #{public_dir} to #{deploy_dir}"
- cp_r "#{public_dir}/.", deploy_dir
- cd "#{deploy_dir}" do
- if ENV["TRAVIS"] == 'true'
- system 'git config user.name "Travis CI"'
- system 'git config user.email "balloob+bot@gmail.com"'
- end
-
- system "git add -A"
- message = "Site updated at #{Time.now.utc}"
- puts "\n## Committing: #{message}"
- system "git commit -m \"#{message}\""
-
- puts "\n## Pushing generated #{deploy_dir} website"
- if ENV["GH_TOKEN"].nil?
- Bundler.with_clean_env { system "git push origin #{deploy_branch}" }
- else
- puts "## Using GH_TOKEN"
- new_origin = `git remote -v | grep origin | grep push | awk '{print $2}'`.chomp.sub('//', "//#{ENV['GH_TOKEN']}@")
- system "git remote add origin-auth #{new_origin} > /dev/null 2>&1"
- system "git push --quiet origin-auth #{deploy_branch} > /dev/null 2>&1"
- end
-
- puts "\n## Github Pages deploy complete"
- end
-end
-
-desc "Update configurations to support publishing to root or sub directory"
-task :set_root_dir, :dir do |t, args|
- puts ">>> !! Please provide a directory, eg. rake config_dir[publishing/subdirectory]" unless args.dir
- if args.dir
- if args.dir == "/"
- dir = ""
- else
- dir = "/" + args.dir.sub(/(\/*)(.+)/, "\\2").sub(/\/$/, '');
- end
- rakefile = IO.read(__FILE__)
- rakefile.sub!(/public_dir(\s*)=(\s*)(["'])[\w\-\/]*["']/, "public_dir\\1=\\2\\3public#{dir}\\3")
- File.open(__FILE__, 'w') do |f|
- f.write rakefile
- end
- compass_config = IO.read('config.rb')
- compass_config.sub!(/http_path(\s*)=(\s*)(["'])[\w\-\/]*["']/, "http_path\\1=\\2\\3#{dir}/\\3")
- compass_config.sub!(/http_images_path(\s*)=(\s*)(["'])[\w\-\/]*["']/, "http_images_path\\1=\\2\\3#{dir}/images\\3")
- compass_config.sub!(/http_fonts_path(\s*)=(\s*)(["'])[\w\-\/]*["']/, "http_fonts_path\\1=\\2\\3#{dir}/fonts\\3")
- compass_config.sub!(/css_dir(\s*)=(\s*)(["'])[\w\-\/]*["']/, "css_dir\\1=\\2\\3public#{dir}/stylesheets\\3")
- File.open('config.rb', 'w') do |f|
- f.write compass_config
- end
- jekyll_config = IO.read('_config.yml')
- jekyll_config.sub!(/^destination:.+$/, "destination: public#{dir}")
- jekyll_config.sub!(/^subscribe_rss:\s*\/.+$/, "subscribe_rss: #{dir}/atom.xml")
- jekyll_config.sub!(/^root:.*$/, "root: /#{dir.sub(/^\//, '')}")
- File.open('_config.yml', 'w') do |f|
- f.write jekyll_config
- end
- rm_rf public_dir
- mkdir_p "#{public_dir}#{dir}"
- puts "## Site's root directory is now '/#{dir.sub(/^\//, '')}' ##"
- end
-end
-
-desc "Set up _deploy folder and deploy branch for Github Pages deployment"
-task :setup_github_pages, :repo do |t, args|
- if args.repo
- repo_url = args.repo
- else
- puts "Enter the read/write url for your repository"
- puts "(For example, 'git@github.com:your_username/your_username.github.io.git)"
- puts " or 'https://github.com/your_username/your_username.github.io')"
- repo_url = get_stdin("Repository url: ")
- end
- protocol = (repo_url.match(/(^git)@/).nil?) ? 'https' : 'git'
- if protocol == 'git'
- user = repo_url.match(/:([^\/]+)/)[1]
- else
- user = repo_url.match(/github\.com\/([^\/]+)/)[1]
- end
- branch = (repo_url.match(/\/[\w-]+\.github\.(?:io|com)/).nil?) ? 'gh-pages' : 'master'
- project = (branch == 'gh-pages') ? repo_url.match(/\/([^\.]+)/)[1] : ''
- unless (`git remote -v` =~ /origin.+?octopress(?:\.git)?/).nil?
- # If octopress is still the origin remote (from cloning) rename it to octopress
- system "git remote rename origin octopress"
- if branch == 'master'
- # If this is a user/organization pages repository, add the correct origin remote
- # and checkout the source branch for committing changes to the blog source.
- system "git remote add origin #{repo_url}"
- puts "Added remote #{repo_url} as origin"
- system "git config branch.master.remote origin"
- puts "Set origin as default remote"
- system "git branch -m master source"
- puts "Master branch renamed to 'source' for committing your blog source files"
- else
- unless !public_dir.match("#{project}").nil?
- system "rake set_root_dir[#{project}]"
- end
- end
- end
- url = blog_url(user, project)
- jekyll_config = IO.read('_config.yml')
- jekyll_config.sub!(/^url:.*$/, "url: #{url}")
- File.open('_config.yml', 'w') do |f|
- f.write jekyll_config
- end
- rm_rf deploy_dir
- mkdir deploy_dir
- cd "#{deploy_dir}" do
- system "git init"
- system 'echo "My Octopress Page is coming soon …" > index.html'
- system "git add ."
- system "git commit -m \"Octopress init\""
- system "git branch -m gh-pages" unless branch == 'master'
- system "git remote add origin #{repo_url}"
- rakefile = IO.read(__FILE__)
- rakefile.sub!(/deploy_branch(\s*)=(\s*)(["'])[\w-]*["']/, "deploy_branch\\1=\\2\\3#{branch}\\3")
- rakefile.sub!(/deploy_default(\s*)=(\s*)(["'])[\w-]*["']/, "deploy_default\\1=\\2\\3push\\3")
- File.open(__FILE__, 'w') do |f|
- f.write rakefile
- end
- end
- puts "\n---\n## Now you can deploy to #{repo_url} with `rake deploy` ##"
-end
-
-def ok_failed(condition)
- if (condition)
- puts "OK"
- else
- puts "FAILED"
- end
-end
-
def get_stdin(message)
print message
STDIN.gets.chomp
diff --git a/_config.yml b/_config.yml
index 7f9811dbf78..1ff688248a1 100644
--- a/_config.yml
+++ b/_config.yml
@@ -101,8 +101,8 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 103
-current_patch_version: 0
-date_released: 2019-12-11
+current_patch_version: 6
+date_released: 2020-01-06
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.
diff --git a/source/_addons/cec_scan.markdown b/source/_addons/cec_scan.markdown
index a7070819ba3..479236d6a74 100644
--- a/source/_addons/cec_scan.markdown
+++ b/source/_addons/cec_scan.markdown
@@ -1,6 +1,6 @@
---
title: "CEC Scanner"
-description: "Scan HDMI CEC devices."
+description: "Scan HDMI-CEC devices."
---
-Help you to discover the HDMI CEC address. Start the add-on and look into the log to see all connected device on HDMI.
+Help you to discover the HDMI-CEC address. Start the add-on and look into the log to see all connected device on HDMI.
diff --git a/source/_addons/configurator.markdown b/source/_addons/configurator.markdown
index 2f7bc108843..2560a866ded 100644
--- a/source/_addons/configurator.markdown
+++ b/source/_addons/configurator.markdown
@@ -1,5 +1,5 @@
---
-title: "HASS Configurator"
+title: "Configurator"
description: "Browser-based configuration file editor for Home Assistant."
featured: true
og_image: /images/hassio/screenshots/addon-hass-configurator.png
@@ -11,7 +11,7 @@ More information and a standalone version for regular Home Assistant installatio
-Screenshot of the HASS Configurator.
+Screenshot of the Configurator.
### Feature list
diff --git a/source/_addons/google_assistant.markdown b/source/_addons/google_assistant.markdown
index 7b6766f4a07..162c90fac3d 100644
--- a/source/_addons/google_assistant.markdown
+++ b/source/_addons/google_assistant.markdown
@@ -4,87 +4,70 @@ description: "Enhance your Hass.io installation with Google Assistant."
featured: true
---
-
-
-These instructions are outdated - the add-on has been updated and these are no longer accurate or complete.
-
-
-
-If you want to integrate your Google Home or mobile phone running Google Assistant, with Home Assistant, then you want the [Google Assistant component](/integrations/google_assistant/).
+If you want to integrate your Google Home or mobile phone running Google Assistant, with Home Assistant, then you want the [Google Assistant component][AssistantIntergration].
-[Google Assistant][GoogleAssistant] is an AI-powered voice assistant that runs on the Raspberry Pi and x86 platforms and interact via the [DialogFlow][comp] integration with Home-Assistant. You can also use [Google Actions][GoogleActions] to extend its functionality.
+[Google Assistant][GoogleAssistant] is an AI-powered voice assistant that runs on the Raspberry Pi and x86 platforms and interacts via the [DialogFlow][comp] integration or the [Google Assistant component][AssistantIntergration] with Home-Assistant. You can also use [Google Actions][GoogleActions] to extend its functionality.
To enable access to the Google Assistant API, do the following:
+1. Go to the [Google Actions Console][GActionsConsole] and create a new project.
+1. After you created the project on the bottom of the page click "Device registration". Keep this tab open for later use.
+1. Enable the Google Assistant API on the new project through [this][enableAPI] link. Make sure you have the right project selected (shown in the middle of the screen in the top bar). If you can't select the right project, it may help to open the link in an incognito window.
+1. Configure the [OAuth consent screen][OAuthConcent]. Also again check that you have the right project and don't forget to hit "Save" at the bottom of the page. You only have to fill in a project name and your e-mail.
+1. You back to you device registration tab and click "Device registration". Or open you project in the [Google Actions Console][GActionsConsole] start the Quick setup, and in the left bar click "Device registration".
+1. Give you project a name, think of a nice manufacturer and for device type select "speaker".
+1. Edit you "model id", if you want to and copy it for later use.
+1. Download the credentials.
+1. Click "Next" and click "Skip".
+1. Upload your credentials as "google_assistant.json" to the "hassio/share" folder, for example by using the [Samba] add-on.
+1. In the Add-on configuration field fill-in you "project id" and your "model-id" and hit "Save". Your project id can be found in the Google Actions console by clicking on the top right menu button and selecting "Project settings". This id may differ from the project name that you choose!
+1. Below the "Config" window select the microphone and speaker that you want to use. On a Raspberry Pi 3, ALSA device 0 is the built-in headset port and ALSA device 1 is the HDMI port. Also don't forget to click "Save".
+1. Start the add-on. Check the log and click refresh till it says: "ENGINE Bus STARTED".
+1. Now click "Open Web UI" and follow the authentication process. You will get an empty response after you have send your token.
-1. In the [Cloud Platform Console][project], go to the Projects page. Select an existing project or create a new project
-1. Open the project. In the top of the page search for Google Assistant API or use [this link][API] and enable it.
-1. Create an [OAuth Client ID][oauthclient], pick type "Other", click "Create" and download the JSON file by clicking the Download JSON button on the right side.
-
-Now install and activate the [Samba] add-on so you can upload your credential file. Connect to the "share" Samba share and copy your credentials over. Name the file `google_assistant.json`.
-
-Now it's time to start Google Assistant for the first time. When the Google Assistant add-on starts, it will output your audio devices in the "Logs" card. You might have to hit "refresh" to get the latest logs:
-
-```text
-**** List of PLAYBACK Hardware Devices ****
-card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
- Subdevices: 8/8
- Subdevice #0: subdevice #0
- Subdevice #1: subdevice #1
- Subdevice #2: subdevice #2
- Subdevice #3: subdevice #3
- Subdevice #4: subdevice #4
- Subdevice #5: subdevice #5
- Subdevice #6: subdevice #6
- Subdevice #7: subdevice #7
-card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
- Subdevices: 1/1
- Subdevice #0: subdevice #0
-card 1: Microphone [Yeti Stereo Microphone], device 0: USB Audio [USB Audio]
- Subdevices: 1/1
- Subdevice #0: subdevice #0
-```
-
-You need to use this information to point the add-on at the right speakers and microphone. The information describes different cards and devices. On a Raspberry Pi 3, card 0 - device 0 is the built-in headset port, card 0 - device 1 is the HDMI port. In the example above, the USB microphone showed up as card 1 - device 0.
-
-Find the microphone and speakers that you want to use and note down their device and card number. We will need that to configure the add-on options `mic` (microphone to use) and `speaker` (speaker to use). The format for these options is `,`. Change the configuration options and click save.
-
-The next step is to authenticate your Google account with Google Assistant. Start the add-on and click on the "OPEN WEB UI" button to start authentication.
+That's it. You should no be able to use the Google Voice assistant.
### Add-on configuration
-Configuration example that uses the USB microphone and the built-in headset audio output on the Raspberry Pi. Note that card and device numbers can differ on your device.
-
```json
{
- "mic": "1,0",
- "speaker": "0,0",
- "client_secrets": "google_assistant.json"
+ "client_secrets": "google_assistant.json",
+ "project_id": "you-project-id",
+ "model_id": "your-model-id"
}
```
{% configuration %}
-mic:
- description: This is the hardware address of your microphone. Look at the add-on output.
+client_secrets:
+ description: The file downloaded from the [Google Actions Console](https://console.actions.google.com/), you can redownload them under the "Develop - Device registration" tab. By default the add-on look in the "hassio/share" folder.
required: true
- type: float
-speaker:
- description: This is the hardware address of your speakers. Look at the add-on output.
+ type: string
+project_id:
+ description: The project id can be found in your "google_assistant.json" file or under project settings in the [Google Actions Console](https://console.actions.google.com/).
+ required: true
+ type: string
+model_id:
+ description: The model id can also be found under the "Develop - Device registration tab" in the [Google Actions Console](https://console.actions.google.com/).
required: true
type: string
{% endconfiguration %}
### Home Assistant configuration
-Use the Home Assistant [DialogFlow component][comp] to integrate the add-on into Home Assistant.
+Use the Home Assistant [DialogFlow component][comp] to integrate the add-on into Home Assistant or combine it with the [Google Assistant component][AssistantIntergration].
+[AssistantIntergration]: /integrations/google_assistant/
[GoogleAssistant]: https://assistant.google.com/
[GoogleActions]: https://actions.google.com/
+[GActionsConsole]: https://console.actions.google.com/
+[enableAPI]: https://console.developers.google.com/apis/api/embeddedassistant.googleapis.com/overview
+[OAuthConcent]: https://console.developers.google.com/apis/credentials/consent
[Samba]: /addons/samba/
[comp]: /integrations/dialogflow/
[project]: https://console.cloud.google.com/project
[API]: https://console.developers.google.com/apis/api/embeddedassistant.googleapis.com/overview
[oauthclient]: https://console.developers.google.com/apis/credentials/oauthclient
+[cloudConsole]: https://console.cloud.google.com/cloud-resource-manager
diff --git a/source/_addons/homematic.markdown b/source/_addons/homematic.markdown
index ac7187e7393..4ff78f9e420 100644
--- a/source/_addons/homematic.markdown
+++ b/source/_addons/homematic.markdown
@@ -1,9 +1,9 @@
---
title: "HomeMatic"
-description: "HomeMatic hardware support to turn you Home-Assistant into a CCU."
+description: "HomeMatic hardware support to turn Home Assistant into a CCU."
---
-You can't import an existing configuration, you'll need re-learn it into Home Assistant. There is an experimental WebUI alias Regahss support since 9.0 - before it was required to use a 3party tool.
+You can't import an existing configuration, you'll need re-learn it into Home Assistant. There is an experimental WebUI alias Regahss support since 9.0. Before it was required to use a third-party tool.
Follow devices will be supported and tested:
@@ -71,11 +71,11 @@ wired:
required: true
type: string
key:
- description: Encrypted key.
+ description: The encrypted key.
required: true
type: string
ip:
- description: IP address of LAN gateway.
+ description: The IP address of LAN gateway.
required: true
type: string
hmip_enable:
@@ -126,4 +126,8 @@ dtoverlay=pi3-miniuart-bt
## HmIP-RFUSB
-HassOS > 1.11 support HmIP-RFUSB default and don't need any configuration. If you run a Linux, you need to follow the installation guide from documentation to set up the UART USB interface on your computer.
+HassOS > 1.11 support HmIP-RFUSB by default and don't need any configuration. If you run a Linux installation, you need to follow the installation guide from the documentation to set up the UART USB interface on your computer.
+
+## Web UI
+
+To enable the experimental WebUI for built-in CCU specify a port number for "Regahss Webinterface" on the addon configuration page under the network section. After saving the changes, click on the "Open Web UI" button and proceed with the [Homematic WebUI](https://www.eq-3.de/downloads/download/handbuecher/WebUI_Handbuch_eQ-3.pdf) configuration.
diff --git a/source/_addons/snips.markdown b/source/_addons/snips.markdown
index a229a9bf0b6..b418fa00ef5 100644
--- a/source/_addons/snips.markdown
+++ b/source/_addons/snips.markdown
@@ -77,7 +77,7 @@ There is an active [discord](https://discordapp.com/invite/3939Kqx) channel and
### Examples
-So now you can turn lights on and off, let's check the weather. Log on to the [console](https://console.snips.ai/). If this is your first time, create a new assistant and add the Home Assistant skill, along with the Weather skill by snips. Download your assistant manually and copy it to the `/share` folder on your HassIO installation using the Samba add-on.
+So now you can turn lights on and off, let's check the weather. Log on to the [console](https://console.snips.ai/). If this is your first time, create a new assistant and add the Home Assistant skill, along with the Weather skill by snips. Download your assistant manually and copy it to the `/share` folder on your Hass.io installation using the Samba add-on.
Next create a weather sensor, e.g., one for [Dark Sky](/integrations/darksky/), and put the `api_key` in your `secrets.yaml` file. For this example to work you will need to have a valid API key from [Dark Sky](https://darksky.net/dev).
@@ -120,6 +120,6 @@ searchWeatherForecast:
{% endraw %}
-Now just restart HassIO and ask it what the weather is like.
+Now just restart Hass.io and ask it what the weather is like.
[their tutorial]: https://github.com/snipsco/snips-platform-documentation/wiki/2.-Create-an-assistant-using-an-existing-bundle
diff --git a/source/_cookbook/automation_for_rainy_days.markdown b/source/_cookbook/automation_for_rainy_days.markdown
index c6d2eaf785d..35f66c70948 100644
--- a/source/_cookbook/automation_for_rainy_days.markdown
+++ b/source/_cookbook/automation_for_rainy_days.markdown
@@ -17,7 +17,7 @@ automation:
to: 'rain'
condition:
- condition: state
- entity_id: group.all_devices
+ entity_id: all
state: 'home'
- condition: time
after: '14:00'
diff --git a/source/_cookbook/automation_sun.markdown b/source/_cookbook/automation_sun.markdown
index 8add13a3c5d..615aaed79d1 100644
--- a/source/_cookbook/automation_sun.markdown
+++ b/source/_cookbook/automation_sun.markdown
@@ -14,7 +14,7 @@ automation:
offset: "-00:45:00"
condition:
condition: state
- entity_id: group.all_devices
+ entity_id: all
state: home
action:
service: light.turn_on
diff --git a/source/_cookbook/ifttt.manything.markdown b/source/_cookbook/ifttt.manything.markdown
index ccc39bd9bfc..45a8161b666 100644
--- a/source/_cookbook/ifttt.manything.markdown
+++ b/source/_cookbook/ifttt.manything.markdown
@@ -21,7 +21,7 @@ automation:
# if we leave the house during the day.
trigger:
- platform: state
- entity_id: group.all_devices
+ entity_id: all
to: 'not_home'
condition:
- platform: state
@@ -36,7 +36,7 @@ automation:
# when we get home unless it's nighttime.
trigger:
- platform: state
- entity_id: group.all_devices
+ entity_id: all
to: 'home'
condition:
- condition: state
@@ -59,9 +59,9 @@ For ManyThing support, you need to set up an `on` and `off` event.
You can use the developer tools to test your [Maker Service](https://ifttt.com/maker_webhooks) trigger. To do this, open the Home Assistant UI, open the sidebar, click on the first icon in the developer tools. This should get you to the 'Call Service' screen. Fill in the following values:
-Field | Value
------ | -----
-domain | `ifttt`
-service | `trigger`
-Service Data | `{"event": "manything_on"}`
+| Field | Value |
+| ------------ | --------------------------- |
+| domain | `ifttt` |
+| service | `trigger` |
+| Service Data | `{"event": "manything_on"}` |
diff --git a/source/_cookbook/python_component_automation.markdown b/source/_cookbook/python_component_automation.markdown
index 9b55b7653e3..f37ad9a61f5 100644
--- a/source/_cookbook/python_component_automation.markdown
+++ b/source/_cookbook/python_component_automation.markdown
@@ -41,12 +41,20 @@ import voluptuous as vol
import homeassistant.components as core
import homeassistant.helpers.config_validation as cv
from homeassistant.components import device_tracker, light
-from homeassistant.const import (ATTR_ENTITY_ID, SERVICE_TURN_OFF,
- SERVICE_TURN_ON, STATE_HOME, STATE_NOT_HOME,
- STATE_OFF, STATE_ON)
+from homeassistant.const import (
+ ATTR_ENTITY_ID,
+ SERVICE_TURN_OFF,
+ SERVICE_TURN_ON,
+ STATE_HOME,
+ STATE_NOT_HOME,
+ STATE_OFF,
+ STATE_ON,
+)
from homeassistant.core import split_entity_id
-from homeassistant.helpers.event import (async_track_state_change,
- async_track_time_change)
+from homeassistant.helpers.event import (
+ async_track_state_change,
+ async_track_time_change,
+)
# The domain of your component. Should be equal to the name of your component.
DOMAIN = "example"
@@ -54,26 +62,26 @@ DOMAIN = "example"
# List of integration names (string) your integration depends upon.
# We depend on group because group will be loaded after all the integrations that
# initialize devices have been setup.
-DEPENDENCIES = ['group', 'device_tracker', 'light']
+DEPENDENCIES = ["group", "device_tracker", "light"]
# Configuration key for the entity id we are targeting.
-CONF_TARGET = 'target'
+CONF_TARGET = "target"
# Variable for storing configuration parameters.
TARGET_ID = None
# Name of the service that we expose.
-SERVICE_FLASH = 'flash'
+SERVICE_FLASH = "flash"
# Shortcut for the logger
_LOGGER = logging.getLogger(__name__)
# Validate that all required config options are given.
-CONFIG_SCHEMA = vol.Schema({
- DOMAIN: vol.Schema({
- vol.Optional(CONF_TARGET): cv.entity_id
- })
-}, extra=vol.ALLOW_EXTRA)
+CONFIG_SCHEMA = vol.Schema(
+ {DOMAIN: vol.Schema({vol.Optional(CONF_TARGET): cv.entity_id})},
+ extra=vol.ALLOW_EXTRA,
+)
+
async def async_setup(hass, config):
"""Setup example component."""
@@ -84,8 +92,7 @@ async def async_setup(hass, config):
# Validate that the target entity id exists.
if hass.states.get(TARGET_ID) is None:
- _LOGGER.error("Target entity id %s does not exist",
- TARGET_ID)
+ _LOGGER.error("Target entity id %s does not exist", TARGET_ID)
# Tell the bootstrapper that we failed to initialize and clear the
# stored target id so our functions don't run.
@@ -120,7 +127,7 @@ async def async_setup(hass, config):
return
if device_tracker.is_on(hass) and not core.is_on(hass, TARGET_ID):
- _LOGGER.info('People home at 7AM, turning target on')
+ _LOGGER.info("People home at 7AM, turning target on")
await hass.services.async_call(domain, SERVICE_TURN_ON, data)
async def async_flash_service(service):
@@ -133,7 +140,9 @@ async def async_setup(hass, config):
if core.is_on(hass, TARGET_ID):
# We need this call to run blocking, as we want to wait 10s after it finished
- await hass.services.async_call(domain, SERVICE_TURN_OFF, data, blocking=True)
+ await hass.services.async_call(
+ domain, SERVICE_TURN_OFF, data, blocking=True
+ )
time.sleep(10)
await hass.services.async_call(domain, SERVICE_TURN_ON, data)
else:
@@ -146,15 +155,26 @@ async def async_setup(hass, config):
# If all lights turn off, turn off.
async_track_state_change(
- hass, light.ENTITY_ID_ALL_LIGHTS, async_switch_off, STATE_ON, STATE_OFF)
+ hass, light.ENTITY_ID_ALL_LIGHTS, async_switch_off, STATE_ON, STATE_OFF
+ )
# If all people leave the house and the entity is on, turn it off.
async_track_state_change(
- hass, device_tracker.ENTITY_ID_ALL_DEVICES, async_switch_off, STATE_HOME, STATE_NOT_HOME)
+ hass,
+ device_tracker.ENTITY_ID_ALL_DEVICES,
+ async_switch_off,
+ STATE_HOME,
+ STATE_NOT_HOME,
+ )
# If anyone comes home and the entity is not on, turn it on.
async_track_state_change(
- hass, device_tracker.ENTITY_ID_ALL_DEVICES, async_switch_on, STATE_NOT_HOME, STATE_HOME)
+ hass,
+ device_tracker.ENTITY_ID_ALL_DEVICES,
+ async_switch_on,
+ STATE_NOT_HOME,
+ STATE_HOME,
+ )
# Call wakeup callback at 7 AM
async_track_time_change(hass, async_wake_up, hour=7, minute=00, second=00)
diff --git a/source/_cookbook/python_component_mqtt_basic.markdown b/source/_cookbook/python_component_mqtt_basic.markdown
index 0824b4788c1..5801ec44d18 100644
--- a/source/_cookbook/python_component_mqtt_basic.markdown
+++ b/source/_cookbook/python_component_mqtt_basic.markdown
@@ -18,21 +18,21 @@ This example follows a topic on MQTT and updates the state of an entity to the l
import homeassistant.loader as loader
# The domain of your component. Should be equal to the name of your component.
-DOMAIN = 'hello_mqtt'
+DOMAIN = "hello_mqtt"
# List of integration names (string) your integration depends upon.
-DEPENDENCIES = ['mqtt']
+DEPENDENCIES = ["mqtt"]
-CONF_TOPIC = 'topic'
-DEFAULT_TOPIC = 'home-assistant/hello_mqtt'
+CONF_TOPIC = "topic"
+DEFAULT_TOPIC = "home-assistant/hello_mqtt"
def setup(hass, config):
"""Set up the Hello MQTT component."""
mqtt = hass.components.mqtt
topic = config[DOMAIN].get(CONF_TOPIC, DEFAULT_TOPIC)
- entity_id = 'hello_mqtt.last_message'
+ entity_id = "hello_mqtt.last_message"
# Listener to be called when we receive a message.
# The msg parameter is a Message object with the following members:
@@ -45,15 +45,15 @@ def setup(hass, config):
mqtt.subscribe(topic, message_received)
# Set the initial state.
- hass.states.set(entity_id, 'No messages')
+ hass.states.set(entity_id, "No messages")
# Service to publish a message on MQTT.
def set_state_service(call):
"""Service to send a message."""
- mqtt.publish(topic, call.data.get('new_state'))
+ mqtt.publish(topic, call.data.get("new_state"))
# Register our service with Home Assistant.
- hass.services.register(DOMAIN, 'set_state', set_state_service)
+ hass.services.register(DOMAIN, "set_state", set_state_service)
# Return boolean to indicate that initialization was successfully.
return True
diff --git a/source/_cookbook/python_component_simple_alarm.markdown b/source/_cookbook/python_component_simple_alarm.markdown
index 67ce2b1c329..376d278217d 100644
--- a/source/_cookbook/python_component_simple_alarm.markdown
+++ b/source/_cookbook/python_component_simple_alarm.markdown
@@ -43,19 +43,19 @@ _LOGGER = logging.getLogger(__name__)
DOMAIN = 'simple_alarm"'
-DEPENDENCIES = ['group', 'device_tracker', 'light']
+DEPENDENCIES = ["group", "device_tracker", "light"]
# Attribute to tell which light has to flash when a known person comes home
# If omitted will flash all.
-CONF_KNOWN_LIGHT = 'known_light'
+CONF_KNOWN_LIGHT = "known_light"
# Attribute to tell which light has to flash when an unknown person comes home
# If omitted will flash all.
-CONF_UNKNOWN_LIGHT = 'unknown_light'
+CONF_UNKNOWN_LIGHT = "unknown_light"
# Services to test the alarms
-SERVICE_TEST_KNOWN_ALARM = 'test_known'
-SERVICE_TEST_UNKNOWN_ALARM = 'test_unknown'
+SERVICE_TEST_KNOWN_ALARM = "test_known"
+SERVICE_TEST_UNKNOWN_ALARM = "test_unknown"
def setup(hass, config):
@@ -66,8 +66,7 @@ def setup(hass, config):
light_id = config[DOMAIN].get(conf_key, light.ENTITY_ID_ALL_LIGHTS)
if hass.states.get(light_id) is None:
- _LOGGER.error(
- "Light id %s could not be found in state machine", light_id)
+ _LOGGER.error("Light id %s could not be found in state machine", light_id)
return False
@@ -88,18 +87,19 @@ def setup(hass, config):
def unknown_alarm():
""" Fire an alarm if the light turns on while no one is home. """
light.turn_on(
- hass, unknown_light_id,
- flash=light.FLASH_LONG, rgb_color=[255, 0, 0])
+ hass, unknown_light_id, flash=light.FLASH_LONG, rgb_color=[255, 0, 0]
+ )
# Send a message to the user
notify.send_message(
- hass, "The lights just got turned on while no one was home.")
+ hass, "The lights just got turned on while no one was home."
+ )
# Setup services to test the effect
+ hass.services.register(DOMAIN, SERVICE_TEST_KNOWN_ALARM, lambda call: known_alarm())
hass.services.register(
- DOMAIN, SERVICE_TEST_KNOWN_ALARM, lambda call: known_alarm())
- hass.services.register(
- DOMAIN, SERVICE_TEST_UNKNOWN_ALARM, lambda call: unknown_alarm())
+ DOMAIN, SERVICE_TEST_UNKNOWN_ALARM, lambda call: unknown_alarm()
+ )
def unknown_alarm_if_lights_on(entity_id, old_state, new_state):
"""Called when a light has been turned on."""
@@ -107,8 +107,12 @@ def setup(hass, config):
unknown_alarm()
track_state_change(
- hass, light.ENTITY_ID_ALL_LIGHTS,
- unknown_alarm_if_lights_on, STATE_OFF, STATE_ON)
+ hass,
+ light.ENTITY_ID_ALL_LIGHTS,
+ unknown_alarm_if_lights_on,
+ STATE_OFF,
+ STATE_ON,
+ )
def ring_known_alarm(entity_id, old_state, new_state):
"""Called when a known person comes home."""
@@ -117,8 +121,12 @@ def setup(hass, config):
# Track home coming of each device
track_state_change(
- hass, hass.states.entity_ids(device_tracker.DOMAIN),
- ring_known_alarm, STATE_NOT_HOME, STATE_HOME)
+ hass,
+ hass.states.entity_ids(device_tracker.DOMAIN),
+ ring_known_alarm,
+ STATE_NOT_HOME,
+ STATE_HOME,
+ )
return True
```
diff --git a/source/_data/glossary.yml b/source/_data/glossary.yml
index 2ba4458766f..b0388379976 100644
--- a/source/_data/glossary.yml
+++ b/source/_data/glossary.yml
@@ -1,5 +1,7 @@
- topic: Action
- description: "[Actions](/docs/automation/action/) are events that fires once all triggers and conditions have been met."
+ description: "An [Action](/docs/automation/action/) is an event that can be fired as a response to a trigger, once all conditions have been met."
+- topic: Add-on
+ description: "Hass.io add-ons provide additional, standalone, applications that can run beside Home Assistant on a Hass.io installation. Most of these, add-on provided, applications can be integrated into Home Assistant using integrations. Examples of add-ons are: an MQTT broker, database service or a file server."
- topic: Automation
description: "[Automations](/docs/automation/) offer the capability to call a service based on a simple or complex trigger. Automation allows a condition such as a sunset to cause an event, such as a light turning on."
- topic: Binary sensor
@@ -7,7 +9,7 @@
- topic: Component
description: "Integrations (see below) used to be known as components."
- topic: Condition
- description: "[Conditions](/docs/scripts/conditions/) are an optional part of an automation that will prevent an action from firing if they are not met."
+ description: "[Conditions](/docs/scripts/conditions/) are an optional part of an automation that will prevent an action from firing if they are not met."
- topic: Cookbook
description: "The [Cookbook](/cookbook/) contains a set of configuration examples of Home Assistant from the community."
- topic: Cover
@@ -31,7 +33,11 @@
- topic: hass
description: "HASS or [hass](/docs/tools/hass/) is often used as an abbreviation for Home Assistant. It is also the command-line tool."
- topic: Hass.io
- description: "[Hass.io](/hassio/) is an operating system that will take care of installing and updating Home Assistant, is managed from the Home Assistant UI, allows creating/restoring snapshots of your configuration, and can easily be extended."
+ description: "[Hass.io](/hassio/) is a full UI managed home automation ecosystem that runs Home Assistant, the Hass.io Supervisor and add-ons. It comes pre-installed on HassOS, but can be installed on any Linux system. It leverages Docker, which is managed by the Hass.io Supervisor."
+- topic: Hass.io Supervisor
+ description: "The Hass.io Supervisor is a program that manages a Hass.io installation, taking care of installing and updating Home Assistant, add-ons, itself and, if used, updating the HassOS operating system."
+- topic: HassOS
+ description: "HassOS, the Home Assistant Operating System, is an embedded, minimalistic, operating system designed to run the Hass.io ecosystem on single board computers (like the Raspberry Pi) or Virtual Machines. The Hass.io Supervisor can keep it up to date, removing the need for you to manage an operating system."
- topic: Integration
description: "[Integrations](/integrations/) provide the core logic for the functionality in Home Assistant. Like `notify` provides sending notifications."
- topic: Lovelace
@@ -45,7 +51,7 @@
- topic: Platform
description: "[Platforms](/docs/configuration/platform_options/) make the connection to a specific software or hardware platform. For example, the `pushbullet` platform works with the service pushbullet.com to send notifications."
- topic: Scene
- description: "[Scenes](/integrations/scene/) capture the states you want certain entities to be. For example, a scene can specify that light A should be turned on and light B should be bright red."
+ description: "[Scenes](/integrations/scene/) capture the states you want certain entities to be. For example, a scene can specify that light A should be turned on and light B should be bright red."
- topic: Script
description: "[Scripts](/docs/scripts/) are components that allow users to specify a sequence of actions to be executed by Home Assistant when turned on."
- topic: Sensor
diff --git a/source/_docs/authentication.markdown b/source/_docs/authentication.markdown
index be648d36981..ce51136927b 100644
--- a/source/_docs/authentication.markdown
+++ b/source/_docs/authentication.markdown
@@ -81,7 +81,7 @@ While you should hopefully be storing your passwords in a password manager, if y
* `auth`
* `auth_provider.homeassistant`
* `onboarding`
-* `hassio` (for hassio users)
+* `hassio` (for Hass.io users)
* `cloud` (for nabucasa users)
When you start Home Assistant next, you'll be required to set up authentication again.
diff --git a/source/_docs/automation/examples.markdown b/source/_docs/automation/examples.markdown
index 3b19efd458f..c27aeeb0286 100644
--- a/source/_docs/automation/examples.markdown
+++ b/source/_docs/automation/examples.markdown
@@ -20,13 +20,13 @@ automation:
event: sunset
offset: '-01:00:00'
- platform: state
- entity_id: group.all_devices
+ entity_id: all
to: 'home'
condition:
# Prefix the first line of each condition configuration
# with a '-'' to enter multiple
- condition: state
- entity_id: group.all_devices
+ entity_id: all
state: 'home'
- condition: time
after: '16:00:00'
@@ -40,7 +40,7 @@ automation:
- alias: 'Rule 2 - Away Mode'
trigger:
platform: state
- entity_id: group.all_devices
+ entity_id: all
to: 'not_home'
action:
service: light.turn_off
diff --git a/source/_docs/automation/trigger.markdown b/source/_docs/automation/trigger.markdown
index 2be3ee4b435..448da488c73 100644
--- a/source/_docs/automation/trigger.markdown
+++ b/source/_docs/automation/trigger.markdown
@@ -216,7 +216,7 @@ automation:
trigger:
platform: numeric_state
entity_id: sun.sun
- value_template: "{{ state.attributes.elevation }}"
+ value_template: "{{ state_attr('sun.sun', 'elevation') }}"
# Can be a positive or negative number
below: -4.0
action:
diff --git a/source/_docs/configuration/basic.markdown b/source/_docs/configuration/basic.markdown
index 0e16aa27714..0c80d3cb26c 100644
--- a/source/_docs/configuration/basic.markdown
+++ b/source/_docs/configuration/basic.markdown
@@ -66,4 +66,4 @@ whitelist_external_dirs:
### Reload Core Service
-Home Assistant offers a service to reload the core configuration while Home Assistant is running called `homeassistant.reload_core_config`. This allows you to change any of the above sections and see it being applied without having to restart Home Assistant. To call this service, go to the "Service" tab under Developer Tools, select the `homeassistant.reload_core_config` service and click the "CALL SERVICE" button. Alternatively, you can press the "Reload Core" button under Configuration > Server Control.
+Home Assistant offers a service to reload the core configuration while Home Assistant is running called `homeassistant.reload_core_config`. This allows you to change any of the above sections and see it being applied without having to restart Home Assistant. To call this service, go to the "Service" tab under Developer Tools, select the `homeassistant.reload_core_config` service and click the "CALL SERVICE" button. Alternatively, you can press the "Reload Location & Customizations" button under Configuration > Server Control.
diff --git a/source/_docs/configuration/customizing-devices.markdown b/source/_docs/configuration/customizing-devices.markdown
index 04eea1c2158..aa7a7154d19 100644
--- a/source/_docs/configuration/customizing-devices.markdown
+++ b/source/_docs/configuration/customizing-devices.markdown
@@ -89,6 +89,7 @@ Device class is currently supported by the following components:
* [Binary Sensor](/integrations/binary_sensor/)
* [Sensor](/integrations/sensor/)
* [Cover](/integrations/cover/)
+* [Media Player](integrations/media_player/)
### Manual customization
@@ -137,7 +138,7 @@ homeassistant:
### Reloading customize
-Home Assistant offers a service to reload the core configuration while Home Assistant is running called `homeassistant.reload_core_config`. This allows you to change your customize section and see it being applied without having to restart Home Assistant. To call this service, go to the "Service" tab under Developer Tools, select the `homeassistant.reload_core_config` service and click the "CALL SERVICE" button. Alternatively, you can press the "Reload Core" button under Configuration > Server Control.
+Home Assistant offers a service to reload the core configuration while Home Assistant is running called `homeassistant.reload_core_config`. This allows you to change your customize section and see it being applied without having to restart Home Assistant. To call this service, go to the "Service" tab under Developer Tools, select the `homeassistant.reload_core_config` service and click the "CALL SERVICE" button. Alternatively, you can press the "Reload Location & Customizations" button under Configuration > Server Control.
New customize information will be applied the next time the state of the entity gets updated.
diff --git a/source/_docs/configuration/devices.markdown b/source/_docs/configuration/devices.markdown
index 343b7ed8432..d49409db3e8 100644
--- a/source/_docs/configuration/devices.markdown
+++ b/source/_docs/configuration/devices.markdown
@@ -6,7 +6,7 @@ redirect_from: /getting-started/devices/
Home Assistant will be able to automatically discover many devices and services available on your network if you have [the discovery component](/integrations/discovery/) enabled (the default setting).
-See the [components overview page](/integrations/) to find installation instructions for your devices and services. If you can't find support for your favorite device or service, [consider adding support](/developers/add_new_platform/).
+See the [integrations overview page](/integrations/) to find installation instructions for your devices and services. If you can't find support for your favorite device or service, [consider adding support](/developers/add_new_platform/).
Classification for the available integrations:
diff --git a/source/_docs/configuration/group_visibility.markdown b/source/_docs/configuration/group_visibility.markdown
index df670c509ea..e42969e4517 100644
--- a/source/_docs/configuration/group_visibility.markdown
+++ b/source/_docs/configuration/group_visibility.markdown
@@ -59,33 +59,39 @@ One of the most common uses cases are to show groups during certain times of day
from datetime import time, datetime
+
def mk_occasion(name, start, end, days=None):
- s = start.split(':')
- e = end.split(':')
- return {'name' : name,
- 'start': time(int(s[0]), int(s[1]), int(s[2])),
- 'end' : time(int(e[0]), int(e[1]), int(e[2])),
- 'days' : days}
+ s = start.split(":")
+ e = end.split(":")
+ return {
+ "name": name,
+ "start": time(int(s[0]), int(s[1]), int(s[2])),
+ "end": time(int(e[0]), int(e[1]), int(e[2])),
+ "days": days,
+ }
+
# Matching is done from top to bottom
OCCASIONS = [
# More specific occasions
- mk_occasion('work_morning', '06:00:00', '07:10:00', range(5)),
-
+ mk_occasion("work_morning", "06:00:00", "07:10:00", range(5)),
# General matching
- mk_occasion('weekday', '00:00:00', '23:59:59', range(5)),
- mk_occasion('weekend', '00:00:00', '23:59:59', [5, 6])
+ mk_occasion("weekday", "00:00:00", "23:59:59", range(5)),
+ mk_occasion("weekend", "00:00:00", "23:59:59", [5, 6]),
]
-def get_current_occasion(occasion_list, default_occasion='normal'):
+
+def get_current_occasion(occasion_list, default_occasion="normal"):
now = datetime.now()
for occasion in OCCASIONS:
- if occasion['start'] <= now.time() <= occasion['end'] and \
- (occasion['days'] is None or now.weekday() in occasion['days']):
- return occasion['name']
+ if occasion["start"] <= now.time() <= occasion["end"] and (
+ occasion["days"] is None or now.weekday() in occasion["days"]
+ ):
+ return occasion["name"]
return default_occasion
-if __name__ == '__main__':
+
+if __name__ == "__main__":
print(get_current_occasion(OCCASIONS))
```
diff --git a/source/_docs/configuration/templating.markdown b/source/_docs/configuration/templating.markdown
index dde02bf7380..5b5be20efbf 100644
--- a/source/_docs/configuration/templating.markdown
+++ b/source/_docs/configuration/templating.markdown
@@ -292,7 +292,7 @@ Closest to some entity:
{{ closest(states.zone.school, ['group.children', states.device_tracker]) }}
```
-It will also work as a filter over a iterable group of entities or groups:
+It will also work as a filter over an iterable group of entities or groups:
```text
Closest out of given entities:
diff --git a/source/_docs/configuration/troubleshooting.markdown b/source/_docs/configuration/troubleshooting.markdown
index a41b99ae906..9817a4ac116 100644
--- a/source/_docs/configuration/troubleshooting.markdown
+++ b/source/_docs/configuration/troubleshooting.markdown
@@ -4,15 +4,15 @@ description: "Common problems with tweaking your configuration and their solutio
redirect_from: /getting-started/troubleshooting-configuration/
---
-It can happen that you run into trouble while configuring Home Assistant. Perhaps a integration is not showing up or is acting strangely. This page will discuss a few of the most common problems.
+It can happen that you run into trouble while configuring Home Assistant. Perhaps an integration is not showing up or is acting strangely. This page will discuss a few of the most common problems.
Before we dive into common issues, make sure you know where your configuration directory is. Home Assistant will print out the configuration directory it is using when starting up.
-Whenever a integration or configuration option results in a warning, it will be stored in `home-assistant.log` in the configuration directory. This file is reset on start of Home Assistant.
+Whenever an integration or configuration option results in a warning, it will be stored in `home-assistant.log` in the configuration directory. This file is reset on start of Home Assistant.
### My integration does not show up
-When a integration does not show up, many different things can be the case. Before you try any of these steps, make sure to look at the `home-assistant.log` file and see if there are any errors related to your integration you are trying to set up.
+When an integration does not show up, many different things can be the case. Before you try any of these steps, make sure to look at the `home-assistant.log` file and see if there are any errors related to your integration you are trying to set up.
If you have incorrect entries in your configuration files you can use the [`check_config`](/docs/tools/check_config/) script to assist in identifying them: `hass --script check_config`. If you need to provide the path for your configuration you can do this using the `-c` argument like this: `hass --script check_config -c /path/to/your/config/dir`.
diff --git a/source/_docs/ecosystem/appdaemon.markdown b/source/_docs/ecosystem/appdaemon.markdown
old mode 100755
new mode 100644
index 5f8e20b8284..44722632095
--- a/source/_docs/ecosystem/appdaemon.markdown
+++ b/source/_docs/ecosystem/appdaemon.markdown
@@ -31,18 +31,17 @@ Let's start with a simple App to turn a light on every night at sunset and off e
```python
import appdaemon.plugins.hass.hassapi as hass
+
class OutsideLights(hass.Hass):
+ def initialize(self):
+ self.run_at_sunrise(self.sunrise_cb)
+ self.run_at_sunset(self.sunset_cb)
- def initialize(self):
- self.run_at_sunrise(self.sunrise_cb)
- self.run_at_sunset(self.sunset_cb)
-
- def sunrise_cb(self, kwargs):
- self.turn_on(self.args["off_scene"])
-
- def sunset_cb(self, kwargs):
- self.turn_on(self.args["on_scene"])
+ def sunrise_cb(self, kwargs):
+ self.turn_on(self.args["off_scene"])
+ def sunset_cb(self, kwargs):
+ self.turn_on(self.args["on_scene"])
```
This is also fairly easy to achieve with Home Assistant automations, but we are just getting started.
@@ -54,18 +53,18 @@ Our next example is to turn on a light when motion is detected and it is dark, a
```python
import appdaemon.plugins.hass.hassapi as hass
-class FlashyMotionLights(hass.Hass):
- def initialize(self):
- self.listen_state(self.motion, "binary_sensor.drive", new="on")
-
- def motion(self, entity, attribute, old, new, kwargs):
- if self.sun_down():
- self.turn_on("light.drive")
- self.run_in(self.light_off, 60)
-
- def light_off(self, kwargs):
- self.turn_off("light.drive")
+class FlashyMotionLights(hass.Hass):
+ def initialize(self):
+ self.listen_state(self.motion, "binary_sensor.drive", new="on")
+
+ def motion(self, entity, attribute, old, new, kwargs):
+ if self.sun_down():
+ self.turn_on("light.drive")
+ self.run_in(self.light_off, 60)
+
+ def light_off(self, kwargs):
+ self.turn_off("light.drive")
```
This is starting to get a little more complex in Home Assistant automations, requiring an automation rule and two separate scripts.
@@ -75,26 +74,26 @@ Now let's extend this with a somewhat artificial example to show something that
```python
import appdaemon.plugins.hass.hassapi as hass
-class MotionLights(hass.Hass):
- def initialize(self):
- self.listen_state(self.motion, "binary_sensor.drive", new="on")
-
- def motion(self, entity, attribute, old, new, kwargs):
- if self.self.sun_down():
- self.turn_on("light.drive")
- self.run_in(self.light_off, 60)
- self.flashcount = 0
- self.run_in(self.flash_warning, 1)
-
- def light_off(self, kwargs):
- self.turn_off("light.drive")
-
- def flash_warning(self, kwargs):
- self.toggle("light.living_room")
- self.flashcount += 1
- if self.flashcount < 10:
- self.run_in(self.flash_warning, 1)
+class MotionLights(hass.Hass):
+ def initialize(self):
+ self.listen_state(self.motion, "binary_sensor.drive", new="on")
+
+ def motion(self, entity, attribute, old, new, kwargs):
+ if self.self.sun_down():
+ self.turn_on("light.drive")
+ self.run_in(self.light_off, 60)
+ self.flashcount = 0
+ self.run_in(self.flash_warning, 1)
+
+ def light_off(self, kwargs):
+ self.turn_off("light.drive")
+
+ def flash_warning(self, kwargs):
+ self.toggle("light.living_room")
+ self.flashcount += 1
+ if self.flashcount < 10:
+ self.run_in(self.flash_warning, 1)
```
Of course, if I wanted to make this App or its predecessor reusable, I would have provide parameters for the sensor, the light to activate on motion, the warning light, and even the number of flashes and delay between flashes.
diff --git a/source/_docs/ecosystem/appdaemon/api.markdown b/source/_docs/ecosystem/appdaemon/api.markdown
old mode 100755
new mode 100644
index 80afe9b3494..6a44dfd1d9c
--- a/source/_docs/ecosystem/appdaemon/api.markdown
+++ b/source/_docs/ecosystem/appdaemon/api.markdown
@@ -13,13 +13,16 @@ The first step is to create a unique file within the apps directory (as defined
```python
import homeassistant.appapi as appapi
+
class MotionLights(appapi.AppDaemon):
+ """Motion lights implementation."""
```
When configured as an app in the config file (more on that later) the lifecycle of the App begins. It will be instantiated as an object by AppDaemon, and immediately, it will have a call made to its `initialize()` function - this function must appear as part of every app:
```python
def initialize(self):
+ """Perform initialization."""
```
The initialize function allows the app to register any callbacks it might need for responding to state changes, and also any setup activities. When the `initialize()` function returns, the App will be dormant until any of its callbacks are activated.
@@ -50,17 +53,17 @@ import datetime
# Declare Class
class NightLight(appapi.AppDaemon):
- #initialize() function which will be called at startup and reload
- def initialize(self):
- # Create a time object for 7pm
- time = datetime.time(19, 00, 0)
- # Schedule a daily callback that will call run_daily() at 7pm every night
- self.run_daily(self.run_daily_callback, time)
+ # initialize() function which will be called at startup and reload
+ def initialize(self):
+ # Create a time object for 7pm
+ time = datetime.time(19, 00, 0)
+ # Schedule a daily callback that will call run_daily() at 7pm every night
+ self.run_daily(self.run_daily_callback, time)
- # Our callback function will be called by the scheduler every day at 7pm
- def run_daily_callback(self, kwargs):
- # Call to Home Assistant to turn the porch light on
- self.turn_on("light.porch")
+ # Our callback function will be called by the scheduler every day at 7pm
+ def run_daily_callback(self, kwargs):
+ # Call to Home Assistant to turn the porch light on
+ self.turn_on("light.porch")
```
To summarize - an App's lifecycle consists of being initialized, which allows it to set one or more state and/or schedule callbacks. When those callbacks are activated, the App will typically use one of the Service Calling calls to effect some change to the devices of the system and then wait for the next relevant state change. That's all there is to it!
@@ -273,7 +276,7 @@ In most cases, the attribute `state` has the most important value in it, e.g., f
#### Synopsis
```python
-get_state(entity = None, attribute = None)
+get_state(entity=None, attribute=None)
```
`get_state()` is used to query the state of any integration within Home Assistant. State updates are continuously tracked so this call runs locally and does not require AppDaemon to call back to Home Assistant and as such is very efficient.
@@ -311,10 +314,10 @@ state = self.get_state("switch")
state = self.get_state("light.office_1")
# Return the brightness attribute for light.office_1
-state = self.get_state("light.office_1", attribute = "brightness")
+state = self.get_state("light.office_1", attribute="brightness")
# Return the entire state for light.office_1
-state = self.get_state("light.office_1", attribute = "all")
+state = self.get_state("light.office_1", attribute="all")
```
### set_state()
@@ -348,7 +351,7 @@ A list of keyword values to be changed or added to the entities state. e.g., `st
#### Examples
```python
-status = self.set_state("light.office_1", state = "on", attributes = {"color_name": "red"})
+status = self.set_state("light.office_1", state="on", attributes={"color_name": "red"})
```
### About Callbacks
@@ -409,8 +412,9 @@ AppDaemons's state callbacks allow an App to listen to a wide variety of events,
When calling back into the App, the App must provide a class function with a known signature for AppDaemon to call. The callback will provide various information to the function to enable the function to respond appropriately. For state callbacks, a class defined callback function should look like this:
```python
- def my_callback(self, entity, attribute, old, new, **kwargs):
-
+def my_callback(self, entity, attribute, old, new, **kwargs):
+ """Handle state callback."""
+ # do some useful work here
```
You can call the function whatever you like - you will reference it in the `listen_state()` call, and you can create as many callback functions as you need.
@@ -450,7 +454,7 @@ A dictionary containing any constraints and/or additional user specific keyword
#### Synopsis
```python
-handle = listen_state(callback, entity = None, **kwargs)
+handle = listen_state(callback, entity=None, **kwargs)
```
#### Returns
@@ -492,8 +496,9 @@ Note: `old` and `new` can be used singly or together.
If duration is supplied as a parameter, the callback will not fire unless the state listened for is maintained for that number of seconds. This makes the most sense if a specific attribute is specified (or the default os `state` is used), an in conjunction with the `old` or `new` parameters, or both. When the callback is called, it is supplied with the values of `entity`, `attr`, `old` and `new` that were current at the time the actual event occurred, since the assumption is that none of them have changed in the intervening period.
```python
- def my_callback(self, **kwargs):
-
+def my_callback(self, **kwargs):
+ """Handle state change."""
+ # do some useful work here
```
(Scheduler callbacks are documented in detail later in this document)
@@ -515,20 +520,25 @@ self.handle = self.listen_state(self.my_callback, "light")
self.handle = self.listen_state(self.my_callback, "light.office_1")
# Listen for a state change involving light.office1 and return the entire state as a dict
-self.handle = self.listen_state(self.my_callback, "light.office_1", attribute = "all")
+self.handle = self.listen_state(self.my_callback, "light.office_1", attribute="all")
# Listen for a state change involving the brightness attribute of light.office1
-self.handle = self.listen_state(self.my_callback, "light.office_1", attribute = "brightness")
+self.handle = self.listen_state(
+ self.my_callback, "light.office_1", attribute="brightness"
+)
# Listen for a state change involving light.office1 turning on and return the state attribute
-self.handle = self.listen_state(self.my_callback, "light.office_1", new = "on")
+self.handle = self.listen_state(self.my_callback, "light.office_1", new="on")
# Listen for a state change involving light.office1 changing from brightness 100 to 200 and return the state attribute
-self.handle = self.listen_state(self.my_callback, "light.office_1", old = "100", new = "200")
+self.handle = self.listen_state(
+ self.my_callback, "light.office_1", old="100", new="200"
+)
# Listen for a state change involving light.office1 changing to state on and remaining on for a minute
-self.handle = self.listen_state(self.my_callback, "light.office_1", new = "on", duration = 60)
-
+self.handle = self.listen_state(
+ self.my_callback, "light.office_1", new="on", duration=60
+)
```
### cancel_listen_state()
@@ -592,8 +602,9 @@ AppDaemon contains a powerful scheduler that is able to run with 1 second resolu
As with State Change callbacks, Scheduler Callbacks expect to call into functions with a known and specific signature and a class defined Scheduler callback function should look like this:
```python
- def my_callback(self, **kwargs):
-
+def my_callback(self, **kwargs):
+ """Handle scheduler callback."""
+ # do some useful work here
```
You can call the function whatever you like; you will reference it in the Scheduler call, and you can create as many callback functions as you need.
@@ -643,7 +654,7 @@ Arbitrary keyword parameters to be provided to the callback function when it is
```python
self.handle = self.run_in(self.run_in_c)
-self.handle = self.run_in(self.run_in_c, title = "run_in5")
+self.handle = self.run_in(self.run_in_c, title="run_in5")
```
#### run_once()
@@ -678,6 +689,7 @@ Arbitrary keyword parameters to be provided to the callback function when it is
```python
# Run at 4pm today, or 4pm tomorrow if it is already after 4pm
import datetime
+
...
runtime = datetime.time(16, 0, 0)
handle = self.run_once(self.run_once_c, runtime)
@@ -716,6 +728,7 @@ Arbitrary keyword parameters to be provided to the callback function when it is
```python
# Run at 4pm today
import datetime
+
...
runtime = datetime.time(16, 0, 0)
today = datetime.date.today()
@@ -755,6 +768,7 @@ Arbitrary keyword parameters to be provided to the callback function when it is
```python
# Run daily at 7pm
import datetime
+
...
time = datetime.time(19, 0, 0)
self.run_daily(self.run_daily_c, runtime)
@@ -767,7 +781,7 @@ Execute a callback at the same time every hour. If the time has already passed,
#### Synopsis
```python
-self.handle = self.run_hourly(callback, time = None, **kwargs)
+self.handle = self.run_hourly(callback, time=None, **kwargs)
```
#### Returns
@@ -793,6 +807,7 @@ Arbitrary keyword parameters to be provided to the callback function when it is
```python
# Run every hour, on the hour
import datetime
+
...
time = datetime.time(0, 0, 0)
self.run_daily(self.run_daily_c, runtime)
@@ -804,7 +819,7 @@ Execute a callback at the same time every minute. If the time has already passed
#### Synopsis
```python
-self.handle = self.run_minutely(callback, time = None, **kwargs)
+self.handle = self.run_minutely(callback, time=None, **kwargs)
```
#### Returns
@@ -830,6 +845,7 @@ Arbitrary keyword parameters to be provided to the callback function when it is
```python
# Run Every Minute on the minute
import datetime
+
...
time = datetime.time(0, 0, 0)
self.run_minutely(self.run_minutely_c, time)
@@ -872,6 +888,7 @@ Arbitrary keyword parameters to be provided to the callback function when it is
```python
# Run every 17 minutes starting in 2 hours time
import datetime
+
...
self.run_every(self.run_every_c, time, 17 * 60)
```
@@ -944,11 +961,11 @@ For example:
```python
# Run a callback in 2 minutes minus a random number of seconds between 0 and 60, e.g., run between 60 and 120 seconds from now
-self.handle = self.run_in(callback, 120, random_start = -60, **kwargs)
+self.handle = self.run_in(callback, 120, random_start=-60, **kwargs)
# Run a callback in 2 minutes plus a random number of seconds between 0 and 60, e.g., run between 120 and 180 seconds from now
-self.handle = self.run_in(callback, 120, random_end = 60, **kwargs)
+self.handle = self.run_in(callback, 120, random_end=60, **kwargs)
# Run a callback in 2 minutes plus or minus a random number of seconds between 0 and 60, e.g., run between 60 and 180 seconds from now
-self.handle = self.run_in(callback, 120, random_start = -60, random_end = 60, **kwargs)
+self.handle = self.run_in(callback, 120, random_start=-60, random_end=60, **kwargs)
```
## Sunrise and Sunset
@@ -987,15 +1004,17 @@ Arbitrary keyword parameters to be provided to the callback function when it is
```python
import datetime
-...
+
+# ...
+
# Run 45 minutes before sunset
-self.run_at_sunrise(self.sun, offset = datetime.timedelta(minutes = -45).total_seconds(), "Sunrise -45 mins")
+self.run_at_sunrise(self.sun, offset=datetime.timedelta(minutes=-45).total_seconds())
# or you can just do the math yourself
-self.run_at_sunrise(self.sun, offset = 30 * 60, "Sunrise +30 mins")
+self.run_at_sunrise(self.sun, offset=30 * 60) # Sunrise +30 mins
# Run at a random time +/- 60 minutes from sunrise
-self.run_at_sunrise(self.sun, random_start = -60*60, random_end = 60*60, "Sunrise, random +/- 60 mins")
+self.run_at_sunrise(self.sun, random_start=-60 * 60, random_end=60 * 60)
# Run at a random time between 30 and 60 minutes before sunrise
-self.run_at_sunrise(self.sun, random_start = -60*60, random_end = 30*60, "Sunrise, random - 30 - 60 mins")
+self.run_at_sunrise(self.sun, random_start=-60 * 60, random_end=30 * 60)
```
### run_at_sunset()
@@ -1031,14 +1050,18 @@ Arbitrary keyword parameters to be provided to the callback function when it is
```python
# Example using timedelta
import datetime
-...
-self.run_at_sunset(self.sun, datetime.timedelta(minutes = -45).total_seconds(), "Sunset -45 mins")
+
+# ...
+
+self.run_at_sunset(
+ self.sun, datetime.timedelta(minutes=-45).total_seconds()
+) # Sunset -45 mins
# or you can just do the math yourself
-self.run_at_sunset(self.sun, 30 * 60, "Sunset +30 mins")
+self.run_at_sunset(self.sun, 30 * 60) # Sunset +30 mins
# Run at a random time +/- 60 minutes from sunset
-self.run_at_sunset(self.sun, random_start = -60*60, random_end = 60*60, "Sunset, random +/- 60 mins")
+self.run_at_sunset(self.sun, random_start=-60 * 60, random_end=60 * 60)
# Run at a random time between 30 and 60 minutes before sunset
-self.run_at_sunset(self.sun, random_start = -60*60, random_end = 30*60, "Sunset, random - 30 - 60 mins")
+self.run_at_sunset(self.sun, random_start=-60 * 60, random_end=30 * 60)
```
### sunrise()
@@ -1096,7 +1119,7 @@ result = self.sun_up()
```python
if self.sun_up():
- do something
+ do_something()
```
### sun_down()
@@ -1117,7 +1140,7 @@ result = self.sun_down()
```python
if self.sun_down():
- do something
+ do_something()
```
## Calling Services
@@ -1153,8 +1176,8 @@ Each service has different parameter requirements. This argument allows you to s
#### Examples
```python
-self.call_service("light/turn_on", entity_id = "light.office_lamp", color_name = "red")
-self.call_service("notify/notify", title = "Hello", message = "Hello World")
+self.call_service("light/turn_on", entity_id="light.office_lamp", color_name="red")
+self.call_service("notify/notify", title="Hello", message="Hello World")
```
### turn_on()
@@ -1192,7 +1215,7 @@ A comma separated list of key value pairs to allow specification of parameters o
```python
self.turn_on("switch.patio_lights")
self.turn_on("scene.bedroom_on")
-self.turn_on("light.office_1", color_name = "green")
+self.turn_on("light.office_1", color_name="green")
```
### turn_off()
@@ -1246,7 +1269,7 @@ Fully qualified entity_id of the thing to be toggled, e.g., `light.office_lamp`
```python
self.toggle("switch.patio_lights")
-self.toggle("light.office_1", color_name = "green")
+self.toggle("light.office_1", color_name="green")
```
### select_value()
@@ -1365,8 +1388,9 @@ In addition to the Home Assistant supplied events, AppDaemon adds 2 more events.
As with State Change and Scheduler callbacks, Event Callbacks expect to call into functions with a known and specific signature and a class defined Scheduler callback function should look like this:
```python
- def my_callback(self, event_name, data, kwargs):
-
+def my_callback(self, event_name, data, kwargs):
+ """Handle event callback."""
+ # do some useful work here
```
You can call the function whatever you like - you will reference it in the Scheduler call, and you can create as many callback functions as you need.
@@ -1396,7 +1420,7 @@ Listen event sets up a callback for a specific event, or any event.
#### Synopsis
```python
-handle = listen_event(function, event = None, **kwargs):
+handle = listen_event(function, event=None, **kwargs)
```
#### Returns
@@ -1425,9 +1449,11 @@ Filtering will work with any event type, but it will be necessary to figure out
```python
self.listen_event(self.mode_event, "MODE_CHANGE")
# Listen for a minimote event activating scene 3:
-self.listen_event(self.generic_event, "zwave.scene_activated", scene_id = 3)
+self.listen_event(self.generic_event, "zwave.scene_activated", scene_id=3)
# Listen for a minimote event activating scene 3 from a specific minimote:
-self.listen_event(self.generic_event, "zwave.scene_activated", entity_id = "minimote_31", scene_id = 3)
+self.listen_event(
+ self.generic_event, "zwave.scene_activated", entity_id="minimote_31", scene_id=3
+)
```
### cancel_listen_event()
@@ -1518,6 +1544,7 @@ Functions called as an event callback will be supplied with 2 arguments:
```python
def service(self, event_name, data):
+ """Handle event."""
```
#### event_name
@@ -1560,7 +1587,7 @@ automation:
This can be triggered with a call to AppDaemon's fire_event() as follows:
```python
-self.fire_event("MODE_CHANGE", mode = "Day")
+self.fire_event("MODE_CHANGE", mode="Day")
```
## Presence
@@ -1585,7 +1612,7 @@ An iterable list of all device trackers.
```python
trackers = self.get_trackers()
for tracker in trackers:
- do something
+ do_something(tracker)
```
### get_tracker_state()
@@ -1618,12 +1645,12 @@ Fully qualified entity_id of the device tracker to query, e.g., `device_tracker.
```python
trackers = self.get_trackers()
for tracker in trackers:
- self.log("{} is {}".format(tracker, self.get_tracker_state(tracker)))
+ self.log("{} is {}".format(tracker, self.get_tracker_state(tracker)))
```
### everyone_home()
-A convenience function to determine if everyone is home. Use this in preference to getting the state of `group.all_devices()` as it avoids a race condition when using state change callbacks for device trackers.
+A convenience function to determine if everyone is home.
#### Synopsis
@@ -1638,11 +1665,11 @@ Returns `True` if everyone is at home, `False` otherwise.
```python
if self.everyone_home():
- do something
+ do_something()
```
### anyone_home()
-A convenience function to determine if one or more person is home. Use this in preference to getting the state of `group.all_devices()` as it avoids a race condition when using state change callbacks for device trackers.
+A convenience function to determine if one or more person is home.
#### Synopsis
@@ -1658,11 +1685,11 @@ Returns `True` if anyone is at home, `False` otherwise.
```python
if self.anyone_home():
- do something
+ do_something()
```
### noone_home()
-A convenience function to determine if no people are at home. Use this in preference to getting the state of group.all_devices() as it avoids a race condition when using state change callbacks for device trackers.
+A convenience function to determine if no people are at home.
#### Synopsis
@@ -1678,7 +1705,7 @@ Returns `True` if no one is home, `False` otherwise.
```python
if self.noone_home():
- do something
+ do_something()
```
## Miscellaneous Helper Functions
@@ -1837,9 +1864,9 @@ A representation of the start and end time respectively in a string format with
```python
if self.now_is_between("17:30:00", "08:00:00"):
- do something
+ do_something()
if self.now_is_between("sunset - 00:45:00", "sunrise + 00:45:00"):
- do something
+ do_something_else()
```
### friendly_name()
@@ -1860,7 +1887,11 @@ The friendly name of the entity if it exists or the entity id if not.
```python
tracker = "device_tracker.andrew"
-self.log("{} ({}) is {}".format(tracker, self.friendly_name(tracker), self.get_tracker_state(tracker)))
+self.log(
+ "{} ({}) is {}".format(
+ tracker, self.friendly_name(tracker), self.get_tracker_state(tracker)
+ )
+)
```
### split_entity()
@@ -1888,7 +1919,7 @@ A list with 2 entries, the device and entity respectively.
```python
device, entity = self.split_entity(entity_id)
if device == "scene":
- do something specific to scenes
+ do_something_specific_to_scenes()
```
@@ -1935,7 +1966,7 @@ A list of split devices with 1 or more entries.
```python
for sensor in self.split_device_list(self.args["sensors"]):
- do something for each sensor, e.g., make a state subscription
+ do_something(sensor) # e.g. make a state subscription
```
@@ -1948,7 +1979,7 @@ AppDaemon uses 2 separate logs - the general log and the error log. An AppDaemon
#### Synopsis
```python
-log(message, level = "INFO")
+log(message, level="INFO")
```
#### Returns
@@ -1969,7 +2000,7 @@ The log level of the message - takes a string representing the standard logger l
```python
self.log("Log Test: Parameter is {}".format(some_variable))
-self.log("Log Test: Parameter is {}".format(some_variable), level = "ERROR")
+self.log("Log Test: Parameter is {}".format(some_variable), level="ERROR")
```
### error()
@@ -1977,7 +2008,7 @@ self.log("Log Test: Parameter is {}".format(some_variable), level = "ERROR")
#### Synopsis
```python
-error(message, level = "WARNING")
+error(message, level="WARNING")
```
#### Returns
@@ -1997,7 +2028,7 @@ The log level of the message - takes a string representing the standard logger l
```python
self.error("Some Warning string")
-self.error("Some Critical string", level = "CRITICAL")
+self.error("Some Critical string", level="CRITICAL")
```
## Sharing information between Apps
@@ -2007,7 +2038,7 @@ Sharing information between different Apps is very simple if required. Each app
In addition, Apps have access to the entire configuration if required, meaning they can access AppDaemon configuration items as well as parameters from other Apps. To use this, there is a class attribute called `self.config`. It contains a `ConfigParser` object, which is similar in operation to a `Dictionary`. To access any apps parameters, simply reference the ConfigParser object using the Apps name (form the config file) as the first key, and the parameter required as the second, for instance:
```python
-other_apps_arg = self.config["some_app"]["some_parameter"].
+other_apps_arg = self.config["some_app"]["some_parameter"]
```
To get AppDaemon's config parameters, use the key "AppDaemon", e.g.:
diff --git a/source/_docs/ecosystem/appdaemon/running.markdown b/source/_docs/ecosystem/appdaemon/running.markdown
old mode 100755
new mode 100644
diff --git a/source/_docs/ecosystem/appdaemon/tutorial.markdown b/source/_docs/ecosystem/appdaemon/tutorial.markdown
old mode 100755
new mode 100644
index c0344c8ec1a..67475316b7c
--- a/source/_docs/ecosystem/appdaemon/tutorial.markdown
+++ b/source/_docs/ecosystem/appdaemon/tutorial.markdown
@@ -58,18 +58,17 @@ different scenes in a different version of the App.
```python
import appdaemon.plugins.hass.hassapi as hass
+
class OutsideLights(hass.Hass):
+ def initialize(self):
+ self.run_at_sunrise(self.sunrise_cb)
+ self.run_at_sunset(self.before_sunset_cb, offset=-900)
- def initialize(self):
- self.run_at_sunrise(self.sunrise_cb)
- self.run_at_sunset(self.before_sunset_cb, offset=-900)
-
- def sunrise_cb(self, kwargs):
- self.turn_on(self.args["off_scene"])
-
- def before_sunset_cb(self, kwargs):
- self.turn_on(self.args["on_scene"])
+ def sunrise_cb(self, kwargs):
+ self.turn_on(self.args["off_scene"])
+ def before_sunset_cb(self, kwargs):
+ self.turn_on(self.args["on_scene"])
```
This is also fairly easy to achieve with Home Assistant automations, but we are just getting started.
@@ -81,18 +80,18 @@ Our next example is to turn on a light when motion is detected and it is dark, a
```python
import appdaemon.appapi as appapi
+
class FlashyMotionLights(appapi.AppDaemon):
+ def initialize(self):
+ self.listen_state(self.motion, "binary_sensor.drive", new="on")
- def initialize(self):
- self.listen_state(self.motion, "binary_sensor.drive", new = "on")
+ def motion(self, entity, attribute, old, new, kwargs):
+ if self.sun_down():
+ self.turn_on("light.drive")
+ self.run_in(self.light_off, 60)
- def motion(self, entity, attribute, old, new, kwargs):
- if self.sun_down():
- self.turn_on("light.drive")
- self.run_in(self.light_off, 60)
-
- def light_off(self, kwargs):
- self.turn_off("light.drive")
+ def light_off(self, kwargs):
+ self.turn_off("light.drive")
```
This is starting to get a little more complex in Home Assistant automations requiring an Automation rule and two separate scripts.
@@ -102,26 +101,26 @@ Now lets extend this with a somewhat artificial example to show something that i
```python
import homeassistant.appapi as appapi
+
class MotionLights(appapi.AppDaemon):
+ def initialize(self):
+ self.listen_state(self.motion, "binary_sensor.drive", new="on")
- def initialize(self):
- self.listen_state(self.motion, "binary_sensor.drive", new = "on")
+ def motion(self, entity, attribute, old, new, kwargs):
+ if self.self.sun_down():
+ self.turn_on("light.drive")
+ self.run_in(self.light_off, 60)
+ self.flashcount = 0
+ self.run_in(self.flash_warning, 1)
- def motion(self, entity, attribute, old, new, kwargs):
- if self.self.sun_down():
- self.turn_on("light.drive")
- self.run_in(self.light_off, 60)
- self.flashcount = 0
- self.run_in(self.flash_warning, 1)
+ def light_off(self, kwargs):
+ self.turn_off("light.drive")
- def light_off(self, kwargs):
- self.turn_off("light.drive")
-
- def flash_warning(self, kwargs):
- self.toggle("light.living_room")
- self.flashcount += 1
- if self.flashcount < 10:
- self.run_in(self.flash_warning, 1)
+ def flash_warning(self, kwargs):
+ self.toggle("light.living_room")
+ self.flashcount += 1
+ if self.flashcount < 10:
+ self.run_in(self.flash_warning, 1)
```
Of course if I wanted to make this App or its predecessor reusable I would have provide parameters for the sensor, the light to activate on motion, the warning light and even the number of flashes and delay between flashes.
diff --git a/source/_docs/ecosystem/appdaemon/windows.markdown b/source/_docs/ecosystem/appdaemon/windows.markdown
old mode 100755
new mode 100644
diff --git a/source/_docs/ecosystem/backup/backup_dropbox.markdown b/source/_docs/ecosystem/backup/backup_dropbox.markdown
index 9586b3fea0c..fba59d4de13 100644
--- a/source/_docs/ecosystem/backup/backup_dropbox.markdown
+++ b/source/_docs/ecosystem/backup/backup_dropbox.markdown
@@ -4,7 +4,7 @@ description: "Instructions on how backup your Home Assistant configuration to Dr
redirect_from: /cookbook/dropboxbackup/
---
-Backing up and regularly syncing your Home Assistant configuration to [Dropbox](http://dropbox.com) similar to [Github Backup](/docs/ecosystem/backup/backup_github/)
+Backing up and regularly syncing your Home Assistant configuration to [Dropbox](http://dropbox.com) is similar to [Github Backup](/docs/ecosystem/backup/backup_github/)
### Requirements
diff --git a/source/_docs/ecosystem/backup/backup_github.markdown b/source/_docs/ecosystem/backup/backup_github.markdown
index 5f3111cb540..3c2c6d7b568 100644
--- a/source/_docs/ecosystem/backup/backup_github.markdown
+++ b/source/_docs/ecosystem/backup/backup_github.markdown
@@ -58,7 +58,7 @@ Here is an example that will ignore everything but your YAML configuration.
```bash
# Example .gitignore file for your config dir.
-# A * ensures that everything will be ignored.
+# An * ensures that everything will be ignored.
*
# You can whitelist files/folders with !, these will not be ignored.
diff --git a/source/_docs/ecosystem/certificates/lets_encrypt.markdown b/source/_docs/ecosystem/certificates/lets_encrypt.markdown
index 163ef2fe511..be1a62d2bd8 100644
--- a/source/_docs/ecosystem/certificates/lets_encrypt.markdown
+++ b/source/_docs/ecosystem/certificates/lets_encrypt.markdown
@@ -330,7 +330,6 @@ Now edit your configuration.yaml file to reflect the SSL entries and your base U
```yaml
http:
- api_password: YOUR_PASSWORD
ssl_certificate: /etc/letsencrypt/live/examplehome.duckdns.org/fullchain.pem
ssl_key: /etc/letsencrypt/live/examplehome.duckdns.org/privkey.pem
base_url: examplehome.duckdns.org
diff --git a/source/_docs/ecosystem/certificates/tls_self_signed_certificate.markdown b/source/_docs/ecosystem/certificates/tls_self_signed_certificate.markdown
index d2b1d2c7d29..22d866ad873 100644
--- a/source/_docs/ecosystem/certificates/tls_self_signed_certificate.markdown
+++ b/source/_docs/ecosystem/certificates/tls_self_signed_certificate.markdown
@@ -4,16 +4,21 @@ description: "Configure a Certificate Authority and self-signed certificate to u
redirect_from: /cookbook/tls_self_signed_certificate/
---
-If your Home Assistant instance is only accessible from your local network you can still protect the communication between your browsers and the frontend with SSL/TLS.
-[Let's encrypt]({{site_root}}/blog/2017/09/27/effortless-encryption-with-lets-encrypt-and-duckdns/) will only work if you have a DNS entry and remote access is allowed.
+If your Home Assistant instance is only accessible from your local network, you can still protect the communication between your browsers and the frontend with SSL/TLS.
+[Let's Encrypt](/blog/2017/09/27/effortless-encryption-with-lets-encrypt-and-duckdns/) will only work if you have a DNS entry and remote access is allowed.
-The solution is to use a self-signed certificate. As you most likely don't have a certification authority (CA) your browser will complain about the security. If you have a CA then this will not be an issue.
+The solution is to use a self-signed certificate. Please note, however, that after you have completed these steps, your browser will complain about the security of the certificate as it was not issued by a trusted authority.
+
+* This is due to self-signed certificates having not been issued by a certification authority ([`CA`](https://cheapsslsecurity.com/blog/what-is-a-certificate-authority-ca/)). If you have your own CA, then this will not be an issue.
+* A fantastic workaround for this, while keeping your instance isolated securely off the Internet, is to use a [`Certificate for SSL/TLS via domain ownership`](/docs/ecosystem/certificates/tls_domain_certificate/).
+
+If you don't mind the browser warnings and simply want SSL/TLS encryption and therefore have decided to use a self-signed certificate permanently or temporarily, read on!
If you use Chrome browser version 58 or above and/or **don't want to have issues regarding a non-trusted CA or CN (Common Name)**, follow this full tutorial: [Create Root Certificate Authority and self-signed certificate for your Home Assistant. Compatible with Chrome browser > version 58](https://gist.github.com/tiagofreire-pt/4920be8d03a3dfa8201c6afedd00305e). Otherwise, follow this:
To create a certificate locally, you need the [OpenSSL](https://www.openssl.org/) command-line tool.
-Change to your Home Assistant [configuration directory](/getting-started/configuration/) like `~/.homeassistant`. This will make it easier to backup your certificate and the key. Run the command shown below.
+Change to your Home Assistant [configuration directory](/getting-started/configuration/) like `~/.homeassistant`. This will make it easier to backup your certificate and the key. Run the command shown below.
The certificate **must** be `.pem` extension.
@@ -35,7 +40,7 @@ http:
ssl_key: /ssl/privkey.pem
```
-Non-hass.io:
+Non-Hass.io:
```yaml
http:
@@ -63,16 +68,17 @@ sudo chmod 600 fullchain.pem privkey.pem
A tutorial "[Working with SSL Certificates, Private Keys and CSRs](https://www.digitalocean.com/community/tutorials/openssl-essentials-working-with-ssl-certificates-private-keys-and-csrs)" could give you some insight about special cases.
-### iOS and macOS Specific Requirements
+## iOS and macOS Specific Requirements
+
+### iOS
-#### iOS
If you are going to use this certificate with the iOS app, you need to ensure you complete **all** fields during the certificate creation process, then:
* Send **only** the `fullchain.pem` file to the iOS device, using airdrop or other transfer method.
* Open the `.pem` file on the iOS device, follow the prompts to trust and install it.
* If you are using iOS 10.3 or newer then [additional steps](https://support.apple.com/en-us/HT204477) are needed.
-#### iOS 13 and macOS 10.15
+### iOS 13 and macOS 10.15
There are [new security requirements](https://support.apple.com/en-us/HT210176) for TLS server certificates in iOS 13 and macOS 10.15. To summarize:
diff --git a/source/_docs/ecosystem/hadashboard.markdown b/source/_docs/ecosystem/hadashboard.markdown
old mode 100755
new mode 100644
diff --git a/source/_docs/ecosystem/hass-configurator.markdown b/source/_docs/ecosystem/hass-configurator.markdown
index 48df2d527e8..5225cc79ab8 100644
--- a/source/_docs/ecosystem/hass-configurator.markdown
+++ b/source/_docs/ecosystem/hass-configurator.markdown
@@ -1,6 +1,6 @@
---
-title: "HASS Configurator"
-description: "Instructions on how to install and use the HASS Configurator"
+title: "Configurator"
+description: "Instructions on how to install and use the Configurator"
redirect_from: /ecosystem/hass-configurator/
---
@@ -11,7 +11,7 @@ This is essentially a browser-based alternative to modifying your configuration
-Screenshot of the HASS Configurator.
+Screenshot of the Configurator.
### Feature list
diff --git a/source/_docs/ecosystem/nginx.markdown b/source/_docs/ecosystem/nginx.markdown
index 8a84cb0d0d4..ce8cf97fd38 100644
--- a/source/_docs/ecosystem/nginx.markdown
+++ b/source/_docs/ecosystem/nginx.markdown
@@ -130,9 +130,9 @@ server {
# These shouldn't need to be changed
- listen [::]:443 default_server ipv6only=off; # if your nginx version is >= 1.9.5 you can also add the "http2" flag here
+ listen [::]:443 ssl default_server ipv6only=off; # if your nginx version is >= 1.9.5 you can also add the "http2" flag here
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains";
- ssl on;
+ # ssl on; # Uncomment if you are using nginx < 1.15.0
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
ssl_prefer_server_ciphers on;
diff --git a/source/_docs/frontend/mobile.markdown b/source/_docs/frontend/mobile.markdown
index 801b29d93db..f399ccc7482 100644
--- a/source/_docs/frontend/mobile.markdown
+++ b/source/_docs/frontend/mobile.markdown
@@ -4,9 +4,9 @@ description: "Android/iOS instructions to add Home Assistant to your homescreen.
redirect_from: /getting-started/mobile/
---
-Home Assistant has [a companion apps for Android and iOS](/docs/ecosystem/ios/).
+Home Assistant has [a companion app for both Android and iOS](/docs/ecosystem/ios/).
-On both Android and iOS, you can add the Home Assistant "web app" to your homescreen as if it was native (Home Assistant leverages the W3C [manifest.json](https://w3c.github.io/manifest/) support).
+As an alternative to the iOS and Android companion apps, you can add the Home Assistant "web app" to your homescreen as if it was native (Home Assistant leverages the W3C [manifest.json](https://w3c.github.io/manifest/) support).
### Android
diff --git a/source/_docs/installation.markdown b/source/_docs/installation.markdown
index 0e350ef9094..3807cf4c038 100644
--- a/source/_docs/installation.markdown
+++ b/source/_docs/installation.markdown
@@ -43,7 +43,7 @@ NUC i7/i9 | Pure power, you should not have *any* performance issues
## Recommended
-These install options are fully supported by Home Assistant's documentation. For example, if a integration requires that you install something to make it work on one of these methods then the integration page will document the steps required.
+These install options are fully supported by Home Assistant's documentation. For example, if an integration requires that you install something to make it work on one of these methods then the integration page will document the steps required.
diff --git a/source/_docs/installation/freenas.markdown b/source/_docs/installation/freenas.markdown
index 0b6c0c362ac..e4179928d32 100644
--- a/source/_docs/installation/freenas.markdown
+++ b/source/_docs/installation/freenas.markdown
@@ -13,22 +13,19 @@ Enter the Home Assistant jail. If you don't know which name you have given the j
iocage exec HomeAssistant
```
-Create the user and group that Home Assistant will run as. The user/group ID of `8123` can be replaced if this is already in use in your environment.
-
-```bash
-pw groupadd -n homeassistant -g 8123
-echo 'homeassistant:8123:8123::::::/bin/csh:' | adduser -f -
-```
-
-Install the necessary Python packages and virtualenv:
+Install the suggested packages:
```bash
pkg update
pkg upgrade
-pkg install -y python37 py37-sqlite3 ca_root_nss
-python3.7 -m ensurepip
-pip3 install --upgrade pip
-pip3 install --upgrade virtualenv
+pkg install -y autoconf bash ca_root_nss gmake pkgconf python37 py37-sqlite3
+```
+
+Create the user and group that Home Assistant will run as. The user/group ID of `8123` can be replaced if this is already in use in your environment.
+
+```bash
+pw groupadd -n homeassistant -g 8123
+echo 'homeassistant:8123:8123::::::/usr/local/bin/bash:' | adduser -f -
```
Create the installation directory:
@@ -38,13 +35,14 @@ mkdir -p /usr/local/share/homeassistant
chown -R homeassistant:homeassistant /usr/local/share/homeassistant
```
-Install Home Assistant itself:
+Create the virtualenv and install Home Assistant itself:
```bash
su homeassistant
cd /usr/local/share/homeassistant
-virtualenv -p python3.7 .
-source ./bin/activate.csh
+python3.7 -m venv .
+source ./bin/activate
+pip3 install --upgrade pip
pip3 install homeassistant
```
@@ -82,29 +80,37 @@ vi /usr/local/etc/rc.d/homeassistant
```bash
#!/bin/sh
#
-# Based upon work by tprelog at https://www.ixsystems.com/community/resources/fn-11-2-iocage-home-assistant-jail-plugins-for-node-red-mosquitto-amazon-dash-tasmoadmin.102/
+# Based upon work by tprelog at https://github.com/tprelog/iocage-homeassistant/blob/11.3-RELEASE/overlay/usr/local/etc/rc.d/homeassistant
#
# PROVIDE: homeassistant
# REQUIRE: LOGIN
# KEYWORD: shutdown
#
-# homeassistant_enable: Set to YES to enable the homeassistant service.
-# Default: NO
-# homeassistant_user: The user account used to run the homeassistant daemon.
-# This is optional, however do not specifically set this to an
-# empty string as this will cause the daemon to run as root.
-# Default: homeassistant
-# homeassistant_group: The group account used to run the homeassistant daemon.
-# This is optional, however do not specifically set this to an
-# empty string as this will cause the daemon to run with group wheel.
-# Default: homeassistant
-# homeassistant_config_dir: Directory where config files are located.
-# Default: /home/homeassistant/.homeassistant
-# homeassistant_install_dir: Directory where Home Assistant is installed.
-# Default: /usr/local/share/homeassistant
+# homeassistant_user: The user account used to run the homeassistant daemon.
+# This is optional, however do not specifically set this to an
+# empty string as this will cause the daemon to run as root.
+# Default: homeassistant
+# homeassistant_group: The group account used to run the homeassistant daemon.
+# This is optional, however do not specifically set this to an
+# empty string as this will cause the daemon to run with group wheel.
+# Default: homeassistant
#
-# sysrc homeassistant_enable=yes
-# service homeassistant start
+# homeassistant_venv: Directory where homeassistant virtualenv is installed.
+# Default: "/usr/local/share/homeassistant"
+# Change: `sysrc homeassistant_venv="/srv/homeassistant"`
+# UnChange: `sysrc -x homeassistant_venv`
+#
+# homeassistant_config_dir: Directory where homeassistant config is located.
+# Default: "/home/homeassistant/.homeassistant"
+# Change: `sysrc homeassistant_config_dir="/home/hass/homeassistant"`
+# UnChange: `sysrc -x homeassistant_config_dir`
+
+# -------------------------------------------------------
+# Copy this file to '/usr/local/etc/rc.d/homeassistant'
+# `chmod +x /usr/local/etc/rc.d/homeassistant`
+# `sysrc homeassistant_enable=yes`
+# `service homeassistant start`
+# -------------------------------------------------------
. /etc/rc.subr
name=homeassistant
@@ -112,43 +118,85 @@ rcvar=${name}_enable
pidfile_child="/var/run/${name}.pid"
pidfile="/var/run/${name}_daemon.pid"
+logfile="/var/log/${name}.log"
load_rc_config ${name}
: ${homeassistant_enable:="NO"}
: ${homeassistant_user:="homeassistant"}
: ${homeassistant_group:="homeassistant"}
: ${homeassistant_config_dir:="/home/homeassistant/.homeassistant"}
-: ${homeassistant_install_dir:="/usr/local/share/homeassistant"}
+: ${homeassistant_venv:="/usr/local/share/homeassistant"}
command="/usr/sbin/daemon"
+extra_commands="check_config restart test upgrade"
+
start_precmd=${name}_precmd
-homeassistant_precmd()
-{
- rc_flags="-f -P ${pidfile} -p ${pidfile_child} ${homeassistant_install_dir}/bin/hass --config ${homeassistant_config_dir} ${rc_flags}"
-
- if [ ! -e "${pidfile_child}" ]; then
- install -g ${homeassistant_group} -o ${homeassistant_user} -- /dev/null "${pidfile_child}";
- fi
-
- if [ ! -e "${pidfile}" ]; then
- install -g ${homeassistant_group} -o ${homeassistant_user} -- /dev/null "${pidfile}";
- fi
-
+homeassistant_precmd() {
+ rc_flags="-f -o ${logfile} -P ${pidfile} -p ${pidfile_child} ${homeassistant_venv}/bin/hass --config ${homeassistant_config_dir} ${rc_flags}"
+ [ ! -e "${pidfile_child}" ] && install -g ${homeassistant_group} -o ${homeassistant_user} -- /dev/null "${pidfile_child}"
+ [ ! -e "${pidfile}" ] && install -g ${homeassistant_group} -o ${homeassistant_user} -- /dev/null "${pidfile}"
+ [ -e "${logfile}" ] && rm -f -- "${logfile}"
+ install -g ${homeassistant_group} -o ${homeassistant_user} -- /dev/null "${logfile}"
if [ ! -d "${homeassistant_config_dir}" ]; then
- install -d -g ${homeassistant_group} -o ${homeassistant_user} -- "${homeassistant_config_dir}";
+ install -d -g ${homeassistant_group} -o ${homeassistant_user} -m 775 -- "${homeassistant_config_dir}"
fi
-
- echo "Performing check on Home Assistant configuration:"
- eval "${homeassistant_install_dir}/bin/hass" --config "${homeassistant_config_dir}" --script check_config
}
stop_postcmd=${name}_postcmd
-homeassistant_postcmd()
-{
+homeassistant_postcmd() {
rm -f -- "${pidfile}"
rm -f -- "${pidfile_child}"
}
+upgrade_cmd="${name}_upgrade"
+homeassistant_upgrade() {
+ service ${name} stop
+ su ${homeassistant_user} -c '
+ source ${@}/bin/activate || exit 1
+ pip3 install --upgrade homeassistant
+ deactivate
+ ' _ ${homeassistant_venv} || exit 1
+ [ $? == 0 ] && homeassistant_check_config && service ${name} start
+}
+
+check_config_cmd="${name}_check_config"
+homeassistant_check_config() {
+ [ ! -e "${homeassistant_config_dir}/configuration.yaml" ] && return 0
+ echo "Performing check on Home Assistant configuration:"
+ #eval "${homeassistant_venv}/bin/hass --config ${homeassistant_config_dir} --script check_config"
+ su ${homeassistant_user} -c '
+ source ${1}/bin/activate || exit 2
+ hass --config ${2} --script check_config || exit 3
+ deactivate
+ ' _ ${homeassistant_venv} ${homeassistant_config_dir}
+}
+
+restart_cmd="${name}_restart"
+homeassistant_restart() {
+ homeassistant_check_config || exit 1
+ echo "Restarting Home Assistant"
+ service ${name} stop
+ service ${name} start
+}
+
+test_cmd="${name}_test"
+homeassistant_test() {
+ echo -e "\nTesting virtualenv...\n"
+ [ ! -d "${homeassistant_venv}" ] && echo -e " NO DIRECTORY: ${homeassistant_venv}\n" && exit
+ [ ! -f "${homeassistant_venv}/bin/activate" ] && echo -e " NO FILE: ${homeassistant_venv}/bin/activate\n" && exit
+
+ ## switch users / activate virtualenv / get version
+ su "${homeassistant_user}" -c '
+ source ${1}/bin/activate || exit 2
+ echo " $(python --version)" || exit 3
+ echo " Home Assistant $(pip3 show homeassistant | grep Version | cut -d" " -f2)" || exit 4
+ deactivate
+ ' _ ${homeassistant_venv}
+
+ [ $? != 0 ] && echo "exit $?"
+}
+
+load_rc_config ${name}
run_rc_command "$1"
```
@@ -184,12 +232,17 @@ pkg install libudev-devd
Then you can install the zwave package
```bash
-pip3 install homeassistant-pyozw==0.1.4
+su homeassistant
+cd /usr/local/share/homeassistant
+source ./bin/activate.csh
+pip3 install homeassistant-pyozw==0.1.7
+deactivate
+exit
```
Stop the hass Jail
```bash
-sudo iocage stop hass
+sudo iocage stop HomeAssistant
```
Edit the devfs rules on the Freenas Host
@@ -199,8 +252,8 @@ vi /etc/devfs.rules
Add the following lines
```bash
-[devfsrules_jail_allow_usb=7]
-add path 'cu\*' mode 0660 group 8123 unhide
+[devfsrules_jail_allow_usb=7]
+add path 'cu\*' mode 0660 group 8123 unhide
```
Reload devfs
@@ -213,18 +266,18 @@ Set it to 7
Start the hass jail
```bash
-sudo iocage start hass
+sudo iocage start HomeAssistant
```
Connect to the hass jail and verify that you see the modem devices
```bash
-sudo iocage console hass
+sudo iocage console HomeAssistant
```
```bash
ls /dev/cu*
```
-This should ouput the following
+This should output the following
```bash
/dev/cuau0 /dev/cuaU0
```
@@ -256,7 +309,7 @@ Then, enter the `venv`:
```bash
su homeassistant
cd /usr/local/share/homeassistant
-source ./bin/activate.csh
+source ./bin/activate
```
Upgrade Home Assistant:
diff --git a/source/_docs/installation/raspberry-pi.markdown b/source/_docs/installation/raspberry-pi.markdown
index c1799b53744..89b92ca9428 100644
--- a/source/_docs/installation/raspberry-pi.markdown
+++ b/source/_docs/installation/raspberry-pi.markdown
@@ -67,22 +67,22 @@ cd /srv/homeassistant
python3 -m venv .
source bin/activate
```
-Once you have activated the virtual environment (notice the prompt change) you will need to run the following command to install a required python package.
+Once you have activated the virtual environment (notice the prompt change to `(homeassistant) homeassistant@raspberrypi:/srv/homeassistant $`) you will need to run the following command to install a required python package.
```bash
-(homeassistant) homeassistant@raspberrypi:/srv/homeassistant $ python3 -m pip install wheel
+python3 -m pip install wheel
```
Once you have installed the required python package it is now time to install Home Assistant!
```bash
-(homeassistant) homeassistant@raspberrypi:/srv/homeassistant $ pip3 install homeassistant
+pip3 install homeassistant
```
Start Home Assistant for the first time. This will complete the installation for you, automatically creating the `.homeassistant` configuration directory in the `/home/homeassistant` directory, and installing any basic dependencies.
```bash
-(homeassistant) $ hass
+hass
```
You can now reach your installation on your Raspberry Pi over the web interface on `http://ipaddress:8123`.
diff --git a/source/_docs/installation/virtualenv.markdown b/source/_docs/installation/virtualenv.markdown
index c3b46fdb6c2..fe1f5613757 100644
--- a/source/_docs/installation/virtualenv.markdown
+++ b/source/_docs/installation/virtualenv.markdown
@@ -12,6 +12,8 @@ It's recommended when installing Python packages that you use a [virtual environ
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) and `libffi-dev` (for cffi.h) for things to build later on.
+
{% comment %}
diff --git a/source/_docs/mqtt/broker.markdown b/source/_docs/mqtt/broker.markdown
index 553fcbb36dc..b6b9a0be12b 100644
--- a/source/_docs/mqtt/broker.markdown
+++ b/source/_docs/mqtt/broker.markdown
@@ -9,7 +9,7 @@ The MQTT integration needs you to run an MQTT broker for Home Assistant to conne
### Run your own
This is the most private option, but it requires a little bit of work to setup. There are multiple free and open-source brokers to pick from: e.g., [Mosquitto](http://mosquitto.org/), [EMQ](https://github.com/emqx/emqx) or [Mosca](http://www.mosca.io/).
-For hass.io users, the recommended setup method is to use the [Mosquitto MQTT broker addon](/addons/mosquitto).
+For Hass.io users, the recommended setup method is to use the [Mosquitto MQTT broker addon](/addons/mosquitto).
```yaml
# Example configuration.yaml entry
diff --git a/source/_docs/mqtt/certificate.markdown b/source/_docs/mqtt/certificate.markdown
index 86225053aca..a1dc43c41a6 100644
--- a/source/_docs/mqtt/certificate.markdown
+++ b/source/_docs/mqtt/certificate.markdown
@@ -16,7 +16,7 @@ mqtt:
{% configuration %}
certificate:
- description: "'auto' or the certificate authority certificate file that is to be treated as trusted by this client. To enable a secure (TLS) connection to your server you must define the 'certitificate' configuration parameter. 'auto' uses the certifite CAs bundled certificates. If a file is specified the file should contain the root certificate of the certificate authority that signed your broker's certificate, but may contain multiple certificates. Example: `/home/user/identrust-root.pem`."
+ description: "'auto' or the certificate authority certificate file that is to be treated as trusted by this client. To enable a secure (TLS) connection to your server you must define the 'certificate' configuration parameter. 'auto' uses the certifite CAs bundled certificates. If a file is specified the file should contain the root certificate of the certificate authority that signed your broker's certificate, but may contain multiple certificates. Example: `/home/user/identrust-root.pem`."
required: false
type: string
client_key:
diff --git a/source/_docs/mqtt/discovery.markdown b/source/_docs/mqtt/discovery.markdown
index dab05ec8b67..cbde6f94195 100644
--- a/source/_docs/mqtt/discovery.markdown
+++ b/source/_docs/mqtt/discovery.markdown
@@ -236,6 +236,8 @@ The following software has built-in support for MQTT discovery:
### Examples
+#### Motion detection (binary sensor)
+
A motion detection device which can be represented by a [binary sensor](/integrations/binary_sensor.mqtt/) for your garden would send its configuration as JSON payload to the Configuration topic. After the first message to `config`, then the MQTT messages sent to the state topic will update the state in Home Assistant.
- Configuration topic: `homeassistant/binary_sensor/garden/config`
@@ -259,6 +261,18 @@ Delete the sensor by sending an empty message.
$ mosquitto_pub -h 127.0.0.1 -p 1883 -t "homeassistant/binary_sensor/garden/config" -m ''
```
+#### Sensors with multiple values
+
+Setting up a sensor with multiple measurement values requires multiple consecutive configuration topic submissions.
+
+- Configuration topic no1: `homeassistant/sensor/sensorBedroomT/config`
+- Configuration payload no1: `{"device_class": "temperature", "name": "Temperature", "state_topic": "homeassistant/sensor/sensorBedroom/state", "unit_of_measurement": "°C", "value_template": "{% raw %}{{ value_json.temperature}}{% endraw %}" }`
+- Configuration topic no2: `homeassistant/sensor/sensorBedroomH/config`
+- Configuration payload no2: `{"device_class": "humidity", "name": "Humidity", "state_topic": "homeassistant/sensor/sensorBedroom/state", "unit_of_measurement": "%", "value_template": "{% raw %}{{ value_json.humidity}}{% endraw %}" }`
+- Common state payload: `{ "temperature": 23.20, "humidity": 43.70 }`
+
+#### Switches
+
Setting up a switch is similar but requires a `command_topic` as mentioned in the [MQTT switch documentation](/integrations/switch.mqtt/).
- Configuration topic: `homeassistant/switch/irrigation/config`
@@ -276,27 +290,45 @@ Set the state.
$ mosquitto_pub -h 127.0.0.1 -p 1883 -t "homeassistant/switch/irrigation/set" -m ON
```
-Setting up a sensor with multiple measurement values requires multiple consecutive configuration topic submissions.
-
-- Configuration topic no1: `homeassistant/sensor/sensorBedroomT/config`
-- Configuration payload no1: `{"device_class": "temperature", "name": "Temperature", "state_topic": "homeassistant/sensor/sensorBedroom/state", "unit_of_measurement": "°C", "value_template": "{% raw %}{{ value_json.temperature}}{% endraw %}" }`
-- Configuration topic no2: `homeassistant/sensor/sensorBedroomH/config`
-- Configuration payload no2: `{"device_class": "humidity", "name": "Humidity", "state_topic": "homeassistant/sensor/sensorBedroom/state", "unit_of_measurement": "%", "value_template": "{% raw %}{{ value_json.humidity}}{% endraw %}" }`
-- Common state payload: `{ "temperature": 23.20, "humidity": 43.70 }`
+#### Abbreviating topic names
Setting up a switch using topic prefix and abbreviated configuration variable names to reduce payload length.
- Configuration topic: `homeassistant/switch/irrigation/config`
- Command topic: `homeassistant/switch/irrigation/set`
- State topic: `homeassistant/switch/irrigation/state`
-- Payload: `{"~": "homeassistant/switch/irrigation", "name": "garden", "cmd_t": "~/set", "stat_t": "~/state"}`
+- Configuration payload: `{"~": "homeassistant/switch/irrigation", "name": "garden", "cmd_t": "~/set", "stat_t": "~/state"}`
-Setting up a climate integration (heat only) with abbreviated configuration variable names to reduce payload length.
+#### Lighting
+
+Setting up a [light that takes JSON payloads](/integrations/light.mqtt/#json-schema), with abbreviated configuration variable names:
+
+- Configuration topic: `homeassistant/light/kitchen/config`
+- Command topic: `homeassistant/light/kitchen/set`
+- State topic: `homeassistant/light/kitchen/state`
+- Example state payload: `{"state": "ON", "brightness": 255}`
+- Configuration payload:
+
+ ```json
+ {
+ "~": "homeassistant/light/kitchen",
+ "name": "Kitchen",
+ "unique_id": "kitchen_light",
+ "cmd_t": "~/set",
+ "stat_t": "~/state",
+ "schema": "json",
+ "brightness": true
+ }
+ ```
+
+#### Climate control
+
+Setting up a climate integration (heat only):
- Configuration topic: `homeassistant/climate/livingroom/config`
- Configuration payload:
-```yaml
+```json
{
"name":"Livingroom",
"mode_cmd_t":"homeassistant/climate/livingroom/thermostatModeCmd",
@@ -320,7 +352,7 @@ Setting up a climate integration (heat only) with abbreviated configuration vari
- State topic: `homeassistant/climate/livingroom/state`
- State payload:
-```yaml
+```json
{
"mode":"off",
"target_temp":"21.50",
diff --git a/source/_docs/scripts/conditions.markdown b/source/_docs/scripts/conditions.markdown
index f0ca450a8ad..754615b555b 100644
--- a/source/_docs/scripts/conditions.markdown
+++ b/source/_docs/scripts/conditions.markdown
@@ -4,13 +4,13 @@ description: "Documentation about all available conditions."
redirect_from: /getting-started/scripts-conditions/
---
-Conditions can be used within a script or automation to prevent further execution. When a condition does not return true, the script or automation will stop executing. A condition will look at the system right now. For example a condition can test if a switch is currently turned on or off.
+Conditions can be used within a script or automation to prevent further execution. When a condition does not return true, the script or automation stops executing. A condition will look at the system at that moment. For example, a condition can test if a switch is currently turned on or off.
Unlike a trigger, which is always `or`, conditions are `and` by default - all conditions have to be true.
### AND condition
-Test multiple conditions in 1 condition statement. Passes if all embedded conditions are valid.
+Test multiple conditions in one condition statement. Passes if all embedded conditions are valid.
```yaml
condition:
@@ -24,7 +24,7 @@ condition:
below: 20
```
-If you do not want to combine AND and OR conditions, you can also just list them sequentially.
+If you do not want to combine AND and OR conditions, you can list them sequentially.
The following configuration works the same as the one listed above:
@@ -42,7 +42,7 @@ Currently you need to format your conditions like this to be able to edit them u
### OR condition
-Test multiple conditions in 1 condition statement. Passes if any embedded condition is valid.
+Test multiple conditions in one condition statement. Passes if any embedded condition is valid.
```yaml
condition:
@@ -58,7 +58,7 @@ condition:
### MIXED AND and OR conditions
-Test multiple AND and OR conditions in 1 condition statement. Passes if any embedded conditions is valid.
+Test multiple AND and OR conditions in one condition statement. Passes if any embedded condition is valid.
This allows you to mix several AND and OR conditions together.
```yaml
@@ -80,7 +80,7 @@ condition:
### Numeric state condition
-This type of condition attempts to parse the state of specified entity as a number and triggers if the value matches the thresholds.
+This type of condition attempts to parse the state of the specified entity as a number, and triggers if the value matches the thresholds.
If both `below` and `above` are specified, both tests have to pass.
@@ -93,7 +93,7 @@ condition:
above: 17
below: 25
# If your sensor value needs to be adjusted
- value_template: {% raw %}{{ float(state.state) + 2 }}{% endraw %}
+ value_template: {% raw %}'{{ float(state.state) + 2 }}'{% endraw %}
```
### State condition
@@ -134,8 +134,8 @@ condition:
#### Sun elevation condition
-The sun elevation can be used to test if the sun has set or risen, it is dusk, it is night etc. when a trigger occurs.
-For an in depth explanation of sun elevation see [sun elevation trigger][sun_elevation_trigger].
+The sun elevation can be used to test if the sun has set or risen, it is dusk, it is night, etc. when a trigger occurs.
+For an in-depth explanation of sun elevation, see [sun elevation trigger][sun_elevation_trigger].
[sun_elevation_trigger]: /docs/automation/trigger/#sun-elevation-trigger
@@ -162,9 +162,9 @@ The sun condition can also test if the sun has already set or risen when a trigg
[sun_trigger]: /docs/automation/trigger/#sun-trigger
-The sunset/sunrise conditions do not work in locations inside the polar circles, and also not in locations with highly skewed local time zone.
+The sunset/sunrise conditions do not work in locations inside the polar circles, and also not in locations with a highly skewed local time zone.
-It is advised to use conditions evaluating the solar elevation instead of the before/after sunset/sunrise conditions.
+In those cases it is advised to use conditions evaluating the solar elevation instead of the before/after sunset/sunrise conditions.
```yaml
@@ -195,13 +195,13 @@ condition:
after: sunrise
```
-A visual timeline is provided below showing an example of when these conditions will be true. In this chart, sunrise is at 6:00, and sunset is at 18:00 (6:00 PM). The green areas of the chart indicate when the specified conditions will be true.
+A visual timeline is provided below showing an example of when these conditions are true. In this chart, sunrise is at 6:00, and sunset is at 18:00 (6:00 PM). The green areas of the chart indicate when the specified conditions are true.
### Template condition
-The template condition will test if the [given template][template] renders a value equal to true. This is achieved by having the template result in a true boolean expression or by having the template render 'true'.
+The template condition tests if the [given template][template] renders a value equal to true. This is achieved by having the template result in a true boolean expression or by having the template render 'true'.
```yaml
condition:
@@ -216,7 +216,7 @@ Within an automation, template conditions also have access to the `trigger` vari
### Time condition
-The time condition can test if it is after a specified time, before a specified time or if it is a certain day of the week
+The time condition can test if it is after a specified time, before a specified time or if it is a certain day of the week.
```yaml
condition:
@@ -241,7 +241,7 @@ A better weekday condition could be by using the [Workday Binary Sensor](/integr
### Zone condition
-Zone conditions test if an entity is in a certain zone. For zone automation to work, you need to have setup a device tracker platform that supports reporting GPS coordinates. Currently this is limited to the [OwnTracks platform](/integrations/owntracks/) and the [iCloud platform](/integrations/icloud/).
+Zone conditions test if an entity is in a certain zone. For zone automation to work, you need to have set up a device tracker platform that supports reporting GPS coordinates. Currently this is limited to the [OwnTracks platform](/integrations/owntracks/) and the [iCloud platform](/integrations/icloud/).
```yaml
condition:
diff --git a/source/_docs/scripts/service-calls.markdown b/source/_docs/scripts/service-calls.markdown
index 38d65358f10..9166b959477 100644
--- a/source/_docs/scripts/service-calls.markdown
+++ b/source/_docs/scripts/service-calls.markdown
@@ -96,7 +96,10 @@ There are four `homeassistant` services that aren't tied to any single domain, t
* `homeassistant.toggle` - Turns off an entity that is on, or turns on an entity that is off (that supports being turned on and off)
* `homeassistant.update_entity` - Request the update of an entity, rather than waiting for the next scheduled update, for example [google travel time] sensor, a [template sensor], or a [light]
+Complete service details and examples can be found on the [Home Assistant integration][homeassistant-integration-services] page.
+
[templating]: /topics/templating/
[google travel time]: /integrations/google_travel_time/
[template sensor]: /integrations/template/
[light]: /integrations/light/
+[homeassistant-integration-services]: /integrations/homeassistant#services
diff --git a/source/_docs/z-wave/control-panel.markdown b/source/_docs/z-wave/control-panel.markdown
index 5a516eaf494..591da3767e3 100644
--- a/source/_docs/z-wave/control-panel.markdown
+++ b/source/_docs/z-wave/control-panel.markdown
@@ -78,11 +78,11 @@ Battery powered devices need to be awake before you can use the Z-Wave control p
This is a dropdown where you can select all the entities of this node. Once selected you can then use:
* **Refresh Entity** to refresh just that entity's values
-* **Entity Attributes** to display the attributes of that entity (e.g., its friendly name, the ID of the node, etc)
+* **Entity Information** to display the attributes of that entity (e.g., its friendly name, the ID of the node, etc)
Here you can mark a device as requiring polling so the controller is aware of changes because the device doesn't send updates itself. Do see the information on [polling here](/docs/z-wave/devices/#polling), since excessive polling can break your Z-Wave network.
-The **Polling intensity** says how many poll intervals does is this device polled on. For example, if you set 2 then it's polled on every second interval.
+The **Polling intensity** says how many poll intervals this device is polled on. For example, if you set 2 then it's polled on every second interval.
You can also exclude a Z-Wave devices from Home Assistant. You can do that if you have a device that you need to have on the Z-Wave network, but you don't want it to appear in Home Assistant, or if you've got a device that's failed and you're unable to exclude it.
@@ -154,7 +154,7 @@ for x in range(0, 10):
translations["%s" % x] = "\\x3%s" % x
for c in sys.argv[1]:
- print(translations[c], end='')
+ print(translations[c], end="")
```
## OZW Log
diff --git a/source/_docs/z-wave/controllers.markdown b/source/_docs/z-wave/controllers.markdown
index c5981a106cf..261e84da83f 100644
--- a/source/_docs/z-wave/controllers.markdown
+++ b/source/_docs/z-wave/controllers.markdown
@@ -5,7 +5,7 @@ description: "Extended instructions how to setup Z-Wave."
## Supported Z-Wave USB Sticks & Hardware Modules
-You need to have a compatible Z-Wave stick or module installed. This needs to be a *static controller*, which most Z-Wave sticks and modules will be. If yours is a *bridge* device then it won't work with [OpenZWave](http://openzwave.com/), which is what provides Home Assistant's Z-Wave capabilities. The following devices have been confirmed to work:
+You need to have a compatible Z-Wave stick or module installed. This needs to be a *static controller*, which most Z-Wave sticks and modules will be. If yours is a *bridge* device then it won't work with [OpenZWave](http://openzwave.com/), which is what provides Home Assistant's Z-Wave capabilities. USB sticks using the new 700 series Z-Wave platform are not compatible. The following devices have been confirmed to work:
@@ -24,7 +24,7 @@ There have [been reports](https://www.raspberrypi.org/forums/viewtopic.php?f=28&
We recommend that you purchase a [Z-Wave Plus](https://z-wavealliance.org/z-wave_plus_certification/) controller, to take advantage of the improvements this provides. As OpenZWave doesn't support S2 or Smart Start, there's no need to buy one just for support of these features.
- If you're using Hass.io or running HASS in a Docker container, it's recommended to use a USB stick, not a module. Passing a module through Docker is more complicated than passing a USB stick through.
+ If you're using Hass.io or running Home Assistant in a Docker container, it's recommended to use a USB stick, not a module. Passing a module through Docker is more complicated than passing a USB stick through.
## Stick Alternatives
diff --git a/source/_docs/z-wave/installation.markdown b/source/_docs/z-wave/installation.markdown
index d8c0842ea06..875a00463e5 100644
--- a/source/_docs/z-wave/installation.markdown
+++ b/source/_docs/z-wave/installation.markdown
@@ -122,7 +122,7 @@ You can also check what hardware has been found using the [hassio command](/hass
$ hassio hardware info
```
-If you did an alternative install on Linux then the `modemmanager` package will interfere with any Z-Wave (or Zigbee) stick and should be removed or disabled. Failure to do so will result in random failures of those components. For example you can disable with `sudo systemctl disable ModemManager` and remove with `sudo apt-get purge modemmanager`.
+If you did an alternative install of Hass.io on Linux (e.g. installing Ubuntu, then Docker, then Hass.io) then the `modemmanager` package will interfere with any Z-Wave (or Zigbee) stick and should be removed or disabled in the host OS. Failure to do so will result in random failures of those components, e.g. dead or unreachable Z-Wave nodes, most notably right after Home Assistant restarts. Connect to your host OS via SSH, then you can disable with `sudo systemctl disable ModemManager` and remove with `sudo apt-get purge modemmanager` (commands are for Debian/Ubuntu).
### Docker
@@ -153,7 +153,7 @@ On the Raspberry Pi you will need to enable the serial interface in the `raspi-c
On Debian Linux platforms there are dependencies you will need to have installed ahead of time (included in `systemd-devel` on Fedora/RHEL systems):
```bash
-$ sudo apt-get install libudev-dev
+$ sudo apt-get install libudev-dev build-essential
```
You may also have to install the Python development libraries for your version of Python. For example `libpython3.6-dev`, and possibly `python3.6-dev` if you're using Python 3.6.
@@ -215,13 +215,16 @@ ls /dev/cu.usbmodem*
If your device path changes when you restart, see [this guide](http://hintshop.ludvig.co.nz/show/persistent-names-usb-serial-devices/) on fixing it.
-## Ubuntu and Debian based host system
+## Random unreachable Z-Wave nodes: ModemManager interference
-If your instance is running on a Debian based system, e.g., Ubuntu, the ModemManager may cause unexpected issues.
+If this applies to your situation:
+- Some or all Z-Wave nodes are unreachable after restarting Home Assistant; not necessarily after every restart but seemingly random.
+- The Z-Wave stick stops responding, needs to be re-plugged or Home Assistant needs a restart to get Z-Wave back.
+- Your host OS is Debian-based/Ubuntu (for example: you installed Ubuntu, then Docker, then Hass.io).
-The ModemManager might be claiming or interfering with a USB Z-Wave stick, like the much used Aeotec ones. If you experience issues where the stick stops responding, needs to be re-plugged or Home Assistant needs a restart to get Z-Wave back, chances are high that the ModemManager is causing the issue.
+Then chances are high that the ModemManager in the host OS is causing the issue, claiming or interfering with the USB Z-Wave stick like the much used Aeotec ones. In this case you need to disable ModemManager.
- Execute the following command on your host system to disable the ModemManager:
+Connect to your host OS (e.g. Ubuntu) through SSH, then execute the following command on your host system to disable the ModemManager:
```bash
systemctl disable ModemManager.service
diff --git a/source/_faq/component.markdown b/source/_faq/component.markdown
index 49db9c4525a..4acaa816335 100644
--- a/source/_faq/component.markdown
+++ b/source/_faq/component.markdown
@@ -4,6 +4,6 @@ description: "My integration does not show up"
ha_category: Configuration
---
-When a integration does not show up, many different things can be the case. Before you try any of these steps, make sure to look at the `home-assistant.log` file and see if there are any errors related to your integration you are trying to set up.
+When an integration does not show up, many different things can be the case. Before you try any of these steps, make sure to look at the `home-assistant.log` file and see if there are any errors related to your integration you are trying to set up.
If you have incorrect entries in your configuration files you can use the `check_config` script to assist in identifying them: `hass --script check_config`.
diff --git a/source/_faq/ha-vs-hassio.markdown b/source/_faq/ha-vs-hassio.markdown
index 6b6a8988c33..f83a3beb903 100644
--- a/source/_faq/ha-vs-hassio.markdown
+++ b/source/_faq/ha-vs-hassio.markdown
@@ -4,7 +4,7 @@ description: "Home Assistant vs. Hass.io"
ha_category: Installation
---
-Home Assistant is a Python program, in simple words. It can be run various operating system and provide the ability to track, control and automate your devices. When people talking about Home Assistant they usually refer to a standalone [installation method](/docs/installation/).
+Home Assistant is a Python program, in simple words. It can be run on various operating systems and provide the ability to track, control and automate your devices. When people talking about Home Assistant they usually refer to a standalone [installation method](/docs/installation/).
[Hass.io](/hassio/) is a combination of Home Assistant and tools which allows one to run it easily on a Raspberry Pi and other platforms without setting up an operating system first. Hass.io is an all-in one-solution and has a management user interface that can be used from the Home Assistant frontend. This interface is not present in a standalone setup of Home Assistant.
diff --git a/source/_includes/asides/component_navigation.html b/source/_includes/asides/component_navigation.html
index 1ad28740e5c..66e78373bdd 100644
--- a/source/_includes/asides/component_navigation.html
+++ b/source/_includes/asides/component_navigation.html
@@ -22,16 +22,16 @@
{%- endif -%}
- {%- if page.ha_qa_scale -%}
+ {%- if page.ha_quality_scale -%}
diff --git a/source/_integrations/abode.markdown b/source/_integrations/abode.markdown
index e39cfcbc33b..b295b28d6a1 100644
--- a/source/_integrations/abode.markdown
+++ b/source/_integrations/abode.markdown
@@ -1,6 +1,6 @@
---
-title: "Abode Home Security"
-description: "Instructions on integrating Abode home security with Home Assistant."
+title: Abode
+description: Instructions on integrating Abode home security with Home Assistant.
logo: abode.jpg
ha_category:
- Hub
@@ -15,6 +15,8 @@ ha_category:
ha_release: 0.52
ha_iot_class: Cloud Push
ha_config_flow: true
+ha_codeowners:
+ - '@shred86'
---
The `abode` integration will allow users to integrate their Abode Home Security systems into Home Assistant and use its alarm system and sensors to automate their homes.
diff --git a/source/_integrations/acer_projector.markdown b/source/_integrations/acer_projector.markdown
index ea66c086330..04acb894d93 100644
--- a/source/_integrations/acer_projector.markdown
+++ b/source/_integrations/acer_projector.markdown
@@ -1,6 +1,6 @@
---
-title: "Acer Projector Switch"
-description: "Instructions on how to integrate Acer Projector switches into Home Assistant."
+title: Acer Projector
+description: Instructions on how to integrate Acer Projector switches into Home Assistant.
logo: acer.png
ha_category:
- Multimedia
diff --git a/source/_integrations/actiontec.markdown b/source/_integrations/actiontec.markdown
index 2ec05057621..ba8cae59d30 100644
--- a/source/_integrations/actiontec.markdown
+++ b/source/_integrations/actiontec.markdown
@@ -1,6 +1,6 @@
---
-title: "Actiontec"
-description: "Instructions on how to integrate Actiontec routers into Home Assistant."
+title: Actiontec
+description: Instructions on how to integrate Actiontec routers into Home Assistant.
logo: actiontec.png
ha_category:
- Presence Detection
diff --git a/source/_integrations/adguard.markdown b/source/_integrations/adguard.markdown
index 486ccc30c1b..5b5a4bc66a4 100644
--- a/source/_integrations/adguard.markdown
+++ b/source/_integrations/adguard.markdown
@@ -1,6 +1,6 @@
---
-title: "AdGuard Home"
-description: "Instructions on how to integrate AdGuard Home with Home Assistant."
+title: AdGuard Home
+description: Instructions on how to integrate AdGuard Home with Home Assistant.
logo: adguard.png
ha_category:
- Network
@@ -8,6 +8,9 @@ ha_category:
- Switch
ha_release: 0.95
ha_iot_class: Local Polling
+ha_config_flow: true
+ha_codeowners:
+ - '@frenck'
---
AdGuard Home is a network-wide ad- and tracker-blocking DNS server with parental
diff --git a/source/_integrations/ads.markdown b/source/_integrations/ads.markdown
index 61742c7b38e..cd19f4a938b 100644
--- a/source/_integrations/ads.markdown
+++ b/source/_integrations/ads.markdown
@@ -1,5 +1,5 @@
---
-title: "ADS"
+title: ADS
description: Connect Home Assistant to TwinCAT devices via the ADS interface
logo: beckhoff.png
ha_category:
@@ -9,7 +9,7 @@ ha_category:
- Sensor
- Switch
- Cover
-ha_release: "0.60"
+ha_release: '0.60'
ha_iot_class: Local Push
---
diff --git a/source/_integrations/aftership.markdown b/source/_integrations/aftership.markdown
index e6e816e699b..a04b251280a 100644
--- a/source/_integrations/aftership.markdown
+++ b/source/_integrations/aftership.markdown
@@ -1,6 +1,6 @@
---
-title: AfterShip Sensor
-description: "Instructions on how to set up AfterShip sensors within Home Assistant."
+title: AfterShip
+description: Instructions on how to set up AfterShip sensors within Home Assistant.
logo: aftership.png
ha_category:
- Postal Service
diff --git a/source/_integrations/air_quality.markdown b/source/_integrations/air_quality.markdown
index 32c20f81e6c..3fe9bfa5c90 100644
--- a/source/_integrations/air_quality.markdown
+++ b/source/_integrations/air_quality.markdown
@@ -1,6 +1,6 @@
---
-title: "Air Quality"
-description: "Instructions on how to add air quality sensors with Home Assistant"
+title: Air Quality
+description: Instructions on how to add air quality sensors with Home Assistant
ha_release: 0.85
---
@@ -19,4 +19,3 @@ The platforms cover the following levels (if they are available):
- The N2O (nitrogen oxide) level.
- The NO (nitrogen monoxide) level.
- The NO2 (nitrogen dioxide) level.
-
diff --git a/source/_integrations/airly.markdown b/source/_integrations/airly.markdown
index 433dd654567..c386f7d2e27 100644
--- a/source/_integrations/airly.markdown
+++ b/source/_integrations/airly.markdown
@@ -1,11 +1,14 @@
---
-title: "Airly"
-description: "Instructions on how to integrate Airly within Home Assistant."
+title: Airly
+description: Instructions on how to integrate Airly within Home Assistant.
logo: airly.png
ha_category:
- Health
ha_release: 0.101
ha_iot_class: Cloud Polling
+ha_config_flow: true
+ha_codeowners:
+ - '@bieniu'
---
The `airly` integration uses the [Airly](https://airly.eu/) web service as a source for air quality data for your location.
diff --git a/source/_integrations/airvisual.markdown b/source/_integrations/airvisual.markdown
index c95b3562d5e..da875049a17 100644
--- a/source/_integrations/airvisual.markdown
+++ b/source/_integrations/airvisual.markdown
@@ -1,11 +1,13 @@
---
-title: "AirVisual"
-description: "Instructions on how to use AirVisual data within Home Assistant"
+title: AirVisual
+description: Instructions on how to use AirVisual data within Home Assistant
logo: airvisual.jpg
ha_category:
- Health
ha_release: 0.53
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@bachya'
---
The `airvisual` sensor platform queries the [AirVisual](https://airvisual.com/) API for air quality data. Data can be collected via latitude/longitude or by city/state/country. The resulting information creates sensors for the Air Quality Index (AQI), the human-friendly air quality level, and the main pollutant of that area. Sensors that conform to either/both the [U.S. and Chinese air quality standards](https://www.clm.com/publication.cfm?ID=366) can be created.
@@ -163,4 +165,3 @@ Particulate (<= 10 μm) | PM10 | [EPA: Particulate Matter (PM) Pollution ](https
Ozone | O | [EPA: Ozone Pollution](https://www.epa.gov/ozone-pollution)
Sulpher Dioxide | SO2 | [EPA: Sulfur Dioxide (SO2) Pollution](https://www.epa.gov/so2-pollution)
Carbon Monoxide | CO | [EPA: Carbon Monoxide (CO) Pollution in Outdoor Air](https://www.epa.gov/co-pollution)
-
diff --git a/source/_integrations/aladdin_connect.markdown b/source/_integrations/aladdin_connect.markdown
index ddcf9d3797a..4dc5b4ebef6 100644
--- a/source/_integrations/aladdin_connect.markdown
+++ b/source/_integrations/aladdin_connect.markdown
@@ -1,6 +1,6 @@
---
-title: "Genie Aladdin Connect Cover"
-description: "Instructions how to integrate Genie Aladdin Connect garage door covers into Home Assistant."
+title: Aladdin Connect
+description: Instructions how to integrate Genie Aladdin Connect garage door covers into Home Assistant.
logo: aladdin_connect.png
ha_category:
- Cover
diff --git a/source/_integrations/alarm_control_panel.markdown b/source/_integrations/alarm_control_panel.markdown
index b58bac3819f..19430f332f8 100644
--- a/source/_integrations/alarm_control_panel.markdown
+++ b/source/_integrations/alarm_control_panel.markdown
@@ -1,11 +1,11 @@
---
-title: "Alarm Control Panels"
-description: "Instructions on how to integrate Alarm Control Panels into Home Assistant."
+title: Alarm Control Panel
+description: Instructions on how to integrate Alarm Control Panels into Home Assistant.
logo: home-assistant.png
ha_category:
- Alarm
-ha_qa_scale: internal
ha_release: 0.7.3
+ha_quality_scale: internal
---
Home Assistant can give you an interface with is similar to a classic alarm system.
diff --git a/source/_integrations/alarmdecoder.markdown b/source/_integrations/alarmdecoder.markdown
index 7bf65735817..0bdcd0dc360 100644
--- a/source/_integrations/alarmdecoder.markdown
+++ b/source/_integrations/alarmdecoder.markdown
@@ -1,6 +1,6 @@
---
-title: "AlarmDecoder Alarm"
-description: "Instructions on how to integrate a DSC/Honeywell alarm panel with Home Assistant using an AlarmDecoder device."
+title: AlarmDecoder
+description: Instructions on how to integrate a DSC/Honeywell alarm panel with Home Assistant using an AlarmDecoder device.
logo: alarmdecoder.png
ha_category:
- Alarm
@@ -80,6 +80,11 @@ panel_display:
required: false
default: false
type: boolean
+autobypass:
+ description: "If this is set to `true`, then when arming (home or away), it will automatically bypass all open zones (sending '6#')."
+ required: false
+ default: false
+ type: boolean
zones:
description: "AlarmDecoder has no way to tell us which zones are actually in use, so each zone must be configured in Home Assistant. For each zone, at least a name must be given. For more information on the available zone types, take a look at the [Binary Sensor](/integrations/alarmdecoder) docs. *Note: If no zones are specified, Home Assistant will not load any binary_sensor integrations.*"
required: false
diff --git a/source/_integrations/alarmdotcom.markdown b/source/_integrations/alarmdotcom.markdown
index ec12d4556ad..02afea696a9 100644
--- a/source/_integrations/alarmdotcom.markdown
+++ b/source/_integrations/alarmdotcom.markdown
@@ -1,6 +1,6 @@
---
-title: "Alarm.com Alarm Control Panel"
-description: "Instructions on how to integrate Alarm.com into Home Assistant."
+title: Alarm.com
+description: Instructions on how to integrate Alarm.com into Home Assistant.
logo: alarmdotcom.png
ha_category:
- Alarm
diff --git a/source/_integrations/alert.markdown b/source/_integrations/alert.markdown
index 1791e897d33..751584342d8 100644
--- a/source/_integrations/alert.markdown
+++ b/source/_integrations/alert.markdown
@@ -1,11 +1,11 @@
---
-title: "Alert"
-description: "Instructions on how to setup automatic alerts within Home Assistant."
+title: Alert
+description: Instructions on how to setup automatic alerts within Home Assistant.
logo: home-assistant.png
ha_category:
- Automation
ha_release: 0.38
-ha_qa_scale: internal
+ha_quality_scale: internal
---
The `alert` integration is designed to notify you when problematic issues arise.
@@ -51,7 +51,7 @@ entity_id:
title:
description: >
A title to be used for the notification if the notifier supports it
- with [template][template] support.
+ with [template](/docs/configuration/templating/) support.
required: false
type: template
state:
@@ -80,13 +80,13 @@ skip_first:
message:
description: >
A message to be sent after an alert transitions from `off` to `on`
- with [template][template] support.
+ with [template](/docs/configuration/templating/) support.
required: false
type: template
done_message:
description: >
- A message sent after an alert transitions from `on` to `off` with
- [template][template] support. Is only sent if an alert notification
+ A message sent after an alert transitions from `on` to `off` with
+ [template](/docs/configuration/templating/) support. Is only sent if an alert notification
was sent for transitioning from `off` to `on`.
required: false
type: template
@@ -205,7 +205,7 @@ sent at 2:15, 2:45, 3:45, 4:45, etc., continuing every 60 minutes.
### Message Templates
It may be desirable to have the alert notifications include information
-about the state of the entity. [Templates](/docs/configuration/templating/)
+about the state of the entity. [Templates][template]
can be used in the message or name of the alert to make it more relevant.
The following will show for a plant how to include the problem `attribute`
of the entity.
diff --git a/source/_integrations/alexa.intent.markdown b/source/_integrations/alexa.intent.markdown
index c5f34e5bd08..f67737a01f9 100644
--- a/source/_integrations/alexa.intent.markdown
+++ b/source/_integrations/alexa.intent.markdown
@@ -19,7 +19,7 @@ The built-in Alexa integration allows you to integrate Home Assistant into Alexa
- Amazon Developer Account. You can sign on [here](https://developer.amazon.com).
- An [AWS account](https://aws.amazon.com/free/) is need if you want to use Alexa Custom Skill API. Part of your Alexa Custom Skill will be hosted on [AWS Lambda](https://aws.amazon.com/lambda/pricing/). However you don't need worry the cost, AWS Lambda allow free to use up to 1 millions requests and 1GB outbound data transfer per month.
-- The Alexa Custom Skill API also needs your Home Assistant instance can be accessed from Internet. We strongly suggest you host HTTPS server and use validation certificate. Read more on [our blog](/blog/2015/12/13/setup-encryption-using-lets-encrypt/) about how to set up encryption for Home Assistant. When running Hass.io using the [Duck DNS](/addons/duckdns/) add-on is the easiest method.
+- The Alexa Custom Skill API also needs your Home Assistant instance to be accessible from the internet via HTTPS on port 443 using a certificate signed by [an Amazon approved certificate authority](https://ccadb-public.secure.force.com/mozilla/IncludedCACertificateReport), this is so account linking can take place. Read more on [our blog](/blog/2015/12/13/setup-encryption-using-lets-encrypt/) about how to set up encryption for Home Assistant. When running Hass.io using the [Duck DNS](/addons/duckdns/) add-on is the easiest method.
### Create Your Amazon Alexa Custom Skill
@@ -94,8 +94,9 @@ Alexa can link your Amazon account to your Home Assistant account. Therefore Hom
- Find the skill you just created and click `Edit` in the `Actions` column.
- Click `ACCOUNT LINKING` in the left navigation bar of build page
- Input all information required. Assuming your Home Assistant can be accessed by https://[YOUR HOME ASSISTANT URL:PORT]
- * `Authorization URI`: https://[YOUR HOME ASSISTANT URL:PORT]/auth/authorize
- * `Access Token URI`: https://[YOUR HOME ASSISTANT URL:PORT]/auth/token
+ * `Authorization URI`: https://[YOUR HOME ASSISTANT URL]/auth/authorize
+ * `Access Token URI`: https://[YOUR HOME ASSISTANT URL]/auth/token
+ - Note: you must use a valid/trusted SSL Certificate and port 443 for account linking to work
* `Client ID`:
- https://pitangui.amazon.com/ if you are in US
- https://layla.amazon.com/ if you are in EU
diff --git a/source/_integrations/alexa.markdown b/source/_integrations/alexa.markdown
index 7b4d34c6e76..e293f349124 100644
--- a/source/_integrations/alexa.markdown
+++ b/source/_integrations/alexa.markdown
@@ -1,11 +1,14 @@
---
-title: "Amazon Alexa"
-description: "Instructions on how to connect Alexa/Amazon Echo to Home Assistant."
+title: Amazon Alexa
+description: Instructions on how to connect Alexa/Amazon Echo to Home Assistant.
logo: amazon-alexa.png
ha_category:
- Voice
featured: true
-ha_release: "0.10"
+ha_release: '0.10'
+ha_codeowners:
+ - '@home-assistant/cloud'
+ - '@ochlocracy'
---
## Automatic setup via Home Assistant Cloud
diff --git a/source/_integrations/alexa.smart_home.markdown b/source/_integrations/alexa.smart_home.markdown
index 2b72bd1df37..330ad3bd066 100644
--- a/source/_integrations/alexa.smart_home.markdown
+++ b/source/_integrations/alexa.smart_home.markdown
@@ -37,7 +37,7 @@ For Home Assistant Cloud Users, documentation can be found [here](https://www.na
- Amazon Developer Account. You can sign on [here](https://developer.amazon.com).
- An [AWS account](https://aws.amazon.com/free/) is need if you want to use Smart Home Skill API. Part of your Smart Home Skill will be hosted on [AWS Lambda](https://aws.amazon.com/lambda/pricing/). However you don't need worry the cost, AWS Lambda allow free to use up to 1 millions requests and 1GB outbound data transfer per month.
-- Smart Home API also needs your Home Assistant instance can be accessed from Internet. We strongly suggest you host HTTPS server and use validation certificate. Read more on [our blog](/blog/2015/12/13/setup-encryption-using-lets-encrypt/) about how to set up encryption for Home Assistant. When running Hass.io using the [Duck DNS](/addons/duckdns/) add-on is the easiest method.
+- The Smart Home API also needs your Home Assistant instance to be accessible from the internet via HTTPS on port 443 using a certificate signed by [an Amazon approved certificate authority](https://ccadb-public.secure.force.com/mozilla/IncludedCACertificateReport), this is so account linking can take place. Read more on [our blog](/blog/2015/12/13/setup-encryption-using-lets-encrypt/) about how to set up encryption for Home Assistant. When running Hass.io using the [Duck DNS](/addons/duckdns/) add-on is the easiest method.
### Create Your Amazon Alexa Smart Home Skill
@@ -171,8 +171,9 @@ Alexa can link your Amazon account to your Home Assistant account. Therefore Hom
- Find the skill you just created, click `Edit` link in the `Actions` column.
- Click `ACCOUNT LINKING` in the left navigation bar of build page
- Input all information required. Assuming your Home Assistant can be accessed by https://[YOUR HOME ASSISTANT URL:PORT]
- * `Authorization URI`: https://[YOUR HOME ASSISTANT URL:PORT]/auth/authorize
- * `Access Token URI`: https://[YOUR HOME ASSISTANT URL:PORT]/auth/token
+ * `Authorization URI`: https://[YOUR HOME ASSISTANT URL]/auth/authorize
+ * `Access Token URI`: https://[YOUR HOME ASSISTANT URL]/auth/token
+ - Note: you must use a valid/trusted SSL Certificate and port 443 for account linking to work
* `Client ID`:
- https://pitangui.amazon.com/ if you are in US
- https://layla.amazon.com/ if you are in EU
@@ -206,6 +207,7 @@ Example configuration:
```yaml
alexa:
smart_home:
+ locale: en-US
endpoint: https://api.amazonalexa.com/v3/events
client_id: !secret alexa_client_id
client_secret: !secret alexa_client_secret
@@ -225,6 +227,8 @@ alexa:
display_categories: LIGHT
```
+Set the `locale` to the locale of your Alexa devices. Supported locales are: `de-DE`, `en-AU`, `en-CA`, `en-GB`, `en-IN`, `en-US`, `es-ES`, `es-MX`, `fr-CA`, `fr-FR`, `it-IT`, `ja-JP`. Default is `en-US`.
+
The `endpoint`, `client_id` and `client_secret` are optional, and are only required if you want to enable Alexa's proactive mode (i.e. "Send Alexa Events" enabled). Please note the following if you want to enable proactive mode:
- There are different endpoint URLs, depending on the region of your skill. Please check the available endpoints at
diff --git a/source/_integrations/almond.markdown b/source/_integrations/almond.markdown
index 8830407c0d6..8f400f6c978 100644
--- a/source/_integrations/almond.markdown
+++ b/source/_integrations/almond.markdown
@@ -1,11 +1,15 @@
---
-title: "Almond"
-description: "Instructions on how to setup Almond within Home Assistant."
+title: Almond
+description: Instructions on how to setup Almond within Home Assistant.
logo: almond.png
ha_category:
- Voice
ha_iot_class: Local Polling
-ha_release: "0.102"
+ha_release: '0.102'
+ha_config_flow: true
+ha_codeowners:
+ - '@gcampax'
+ - '@balloob'
---
[Almond](https://almond.stanford.edu/) is an open, privacy-preserving virtual assistant by [Stanford Open Virtual Assistant Lab](https://oval.cs.stanford.edu/). It allows you, among other things, to control Home Assistant using natural language. Once installed, it will be available on Lovelace via the microphone icon in the top right.
diff --git a/source/_integrations/alpha_vantage.markdown b/source/_integrations/alpha_vantage.markdown
index 5a6a919ef0f..69348b874b0 100644
--- a/source/_integrations/alpha_vantage.markdown
+++ b/source/_integrations/alpha_vantage.markdown
@@ -1,11 +1,13 @@
---
-title: "Alpha Vantage"
-description: "Instructions on how to setup Alpha Vantage within Home Assistant."
+title: Alpha Vantage
+description: Instructions on how to setup Alpha Vantage within Home Assistant.
logo: alpha_vantage.png
ha_category:
- Finance
ha_iot_class: Cloud Polling
-ha_release: "0.60"
+ha_release: '0.60'
+ha_codeowners:
+ - '@fabaff'
---
The `alpha_vantage` sensor platform uses [Alpha Vantage](https://www.alphavantage.co) to monitor the stock market. This platform also provides detail about exchange rates.
@@ -89,4 +91,3 @@ sensor:
to: USD
name: Bitcoin
```
-
diff --git a/source/_integrations/amazon_polly.markdown b/source/_integrations/amazon_polly.markdown
index 7a63388dfba..46c4f65e3f4 100644
--- a/source/_integrations/amazon_polly.markdown
+++ b/source/_integrations/amazon_polly.markdown
@@ -1,10 +1,12 @@
---
-title: "Amazon Polly"
-description: "Instructions on how to setup Amazon Polly with Home Assistant."
+title: Amazon Polly
+description: Instructions on how to setup Amazon Polly with Home Assistant.
logo: polly.png
ha_category:
- Text-to-speech
ha_release: 0.37
+ha_codeowners:
+ - '@robbiet480'
---
The `amazon_polly` text-to-speech platform that works with [Amazon Polly](https://aws.amazon.com/polly/) to create the spoken output.
diff --git a/source/_integrations/ambiclimate.markdown b/source/_integrations/ambiclimate.markdown
index a5e64074fd3..807e1739ba7 100644
--- a/source/_integrations/ambiclimate.markdown
+++ b/source/_integrations/ambiclimate.markdown
@@ -1,10 +1,13 @@
---
-title: "Ambiclimate A/C controller"
-description: "Instructions on how to integrate Ambiclimate A/C controller into Home Assistant."
+title: Ambiclimate
+description: Instructions on how to integrate Ambiclimate A/C controller into Home Assistant.
logo: ambiclimate.png
ha_category: Climate
ha_release: 0.93
ha_iot_class: Cloud Polling
+ha_config_flow: true
+ha_codeowners:
+ - '@danielhiversen'
---
Integrates [Ambiclimate](https://ambiclimate.com/) Air Conditioning controller into Home Assistant.
diff --git a/source/_integrations/ambient_station.markdown b/source/_integrations/ambient_station.markdown
index d39490018ca..c2c3c9eb364 100644
--- a/source/_integrations/ambient_station.markdown
+++ b/source/_integrations/ambient_station.markdown
@@ -1,11 +1,14 @@
---
-title: "Ambient Weather Station Sensor"
-description: "How to integrate Ambient Weather station within Home Assistant."
+title: Ambient Weather Station
+description: How to integrate Ambient Weather station within Home Assistant.
logo: ambient_weather.png
ha_category:
- Weather
ha_release: 0.85
ha_iot_class: Cloud Push
+ha_config_flow: true
+ha_codeowners:
+ - '@bachya'
---
The `Ambient Weather Station` integration retrieves local weather information
diff --git a/source/_integrations/amcrest.markdown b/source/_integrations/amcrest.markdown
index d5f9047eb76..7abee8ceb65 100644
--- a/source/_integrations/amcrest.markdown
+++ b/source/_integrations/amcrest.markdown
@@ -1,13 +1,12 @@
---
-title: "Amcrest IP Camera"
-description: "Instructions on how to integrate Amcrest IP cameras within Home Assistant."
+title: Amcrest
+description: Instructions on how to integrate Amcrest IP cameras within Home Assistant.
logo: amcrest.png
ha_category:
- Hub
- Binary Sensor
- Camera
- Sensor
- - Switch
ha_iot_class: Local Polling
ha_release: 0.49
---
@@ -19,7 +18,6 @@ There is currently support for the following device types within Home Assistant:
- Binary Sensor
- Camera
- Sensor
-- Switch (deprecated)
## Configuration
@@ -117,34 +115,12 @@ sensors:
type: list
default: None
keys:
- motion_detector:
- description: >
- Return `true`/`false` when motion is detected.
-
- **Note:** The motion_detector sensor is deprecated and will be removed in a future release.
- Use **binary_sensors** option **motion_detected** instead.
sdcard:
description: Return the SD card usage by reporting the total and used space.
ptz_preset:
description: >
Return the number of PTZ preset positions
configured for the given camera.
-switches:
- description: >
- Switches to display in the frontend.
-
- **Note:** Switches are deprecated and will be removed in a future release.
- Use services and attributes instead.
-
- The following switches can be monitored:
- required: false
- type: list
- default: None
- keys:
- motion_detection:
- description: Enable/disable motion detection setting.
- motion_recording:
- description: Enable/disable recording on motion detection setting.
control_light:
description: >
Automatically control the camera's indicator light, turning it on if the audio or video streams are enabled, and turning it off if both streams are disabled.
@@ -254,7 +230,3 @@ amcrest:
```
To check if your Amcrest camera is supported/tested, visit the [supportability matrix](https://github.com/tchellomello/python-amcrest#supportability-matrix) link from the `python-amcrest` project.
-
-
-In previous versions, switch devices in setups with multiple cameras, would not have specific entity ID causing them to change randomly after each Home Assistant restart. The current version adds the name of the camera at the end of the switch entity ID, making it more specific and consistent and causes the name option to be required in a multi-camera system. This behavior matches the sensor behavior of the Amcrest component. Because of this, older automations may require updates to the entity ID.
-
diff --git a/source/_integrations/ampio.markdown b/source/_integrations/ampio.markdown
index 22386b8baa4..6588dc4cf0e 100644
--- a/source/_integrations/ampio.markdown
+++ b/source/_integrations/ampio.markdown
@@ -1,12 +1,12 @@
---
-title: "Ampio Smog"
-description: "Instructions on how to setup Ampio Smog sensors in Home Assistant."
+title: Ampio Smart Smog System
+description: Instructions on how to setup Ampio Smog sensors in Home Assistant.
logo: ampio_smog.png
ha_category:
- Health
- Sensor
ha_release: 0.92
-ha_iot_class: "Cloud Polling"
+ha_iot_class: Cloud Polling
---
The `ampio` air quality platform will query the open data API of [ampio.pl](http://smog1.ampio.pl:3050/) to monitor air quality sensor station.
@@ -37,4 +37,3 @@ name:
default: Station name
type: string
{% endconfiguration %}
-
diff --git a/source/_integrations/android_ip_webcam.markdown b/source/_integrations/android_ip_webcam.markdown
index 3d13b52a815..b84d8267125 100644
--- a/source/_integrations/android_ip_webcam.markdown
+++ b/source/_integrations/android_ip_webcam.markdown
@@ -1,6 +1,6 @@
---
-title: "Android IP Webcam"
-description: "Connect Android devices as an IP webcam to Home Assistant"
+title: Android IP Webcam
+description: Connect Android devices as an IP webcam to Home Assistant
logo: android_ip_webcam.png
ha_category:
- Hub
@@ -8,7 +8,7 @@ ha_category:
- Camera
- Sensor
- Switch
-ha_release: "0.40"
+ha_release: '0.40'
ha_iot_class: Local Polling
---
diff --git a/source/_integrations/androidtv.markdown b/source/_integrations/androidtv.markdown
index dd311db046d..1e5b905164f 100644
--- a/source/_integrations/androidtv.markdown
+++ b/source/_integrations/androidtv.markdown
@@ -1,11 +1,13 @@
---
-title: "Android TV"
-description: "Instructions on how to integrate Android TV and Fire TV devices into Home Assistant."
+title: Android TV
+description: Instructions on how to integrate Android TV and Fire TV devices into Home Assistant.
logo: androidtv.png
ha_category:
- Media Player
ha_release: 0.7.6
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@JeffLIrion'
---
The `androidtv` platform allows you to control an Android TV device or [Amazon Fire TV](https://www.amazon.com/b/?node=8521791011) device.
@@ -61,7 +63,7 @@ adbkey:
required: false
type: string
adb_server_ip:
- description: The IP address of the ADB server. If this is provided, the integration will utilize an [ADB server](#1-adb-server) to communicate with the device.
+ description: The IP address of the ADB server. If this is provided, the integration will utilize an [ADB server](#2-adb-server) to communicate with the device.
required: false
type: string
adb_server_port:
@@ -70,7 +72,7 @@ adb_server_port:
default: 5037
type: integer
get_sources:
- description: Whether or not to retrieve the running apps as the list of sources for Fire TV devices; not used for Android TV devices.
+ description: Whether or not to retrieve the running apps as the list of sources.
required: false
default: true
type: boolean
@@ -159,18 +161,18 @@ This integration works by sending ADB commands to your Android TV / Fire TV devi
When connecting to your device for the first time, a dialog will appear on your Android TV / Fire TV asking you to approve the connection. Check the box that says "always allow connections from this device" and hit OK.
-### 1. ADB Server
+### 1. Python ADB Implementation
-You can use an ADB server to connect to your Android TV and Fire TV devices.
-
-For Hass.io users, you can install the [Android Debug Bridge](https://github.com/hassio-addons/addon-adb/blob/master/README.md) addon. Using this approach, Home Assistant will send the ADB commands to the server, which will then send them to the Android TV / Fire TV device and report back to Home Assistant. To use this option, add the `adb_server_ip` option to your configuration. If you are running the server on the same machine as Home Assistant, you can use `127.0.0.1` for this value.
-
-### 2. Python ADB Implementation
-
-The second option is to connect to your device using the `adb-shell` Python package. As of Home Assistant 0.101, if a key is needed for authentication and it is not provided by the `adbkey` configuration option, then Home Assistant will generate a key for you.
+The default approach is to connect to your device using the `adb-shell` Python package. As of Home Assistant 0.101, if a key is needed for authentication and it is not provided by the `adbkey` configuration option, then Home Assistant will generate a key for you.
Prior to Home Assistant 0.101, this approach did not work well for newer devices. Efforts have been made to resolve these issues, but if you experience problems then you should use the ADB server option.
+### 2. ADB Server
+
+The second option is to use an ADB server to connect to your Android TV and Fire TV devices.
+
+For Hass.io users, you can install the [Android Debug Bridge](https://github.com/hassio-addons/addon-adb/blob/master/README.md) addon. Using this approach, Home Assistant will send the ADB commands to the server, which will then send them to the Android TV / Fire TV device and report back to Home Assistant. To use this option, add the `adb_server_ip` option to your configuration. If you are running the server on the same machine as Home Assistant, you can use `127.0.0.1` for this value.
+
## ADB Troubleshooting
If the setup for your Android TV or Fire TV device fails, then there is probably an issue with your ADB connection. Here are some possible causes.
@@ -185,13 +187,15 @@ If the setup for your Android TV or Fire TV device fails, then there is probably
5. Some Android TV devices (e.g., Philips TVs running Android TV) only accept the initial ADB connection request over their Wi-Fi interface. If you have the TV wired, you need to connect it to WiFi and try the initial connection again. Once the authentication has been granted via Wi-Fi, you can connect to the TV over the wired interface as well.
-6. If you are using the [Python ADB implementation](#2-python-adb-implementation) approach, as mentioned above, there may be some issues with newer devices. In this case, you should use the [ADB server](#1-adb-server) approach instead.
+6. If your device drops off WiFi, breaking the ADB connection and causing the entity to become unavailable in Home Assistant, you could install a wake lock utility (such as [Wakelock](https://github.com/d4rken/wakelock-revamp)) to prevent this from happening. Some users have reported this problem with Xiaomi Mi Box devices.
+
+7. If you are using the [Python ADB implementation](#1-python-adb-implementation) approach, as mentioned above, there may be some issues with newer devices. In this case, you should use the [ADB server](#2-adb-server) approach instead.
## Services
-### (Fire TV devices only) `media_player.select_source`
+### `media_player.select_source`
-For Fire TV devices, you can launch an app using the `media_player.select_source` command. Simply provide the app ID as the `source`. You can also stop an app by prefixing the app ID with a `!`. For example, you could define [scripts](/docs/scripts) to start and stop Netflix as follows:
+You can launch an app on your device using the `media_player.select_source` command. Simply provide the app ID as the `source`. You can also stop an app by prefixing the app ID with a `!`. For example, you could define [scripts](/docs/scripts) to start and stop Netflix as follows:
```yaml
start_netflix:
@@ -247,6 +251,24 @@ You can also use the command `GET_PROPERTIES` to retrieve the properties used by
A list of various intents can be found [here](https://gist.github.com/mcfrojd/9e6875e1db5c089b1e3ddeb7dba0f304).
+### `androidtv.download` and `androidtv.upload`
+
+You can use the `androidtv.download` service to download a file from your Android TV / Fire TV device to your Home Assistant instance.
+
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ----------- |
+| `entity_id` | no | Name of Android TV / Fire TV entity.
+| `device_path` | no | The filepath on the Android TV / Fire TV device.
+| `local_path` | no | The filepath on your Home Assistant instance.
+
+Similarly, you can use the `androidtv.upload` service to upload a file from Home Assistant instance to Android TV / Fire TV devices.
+
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ----------- |
+| `entity_id` | no | Name(s) of Android TV / Fire TV entities.
+| `device_path` | no | The filepath on the Android TV / Fire TV device.
+| `local_path` | no | The filepath on your Home Assistant instance.
+
## Custom State Detection
The Android TV integration works by polling the Android TV / Fire TV device at a regular interval and collecting a handful of properties. Unfortunately, there is no standard API for determining the state of the device to which all apps adhere. Instead, the backend `androidtv` package uses three of the properties that it collects to determine the state: `audio_state`, `media_session_state`, and `wake_lock_size`. The correct logic for determining the state differs depending on the current app, and the backend `androidtv` package implements app-specific state detection logic for a handful of apps. Of course, it is not feasible to implement custom logic for each and every app in the `androidtv` package. Moreover, the correct state detection logic may differ across devices and device configurations.
diff --git a/source/_integrations/anel_pwrctrl.markdown b/source/_integrations/anel_pwrctrl.markdown
index e146f69fb6e..509b449b4e5 100644
--- a/source/_integrations/anel_pwrctrl.markdown
+++ b/source/_integrations/anel_pwrctrl.markdown
@@ -1,11 +1,11 @@
---
-title: "ANEL PwrCtrl Switch"
-description: "Instructions on how to integrate ANEL PwrCtrl switches within Home Assistant."
+title: Anel NET-PwrCtrl
+description: Instructions on how to integrate ANEL PwrCtrl switches within Home Assistant.
logo: anel.png
ha_category:
- Switch
ha_iot_class: Local Polling
-ha_release: "0.30"
+ha_release: '0.30'
---
The `anel_pwrctrl` switch platform allows you to control [ANEL PwrCtrl](https://anel-elektronik.de/SITE/produkte/produkte.htm) devices.
diff --git a/source/_integrations/anthemav.markdown b/source/_integrations/anthemav.markdown
index 7994f1334f4..9662b62512e 100644
--- a/source/_integrations/anthemav.markdown
+++ b/source/_integrations/anthemav.markdown
@@ -1,6 +1,6 @@
---
-title: "Anthem A/V Receivers"
-description: "Instructions on how to integrate Anthem A/V Receivers into Home Assistant."
+title: Anthem A/V Receivers
+description: Instructions on how to integrate Anthem A/V Receivers into Home Assistant.
logo: anthemav.png
ha_category:
- Media Player
diff --git a/source/_integrations/apache_kafka.markdown b/source/_integrations/apache_kafka.markdown
index 9442b8613df..51e3325b3b6 100644
--- a/source/_integrations/apache_kafka.markdown
+++ b/source/_integrations/apache_kafka.markdown
@@ -1,10 +1,12 @@
---
-title: "Apache Kafka"
-description: "Send data and events to Apache Kafka."
+title: Apache Kafka
+description: Send data and events to Apache Kafka.
logo: apache_kafka.png
ha_category:
- History
ha_release: 0.97
+ha_codeowners:
+ - '@bachya'
---
The `apache_kafka` integration sends all state changes to a
diff --git a/source/_integrations/apcupsd.markdown b/source/_integrations/apcupsd.markdown
index 93649d924b7..54f99a94435 100644
--- a/source/_integrations/apcupsd.markdown
+++ b/source/_integrations/apcupsd.markdown
@@ -1,6 +1,6 @@
---
-title: "APCUPSd"
-description: "Instructions on how to integrate APCUPSd status with Home Assistant."
+title: APCUPSd
+description: Instructions on how to integrate APCUPSd status with Home Assistant.
logo: apcupsd.png
ha_category:
- System Monitor
@@ -47,7 +47,7 @@ port:
-If you get `ConnectionRefusedError: Connection refused` errors in the Home assistant logs, ensure the [APCUPSd](http://www.apcupsd.org/) configuration directives used by its Network Information Server is set to permit connections from all addresses [NISIP 0.0.0.0](http://www.apcupsd.org/manual/manual.html#configuration-directives-used-by-the-network-information-server), else non-local addesses will not connect. This includes Hass.io running in Docker, even when hosted on the same machine or a virtual machine.
+If you get `ConnectionRefusedError: Connection refused` errors in the Home Assistant logs, ensure the [APCUPSd](http://www.apcupsd.org/) configuration directives used by its Network Information Server is set to permit connections from all addresses [NISIP 0.0.0.0](http://www.apcupsd.org/manual/manual.html#configuration-directives-used-by-the-network-information-server), else non-local addesses will not connect. This includes Hass.io running in Docker, even when hosted on the same machine or a virtual machine.
diff --git a/source/_integrations/api.markdown b/source/_integrations/api.markdown
index 145aec44d37..178ed30aded 100644
--- a/source/_integrations/api.markdown
+++ b/source/_integrations/api.markdown
@@ -1,11 +1,13 @@
---
-title: "API"
-description: "Instructions on how to setup the RESTful API within Home Assistant."
+title: Home Assistant API
+description: Instructions on how to setup the RESTful API within Home Assistant.
logo: home-assistant.png
ha_category:
- Other
-ha_qa_scale: internal
ha_release: 0.7
+ha_quality_scale: internal
+ha_codeowners:
+ - '@home-assistant/core'
---
The `api` integration exposes a RESTful API and allows one to interact with a Home Assistant instance that is running headless. This integration depends on the [`http` integration](/integrations/http/).
diff --git a/source/_integrations/apns.markdown b/source/_integrations/apns.markdown
index 250e035e9c6..e2cd6d2746d 100644
--- a/source/_integrations/apns.markdown
+++ b/source/_integrations/apns.markdown
@@ -1,6 +1,6 @@
---
-title: "APNS"
-description: "Instructions on how to add APNS notifications to Home Assistant."
+title: Apple Push Notification Service (APNS)
+description: Instructions on how to add APNS notifications to Home Assistant.
logo: apple.png
ha_category:
- Notifications
@@ -48,7 +48,7 @@ sandbox:
The APNS platform will register two services, `notify.NOTIFIER_NAME` and `apns.apns_NOTIFIER_NAME`.
-### notify.apns_NOTIFIER_NAME
+### apns.apns_NOTIFIER_NAME
This service will register device IDs with Home Assistant. In order to receive a notification a device must be registered. The app on the device can use this service to send an ID to Home Assistant during startup, the ID will be stored in `[NOTIFIER_NAME]_apns.yaml`.
diff --git a/source/_integrations/apple_tv.markdown b/source/_integrations/apple_tv.markdown
index eeec08c3d4a..a06ec891a1d 100644
--- a/source/_integrations/apple_tv.markdown
+++ b/source/_integrations/apple_tv.markdown
@@ -1,6 +1,6 @@
---
-title: "Apple TV"
-description: "Instructions on how to integrate Apple TV devices into Home Assistant."
+title: Apple TV
+description: Instructions on how to integrate Apple TV devices into Home Assistant.
logo: apple.png
ha_category:
- Multimedia
@@ -134,12 +134,12 @@ Restart Home Assistant, and you should now be able to use `play_url` as before.
### My Apple TV turns on when I restart Home Assistant
-The Apple TV will automatically turn on if a request is sent to it, e.g., if a button is pressed, something is streamed to it via AirPlay or if current state (currently playing) is accessed. This is how Apple has designed it, and it will cause problems if you are using HDMI CEC. Every time Home Assistant is started, a new request is sent to the device to figure out what is currently playing. When using CEC, this will wake up your TV and other devices you have configured.
+The Apple TV will automatically turn on if a request is sent to it, e.g., if a button is pressed, something is streamed to it via AirPlay or if current state (currently playing) is accessed. This is how Apple has designed it, and it will cause problems if you are using HDMI-CEC. Every time Home Assistant is started, a new request is sent to the device to figure out what is currently playing. When using CEC, this will wake up your TV and other devices you have configured.
So, if your TV is randomly turning on, this is probably the reason. As stated, this is by design, and there is no real fix for it. There's also no known way to turn off the Apple TV via the protocol used for communication. You have the following options:
- Do not use this platform
-- Disable HDMI CEC on your Apple TV
+- Disable HDMI-CEC on your Apple TV
- Use "fake standby"
The first two points are quite obvious. Fake standby is a concept implemented in this platform that disables all requests to the device and makes it appear as being "off" in the web interface. This will make sure that the device is not woken up, but it will of course not show any information or allow you to control it. It is however easy to turn it on (or off) in the web interface or to use an automation with `turn_on`. To make it more useful, you can write automations that turn it on or off depending on some other device, like the input source on your receiver.
@@ -156,9 +156,9 @@ Turning the device on/off in the user interface will *not* turn the physical dev
To play media on an Apple TV with device authentication enabled (e.g., ATV4 with tvOS 10.2+), Home Assistant must be properly authenticated. This method starts the process and presents the credentials needed for playback as a persistent notification. Please see guide above for usage.
-| Service data attribute | Optional | Description |
-| ---------------------- | -------- | ----------- |
-| `entity_id` | yes | String or list of strings that point at `entity_id`s of Apple TVs.
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ------------------------------------------------------------------ |
+| `entity_id` | yes | String or list of strings that point at `entity_id`s of Apple TVs. |
### Service `apple_tv_scan`
diff --git a/source/_integrations/apprise.markdown b/source/_integrations/apprise.markdown
index b2759586a5d..e30a954ee75 100644
--- a/source/_integrations/apprise.markdown
+++ b/source/_integrations/apprise.markdown
@@ -1,10 +1,12 @@
---
-title: "Apprise"
-description: "Instructions on how to add Apprise notifications to Home Assistant."
+title: Apprise
+description: Instructions on how to add Apprise notifications to Home Assistant.
logo: apprise.png
ha_category:
- Notifications
ha_release: 0.101
+ha_codeowners:
+ - '@caronc'
---
The [Apprise service](https://github.com/caronc/apprise/) is an all-in-one solution to open up Home Assistant to _just about_ every Notification platform (such as Amazon SNS, Discord, Telegram, Slack, MSTeams, Twilio, etc.)
diff --git a/source/_integrations/aprs.markdown b/source/_integrations/aprs.markdown
index 6e6e1993ab2..896c3fc9a97 100644
--- a/source/_integrations/aprs.markdown
+++ b/source/_integrations/aprs.markdown
@@ -1,10 +1,12 @@
---
-title: "APRS"
-description: "Instructions on how to use APRS to track devices in Home Assistant."
+title: APRS
+description: Instructions on how to use APRS to track devices in Home Assistant.
logo: aprs.png
ha_release: 0.95
ha_category: Presence Detection
ha_iot_class: Cloud Push
+ha_codeowners:
+ - '@PhilRW'
---
The `aprs` [(Automatic Packet Reporting System)](https://en.wikipedia.org/wiki/Automatic_Packet_Reporting_System) device tracker integration connects to the [APRS-IS](http://aprs-is.net/) network for tracking amateur radio devices.
diff --git a/source/_integrations/aqualogic.markdown b/source/_integrations/aqualogic.markdown
index 0ec4b70a17b..7331ea0e519 100644
--- a/source/_integrations/aqualogic.markdown
+++ b/source/_integrations/aqualogic.markdown
@@ -1,12 +1,12 @@
---
-title: "AquaLogic"
-description: "Instructions on how to integrate an AquaLogic controller within Home Assistant."
+title: AquaLogic
+description: Instructions on how to integrate an AquaLogic controller within Home Assistant.
logo: hayward.png
ha_category:
- Hub
- Sensor
- Switch
-ha_release: "0.80"
+ha_release: '0.80'
ha_iot_class: Local Push
---
diff --git a/source/_integrations/aquostv.markdown b/source/_integrations/aquostv.markdown
index 2ac9d50ab56..683ae0f55f9 100644
--- a/source/_integrations/aquostv.markdown
+++ b/source/_integrations/aquostv.markdown
@@ -1,6 +1,6 @@
---
-title: "Sharp Aquos TV"
-description: "Instructions on how to integrate a Sharp Aquos TV into Home Assistant."
+title: Sharp Aquos TV
+description: Instructions on how to integrate a Sharp Aquos TV into Home Assistant.
logo: sharp_aquos.png
ha_category:
- Media Player
diff --git a/source/_integrations/arcam_fmj.markdown b/source/_integrations/arcam_fmj.markdown
index 4071981ddad..cbbceb53066 100644
--- a/source/_integrations/arcam_fmj.markdown
+++ b/source/_integrations/arcam_fmj.markdown
@@ -1,10 +1,12 @@
---
-title: "Arcam FMJ Receivers"
-description: "Instructions on how to integrate Arcam FMJ Receivers into Home Assistant."
+title: Arcam FMJ Receivers
+description: Instructions on how to integrate Arcam FMJ Receivers into Home Assistant.
logo: arcam.svg
ha_category: Media Player
ha_release: 0.96
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@elupus'
---
The `arcam_fmj` integration allows you to control [Arcam FMJ Receveivers](https://www.arcam.co.uk/range/fmj.htm) from Home Assistant.
diff --git a/source/_integrations/arduino.markdown b/source/_integrations/arduino.markdown
index 52382a7eeb8..f6fb0d18b35 100644
--- a/source/_integrations/arduino.markdown
+++ b/source/_integrations/arduino.markdown
@@ -1,6 +1,6 @@
---
-title: "Arduino"
-description: "Instructions on how to setup an Arduino boards within Home Assistant."
+title: Arduino
+description: Instructions on how to setup an Arduino boards within Home Assistant.
logo: arduino.png
ha_category:
- DIY
@@ -8,6 +8,8 @@ ha_category:
- Switch
ha_release: pre 0.7
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@fabaff'
---
The [Arduino](https://www.arduino.cc/) device family are microcontroller boards that are often based on the ATmega328 chip. They come with digital input/output pins (some can be used as PWM outputs), analog inputs, and a USB connection.
diff --git a/source/_integrations/arest.markdown b/source/_integrations/arest.markdown
index 88ee5984748..1d1aab15510 100644
--- a/source/_integrations/arest.markdown
+++ b/source/_integrations/arest.markdown
@@ -1,6 +1,6 @@
---
-title: "aREST"
-description: "Instructions on how to integrate aREST within Home Assistant."
+title: aREST
+description: Instructions on how to integrate aREST within Home Assistant.
logo: arest.png
ha_category:
- DIY
@@ -9,6 +9,8 @@ ha_category:
- Switch
ha_iot_class: Local Polling
ha_release: 0.9
+ha_codeowners:
+ - '@fabaff'
---
There is currently support for the following device types within Home Assistant:
diff --git a/source/_integrations/arlo.markdown b/source/_integrations/arlo.markdown
index 8afce16d6da..3556fc7f804 100644
--- a/source/_integrations/arlo.markdown
+++ b/source/_integrations/arlo.markdown
@@ -1,6 +1,6 @@
---
-title: "Arlo"
-description: "Instructions on how to integrate your Netgear Arlo cameras within Home Assistant."
+title: Arlo
+description: Instructions on how to integrate your Netgear Arlo cameras within Home Assistant.
logo: arlo.png
ha_category:
- Hub
diff --git a/source/_integrations/aruba.markdown b/source/_integrations/aruba.markdown
index 723ae4765a7..3be2fd75acd 100644
--- a/source/_integrations/aruba.markdown
+++ b/source/_integrations/aruba.markdown
@@ -1,13 +1,12 @@
---
-title: "Aruba"
-description: "Instructions on how to integrate Aruba routers into Home Assistant."
+title: Aruba
+description: Instructions on how to integrate Aruba routers into Home Assistant.
logo: aruba.png
ha_category:
- Presence Detection
ha_release: 0.7
---
-
This platform allows you to detect presence by looking at connected devices to an [Aruba Instant](https://www.arubanetworks.com/products/networking/aruba-instant/) device.
Supported devices (tested):
diff --git a/source/_integrations/arwn.markdown b/source/_integrations/arwn.markdown
index b1eb557a99f..4df56f890ce 100644
--- a/source/_integrations/arwn.markdown
+++ b/source/_integrations/arwn.markdown
@@ -1,6 +1,6 @@
---
-title: "ARWN Sensor"
-description: "Instructions on how to integrate ARWN within Home Assistant."
+title: Ambient Radio Weather Network
+description: Instructions on how to integrate ARWN within Home Assistant.
ha_category:
- Sensor
ha_release: 0.31
diff --git a/source/_integrations/asterisk_cdr.markdown b/source/_integrations/asterisk_cdr.markdown
index c3b8483b85b..a78e34abe66 100644
--- a/source/_integrations/asterisk_cdr.markdown
+++ b/source/_integrations/asterisk_cdr.markdown
@@ -1,6 +1,6 @@
---
-title: "Asterisk Call Data Recorder"
-description: "Instructions on how to integrate an Asterisk CDR within Home Assistant."
+title: Asterisk Call Detail Records
+description: Instructions on how to integrate an Asterisk CDR within Home Assistant.
logo: asterisk.png
ha_category:
- Mailbox
diff --git a/source/_integrations/asterisk_mbox.markdown b/source/_integrations/asterisk_mbox.markdown
index 7c702b3a58f..f71a5ac896c 100644
--- a/source/_integrations/asterisk_mbox.markdown
+++ b/source/_integrations/asterisk_mbox.markdown
@@ -1,6 +1,6 @@
---
-title: "Asterisk Voicemail"
-description: "Instructions on how to integrate your existing Asterisk voicemail within Home Assistant."
+title: Asterisk Voicemail
+description: Instructions on how to integrate your existing Asterisk voicemail within Home Assistant.
logo: asterisk.png
ha_category:
- Mailbox
diff --git a/source/_integrations/asuswrt.markdown b/source/_integrations/asuswrt.markdown
index 82aa97b7ef1..088f4f4e1cb 100644
--- a/source/_integrations/asuswrt.markdown
+++ b/source/_integrations/asuswrt.markdown
@@ -1,6 +1,6 @@
---
-title: "Asuswrt"
-description: "Instructions on how to integrate Asuswrt into Home Assistant."
+title: Asuswrt
+description: Instructions on how to integrate Asuswrt into Home Assistant.
logo: asus.png
ha_category:
- Hub
@@ -8,6 +8,8 @@ ha_category:
- Sensor
ha_release: 0.83
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@kennedyshead'
---
The `asuswrt` integration is the main integration to connect to a [ASUSWRT](https://event.asus.com/2013/nw/ASUSWRT/) based router.
@@ -142,4 +144,3 @@ $ /bin/ln -s /tmp/dnsmasq.leases /var/lib/misc/dnsmasq.leases
```
The started script is also accessible and editable in the Router's web interface. `Advanced Settings -> Customization -> Scripts -> Custom User Script -> Run After Router Started`
-
diff --git a/source/_integrations/aten_pe.markdown b/source/_integrations/aten_pe.markdown
index 0ec6941905c..7f4a0f7f42f 100644
--- a/source/_integrations/aten_pe.markdown
+++ b/source/_integrations/aten_pe.markdown
@@ -1,10 +1,12 @@
---
-title: "ATEN Rack PDU"
-description: "Instructions on how to integrate ATEN Rack PDUs into Home Assistant."
+title: ATEN Rack PDU
+description: Instructions on how to integrate ATEN Rack PDUs into Home Assistant.
logo: aten.png
ha_category:
- Switch
ha_release: 0.103
+ha_codeowners:
+ - '@mtdcr'
---
The `aten_pe` integration lets you control [ATEN Rack PDUs](https://www.aten.com/eu/en/products/energy-intelligence-pduupsracks/rack-pdu/) from Home Assistant.
diff --git a/source/_integrations/atome.markdown b/source/_integrations/atome.markdown
index f0f71f152e5..d29470a73fd 100644
--- a/source/_integrations/atome.markdown
+++ b/source/_integrations/atome.markdown
@@ -1,12 +1,14 @@
---
-title: "Atome Linky Sensor"
-description: "Integrate Atome Linky consumption data within Home Assistant."
+title: Atome Linky
+description: Integrate Atome Linky consumption data within Home Assistant.
logo: total_direct_energie.png
ha_release: 0.99
ha_category:
- Energy
- Sensor
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@baqs'
---
The `atome` sensor platform is retrieving the consumption of your home from the [Direct Energy Atome electric meter](https://total.direct-energie.com/particuliers/electricite/compteur-linky/atome).
diff --git a/source/_integrations/august.markdown b/source/_integrations/august.markdown
index a4c956714c2..50aef1be7b4 100644
--- a/source/_integrations/august.markdown
+++ b/source/_integrations/august.markdown
@@ -1,6 +1,6 @@
---
-title: "August"
-description: "Instructions on how to integrate your August devices into Home Assistant."
+title: August
+description: Instructions on how to integrate your August devices into Home Assistant.
logo: august.png
ha_category:
- Doorbell
diff --git a/source/_integrations/aurora.markdown b/source/_integrations/aurora.markdown
index b4d12cacc29..09222ea627b 100644
--- a/source/_integrations/aurora.markdown
+++ b/source/_integrations/aurora.markdown
@@ -1,6 +1,6 @@
---
-title: "Aurora sensor"
-description: "Know when auroras might be visible at your location"
+title: Aurora
+description: Know when auroras might be visible at your location
ha_category:
- Environment
ha_release: 0.39
diff --git a/source/_integrations/aurora_abb_powerone.markdown b/source/_integrations/aurora_abb_powerone.markdown
index 2ae6e0370b6..bddef96f725 100644
--- a/source/_integrations/aurora_abb_powerone.markdown
+++ b/source/_integrations/aurora_abb_powerone.markdown
@@ -1,12 +1,14 @@
---
-title: "Aurora ABB Powerone PV Inverter Sensor"
-description: "Instructions on how to integrate an Aurora ABB Powerone solar inverter within Home Assistant."
+title: Aurora ABB Solar PV
+description: Instructions on how to integrate an Aurora ABB Powerone solar inverter within Home Assistant.
logo: powerone.png
ha_category:
- Sensor
- Energy
ha_release: 0.96
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@davet2001'
---
This implements a direct RS485 connection to a solar inverter in the
diff --git a/source/_integrations/auth.markdown b/source/_integrations/auth.markdown
index 9e9f413a18a..76b5397744f 100644
--- a/source/_integrations/auth.markdown
+++ b/source/_integrations/auth.markdown
@@ -1,11 +1,13 @@
---
-title: "Auth"
-description: "This integration is responsible for providing the authentication endpoints."
+title: Auth
+description: This integration is responsible for providing the authentication endpoints.
logo: home-assistant.png
ha_category:
- Other
ha_release: 0.73
-ha_qa_scale: internal
+ha_quality_scale: internal
+ha_codeowners:
+ - '@home-assistant/core'
---
This integration creates the endpoints for the [authentication system](/docs/authentication/) that is built into Home Assistant.
diff --git a/source/_integrations/automatic.markdown b/source/_integrations/automatic.markdown
index fb9db70b934..5aed9921cdf 100644
--- a/source/_integrations/automatic.markdown
+++ b/source/_integrations/automatic.markdown
@@ -1,14 +1,15 @@
---
-title: "Automatic"
-description: "Instructions for how to integrate Automatic ODB readers into Home Assistant."
+title: Automatic
+description: Instructions for how to integrate Automatic ODB readers into Home Assistant.
logo: automatic.png
ha_category:
- Car
ha_release: 0.28
ha_iot_class: Cloud Push
+ha_codeowners:
+ - '@armills'
---
-
The `automatic` device tracker platform offers presence detection by retrieving your car's information from the [Automatic](https://automatic.com/) cloud service.
## Setup
diff --git a/source/_integrations/automation.markdown b/source/_integrations/automation.markdown
index 33e487071e1..7531ccd9b14 100644
--- a/source/_integrations/automation.markdown
+++ b/source/_integrations/automation.markdown
@@ -1,11 +1,13 @@
---
-title: "Automation"
-description: "Instructions on how to setup automation within Home Assistant."
+title: Automation
+description: Instructions on how to setup automation within Home Assistant.
logo: home-assistant.png
ha_category:
- Automation
-ha_qa_scale: internal
ha_release: 0.7
+ha_quality_scale: internal
+ha_codeowners:
+ - '@home-assistant/core'
---
Please see the [docs section](/docs/automation/) for in-depth
diff --git a/source/_integrations/avea.markdown b/source/_integrations/avea.markdown
index 44588bdcbcd..91e303a981a 100644
--- a/source/_integrations/avea.markdown
+++ b/source/_integrations/avea.markdown
@@ -1,11 +1,13 @@
---
-title: "Elgato Avea"
-description: "Instructions on how to integrate Elgato Avea with Home Assistant."
+title: Elgato Avea
+description: Instructions on how to integrate Elgato Avea with Home Assistant.
logo: avea.png
ha_category:
- Light
ha_release: 0.97
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@pattyland'
---
[Elgato Avea](https://www.elgato.com/en/news/elgato-avea-transform-your-home) is a Bluetooth light bulb that is no longer supported by the manufacturer. The `avea` integration allows you to control all your Avea bulbs with Home Assistant.
diff --git a/source/_integrations/avion.markdown b/source/_integrations/avion.markdown
index 5313cfc4eff..20077987233 100644
--- a/source/_integrations/avion.markdown
+++ b/source/_integrations/avion.markdown
@@ -1,6 +1,6 @@
---
-title: "Avi-on"
-description: "Instructions on how to setup GE Avi-on Bluetooth dimmers within Home Assistant."
+title: Avi-on
+description: Instructions on how to setup GE Avi-on Bluetooth dimmers within Home Assistant.
ha_category:
- Light
ha_iot_class: Assumed State
diff --git a/source/_integrations/awair.markdown b/source/_integrations/awair.markdown
index 8754ae6e752..7d075fcb5b5 100644
--- a/source/_integrations/awair.markdown
+++ b/source/_integrations/awair.markdown
@@ -1,11 +1,13 @@
---
-title: "Awair Air Quality Monitor"
-description: "Instructions on how to setup Awair devices in Home Assistant."
+title: Awair
+description: Instructions on how to setup Awair devices in Home Assistant.
logo: awair.jpg
ha_category:
- Health
ha_release: 0.84
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@danielsjf'
---
The `awair` sensor platform will fetch data from your [Awair device(s)](https://getawair.com).
diff --git a/source/_integrations/aws.markdown b/source/_integrations/aws.markdown
index 0c501748cea..526da0b321c 100644
--- a/source/_integrations/aws.markdown
+++ b/source/_integrations/aws.markdown
@@ -1,10 +1,13 @@
---
-title: "Amazon Web Services"
-description: "Instructions on how to integrate Amazon Web Services with Home Assistant."
+title: Amazon Web Services (AWS)
+description: Instructions on how to integrate Amazon Web Services with Home Assistant.
logo: aws.png
ha_category:
- Notifications
-ha_release: "0.91"
+ha_release: '0.91'
+ha_codeowners:
+ - '@awarecan'
+ - '@robbiet480'
---
The `aws` integration provides a single place to interact with [Amazon Web Services](https://aws.amazon.com/). Currently it provides a notification platform that can send a message to [AWS SQS](https://aws.amazon.com/sqs/), [AWS SNS](https://aws.amazon.com/sns/), or invoke [AWS Lambda](https://aws.amazon.com/lambda/) functions.
diff --git a/source/_integrations/axis.markdown b/source/_integrations/axis.markdown
index 29d14a0a4e1..6e1c2954c03 100644
--- a/source/_integrations/axis.markdown
+++ b/source/_integrations/axis.markdown
@@ -1,6 +1,6 @@
---
-title: "Axis"
-description: "Integration between network devices from Axis Communications with Home Assistant."
+title: Axis
+description: Integration between network devices from Axis Communications with Home Assistant.
logo: axis.png
ha_category:
- Camera
@@ -9,6 +9,8 @@ ha_category:
ha_config_flow: true
ha_release: 0.45
ha_iot_class: Local Push
+ha_codeowners:
+ - '@kane610'
---
[Axis Communications](https://www.axis.com/) devices are surveillance cameras, speakers, access control and other security-related network connected hardware. Event API works with firmware 5.50 and newer.
diff --git a/source/_integrations/azure_event_hub.markdown b/source/_integrations/azure_event_hub.markdown
index c7ed04efc3f..b8994ad77c9 100644
--- a/source/_integrations/azure_event_hub.markdown
+++ b/source/_integrations/azure_event_hub.markdown
@@ -1,10 +1,12 @@
---
-title: "Azure Event Hub"
-description: "Setup for Azure Event Hub integration"
+title: Azure Event Hub
+description: Setup for Azure Event Hub integration
logo: azure_event_hub.svg
ha_category:
- History
ha_release: 0.94
+ha_codeowners:
+ - '@eavanvalkenburg'
---
The `Azure Event Hub` integration allows you to hook into the Home Assistant event bus and send events to [Azure Event Hub](https://azure.microsoft.com/en-us/services/event-hubs/) or to a [Azure IoT Hub](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-read-builtin).
diff --git a/source/_integrations/azure_service_bus.markdown b/source/_integrations/azure_service_bus.markdown
index b09b71a574c..5c8d23d6dc7 100644
--- a/source/_integrations/azure_service_bus.markdown
+++ b/source/_integrations/azure_service_bus.markdown
@@ -1,10 +1,12 @@
---
-title: "Azure Service Bus"
-description: "Setup for Azure Service Bus integration"
+title: Azure Service Bus
+description: Setup for Azure Service Bus integration
logo: azure_service_bus.svg
ha_category:
- Notifications
ha_release: 0.102
+ha_codeowners:
+ - '@hfurubotten'
---
The `Azure Service Bus` integration allows you to send messages to [Azure Service Bus](https://azure.microsoft.com/en-us/services/service-bus/) from within Home Assistant.
diff --git a/source/_integrations/baidu.markdown b/source/_integrations/baidu.markdown
index e1b13e4c9bf..b56b334b02a 100644
--- a/source/_integrations/baidu.markdown
+++ b/source/_integrations/baidu.markdown
@@ -1,6 +1,6 @@
---
-title: "Baidu Text-to-Speech"
-description: "Instructions on how to setup Baidu TTS with Home Assistant."
+title: Baidu
+description: Instructions on how to setup Baidu TTS with Home Assistant.
logo: baiducloud.png
ha_category:
- Text-to-speech
diff --git a/source/_integrations/bayesian.markdown b/source/_integrations/bayesian.markdown
index e6077902d1f..54868a6d3b6 100644
--- a/source/_integrations/bayesian.markdown
+++ b/source/_integrations/bayesian.markdown
@@ -1,12 +1,12 @@
---
-title: "Bayesian Binary Sensor"
-description: "Instructions on how to integrate threshold Bayesian sensors into Home Assistant."
+title: Bayesian
+description: Instructions on how to integrate threshold Bayesian sensors into Home Assistant.
logo: home-assistant.png
ha_category:
- Utility
ha_iot_class: Local Polling
ha_release: 0.53
-ha_qa_scale: internal
+ha_quality_scale: internal
---
The `bayesian` binary sensor platform observes the state from multiple sensors and uses [Bayes' rule](https://en.wikipedia.org/wiki/Bayes%27_theorem) to estimate the probability that an event has occurred given the state of the observed sensors. If the estimated posterior probability is above the `probability_threshold`, the sensor is `on` otherwise it is `off`.
diff --git a/source/_integrations/bbb_gpio.markdown b/source/_integrations/bbb_gpio.markdown
index 389315e7f50..9585de1f001 100644
--- a/source/_integrations/bbb_gpio.markdown
+++ b/source/_integrations/bbb_gpio.markdown
@@ -1,6 +1,6 @@
---
-title: "BeagleBone Black GPIO"
-description: "Instructions on how to integrate the GPIO capability of a BeagleBone Black into Home Assistant."
+title: BeagleBone Black GPIO
+description: Instructions on how to integrate the GPIO capability of a BeagleBone Black into Home Assistant.
logo: beaglebone-black.png
ha_category:
- DIY
diff --git a/source/_integrations/bbox.markdown b/source/_integrations/bbox.markdown
index c9083780d65..7378484c515 100644
--- a/source/_integrations/bbox.markdown
+++ b/source/_integrations/bbox.markdown
@@ -1,6 +1,6 @@
---
-title: "Bbox"
-description: "Instructions on how to integrate Bouygues Bbox routers into Home Assistant."
+title: Bbox
+description: Instructions on how to integrate Bouygues Bbox routers into Home Assistant.
logo: bbox.png
ha_category:
- Network
diff --git a/source/_integrations/beewi_smartclim.markdown b/source/_integrations/beewi_smartclim.markdown
index 7a49cf788fa..b83c9908929 100644
--- a/source/_integrations/beewi_smartclim.markdown
+++ b/source/_integrations/beewi_smartclim.markdown
@@ -1,11 +1,13 @@
---
-title: "BeeWi SmartClim BLE"
-description: "Instructions on how to integrate MBeeWi SmartClim BLE sensor with Home Assistant."
+title: BeeWi SmartClim BLE sensor
+description: Instructions on how to integrate MBeeWi SmartClim BLE sensor with Home Assistant.
logo: beewi_by_otio.png
ha_category:
- Sensor
ha_release: 0.99
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@alemuro'
---
The `beewi_smartclim` sensor platform allows one to monitor room or external temperature and humidity. The [BeeWi SmartClim BLE](http://www.bee-wi.com/produits/capteurs/capteur-de-temperature/) is a Bluetooth Low Energy sensor device that monitors temperature from a room or a garden from your smartphone by using an APP. Use this integration to track these metrics from any location thanks to Home Assistant, as well as to create some automation scripts based on your room's temperature.
diff --git a/source/_integrations/bh1750.markdown b/source/_integrations/bh1750.markdown
index f270c27d31c..0501af1295e 100644
--- a/source/_integrations/bh1750.markdown
+++ b/source/_integrations/bh1750.markdown
@@ -1,6 +1,6 @@
---
-title: "BH1750 Light sensor"
-description: "Instructions on how to integrate a BH1750 light sensor into Home Assistant."
+title: BH1750
+description: Instructions on how to integrate a BH1750 light sensor into Home Assistant.
logo: raspberry-pi.png
ha_category:
- DIY
diff --git a/source/_integrations/binary_sensor.markdown b/source/_integrations/binary_sensor.markdown
index 4d91c3d6fb1..638bfb7cae6 100644
--- a/source/_integrations/binary_sensor.markdown
+++ b/source/_integrations/binary_sensor.markdown
@@ -1,11 +1,11 @@
---
-title: "Binary Sensor"
-description: "Instructions on how-to setup binary sensors with Home Assistant."
+title: Binary Sensor
+description: Instructions on how-to setup binary sensors with Home Assistant.
logo: home-assistant.png
ha_category:
- Binary Sensor
-ha_qa_scale: internal
ha_release: 0.9
+ha_quality_scale: internal
---
Binary sensors gather information about the state of devices which have a "digital" return value (either 1 or 0). These can be switches, contacts, pins, etc. These sensors only have two states: **0/off/low/closed/false** and **1/on/high/open/true**. Knowing that there are only two states allows Home Assistant to represent these sensors in a better way in the frontend according to their functionality.
diff --git a/source/_integrations/binary_sensor.modbus.markdown b/source/_integrations/binary_sensor.modbus.markdown
index 042a2c8355f..8adc0dd0d89 100644
--- a/source/_integrations/binary_sensor.modbus.markdown
+++ b/source/_integrations/binary_sensor.modbus.markdown
@@ -52,6 +52,11 @@ coils:
description: Coil number.
required: true
type: integer
+ device_class:
+ description: The [type/class](/integrations/binary_sensor/#device-class) of the binary sensor to set the icon in the frontend.
+ required: false
+ type: device_class
+ default: None
{% endconfiguration %}
It's possible to change the default 30 seconds scan interval for the sensor updates as shown in the [Platform options](/docs/configuration/platform_options/#scan-interval) documentation.
diff --git a/source/_integrations/binary_sensor.template.markdown b/source/_integrations/binary_sensor.template.markdown
index b8fa12ad0bb..99e551adeb4 100644
--- a/source/_integrations/binary_sensor.template.markdown
+++ b/source/_integrations/binary_sensor.template.markdown
@@ -6,7 +6,7 @@ ha_category:
ha_release: 0.12
ha_iot_class: Local Push
logo: home-assistant.png
-ha_qa_scale: internal
+ha_quality_scale: internal
---
The `template` platform supports binary sensors which get their values from
diff --git a/source/_integrations/bitcoin.markdown b/source/_integrations/bitcoin.markdown
index 372fa394799..b6a4eb282f0 100644
--- a/source/_integrations/bitcoin.markdown
+++ b/source/_integrations/bitcoin.markdown
@@ -1,14 +1,15 @@
---
-title: "Bitcoin"
-description: "Instructions on how to integrate Bitcoin data within Home Assistant."
+title: Bitcoin
+description: Instructions on how to integrate Bitcoin data within Home Assistant.
logo: bitcoin.png
ha_category:
- Finance
ha_release: pre 0.7
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@fabaff'
---
-
The `bitcoin` sensor platform displays various details about the [Bitcoin](https://bitcoin.org) network.
To add the Bitcoin sensor to your installation, add a selection of the available display options to your `configuration.yaml` file:
@@ -76,4 +77,3 @@ display_options:
market_price_usd:
description: Market price in USD
{% endconfiguration %}
-
diff --git a/source/_integrations/bizkaibus.markdown b/source/_integrations/bizkaibus.markdown
index c2fa349ffe0..8dd4814dcb2 100644
--- a/source/_integrations/bizkaibus.markdown
+++ b/source/_integrations/bizkaibus.markdown
@@ -1,12 +1,14 @@
---
-title: "Bizkaibus next bus tracking sensor"
-description: "Instructions on how to integrate timetable data for traveling on Bizkaibus within Home Assistant."
+title: Bizkaibus
+description: Instructions on how to integrate timetable data for traveling on Bizkaibus within Home Assistant.
logo: bizkaibus.png
-ha_category:
+ha_category:
- Transport
- Sensor
ha_iot_class: Cloud Polling
ha_release: 0.93
+ha_codeowners:
+ - '@UgaitzEtxebarria'
---
The `bizkaibus` sensor will give you the time until the next bus in the selected stop.
diff --git a/source/_integrations/blackbird.markdown b/source/_integrations/blackbird.markdown
index 834f9f2a4af..ea35b35e64d 100644
--- a/source/_integrations/blackbird.markdown
+++ b/source/_integrations/blackbird.markdown
@@ -1,6 +1,6 @@
---
-title: "Blackbird 8x8 HDMI Matrix Switch"
-description: "Instructions on how to integrate Monoprice Blackbird 4k 8x8 HDBaseT Matrix Switch into Home Assistant."
+title: Monoprice Blackbird Matrix Switch
+description: Instructions on how to integrate Monoprice Blackbird 4k 8x8 HDBaseT Matrix Switch into Home Assistant.
logo: monoprice.svg
ha_category:
- Media Player
diff --git a/source/_integrations/blink.markdown b/source/_integrations/blink.markdown
index 0639b502f63..f1afacdab5d 100644
--- a/source/_integrations/blink.markdown
+++ b/source/_integrations/blink.markdown
@@ -1,6 +1,6 @@
---
-title: "Blink"
-description: "Instructions for how to integrate Blink camera/security system within Home Assistant."
+title: Blink
+description: Instructions for how to integrate Blink camera/security system within Home Assistant.
logo: blink.png
ha_category:
- Hub
@@ -8,8 +8,10 @@ ha_category:
- Binary Sensor
- Camera
- Sensor
-ha_release: "0.40"
+ha_release: '0.40'
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@fronzbot'
---
The `blink` integration lets you view camera images and motion events from [Blink](https://blinkforhome.com/) camera and security systems.
@@ -117,17 +119,17 @@ Force a refresh of the Blink system.
Trigger a camera to take a new still image.
| Service Data Attribute | Optional | Description |
-|------------------------|----------|----------------------------------------|
-| `name` | no | Name of camera to take new image with. |
+| ---------------------- | -------- | -------------------------------------- |
+| `name` | no | Name of camera to take new image with. |
### `blink.save_video`
Save the last recorded video of a camera to a local file. Note that in most cases, Home Assistant will need to know that the directory is writable via the `whitelist_external_dirs` in your `configuration.yaml` file (see example below).
| Service Data Attribute | Optional | Description |
-|------------------------|----------|------------------------------------------|
-| `name` | no | Name of camera containing video to save. |
-| `filename` | no | Location of save file. |
+| ---------------------- | -------- | ---------------------------------------- |
+| `name` | no | Name of camera containing video to save. |
+| `filename` | no | Location of save file. |
```yaml
@@ -167,7 +169,7 @@ sequence:
### Arm Blink When Away
-This example automation will arm your blink sync module to detect motion on any of your blink cameras that have motion detection enabled. By default, Blink enables motion detection on all cameras so, unless you've changed anything in your app, you're all set. If you want to manually enable motion detection for individual cameras, you can utilize the [appropriate camera service](/integrations/camera#service-enable_motion_detection) but pelase note that motion will only be captured if the sync module is armed.
+This example automation will arm your blink sync module to detect motion on any of your blink cameras that have motion detection enabled. By default, Blink enables motion detection on all cameras so, unless you've changed anything in your app, you're all set. If you want to manually enable motion detection for individual cameras, you can utilize the [appropriate camera service](/integrations/camera#service-enable_motion_detection) but please note that motion will only be captured if the sync module is armed.
Here, this example assumes your blink module is named `My Sync Module` and that you have [device trackers](/integrations/device_tracker) set up for presence detection.
@@ -176,7 +178,7 @@ Here, this example assumes your blink module is named `My Sync Module` and that
alias: Arm Blink When Away
trigger:
platform: state
- entity_id: group.all_devices
+ entity_id: all
to: 'not_home'
action:
service: alarm_control_panel.alarm_arm_away
@@ -192,7 +194,7 @@ Similar to the previous example, this automation will disarm blink when arriving
alias: Disarm Blink When Home
trigger:
platform: state
- entity_id: group.all_devices
+ entity_id: all
to: 'home'
action:
service: alarm_control_panel.alarm_disarm
diff --git a/source/_integrations/blinksticklight.markdown b/source/_integrations/blinksticklight.markdown
index deea66c49ee..47a599bf547 100644
--- a/source/_integrations/blinksticklight.markdown
+++ b/source/_integrations/blinksticklight.markdown
@@ -1,6 +1,6 @@
---
-title: "Blinkstick Light"
-description: "Instructions on how to setup Blinkstick lights within Home Assistant."
+title: BlinkStick
+description: Instructions on how to setup Blinkstick lights within Home Assistant.
logo: blinkstick.png
ha_category:
- DIY
@@ -8,7 +8,6 @@ ha_release: 0.7.5
ha_iot_class: Local Polling
---
-
The `blinkstick` platform lets you control your [Blinkstick](https://www.blinkstick.com/) lights from within Home Assistant.
## Setup
@@ -42,4 +41,3 @@ name:
type: string
default: Blinkstick
{% endconfiguration %}
-
diff --git a/source/_integrations/blinkt.markdown b/source/_integrations/blinkt.markdown
index 41de596aa48..70f63f99e0a 100644
--- a/source/_integrations/blinkt.markdown
+++ b/source/_integrations/blinkt.markdown
@@ -1,6 +1,6 @@
---
-title: "Blinkt! Light"
-description: "Instructions on how to setup Blinkt! RGB LED lights within Home Assistant."
+title: Blinkt!
+description: Instructions on how to setup Blinkt! RGB LED lights within Home Assistant.
logo: raspberry-pi.png
ha_category:
- DIY
@@ -19,4 +19,3 @@ To enable `blinkt` in your installation, add the following to your `configuratio
light:
- platform: blinkt
```
-
diff --git a/source/_integrations/blockchain.markdown b/source/_integrations/blockchain.markdown
index 564747c1d08..458fc37d852 100644
--- a/source/_integrations/blockchain.markdown
+++ b/source/_integrations/blockchain.markdown
@@ -1,6 +1,6 @@
---
-title: "Blockchain.info"
-description: "Instructions on how to integrate Blockchain.info data within Home Assistant."
+title: Blockchain.info
+description: Instructions on how to integrate Blockchain.info data within Home Assistant.
logo: blockchain.png
ha_category:
- Finance
@@ -8,7 +8,6 @@ ha_release: 0.47
ha_iot_class: Cloud Polling
---
-
The `Blockchain` sensor platform displays Bitcoin wallet balances from [blockchain.info](https://blockchain.info).
To add the Blockchain sensor to your installation, specify a list of bitcoin addresses to watch in the `configuration.yaml` file. The sensor state will be the sum of the balances of all addresses listed.
@@ -28,4 +27,3 @@ addresses:
required: true
type: [string, list]
{% endconfiguration %}
-
diff --git a/source/_integrations/bloomsky.markdown b/source/_integrations/bloomsky.markdown
index 9aa5661b1d4..d05cc8640bf 100644
--- a/source/_integrations/bloomsky.markdown
+++ b/source/_integrations/bloomsky.markdown
@@ -1,6 +1,6 @@
---
-title: "BloomSky"
-description: "Instructions on how to integrate the BloomSky within Home Assistant."
+title: BloomSky
+description: Instructions on how to integrate the BloomSky within Home Assistant.
logo: bloomsky.png
ha_category:
- Environment
diff --git a/source/_integrations/bluesound.markdown b/source/_integrations/bluesound.markdown
index 4422ba265a3..d4bcf552c6e 100644
--- a/source/_integrations/bluesound.markdown
+++ b/source/_integrations/bluesound.markdown
@@ -1,6 +1,6 @@
---
-title: "Bluesound"
-description: "Instructions on how to integrate Bluesound devices into Home Assistant."
+title: Bluesound
+description: Instructions on how to integrate Bluesound devices into Home Assistant.
logo: bluesound.png
ha_category:
- Media Player
diff --git a/source/_integrations/bluetooth_le_tracker.markdown b/source/_integrations/bluetooth_le_tracker.markdown
index 3154c973979..e37cb796311 100644
--- a/source/_integrations/bluetooth_le_tracker.markdown
+++ b/source/_integrations/bluetooth_le_tracker.markdown
@@ -1,6 +1,6 @@
---
-title: "Bluetooth LE Tracker"
-description: "Instructions for integrating bluetooth low-energy tracking within Home Assistant."
+title: Bluetooth LE Tracker
+description: Instructions for integrating bluetooth low-energy tracking within Home Assistant.
logo: bluetooth.png
ha_category:
- Presence Detection
diff --git a/source/_integrations/bluetooth_tracker.markdown b/source/_integrations/bluetooth_tracker.markdown
index a520b9b9d77..98f853de28f 100644
--- a/source/_integrations/bluetooth_tracker.markdown
+++ b/source/_integrations/bluetooth_tracker.markdown
@@ -1,6 +1,6 @@
---
-title: "Bluetooth Tracker"
-description: "Instructions for integrating Bluetooth tracking within Home Assistant."
+title: Bluetooth Tracker
+description: Instructions for integrating Bluetooth tracking within Home Assistant.
logo: bluetooth.png
ha_category:
- Presence Detection
diff --git a/source/_integrations/bme280.markdown b/source/_integrations/bme280.markdown
index 341716da1ce..89635428c0a 100644
--- a/source/_integrations/bme280.markdown
+++ b/source/_integrations/bme280.markdown
@@ -1,6 +1,6 @@
---
-title: "BME280 Sensor"
-description: "Instructions on how to integrate a BME280 sensor into Home Assistant."
+title: Bosch BME280 Environmental Sensor
+description: Instructions on how to integrate a BME280 sensor into Home Assistant.
logo: raspberry-pi.png
ha_category:
- DIY
diff --git a/source/_integrations/bme680.markdown b/source/_integrations/bme680.markdown
index 6ede66e3e8c..689c6d75c92 100644
--- a/source/_integrations/bme680.markdown
+++ b/source/_integrations/bme680.markdown
@@ -1,6 +1,6 @@
---
-title: "BME680 Sensor"
-description: "Instructions on how to integrate a BME680 sensor into Home Assistant."
+title: Bosch BME680 Environmental Sensor
+description: Instructions on how to integrate a BME680 sensor into Home Assistant.
logo: raspberry-pi.png
ha_category:
- DIY
diff --git a/source/_integrations/bmw_connected_drive.markdown b/source/_integrations/bmw_connected_drive.markdown
index 68c02352d4f..e063e7ff1ef 100644
--- a/source/_integrations/bmw_connected_drive.markdown
+++ b/source/_integrations/bmw_connected_drive.markdown
@@ -1,6 +1,6 @@
---
-title: "BMW Connected Drive"
-description: "Instructions on how to setup your BMW Connected Drive account with Home Assistant."
+title: BMW Connected Drive
+description: Instructions on how to setup your BMW Connected Drive account with Home Assistant.
logo: bmw.png
ha_category:
- Car
@@ -10,6 +10,8 @@ ha_category:
- Sensor
ha_release: 0.64
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@gerard33'
---
The `bmw_connected_drive` integration lets you retrieve data of your BMW vehicle from the BMW Connected Drive portal. You need to have a working BMW Connected Drive account, and a Connected Drive enabled vehicle for this to work.
diff --git a/source/_integrations/bom.markdown b/source/_integrations/bom.markdown
index ba8d6710074..070ebea0163 100644
--- a/source/_integrations/bom.markdown
+++ b/source/_integrations/bom.markdown
@@ -1,6 +1,6 @@
---
-title: "BOM Australia"
-description: "Instructions on how to integrate Bureau of Meteorology Australia weather conditions into Home Assistant."
+title: Australian Bureau of Meteorology (BOM)
+description: Instructions on how to integrate Bureau of Meteorology Australia weather conditions into Home Assistant.
logo: bom.png
ha_category:
- Weather
diff --git a/source/_integrations/braviatv.markdown b/source/_integrations/braviatv.markdown
index 0708f5314a7..0e870319745 100644
--- a/source/_integrations/braviatv.markdown
+++ b/source/_integrations/braviatv.markdown
@@ -1,11 +1,13 @@
---
-title: "Sony Bravia TV"
-description: "Instructions on how to integrate a Sony Bravia TV into Home Assistant."
+title: Sony Bravia TV
+description: Instructions on how to integrate a Sony Bravia TV into Home Assistant.
logo: bravia.png
ha_category:
- Media Player
ha_release: 0.23
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@robbiet480'
---
The `braviatv` platform allows you to control a [Sony Bravia TV](https://www.sony.com/).
diff --git a/source/_integrations/broadlink.markdown b/source/_integrations/broadlink.markdown
index 5ff2381de7a..359d32d0c68 100644
--- a/source/_integrations/broadlink.markdown
+++ b/source/_integrations/broadlink.markdown
@@ -1,6 +1,6 @@
---
-title: "Broadlink"
-description: "Instructions on how to integrate Broadlink within Home Assistant."
+title: Broadlink
+description: Instructions on how to integrate Broadlink within Home Assistant.
logo: broadlink.png
ha_category:
- Remote
@@ -8,6 +8,9 @@ ha_category:
- Sensor
ha_release: 0.35
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@danielhiversen'
+ - '@felipediel'
---
There is currently support for the following device types within Home Assistant:
@@ -635,6 +638,32 @@ Now you can add as many template nodes, each having a specific code, and add any
### Using broadlink_cli to obtain codes
It is also possible to obtain codes using `broadlink_cli` from [python-broadlink](https://github.com/mjg59/python-broadlink) project.
+First use discovery to find your Broadlink device:
+
+```bash
+./broadlink_discovery
+Discovering...
+###########################################
+RM2
+# broadlink_cli --type 0x2737 --host 192.168.1.137 --mac 36668342f7c8
+Device file data (to be used with --device @filename in broadlink_cli) :
+0x2737 192.168.1.137 36668342nnnn
+temperature = 0.0
+```
+
+Then use this info in a cli-command:
+
+```bash
+./broadlink_cli --learn --device "0x2737 192.168.1.137 36668342nnnn"
+Learning...
+```
+
+Press a button on the remote and you get a code:
+
+```txt
+260058000001219512131114113910141114111411141114103911391114103911391139103911391039113911141039111411391015103911141114113910141139111410391114110005250001274b11000c520001274b11000d05
+Base64: b'JgBYAAABIZUSExEUETkQFBEUERQRFBEUEDkROREUEDkRORE5EDkRORA5ETkRFBA5ERQRORAVEDkRFBEUETkQFBE5ERQQOREUEQAFJQABJ0sRAAxSAAEnSxEADQU='
+```
### Conversion of codes from other projects
diff --git a/source/_integrations/brother.markdown b/source/_integrations/brother.markdown
new file mode 100644
index 00000000000..fe0412bf232
--- /dev/null
+++ b/source/_integrations/brother.markdown
@@ -0,0 +1,25 @@
+---
+title: Brother Printer
+description: Instructions on how to integrate a Brother printer into Home Assistant.
+logo: brother.png
+ha_category:
+ - System Monitor
+ha_release: 0.104
+ha_iot_class: Local Polling
+ha_config_flow: true
+---
+
+The `Brother Printer` integration allows you to read current data from your local Brother printer.
+
+It usually provides information about the device's state, the left amount of ink or toner and the remaining life of the drum or other parts of the printer.
+The integration monitors every supported part.
+
+## Configuration
+
+To add `Brother Printer` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Brother Printer**.
+
+
+
+Some very old Brother printers use different data format and these models are not supported. The integration will show information about that during configuration.
+
+
diff --git a/source/_integrations/brottsplatskartan.markdown b/source/_integrations/brottsplatskartan.markdown
index d696ff0a7b5..9ad6dff44ed 100644
--- a/source/_integrations/brottsplatskartan.markdown
+++ b/source/_integrations/brottsplatskartan.markdown
@@ -1,6 +1,6 @@
---
-title: "Brottsplatskartan"
-description: "Instructions on how to integrate brottsplatskartan.se into Home Assistant."
+title: Brottsplatskartan
+description: Instructions on how to integrate brottsplatskartan.se into Home Assistant.
ha_category:
- Social
logo: brottsplatskartan.png
diff --git a/source/_integrations/browser.markdown b/source/_integrations/browser.markdown
index ba23cbeba4f..f0267f6fb30 100644
--- a/source/_integrations/browser.markdown
+++ b/source/_integrations/browser.markdown
@@ -1,11 +1,11 @@
---
-title: "Browser"
-description: "Instructions on how to setup the browser integration with Home Assistant."
+title: Browser
+description: Instructions on how to setup the browser integration with Home Assistant.
logo: home-assistant.png
ha_category:
- Utility
-ha_qa_scale: internal
ha_release: pre 0.7
+ha_quality_scale: internal
---
The `browser` integration provides a service to open URLs in the default browser on the host machine.
diff --git a/source/_integrations/brunt.markdown b/source/_integrations/brunt.markdown
index 73efc8bfed0..ff93f5b165e 100644
--- a/source/_integrations/brunt.markdown
+++ b/source/_integrations/brunt.markdown
@@ -1,11 +1,13 @@
---
-title: Brunt Cover
-description: "Instructions on how to set up Brunt Blind Engine within Home Assistant."
+title: Brunt Blind Engine
+description: Instructions on how to set up Brunt Blind Engine within Home Assistant.
logo: brunt.png
ha_category:
- Cover
ha_release: 0.75
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@eavanvalkenburg'
---
The `brunt` platform allows one to control Blind Engines by [Brunt](https://www.brunt.co). To use this sensor, you need a Brunt App Account. All Brunt Blind devices registered to your account are automatically added to your Home Assistant with the names given them through the Brunt app.
diff --git a/source/_integrations/bt_home_hub_5.markdown b/source/_integrations/bt_home_hub_5.markdown
index ae1b4f37f47..fb9a2e7ec6c 100644
--- a/source/_integrations/bt_home_hub_5.markdown
+++ b/source/_integrations/bt_home_hub_5.markdown
@@ -1,6 +1,6 @@
---
-title: "BT Home Hub 5"
-description: "Instructions on how to integrate BT Home Hub 5 router into Home Assistant."
+title: BT Home Hub 5
+description: Instructions on how to integrate BT Home Hub 5 router into Home Assistant.
logo: bt.png
ha_category:
- Presence Detection
diff --git a/source/_integrations/bt_smarthub.markdown b/source/_integrations/bt_smarthub.markdown
index cbe52ccd66e..466ed6a5cd2 100644
--- a/source/_integrations/bt_smarthub.markdown
+++ b/source/_integrations/bt_smarthub.markdown
@@ -1,11 +1,13 @@
---
-title: "BT Smart Hub"
-description: "Instructions on how to integrate BT Smart Hub router into Home Assistant."
+title: BT Smart Hub
+description: Instructions on how to integrate BT Smart Hub router into Home Assistant.
logo: bt.png
ha_category:
- Presence Detection
ha_release: 0.82
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@jxwolstenholme'
---
This platform offers presence detection by looking at connected devices to a [BT Smart Hub](https://en.wikipedia.org/wiki/BT_Smart_Hub) based router.
diff --git a/source/_integrations/buienradar.markdown b/source/_integrations/buienradar.markdown
index 35ce1f630e8..27d0a14e108 100644
--- a/source/_integrations/buienradar.markdown
+++ b/source/_integrations/buienradar.markdown
@@ -1,12 +1,15 @@
---
-title: "Buienradar"
-description: "Instructions on how to integrate buienradar.nl weather within Home Assistant."
+title: Buienradar
+description: Instructions on how to integrate buienradar.nl weather within Home Assistant.
logo: buienradar.png
ha_category:
- Camera
- Weather
ha_release: 0.47
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@mjj4791'
+ - '@ties'
---
The `buienradar` platform uses [buienradar.nl](https://buienradar.nl/) as a source for current meteorological data for your location. The weather forecast is delivered by Buienradar, who provides a web service that provides detailed weather information for users in The Netherlands.
diff --git a/source/_integrations/caldav.markdown b/source/_integrations/caldav.markdown
index 7222b17f02a..fea972820d4 100644
--- a/source/_integrations/caldav.markdown
+++ b/source/_integrations/caldav.markdown
@@ -1,10 +1,10 @@
---
-title: "CalDav"
-description: "Instructions on how to integrate a WebDav calendar into Home Assistant."
+title: CalDav
+description: Instructions on how to integrate a WebDav calendar into Home Assistant.
ha_category:
- Calendar
ha_iot_class: Cloud Polling
-ha_release: "0.60"
+ha_release: '0.60'
---
The `caldav` platform allows you to connect to your WebDav calendar and generate
diff --git a/source/_integrations/calendar.google.markdown b/source/_integrations/calendar.google.markdown
index 1dfa11481fe..04fcb7b92ef 100644
--- a/source/_integrations/calendar.google.markdown
+++ b/source/_integrations/calendar.google.markdown
@@ -12,7 +12,7 @@ The `google` calendar platform allows you to connect to your
[Google Calendars](https://calendar.google.com) and generate binary sensors.
The sensors created can trigger based on any event on the calendar or only for
matching events. When you first setup this integration it will generate a new
-configuration file `google_calendars.yaml` that will contain information about
+configuration file `google_calendars.yaml` in your config directory that will contain information about
all of the calendars you can see.
It also exposes a service to add an event to one of your Google Calendars.
@@ -23,15 +23,15 @@ Generate a Client ID and Client Secret on
1. Follow the wizard using the following information.
1. When it gets to the point of asking _Which API are you using?_ just click cancel.
-1. Under APIs & Services (left sidebar) > Credentials, click on the tab 'OAuth consent screen'.
+1. Under APIs & Services (left sidebar) > Credentials, click on the menu item, 'OAuth consent screen'.
1. Set the 'Application Name' (the name of the application asking for consent) to anything you want. We suggest "Home-Assistant".
-1. Save this page. You don't have to fill out anything else there.
-1. Under APIs & Services > Credentials, click 'Create credentials' > OAuth client ID.
-1. Set the Application type to 'Other' and give this credential set a name then click 'Create'.
-1. Copy the client ID and secret to a text editor temporarily as you will need to put these in your `configuration.yaml` file.
-1. Under APIs and Services > Library, search for "Google Calendar API" and enable it if it isn't already enabled automatically through this process.
+1. Save this page. You don't have to fill out anything else here.
+1. Click on the menu item, Credentials, then click 'Create credentials' > OAuth client ID.
+1. Set the Application type to 'Other' and give this credential set a name (like "Home Assistant Credentials") then click 'Create'.
+1. Copy the client ID and client secret from the page that follows into a text editor temporarily as you will need to put these in your `configuration.yaml` file.
+1. Click on the menu item, Library, then search for "Google Calendar API" and enable it (if it isn't already enabled automatically through this process).
-If you will be adding more scopes than just the "Google Calendar API" to the OAuth for this application, you will need to delete your token file. You will lose your refresh token due to the re-authenticating to add more API access. It's recommended to use different authorizations for different pieces of Google.
+If you will later be adding more scopes than just the "Google Calendar API" to the OAuth for this application, you will need to delete your token file under your Home Assistant Profile. You will lose your refresh token due to the re-authenticating to add more API access. It's recommended to use different authorizations for different pieces of Google.
## Configuration
@@ -47,11 +47,11 @@ google:
{% configuration %}
client_id:
- description: Use the value you generated in the Prerequisites stage.
+ description: Use the client ID you generated in the Prerequisites stage.
required: true
type: string
client_secret:
- description: Use the value you generated in the Prerequisites stage.
+ description: Use the client secret you generated in the Prerequisites stage.
required: true
type: string
track_new_calendar:
@@ -63,13 +63,8 @@ track_new_calendar:
default: true
{% endconfiguration %}
-The next steps will require you to have Home Assistant running.
-
-After you have it running complete the Google authentication that pops up in notification (the little bell icon in the lower left corner).
-
-It will give you a URL and a code to enter. This will grant your Home Assistant
-service access to all the Google Calendars that the account you
-authenticate with can read. This is a Read-Only view of these calendars.
+The next time you run or restart Home Assistant, you should find a new notification (the little bell icon in the lower left corner). Click on that notification it will give you a link and an authentication code. Click on that link to open a Google website where you should enter the code found in the notification. This will grant your Home Assistant service read-only access to all the Google Calendars that the account you
+authenticate with can read.
## Calendar Configuration
diff --git a/source/_integrations/calendar.markdown b/source/_integrations/calendar.markdown
index b26bd510275..4fc7a0be0dd 100644
--- a/source/_integrations/calendar.markdown
+++ b/source/_integrations/calendar.markdown
@@ -1,6 +1,6 @@
---
-title: "Calendar"
-description: "Instructions on how to integrate calendars within Home Assistant."
+title: Calendar
+description: Instructions on how to integrate calendars within Home Assistant.
ha_release: 0.33
---
diff --git a/source/_integrations/camera.markdown b/source/_integrations/camera.markdown
index 04848b97c3c..6e65fd21493 100644
--- a/source/_integrations/camera.markdown
+++ b/source/_integrations/camera.markdown
@@ -1,11 +1,11 @@
---
-title: "Camera"
-description: "Instructions on how to integrate cameras within Home Assistant."
+title: Camera
+description: Instructions on how to integrate cameras within Home Assistant.
logo: home-assistant.png
ha_category:
- Camera
-ha_qa_scale: internal
ha_release: 0.7
+ha_quality_scale: internal
---
The camera integration allows you to use IP cameras with Home Assistant.
diff --git a/source/_integrations/canary.markdown b/source/_integrations/canary.markdown
index eec47dd3703..39ba3aa1cc3 100644
--- a/source/_integrations/canary.markdown
+++ b/source/_integrations/canary.markdown
@@ -1,12 +1,12 @@
---
-title: "Canary"
-description: "Instructions on how to integrate your Canary devices into Home Assistant."
+title: Canary
+description: Instructions on how to integrate your Canary devices into Home Assistant.
logo: canary.png
ha_category:
- Alarm
- Camera
- Sensor
-ha_release: "0.60"
+ha_release: '0.60'
ha_iot_class: Cloud Polling
---
diff --git a/source/_integrations/cast.markdown b/source/_integrations/cast.markdown
index 29190ff4128..2bd49bfafb5 100644
--- a/source/_integrations/cast.markdown
+++ b/source/_integrations/cast.markdown
@@ -1,12 +1,13 @@
---
-title: "Google Cast"
-description: "Instructions on how to integrate Google Cast into Home Assistant."
+title: Google Cast
+description: Instructions on how to integrate Google Cast into Home Assistant.
logo: google_cast.png
ha_category:
- Media Player
featured: true
ha_release: pre 0.7
ha_iot_class: Local Polling
+ha_config_flow: true
---
You can enable the Cast integration by going to the Integrations page inside the config panel.
diff --git a/source/_integrations/cert_expiry.markdown b/source/_integrations/cert_expiry.markdown
index 2d3d82f851b..5402235e89b 100644
--- a/source/_integrations/cert_expiry.markdown
+++ b/source/_integrations/cert_expiry.markdown
@@ -1,11 +1,15 @@
---
-title: "Certificate Expiry"
-description: "Instructions on how to set up HTTPS (SSL) certificate expiry sensors within Home Assistant."
+title: Certificate Expiry
+description: Instructions on how to set up HTTPS (SSL) certificate expiry sensors within Home Assistant.
logo: home-assistant.png
ha_category:
- Network
ha_release: 0.44
ha_iot_class: Configurable
+ha_config_flow: true
+ha_codeowners:
+ - '@Cereal2nd'
+ - '@jjlawren'
---
The `cert_expiry` sensor fetches information from a configured URL and displays the certificate expiry in days.
diff --git a/source/_integrations/channels.markdown b/source/_integrations/channels.markdown
index 4bc28d76cdb..8c6cb579464 100644
--- a/source/_integrations/channels.markdown
+++ b/source/_integrations/channels.markdown
@@ -1,6 +1,6 @@
---
-title: "Channels"
-description: "Instructions on how to integrate Channels into Home Assistant."
+title: Channels
+description: Instructions on how to integrate Channels into Home Assistant.
logo: channels.png
ha_category:
- Media Player
@@ -8,7 +8,6 @@ ha_release: 0.65
ha_iot_class: Local Polling
---
-
The Channels platform allows you to control [Channels](https://getchannels.com/) from Home Assistant. Play, pause, seek, or skip commercials on an instance of Channels that is running on your network.
Your favorite channels will appear as sources in the Source List in Home Assistant.
diff --git a/source/_integrations/cisco_ios.markdown b/source/_integrations/cisco_ios.markdown
index 4b6fad84935..d1827e4041e 100644
--- a/source/_integrations/cisco_ios.markdown
+++ b/source/_integrations/cisco_ios.markdown
@@ -1,10 +1,12 @@
---
-title: "Cisco IOS"
-description: "Instructions on how to integrate Cisco IOS routers into Home Assistant."
+title: Cisco IOS
+description: Instructions on how to integrate Cisco IOS routers into Home Assistant.
logo: cisco.png
ha_category:
- Presence Detection
ha_release: 0.33
+ha_codeowners:
+ - '@fbradyirl'
---
This is a presence detection scanner for [Cisco](https://www.cisco.com/) IOS devices.
diff --git a/source/_integrations/cisco_mobility_express.markdown b/source/_integrations/cisco_mobility_express.markdown
index b76ae10d949..901828c5a5a 100644
--- a/source/_integrations/cisco_mobility_express.markdown
+++ b/source/_integrations/cisco_mobility_express.markdown
@@ -1,10 +1,12 @@
---
-title: "Cisco Mobility Express"
-description: "Instructions on how to integrate Cisco Mobility Express wireless controllers into Home Assistant."
+title: Cisco Mobility Express
+description: Instructions on how to integrate Cisco Mobility Express wireless controllers into Home Assistant.
logo: cisco.png
ha_category:
- Presence Detection
-ha_release: "0.90"
+ha_release: '0.90'
+ha_codeowners:
+ - '@fbradyirl'
---
This is a presence detection scanner for [Cisco](https://www.cisco.com) Mobility Express wireless controllers.
diff --git a/source/_integrations/cisco_webex_teams.markdown b/source/_integrations/cisco_webex_teams.markdown
index 82a84047ddc..1b2bce65a11 100644
--- a/source/_integrations/cisco_webex_teams.markdown
+++ b/source/_integrations/cisco_webex_teams.markdown
@@ -1,10 +1,12 @@
---
-title: "Cisco Webex Teams"
-description: "Instructions on how to add Cisco Webex Teams notifications to Home Assistant."
+title: Cisco Webex Teams
+description: Instructions on how to add Cisco Webex Teams notifications to Home Assistant.
logo: cisco_webex_teams.png
ha_category:
- Notifications
-ha_release: "0.40"
+ha_release: '0.40'
+ha_codeowners:
+ - '@fbradyirl'
---
The `cisco_webex_teams` notification platform allows you to deliver rich notifications from Home Assistant to [Cisco Webex Teams](https://www.webex.com/team-collaboration.html) (formerly known as Cisco Spark).
diff --git a/source/_integrations/ciscospark.markdown b/source/_integrations/ciscospark.markdown
index 55a18800534..1250f9300f7 100644
--- a/source/_integrations/ciscospark.markdown
+++ b/source/_integrations/ciscospark.markdown
@@ -1,10 +1,12 @@
---
-title: "Cisco Spark"
-description: "Instructions on how to add CiscoSpark notifications to Home Assistant."
+title: Cisco Spark
+description: Instructions on how to add CiscoSpark notifications to Home Assistant.
logo: ciscospark.png
ha_category:
- Notifications
-ha_release: "0.40"
+ha_release: '0.40'
+ha_codeowners:
+ - '@fbradyirl'
---
The `ciscospark` notification platform allows you to deliver notifications from Home Assistant to [Cisco Spark](https://ciscospark.com/).
diff --git a/source/_integrations/citybikes.markdown b/source/_integrations/citybikes.markdown
index 3d5ac138e1f..fcffee6f642 100644
--- a/source/_integrations/citybikes.markdown
+++ b/source/_integrations/citybikes.markdown
@@ -1,13 +1,12 @@
---
-title: "CityBikes Sensor"
-description: "Instructions on how to integrate data from the CityBikes API into Home Assistant."
+title: CityBikes
+description: Instructions on how to integrate data from the CityBikes API into Home Assistant.
logo: citybikes.png
ha_category:
- Transport
ha_release: 0.49
---
-
The `citybikes` sensor platform monitors bike availability at bike sharing stations in a chosen area. The data is provided by [CityBikes](https://citybik.es/#about), which supports bike sharing systems all around the world.
## Configuration
diff --git a/source/_integrations/clementine.markdown b/source/_integrations/clementine.markdown
index 173f292a319..3ad0039d8c5 100644
--- a/source/_integrations/clementine.markdown
+++ b/source/_integrations/clementine.markdown
@@ -1,6 +1,6 @@
---
-title: "Clementine Music Player"
-description: "Instructions on how to integrate Clementine Music Player within Home Assistant."
+title: Clementine Music Player
+description: Instructions on how to integrate Clementine Music Player within Home Assistant.
logo: clementine.png
ha_category:
- Media Player
diff --git a/source/_integrations/clickatell.markdown b/source/_integrations/clickatell.markdown
index 45959da4837..e01933cf1df 100644
--- a/source/_integrations/clickatell.markdown
+++ b/source/_integrations/clickatell.markdown
@@ -1,6 +1,6 @@
---
-title: "Clickatell SMS"
-description: "Instructions on how to add Clickatell notifications to Home Assistant."
+title: Clickatell
+description: Instructions on how to add Clickatell notifications to Home Assistant.
logo: clickatell.png
ha_category:
- Notifications
diff --git a/source/_integrations/clicksend.markdown b/source/_integrations/clicksend.markdown
index cbe5dbd8ab6..4c2a625f9fd 100644
--- a/source/_integrations/clicksend.markdown
+++ b/source/_integrations/clicksend.markdown
@@ -1,6 +1,6 @@
---
-title: "ClickSend SMS"
-description: "Instructions on how to add ClickSend notifications to Home Assistant."
+title: ClickSend SMS
+description: Instructions on how to add ClickSend notifications to Home Assistant.
logo: clicksend.png
ha_category:
- Notifications
diff --git a/source/_integrations/clicksend_tts.markdown b/source/_integrations/clicksend_tts.markdown
index c82e7e8d3a7..544c71e9748 100644
--- a/source/_integrations/clicksend_tts.markdown
+++ b/source/_integrations/clicksend_tts.markdown
@@ -1,6 +1,6 @@
---
-title: "ClickSend text-to-speech"
-description: "Instructions on how to add ClickSend text-to-speech (TTS) notifications to Home Assistant."
+title: ClickSend TTS
+description: Instructions on how to add ClickSend text-to-speech (TTS) notifications to Home Assistant.
logo: clicksend.png
ha_category:
- Notifications
diff --git a/source/_integrations/climate.markdown b/source/_integrations/climate.markdown
index de691fce92c..ad8f8452f41 100644
--- a/source/_integrations/climate.markdown
+++ b/source/_integrations/climate.markdown
@@ -1,11 +1,11 @@
---
-title: "Climate"
-description: "Instructions on how to setup climate control devices within Home Assistant."
+title: Climate
+description: Instructions on how to setup climate control devices within Home Assistant.
logo: home-assistant.png
ha_category:
- Climate
-ha_qa_scale: internal
ha_release: 0.19
+ha_quality_scale: internal
---
The Climate integration allows you to control and monitor HVAC (heating, ventilating, and air conditioning) devices and thermostats.
@@ -28,7 +28,7 @@ Turn auxiliary heater on/off for climate device
| 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. Targets all when omitted.
+| `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`.
| `aux_heat` | no | New value of auxiliary heater.
#### Automation example
@@ -53,7 +53,7 @@ reflecting a situation where the climate device is set to save energy. For examp
| 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. Targets all when omitted.
+| `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`.
| `preset_mode` | no | New value of preset mode.
#### Automation example
@@ -76,7 +76,7 @@ Set target temperature of climate device
| 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. Targets all when omitted.
+| `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`.
| `target_temp_high` | yes | The highest 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`.
@@ -119,7 +119,7 @@ Set target humidity of climate device
| 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. Targets all when omitted.
+| `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`.
| `humidity` | no | New target humidity for climate device
#### Automation example
@@ -142,7 +142,7 @@ Set fan operation for climate device
| 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. Targets all when omitted.
+| `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`.
| `fan_mode` | no | New value of fan mode
#### Automation example
@@ -165,7 +165,7 @@ Set climate device's HVAC mode
| 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. Targets all when omitted.
+| `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`.
| `hvac_mode` | no | New value of HVAC mode
#### Automation example
@@ -188,7 +188,7 @@ Set swing operation mode for climate device
| 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. Targets all when omitted.
+| `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`.
| `swing_mode` | no | New value of swing mode
#### Automation example
@@ -211,7 +211,7 @@ Turn climate device on. This is only supported if the climate device supports be
| 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. Targets all when omitted.
+| `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`.
### Service `climate.turn_off`
@@ -219,4 +219,4 @@ Turn climate device off. This is only supported if the climate device has the hv
| 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. Targets all when omitted.
+| `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`.
diff --git a/source/_integrations/climate.mqtt.markdown b/source/_integrations/climate.mqtt.markdown
index 4242674bfc2..60c84f1e378 100644
--- a/source/_integrations/climate.mqtt.markdown
+++ b/source/_integrations/climate.mqtt.markdown
@@ -10,10 +10,6 @@ ha_iot_class: Local Polling
The `mqtt` climate platform lets you control your MQTT enabled HVAC devices.
-The platform currently works in optimistic mode, which means it does not obtain states from MQTT topics, but it sends and remembers control commands.
-
-It uses a sensor under the hood to obtain the current temperature.
-
## Configuration
To enable this climate platform in your installation, first add the following to your `configuration.yaml` file:
@@ -127,7 +123,7 @@ action_topic:
type: string
action_template:
description: A template to render the value received on the `action_topic` with.
- requred: false
+ required: false
type: template
temperature_command_topic:
description: The MQTT topic to publish commands to change the target temperature.
diff --git a/source/_integrations/cloud.markdown b/source/_integrations/cloud.markdown
index e643ee603b1..89959da111f 100644
--- a/source/_integrations/cloud.markdown
+++ b/source/_integrations/cloud.markdown
@@ -1,11 +1,13 @@
---
-title: "Home Assistant Cloud"
-description: "Enable the Home Assistant Cloud integration."
+title: Home Assistant Cloud
+description: Enable the Home Assistant Cloud integration.
logo: nabu-casa.svg
-ha_release: "0.60"
+ha_release: '0.60'
ha_category:
- Voice
ha_iot_class: Cloud Push
+ha_codeowners:
+ - '@home-assistant/cloud'
---
The Home Assistant Cloud allows you to quickly integrate your local Home Assistant with various cloud services like Amazon Alexa and Google Assistant. [Learn more.](/cloud)
diff --git a/source/_integrations/cloudflare.markdown b/source/_integrations/cloudflare.markdown
index b501faed094..3fc65ff1f81 100644
--- a/source/_integrations/cloudflare.markdown
+++ b/source/_integrations/cloudflare.markdown
@@ -1,19 +1,21 @@
---
-title: "Cloudflare"
-description: "Automatically update your Cloudflare DNS records."
+title: Cloudflare
+description: Automatically update your Cloudflare DNS records.
logo: cloudflare.png
ha_category:
- Network
ha_release: 0.74
+ha_codeowners:
+ - '@ludeeus'
---
-With the `cloudflare` integration you can keep your Cloudflare records up to date.
+With the `cloudflare` integration, you can keep your Cloudflare records up to date.
-The integration will run every hour, but can also be started manually by using the service `cloudflare.update_records` under services.
+The integration runs every hour, but can also be started manually by using the service `cloudflare.update_records` under services.
## Setup
-You will find your global API key in your Cloudflare account settings.
+You can find your global API key in your Cloudflare account settings.
## Configuration
@@ -26,7 +28,7 @@ cloudflare:
api_key: YOUR_GLOBAL_API_KEY
zone: EXAMPLE.COM
records:
- - bin
+ - ha
- www
```
@@ -40,13 +42,79 @@ api_key:
required: true
type: string
zone:
- description: The DNS zone you want to update.
+ description: The DNS zone (domain) you want to update.
required: true
type: string
records:
- description: A list of records you want to update.
+ description: A list of records (subdomains) you want to update.
required: true
type: list
{% endconfiguration %}
+## Additional information
+
+### Usage of external service
+
This platform uses the API from [ipify.org](https://www.ipify.org/) to set the public IP address.
+
+### API Key
+
+Please note that the `api_key` is the [global API key](https://support.cloudflare.com/hc/en-us/articles/200167836-Managing-API-Tokens-and-Keys#12345682) of your Cloudflare account (not the API Token).
+
+### Home Assistant Companion App
+
+If you would like to use [iOS App](https://companion.home-assistant.io/) via Cloudflare set **Minimum TLS version as 1.2**, in order to do that, do the following:
+1. Login to your [Cloudflare](https://dash.cloudflare.com/) account.
+2. Choose your domain.
+3. Click on the `SSL/TLS` icon.
+4. Go to tab `Edge Certificates`.
+5. Find `Minimum TLS Version` and set it to **1.2**.
+
+Other settings should not cause any issues.
+
+### SSH over Cloudflare
+
+For SSH usage (according to [this](https://blog.cloudflare.com/cloudflare-now-supporting-more-ports/) source), you need to connect directly to your server (bypassing Cloudflare). To do that, create a `CNAME` DNS record, e.g., `ssh.example.com`, with proxy status as "DNS only" (to do that click on orange icon, it will change color to gray) and then connect to `ssh.example.com` using your server SSH port.
+
+### Using Cloudflare domain only for Home Assistant
+
+If you want to update just a main domain, place in the records list only your domain, e.g., `example.com`. It will update your `A` DNS record with your IP every hour.
+
+```yaml
+# Example configuration.yaml entry for one domain
+cloudflare:
+ email: YOUR_EMAIL_ADDRESS
+ api_key: YOUR_GLOBAL_API_KEY
+ zone: EXAMPLE.COM
+ records:
+ - EXAMPLE.COM
+```
+
+#### The minimum DNS record settings are (if you have set up https already):
+
+To redirect from your domain to the IP address of your Home Assistant server set this DNS record:
+
+```text
+Type: A
+Name: @
+IPv4 Address: your.ip.address
+```
+
+You can find your current IP address using [this](https://api.ipify.org/) page.
+
+In order to redirect from `https://www` to `https://` you need to set this DNS record:
+
+```text
+Type: CNAME
+Name: @
+Target: example.com (your actual domain)
+```
+
+And also create Page Rule:
+
+```text
+If the URL matches: www.example.com*
+Then the settings are: Forwarding URL
+Status: 302 - Temporary redirect
+Destination URL: https://example.com/$1
+```
diff --git a/source/_integrations/cmus.markdown b/source/_integrations/cmus.markdown
index 8ac0a5b48c6..f995a5d9109 100644
--- a/source/_integrations/cmus.markdown
+++ b/source/_integrations/cmus.markdown
@@ -1,14 +1,12 @@
---
-title: "cmus"
-description: "Instructions on how to integrate cmus Music Player into Home
-Assistant."
+title: cmus
+description: Instructions on how to integrate cmus Music Player into Home Assistant.
ha_category:
- Media Player
ha_iot_class: Local Polling
ha_release: 0.23
---
-
The `cmus` platform allows you to control a [cmus](https://cmus.github.io/) music player on a remote or local machine from Home Assistant.
To add cmus to your installation, add the following to your `configuration.yaml` file if running locally it will look like:
diff --git a/source/_integrations/co2signal.markdown b/source/_integrations/co2signal.markdown
index 48808af9f26..b51ecea755b 100644
--- a/source/_integrations/co2signal.markdown
+++ b/source/_integrations/co2signal.markdown
@@ -1,6 +1,6 @@
---
-title: "CO2Signal"
-description: "Instructions on how to use CO2Signal data within Home Assistant"
+title: CO2 Signal
+description: Instructions on how to use CO2Signal data within Home Assistant
logo: co2signal.png
ha_category:
- Environment
@@ -94,4 +94,3 @@ sensor:
## Sensor Types
When configured, the platform will create one sensor for each configured location.
-
diff --git a/source/_integrations/coinbase.markdown b/source/_integrations/coinbase.markdown
index ba75ab338c7..347faa17270 100644
--- a/source/_integrations/coinbase.markdown
+++ b/source/_integrations/coinbase.markdown
@@ -1,6 +1,6 @@
---
-title: "Coinbase"
-description: "Instructions for how to add Coinbase sensors to Home Assistant."
+title: Coinbase
+description: Instructions for how to add Coinbase sensors to Home Assistant.
logo: coinbase.png
ha_category:
- Finance
diff --git a/source/_integrations/coinmarketcap.markdown b/source/_integrations/coinmarketcap.markdown
index a5d8d3d2e6a..6a13cbff593 100644
--- a/source/_integrations/coinmarketcap.markdown
+++ b/source/_integrations/coinmarketcap.markdown
@@ -1,6 +1,6 @@
---
-title: "CoinMarketCap"
-description: "Instructions on how to integrate CoinMarketCap data within Home Assistant."
+title: CoinMarketCap
+description: Instructions on how to integrate CoinMarketCap data within Home Assistant.
logo: coinmarketcap.png
ha_category:
- Finance
@@ -8,7 +8,6 @@ ha_release: 0.28
ha_iot_class: Cloud Polling
---
-
The `coinmarketcap` sensor platform displays various details about a cryptocurrency provided by [CoinMarketCap](https://coinmarketcap.com/).
To add the CoinMarketCap sensor to your installation, add the following lines to your `configuration.yaml`:
@@ -38,4 +37,3 @@ display_currency_decimals:
{% endconfiguration %}
All supported currencies can be found [here](https://coinmarketcap.com/api/), a list of currency IDs can be found [here](https://api.coinmarketcap.com/v2/ticker/).
-
diff --git a/source/_integrations/comed_hourly_pricing.markdown b/source/_integrations/comed_hourly_pricing.markdown
index 8bb97c4cda2..10cb0c14dc1 100644
--- a/source/_integrations/comed_hourly_pricing.markdown
+++ b/source/_integrations/comed_hourly_pricing.markdown
@@ -1,10 +1,10 @@
---
-title: "ComEd Hourly Pricing"
-description: "Instructions on how to set up the ComEd Hourly Pricing sensor in Home Assistant."
+title: ComEd Hourly Pricing
+description: Instructions on how to set up the ComEd Hourly Pricing sensor in Home Assistant.
logo: comed.png
ha_category:
- Energy
-ha_release: "0.40"
+ha_release: '0.40'
ha_iot_class: Cloud Polling
---
diff --git a/source/_integrations/comfoconnect.markdown b/source/_integrations/comfoconnect.markdown
index 5f5a3eb7dae..fbe7434a140 100644
--- a/source/_integrations/comfoconnect.markdown
+++ b/source/_integrations/comfoconnect.markdown
@@ -1,12 +1,14 @@
---
-title: "Zehnder ComfoAir Q Ventilation"
-description: "Instructions on how to integrate Zehnder ComfoAir Q350/450/600 ventilation systems into Home Assistant."
+title: Zehnder ComfoAir Q
+description: Instructions on how to integrate Zehnder ComfoAir Q350/450/600 ventilation systems into Home Assistant.
logo: zehnder.png
ha_category:
- Fan
- Sensor
ha_release: 0.48
-ha_iot_class: "Local Push"
+ha_iot_class: Local Push
+ha_codeowners:
+ - '@michaelarnauts'
---
The `comfoconnect` integration lets you control Zehnder ComfoAir [Q350](https://www.international.zehnder-systems.com/products-and-systems/comfosystems/zehnder-comfoair-q350-tr)/[Q450](https://www.international.zehnder-systems.com/products-and-systems/comfosystems/zehnder-comfoair-q450-tr)/[Q600](https://www.international.zehnder-systems.com/products-and-systems/comfosystems/zehnder-comfoair-q600-st)
diff --git a/source/_integrations/command_line.markdown b/source/_integrations/command_line.markdown
index 988422d584c..252344982eb 100644
--- a/source/_integrations/command_line.markdown
+++ b/source/_integrations/command_line.markdown
@@ -1,6 +1,6 @@
---
-title: "Command line Binary Sensor"
-description: "Instructions on how to integrate Command binary sensors within Home Assistant."
+title: Command Line
+description: Instructions on how to integrate Command binary sensors within Home Assistant.
logo: command_line.png
ha_category:
- Utility
diff --git a/source/_integrations/concord232.markdown b/source/_integrations/concord232.markdown
index d785bbdea6d..ea0b3bf88ef 100644
--- a/source/_integrations/concord232.markdown
+++ b/source/_integrations/concord232.markdown
@@ -1,6 +1,6 @@
---
-title: "Concord232"
-description: "Instructions on how to integrate Interlogix/GE Concord4 into Home Assistant."
+title: Concord232
+description: Instructions on how to integrate Interlogix/GE Concord4 into Home Assistant.
logo: interlogix.png
ha_category:
- Alarm
diff --git a/source/_integrations/config.markdown b/source/_integrations/config.markdown
index 4b7942af226..23e626dd151 100644
--- a/source/_integrations/config.markdown
+++ b/source/_integrations/config.markdown
@@ -1,11 +1,13 @@
---
-title: "Config"
-description: "Instructions on how to setup the configuration panel for Home Assistant."
+title: Config
+description: Instructions on how to setup the configuration panel for Home Assistant.
logo: home-assistant.png
ha_category:
- Front End
ha_release: 0.39
-ha_qa_scale: internal
+ha_quality_scale: internal
+ha_codeowners:
+ - '@home-assistant/core'
---
The `config` integration is designed to display panels in the frontend to configure and manage parts of Home Assistant.
@@ -64,4 +66,3 @@ This section enables you to control your Z-Wave network and devices from within
### Customization
This section enables you to customize entities within Home Assistant. Use this to set friendly names, change icons, hide entities, and modify other attributes.
-
diff --git a/source/_integrations/configurator.markdown b/source/_integrations/configurator.markdown
index 763a7e493d6..0ba4152338e 100644
--- a/source/_integrations/configurator.markdown
+++ b/source/_integrations/configurator.markdown
@@ -1,11 +1,13 @@
---
-title: "Configurator"
-description: "Instructions on how to integrate the configurator in your components."
+title: Configurator
+description: Instructions on how to integrate the configurator in your components.
logo: home-assistant.png
ha_category:
- Other
-ha_qa_scale: internal
ha_release: 0.7
+ha_quality_scale: internal
+ha_codeowners:
+ - '@home-assistant/core'
---
diff --git a/source/_integrations/conversation.markdown b/source/_integrations/conversation.markdown
index 819f58c5737..d7b4a3efcc3 100644
--- a/source/_integrations/conversation.markdown
+++ b/source/_integrations/conversation.markdown
@@ -1,11 +1,13 @@
---
-title: "Conversation"
-description: "Instructions on how to have conversations with your Home Assistant."
+title: Conversation
+description: Instructions on how to have conversations with your Home Assistant.
logo: home-assistant.png
ha_category:
- - "Voice"
-ha_qa_scale: internal
+ - Voice
ha_release: 0.7
+ha_quality_scale: internal
+ha_codeowners:
+ - '@home-assistant/core'
---
The conversation integration allows you to converse with Home Assistant. You can either converse by pressing the microphone in the frontend (supported browsers only (no iOS)) or by calling the `conversation/process` service with the transcribed text.
diff --git a/source/_integrations/coolmaster.markdown b/source/_integrations/coolmaster.markdown
index 51335b919f7..29723010ca3 100644
--- a/source/_integrations/coolmaster.markdown
+++ b/source/_integrations/coolmaster.markdown
@@ -1,14 +1,16 @@
---
-title: "CoolMasterNet Climate"
-description: "Instructions on how to integrate CoolMasterNet within Home Assistant."
+title: CoolMasterNet
+description: Instructions on how to integrate CoolMasterNet within Home Assistant.
logo: coolautomation.png
ha_category:
- Climate
ha_release: 0.88
ha_iot_class: Local Polling
+ha_config_flow: true
+ha_codeowners:
+ - '@OnFreund'
---
-
The `coolmaster` climate platform lets you control HVAC through [CoolMasterNet](https://coolautomation.com/products/coolmasternet/).
## Configuration via the frontend
diff --git a/source/_integrations/counter.markdown b/source/_integrations/counter.markdown
index 45b9b3a1ce3..0d6b5148b19 100644
--- a/source/_integrations/counter.markdown
+++ b/source/_integrations/counter.markdown
@@ -1,11 +1,13 @@
---
-title: "Counter"
-description: "Instructions on how to integrate counters into Home Assistant."
+title: Counter
+description: Instructions on how to integrate counters into Home Assistant.
logo: home-assistant.png
ha_category:
- Automation
ha_release: 0.53
-ha_qa_scale: internal
+ha_quality_scale: internal
+ha_codeowners:
+ - '@fabaff'
---
The `counter` integration allows one to count occurrences fired by automations.
diff --git a/source/_integrations/cover.group.markdown b/source/_integrations/cover.group.markdown
index 999daeee25b..43c7c4c455c 100644
--- a/source/_integrations/cover.group.markdown
+++ b/source/_integrations/cover.group.markdown
@@ -6,7 +6,7 @@ ha_category:
ha_release: 0.66
ha_iot_class: Local Push
logo: home-assistant.png
-ha_qa_scale: internal
+ha_quality_scale: internal
---
The `group` platform can create a cover that combines several cover entities into one.
diff --git a/source/_integrations/cover.markdown b/source/_integrations/cover.markdown
index bcda65e85e6..a38a7cf21c1 100644
--- a/source/_integrations/cover.markdown
+++ b/source/_integrations/cover.markdown
@@ -1,11 +1,13 @@
---
-title: "Covers"
-description: "Instructions on how to integrate covers into Home Assistant."
+title: Cover
+description: Instructions on how to integrate covers into Home Assistant.
logo: home-assistant.png
ha_category:
- Cover
-ha_qa_scale: internal
ha_release: 0.27
+ha_quality_scale: internal
+ha_codeowners:
+ - '@home-assistant/core'
---
Home Assistant can give you an interface to control covers such as rollershutters, blinds, and garage doors.
diff --git a/source/_integrations/cover.template.markdown b/source/_integrations/cover.template.markdown
index 81b2d8f5b78..94770e9a967 100644
--- a/source/_integrations/cover.template.markdown
+++ b/source/_integrations/cover.template.markdown
@@ -6,7 +6,7 @@ ha_category:
ha_release: 0.48
ha_iot_class: Local Push
logo: home-assistant.png
-ha_qa_scale: internal
+ha_quality_scale: internal
---
The `template` platform can create covers that combine integrations and provides
diff --git a/source/_integrations/cppm_tracker.markdown b/source/_integrations/cppm_tracker.markdown
index b5a67440ae6..3cc1ae5dacd 100644
--- a/source/_integrations/cppm_tracker.markdown
+++ b/source/_integrations/cppm_tracker.markdown
@@ -1,10 +1,10 @@
---
-title: "Aruba ClearPass"
-description: "Instructions on how to integrate Aruba ClearPass into Home Assistant."
+title: Aruba ClearPass
+description: Instructions on how to integrate Aruba ClearPass into Home Assistant.
logo: aruba.png
ha_category:
- Presence Detection
-ha_release: "0.90"
+ha_release: '0.90'
ha_iot_class: Local Polling
---
diff --git a/source/_integrations/cpuspeed.markdown b/source/_integrations/cpuspeed.markdown
index be4aa104582..1ea3b6f3eba 100644
--- a/source/_integrations/cpuspeed.markdown
+++ b/source/_integrations/cpuspeed.markdown
@@ -1,11 +1,13 @@
---
-title: "CPU speed"
-description: "Instructions on how to integrate CPU speed within Home Assistant."
+title: CPU Speed
+description: Instructions on how to integrate CPU speed within Home Assistant.
logo: cpu.png
ha_category:
- System Monitor
ha_release: pre 0.7
ha_iot_class: Local Push
+ha_codeowners:
+ - '@fabaff'
---
The `cpuspeed` sensor platform to allow you to monitor the current CPU speed.
diff --git a/source/_integrations/crimereports.markdown b/source/_integrations/crimereports.markdown
index 54fe180d362..b5ba389d2d7 100644
--- a/source/_integrations/crimereports.markdown
+++ b/source/_integrations/crimereports.markdown
@@ -1,6 +1,6 @@
---
-title: "Crime Reports"
-description: "Instructions on how to integrate CrimeReports.com into Home Assistant."
+title: Crime Reports
+description: Instructions on how to integrate CrimeReports.com into Home Assistant.
ha_category:
- Social
logo: crimereports.png
diff --git a/source/_integrations/cups.markdown b/source/_integrations/cups.markdown
index c8954521356..6fc1d2efe10 100644
--- a/source/_integrations/cups.markdown
+++ b/source/_integrations/cups.markdown
@@ -1,14 +1,15 @@
---
-title: "CUPS Sensor"
-description: "Instructions on how to integrate CUPS sensors into Home Assistant."
+title: CUPS
+description: Instructions on how to integrate CUPS sensors into Home Assistant.
logo: cups.png
ha_category:
- System Monitor
ha_iot_class: Local Polling
ha_release: 0.32
+ha_codeowners:
+ - '@fabaff'
---
-
The `cups` sensor platform is using the open source printing system [CUPS](https://www.cups.org/) to show details about your printers, including the ink levels. It can obtain the informations using a CUPS server or communicating directly with the printer with the Internet Printing Protocol.
## Setup
diff --git a/source/_integrations/currencylayer.markdown b/source/_integrations/currencylayer.markdown
index 0dbe85504a2..5052c428066 100644
--- a/source/_integrations/currencylayer.markdown
+++ b/source/_integrations/currencylayer.markdown
@@ -1,6 +1,6 @@
---
-title: "Currencylayer"
-description: "Instructions on integrating exchange rates from https://currencylayer.com/ within Home Assistant."
+title: currencylayer
+description: Instructions on integrating exchange rates from https://currencylayer.com/ within Home Assistant.
ha_category:
- Finance
logo: currencylayer.png
@@ -8,7 +8,6 @@ ha_iot_class: Cloud Polling
ha_release: 0.32
---
-
The `currencylayer` sensor will show you the current exchange rate from [Currencylayer](https://currencylayer.com/) that provides real-time exchange rates for [170 currencies](https://currencylayer.com/currencies). The free account is limited to only USD as a base currency, allows 1000 requests per month, and updates every hour.
Obtain your API key [here](https://currencylayer.com/product)
diff --git a/source/_integrations/daikin.markdown b/source/_integrations/daikin.markdown
index 3af3ec3ce10..aa70c271d66 100644
--- a/source/_integrations/daikin.markdown
+++ b/source/_integrations/daikin.markdown
@@ -1,6 +1,6 @@
---
-title: "Daikin AC"
-description: "Instructions on how to integrate Daikin AC devices with Home Assistant."
+title: Daikin AC
+description: Instructions on how to integrate Daikin AC devices with Home Assistant.
logo: daikin.png
ha_category:
- Climate
@@ -8,7 +8,11 @@ ha_category:
- Switch
ha_release: 0.59
ha_iot_class: Local Polling
-ha_qa_scale: platinum
+ha_config_flow: true
+ha_quality_scale: platinum
+ha_codeowners:
+ - '@fredrike'
+ - '@rofrantz'
---
The `daikin` integration integrates Daikin air conditioning systems into Home Assistant.
diff --git a/source/_integrations/danfoss_air.markdown b/source/_integrations/danfoss_air.markdown
index 95baa5ec0bd..cfb49385e27 100644
--- a/source/_integrations/danfoss_air.markdown
+++ b/source/_integrations/danfoss_air.markdown
@@ -1,6 +1,6 @@
---
-title: "Danfoss Air"
-description: "How to integrate Danfoss Air HRV in Home Assistant."
+title: Danfoss Air
+description: How to integrate Danfoss Air HRV in Home Assistant.
ha_category:
- Climate
- Binary Sensor
diff --git a/source/_integrations/darksky.markdown b/source/_integrations/darksky.markdown
index cea4581810b..3b191b5553b 100644
--- a/source/_integrations/darksky.markdown
+++ b/source/_integrations/darksky.markdown
@@ -1,11 +1,13 @@
---
-title: "Dark Sky Sensor"
-description: "How to integrate Dark Sky within Home Assistant."
+title: Dark Sky
+description: How to integrate Dark Sky within Home Assistant.
logo: dark_sky.png
ha_category:
- Weather
-ha_release: "0.30"
+ha_release: '0.30'
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@fabaff'
---
The `darksky` platform uses the [Dark Sky](https://darksky.net/) web service as a source for meteorological data for your location. The location is based on the `longitude` and `latitude` coordinates configured in your `configuration.yaml` file. The coordinates are auto-detected but to take advantage of the hyper-local weather reported by Dark Sky, you can refine them down to your exact home address. GPS coordinates can be found by using [Google Maps](https://www.google.com/maps) and clicking on your home or [Openstreetmap](https://www.openstreetmap.org/).
diff --git a/source/_integrations/datadog.markdown b/source/_integrations/datadog.markdown
index 7a0152f82c6..17aa9f449bd 100644
--- a/source/_integrations/datadog.markdown
+++ b/source/_integrations/datadog.markdown
@@ -1,6 +1,6 @@
---
-title: "Datadog"
-description: "Send data and events to Datadog."
+title: Datadog
+description: Send data and events to Datadog.
logo: datadog.png
ha_category:
- History
diff --git a/source/_integrations/ddwrt.markdown b/source/_integrations/ddwrt.markdown
index 41210db2eb6..bb28ea003a8 100644
--- a/source/_integrations/ddwrt.markdown
+++ b/source/_integrations/ddwrt.markdown
@@ -1,6 +1,6 @@
---
-title: "DD-WRT"
-description: "Instructions on how to integrate DD-WRT based routers into Home Assistant."
+title: DD-WRT
+description: Instructions on how to integrate DD-WRT based routers into Home Assistant.
logo: ddwrt.png
ha_category:
- Presence Detection
diff --git a/source/_integrations/deconz.markdown b/source/_integrations/deconz.markdown
index 2fb4a435c8d..f552501aa31 100644
--- a/source/_integrations/deconz.markdown
+++ b/source/_integrations/deconz.markdown
@@ -1,6 +1,6 @@
---
-title: "deCONZ"
-description: "Instructions on how to setup Conbee/Raspbee devices with deCONZ from Dresden Elektronik within Home Assistant."
+title: deCONZ
+description: Instructions on how to setup ConBee/RaspBee devices with deCONZ from dresden elektronik within Home Assistant.
logo: deconz.jpeg
ha_category:
- Hub
@@ -12,11 +12,13 @@ ha_category:
- Switch
ha_release: 0.61
ha_iot_class: Local Push
-ha_qa_scale: platinum
ha_config_flow: true
+ha_quality_scale: platinum
+ha_codeowners:
+ - '@kane610'
---
-[deCONZ](https://www.dresden-elektronik.de/funktechnik/products/software/pc/deconz/) by [Dresden Elektronik](https://www.dresden-elektronik.de) is a software that communicates with Conbee/Raspbee Zigbee gateways and exposes Zigbee devices that are connected to the gateway.
+[deCONZ](https://www.dresden-elektronik.de/funk/software/deconz.html) by [dresden elektronik](https://www.dresden-elektronik.de) is a software that communicates with ConBee/RaspBee Zigbee gateways and exposes Zigbee devices that are connected to the gateway.
[deCONZ REST API](https://dresden-elektronik.github.io/deconz-rest-doc/).
@@ -32,7 +34,7 @@ There is currently support for the following device types within Home Assistant:
## Recommended way of running deCONZ
-If you are running Hass.io, an official add-on for Deconz is available in the add-on store.
+If you are running Hass.io, an official add-on for deCONZ is available in the add-on store.
Otherwise, use [community container](https://hub.docker.com/r/marthoc/deconz/) by Marthoc for your deCONZ needs.
### Supported devices
@@ -43,7 +45,7 @@ See [deCONZ wiki](https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/
Home Assistant will automatically discover deCONZ presence on your network, if `discovery:` is present in your `configuration.yaml` file.
-If you don't have the API key, you can generate an API key for deCONZ by using the one-click functionality similar to Philips Hue. Go to **Settings** -> **Gateway** -> **Advanced** -> **Authenticate app** in deCONZ and then use the deCONZ configurator in Home Assistant frontend to create an API key. When you're done setting up deCONZ it will be stored as a config entry.
+If you don't have the API key, you can generate an API key for deCONZ by using the one-click functionality similar to Philips Hue. Go to **Settings** ā **Gateway** ā **Advanced** ā **Authenticate app** in the Phoscon App and then use the deCONZ configurator in Home Assistant frontend to create an API key. When you're done setting up deCONZ it will be stored as a config entry.
You can manually add deCONZ by going to the integrations page.
@@ -61,7 +63,7 @@ logger:
## Troubleshooting
-If you are having issues and want to report a problem, always start with making sure that you're on the latest [deCONZ software version](https://github.com/dresden-elektronik/deconz-rest-plugin/releases) and [latest firmware for hardware](https://www.dresden-elektronik.de/rpi/deconz-firmware/?C=M;O=D).
+If you are having issues and want to report a problem, always start with making sure that you're on the latest [deCONZ software version](https://github.com/dresden-elektronik/deconz-rest-plugin/releases) and [latest firmware for hardware](http://deconz.dresden-elektronik.de/deconz-firmware/?C=M;O=D).
## Device services
@@ -69,7 +71,7 @@ Available services: `configure` and `deconz.device_refresh`.
### Service `deconz.configure`
-Set attribute of device in deCONZ using [Rest API](https://dresden-elektronik.github.io/deconz-rest-doc/rest/).
+Set attribute of device in deCONZ using [REST-API](https://dresden-elektronik.github.io/deconz-rest-doc/rest/).
| Service data attribute | Optional | Description |
|-----------|----------|-------------|
@@ -103,7 +105,7 @@ Note: deCONZ automatically signals Home Assistant when new sensors are added, bu
## Remote control devices
-Remote controls (ZHASwitch category) will not be exposed as regular entities, but as events named `deconz_event` with a payload of `id` and `event`. Id will be the device name from deCONZ and Event will be the momentary state of the switch. However, a sensor entity will be created that shows the battery level of the switch as reported by deCONZ, named sensor.device_name_battery_level.
+Remote controls (ZHASwitch category) will not be exposed as regular entities, but as events named `deconz_event` with a payload of `id` and `event` and in case of the Aqara Magic Cube also `gesture`. Id will be the device name from deCONZ and Event will be the momentary state of the switch. Gesture is used for some Aqara Magic Cube specific events like: flip 90 degrees, flip 180 degrees, clockwise and counter clockwise rotation. However, a sensor entity will be created that shows the battery level of the switch as reported by deCONZ, named sensor.device_name_battery_level.
Typical values for switches, the event codes are 4 numbers where the first and last number are of interest here.
@@ -118,6 +120,20 @@ Where for example on a Philips Hue Dimmer, 2001 would be holding the dim up butt
For the IKEA Tradfri remote the first digit equals, 1 for the middle button, 2 for up, 3 for down, 4 for left, and 5 for right (e.g., "event: 1002" for middle button short release).
+Specific gestures for the Aqara Magic Cube are:
+
+| Gesture | Description |
+|---------|-------------|
+| 0 | Awake |
+| 1 | Shake |
+| 2 | Free fall |
+| 3 | Flip 90 |
+| 4 | Flip 180 |
+| 5 | Move on any side |
+| 6 | Double tap on any side |
+| 7 | Turn clockwise |
+| 8 | Turn counter clockwise |
+
### Finding your events
Navigate to **Developer tools->Events**. In the section **Listen to events** add `deconz_event` and press **START LISTENING**. All events from deCONZ will now be shown and by pushing your remote button while monitoring the log it should be fairly easy to find the events you are looking for.
@@ -139,6 +155,7 @@ Currently supported devices as device triggers:
- Aqara Mini Switch
- Aqara Round Switch
- Aqara Square Switch
+- Aqara Magic Cube
#### Requesting support for new device trigger
@@ -197,6 +214,18 @@ automation:
brightness: >
{% set bri = state_attr('light.lamp', 'brightness') | int %}
{{ [bri-30, 0] | max }}
+
+ - alias: 'Turn lamp on when turning cube clockwise'
+ initial_state: 'on'
+ trigger:
+ platform: event
+ event_type: deconz_event
+ event_data:
+ id: remote_control_1
+ gesture: 7
+ action:
+ service: light.turn_on
+ entity_id: light.lamp
```
{% endraw %}
@@ -223,6 +252,7 @@ import appdaemon.plugins.hass.hassapi as hass
import datetime
from datetime import datetime
+
class DeconzHelper(hass.Hass):
def initialize(self) -> None:
self.listen_event(self.event_received, "deconz_event")
@@ -232,8 +262,15 @@ class DeconzHelper(hass.Hass):
event_id = data["id"]
event_received = datetime.now()
- self.log("Deconz event received from {}. Event was: {}".format(event_id, event_data))
- self.set_state("sensor.deconz_event", state = event_id, attributes = {"event_data": event_data, "event_received": str(event_received)})
+ self.log(f"Deconz event received from {event_id}. Event was: {event_data}")
+ self.set_state(
+ "sensor.deconz_event",
+ state=event_id,
+ attributes={
+ "event_data": event_data,
+ "event_received": str(event_received),
+ },
+ )
```
{% endraw %}
@@ -255,23 +292,23 @@ remote_control:
```python
import appdaemon.plugins.hass.hassapi as hass
-class RemoteControl(hass.Hass):
+class RemoteControl(hass.Hass):
def initialize(self):
- if 'event' in self.args:
- self.listen_event(self.handle_event, self.args['event'])
+ if "event" in self.args:
+ self.listen_event(self.handle_event, self.args["event"])
def handle_event(self, event_name, data, kwargs):
- if data['id'] == self.args['id']:
- self.log(data['event'])
- if data['event'] == 1002:
- self.log('Button on')
- elif data['event'] == 2002:
- self.log('Button dim up')
- elif data['event'] == 3002:
- self.log('Button dim down')
- elif data['event'] == 4002:
- self.log('Button off')
+ if data["id"] == self.args["id"]:
+ self.log(data["event"])
+ if data["event"] == 1002:
+ self.log("Button on")
+ elif data["event"] == 2002:
+ self.log("Button dim up")
+ elif data["event"] == 3002:
+ self.log("Button dim down")
+ elif data["event"] == 4002:
+ self.log("Button off")
```
{% endraw %}
@@ -298,34 +335,36 @@ sonos_remote_control:
```python
import appdaemon.plugins.hass.hassapi as hass
-class SonosRemote(hass.Hass):
+class SonosRemote(hass.Hass):
def initialize(self):
- self.sonos = self.args['sonos']
- if 'event' in self.args:
- self.listen_event(self.handle_event, self.args['event'])
+ self.sonos = self.args["sonos"]
+ if "event" in self.args:
+ self.listen_event(self.handle_event, self.args["event"])
def handle_event(self, event_name, data, kwargs):
- if data['id'] == self.args['id']:
- if data['event'] == 1002:
- self.log('Button toggle')
- self.call_service("media_player/media_play_pause", entity_id = self.sonos)
+ if data["id"] == self.args["id"]:
+ if data["event"] == 1002:
+ self.log("Button toggle")
+ self.call_service("media_player/media_play_pause", entity_id=self.sonos)
- elif data['event'] == 2002:
- self.log('Button volume up')
- self.call_service("media_player/volume_up", entity_id = self.sonos)
+ elif data["event"] == 2002:
+ self.log("Button volume up")
+ self.call_service("media_player/volume_up", entity_id=self.sonos)
- elif data['event'] == 3002:
- self.log('Button volume down')
- self.call_service("media_player/volume_down", entity_id = self.sonos)
+ elif data["event"] == 3002:
+ self.log("Button volume down")
+ self.call_service("media_player/volume_down", entity_id=self.sonos)
- elif data['event'] == 4002:
- self.log('Button previous')
- self.call_service("media_player/media_previous_track", entity_id = self.sonos)
+ elif data["event"] == 4002:
+ self.log("Button previous")
+ self.call_service(
+ "media_player/media_previous_track", entity_id=self.sonos
+ )
- elif data['event'] == 5002:
- self.log('Button next')
- self.call_service("media_player/media_next_track", entity_id = self.sonos)
+ elif data["event"] == 5002:
+ self.log("Button next")
+ self.call_service("media_player/media_next_track", entity_id=self.sonos)
```
{% endraw %}
@@ -372,7 +411,7 @@ The `entity_id` name will be `climate.device_name`, where `device_name` is defin
Covers are devices like ventilation dampers or smart window covers.
-Note that devices in the cover platform identify as lights, so there is a manually curated list that defines which "lights" are covers. You therefore add a cover device as a light device in deCONZ (phoscon app).
+Note that devices in the cover platform identify as lights, so there is a manually curated list that defines which "lights" are covers. You therefore add a cover device as a light device in deCONZ (Phoscon App).
The `entity_id` name will be `cover.device_name`, where `device_name` is defined in deCONZ.
@@ -388,11 +427,16 @@ The `entity_id` names will be `light.device_name`, where `device_name` is define
### Verified supported lights
- IKEA TrƄdfri bulb E14 WS Opal 400lm
-- IKEA TrƄdfri Bulb E27 WS Opal 980lm
-- IKEA TrƄdfri Bulb E27 WS Opal 1000lm
-- IKEA TrƄdfri Bulb E27 WS & RGB Opal 600lm
-- IKEA TrƄdfri Bulb GU10 W 400lm
+- IKEA TrƄdfri bulb E14 WS Opal 600lm
+- IKEA TrƄdfri bulb E27 WS clear 806lm
+- IKEA TrƄdfri bulb E27 WS clear 950lm
+- IKEA TrƄdfri bulb E27 WS Opal 980lm
+- IKEA TrƄdfri bulb E27 WS Opal 1000lm
+- IKEA TrƄdfri bulb E27 WS & RGB Opal 600lm
+- IKEA TrƄdfri bulb GU10 W 400lm
- IKEA TrƄdfri FLOALT LED light panel
+- Innr BY-265, BY-245
+- OSRAM Classic A60 W clear - LIGHTIFY
- OSRAM Flex RGBW
- OSRAM Gardenpole RGBW
- Philips Hue White A19
@@ -430,12 +474,13 @@ The `entity_id` name will be `sensor.device_name`, where `device_name` is define
- Philips Hue Motion Sensor
- IKEA TrƄdfri Remote
- Philips Hue Dimmer Switch
- - Xiaomi Cube
- Xiaomi Aqara Smart Light Switch
- Xiaomi Aqara Smart Wireless Switch
- Xiaomi Smart Home Wireless Switch
- Temperature Sensor
- Xiaomi Temperature/Humidity Sensor
+- OpenClose Sensor
+ - Xiaomi Window / Door Sensor with Temperature
### deCONZ Daylight Sensor
@@ -473,6 +518,7 @@ The `entity_id` name will be `switch.device_name`, where `device_name` is define
### Verified supported switches
- Innr SP120
+- Innr ZB-ONOFFPlug-D0005/SmartThings Smart Plug (2019) (without power measurements)
- Osram Lightify plug
- Osram Outdoor plug
- Heiman siren
diff --git a/source/_integrations/decora.markdown b/source/_integrations/decora.markdown
index 5357de2a2c4..d4ad3028714 100644
--- a/source/_integrations/decora.markdown
+++ b/source/_integrations/decora.markdown
@@ -1,6 +1,6 @@
---
-title: "Leviton Decora"
-description: "Instructions on how to setup Leviton Decora Bluetooth dimmers within Home Assistant."
+title: Leviton Decora
+description: Instructions on how to setup Leviton Decora Bluetooth dimmers within Home Assistant.
ha_category:
- Light
ha_iot_class: Local Polling
diff --git a/source/_integrations/decora_wifi.markdown b/source/_integrations/decora_wifi.markdown
index 9566535d2d3..d937b006e19 100644
--- a/source/_integrations/decora_wifi.markdown
+++ b/source/_integrations/decora_wifi.markdown
@@ -1,6 +1,6 @@
---
-title: "Leviton Decora Wi-Fi"
-description: "Instructions on how to setup Leviton Decora Smart Wi-Fi switches/dimmers within Home Assistant."
+title: Leviton Decora Wi-Fi
+description: Instructions on how to setup Leviton Decora Smart Wi-Fi switches/dimmers within Home Assistant.
ha_category:
- Light
ha_iot_class: Cloud Polling
@@ -35,4 +35,3 @@ password:
required: true
type: string
{% endconfiguration %}
-
diff --git a/source/_integrations/default_config.markdown b/source/_integrations/default_config.markdown
index bb768586a89..eceacafabdb 100644
--- a/source/_integrations/default_config.markdown
+++ b/source/_integrations/default_config.markdown
@@ -1,6 +1,6 @@
---
-title: "Default Config"
-description: "The default config integration will initate a default configuration for Home Assistant."
+title: Default Config
+description: The default config integration will initate a default configuration for Home Assistant.
logo: home-assistant.png
ha_category:
- Other
diff --git a/source/_integrations/delijn.markdown b/source/_integrations/delijn.markdown
index bb4ae3c759c..041d33ec49b 100644
--- a/source/_integrations/delijn.markdown
+++ b/source/_integrations/delijn.markdown
@@ -1,12 +1,14 @@
---
-title: "De Lijn"
-description: "Instructions on how to integrate De Lijn (Flemish public transport company) departure times into Home Assistant."
+title: De Lijn
+description: Instructions on how to integrate De Lijn (Flemish public transport company) departure times into Home Assistant.
ha_release: 0.97
-ha_category:
+ha_category:
- Transport
- Sensor
ha_iot_class: Cloud Polling
logo: delijn.svg
+ha_codeowners:
+ - '@bollewolle'
---
The `delijn` sensor will give you the departure time of the next bus, tram or subway at a specific stop of the De Lijn public transport network in Flanders (Belgium).
diff --git a/source/_integrations/deluge.markdown b/source/_integrations/deluge.markdown
index 14993ca1416..1b1d4d41dea 100644
--- a/source/_integrations/deluge.markdown
+++ b/source/_integrations/deluge.markdown
@@ -1,6 +1,6 @@
---
-title: "Deluge"
-description: "Instructions on how to integrate Deluge within Home Assistant."
+title: Deluge
+description: Instructions on how to integrate Deluge within Home Assistant.
logo: deluge.png
ha_category:
- Downloading
diff --git a/source/_integrations/demo.markdown b/source/_integrations/demo.markdown
index ecd79f57f4d..571b2598e2a 100644
--- a/source/_integrations/demo.markdown
+++ b/source/_integrations/demo.markdown
@@ -1,14 +1,15 @@
---
-title: "Demo platforms"
-description: "Instructions on how to use the Platform demos with Home Assistant."
+title: Demo
+description: Instructions on how to use the Platform demos with Home Assistant.
logo: home-assistant.png
ha_category:
- Other
-ha_qa_scale: internal
ha_release: 0.7
+ha_quality_scale: internal
+ha_codeowners:
+ - '@home-assistant/core'
---
-
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/) or `hass --demo-mode` but combined with your own real/functional platforms.
Available demo platforms:
diff --git a/source/_integrations/denon.markdown b/source/_integrations/denon.markdown
index 30af1e719db..5d8321fa423 100644
--- a/source/_integrations/denon.markdown
+++ b/source/_integrations/denon.markdown
@@ -1,6 +1,6 @@
---
-title: "Denon Network Receivers"
-description: "Instructions on how to integrate Denon Network Receivers into Home Assistant."
+title: Denon Network Receivers
+description: Instructions on how to integrate Denon Network Receivers into Home Assistant.
logo: denon.png
ha_category:
- Media Player
diff --git a/source/_integrations/denonavr.markdown b/source/_integrations/denonavr.markdown
index d2cc4a62955..80e53c600f1 100644
--- a/source/_integrations/denonavr.markdown
+++ b/source/_integrations/denonavr.markdown
@@ -1,6 +1,6 @@
---
-title: "Denon AVR Network Receivers"
-description: "Instructions on how to integrate Denon AVR Network Receivers into Home Assistant."
+title: Denon AVR Network Receivers
+description: Instructions on how to integrate Denon AVR Network Receivers into Home Assistant.
logo: denon.png
ha_category:
- Media Player
@@ -94,4 +94,14 @@ A few notes:
- 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.
+
+#### Service `denonavr.get_command`
+
+Generic commands are supported, in particular, any command supported by the telnet protocol can be sent to `/goform/formiPhoneAppDirect.xml`, e.g., `/goform/formiPhoneAppDirect.xml?VSMONI2` to switch HDMI outputs on supported receivers. IR remote codes can also be sent to this endpoint, e.g. "/goform/formiPhoneAppDirect.xml?RCKSK0410370" as a mute toggle. A comprehensive list of telnet protocol commands is available at https://ca.denon.com/ca/product/hometheater/receivers/avrx4400h?docname=AVR-X6400H_X4400H_X3400H_X2400H_X1400H_S930H_S730H_PROTOCOL_V01.xlsx and a full list of IR codes at http://www.denon-hifi.nl/uk/product/hometheater/avreceivers/avr3313?docname=AVR3313_IR_CODE_V01.pdf
+
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ---------------------------------------------------- |
+| `entity_id` | no | Name of entity to send command to. For example `media_player.marantz`|
+| `command` | no | Command to send to device, e.g. `/goform/formiPhoneAppDirect.xml?VSMONI2`|
+
[Denon]: /integrations/denon
diff --git a/source/_integrations/deutsche_bahn.markdown b/source/_integrations/deutsche_bahn.markdown
index 1ce069e50b1..928500f55e2 100644
--- a/source/_integrations/deutsche_bahn.markdown
+++ b/source/_integrations/deutsche_bahn.markdown
@@ -1,6 +1,6 @@
---
-title: "Deutsche Bahn"
-description: "Instructions on how to integrate timetable data for traveling in Germany within Home Assistant."
+title: Deutsche Bahn
+description: Instructions on how to integrate timetable data for traveling in Germany within Home Assistant.
ha_category:
- Transport
logo: db.png
@@ -8,7 +8,6 @@ ha_iot_class: Cloud Polling
ha_release: 0.14
---
-
The `deutsche_bahn` sensor will give you the departure time of the next train for the given connection. In case of a delay, the delay is also shown. Additional details are used to inform about, e.g., the type of the train, price, and if it is on time.
To enable this sensor, add the following lines to your `configuration.yaml` file:
diff --git a/source/_integrations/device_automation.markdown b/source/_integrations/device_automation.markdown
index 5f9dc1a1b80..fe45a9d56b5 100644
--- a/source/_integrations/device_automation.markdown
+++ b/source/_integrations/device_automation.markdown
@@ -1,10 +1,12 @@
---
-title: "Device Automation"
+title: Device Automation
logo: home-assistant.png
ha_category:
- Automation
-ha_qa_scale: internal
ha_release: 0.7
+ha_quality_scale: internal
+ha_codeowners:
+ - '@home-assistant/core'
---
Device Automations is a plugin for the automation integration to allow other integrations to provide device specific triggers, conditions and actions.
diff --git a/source/_integrations/device_sun_light_trigger.markdown b/source/_integrations/device_sun_light_trigger.markdown
index 1b896c2acea..13b830179bc 100644
--- a/source/_integrations/device_sun_light_trigger.markdown
+++ b/source/_integrations/device_sun_light_trigger.markdown
@@ -1,11 +1,11 @@
---
-title: "Presence based lights"
-description: "Instructions on how to automate your lights with Home Assistant."
+title: Presence-based Lights
+description: Instructions on how to automate your lights with Home Assistant.
logo: home-assistant.png
ha_category:
- Automation
-ha_qa_scale: internal
ha_release: pre 0.7
+ha_quality_scale: internal
---
Home Assistant has a built-in integration called `device_sun_light_trigger` to help you automate your lights. The integration will:
@@ -53,4 +53,4 @@ device_sun_light_trigger:
light_profile: relax
device_group: group.my_devices
disable_turn_off: 1
-```
+```
diff --git a/source/_integrations/device_tracker.markdown b/source/_integrations/device_tracker.markdown
index 4259c2251cc..b101c29adbc 100644
--- a/source/_integrations/device_tracker.markdown
+++ b/source/_integrations/device_tracker.markdown
@@ -1,11 +1,11 @@
---
-title: "Device Tracker"
-description: "Instructions on how to setup device tracking within Home Assistant."
+title: Device Tracker
+description: Instructions on how to setup device tracking within Home Assistant.
logo: home-assistant.png
ha_category:
- Presence Detection
-ha_qa_scale: internal
ha_release: 0.7
+ha_quality_scale: internal
---
The device tracker allows you to track devices in Home Assistant. This can happen by querying your wireless router or by having applications push location info.
diff --git a/source/_integrations/dht.markdown b/source/_integrations/dht.markdown
index 3a366372ed8..e6b1e55d96b 100644
--- a/source/_integrations/dht.markdown
+++ b/source/_integrations/dht.markdown
@@ -1,6 +1,6 @@
---
-title: "DHT Sensor"
-description: "Instructions on how to integrate DHTxx sensors within Home Assistant."
+title: DHT Sensor
+description: Instructions on how to integrate DHTxx sensors within Home Assistant.
ha_category:
- DIY
ha_release: 0.7
@@ -8,7 +8,6 @@ logo: dht.png
ha_iot_class: Local Polling
---
-
The `dht` sensor platform allows you to get the current temperature and humidity from a DHT11, DHT22 or AM2302 device.
## Configuration
diff --git a/source/_integrations/dialogflow.markdown b/source/_integrations/dialogflow.markdown
index 39634189b37..9e06b06a98c 100644
--- a/source/_integrations/dialogflow.markdown
+++ b/source/_integrations/dialogflow.markdown
@@ -1,10 +1,11 @@
---
-title: "Dialogflow"
-description: "Instructions on how integrate Dialogflow with Home Assistant."
+title: Dialogflow
+description: Instructions on how integrate Dialogflow with Home Assistant.
logo: dialogflow.png
ha_category:
- Voice
ha_release: 0.56
+ha_config_flow: true
---
The `dialogflow` integration is designed to be used with the [webhook](https://dialogflow.com/docs/fulfillment#webhook) integration of [Dialogflow](https://dialogflow.com/). When a conversation ends with a user, Dialogflow sends an action and parameters to the webhook.
diff --git a/source/_integrations/digital_ocean.markdown b/source/_integrations/digital_ocean.markdown
index 7ff86f52b5f..1cd0e761993 100644
--- a/source/_integrations/digital_ocean.markdown
+++ b/source/_integrations/digital_ocean.markdown
@@ -1,13 +1,15 @@
---
-title: "Digital Ocean"
-description: "Instructions on how to integrate the Digital Ocean within Home Assistant."
+title: Digital Ocean
+description: Instructions on how to integrate the Digital Ocean within Home Assistant.
ha_category:
- System Monitor
- Binary Sensor
- Switch
-ha_release: "0.30"
+ha_release: '0.30'
logo: digital_ocean.png
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@fabaff'
---
The `digital_ocean` integration allows you to access the information about your [Digital Ocean](https://www.digitalocean.com/) droplets from Home Assistant.
diff --git a/source/_integrations/digitalloggers.markdown b/source/_integrations/digitalloggers.markdown
index c725facab7f..57d8c536cb7 100644
--- a/source/_integrations/digitalloggers.markdown
+++ b/source/_integrations/digitalloggers.markdown
@@ -1,6 +1,6 @@
---
-title: "Digital Loggers Switch"
-description: "Instructions on how to integrate Digital Loggers DIN III relays into Home Assistant."
+title: Digital Loggers
+description: Instructions on how to integrate Digital Loggers DIN III relays into Home Assistant.
logo: digitalloggers.png
ha_category:
- Switch
diff --git a/source/_integrations/directv.markdown b/source/_integrations/directv.markdown
index 2f28a1a3df8..fa01c6f1ebd 100644
--- a/source/_integrations/directv.markdown
+++ b/source/_integrations/directv.markdown
@@ -1,6 +1,6 @@
---
-title: "DirecTV"
-description: "Instructions on how to integrate DirecTV receivers into Home Assistant."
+title: DirecTV
+description: Instructions on how to integrate DirecTV receivers into Home Assistant.
logo: directv.png
ha_category:
- Media Player
diff --git a/source/_integrations/discogs.markdown b/source/_integrations/discogs.markdown
index d2b58f61764..5bbb4fd3d42 100644
--- a/source/_integrations/discogs.markdown
+++ b/source/_integrations/discogs.markdown
@@ -1,11 +1,13 @@
---
-title: Discogs Sensor
-description: "Instructions on how to set up Discogs sensors within Home Assistant."
+title: Discogs
+description: Instructions on how to set up Discogs sensors within Home Assistant.
ha_category:
- Multimedia
ha_release: 0.61
logo: discogs.png
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@thibmaek'
---
The `discogs` platform allows you to see the current amount of records in your [Discogs](https://www.discogs.com) collection.
diff --git a/source/_integrations/discord.markdown b/source/_integrations/discord.markdown
index a3331c40ebb..dc5c2ec8894 100644
--- a/source/_integrations/discord.markdown
+++ b/source/_integrations/discord.markdown
@@ -1,6 +1,6 @@
---
-title: "Discord"
-description: "Instructions on how to add Discord notifications to Home Assistant."
+title: Discord
+description: Instructions on how to add Discord notifications to Home Assistant.
logo: discord.png
ha_category:
- Notifications
diff --git a/source/_integrations/discovery.markdown b/source/_integrations/discovery.markdown
index c2d84d37f76..e0d83cc0efb 100644
--- a/source/_integrations/discovery.markdown
+++ b/source/_integrations/discovery.markdown
@@ -1,11 +1,11 @@
---
-title: "Discovery"
-description: "Instructions on how to setup Home Assistant to discover new devices."
+title: Discovery
+description: Instructions on how to setup Home Assistant to discover new devices.
logo: home-assistant.png
ha_category:
- Other
-ha_qa_scale: internal
ha_release: 0.7
+ha_quality_scale: internal
---
Home Assistant can discover and automatically configure [zeroconf](https://en.wikipedia.org/wiki/Zero-configuration_networking)/[mDNS](https://en.wikipedia.org/wiki/Multicast_DNS) and [uPnP](https://en.wikipedia.org/wiki/Universal_Plug_and_Play) devices on your network. Currently the `discovery` integration can detect:
@@ -47,7 +47,7 @@ Zeroconf discoverable integrations [Axis](/integrations/axis/)/[ESPHome](/integr
-To load this component, add the following lines to your `configuration.yaml`:
+`discovery` is included in the default configuration. To load this component manually, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
diff --git a/source/_integrations/dlib_face_detect.markdown b/source/_integrations/dlib_face_detect.markdown
index a55723d655a..105d1dab1fc 100644
--- a/source/_integrations/dlib_face_detect.markdown
+++ b/source/_integrations/dlib_face_detect.markdown
@@ -1,6 +1,6 @@
---
-title: "Dlib Face Detect"
-description: "Instructions on how to integrate Dlib Face Detect into Home Assistant."
+title: Dlib Face Detect
+description: Instructions on how to integrate Dlib Face Detect into Home Assistant.
logo: dlib.png
ha_category:
- Image Processing
diff --git a/source/_integrations/dlib_face_identify.markdown b/source/_integrations/dlib_face_identify.markdown
index 0709fc15bd1..4e5eb22e8ec 100644
--- a/source/_integrations/dlib_face_identify.markdown
+++ b/source/_integrations/dlib_face_identify.markdown
@@ -1,6 +1,6 @@
---
-title: "Dlib Face Identify"
-description: "Instructions on how to integrate Dlib Face Identify into Home Assistant."
+title: Dlib Face Identify
+description: Instructions on how to integrate Dlib Face Identify into Home Assistant.
logo: dlib.png
ha_category:
- Image Processing
diff --git a/source/_integrations/dlink.markdown b/source/_integrations/dlink.markdown
index e43e03c10f4..af03708cd1a 100644
--- a/source/_integrations/dlink.markdown
+++ b/source/_integrations/dlink.markdown
@@ -1,6 +1,6 @@
---
-title: "D-Link Switch"
-description: "Instructions on how to integrate D-Link switches into Home Assistant."
+title: D-Link Wi-Fi Smart Plugs
+description: Instructions on how to integrate D-Link switches into Home Assistant.
logo: dlink.png
ha_category:
- Switch
diff --git a/source/_integrations/dlna_dmr.markdown b/source/_integrations/dlna_dmr.markdown
index 67dac15e57b..125bdd674f6 100644
--- a/source/_integrations/dlna_dmr.markdown
+++ b/source/_integrations/dlna_dmr.markdown
@@ -1,6 +1,6 @@
---
-title: "DLNA DMR"
-description: "Instructions on how to integrate a DLNA DMR device into Home Assistant."
+title: DLNA Digital Media Renderer
+description: Instructions on how to integrate a DLNA DMR device into Home Assistant.
logo: dlna.png
ha_category:
- Media Player
@@ -42,7 +42,7 @@ name:
required: false
type: string
callback_url_override:
- description: Override the advertised callback URL. In case the home assistant instance is not directly reachable (e.g., running in a docker container without bridged-networking), advertise this callback URL for events.
+ description: Override the advertised callback URL. In case the Home Assistant instance is not directly reachable (e.g., running in a docker container without bridged-networking), advertise this callback URL for events.
required: false
type: string
{% endconfiguration %}
diff --git a/source/_integrations/dnsip.markdown b/source/_integrations/dnsip.markdown
index 24d3e270a74..1b86cbc2140 100644
--- a/source/_integrations/dnsip.markdown
+++ b/source/_integrations/dnsip.markdown
@@ -1,11 +1,11 @@
---
-title: "DNS IP Sensor"
-description: "Instructions on how to integrate a DNS IP sensor into Home Assistant."
+title: DNS IP
+description: Instructions on how to integrate a DNS IP sensor into Home Assistant.
logo: home-assistant.png
ha_category:
- Network
ha_iot_class: Cloud Polling
-ha_release: "0.40"
+ha_release: '0.40'
---
The `dnsip` sensor will expose an IP address, fetched via DNS resolution, as its value. There are two operational modes:
diff --git a/source/_integrations/dominos.markdown b/source/_integrations/dominos.markdown
index dfc8d461628..ad94c933c17 100644
--- a/source/_integrations/dominos.markdown
+++ b/source/_integrations/dominos.markdown
@@ -1,6 +1,6 @@
---
-title: "Dominos Pizza"
-description: "Instructions on how to setup Dominos Pizza ordering within Home Assistant."
+title: Dominos Pizza
+description: Instructions on how to setup Dominos Pizza ordering within Home Assistant.
logo: dominos.png
ha_category:
- Other
diff --git a/source/_integrations/doods.markdown b/source/_integrations/doods.markdown
index 3fb11bbabfb..201e9c97562 100644
--- a/source/_integrations/doods.markdown
+++ b/source/_integrations/doods.markdown
@@ -1,10 +1,10 @@
---
-title: "DOODS"
-description: "Detect and recognize objects with DOODS."
+title: DOODS - Distributed Outside Object Detection Service
+description: Detect and recognize objects with DOODS.
ha_category:
- Image Processing
ha_iot_class: Local Polling
-ha_release: "0.100"
+ha_release: '0.100'
---
The `doods` image processing platform allows you to detect and recognize objects in a camera image using [DOODS](https://github.com/snowzach/doods/). The state of the entity is the number of objects detected, and recognized objects are listed in the `summary` attribute along with quantity. The `matches` attribute provides the confidence `score` for recognition and the bounding `box` of the object for each detection category.
@@ -199,5 +199,5 @@ image_processing:
- binary_sensor.driveway
action:
- service: image_processing.scan
- entity_id: camera.driveway
+ entity_id: image_processing.doods_camera_driveway
```
diff --git a/source/_integrations/doorbird.markdown b/source/_integrations/doorbird.markdown
index 5f21c87d629..99bbf641af9 100644
--- a/source/_integrations/doorbird.markdown
+++ b/source/_integrations/doorbird.markdown
@@ -1,6 +1,6 @@
---
-title: "DoorBird"
-description: "Instructions on how to integrate your DoorBird video doorbell with Home Assistant."
+title: DoorBird
+description: Instructions on how to integrate your DoorBird video doorbell with Home Assistant.
logo: doorbird.png
ha_category:
- Doorbell
@@ -8,6 +8,8 @@ ha_category:
- Switch
ha_release: 0.54
ha_iot_class: Local Push
+ha_codeowners:
+ - '@oblogic7'
---
The `doorbird` implementation allows you to integrate your [DoorBird](https://www.doorbird.com/) device in Home Assistant.
@@ -19,13 +21,12 @@ There is currently support for the following device types within Home Assistant:
## Setup
-It is recommended to set up a new account on your Doorbird for use with Home Assistant. This can be added via the Doorbird App by choosing Administration -> (User) Add. This user, needs specific permissions enabled, depending on what functionality you want:
+It is recommended to set up a new account on your Doorbird App for use with Home Assistant. This can be added via the Doorbird App by clicking settings (cog icon) -> Administration-> LOGIN (using your App Administration details). Under the "USER" section, choose "Add". This new user account requires specific permissions enabled (depending on what functionality you want). Permissions can be found under "Permissions". The following permissions are recommended:
-- Live view -> Watch Always
-- Last motion -> Motion + History
-- Last ring -> History
-
-In addition, the "API-Operator" permission needs to be enabled as well.
+- "Watch Always" (live view)
+- "History" (last motion)
+- "Motion" (last motion)
+- "API-Operator" (this needed to be enabled as a minimum)
## Configuration
@@ -144,20 +145,21 @@ The URLs on the event will be based on the configuration used to connect to your
#### Schedules
-Once events have been registered on the DoorBird device, they must be attached to a schedule using the official DoorBird app on Android or iOS. Currently there are schedules available for doorbell, motion, relay, and RFID events (on supported devices).
+Once events have been registered on the DoorBird device, they must be attached to a schedule using the official DoorBird app on Android or iOS. Currently, there are schedules available for doorbell, motion, relay, and RFID events (on supported Doorbird devices).
-For iOS, the schedules can be found by navigating to the following areas of the app:
+The schedules can be found by navigating to the following area of the Doorbird app (Android or IOS):
-- Doorbell | Settings > Administration > Specific Device > Schedule for Doorbell
-- Motion | Settings > Administration > Specific Device > 3D Motion Sensor (Settings) > Schedule for Actions
-- Relay | Settings > Administration > Specific Device > Relays > Schedule
-- RFID | Settings > Administration > Specific Device > RFID Transponder > Settings > Select Transponder > Schedule
+Settings (cog icon) -> Administration -> LOGIN LOGIN (using your App Administration details) -> (under "EXPERT SETTINGS") Schedule for doorbell
-Once you are on the desired schedule, click the dropdown button in the upper left to switch to the HTTP Calls view. Now if you click on the heading just above the schedule, you can select the event you would like to be called for the particular schedule that is being viewed.
+- `Push notification`
+- `Trigger Relay ("Relay 1" or "Relay 2")`
+- `HTTP(S) Calls (button, motion/movement, RFID)`
+
+Click on the dropdown button in the top left and choose your specific "Schedule for actions" (listed above). Depending on your selection, you may have to click on the center title to see the sub-categories menu.
On the desired event, you should be able to specify blocks of time for when you would like the event to be sent to Home Assistant. If you want the event to always send, the square in the upper right can be used to populate the entire schedule. Events will be fired to Home Assistant for blocks of time that are blue.
-Remember to complete the schedule assignment steps above for each event type that you registered.
+Note: Remember to complete the schedule assignment steps above for each event type that you registered.
### Automation Example
diff --git a/source/_integrations/dovado.markdown b/source/_integrations/dovado.markdown
index 2319ce09adc..47046901e98 100644
--- a/source/_integrations/dovado.markdown
+++ b/source/_integrations/dovado.markdown
@@ -1,6 +1,6 @@
---
-title: "Dovado"
-description: "How to integrate Dovado within Home Assistant."
+title: Dovado
+description: How to integrate Dovado within Home Assistant.
ha_category:
- System Monitor
- Notifications
diff --git a/source/_integrations/downloader.markdown b/source/_integrations/downloader.markdown
index 5be5d7be0cd..3fa20c1162a 100644
--- a/source/_integrations/downloader.markdown
+++ b/source/_integrations/downloader.markdown
@@ -1,11 +1,11 @@
---
-title: "Downloader"
-description: "Instructions on how to setup the downloader integration with Home Assistant."
+title: Downloader
+description: Instructions on how to setup the downloader integration with Home Assistant.
logo: home-assistant.png
ha_category:
- Downloading
ha_release: pre 0.7
-ha_qa_scale: internal
+ha_quality_scale: internal
---
The `downloader` integration provides a service to download files. It will raise an error and not continue to set itself up when the download directory does not exist. The directory needs to be writable for the user that is running Home Assistant.
diff --git a/source/_integrations/dsmr.markdown b/source/_integrations/dsmr.markdown
index 13a7a0ae834..a02484dad2d 100644
--- a/source/_integrations/dsmr.markdown
+++ b/source/_integrations/dsmr.markdown
@@ -1,6 +1,6 @@
---
-title: "DSMR or Slimme meter"
-description: "Instructions on how to integrate DSMR Smartmeter within Home Assistant."
+title: DSMR Slimme Meter
+description: Instructions on how to integrate DSMR Smartmeter within Home Assistant.
logo: netbeheernederland.jpg
ha_category:
- Energy
diff --git a/source/_integrations/dsmr_reader.markdown b/source/_integrations/dsmr_reader.markdown
index 7aae6a9329d..26383c4880c 100644
--- a/source/_integrations/dsmr_reader.markdown
+++ b/source/_integrations/dsmr_reader.markdown
@@ -1,10 +1,12 @@
---
-title: "DSMR Reader"
-description: "Instructions on how to integrate DSMR Reader."
+title: DSMR Reader
+description: Instructions on how to integrate DSMR Reader.
ha_category:
- Energy
ha_iot_class: Cloud Polling
ha_release: 0.103
+ha_codeowners:
+ - '@depl0y'
---
The `dsmr_reader` sensor platform allows you to easily add all sensors that [DSMR Reader](https://dsmr-reader.readthedocs.io/en/latest/) exposes to MQTT. It adds a separate sensor for every field in the MQTT topics.
diff --git a/source/_integrations/dte_energy_bridge.markdown b/source/_integrations/dte_energy_bridge.markdown
index c0c6a8843c9..fa42c7c9509 100644
--- a/source/_integrations/dte_energy_bridge.markdown
+++ b/source/_integrations/dte_energy_bridge.markdown
@@ -1,6 +1,6 @@
---
-title: "DTE Energy Bridge"
-description: "Instructions on how to setup DTE Energy Bridge with Home Assistant."
+title: DTE Energy Bridge
+description: Instructions on how to setup DTE Energy Bridge with Home Assistant.
logo: dte_energy.png
ha_category:
- Energy
diff --git a/source/_integrations/dublin_bus_transport.markdown b/source/_integrations/dublin_bus_transport.markdown
index 81689de682c..a32f4323725 100644
--- a/source/_integrations/dublin_bus_transport.markdown
+++ b/source/_integrations/dublin_bus_transport.markdown
@@ -1,6 +1,6 @@
---
-title: "Dublin Bus Transport"
-description: "Instructions on how to integrate timetable data for traveling on Dublin Bus within Home Assistant."
+title: Dublin Bus
+description: Instructions on how to integrate timetable data for traveling on Dublin Bus within Home Assistant.
logo: dublin_bus.png
ha_category:
- Transport
diff --git a/source/_integrations/duckdns.markdown b/source/_integrations/duckdns.markdown
index 2d1344aa704..88a9dd522f8 100644
--- a/source/_integrations/duckdns.markdown
+++ b/source/_integrations/duckdns.markdown
@@ -1,6 +1,6 @@
---
-title: "DuckDNS"
-description: "Keep your computer registered with the DuckDNS dynamic DNS."
+title: Duck DNS
+description: Keep your computer registered with the DuckDNS dynamic DNS.
logo: duckdns.png
ha_category:
- Network
diff --git a/source/_integrations/duke_energy.markdown b/source/_integrations/duke_energy.markdown
index 62e599b9e48..8e635da2a39 100644
--- a/source/_integrations/duke_energy.markdown
+++ b/source/_integrations/duke_energy.markdown
@@ -1,6 +1,6 @@
---
-title: "Duke Energy"
-description: "Instructions on how to set Duke Energy smart meter sensors within Home Assistant."
+title: Duke Energy
+description: Instructions on how to set Duke Energy smart meter sensors within Home Assistant.
logo: duke_energy.png
ha_category:
- Energy
diff --git a/source/_integrations/dunehd.markdown b/source/_integrations/dunehd.markdown
index 5357d950138..78b09a72806 100644
--- a/source/_integrations/dunehd.markdown
+++ b/source/_integrations/dunehd.markdown
@@ -1,6 +1,6 @@
---
-title: "DuneHD media players"
-description: "Instructions on how to integrate DuneHD media players into Home Assistant."
+title: DuneHD
+description: Instructions on how to integrate DuneHD media players into Home Assistant.
logo: dunehd.png
ha_category:
- Media Player
@@ -8,7 +8,6 @@ ha_iot_class: Local Polling
ha_release: 0.34
---
-
The `dunehd` media player platform allows you to control a [Dune HD media player](https://dune-hd.com/eng/products/full_hd_media_players) from Home Assistant. Support is based on the official [IP protocol](https://dune-hd.com/support/ip_control/dune_ip_control_overview.txt) published by Dune.
Devices with firmware 110127_2105_beta or above are supported. Some functions may depend on the version of the protocol (volume / mute control is only available with version 2 onwards).
diff --git a/source/_integrations/dwd_weather_warnings.markdown b/source/_integrations/dwd_weather_warnings.markdown
index 4622f4b2e7c..ec579b36891 100644
--- a/source/_integrations/dwd_weather_warnings.markdown
+++ b/source/_integrations/dwd_weather_warnings.markdown
@@ -1,7 +1,6 @@
---
-title: "DWD Weather warnings"
-description: "Instructions on how to integrate Deutsche Wetter Dienst weather warnings into Home Assistant."
-#logo: dwdwarnapp.png
+title: Deutsche Wetter Dienst (DWD) Weather Warnings
+description: Instructions on how to integrate Deutsche Wetter Dienst weather warnings into Home Assistant.
ha_category:
- Weather
ha_release: 0.51
@@ -30,7 +29,7 @@ As it suggests the region name is not the city or nearest city you want to get t
Be aware, to get the region name you need to use the following link by replacing `Hamburg` with your city:
- Find your region here: `https://www.dwd.de/DE/wetter/warnungen_landkreise/warnWetter_node.html?ort=Hamburg`
-- On the page that is loaded in your browser you will find the correct region ("Kreis") below the map as a headding.
+- On the page that is loaded in your browser you will find the correct region ("Kreis") below the map as a heading.
- Verify if you find any warning for your region here. Your region ("Kreis") will appear only if warnings exist: `https://www.dwd.de/DWD/warnungen/warnapp_landkreise/json/warnings.json?jsonp=loadWarnings`
diff --git a/source/_integrations/dweet.markdown b/source/_integrations/dweet.markdown
index cded98a4cef..fd2799d7ac4 100644
--- a/source/_integrations/dweet.markdown
+++ b/source/_integrations/dweet.markdown
@@ -1,12 +1,14 @@
---
-title: "Dweet.io"
-description: "Transfer events to Dweet.io."
+title: dweet.io
+description: Transfer events to Dweet.io.
logo: dweet.png
ha_category:
- History
- Sensor
ha_release: 0.19
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@fabaff'
---
The `dweet` integration makes it possible to transfer details collected with Home Assistant to [Dweet.io](https://dweet.io/) and visualize them with [freeboard.io](https://freeboard.io). Keep in mind that your information will be public!
@@ -133,4 +135,4 @@ Receive the latest dweet.
```bash
>>> dweepy.get_latest_dweet_for('ha-sensor')
[{'thing': 'ha-sensor'', 'created': '2015-12-10T09:43:31.133Z', 'content': {'humidity': 65, 'temperature': 40}}]
-```
\ No newline at end of file
+```
diff --git a/source/_integrations/dyson.markdown b/source/_integrations/dyson.markdown
index 2fc4820b085..89a851d653f 100644
--- a/source/_integrations/dyson.markdown
+++ b/source/_integrations/dyson.markdown
@@ -1,6 +1,6 @@
---
-title: "Dyson"
-description: "Instructions on how to integrate Dyson into Home Assistant."
+title: Dyson
+description: Instructions on how to integrate Dyson into Home Assistant.
logo: dyson.png
ha_category:
- Hub
@@ -78,7 +78,7 @@ Discovery is not yet supported for any robot vacuum models (Dyson 360 Eye). For
To find a devices IP address, you can use your router or `nmap`:
```bash
-$ nmap -p 1883 XXX.XXX.XXX.XXX/YY -- open
+$ nmap -p 1883 XXX.XXX.XXX.XXX/YY --open
```
Where:
@@ -89,7 +89,7 @@ Where:
For example:
```bash
-$ nmap -p 1883 192.168.0.0/24 -- open
+$ nmap -p 1883 192.168.0.0/24 --open
```
## Vacuum
@@ -168,4 +168,4 @@ Note: currently only the 2018 dyson fans are supported(TP04 and DP04).
- Pure Cool link (desk and tower)
- Pure Hot+cool link (see climate part) for thermal control
-- Pure Cool 2018 Models (TP04 and DP04)
\ No newline at end of file
+- Pure Cool 2018 Models (TP04 and DP04)
diff --git a/source/_integrations/ebox.markdown b/source/_integrations/ebox.markdown
index 39561525151..69c8ee9cc66 100644
--- a/source/_integrations/ebox.markdown
+++ b/source/_integrations/ebox.markdown
@@ -1,6 +1,6 @@
---
-title: "EBox Sensor"
-description: "Instructions on how to integrate EBox data usage within Home Assistant."
+title: EBox
+description: Instructions on how to integrate EBox data usage within Home Assistant.
logo: ebox.png
ha_category:
- Network
diff --git a/source/_integrations/ebusd.markdown b/source/_integrations/ebusd.markdown
index 1a5ed645592..b304c95e0a6 100644
--- a/source/_integrations/ebusd.markdown
+++ b/source/_integrations/ebusd.markdown
@@ -1,6 +1,6 @@
---
-title: "ebusd"
-description: "The ebusd integration allows the integration between eBUS heating system and Home Assistant."
+title: ebusd
+description: The ebusd integration allows the integration between eBUS heating system and Home Assistant.
ha_category:
- Sensor
ha_iot_class: Local Polling
diff --git a/source/_integrations/ecoal_boiler.markdown b/source/_integrations/ecoal_boiler.markdown
index 9c4913dca89..0ca3a3589b7 100644
--- a/source/_integrations/ecoal_boiler.markdown
+++ b/source/_integrations/ecoal_boiler.markdown
@@ -1,6 +1,6 @@
---
-title: "eCoal water boiler controller"
-description: "Instructions on how to integrate eSterownik.pl eCoal.pl controller into Home Assistant."
+title: eSterownik eCoal.pl Boiler
+description: Instructions on how to integrate eSterownik.pl eCoal.pl controller into Home Assistant.
ha_category:
- Water Heater
ha_release: 0.87
diff --git a/source/_integrations/ecobee.markdown b/source/_integrations/ecobee.markdown
index 34311394ca6..a5daca81752 100644
--- a/source/_integrations/ecobee.markdown
+++ b/source/_integrations/ecobee.markdown
@@ -1,6 +1,6 @@
---
-title: "Ecobee"
-description: "Instructions for how to integrate ecobee thermostats and sensors within Home Assistant."
+title: Ecobee
+description: Instructions for how to integrate ecobee thermostats and sensors within Home Assistant.
logo: ecobee.png
ha_category:
- Sensor
@@ -11,6 +11,9 @@ ha_category:
featured: true
ha_release: 0.9
ha_iot_class: Cloud Poll
+ha_config_flow: true
+ha_codeowners:
+ - '@marthoc'
---
The `ecobee` integration lets you control and view sensor data from [ecobee](https://ecobee.com) thermostats.
diff --git a/source/_integrations/econet.markdown b/source/_integrations/econet.markdown
index da50296d305..bace9cc8f0a 100644
--- a/source/_integrations/econet.markdown
+++ b/source/_integrations/econet.markdown
@@ -1,6 +1,6 @@
---
-title: "EcoNet water heater"
-description: "Instructions on how to integrate Rheem EcoNet water heaters into Home Assistant."
+title: Rheem EcoNET Water Products
+description: Instructions on how to integrate Rheem EcoNet water heaters into Home Assistant.
logo: econet.png
ha_category:
- Water Heater
diff --git a/source/_integrations/ecovacs.markdown b/source/_integrations/ecovacs.markdown
index 2cf81782640..239c55c8c0a 100644
--- a/source/_integrations/ecovacs.markdown
+++ b/source/_integrations/ecovacs.markdown
@@ -1,12 +1,14 @@
---
-title: "Ecovacs"
-description: "Instructions on how to integrate Ecovacs vacuums within Home Assistant."
+title: Ecovacs
+description: Instructions on how to integrate Ecovacs vacuums within Home Assistant.
logo: ecovacs.png
ha_category:
- Hub
- Vacuum
ha_iot_class: Cloud Push
ha_release: 0.77
+ha_codeowners:
+ - '@OverloadUT'
---
The `ecovacs` integration is the main integration to integrate all [Ecovacs](https://www.ecovacs.com) (Deebot) vacuums. You will need your Ecovacs account information (username, password) to discover and control vacuums in your account.
@@ -120,4 +122,4 @@ Alternatively, you can use the `ecovacs_error` event to watch for errors. This e
}
```
-Finally, if a vacuum becomes unavailable (usually due to being idle and off its charger long enough for it to completely power off,) the vacuum's `status` attribute will change to `offline` until it is turned back on.
\ No newline at end of file
+Finally, if a vacuum becomes unavailable (usually due to being idle and off its charger long enough for it to completely power off,) the vacuum's `status` attribute will change to `offline` until it is turned back on.
diff --git a/source/_integrations/eddystone_temperature.markdown b/source/_integrations/eddystone_temperature.markdown
index 076b5c6b5e2..6041b40bda9 100644
--- a/source/_integrations/eddystone_temperature.markdown
+++ b/source/_integrations/eddystone_temperature.markdown
@@ -1,6 +1,6 @@
---
-title: "Eddystone Beacon"
-description: "Instructions on how to integrate Eddystone beacons with Home Assistant in order to receive temperature data."
+title: Eddystone
+description: Instructions on how to integrate Eddystone beacons with Home Assistant in order to receive temperature data.
logo: eddystone.png
ha_category:
- DIY
diff --git a/source/_integrations/edimax.markdown b/source/_integrations/edimax.markdown
index e5e250d24d3..cb03fa8d84a 100644
--- a/source/_integrations/edimax.markdown
+++ b/source/_integrations/edimax.markdown
@@ -1,6 +1,6 @@
---
-title: "Edimax Switch"
-description: "Instructions on how to integrate Edimax switches into Home Assistant."
+title: Edimax
+description: Instructions on how to integrate Edimax switches into Home Assistant.
logo: edimax.png
ha_category:
- Switch
diff --git a/source/_integrations/ee_brightbox.markdown b/source/_integrations/ee_brightbox.markdown
index 632b5633cb3..ecfb6610328 100644
--- a/source/_integrations/ee_brightbox.markdown
+++ b/source/_integrations/ee_brightbox.markdown
@@ -1,6 +1,6 @@
---
-title: "EE Bright Box"
-description: "Instructions on how to integrate EE Bright Box router into Home Assistant."
+title: EE Bright Box
+description: Instructions on how to integrate EE Bright Box router into Home Assistant.
logo: ee.png
ha_category:
- Presence Detection
diff --git a/source/_integrations/efergy.markdown b/source/_integrations/efergy.markdown
index 892d7a89aeb..725ccc2e194 100644
--- a/source/_integrations/efergy.markdown
+++ b/source/_integrations/efergy.markdown
@@ -1,6 +1,6 @@
---
-title: "Efergy"
-description: "Instructions on how to integrate Efergy devices within Home Assistant."
+title: Efergy
+description: Instructions on how to integrate Efergy devices within Home Assistant.
logo: efergy.png
ha_category:
- Energy
diff --git a/source/_integrations/egardia.markdown b/source/_integrations/egardia.markdown
index 415e5790116..512a6ca0728 100644
--- a/source/_integrations/egardia.markdown
+++ b/source/_integrations/egardia.markdown
@@ -1,6 +1,6 @@
---
-title: "Egardia"
-description: "Instructions on how to setup Egardia / Woonveilig within Home Assistant."
+title: Egardia
+description: Instructions on how to setup Egardia / Woonveilig within Home Assistant.
logo: egardia.png
ha_category:
- Hub
@@ -8,6 +8,8 @@ ha_category:
- Binary Sensor
ha_release: 0.65
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@jeroenterheerdt'
---
The `egardia` platform enables the ability to control an [Egardia](https://egardia.com/)/[Woonveilig](https://woonveilig.nl) control panel. These alarm panels are known under different brand names across the world, including Woonveilig in the Netherlands. This was tested on the WL-1716, GATE-01, GATE-02 and GATE-03 versions of the Egardia/Woonveilig platform. Not only will you integrate your alarm control panel, supported sensors (door contacts at this moment) will be added automatically (hidden by default).
diff --git a/source/_integrations/eight_sleep.markdown b/source/_integrations/eight_sleep.markdown
index cd21e6bd7dc..51773ca235f 100644
--- a/source/_integrations/eight_sleep.markdown
+++ b/source/_integrations/eight_sleep.markdown
@@ -1,6 +1,6 @@
---
-title: "Eight Sleep"
-description: "Interface an Eight Sleep smart cover or mattress to Home Assistant"
+title: Eight Sleep
+description: Interface an Eight Sleep smart cover or mattress to Home Assistant
logo: eight_sleep.png
ha_category:
- Health
@@ -8,6 +8,8 @@ ha_category:
- Sensor
ha_release: 0.44
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@mezz64'
---
The `eight_sleep` integration allows Home Assistant to fetch data from your [Eight Sleep](https://eightsleep.com/) smart cover or mattress.
diff --git a/source/_integrations/elgato.markdown b/source/_integrations/elgato.markdown
new file mode 100644
index 00000000000..06f9a097053
--- /dev/null
+++ b/source/_integrations/elgato.markdown
@@ -0,0 +1,41 @@
+---
+title: Elgato Key Light
+description: Instructions on how to integrate an Elgato Key Light with Home Assistant.
+logo: elgato.jpg
+ha_category:
+ - Light
+ha_release: 0.104
+ha_iot_class: Local Polling
+ha_qa_scale: platinum
+ha_config_flow: true
+---
+
+The [Elgato Key Light](https://www.elgato.com/en/gaming/key-light) sets the
+bar for high-end studio lightning. With 80 LEDs, that put out a massive
+2500 lumens, and can change the color temperature as well.
+
+The LED light panel is created specifically, and designed for streamers
+and content creators, many of whom operate on platforms like YouTube and Twitch.
+
+## Configuration
+
+This integration can be configured using the integrations in the
+Home Assistant frontend.
+
+Menu: **Configuration** -> **Integrations**.
+
+In most cases, Elgato Key Lights devices will be automatically discovered by
+Home Assistant. Those automatically discovered devices are listed
+on the integrations page.
+
+If for some reason (e.g., due to lack of mDNS support on your network),
+the Elgato Key Light isn't discovered, it can be added manually.
+
+Click on the `+` sign to add an integration and click on **Elgato Key Light**.
+After completing the configuration flow, the Key Light integration will be
+available.
+
+## Lights
+
+This integration adds the Key Light device as a light in Home Assistant, and
+allows you to control the color temperature, brightness, and its on/off state.
diff --git a/source/_integrations/eliqonline.markdown b/source/_integrations/eliqonline.markdown
index c580bb41fb1..aaed08ffeaf 100644
--- a/source/_integrations/eliqonline.markdown
+++ b/source/_integrations/eliqonline.markdown
@@ -1,10 +1,10 @@
---
-title: "Eliqonline"
-description: "Instructions on how to integrate Eliqonline devices within Home Assistant."
+title: Eliqonline
+description: Instructions on how to integrate Eliqonline devices within Home Assistant.
logo: eliq.png
ha_category:
- Energy
-ha_release: "0.10"
+ha_release: '0.10'
ha_iot_class: Cloud Polling
---
diff --git a/source/_integrations/elkm1.markdown b/source/_integrations/elkm1.markdown
index c56d4f3231a..17cbb3cc9c5 100644
--- a/source/_integrations/elkm1.markdown
+++ b/source/_integrations/elkm1.markdown
@@ -1,6 +1,6 @@
---
-title: "Elk-M1 Controller"
-description: "Instructions to setup the Elk-M1 controller."
+title: Elk-M1 Control
+description: Instructions to setup the Elk-M1 controller.
logo: elkproducts.png
ha_release: 0.81
ha_category:
@@ -55,7 +55,7 @@ password:
required: false
type: string
prefix:
- description: The prefix to use, if any, for all the devices created for this controller. At most one host can omit the prefix, all others must have a unique prefix within the home assistant instance.
+ description: The prefix to use, if any, for all the devices created for this controller. At most one host can omit the prefix, all others must have a unique prefix within the Home Assistant instance.
require: false
type: string
temperature_unit:
diff --git a/source/_integrations/elv.markdown b/source/_integrations/elv.markdown
index 33de8832c39..e69a0c7b45e 100644
--- a/source/_integrations/elv.markdown
+++ b/source/_integrations/elv.markdown
@@ -1,10 +1,12 @@
---
-title: "ELV PCA 301 Switch"
-description: "Instructions on how to integrate ELV PCA 301 switches into Home Assistant."
+title: ELV PCA
+description: Instructions on how to integrate ELV PCA 301 switches into Home Assistant.
logo: elv.png
ha_category: Switch
ha_iot_class: Local Polling
ha_release: 0.95
+ha_codeowners:
+ - '@majuss'
---
The `pca` switch platform allows you to control the state of your [ELV PCA 301 smart switch](https://www.elv.de/funkschaltsteckdose-fuer-energiekostenmonitor-pca-301.html). You need an 868 MHz interface like the [JeeLink](https://www.digitalsmarties.net/products/jeelink) flashed with the [pca-hex firmware](https://github.com/mhop/fhem-mirror/blob/master/fhem/FHEM/firmware/JeeLink_PCA301.hex).
diff --git a/source/_integrations/emby.markdown b/source/_integrations/emby.markdown
index 8d3efa65613..1c0f4490447 100644
--- a/source/_integrations/emby.markdown
+++ b/source/_integrations/emby.markdown
@@ -1,14 +1,15 @@
---
-title: "Emby"
-description: "Instructions on how to integrate Emby into Home Assistant."
+title: Emby
+description: Instructions on how to integrate Emby into Home Assistant.
logo: emby.png
ha_category:
- Media Player
ha_release: 0.32
ha_iot_class: Local Push
+ha_codeowners:
+ - '@mezz64'
---
-
The `emby` platform allows you to control a [Emby](https://emby.media/) multimedia system from Home Assistant.
To add Emby to your installation, add the following to your `configuration.yaml` file:
diff --git a/source/_integrations/emoncms.markdown b/source/_integrations/emoncms.markdown
index 69ce34188ee..b6d3474f477 100644
--- a/source/_integrations/emoncms.markdown
+++ b/source/_integrations/emoncms.markdown
@@ -1,6 +1,6 @@
---
-title: "Emoncms Sensor"
-description: "Instructions on how to integrate Emoncms feeds as sensors into Home Assistant."
+title: Emoncms
+description: Instructions on how to integrate Emoncms feeds as sensors into Home Assistant.
logo: emoncms.png
ha_category:
- Sensor
@@ -8,7 +8,6 @@ ha_release: 0.29
ha_iot_class: Local Polling
---
-
The `emoncms` sensor platform creates sensors for the feeds available in your local or cloud based version of [Emoncms](https://emoncms.org).
To enable this sensor, add the following lines to your `configuration.yaml`, it will list all feeds as a sensor:
diff --git a/source/_integrations/emoncms_history.markdown b/source/_integrations/emoncms_history.markdown
index c024e4b710c..bd7f23b6104 100644
--- a/source/_integrations/emoncms_history.markdown
+++ b/source/_integrations/emoncms_history.markdown
@@ -1,13 +1,12 @@
---
-title: "Emoncms history"
-description: "Instructions on how to integrate Emoncms history into Home Assistant."
+title: Emoncms History
+description: Instructions on how to integrate Emoncms history into Home Assistant.
logo: emoncms.png
ha_category:
- History
ha_release: 0.31
---
-
The `emoncms_history` integration makes it possible to transfer details collected with Home Assistant to [Emoncms.org](https://emoncms.org/) or your local running Emoncms instance. It will send the data to a specific input node on Emoncms with the entity IDs as a key. Afterwards you can create feeds and dashboards in Emoncms with the collected data.
To use the `emoncms_history` integration in your installation, add the following to your `configuration.yaml` file:
diff --git a/source/_integrations/emulated_hue.markdown b/source/_integrations/emulated_hue.markdown
index 89f77f3fbe5..9ec775d83dd 100644
--- a/source/_integrations/emulated_hue.markdown
+++ b/source/_integrations/emulated_hue.markdown
@@ -1,12 +1,14 @@
---
-title: "Emulated Hue Bridge"
-description: "Instructions on how to emulate a Hue Bridge within Home Assistant."
+title: Emulated Hue
+description: Instructions on how to emulate a Hue Bridge within Home Assistant.
logo: home-assistant.png
ha_category:
- Hub
ha_release: 0.27
ha_iot_class: Local Push
-ha_qa_scale: internal
+ha_quality_scale: internal
+ha_codeowners:
+ - '@NobleKangaroo'
---
@@ -55,9 +57,8 @@ emulated_hue:
```yaml
# Amazon Echo example configuration.yaml entry
emulated_hue:
- host_ip: YOUR.HASSIO.IP.ADDRESS
listen_port: 80
- # Alexa stopped working on different ports. Search for "Philipps Hue Bridge V1 (round)" in the Alexa App to discover devices.
+ # Amazon Echo/Alexa stopped working on different ports. Search for "Philips Hue Bridge V1 (round)" in the Alexa App to discover devices.
```
{% configuration %}
@@ -71,7 +72,7 @@ host_ip:
required: false
type: string
listen_port:
- description: "The port the Hue bridge API web server will run on. This can be any free port on your system. However, all new Alexa devices require listen_port: 80."
+ description: "The port the Hue bridge API web server will run on. This can be any free port on your system. However, all new Alexa devices require listen_port: 80. See `setcap` note below if this is set below `1024` when Home Assistant is ran as a non-root user."
required: false
type: integer
default: 8300
@@ -146,18 +147,45 @@ These attributes used to be found under the `customize` section of `homeassistan
You can verify that the `emulated_hue` integration has been loaded and is responding by pointing a local browser to the following URL:
- - `http://:8300/description.xml` - This URL should return a descriptor file in the form of an XML file.
- - `http://:8300/api/pi/lights` - This will return a list of devices, lights, scenes, groups, etc.. that `emulated_hue` is exposing to Alexa.
+- `http://:80/description.xml` - This URL should return a descriptor file in the form of an XML file.
+- `http://:80/api/pi/lights` - This will return a list of devices, lights, scenes, groups, etc.. that `emulated_hue` is exposing to Alexa.
-For Google Home, verify that the URLs above are using port 80, rather than port 8300 (i.e. `http://:80/description.xml`).
+Verify that the URLs above are using port 80, rather than port 8300 (i.e. `http://:80/description.xml`). Both Google Home and Amazon Alexa/Echo (as of the 2019-08 firmware) require port 80.
-An additional step is required to run Home Assistant as a non-root user and use port 80 when using the AiO script. Execute the following command to allow `emulated_hue` to use port 80 as a non-root user.
+### Platform specific instructions
+
+#### Hass.io and Docker
+
+No further actions are required
+
+#### Python venv
+
+An additional step is required to run Home Assistant as a non-root user and use port 80.
+
+##### Linux
+
+On Linux systems (Ubuntu, Debian, etc) execute the following command to allow `emulated_hue` to use port 80 as a non-root user:
```bash
sudo setcap 'cap_net_bind_service=+ep' /srv/homeassistant/homeassistant_venv/bin/python3
```
+
Please note that your path may be different depending on your installation method. For example, if you followed the [Virtualenv instructions](/docs/installation/virtualenv/), your path will be `/srv/homeassistant/bin/python3`.
+##### FreeBSD and FreeNAS
+
+On FreeBSD based systems, including FreeNAS, execute the following to allow `emulated_hue` to use port 80 as a non-root user:
+
+```bash
+sysctl net.inet.ip.portrange.reservedhigh=0
+```
+
+You can make this persist by adding the following to `/etc/sysctl.conf`:
+
+```bash
+net.inet.ip.portrange.reservedhigh=0
+```
+
### License
Much of this code is based on work done by Bruce Locke on his [ha-local-echo](https://github.com/blocke/ha-local-echo) project, originally released under the MIT License. The license is located [here](https://github.com/blocke/ha-local-echo/blob/b9bf5dcaae6d8e305e2283179ffba64bde9ed29e/LICENSE).
diff --git a/source/_integrations/emulated_roku.markdown b/source/_integrations/emulated_roku.markdown
index 5f0c7a46728..ea80363b9f7 100644
--- a/source/_integrations/emulated_roku.markdown
+++ b/source/_integrations/emulated_roku.markdown
@@ -1,11 +1,12 @@
---
-title: "Emulated Roku"
-description: "Instructions on how to set up Emulated Roku within Home Assistant."
+title: Emulated Roku
+description: Instructions on how to set up Emulated Roku within Home Assistant.
logo: home-assistant.png
ha_category:
- Hub
ha_release: 0.86
ha_iot_class: Local Push
+ha_config_flow: true
---
This integration integrates an emulated Roku API into Home Assistant,
diff --git a/source/_integrations/enigma2.markdown b/source/_integrations/enigma2.markdown
index 7a8c48a1ba4..0666c829220 100644
--- a/source/_integrations/enigma2.markdown
+++ b/source/_integrations/enigma2.markdown
@@ -1,11 +1,13 @@
---
-title: "Enigma2 (OpenWebif)"
-description: "Instructions on how to integrate an Enigma2 based box running OpenWebif into Home Assistant."
+title: Enigma2 (OpenWebif)
+description: Instructions on how to integrate an Enigma2 based box running OpenWebif into Home Assistant.
logo: openwebif.png
ha_category:
- Media Player
-ha_release: "0.90"
-ha_iot_class: "Local Polling"
+ha_release: '0.90'
+ha_iot_class: Local Polling
+ha_codeowners:
+ - '@fbradyirl'
---
The `enigma2` platform allows you to control a Linux based set-top box which is running [Enigma2](https://github.com/oe-alliance/oe-alliance-enigma2) with the OpenWebif plugin installed.
diff --git a/source/_integrations/enocean.markdown b/source/_integrations/enocean.markdown
index 8ecb70d3f75..d4d52e13afc 100644
--- a/source/_integrations/enocean.markdown
+++ b/source/_integrations/enocean.markdown
@@ -1,6 +1,6 @@
---
-title: "EnOcean"
-description: "Connect EnOcean devices to Home Assistant"
+title: EnOcean
+description: Connect EnOcean devices to Home Assistant
logo: enocean.png
ha_category:
- Hub
@@ -10,6 +10,8 @@ ha_category:
- Switch
ha_release: 0.21
ha_iot_class: Local Push
+ha_codeowners:
+ - '@bdurrer'
---
The [EnOcean](https://en.wikipedia.org/wiki/EnOcean) standard is supported by many different vendors. There are switches and sensors of many different kinds, and typically they employ energy harvesting to get power such that no batteries are necessary.
@@ -19,7 +21,7 @@ The `enocean` integration adds support for some of these devices. You will need
There is currently support for the following device types within Home Assistant:
- [Binary Sensor](#binary-sensor) - Wall switches
-- [Sensor](#sensor) - Power meters, temperature sensors and humidity sensors
+- [Sensor](#sensor) - Power meters, temperature sensors, humidity sensors and window handles
- [Light](#light) - Dimmers
- [Switch](#switch)
@@ -32,7 +34,7 @@ The following devices have been confirmed to work out of the box:
- Omnio WS-CH-102-L-rw battery-less wall switch
- Permundo PSC234 (switch and power monitor)
- EnOcean STM-330 temperature sensor
-
+- Hoppe SecuSignal window handle from Somfy
If you own a device not listed here, please check whether your device can talk in one of the listed [EnOcean Equipment Profiles](https://www.enocean-alliance.org/what-is-enocean/specifications/) (EEP).
If it does, it will most likely work.
@@ -160,6 +162,7 @@ The EnOcean sensor platform currently supports the following device types:
* [power sensor](#power-sensor)
* [humidity sensor](#humidity-sensor)
* [temperature sensor](#temperature-sensor)
+ * [window handle](#window-handle)
To use your EnOcean device, you first have to set up your [EnOcean hub](#hub) and then add the following to your `configuration.yaml` file:
@@ -188,7 +191,6 @@ device_class:
default: powersensor
{% endconfiguration %}
-
### Power sensor
This has been tested with a Permundo PSC234 switch, but any device sending EEP **A5-12-01** messages will work.
@@ -204,7 +206,6 @@ sensor:
device_class: powersensor
```
-
### Humidity sensor
The following [EnOcean Equipment Profiles](https://www.enocean-alliance.org/what-is-enocean/specifications/) are supported:
@@ -298,6 +299,29 @@ sensor:
range_max: 250
```
+### Window handle
+
+As of now, the Hoppe SecuSignal window handle from Somfy has been successfully tested. However, any mechanical window handle that follows the EnOcean RPS telegram spec F6 10 00 (Hoppe AG) is supported.
+
+To configure a window handle, add the following code to your `configuration.yaml`:
+
+```yaml
+# Example configuration.yaml entry for window handle EEP F6-10-00
+sensor:
+ - name: Living Room Window Handle
+ platform: enocean
+ id: [0xDE,0xAD,0xBE,0xEF]
+ device_class: windowhandle
+```
+
+The configuration does not have any optional parameters.
+
+The window handle sensor can have the following states:
+
+- **closed**: The window handle is in closed position (typically down, or 6 o'clock)
+- **open**: The window handle is in open position (typically left or right, or 3 o'clock or 9 o'clock)
+- **tilt**: The window handle is in tilt position (typically up or 12 o'clock)
+
## Switch
An EnOcean switch can take many forms. Currently, only a few types have been tested: Permundo PSC234 and Nod On SIN-2-1-01.
diff --git a/source/_integrations/enphase_envoy.markdown b/source/_integrations/enphase_envoy.markdown
index b3367d300b8..cb86717166d 100644
--- a/source/_integrations/enphase_envoy.markdown
+++ b/source/_integrations/enphase_envoy.markdown
@@ -1,6 +1,6 @@
---
-title: "Enphase Envoy"
-description: "Instructions on how to setup Enphase Envoy with Home Assistant."
+title: Enphase Envoy
+description: Instructions on how to setup Enphase Envoy with Home Assistant.
logo: enphase-logo.svg
ha_category:
- Energy
@@ -29,6 +29,14 @@ ip_address:
description: The local IP address of your Envoy. Leave blank to use the default host name 'envoy', but this may not always be reliable. You should be able to just browse to this IP address.
required: false
type: string
+username:
+ description: Access more information beyond the basics, such as Inverter data. Some Envoy devices do not use the standard username which is used by the API. This lets the user use a different username than the default of 'envoy'.
+ required: false
+ type: string
+password:
+ description: Password to be used with the username configuration variable.
+ required: false
+ type: string
monitored_conditions:
description: The list of conditions to monitor. If you have an Envoy that doesn't support consumption metrics (ie. Envoy-C), it's best only configure the production metrics.
required: false
diff --git a/source/_integrations/entur_public_transport.markdown b/source/_integrations/entur_public_transport.markdown
index 55b8e667496..32ee43e2615 100644
--- a/source/_integrations/entur_public_transport.markdown
+++ b/source/_integrations/entur_public_transport.markdown
@@ -1,11 +1,13 @@
---
-title: "Entur public transport"
-description: "Instructions for how to set up monitoring of public transport departures in Norway."
+title: Entur
+description: Instructions for how to set up monitoring of public transport departures in Norway.
logo: entur.svg
ha_category:
- Transport
ha_release: 0.84
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@hfurubotten'
---
The `entur_public_transport` sensor gives real-time departure information for the next departures from any bus stop, car ferry quay, train station, airport and person ferries quay in Norway.
diff --git a/source/_integrations/environment_canada.markdown b/source/_integrations/environment_canada.markdown
index d4196a79120..8e8686c39ed 100644
--- a/source/_integrations/environment_canada.markdown
+++ b/source/_integrations/environment_canada.markdown
@@ -1,6 +1,6 @@
---
-title: "Environment Canada Weather"
-description: "Weather data from Environment Canada."
+title: Environment Canada
+description: Weather data from Environment Canada.
logo: environment_canada.png
ha_category:
- Weather
@@ -8,6 +8,8 @@ ha_category:
- Camera
ha_release: 0.95
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@michaeldavie'
---
The `environment_canada` weather platforms provide meteorological data for Canadian locations from [Environment Canada](https://weather.gc.ca/index_e.html).
diff --git a/source/_integrations/envirophat.markdown b/source/_integrations/envirophat.markdown
index b0d41db4b8a..00b6fe55547 100644
--- a/source/_integrations/envirophat.markdown
+++ b/source/_integrations/envirophat.markdown
@@ -1,6 +1,6 @@
---
-title: "Enviro pHAT"
-description: "Instructions on how to integrate the Enviro pHAT within Home Assistant."
+title: Enviro pHAT
+description: Instructions on how to integrate the Enviro pHAT within Home Assistant.
logo: raspberry-pi.png
ha_category:
- DIY
diff --git a/source/_integrations/envisalink.markdown b/source/_integrations/envisalink.markdown
index 6c55413add0..129e921eb4e 100644
--- a/source/_integrations/envisalink.markdown
+++ b/source/_integrations/envisalink.markdown
@@ -1,6 +1,6 @@
---
-title: "Envisalink Alarm Control Panel"
-description: "Instructions on how to integrate a DSC/Honeywell alarm panel with Home Assistant using an envisalink evl3/evl4 board."
+title: Envisalink
+description: Instructions on how to integrate a DSC/Honeywell alarm panel with Home Assistant using an envisalink evl3/evl4 board.
logo: eyezon.png
ha_category:
- Alarm
diff --git a/source/_integrations/ephember.markdown b/source/_integrations/ephember.markdown
index baf6765bac7..ee53dd5a6ba 100644
--- a/source/_integrations/ephember.markdown
+++ b/source/_integrations/ephember.markdown
@@ -1,14 +1,15 @@
---
-title: "EPH Controls EMBER Thermostat"
-description: "Instructions on how to integrate EPH Controls EMBER thermostats within Home Assistant."
+title: EPH Controls
+description: Instructions on how to integrate EPH Controls EMBER thermostats within Home Assistant.
logo: ephcontrolsember.png
ha_category:
- Climate
ha_release: 0.57
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@ttroy50'
---
-
The `ephember` climate platform lets you control [EPH Controls](https://emberapp.ephcontrols.com/) thermostats. The module only works if you have a WiFi gateway to control your EPH system and an account on the EMBER app.
To set it up, add the following information to your `configuration.yaml` file:
diff --git a/source/_integrations/epson.markdown b/source/_integrations/epson.markdown
index 311a3aa158c..9e334888754 100644
--- a/source/_integrations/epson.markdown
+++ b/source/_integrations/epson.markdown
@@ -1,6 +1,6 @@
---
-title: "Epson"
-description: "Instructions on how to integrate Epson projector into Home Assistant."
+title: Epson
+description: Instructions on how to integrate Epson projector into Home Assistant.
logo: epson.png
ha_category:
- Media Player
diff --git a/source/_integrations/epsonworkforce.markdown b/source/_integrations/epsonworkforce.markdown
index aaa6c43cd61..a2dc7766bbc 100644
--- a/source/_integrations/epsonworkforce.markdown
+++ b/source/_integrations/epsonworkforce.markdown
@@ -1,11 +1,13 @@
---
-title: "Epson Workforce"
-description: "Instructions on how to integrate Epson Workforce Printer into Home Assistant."
+title: Epson Workforce
+description: Instructions on how to integrate Epson Workforce Printer into Home Assistant.
logo: epson.png
ha_category:
- Sensor
ha_release: 0.92
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@ThaStealth'
---
The `epson workforce` platform allows you to monitor the ink levels of a Epson Workforce printer from Home
diff --git a/source/_integrations/eq3btsmart.markdown b/source/_integrations/eq3btsmart.markdown
index 5eb9ea261db..d0aeff56923 100644
--- a/source/_integrations/eq3btsmart.markdown
+++ b/source/_integrations/eq3btsmart.markdown
@@ -1,11 +1,13 @@
---
-title: "EQ3 Bluetooth Smart Thermostats"
-description: "Instructions on how to integrate EQ3 Bluetooth Smart Thermostats into Home Assistant."
+title: EQ3 Bluetooth Smart Thermostats
+description: Instructions on how to integrate EQ3 Bluetooth Smart Thermostats into Home Assistant.
logo: eq3.gif
ha_category:
- Climate
ha_iot_class: Local Polling
ha_release: 0.18
+ha_codeowners:
+ - '@rytilahti'
---
The `eq3btsmart` climate platform allows you to integrate EQ3 Bluetooth Smart Thermostats.
diff --git a/source/_integrations/esphome.markdown b/source/_integrations/esphome.markdown
index 1b774de5fe4..a1f5df856f3 100644
--- a/source/_integrations/esphome.markdown
+++ b/source/_integrations/esphome.markdown
@@ -1,12 +1,15 @@
---
-title: "ESPHome"
-description: "Support for ESPHome devices using the native ESPHome API."
+title: ESPHome
+description: Support for ESPHome devices using the native ESPHome API.
featured: true
logo: esphome.png
ha_category:
- DIY
ha_release: 0.85
ha_iot_class: Local Push
+ha_config_flow: true
+ha_codeowners:
+ - '@OttoWinter'
---
This integration allows you to connect your [ESPHome](https://esphome.io) devices directly to Home Assistant with the [native ESPHome API](https://esphome.io/components/api.html).
diff --git a/source/_integrations/essent.markdown b/source/_integrations/essent.markdown
index 4c786679a15..d1c37a3d9ed 100644
--- a/source/_integrations/essent.markdown
+++ b/source/_integrations/essent.markdown
@@ -1,12 +1,14 @@
---
-title: "Essent"
-description: "Instructions on how to integrate Essent within Home Assistant."
+title: Essent
+description: Instructions on how to integrate Essent within Home Assistant.
logo: essent.png
ha_category:
- Energy
- Sensor
ha_release: 0.93
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@TheLastProject'
---
The `essent` platform uses [PyEssent](https://github.com/TheLastProject/PyEssent/) to communicate with the (undocumented) API of Dutch energy provider Essent. It provides sensors for each of your meters and tariffs, updated daily.
@@ -31,4 +33,3 @@ password:
description: Your password for [Mijn Essent](https://www.essent.nl/content/particulier/klantenservice/mijn_essent/).
type: string
{% endconfiguration %}
-
diff --git a/source/_integrations/etherscan.markdown b/source/_integrations/etherscan.markdown
index d16cf44d78d..e9ff5f83810 100644
--- a/source/_integrations/etherscan.markdown
+++ b/source/_integrations/etherscan.markdown
@@ -1,6 +1,6 @@
---
-title: "Etherscan"
-description: "Instructions on how to integrate Etherscan.io data within Home Assistant."
+title: Etherscan
+description: Instructions on how to integrate Etherscan.io data within Home Assistant.
logo: etherscan.png
ha_category:
- Finance
diff --git a/source/_integrations/eufy.markdown b/source/_integrations/eufy.markdown
index c52ac6501b7..c6413b0a390 100644
--- a/source/_integrations/eufy.markdown
+++ b/source/_integrations/eufy.markdown
@@ -1,6 +1,6 @@
---
-title: "Eufy"
-description: "Instructions on how to integrate Eufy devices into Home Assistant."
+title: eufy
+description: Instructions on how to integrate Eufy devices into Home Assistant.
logo: eufy.png
ha_category:
- Hub
diff --git a/source/_integrations/everlights.markdown b/source/_integrations/everlights.markdown
index 9b29cf84f75..4b91cc58af0 100644
--- a/source/_integrations/everlights.markdown
+++ b/source/_integrations/everlights.markdown
@@ -1,6 +1,6 @@
---
-title: "EverLights Light"
-description: "Instructions on how to set up EverLights within Home Assistant."
+title: EverLights
+description: Instructions on how to set up EverLights within Home Assistant.
logo: everlights.png
ha_category:
- Light
diff --git a/source/_integrations/evohome.markdown b/source/_integrations/evohome.markdown
index 4cd2d83222c..398059a86aa 100644
--- a/source/_integrations/evohome.markdown
+++ b/source/_integrations/evohome.markdown
@@ -1,12 +1,14 @@
---
-title: "Honeywell evohome/TCC systems"
-description: "Instructions on how to integrate a Honeywell evohome/TCC system with Home Assistant."
+title: Honeywell evohome / Total Connect Comfort
+description: Instructions on how to integrate a Honeywell evohome/TCC system with Home Assistant.
logo: honeywell.png
ha_category:
- Hub
- Climate
-ha_release: 0.80
+ha_release: 0.8
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@zxdavb'
---
The `evohome` integration links Home Assistant with all _non-US_ [Honeywell Total Connect Comfort (TCC)](https://international.mytotalconnectcomfort.com/Account/Login) CH/DHW systems, such as:
@@ -86,11 +88,11 @@ In Home Assistant, all this is done via `HVAC_MODE` and `PRESET_MODE` (but also
The actual operating mode of evohome entities can be tracked via their state attributes, which includes a JSON data structure for the current state called `status`.
-For the Controller, see `systemModeStatus`:
+For the Controller, see `system_mode_status`:
{% raw %}
```text
-{% if state_attr('climate.my_home', 'status').systemModeStatus.mode == "Away" %}
+{% if state_attr('climate.my_home', 'status').system_mode_status.mode == "Away" %}
The system is in Away mode
{% else %}
The system is not in Away mode
@@ -102,7 +104,7 @@ For the Zones, it is `setpointStatus`:
{% raw %}
```text
-{{ state_attr('climate.kitchen', 'status').setpointStatus.setpointMode }}
+{{ state_attr('climate.kitchen', 'status').setpoint_status.setpoint_mode }}
```
{% endraw %}
@@ -110,7 +112,7 @@ The Zones will expose the current/upcoming scheduled `setpoints`:
{% raw %}
```text
-{{ state_attr('climate.kitchen', 'status').setpoints.next.temperature }}
+{{ state_attr('climate.kitchen', 'status').setpoints.next_sp_temp }}
```
{% endraw %}
@@ -118,8 +120,8 @@ All evohome entities may have faults, and these can be turned into sensors, or:
{% raw %}
```text
-{% if state_attr('climate.bedroom', 'status').activeFaults %}
- {% if state_attr('climate.bedroom', 'status').activeFaults[0].faultType == 'TempZoneActuatorLowBattery' %}
+{% if state_attr('climate.bedroom', 'status').active_faults %}
+ {% if state_attr('climate.bedroom', 'status').active_faults[0].fault_type == 'TempZoneActuatorLowBattery' %}
There is a low battery
{% endif %}
There is a Fault!
diff --git a/source/_integrations/facebook.markdown b/source/_integrations/facebook.markdown
index fd55f53ac76..00f287cb5b4 100644
--- a/source/_integrations/facebook.markdown
+++ b/source/_integrations/facebook.markdown
@@ -1,6 +1,6 @@
---
-title: "Facebook Messenger"
-description: "Instructions on how to add Facebook user notifications to Home Assistant."
+title: Facebook Messenger
+description: Instructions on how to add Facebook user notifications to Home Assistant.
logo: facebook.png
ha_category:
- Notifications
diff --git a/source/_integrations/facebox.markdown b/source/_integrations/facebox.markdown
index 86007927153..5c833bc7b44 100644
--- a/source/_integrations/facebox.markdown
+++ b/source/_integrations/facebox.markdown
@@ -1,10 +1,10 @@
---
-title: "Facebox"
-description: "Detect and recognize faces with Facebox."
+title: Facebox
+description: Detect and recognize faces with Facebox.
logo: machine-box.png
ha_category:
- Image Processing
-ha_release: 0.70
+ha_release: 0.7
---
The `facebox` image processing platform allows you to detect and recognize faces in a camera image using [Facebox](https://machinebox.io/docs/facebox). The state of the entity is the number of faces detected, and recognized faces are listed in the `matched_faces` attribute. An `image_processing.detect_face` event is fired for each recognized face, and the event `data` provides the `confidence` of recognition, the `name` of the person, the `image_id` of the image associated with the match, the `bounding_box` that contains the face in the image, and the `entity_id` that processing was performed on.
@@ -180,4 +180,3 @@ you can create an automation to receive notifications on Facebox errors:
title: Facebox error
```
{% endraw %}
-
diff --git a/source/_integrations/fail2ban.markdown b/source/_integrations/fail2ban.markdown
index 142a55dc6e2..00722a620de 100644
--- a/source/_integrations/fail2ban.markdown
+++ b/source/_integrations/fail2ban.markdown
@@ -1,6 +1,6 @@
---
-title: "Fail2Ban Sensor"
-description: "Instructions on how to integrate a fail2ban sensor into Home Assistant."
+title: Fail2Ban
+description: Instructions on how to integrate a fail2ban sensor into Home Assistant.
ha_category:
- Network
ha_iot_class: Local Polling
@@ -8,7 +8,6 @@ logo: fail2ban.png
ha_release: 0.57
---
-
The `fail2ban` sensor allows for IPs banned by [fail2ban](https://www.fail2ban.org/wiki/index.php/Main_Page) to be displayed in the Home Assistant frontend.
-To use Google Assistant, your Home Assistant configuration has to be [externally accessible with a hostname and SSL certificate](/docs/configuration/remote/). If you haven't already configured that, you should do so before continuing. If you make DNS changes to accomplish this, please ensure you have allowed up to the full 48 hours for DNS changes to propogate, otherwise Google may not be able to reach your server.
+To use Google Assistant, your Home Assistant configuration has to be [externally accessible with a hostname and SSL certificate](/docs/configuration/remote/). If you haven't already configured that, you should do so before continuing. If you make DNS changes to accomplish this, please ensure you have allowed up to the full 48 hours for DNS changes to propagate, otherwise Google may not be able to reach your server.
-You need to create an API Key with the [Google Cloud API Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview) which allows you to update devices without unlinking and relinking an account (see [below](#troubleshooting-the-request_sync-service)). If you don't provide one, 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 that you wish to control via the Google Assistant integration.
+You need to create an API Key with the [Google Cloud API Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview) which allows you to update devices without unlinking and relinking an account (see [below](#troubleshooting-the-request_sync-service)). If you don't provide one, 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.
1. Create a new project in the [Actions on Google console](https://console.actions.google.com/).
1. Add/Import a project and give it a name.
@@ -45,15 +47,15 @@ You need to create an API Key with the [Google Cloud API Console](https://consol
9. Testing instructions: Enter anything. It doesn't matter since you won't submit this app. Click `Save`
-
+
3. Select the `Develop` tab at the top of the page, then in the upper right hand corner select the `Test` button to generate the draft version Test App.
4. Add the `google_assistant` integration configuration to your `configuration.yaml` file and restart Home Assistant following the [configuration guide](#configuration) below.
-5. Open the Google Home app and goto `Account` most right icon.
-6. Click `+ Set up or add`, `+ Set up device`, 'New devices', choose your home and click `Next` click `Have something...`you should have `[test] your app name` listed under 'Add new.' Selecting that should lead you to a browser to login your Home Assistant instance, then redirect back to a screen where you can set rooms for your devices or nicknames for your devices.
+5. (Note that app versions may be slightly different.) Open the Google Home app and go to `Settings`.
+6. Click `Add...`, `+ Set up or add`, `+ Set up device`, and click `Have something already setup?`. You should have `[test] your app name` listed under 'Add new'. Selecting that should lead you to a browser to login your Home Assistant instance, then redirect back to a screen where you can set rooms and nicknames for your devices if you wish.
-If you've added Home Assistant to the home screen, you have to first remove it from home screen, otherwise, this HTML5 app will show up instead of a browser. Using it would prevent Home Assistant to redirect back to the `Google Assistant` app.
+If you've added Home Assistant to your phone's home screen, you have to first remove it from home screen, otherwise, this HTML5 app will show up instead of a browser. Using it would prevent Home Assistant redirecting back to the Google Home app.
@@ -73,15 +75,15 @@ If you've added Home Assistant to the home screen, you have to first remove it f
6. For the Key type, select the JSON option.
7. Click Create. A JSON file that contains your key downloads to your computer.
8. Use the information in this file or the file directly to add to the `service_account` key in the configuration.
-3. If you didn't specify a service account and want to use the `google_assistant.request_sync` service, to update devices without unlinking and relinking, in Home Assistant, then enable Homegraph API for your project:
+3. If you didn't specify a service account and want to use the `google_assistant.request_sync` service, to update devices without unlinking and relinking, in Home Assistant, then enable HomeGraph API for your project:
1. Go to the [Google API Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview).
- 2. Select your project and click Enable Homegraph API.
+ 2. Select your project and click Enable HomeGraph API.
3. Go to Credentials, which you can find on the left navigation bar under the key icon, and select API Key from Create Credentials.
4. Note down the generated API Key and use this in the configuration.
### Configuration
-Now add the following lines to your `configuration.yaml` file:
+Now add your setup to your `configuration.yaml` file, such as:
```yaml
# Example configuration.yaml entry
@@ -102,8 +104,6 @@ google_assistant:
light.living_room:
expose: false
room: LIVING_ROOM
- group.all_automations:
- expose: false
```
{% configuration %}
@@ -117,7 +117,7 @@ secure_devices_pin:
type: string
default: ""
api_key:
- description: Your Homegraph API key (for the `google_assistant.request_sync` service). This is not required if a service_account is specified.
+ description: Your HomeGraph API key (for the `google_assistant.request_sync` service). This is not required if a service_account is specified.
required: false
type: string
service_account:
@@ -194,17 +194,13 @@ Currently, the following domains are available to be used with Google Assistant,
- climate (temperature setting, hvac_mode)
- vacuum (dock/start/stop/pause)
- sensor (temperature setting for temperature sensors and humidity setting for humidity sensors)
-- Alarm Control Panel (Arm/Disarm)
-
-
- The domain groups contains groups containing all items, by example group.all_automations. When telling Google Assistant to shut down everything, this will lead in this example to disabling all automations
-
+- Alarm Control Panel (arm/disarm)
### Secure Devices
Certain devices are considered secure, including anything in the `lock` domain, `alarm_control_panel` domain and `covers` with device types `garage` and `door`.
-By default these cannot be opened by Google Assistant unless a `secure_devices_pin` is set up. To allow opening, set the `secure_devices_pin` to something and you will be prompted to speak the pin when opening the device. Closing and locking these devices does not require a pin.
+By default these cannot be opened by Google Assistant unless a `secure_devices_pin` is set up. To allow opening, set the `secure_devices_pin` to something and you will be prompted to speak the pin when opening the device. Closing or locking these devices does not require a pin.
For the Alarm Control Panel if a code is set it must be the same as the `secure_devices_pin`. If `code_arm_required` is set to `false` the system will arm without prompting for the pin.
@@ -213,13 +209,13 @@ For the Alarm Control Panel if a code is set it must be the same as the `secure_
Media Player sources are sent via the Modes trait in Google Assistant.
There is currently a limitation with this feature that requires a hard-coded set of settings. Because of this, the only sources that will be usable by this feature [are listed here](https://developers.google.com/actions/reference/smarthome/traits/modes).
-#### Example Command:
+#### Example Command
"Hey Google, change input source to TV on Living Room Receiver"
### Room/Area support
-Entities that have not got rooms explicitly set and that have been placed in Home Assistant areas will return room hints to Google with the devices in those areas.
+Entities that have not been explicitly assigned to rooms but have been placed in Home Assistant areas will return room hints to Google with the devices in those areas.
### Climate Operation Modes
@@ -236,18 +232,18 @@ Here are the modes that are currently available:
### Troubleshooting the request_sync service
-The request_sync service requires that the initial sync from Google includes the agent_user_id. If not, the service will log an error that reads something like "Request contains an invalid argument". If this happens, then [unlink the account](https://support.google.com/googlenest/answer/7126338) from Home Control and relink.
+Syncing may fail after a period of time, likely around 30 days, due to the fact that your Actions on Google app is technically in testing mode and has never been published. Eventually, it seems that the test expires. Control of devices will continue to work but syncing may not. If you say "Ok Google, sync my devices" and get the response "Unable to sync Home Assistant" (or whatever you named your project), this can usually be resolved by going back to your test app in the [Actions on Google console](https://console.actions.google.com/) and clicking `Simulator` under `TEST`. Regenerate the draft version Test App and try asking Google to sync your devices again. If regenerating the draft does not work, go back to the `Action` section and just hit the `enter` key for the URL to recreate the Preview.
-The request_sync service may fail with a 404 if the project_id of the Homegraph API differs from the project_id of the Actions SDK found in the preferences of your project on [Actions on Google console](https://console.actions.google.com). Resolve this by:
+The `request_sync` service requires that the initial sync from Google includes the `agent_user_id`. If not, the service will log an error that reads something like "Request contains an invalid argument". If this happens, then [unlink the account](https://support.google.com/googlenest/answer/7126338) from Home Control and relink.
+
+The `request_sync` service may fail with a 404 if the `project_id` of the HomeGraph API differs from the `project_id` of the Actions SDK found in the preferences of your project on [Actions on Google console](https://console.actions.google.com). Resolve this by:
1. Removing your project from the [Actions on Google console](https://console.actions.google.com).
2. Add a new project to the [Google Cloud API Console](https://console.cloud.google.com). Here you get a new `project_id`.
- 3. Enable Homegraph API to the new project.
+ 3. Enable HomeGraph API to the new project.
4. Generate a new API key.
5. Again, create a new project in the [Actions on Google console](https://console.actions.google.com/). Described above. But at the step 'Build under the Actions SDK box' choose your newly created project. By this, they share the same `project_id`.
-Syncing may also fail after a period of time, likely around 30 days, due to the fact that your Actions on Google app is technically in testing mode and has never been published. Eventually, it seems that the test expires. Control of devices will continue to work but syncing may not. If you say "Ok Google, sync my devices" and get the response "Unable to sync Home Assistant", this can usually be resolved by going back to your test app in the [Actions on Google console](https://console.actions.google.com/) and clicking `Simulator` under `TEST`. Regenerate the draft version Test App and try asking Google to sync your devices again. If regenerating the draft does not work, go back to the `Action` section and just hit the `enter` key for the URL to recreate the Preview.
-
### Troubleshooting with NGINX
When using NGINX, ensure that your `proxy_pass` line *does not* have a trailing `/`, as this will result in errors. Your line should look like:
diff --git a/source/_integrations/google_cloud.markdown b/source/_integrations/google_cloud.markdown
index b3239233729..84cab1a9a1b 100644
--- a/source/_integrations/google_cloud.markdown
+++ b/source/_integrations/google_cloud.markdown
@@ -1,9 +1,11 @@
---
-title: "Google Cloud Platform"
-description: "Google Cloud Platform integration."
+title: Google Cloud Platform
+description: Google Cloud Platform integration.
logo: google_cloud.png
ha_category: Text-to-speech
ha_release: 0.95
+ha_codeowners:
+ - '@lufton'
---
The `google_cloud` platform allows you to use [Google Cloud Platform](https://cloud.google.com/) API and integrate them into Home Assistant.
diff --git a/source/_integrations/google_domains.markdown b/source/_integrations/google_domains.markdown
index 568344e69e7..a324f39c275 100644
--- a/source/_integrations/google_domains.markdown
+++ b/source/_integrations/google_domains.markdown
@@ -1,6 +1,6 @@
---
-title: "Google Domains"
-description: "Keep your computer registered with the Google Domains dynamic DNS."
+title: Google Domains
+description: Keep your computer registered with the Google Domains dynamic DNS.
logo: google_domains.png
ha_category:
- Network
diff --git a/source/_integrations/google_maps.markdown b/source/_integrations/google_maps.markdown
index 7c9d18a78a2..b5e387018b5 100644
--- a/source/_integrations/google_maps.markdown
+++ b/source/_integrations/google_maps.markdown
@@ -1,6 +1,6 @@
---
-title: "Google Maps Location Sharing"
-description: "Instructions how to use Google Maps Location Sharing to track devices in Home Assistant."
+title: Google Maps
+description: Instructions how to use Google Maps Location Sharing to track devices in Home Assistant.
logo: google_maps.png
ha_release: 0.67
ha_category:
diff --git a/source/_integrations/google_pubsub.markdown b/source/_integrations/google_pubsub.markdown
index d940eadde8a..9545095c0b9 100644
--- a/source/_integrations/google_pubsub.markdown
+++ b/source/_integrations/google_pubsub.markdown
@@ -1,6 +1,6 @@
---
-title: "Google Pub/Sub"
-description: "Setup for Google Pub/Sub integration"
+title: Google Pub/Sub
+description: Setup for Google Pub/Sub integration
logo: google-pubsub.png
ha_category:
- History
@@ -77,4 +77,3 @@ filter:
### Saving the data using a Google Cloud Function
To save your data automatically to BigQuery, follow the [instructions here](https://github.com/timvancann/home-assistant-pubsub-cloud-function). The current [free tier](https://cloud.google.com/free/) of GCP should allow to store up to 10GB of data.
-
diff --git a/source/_integrations/google_translate.markdown b/source/_integrations/google_translate.markdown
index 6ab7ffde4d3..aef6a211386 100644
--- a/source/_integrations/google_translate.markdown
+++ b/source/_integrations/google_translate.markdown
@@ -1,10 +1,12 @@
---
-title: "Google Translate Text-to-Speech"
-description: "Instructions on how to setup Google Translate Text-to-Speech with Home Assistant."
+title: Google Translate Text-to-Speech
+description: Instructions on how to setup Google Translate Text-to-Speech with Home Assistant.
logo: google.png
ha_category:
- Text-to-speech
ha_release: 0.35
+ha_codeowners:
+ - '@awarecan'
---
The `google_translate` text-to-speech platform uses the unofficial [Google Translate Text-to-Speech engine](https://translate.google.com/) to read a text with natural sounding voices.
diff --git a/source/_integrations/google_travel_time.markdown b/source/_integrations/google_travel_time.markdown
index 6ac9f604111..d316716acd4 100644
--- a/source/_integrations/google_travel_time.markdown
+++ b/source/_integrations/google_travel_time.markdown
@@ -1,11 +1,13 @@
---
-title: "Google Maps Travel Time"
-description: "Instructions on how to add Google Maps travel time to Home Assistant."
+title: Google Maps Travel Time
+description: Instructions on how to add Google Maps travel time to Home Assistant.
logo: google_maps.png
ha_category:
- Transport
ha_iot_class: Cloud Polling
ha_release: 0.19
+ha_codeowners:
+ - '@robbiet480'
---
The `google_travel_time` sensor provides travel time from the [Google Distance Matrix API](https://developers.google.com/maps/documentation/distance-matrix/).
diff --git a/source/_integrations/google_wifi.markdown b/source/_integrations/google_wifi.markdown
index 131ee254fd8..4022bf335b8 100644
--- a/source/_integrations/google_wifi.markdown
+++ b/source/_integrations/google_wifi.markdown
@@ -1,14 +1,13 @@
---
-title: "Google Wifi"
-description: "Instructions on how to integrate Google Wifi/OnHub routers into Home Assistant."
+title: Google Wifi
+description: Instructions on how to integrate Google Wifi/OnHub routers into Home Assistant.
ha_category:
- System Monitor
logo: google_wifi.png
ha_iot_class: Local Polling
-ha_release: "0.50"
+ha_release: '0.50'
---
-
The `google_wifi` sensor platform is displaying the exposed status of a [Google Wifi](https://madeby.google.com/wifi/) (or OnHub) router.
The sensor is able to report network status, up-time, current IP address and firmware versions.
diff --git a/source/_integrations/gpmdp.markdown b/source/_integrations/gpmdp.markdown
index dcc780a8ae9..39f3064097c 100644
--- a/source/_integrations/gpmdp.markdown
+++ b/source/_integrations/gpmdp.markdown
@@ -1,14 +1,13 @@
---
-title: "Google Play Music Desktop Player"
-description: "Instructions on how to integrate GPMDP into Home Assistant."
+title: Google Play Music Desktop Player (GPMDP)
+description: Instructions on how to integrate GPMDP into Home Assistant.
logo: gpmdp.png
ha_category:
- Media Player
ha_iot_class: Local Polling
-ha_release: "0.20"
+ha_release: '0.20'
---
-
The `gpmdp` media player platform allows you to control a [GPMDP](https://www.googleplaymusicdesktopplayer.com/) instance running on a computer from Home Assistant.
You will have first have to check "Enable playback API" in GPMDP's settings and then add an inbound rule to the firewall to allow access to port 5672 on the computer running GPMDP.
diff --git a/source/_integrations/gpsd.markdown b/source/_integrations/gpsd.markdown
index c9b6bdadc6f..f319131c95c 100644
--- a/source/_integrations/gpsd.markdown
+++ b/source/_integrations/gpsd.markdown
@@ -1,11 +1,13 @@
---
-title: "GPSD"
-description: "Instructions on how to integrate GPSD into Home Assistant."
+title: GPSD
+description: Instructions on how to integrate GPSD into Home Assistant.
logo: gpsd.png
ha_category:
- Utility
ha_release: 0.26
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@fabaff'
---
The `gpsd` integration is using the GPS information collected by [gpsd](http://catb.org/gpsd/) and a GPS receiver.
@@ -64,4 +66,3 @@ name:
type: string
default: GPS
{% endconfiguration %}
-
diff --git a/source/_integrations/gpslogger.markdown b/source/_integrations/gpslogger.markdown
index 1b46c6f2000..6c3e9681c4d 100644
--- a/source/_integrations/gpslogger.markdown
+++ b/source/_integrations/gpslogger.markdown
@@ -1,11 +1,12 @@
---
-title: "GPSLogger"
-description: "Instructions on how to use GPSLogger to track devices in Home Assistant."
+title: GPSLogger
+description: Instructions on how to use GPSLogger to track devices in Home Assistant.
logo: gpslogger.png
ha_category:
- Presence Detection
ha_release: 0.34
ha_iot_class: Cloud Push
+ha_config_flow: true
---
This integration sets up integration with [GPSLogger](https://gpslogger.app/). GPSLogger is an open source app for Android that allows users to update your location in Home Assistant.
diff --git a/source/_integrations/graphite.markdown b/source/_integrations/graphite.markdown
index 3a1c3c73780..e49ccf14c0b 100644
--- a/source/_integrations/graphite.markdown
+++ b/source/_integrations/graphite.markdown
@@ -1,6 +1,6 @@
---
-title: "Graphite"
-description: "Instructions on how to record Home Assistant history in Graphite."
+title: Graphite
+description: Instructions on how to record Home Assistant history in Graphite.
logo: graphite.png
ha_category:
- History
@@ -33,4 +33,3 @@ prefix:
type: string
default: ha
{% endconfiguration %}
-
diff --git a/source/_integrations/greeneye_monitor.markdown b/source/_integrations/greeneye_monitor.markdown
index 52afe90bcb9..c655ae01a76 100644
--- a/source/_integrations/greeneye_monitor.markdown
+++ b/source/_integrations/greeneye_monitor.markdown
@@ -1,6 +1,6 @@
---
-title: "GreenEye Monitor"
-description: "Instructions on how to integrate your GreenEye Monitor within Home Assistant."
+title: GreenEye Monitor (GEM)
+description: Instructions on how to integrate your GreenEye Monitor within Home Assistant.
logo: brultech.png
ha_category:
- Hub
diff --git a/source/_integrations/greenwave.markdown b/source/_integrations/greenwave.markdown
index 4aace281ee9..066c8ade251 100644
--- a/source/_integrations/greenwave.markdown
+++ b/source/_integrations/greenwave.markdown
@@ -1,6 +1,6 @@
---
-title: Greenwave Reality (TCP Connected) Lights
-description: "Instructions on how to set up Greenwave Reality lights within Home Assistant."
+title: Greenwave Reality
+description: Instructions on how to set up Greenwave Reality lights within Home Assistant.
logo: greenwavereality.png
ha_category:
- Light
diff --git a/source/_integrations/group.markdown b/source/_integrations/group.markdown
index ce40ecc90aa..d14ea5e9154 100644
--- a/source/_integrations/group.markdown
+++ b/source/_integrations/group.markdown
@@ -1,11 +1,13 @@
---
-title: "Group"
-description: "Instructions on how to setup groups within Home Assistant."
+title: Group
+description: Instructions on how to setup groups within Home Assistant.
logo: home-assistant.png
ha_category:
- Organization
-ha_qa_scale: internal
ha_release: pre 0.7
+ha_quality_scale: internal
+ha_codeowners:
+ - '@home-assistant/core'
---
Groups allow the user to combine multiple entities into one.
@@ -60,18 +62,6 @@ control:
type: string
{% endconfiguration %}
-## Default groups
-
-Some integrations automatically create special groups containing integration entities. These groups are named like `group.all_...`, for example:
-
-- `group.all_switches`
-- `group.all_lights`
-- `group.all_devices`
-- `group.all_scripts`
-- `group.all_automations`
-
-You can see list of these groups in **States** page of the **Developer Tools**.
-
## Group behavior
By default when any member of a group is `on` then the group will also be `on`. Similarly with a device tracker, when any member of the group is `home` then the group is `home`. If you set the `all` option to `true` though, this behavior is inverted and all members of the group have to be `on` for the group to turn on as well.
@@ -148,40 +138,3 @@ Notice in the example below that in order to refer to the group "Living Room", y
- group.living_room
- group.bedroom
```
-
-Default groups appear in the HOME tab, if not overridden by user views and groups. Default groups are hidden by default, so you must [customize](/docs/configuration/customizing-devices/) them to be visible in your custom groups and views.
-
-```yaml
-# Example configuration.yaml to include default groups in custom view
-customize:
- group.all_automations:
- hidden: false
- group.all_scripts:
- hidden: false
-group:
- automation_view:
- name: Automation
- view: true
- entities:
- - group.all_automations
- - group.all_scripts
-```
-
-## Customize group order
-You can also order your groups using [customize](/docs/configuration/customizing-devices/) with `order: ` if they don't show up in the order you want them in.
-
-```yaml
-# Example configuration.yaml to order groups with order:
-customize:
- group.all_automations:
- order: 1
- group.all_scripts:
- order: 2
-group:
- automation_view:
- name: Automation
- view: true
- entities:
- - group.all_automations
- - group.all_scripts
-```
diff --git a/source/_integrations/growatt_server.markdown b/source/_integrations/growatt_server.markdown
index 10fe85ebf45..dbd701cb16e 100644
--- a/source/_integrations/growatt_server.markdown
+++ b/source/_integrations/growatt_server.markdown
@@ -1,12 +1,14 @@
---
-title: "Growatt server PV Inverter Sensor"
-description: "Instructions on how to integrate your Growatt server solar inverter within Home Assistant."
+title: Growatt
+description: Instructions on how to integrate your Growatt server solar inverter within Home Assistant.
logo: growatt.png
ha_category:
- Sensor
- Energy
ha_release: 0.99
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@indykoning'
---
This is a sensor to collect information from your Growatt inverters using [Growatt server](https://server.growatt.com/).
diff --git a/source/_integrations/gstreamer.markdown b/source/_integrations/gstreamer.markdown
index e0bf7e009f3..6d8e66ed87d 100644
--- a/source/_integrations/gstreamer.markdown
+++ b/source/_integrations/gstreamer.markdown
@@ -1,6 +1,6 @@
---
-title: "Gstreamer"
-description: "Instructions on how to integrate Gstreamer into Home Assistant."
+title: GStreamer
+description: Instructions on how to integrate Gstreamer into Home Assistant.
ha_category:
- Media Player
logo: gstreamer.png
diff --git a/source/_integrations/gtfs.markdown b/source/_integrations/gtfs.markdown
index c6b79067dab..6380f8a16c7 100644
--- a/source/_integrations/gtfs.markdown
+++ b/source/_integrations/gtfs.markdown
@@ -1,11 +1,13 @@
---
-title: "Public Transit (GTFS)"
-description: "Instructions on how to use public transit open data in Home Assistant."
+title: General Transit Feed Specification (GTFS)
+description: Instructions on how to use public transit open data in Home Assistant.
logo: train.png
ha_category:
- Transport
ha_iot_class: Local Polling
ha_release: 0.17
+ha_codeowners:
+ - '@robbiet480'
---
The `gtfs` sensor will give you the next departure time and associated data from your public transit station/stop. The data comes from your chosen public transit authority and is formatted as [General Transit Feed Specification](https://developers.google.com/transit/gtfs/) data, commonly known as GTFS.
diff --git a/source/_integrations/habitica.markdown b/source/_integrations/habitica.markdown
index 7b1c1ca31f3..f1e80396022 100644
--- a/source/_integrations/habitica.markdown
+++ b/source/_integrations/habitica.markdown
@@ -1,6 +1,6 @@
---
-title: "Habitica"
-description: "Instructions on enabling Habitica support for your Home Assistant"
+title: Habitica
+description: Instructions on enabling Habitica support for your Home Assistant
logo: habitica.png
ha_category:
- Hub
diff --git a/source/_integrations/hangouts.markdown b/source/_integrations/hangouts.markdown
index b6a1443eba4..bf30af1c565 100644
--- a/source/_integrations/hangouts.markdown
+++ b/source/_integrations/hangouts.markdown
@@ -1,11 +1,12 @@
---
-title: "Google Hangouts"
-description: "Hangouts chatbot support"
+title: Google Hangouts
+description: Hangouts chatbot support
logo: hangouts.png
ha_category:
- Hub
- Notifications
ha_release: 0.77
+ha_config_flow: true
---
This integration allows you to send messages to [Google Hangouts](https://hangouts.google.com) conversations, as well as to react to messages in conversations. Reacting to commands is accomplished by firing an event when one of the configured commands is triggered. Home Assistant will impersonate a Smartisan YQ603 phone which will then show up in your Google devices.
diff --git a/source/_integrations/harman_kardon_avr.markdown b/source/_integrations/harman_kardon_avr.markdown
index 87e4b0c47d9..db484f5d9b7 100644
--- a/source/_integrations/harman_kardon_avr.markdown
+++ b/source/_integrations/harman_kardon_avr.markdown
@@ -1,6 +1,6 @@
---
-title: "Harman Kardon AVR Network Receivers"
-description: "Instructions on how to integrate Harman Kardon AVR Network Receivers into Home Assistant."
+title: Harman Kardon AVR
+description: Instructions on how to integrate Harman Kardon AVR Network Receivers into Home Assistant.
logo: harman_kardon.png
ha_category:
- Media Player
diff --git a/source/_integrations/harmony.markdown b/source/_integrations/harmony.markdown
index afac8b40fbd..dc9f6f0c8eb 100644
--- a/source/_integrations/harmony.markdown
+++ b/source/_integrations/harmony.markdown
@@ -1,11 +1,13 @@
---
-title: "Harmony Hub Remote"
-description: "Instructions on how to integrate Harmony Hub remotes into Home Assistant."
+title: Logitech Harmony Hub
+description: Instructions on how to integrate Harmony Hub remotes into Home Assistant.
logo: logitech.png
ha_category:
- Remote
ha_iot_class: Local Push
ha_release: 0.34
+ha_codeowners:
+ - '@ehendrix23'
---
The `harmony` remote platform allows you to control the state of your [Harmony Hub Device](https://www.logitech.com/en-us/product/harmony-hub).
diff --git a/source/_integrations/haveibeenpwned.markdown b/source/_integrations/haveibeenpwned.markdown
index 7fd9fb67c9e..dde84e46006 100644
--- a/source/_integrations/haveibeenpwned.markdown
+++ b/source/_integrations/haveibeenpwned.markdown
@@ -1,6 +1,6 @@
---
-title: "HaveIBeenPwned Sensor"
-description: "Instructions on how to integrate HaveIBeenPwned sensor into Home Assistant."
+title: HaveIBeenPwned
+description: Instructions on how to integrate HaveIBeenPwned sensor into Home Assistant.
logo: haveibeenpwned.png
ha_category:
- Sensor
diff --git a/source/_integrations/hddtemp.markdown b/source/_integrations/hddtemp.markdown
index 32a805b292e..64227fa4070 100644
--- a/source/_integrations/hddtemp.markdown
+++ b/source/_integrations/hddtemp.markdown
@@ -1,6 +1,6 @@
---
-title: "HDDTemp"
-description: "Instructions on how to integrate hard drive temperature information into Home Assistant."
+title: hddtemp
+description: Instructions on how to integrate hard drive temperature information into Home Assistant.
ha_category:
- System Monitor
ha_release: 0.32
diff --git a/source/_integrations/hdmi_cec.markdown b/source/_integrations/hdmi_cec.markdown
index 674509549fa..3d8d903f247 100644
--- a/source/_integrations/hdmi_cec.markdown
+++ b/source/_integrations/hdmi_cec.markdown
@@ -1,6 +1,6 @@
---
-title: "HDMI CEC"
-description: "Instructions on how to interact with HDMI CEC via Home Assistant."
+title: HDMI-CEC
+description: Instructions on how to interact with HDMI-CEC via Home Assistant.
ha_category:
- Automation
logo: hdmi.png
diff --git a/source/_integrations/heatmiser.markdown b/source/_integrations/heatmiser.markdown
index c1ec07107c3..0064cb994b0 100644
--- a/source/_integrations/heatmiser.markdown
+++ b/source/_integrations/heatmiser.markdown
@@ -1,11 +1,13 @@
---
-title: "Heatmiser Thermostat"
-description: "Instructions on how to integrate Heatmiser thermostats within Home Assistant."
+title: Heatmiser
+description: Instructions on how to integrate Heatmiser thermostats within Home Assistant.
logo: heatmiser.png
ha_category:
- Climate
-ha_release: "0.10"
+ha_release: '0.10'
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@andylockran'
---
The `heatmiser` climate platform let you control [Heatmiser DT/DT-E/PRT/PRT-E](https://www.heatmisershop.co.uk/room-thermostats/) thermostats from Heatmiser. The module itself is currently setup to work over a RS232 -> RS485 converter, therefore it connects over IP.
diff --git a/source/_integrations/heos.markdown b/source/_integrations/heos.markdown
index 77a90a30a31..0f99bbbc15d 100644
--- a/source/_integrations/heos.markdown
+++ b/source/_integrations/heos.markdown
@@ -1,11 +1,14 @@
---
-title: "Denon HEOS"
-description: "Instructions on how to integrate Denon HEOS into Home Assistant."
+title: Denon HEOS
+description: Instructions on how to integrate Denon HEOS into Home Assistant.
logo: heos.png
ha_category:
- Media Player
ha_release: 0.92
ha_iot_class: Local Push
+ha_config_flow: true
+ha_codeowners:
+ - '@andrewsayre'
---
The HEOS integration adds support for [HEOS](http://heosbydenon.denon.com) capable products, such as speakers, amps, and receivers (Denon and Marantz) into Home Assistant. Features currently include:
diff --git a/source/_integrations/here_travel_time.markdown b/source/_integrations/here_travel_time.markdown
index cbb65aa66a6..1a5face1fd8 100644
--- a/source/_integrations/here_travel_time.markdown
+++ b/source/_integrations/here_travel_time.markdown
@@ -1,12 +1,14 @@
---
-title: "HERE Travel Time"
-description: "Instructions on how to add HERE travel time to Home Assistant."
+title: HERE Travel Time
+description: Instructions on how to add HERE travel time to Home Assistant.
logo: HERE_logo.svg
ha_category:
- Transport
- Sensor
ha_iot_class: Cloud Polling
-ha_release: "0.100"
+ha_release: '0.100'
+ha_codeowners:
+ - '@eifinger'
---
The `here_travel_time` sensor provides travel time from the [HERE Routing API](https://developer.here.com/documentation/routing/topics/introduction.html).
@@ -19,6 +21,10 @@ HERE offers a Freemium Plan which includes 250,000 free Transactions per month.
By default HERE will deactivate your account if you exceed the free Transaction limit for the month. You can add payment details to reenable your account as described [here](https://developer.here.com/faqs)
+### Migrate from app_code to api_key
+
+HERE has changed its authentication mechanism. It is no longer possible to use `app_id` and `app_code`. Existing users have to follow the [migration guide](https://developer.here.com/documentation/authentication/dev_guide/topics/api-key-credentials.html) in order to retrieve the now needed `api_key`.
+
## Configuration
To enable the sensor, add the following lines to your `configuration.yaml` file:
@@ -27,8 +33,7 @@ To enable the sensor, add the following lines to your `configuration.yaml` file:
# Example entry for configuration.yaml
sensor:
- platform: here_travel_time
- app_id: "YOUR_APP_ID"
- app_code: "YOUR_APP_CODE"
+ api_key: "YOUR_API_KEY"
origin_latitude: "51.222975"
origin_longitude: "9.267577"
destination_latitude: "51.257430"
@@ -36,12 +41,8 @@ sensor:
```
{% configuration %}
-app_id:
- description: "Your application's API id (get one by following the instructions above)."
- required: true
- type: string
-app_code:
- description: "Your application's API code (get one by following the instructions above)."
+api_key:
+ description: "Your application's API key (get one by following the instructions above)."
required: true
type: string
origin_latitude:
@@ -109,15 +110,13 @@ Tracking can be set up to track entities of type `device_tracker`, `zone`, `sens
sensor:
# Tracking entity to entity
- platform: here_travel_time
- app_id: "YOUR_APP_ID"
- app_code: "YOUR_APP_CODE"
+ api_key: "YOUR_API_KEY"
name: Phone To Home
origin_entity_id: device_tracker.mobile_phone
destination_entity_id: zone.home
# Full config
- platform: here_travel_time
- app_id: "YOUR_APP_ID"
- app_code: "YOUR_APP_CODE"
+ api_key: "YOUR_API_KEY"
name: Work to Home By Bike
origin_entity_id: zone.work
destination_latitude: 59.2842
diff --git a/source/_integrations/hikvision.markdown b/source/_integrations/hikvision.markdown
index a3bfd008d71..5fa2002b247 100644
--- a/source/_integrations/hikvision.markdown
+++ b/source/_integrations/hikvision.markdown
@@ -1,11 +1,13 @@
---
-title: Hikvision Binary Sensor
-description: "Instructions on how to set up Hikvision camera binary sensors within Home Assistant."
+title: Hikvision
+description: Instructions on how to set up Hikvision camera binary sensors within Home Assistant.
logo: hikvision.png
ha_category:
- Binary Sensor
ha_release: 0.35
ha_iot_class: Local Push
+ha_codeowners:
+ - '@mezz64'
---
The Hikvision Binary Sensor is a platform that parses the event stream of a
@@ -55,6 +57,7 @@ and has been confirmed to work with the following models:
- DS-2CD2042WD-I
- DS-2CD2142FWD-I
- DS-2CD2155FWD-IS
+- IPC-D140H(-M)
## Configuration
diff --git a/source/_integrations/hikvisioncam.markdown b/source/_integrations/hikvisioncam.markdown
index 28101dfa697..996f7850fd5 100644
--- a/source/_integrations/hikvisioncam.markdown
+++ b/source/_integrations/hikvisioncam.markdown
@@ -1,10 +1,12 @@
---
-title: "Hikvision Camera Switch"
-description: "Instructions on how to integrate Hikvision camera switches into Home Assistant."
+title: Hikvision
+description: Instructions on how to integrate Hikvision camera switches into Home Assistant.
logo: hikvision.png
ha_category:
- Switch
ha_release: pre 0.7
+ha_codeowners:
+ - '@fbradyirl'
---
This `hikvisioncam` switch platform allows you to control your motion detection setting on your [Hikvision](https://www.hikvision.com/) camera.
diff --git a/source/_integrations/hisense_aehw4a1.markdown b/source/_integrations/hisense_aehw4a1.markdown
index e070012f786..e99a0f8b9b0 100644
--- a/source/_integrations/hisense_aehw4a1.markdown
+++ b/source/_integrations/hisense_aehw4a1.markdown
@@ -1,11 +1,14 @@
---
-title: "Hisense AEH-W4A1"
-description: "Instructions to setup the Hisense AEH W4A1 WiFi module for ACs."
+title: Hisense AEH-W4A1
+description: Instructions to setup the Hisense AEH W4A1 WiFi module for ACs.
logo: hisense.png
ha_release: 0.103
ha_category:
- Climate
ha_iot_class: Local Poll
+ha_config_flow: true
+ha_codeowners:
+ - '@bannhead'
---
The Hisense AEH-W4A1 is a WiFi module used to give WiFi connectivity to some Hisense ACs and rebranded models (Smart Cool, Beko and others).
diff --git a/source/_integrations/history.markdown b/source/_integrations/history.markdown
index dd740ee6fb1..4153c68c9b2 100644
--- a/source/_integrations/history.markdown
+++ b/source/_integrations/history.markdown
@@ -1,11 +1,13 @@
---
-title: "History"
-description: "Instructions on how to enable history support for Home Assistant."
+title: History
+description: Instructions on how to enable history support for Home Assistant.
logo: home-assistant.png
ha_category:
- History
ha_release: pre 0.7
-ha_qa_scale: internal
+ha_quality_scale: internal
+ha_codeowners:
+ - '@home-assistant/core'
---
The `history` integration will track everything that is going on within Home
@@ -161,6 +163,7 @@ in seconds since the UNIX epoch. Convert them manually using
```python
from datetime import datetime
+
datetime.fromtimestamp(1422830502)
```
diff --git a/source/_integrations/history_graph.markdown b/source/_integrations/history_graph.markdown
index d18cbd82b8b..eebed5ca11a 100644
--- a/source/_integrations/history_graph.markdown
+++ b/source/_integrations/history_graph.markdown
@@ -1,11 +1,13 @@
---
-title: "History Graph"
-description: "Instructions for setting up History Graph."
+title: History Graph
+description: Instructions for setting up History Graph.
ha_category:
- History
logo: home-assistant.png
ha_release: 0.55
-ha_qa_scale: internal
+ha_quality_scale: internal
+ha_codeowners:
+ - '@andrey-git'
---
diff --git a/source/_integrations/history_stats.markdown b/source/_integrations/history_stats.markdown
index 6038fbd4c10..0b6a2db934c 100644
--- a/source/_integrations/history_stats.markdown
+++ b/source/_integrations/history_stats.markdown
@@ -1,12 +1,12 @@
---
-title: "History Statistics Sensor"
-description: "Instructions about how to integrate historical statistics into Home Assistant."
+title: History Stats
+description: Instructions about how to integrate historical statistics into Home Assistant.
logo: home-assistant.png
ha_category:
- Utility
ha_iot_class: Local Polling
ha_release: 0.39
-ha_qa_scale: internal
+ha_quality_scale: internal
---
The `history_stats` sensor platform provides quick statistics about another integration or platforms, using data from the [history](/integrations/history/).
diff --git a/source/_integrations/hitron_coda.markdown b/source/_integrations/hitron_coda.markdown
index 7ef0a51759b..33743215a88 100644
--- a/source/_integrations/hitron_coda.markdown
+++ b/source/_integrations/hitron_coda.markdown
@@ -1,6 +1,6 @@
---
-title: "Hitron CODA Routers"
-description: "Instructions on how to integrate Hitron CODA Routers into Home Assistant."
+title: Rogers Hitron CODA
+description: Instructions on how to integrate Hitron CODA Routers into Home Assistant.
logo: hitron.png
ha_category:
- Presence Detection
diff --git a/source/_integrations/hive.markdown b/source/_integrations/hive.markdown
index 681a06886ef..70d97ea25ae 100644
--- a/source/_integrations/hive.markdown
+++ b/source/_integrations/hive.markdown
@@ -1,6 +1,6 @@
---
-title: "Hive"
-description: "Instructions on how to integrate Hive devices with Home Assistant."
+title: Hive
+description: Instructions on how to integrate Hive devices with Home Assistant.
logo: hive.png
ha_category:
- Hub
@@ -12,24 +12,23 @@ ha_category:
- Water Heater
ha_release: 0.59
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@Rendili'
+ - '@KJonline'
---
The `hive` integration is the main integration to set up and integrate all supported Hive devices. Once configured with the minimum required details it will detect and add all Hive devices into Home Assistant, including support for multi-zone heating.
This integration uses the unofficial API used in the official Hive website [https://my.hivehome.com](https://my.hivehome.com), and you will need to use the same Username and Password you use on the Hive website to configure this Hive integration in Home Assistant.
-There is currently support for the following services and platforms within Home Assistant:
+There is currently support for the following platforms within Home Assistant:
-- [Services](#services)
- - [Service `hive.boost_heating`](#service-hiveboostheating)
- - [Service `hive.boost_hot_water`](#service-hiveboosthotwater)
-- [Platforms](#platforms)
- - [Binary Sensor](#binary-sensor)
- - [Climate](#climate)
- - [Light](#light)
- - [Sensor](#sensor)
- - [Switch](#switch)
- - [Water Heater](#water-heater)
+- [Binary Sensor](#binary-sensor)
+- [Climate](#climate)
+- [Light](#light)
+- [Sensor](#sensor)
+- [Switch](#switch)
+- [Water Heater](#water-heater)
To add your Hive devices into your Home Assistant installation, add the following to your `configuration.yaml` file:
diff --git a/source/_integrations/hlk_sw16.markdown b/source/_integrations/hlk_sw16.markdown
index 69f8f71f180..73026c01fc2 100644
--- a/source/_integrations/hlk_sw16.markdown
+++ b/source/_integrations/hlk_sw16.markdown
@@ -1,6 +1,6 @@
---
-title: "HLK-SW16 Relay Module"
-description: "Instructions on how to integrate HLK-SW16 relay into Home Assistant."
+title: Hi-Link HLK-SW16
+description: Instructions on how to integrate HLK-SW16 relay into Home Assistant.
logo: hlktech.jpg
ha_category:
- DIY
diff --git a/source/_integrations/homeassistant.markdown b/source/_integrations/homeassistant.markdown
index 62dda476583..9c728c8c7f6 100644
--- a/source/_integrations/homeassistant.markdown
+++ b/source/_integrations/homeassistant.markdown
@@ -1,8 +1,120 @@
---
-title: "Core integration"
-description: "Description of the homeassistant integration."
+title: Home Assistant Core Integration
+description: Description of the homeassistant integration.
logo: home-assistant.png
ha_release: 0.0
+ha_quality_scale: internal
+ha_codeowners:
+ - '@home-assistant/core'
---
The Home Assistant integration provides generic implementations like the generic `homeassistant.turn_on`.
+
+## Services
+
+The `homeassistant` integration provides services for controlling Home Assistant itself, as well as generic controls for any entity.
+
+### Service `homeassistant.check_config`
+
+Reads the config files and checks them for correctness, but **does not** load them into Home Assistant. Creates a persistent notification and log entry if errors are found.
+
+### Service `homeassistant.reload_core_config`
+
+Loads the main config file (`configuration.yaml`) and all linked files. Once loaded the new configuration is applied.
+
+### Service `homeassistant.restart`
+
+Restarts the Home Assistant instance (also reloading the configuration on start).
+
+### Service `homeassistant.stop`
+
+Stops the Home Assistant instance. Home Assistant must be restarted from the Host device to run again.
+
+### Service `homeassistant.set_location`
+
+Update the location of the Home Assistant default zone (usually "Home").
+
+| Service data attribute | Optional | Description |
+|---------------------------|----------|-------------------------------------------------------|
+| `latitude` | no | Latitude of your location. |
+| `longitude` | no | Longitude of your location. |
+
+#### Example
+
+```yaml
+action:
+ service: homeassistant.set_location
+ data:
+ latitude: 32.87336
+ longitude: 117.22743
+```
+
+### Service `homeassistant.toggle`
+
+Generic service to toggle devices on/off under any domain. Same usage as the light.turn_on, switch.turn_on, etc. services.
+
+| Service data attribute | Optional | Description |
+|---------------------------|----------|-------------------------------------------------------|
+| `entity_id` | yes | The entity_id of the device to toggle on/off. |
+
+#### Example
+
+```yaml
+action:
+ service: homeassistant.toggle
+ data:
+ entity_id: light.living_room
+```
+
+#### Service `homeassistant.turn_on`
+
+Generic service to turn devices on under any domain. Same usage as the light.turn_on, switch.turn_on, etc. services.
+
+| Service data attribute | Optional | Description |
+|---------------------------|----------|-------------------------------------------------------|
+| `entity_id` | yes | The entity_id of the device to turn on. |
+
+#### Example
+
+```yaml
+action:
+ service: homeassistant.turn_on
+ data:
+ entity_id: light.living_room
+```
+
+### Service `homeassistant.turn_off`
+
+Generic service to turn devices off under any domain. Same usage as the light.turn_on, switch.turn_on, etc. services.
+
+| Service data attribute | Optional | Description |
+|---------------------------|----------|-------------------------------------------------------|
+| `entity_id` | yes | The entity_id of the device to turn off. |
+
+#### Example
+
+```yaml
+action:
+ service: homeassistant.turn_off
+ data:
+ entity_id: light.living_room
+```
+
+### Service `homeassistant.update_entity`
+
+Force one or more entities to update its data rather than wait for the next scheduled update.
+
+| Service data attribute | Optional | Description |
+|---------------------------|----------|-------------------------------------------------------|
+| `entity_id` | no | One or multiple entity_ids to update. It can be a list. |
+
+#### Example
+
+```yaml
+action:
+ service: homeassistant.update_entity
+ data:
+ entity_id:
+ - light.living_room
+ - switch.coffe_pot
+```
diff --git a/source/_integrations/homekit.markdown b/source/_integrations/homekit.markdown
index 20acf947f03..1e6712df47a 100644
--- a/source/_integrations/homekit.markdown
+++ b/source/_integrations/homekit.markdown
@@ -1,6 +1,6 @@
---
-title: "HomeKit"
-description: "Instructions on how to set up the HomeKit integration in Home Assistant."
+title: HomeKit
+description: Instructions on how to set up the HomeKit integration in Home Assistant.
ha_category:
- Voice
ha_release: 0.64
@@ -459,7 +459,7 @@ To use the HomeKit integration with to different Home Assistant instances on the
#### Specific entity doesn't work
-Although we try our best, some entities don't work with the HomeKit integration yet. The result will be that either pairing fails completely or all Home Assistant accessories will stop working. Use the filter to identify which entity is causing the issue. It's best to try pairing and step by step including more entities. If it works unpair and repeat until you find the one that is causing the issues. To help others and the developers, please open a new issue here: [home-assistant/issues/new](https://github.com/home-assistant/home-assistant/issues/new?labels=component: homekit)
+Although we try our best, some entities don't work with the HomeKit integration yet. The result will be that either pairing fails completely or all Home Assistant accessories will stop working. Use the filter to identify which entity is causing the issue. It's best to try pairing and step by step including more entities. If it works unpair and repeat until you find the one that is causing the issues. To help others and the developers, please open a new issue here: [home-assistant/issues/new](https://github.com/home-assistant/home-assistant/issues/new?labels=component:%20homekit)
#### Accessories are all listed as not responding
@@ -491,7 +491,7 @@ The volume and play/pause controls will show up on the Remote app or Control Cen
#### Resetting accessories
-On Home Assistant `0.97.x` or later, you may use the service `homekit.reset_accessory` with one or more entity_ids to reset accessories whose configuration may have changed. This can be useful when changing a media_player's device class to `tv`, linking a battery, or whenever HomeAssistant add supports for new HomeKit features to existing entities.
+On Home Assistant `0.97.x` or later, you may use the service `homekit.reset_accessory` with one or more entity_ids to reset accessories whose configuration may have changed. This can be useful when changing a media_player's device class to `tv`, linking a battery, or whenever Home Assistant adds support for new HomeKit features to existing entities.
On earlier versions of Home Assistant, you can reset accessories by removing the entity from HomeKit (via [filter](#configure-filter)) and then re-adding the accessory.
diff --git a/source/_integrations/homekit_controller.markdown b/source/_integrations/homekit_controller.markdown
index 05c90c88149..e35ab89203f 100644
--- a/source/_integrations/homekit_controller.markdown
+++ b/source/_integrations/homekit_controller.markdown
@@ -1,6 +1,6 @@
---
-title: "HomeKit controller support"
-description: "Instructions for how to integrate your HomeKit devices within Home Assistant."
+title: HomeKit Controller
+description: Instructions for how to integrate your HomeKit devices within Home Assistant.
logo: apple-homekit.png
ha_category:
- Hub
@@ -12,8 +12,13 @@ ha_category:
- Switch
- Binary Sensor
- Sensor
+ - Fan
+ - Health
ha_release: 0.68
ha_iot_class: Local Polling
+ha_config_flow: true
+ha_codeowners:
+ - '@Jc2k'
---
The [HomeKit](https://developer.apple.com/homekit/) controller integration allows you to connect accessories with the "Works with HomeKit" logo to Home Assistant. This integration should not be confused with the [HomeKit](/integrations/homekit/) integration, which allows you to control Home Assistant devices via HomeKit.
@@ -32,8 +37,10 @@ There is currently support for the following device types within Home Assistant:
- Light (HomeKit lights)
- Lock (HomeKit lock)
- Switch (HomeKit switches)
-- Binary Sensor (HomeKit motion sensors and contact sensors)
+- Binary Sensor (HomeKit motion, contact and smoke sensors)
- Sensor (HomeKit humidity, temperature, co2 and light level sensors)
+- Fan
+- Air Quality
HomeKit IP accessories for these device types may work with some caveats:
diff --git a/source/_integrations/homematic.markdown b/source/_integrations/homematic.markdown
index d6f587d5211..e71eb08c60f 100644
--- a/source/_integrations/homematic.markdown
+++ b/source/_integrations/homematic.markdown
@@ -1,6 +1,6 @@
---
-title: "Homematic"
-description: "Instructions for integrating Homematic into Home Assistant."
+title: Homematic
+description: Instructions for integrating Homematic into Home Assistant.
logo: homematic.png
ha_category:
- Hub
@@ -14,6 +14,9 @@ ha_category:
- Switch
ha_iot_class: Local Push
ha_release: 0.23
+ha_codeowners:
+ - '@pvizeli'
+ - '@danielperna84'
---
The [Homematic](https://www.homematic.com/) integration provides bi-directional communication with your CCU/Homegear. It uses a XML-RPC connection to set values on devices and subscribes to receive events the devices and the CCU emit.
@@ -133,6 +136,10 @@ host:
description: IP address of CCU/Homegear device.
required: true
type: string
+port:
+ description: "Port of CCU/Homegear XML-RPC Server. Wireless: 2001, wired: 2000, IP: 2010"
+ required: false
+ type: integer
username:
description: When fetching names via JSON-RPC, you need to specify a user with guest-access to the CCU.
required: false
@@ -172,6 +179,7 @@ homematic:
hosts:
ccu2:
host: 127.0.0.1
+ port: 2001
username: Admin
password: secret
diff --git a/source/_integrations/homematicip_cloud.markdown b/source/_integrations/homematicip_cloud.markdown
index f98fb019127..18693e2ac15 100644
--- a/source/_integrations/homematicip_cloud.markdown
+++ b/source/_integrations/homematicip_cloud.markdown
@@ -1,6 +1,6 @@
---
-title: "HomematicIP Cloud"
-description: "Instructions for integrating HomematicIP into Home Assistant."
+title: HomematicIP Cloud
+description: Instructions for integrating HomematicIP into Home Assistant.
logo: homematicip_cloud.png
ha_category:
- Hub
@@ -13,6 +13,9 @@ ha_category:
- Switch
ha_iot_class: Cloud Push
ha_release: 0.66
+ha_config_flow: true
+ha_codeowners:
+ - '@SukramJ'
---
The [HomematicIP](https://www.homematic-ip.com/) integration platform is used as an interface to the cloud server. Since there is no official documentation about this API, everything was done via reverse engineering. The [homematicip-rest-api](https://github.com/coreGreenberet/homematicip-rest-api) is used for communicating. Use at your own risk.
@@ -102,6 +105,7 @@ Within this delay the device registration should be completed in the App, otherw
* Key Ring Remote Control - alarm (*HmIP-KRCA*) (battery only)
* Alarm Siren (*HmIP-ASIR, -B1*) (battery only)
* Remote Control for brand switches ā 2-button (*HmIP-BRC2*) (battery only)
+ * Pluggable Power Supply Monitoring (*HmIP-PMFS*)
* homematicip_cloud.climate
* Climate group (*HmIP-HeatingGroup*)
@@ -123,6 +127,7 @@ Within this delay the device registration should be completed in the App, otherw
* Shutter actuator for flush-mount (*HmIP-FROLL*)
* Blind Actuator for brand switches (*HmIP-BBL*)
* Blind Actuator for flush-mount (*HmIP-FBL*)
+ * Garage door module for Tormatic (*HmIP-MOD_TM*)
* homematicip_cloud.light
* Switch actuator and meter for brand switches (*HmIP-BSM*)
@@ -153,6 +158,7 @@ Within this delay the device registration should be completed in the App, otherw
* Switch Circuit Board - 1x channels (*HmIP-PCBS*)
* Switch Circuit Board - 2x channels (*HmIP-PCBS2*)
* Printed Circuit Board Switch Battery (*HmIP-PCBS-BAT*)
+ * Switch Actuator for heating systems ā 2 channels (*HmIP-WHS2*)
* homematicip_cloud.weather
* Weather Sensor ā basic (*HmIP-SWO-B*)
@@ -168,6 +174,7 @@ Within this delay the device registration should be completed in the App, otherw
- `homematicip_cloud.deactivate_vacation`: Deactivates the vacation mode immediately.
- `homematicip_cloud.set_active_climate_profile`: Set the active climate profile index.
- `homematicip_cloud.dump_hap_config`: Dump the configuration of the Homematic IP Access Point(s).
+- `homematicip_cloud.reset_energy_counter`: Reset energy counter of measuring actuators.
### Service Examples
@@ -252,6 +259,16 @@ action:
anonymize: True
```
+Reset energy counter of measuring actuators.
+
+```yaml
+...
+action:
+ service: homematicip_cloud.reset_energy_counter
+ data:
+ entity_id: switch.livingroom
+```
+
## Additional info
diff --git a/source/_integrations/homeworks.markdown b/source/_integrations/homeworks.markdown
index a7e94a4ccf5..dde96011ccf 100644
--- a/source/_integrations/homeworks.markdown
+++ b/source/_integrations/homeworks.markdown
@@ -1,6 +1,6 @@
---
-title: "Homeworks Hub"
-description: "How to use Lutron Homeworks Series 4 & 8 with Home Assistant."
+title: Lutron Homeworks
+description: How to use Lutron Homeworks Series 4 & 8 with Home Assistant.
logo: lutron.png
ha_category:
- Hub
diff --git a/source/_integrations/honeywell.markdown b/source/_integrations/honeywell.markdown
index 6dbc14e6f68..39180a40a5b 100644
--- a/source/_integrations/honeywell.markdown
+++ b/source/_integrations/honeywell.markdown
@@ -1,38 +1,20 @@
---
-title: "Honeywell Thermostat"
-description: "Instructions on how to integrate Honeywell thermostats within Home Assistant."
+title: Honeywell Total Connect Comfort (TCC)
+description: Instructions on how to integrate Honeywell thermostats within Home Assistant.
logo: honeywell.png
ha_category:
- Climate
ha_release: pre 0.7
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@zxdavb'
---
The `honeywell` climate platform integrates Home Assistant with _US-based_ [Honeywell Total Connect Comfort (TCC)](https://mytotalconnectcomfort.com/portal/) climate systems.
-It does not support the home security functionality of TCC.
+It uses the [somecomfort](https://github.com/kk7ds/somecomfort) client library. It does not support the home security functionality of TCC.
-It uses the [somecomfort](https://github.com/kk7ds/somecomfort) client library.
-
-
-
-There is some potential confusion over this integration because it was previously implemented as a combination of two _distinct_ climate systems, one being US-based, the other EU-based.
-
-These two regions are _not_ interchangeable, and the `eu` region is now deprecated. Ongoing support for such systems is available via the [evohome](/integrations/evohome/) integration.
-
-
-
-### US-based Systems
-
-These systems are based in North America, and temperatures are usually in Fahrenheit. They would likely be HVAC systems. They always use the [somecomfort](https://github.com/kk7ds/somecomfort) client library. In this integration, this is called the `us` region.
-
-If your system is US-based, then you can access your system via [https://mytotalconnectcomfort.com/portal/](https://mytotalconnectcomfort.com/portal/) (note the `/portal/`).
-
-### EU-based Systems
-
-These systems are based in Europe (including the UK & Ireland), and temperatures are usually in Celsius. They would likely be heating-only systems. They always use the [evohome-client](https://github.com/watchforstock/evohome-client) client library. In this integration, this is called the `eu` region.
-
-If your system is EU-based, then you can access it via [https://international.mytotalconnectcomfort.com/](https://international.mytotalconnectcomfort.com/) (note the `international`).
+If your system is compatible with this integration, then you will be able access your it via [https://mytotalconnectcomfort.com/portal/](https://mytotalconnectcomfort.com/portal/) (note the `/portal/`).
## Configuration
diff --git a/source/_integrations/hook.markdown b/source/_integrations/hook.markdown
index 94e046e9d91..4f840227e9e 100644
--- a/source/_integrations/hook.markdown
+++ b/source/_integrations/hook.markdown
@@ -1,6 +1,6 @@
---
-title: "Hook Switch"
-description: "Instructions on how to integrate the Hook Smart Home Hub into Home Assistant."
+title: Hook
+description: Instructions on how to integrate the Hook Smart Home Hub into Home Assistant.
logo: hook.png
ha_category:
- Switch
diff --git a/source/_integrations/horizon.markdown b/source/_integrations/horizon.markdown
index 432fb10454b..19ff8f60377 100644
--- a/source/_integrations/horizon.markdown
+++ b/source/_integrations/horizon.markdown
@@ -1,6 +1,6 @@
---
-title: "Horizon HD Recorder"
-description: "Instructions how to integrate the Unitymedia Horizon HD Recorder into Home Assistant."
+title: Unitymedia Horizon HD Recorder
+description: Instructions how to integrate the Unitymedia Horizon HD Recorder into Home Assistant.
logo: unitymedia.png
ha_category:
- Media Player
diff --git a/source/_integrations/hp_ilo.markdown b/source/_integrations/hp_ilo.markdown
index 4f2cee29ede..19d0de01fef 100644
--- a/source/_integrations/hp_ilo.markdown
+++ b/source/_integrations/hp_ilo.markdown
@@ -1,6 +1,6 @@
---
-title: "HP ILO"
-description: "How to integrate HP ILO (Integrated Lights-Out) sensors within Home Assistant."
+title: HP Integrated Lights-Out (ILO)
+description: How to integrate HP ILO (Integrated Lights-Out) sensors within Home Assistant.
logo: hewlett_packard_enterprise.png
ha_category:
- System Monitor
diff --git a/source/_integrations/html5.markdown b/source/_integrations/html5.markdown
index 97ab7cdb13d..e628ba8932d 100644
--- a/source/_integrations/html5.markdown
+++ b/source/_integrations/html5.markdown
@@ -1,10 +1,12 @@
---
-title: "Push Notifications"
-description: "Instructions on how to use the HTML5 push notifications platform from Home Assistant."
+title: HTML5 Push Notifications
+description: Instructions on how to use the HTML5 push notifications platform from Home Assistant.
logo: html5.png
ha_category:
- Notifications
ha_release: 0.27
+ha_codeowners:
+ - '@robbiet480'
---
The `html5` notification platform enables you to receive push notifications to Chrome or Firefox, no matter where you are in the world. `html5` also supports Chrome and Firefox on Android, which enables native-app-like integrations without actually needing a native app.
@@ -54,15 +56,15 @@ name:
type: string
default: notify
vapid_pub_key:
- description: The VAPID public key generated by Google (this is the key that is immediately visible under "webpush certificates").
+ description: The VAPID public key generated by Google (this is the key that is immediately visible under "webpush certificates"), [see configuring the platform](#configuring_the_platform).
required: true
type: string
vapid_prv_key:
- description: The VAPID private key generated by Google.
+ description: The VAPID private key generated by Google, [see configuring the platform](#configuring_the_platform).
required: true
type: string
vapid_email:
- description: The e-mail account associated with your Firebase project.
+ description: The e-mail account associated with your Firebase project, [see configuring the platform](#configuring_the_platform).
required: true
type: string
gcm_api_key:
@@ -80,7 +82,7 @@ gcm_sender_id:
The `html5` platform can only function if all of the following requirements are met:
* You are using Chrome and/or Firefox on any desktop platform, ChromeOS or Android.
-* Your Home Assistant instance is accessible from outside your network over HTTPS.
+* Your Home Assistant instance is accessible from outside your network over HTTPS or can perform an alternative [Domain Name Verification Method](https://support.google.com/webmasters/answer/9008080#domain_name_verification) on the domain used by Home Assistant.
* If using a proxy, HTTP basic authentication must be off for registering or unregistering for push notifications. It can be re-enabled afterwards.
* If you don't run Hass.io: `pywebpush` must be installed. `libffi-dev`, `libpython-dev` and `libssl-dev` must be installed prior to `pywebpush` (i.e. `pywebpush` probably won't automatically install).
* You have configured SSL/TLS for your Home Assistant. It doesn't need to be configured in Home Assistant though, e.g., you can be running [NGINX](/ecosystem/nginx/) in front of Home Assistant and this will still work. The certificate must be trustworthy (i.e. not self signed).
@@ -88,13 +90,13 @@ The `html5` platform can only function if all of the following requirements are
### Configuring the platform
-1. Make sure you can access your Home Assistant installation from outside your network over HTTPS ([see docs](/docs/configuration/remote/)).
-2. Create a new project at [https://console.cloud.google.com/home/dashboard](https://console.cloud.google.com/home/dashboard).
+1. Make sure you can access your Home Assistant installation from outside your network over HTTPS ([see docs](/docs/configuration/remote/)) or can perform an alternative [Domain Name Verification Method](https://support.google.com/webmasters/answer/9008080#domain_name_verification) on the domain used by Home Assistant.
+2. Create a new project at [https://console.cloud.google.com/home/dashboard](https://console.cloud.google.com/home/dashboard), this project will be imported into Firebase later (alternatively, the project can also be created during step 4).
3. Go to [https://console.cloud.google.com/apis/credentials/domainverification](https://console.cloud.google.com/apis/credentials/domainverification) and verify your domain via Google Webmaster Central / Search Console - [see below](#verify-your-domain).
4. With the domain verified, go to [https://console.firebase.google.com](https://console.firebase.google.com), select import Google project and select the project you created.
5. Then, click the cogwheel on top left and select "Project settings".
6. Select 'Cloud Messaging' tab.
-7. Generate a new key pair under the Web configuration listing at the bottom of the page. To view the private key click the three dots to the right and 'Show private key'.
+7. Generate a new key pair under the Web configuration listing at the bottom of the page. To view the private key click the three dots to the right and 'Show private key'.
### Setting up your browser
diff --git a/source/_integrations/http.markdown b/source/_integrations/http.markdown
index c92e8b0fa3c..55f4b1f0559 100644
--- a/source/_integrations/http.markdown
+++ b/source/_integrations/http.markdown
@@ -1,6 +1,6 @@
---
-title: "HTTP"
-description: "Offers a web framework to serve files."
+title: HTTP
+description: Offers a web framework to serve files.
logo: http.png
ha_category:
- Other
@@ -8,7 +8,9 @@ ha_category:
- Sensor
ha_release: pre 0.7
ha_iot_class: Local Push
-ha_qa_scale: internal
+ha_quality_scale: internal
+ha_codeowners:
+ - '@home-assistant/core'
---
The `http` integration serves all files and data required for the Home Assistant frontend. You only need to add this to your configuration file if you want to change any of the default settings.
@@ -222,9 +224,13 @@ As already shown on the [API](/developers/rest_api/) page, it's very simple to u
```python
response = requests.post(
- 'http://localhost:8123/api/states/binary_sensor.radio',
- headers={'Authorization': 'Bearer LONG_LIVED_ACCESS_TOKEN', 'content-type': 'application/json'},
- data=json.dumps({'state': 'on', 'attributes': {'friendly_name': 'Radio'}}))
+ "http://localhost:8123/api/states/binary_sensor.radio",
+ headers={
+ "Authorization": "Bearer LONG_LIVED_ACCESS_TOKEN",
+ "content-type": "application/json",
+ },
+ data=json.dumps({"state": "on", "attributes": {"friendly_name": "Radio"}}),
+)
print(response.text)
```
diff --git a/source/_integrations/htu21d.markdown b/source/_integrations/htu21d.markdown
index 2037c37b652..edc7c43e3a2 100644
--- a/source/_integrations/htu21d.markdown
+++ b/source/_integrations/htu21d.markdown
@@ -1,6 +1,6 @@
---
-title: "HTU21D Temperature and humidity sensor"
-description: "Instructions on how to integrate a HTU21D Temperature and humidity sensor into Home Assistant."
+title: HTU21D(F) Sensor
+description: Instructions on how to integrate a HTU21D Temperature and humidity sensor into Home Assistant.
logo: raspberry-pi.png
ha_category:
- DIY
diff --git a/source/_integrations/huawei_lte.markdown b/source/_integrations/huawei_lte.markdown
index 515b488d12b..2218a14c2fd 100644
--- a/source/_integrations/huawei_lte.markdown
+++ b/source/_integrations/huawei_lte.markdown
@@ -1,6 +1,6 @@
---
-title: "Huawei LTE"
-description: "Instructions on how to integrate Huawei LTE router and modem devices with Home Assistant."
+title: Huawei LTE
+description: Instructions on how to integrate Huawei LTE router and modem devices with Home Assistant.
logo: huawei.svg
ha_category:
- Network
@@ -11,6 +11,9 @@ ha_category:
- Binary Sensor
ha_release: 0.79
ha_iot_class: Local Polling
+ha_config_flow: true
+ha_codeowners:
+ - '@scop'
---
The Huawei LTE router and modem integration for Home Assistant allows you to observe and control [Huawei LTE devices](https://consumer.huawei.com/en/smart-home/).
@@ -103,13 +106,56 @@ notify:
required: false
type: map
keys:
+ name:
+ description: Name of the notification service.
+ default: "`huawei_lte`"
+ required: false
+ type: string
recipient:
description: The phone number of a default recipient or a list with multiple recipients.
required: false
type: [string, list]
{% endconfiguration %}
-### Tested devices
+## Services
+
+The following router action services are available. When invoked by a user, administrator access is required.
+
+### Service `huawei_lte.clear_traffic_statistics`
+
+Clear traffic statistics.
+
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ----------- |
+| `url` | yes, if only one router configured | Router URL. |
+
+### Service `huawei_lte.reboot`
+
+Reboot router.
+
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ----------- |
+| `url` | yes, if only one router configured | Router URL. |
+
+### Service `huawei_lte.suspend_integration`
+
+Suspend integration. Suspending logs the integration out from the router, and stops accessing it.
+Useful e.g. if accessing the router web interface from another source such as a web browser is temporarily required.
+Invoke the `huawei_lte.resume_integration` service to resume.
+
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ----------- |
+| `url` | yes, if only one router configured | Router URL. |
+
+### Service `huawei_lte.resume_integration`
+
+Resume suspended integration.
+
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ----------- |
+| `url` | yes, if only one router configured | Router URL. |
+
+## Tested devices
Devices we know to be working with this integration based on the [documentation of used libraries](https://github.com/Salamek/huawei-lte-api/#huawei-lte-api) and reports by users:
diff --git a/source/_integrations/huawei_router.markdown b/source/_integrations/huawei_router.markdown
index 6a8f012e2f3..c8aaa0ff666 100644
--- a/source/_integrations/huawei_router.markdown
+++ b/source/_integrations/huawei_router.markdown
@@ -1,10 +1,12 @@
---
-title: "Huawei Router"
-description: "Instructions on how to integrate Huawei Routers into Home Assistant."
+title: Huawei Router
+description: Instructions on how to integrate Huawei Routers into Home Assistant.
logo: huawei.svg
ha_category:
- Presence Detection
ha_release: 0.51
+ha_codeowners:
+ - '@abmantis'
---
The `huawei` device tracker platform offers presence detection by looking at connected devices to a [Huawei router](http://m.huawei.com/enmobile/enterprise/products/network/access/pon-one/hw-371813.htm).
diff --git a/source/_integrations/hue.markdown b/source/_integrations/hue.markdown
index b1e36814b1b..8a4274fe3b6 100644
--- a/source/_integrations/hue.markdown
+++ b/source/_integrations/hue.markdown
@@ -1,14 +1,17 @@
---
-title: "Philips Hue"
-description: "Instructions on setting up Philips Hue within Home Assistant."
+title: Philips Hue
+description: Instructions on setting up Philips Hue within Home Assistant.
logo: philips_hue.png
ha_category:
- Hub
- Light
ha_iot_class: Local Polling
-ha_qa_scale: platinum
featured: true
-ha_release: "0.60"
+ha_release: '0.60'
+ha_config_flow: true
+ha_quality_scale: platinum
+ha_codeowners:
+ - '@balloob'
---
Philips Hue support is integrated into Home Assistant as a hub that can drive the light and sensor platforms. The preferred way to set up the Philips Hue platform is by enabling the [discovery component](/integrations/discovery/).
diff --git a/source/_integrations/hunterdouglas_powerview.markdown b/source/_integrations/hunterdouglas_powerview.markdown
index 6a231a79af5..ec63b020743 100644
--- a/source/_integrations/hunterdouglas_powerview.markdown
+++ b/source/_integrations/hunterdouglas_powerview.markdown
@@ -1,6 +1,6 @@
---
-title: "PowerView Scenes"
-description: "Instructions on how to setup Hunter Douglas PowerView scenes within Home Assistant."
+title: Hunter Douglas PowerView
+description: Instructions on how to setup Hunter Douglas PowerView scenes within Home Assistant.
logo: hunter-douglas-powerview.png
ha_category:
- Scene
@@ -24,3 +24,15 @@ address:
required: true
type: string
{% endconfiguration %}
+
+## Example Automations
+
+``` yaml
+- alias: "blinds closed at night"
+ trigger:
+ platform: time
+ at: "18:00:00"
+ action:
+ - service: scene.turn_on
+ entity_id: scene.10877
+```
diff --git a/source/_integrations/hydrawise.markdown b/source/_integrations/hydrawise.markdown
index 58a12fcc850..034ae51ac46 100644
--- a/source/_integrations/hydrawise.markdown
+++ b/source/_integrations/hydrawise.markdown
@@ -1,6 +1,6 @@
---
-title: "Hunter Hydrawise"
-description: "Instructions on how to integrate your Hunter Hydrawise Wi-Fi irrigation control system within Home Assistant."
+title: Hunter Hydrawise
+description: Instructions on how to integrate your Hunter Hydrawise Wi-Fi irrigation control system within Home Assistant.
logo: hydrawise_logo.png
ha_category:
- Irrigation
diff --git a/source/_integrations/hyperion.markdown b/source/_integrations/hyperion.markdown
index 1d6424fdfe0..2d9af3443b5 100644
--- a/source/_integrations/hyperion.markdown
+++ b/source/_integrations/hyperion.markdown
@@ -1,6 +1,6 @@
---
-title: "Hyperion"
-description: "Instructions on how to integrate Hyperion into Home Assistant."
+title: Hyperion
+description: Instructions on how to integrate Hyperion into Home Assistant.
logo: hyperion.png
ha_category:
- Light
diff --git a/source/_integrations/ialarm.markdown b/source/_integrations/ialarm.markdown
index 91a194f674e..83f2db4613c 100644
--- a/source/_integrations/ialarm.markdown
+++ b/source/_integrations/ialarm.markdown
@@ -1,10 +1,10 @@
---
-title: "Antifurto365 iAlarm Control Panel"
-description: "Instructions on how to integrate iAlarms alarms into Home Assistant."
+title: Antifurto365 iAlarm
+description: Instructions on how to integrate iAlarms alarms into Home Assistant.
logo: antifurto365-ialarm.png
ha_category:
- Alarm
-ha_release: "0.60"
+ha_release: '0.60'
---
The `ialarm` platform provides connectivity with the [Antifurto365](https://www.antifurtocasa365.it/) iAlarm alarm systems.
diff --git a/source/_integrations/iaqualink.markdown b/source/_integrations/iaqualink.markdown
index 22c2c062077..30a8411515d 100644
--- a/source/_integrations/iaqualink.markdown
+++ b/source/_integrations/iaqualink.markdown
@@ -1,6 +1,6 @@
---
-title: "Jandy iAqualink"
-description: "Instructions on how to configure Jandy iAqualink integration."
+title: Jandy iAqualink
+description: Instructions on how to configure Jandy iAqualink integration.
logo: iaqualink.png
ha_category:
- Binary Sensor
@@ -10,6 +10,9 @@ ha_category:
- Switch
ha_release: 0.99
ha_iot_class: Cloud Polling
+ha_config_flow: true
+ha_codeowners:
+ - '@flz'
---
[iAqualink](https://www.iaqualink.com/) by [Jandy](https://www.jandy.com/) allows you to control your pool anytime, anywhere.
diff --git a/source/_integrations/icloud.markdown b/source/_integrations/icloud.markdown
index d70e5aa4a1d..a86cf660f28 100644
--- a/source/_integrations/icloud.markdown
+++ b/source/_integrations/icloud.markdown
@@ -1,70 +1,121 @@
---
-title: "iCloud"
-description: "Instructions on how to use iCloud to track devices in Home Assistant."
+title: Apple iCloud
+description: Instructions on how to use iCloud to track devices in Home Assistant.
logo: icloud.png
ha_category:
- Presence Detection
-ha_release: "0.10"
+ - Sensor
+ha_iot_class: Cloud Polling
+ha_release: '0.10'
+ha_config_flow: true
---
+The `icloud` integration allows you to detect presence using the [iCloud](https://www.icloud.com/) service. iCloud allows users to track their location on iOS devices.
-The `icloud` platform allows you to detect presence using the [iCloud](https://www.icloud.com/) service. iCloud allows users to track their location on iOS devices.
+There is currently support for the following platforms within Home Assistant:
-It does require that your device is registered with "Find My iPhone".
+- [Device Tracker](#device-tracker)
+- [Sensor](#sensor)
-To integrate iCloud in Home Assistant, add the following section to your `configuration.yaml` file:
+It does require that your devices are registered with the [Find My](https://www.apple.com/uk/icloud/find-my/) service.
+
+## Setup the integration
+
+There is two ways to integrate iCloud in Home Assistant
+
+### Via the frontend
+
+Menu: *Configuration* -> *Integrations*. Search for "iCloud", add your credentials, click submit.
+
+If you add the integration for the first time for an account:
+1. Choose a trusted device from the list and submit.
+2. It will send you a text message on your trusted device, add the received code to the next form and submit (if you missed the right code, you will be back to the previous step, and retry).
+3. You are done!
+
+If you already added the integration before, you are done!
+
+### Via the configuration file
+
+Add the following section to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
-device_tracker:
- - platform: icloud
- username: USERNAME
+icloud:
+ - username: USERNAME
password: PASSWORD
- account_name: accountname
```
{% configuration %}
username:
- description: The username for the iCloud account.
+ description: Your iCloud account email.
required: true
type: string
password:
- description: The password for your given username.
+ description: Your iCloud account password.
required: true
type: string
account_name:
- description: The friendly name for the account_name. If this isn't given, it will use the account_name of the username (so the part before the `@` in the email address).
+ description: A friendly name for your iCloud account. If this isn't given, it will use the part before the `@` of the username.
required: false
type: string
max_interval:
- description: Maximum interval in minutes between subsequent location upates. This tracker uses dynamic intervals for requesting location updates. When iphone is stationary, interval will eventually be set to `max_interval` to save battery. When iphone starts moving again interval will be dynamically updated to 1 min. Note that updating interval to 1 min might be delayed by maximum `max_interval` minutes. Minimum value is 1 min.
+ description: Maximum interval in minutes between subsequent location updates. This tracker uses dynamic intervals for requesting location updates. When the iPhone is stationary, the interval will eventually be set to `max_interval` to save battery. When the iPhone starts moving again, the interval will be dynamically updated to 1 min. Note that updating interval to 1 min might be delayed by maximum `max_interval` minutes. Minimum value is 1 min.
required: false
default: 30
type: integer
gps_accuracy_threshold:
- description: iCloud location updates come with some gps_accuracy varying from 10 to 5000 meters. This setting defines the accuracy threshold in meters for a location update. Less accurate updates will be discarded by this tracker. This allows more precise location monitoring and fewer false positive zone changes.
+ description: iCloud location updates come with some gps_accuracy varying from 10 to 5000 meters. This setting defines the accuracy threshold in meters for a location update. Less accurate updates will be discarded by this tracker. This allows for more precise location monitoring and fewer false-positive zone changes.
required: false
- default: 1000
+ default: 500
type: integer
{% endconfiguration %}
-
Low `max_interval` may cause battery drainage as it wakes up your device to get the current location.
-
-You may receive an email from Apple stating that someone has logged into your account.
+You may receive an email and a notification from Apple saying that someone has logged into your account.
+
+For the notification, press "Allow", then "OK".
-This feature is not designed to transfer your Home Assistant to a security system, neither Home Assistant nor Nest be liable to You for damages,
+This feature is not designed to transform your Home Assistant into a security system, neither Home Assistant nor Nest be liable to You for damages,
or consequential damages of any character arising as a result of use this feature.
This feature does not depend on the [Nest Secure alarm system](https://nest.com/alarm-system/overview/) and is not a reflection of the status of that system,
diff --git a/source/_integrations/netatmo.markdown b/source/_integrations/netatmo.markdown
index 5e4b34ffed7..b27e8d680a5 100644
--- a/source/_integrations/netatmo.markdown
+++ b/source/_integrations/netatmo.markdown
@@ -1,6 +1,6 @@
---
-title: "Netatmo"
-description: "Instructions on how to integrate Netatmo integration into Home Assistant."
+title: Netatmo
+description: Instructions on how to integrate Netatmo integration into Home Assistant.
logo: netatmo.png
ha_category:
- Hub
@@ -10,7 +10,7 @@ ha_category:
- Sensor
- Climate
- Camera
-ha_release: "0.20"
+ha_release: '0.20'
ha_iot_class: Cloud Polling
---
diff --git a/source/_integrations/netdata.markdown b/source/_integrations/netdata.markdown
index 20136cdcb33..ae746df86d8 100644
--- a/source/_integrations/netdata.markdown
+++ b/source/_integrations/netdata.markdown
@@ -1,11 +1,13 @@
---
-title: "Netdata"
-description: "Instructions on how to integrate Netdata within Home Assistant."
+title: Netdata
+description: Instructions on how to integrate Netdata within Home Assistant.
logo: netdata.png
ha_category:
- System Monitor
ha_release: 0.35
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@fabaff'
---
The `netdata` sensor platform allows you to display information collected by [Netdata](https://my-netdata.io/).
diff --git a/source/_integrations/netgear.markdown b/source/_integrations/netgear.markdown
index bae63c3fda0..5638dc9c27e 100644
--- a/source/_integrations/netgear.markdown
+++ b/source/_integrations/netgear.markdown
@@ -1,6 +1,6 @@
---
-title: "Netgear"
-description: "Instructions on how to integrate Netgear routers into Home Assistant."
+title: Netgear
+description: Instructions on how to integrate Netgear routers into Home Assistant.
logo: netgear.png
ha_category:
- Presence Detection
diff --git a/source/_integrations/netgear_lte.markdown b/source/_integrations/netgear_lte.markdown
index 65351a5ef47..985bccd573b 100644
--- a/source/_integrations/netgear_lte.markdown
+++ b/source/_integrations/netgear_lte.markdown
@@ -1,6 +1,6 @@
---
-title: "Netgear LTE"
-description: "Instructions on how to integrate your Netgear LTE modem within Home Assistant."
+title: Netgear LTE
+description: Instructions on how to integrate your Netgear LTE modem within Home Assistant.
logo: netgear.png
ha_release: 0.72
ha_category:
@@ -71,7 +71,7 @@ notify:
name:
description: The name of the notification service.
required: false
- default: notify
+ default: "`netgear_lte`"
type: string
sensor:
description: Configuration options for sensors.
diff --git a/source/_integrations/netio.markdown b/source/_integrations/netio.markdown
index 72a54a80a1b..713c58a427b 100644
--- a/source/_integrations/netio.markdown
+++ b/source/_integrations/netio.markdown
@@ -1,6 +1,6 @@
---
-title: "Netio Switch"
-description: "Instructions on how to integrate Netio switches into Home Assistant."
+title: Netio
+description: Instructions on how to integrate Netio switches into Home Assistant.
logo: netio.png
ha_category:
- Switch
diff --git a/source/_integrations/neurio_energy.markdown b/source/_integrations/neurio_energy.markdown
index 81bd24b41f9..5787bad8502 100644
--- a/source/_integrations/neurio_energy.markdown
+++ b/source/_integrations/neurio_energy.markdown
@@ -1,6 +1,6 @@
---
-title: "Neurio"
-description: "Instructions on how to integrate Neurio within Home Assistant."
+title: Neurio energy
+description: Instructions on how to integrate Neurio within Home Assistant.
logo: neurio.png
ha_category:
- Energy
diff --git a/source/_integrations/nextbus.markdown b/source/_integrations/nextbus.markdown
index 346ced63780..b566cc6432b 100644
--- a/source/_integrations/nextbus.markdown
+++ b/source/_integrations/nextbus.markdown
@@ -1,12 +1,14 @@
---
-title: "Public Transit (Nextbus)"
-description: "Instructions on how to use public transit data from Nextbus in Home Assistant."
+title: NextBus
+description: Instructions on how to use public transit data from Nextbus in Home Assistant.
logo: train.png
ha_category:
- Transport
- Sensor
ha_iot_class: Local Polling
ha_release: 0.93
+ha_codeowners:
+ - '@vividboarder'
---
The `nextbus` sensor will give you the next departure time and associated data from your public transit station/stop. The data comes from [NextBus](https://www.nextbus.com), which provides real time transit data for a number of transit authorities.
diff --git a/source/_integrations/nfandroidtv.markdown b/source/_integrations/nfandroidtv.markdown
index fb9f86afae6..3fc9ccd81b3 100644
--- a/source/_integrations/nfandroidtv.markdown
+++ b/source/_integrations/nfandroidtv.markdown
@@ -1,6 +1,6 @@
---
-title: "Notifications for Android TV / FireTV"
-description: "Notifications for Android TV / FireTV"
+title: Notifications for Android TV / FireTV
+description: Notifications for Android TV / FireTV
logo: nfandroidtv.png
ha_category:
- Notifications
diff --git a/source/_integrations/niko_home_control.markdown b/source/_integrations/niko_home_control.markdown
index ae7da8e3856..27d34f039ce 100644
--- a/source/_integrations/niko_home_control.markdown
+++ b/source/_integrations/niko_home_control.markdown
@@ -1,6 +1,6 @@
---
-title: "Niko Home Control Light"
-description: "Instructions on how to integrate Niko Home Control lights into Home Assistant."
+title: Niko Home Control
+description: Instructions on how to integrate Niko Home Control lights into Home Assistant.
logo: niko.png
ha_category:
- Light
diff --git a/source/_integrations/nilu.markdown b/source/_integrations/nilu.markdown
index 0cac8b53b6b..f93dbb238df 100644
--- a/source/_integrations/nilu.markdown
+++ b/source/_integrations/nilu.markdown
@@ -1,11 +1,13 @@
---
-title: "Norwegian Institute for Air Research"
-description: "Instructions on how to integrate air pollution data from NILU within Home Assistant."
+title: Norwegian Institute for Air Research (NILU)
+description: Instructions on how to integrate air pollution data from NILU within Home Assistant.
logo: nilu_logo.png
ha_category:
- Health
ha_iot_class: Cloud Polling
ha_release: 0.87
+ha_codeowners:
+ - '@hfurubotten'
---
The `nilu` air quality platform shows measurements of current air quality from NILU (Norsk Institutt for luftforskning/Norwegian Institute for Air Research) sensor stations within Norway. Makes data from the open API at [luftkvalitet.info](http://luftkvalitet.info/) and [nilu.no](https://nilu.no/) available in Home Assistant.
diff --git a/source/_integrations/nissan_leaf.markdown b/source/_integrations/nissan_leaf.markdown
index 0420bee71d5..17570ddd14f 100644
--- a/source/_integrations/nissan_leaf.markdown
+++ b/source/_integrations/nissan_leaf.markdown
@@ -1,11 +1,13 @@
---
-title: "Nissan Leaf"
-description: "Instructions for how to integrate Nissan Leaf(s) into Home Assistant."
+title: Nissan Leaf
+description: Instructions for how to integrate Nissan Leaf(s) into Home Assistant.
logo: nissan.png
ha_category:
- Car
ha_release: 0.89
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@filcole'
---
The `nissan_leaf` integration offers integration with the [NissanConnect EV](https://youplus.nissan.co.uk/GB/en/YouPlus/ConnectedServices.html) cloud service. NissanConnect EV was previously known as Nissan Carwings. It offers:
diff --git a/source/_integrations/nmap_tracker.markdown b/source/_integrations/nmap_tracker.markdown
index e64fa16bea9..eebd1789949 100644
--- a/source/_integrations/nmap_tracker.markdown
+++ b/source/_integrations/nmap_tracker.markdown
@@ -1,13 +1,12 @@
---
-title: "Nmap"
-description: "Instructions on how to integrate Nmap into Home Assistant."
+title: Nmap Tracker
+description: Instructions on how to integrate Nmap into Home Assistant.
logo: nmap.png
ha_category:
- Presence Detection
ha_release: 0.7
---
-
As an alternative to the router-based device tracking, it is possible to directly scan the network for devices by using Nmap. The IP addresses to scan can be specified in any format that Nmap understands, including the network-prefix notation (`192.168.1.1/24`) and the range notation (`192.168.1.1-255`).
diff --git a/source/_integrations/nmbs.markdown b/source/_integrations/nmbs.markdown
index 0b3deed7e59..44bd236d168 100644
--- a/source/_integrations/nmbs.markdown
+++ b/source/_integrations/nmbs.markdown
@@ -1,11 +1,13 @@
---
-title: "NMBS Sensor"
-description: "Instructions on how to integrate timetable data for traveling on the NMBS Belgian Railway within Home Assistant."
+title: NMBS
+description: Instructions on how to integrate timetable data for traveling on the NMBS Belgian Railway within Home Assistant.
logo: sncb_nmbs.gif
ha_category:
- Transport
ha_iot_class: Cloud Polling
ha_release: 0.85
+ha_codeowners:
+ - '@thibmaek'
---
The `nmbs` platform will create sensors for monitoring travel time and information between 2 stations.
diff --git a/source/_integrations/no_ip.markdown b/source/_integrations/no_ip.markdown
index 61a4f50d6e3..249e6c0d81b 100644
--- a/source/_integrations/no_ip.markdown
+++ b/source/_integrations/no_ip.markdown
@@ -1,10 +1,12 @@
---
-title: "NO-IP.com"
-description: "Keep your computer registered with the NO-IP.com dynamic DNS."
+title: No-IP.com
+description: Keep your computer registered with the NO-IP.com dynamic DNS.
logo: noip.png
ha_category:
- Network
ha_release: 0.57
+ha_codeowners:
+ - '@fabaff'
---
With the `no_ip` integration you can keep your current IP address in sync with your [NO-IP.com](https://www.noip.com) hostname or domain.
diff --git a/source/_integrations/noaa_tides.markdown b/source/_integrations/noaa_tides.markdown
index c9b84792a0c..c52b1f783bc 100644
--- a/source/_integrations/noaa_tides.markdown
+++ b/source/_integrations/noaa_tides.markdown
@@ -1,6 +1,6 @@
---
-title: "NOAA Tides"
-description: "Instructions to add NOAA Tide information to Home Assistant."
+title: NOAA Tides
+description: Instructions to add NOAA Tide information to Home Assistant.
ha_category:
- Environment
ha_release: 0.75
diff --git a/source/_integrations/norway_air.markdown b/source/_integrations/norway_air.markdown
index babf6ddca85..e2fe99deaf2 100644
--- a/source/_integrations/norway_air.markdown
+++ b/source/_integrations/norway_air.markdown
@@ -1,6 +1,6 @@
---
-title: "Norway Air Quality"
-description: "Display the current status of Norway air quality."
+title: Om Luftkvalitet i Norge (Norway Air)
+description: Display the current status of Norway air quality.
logo: metno.png
ha_category:
- Health
diff --git a/source/_integrations/notify.group.markdown b/source/_integrations/notify.group.markdown
index 2efe7347988..818118ee923 100644
--- a/source/_integrations/notify.group.markdown
+++ b/source/_integrations/notify.group.markdown
@@ -5,7 +5,7 @@ logo: home-assistant.png
ha_category:
- Notifications
ha_release: 0.26
-ha_qa_scale: internal
+ha_quality_scale: internal
---
The `group` notification platform allows you to combine multiple `notify` platforms into a single service.
diff --git a/source/_integrations/notify.markdown b/source/_integrations/notify.markdown
index 6e02706c414..a698217140f 100644
--- a/source/_integrations/notify.markdown
+++ b/source/_integrations/notify.markdown
@@ -1,11 +1,13 @@
---
-title: "Notifications"
-description: "Instructions on how to add user notifications to Home Assistant."
+title: Notifications
+description: Instructions on how to add user notifications to Home Assistant.
logo: home-assistant.png
ha_category:
- Notifications
-ha_qa_scale: internal
ha_release: 0.7
+ha_quality_scale: internal
+ha_codeowners:
+ - '@home-assistant/core'
---
The `notify` integration makes it possible to send notifications to a wide variety of platforms. To use it you have to setup at least one notification target (notifier), check the [integrations list](/integrations/#notifications) for one that fits your use case.
diff --git a/source/_integrations/notion.markdown b/source/_integrations/notion.markdown
index 20c601549d2..10e7bf5b8ac 100644
--- a/source/_integrations/notion.markdown
+++ b/source/_integrations/notion.markdown
@@ -1,6 +1,6 @@
---
-title: "Notion"
-description: "How to integrate Notion kits within Home Assistant."
+title: Notion
+description: How to integrate Notion kits within Home Assistant.
logo: notion.png
ha_category:
- Hub
@@ -8,6 +8,9 @@ ha_category:
- Sensor
ha_release: 0.96
ha_iot_class: Cloud Polling
+ha_config_flow: true
+ha_codeowners:
+ - '@bachya'
---
The `Notion` component retrieves data from [Notion](https://getnotion.com) wireless
diff --git a/source/_integrations/nsw_fuel_station.markdown b/source/_integrations/nsw_fuel_station.markdown
index 86566884e60..187e32b5bf8 100644
--- a/source/_integrations/nsw_fuel_station.markdown
+++ b/source/_integrations/nsw_fuel_station.markdown
@@ -1,11 +1,13 @@
---
-title: "NSW Fuel Station Price Sensor"
-description: "Instructions on how to integrate NSW fuel station prices into Home Assistant."
+title: NSW Fuel Station Price
+description: Instructions on how to integrate NSW fuel station prices into Home Assistant.
logo: fuelcheck.png
ha_category:
- Car
ha_release: 0.72
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@nickw444'
---
The `nsw_fuel_station` sensor platform uses the [NSW Fuel Check App](https://www.fuelcheck.nsw.gov.au/app) data as a source for current fuel price data.
diff --git a/source/_integrations/nsw_rural_fire_service_feed.markdown b/source/_integrations/nsw_rural_fire_service_feed.markdown
index bed72250c05..3cb81cea930 100644
--- a/source/_integrations/nsw_rural_fire_service_feed.markdown
+++ b/source/_integrations/nsw_rural_fire_service_feed.markdown
@@ -1,11 +1,13 @@
---
-title: "NSW Rural Fire Service Incidents"
-description: "Instructions on how to integrate the NSW Rural Fire Service Incidents feed into Home Assistant."
+title: NSW Rural Fire Service Incidents
+description: Instructions on how to integrate the NSW Rural Fire Service Incidents feed into Home Assistant.
logo: nsw-rural-fire-service.png
ha_category:
- Geolocation
ha_iot_class: Cloud Polling
ha_release: 0.81
+ha_codeowners:
+ - '@exxamalte'
---
The `nsw_rural_fire_service_feed` platform lets you integrate a GeoJSON feed provided by the [NSW Rural Fire Service](https://www.rfs.nsw.gov.au/fire-information/fires-near-me) with information about bush fires, grass fires, hazard reductions and more. It retrieves incidents from a feed and shows information of those incidents filtered by distance to Home Assistant's location.
diff --git a/source/_integrations/nuheat.markdown b/source/_integrations/nuheat.markdown
index 14659359816..1264d9d500d 100644
--- a/source/_integrations/nuheat.markdown
+++ b/source/_integrations/nuheat.markdown
@@ -1,6 +1,6 @@
---
-title: "NuHeat"
-description: "Instructions on how to integrate your NuHeat Signature thermostats within Home Assistant."
+title: NuHeat
+description: Instructions on how to integrate your NuHeat Signature thermostats within Home Assistant.
logo: nuheat.png
ha_category:
- Climate
diff --git a/source/_integrations/nuimo_controller.markdown b/source/_integrations/nuimo_controller.markdown
index 0f808c1fab5..5e61ab57a3f 100644
--- a/source/_integrations/nuimo_controller.markdown
+++ b/source/_integrations/nuimo_controller.markdown
@@ -1,6 +1,6 @@
---
-title: "Nuimo controller"
-description: "Instructions on how to setup and use a Nuimo device in Home Assistant."
+title: Nuimo controller
+description: Instructions on how to setup and use a Nuimo device in Home Assistant.
logo: nuimo.png
ha_category:
- Hub
diff --git a/source/_integrations/nuki.markdown b/source/_integrations/nuki.markdown
index 30706cfe422..b032b57b6b1 100644
--- a/source/_integrations/nuki.markdown
+++ b/source/_integrations/nuki.markdown
@@ -1,11 +1,13 @@
---
-title: "Nuki Smart Lock"
-description: "Instructions on how to integrate a Nuki Smart Lock devices."
+title: Nuki
+description: Instructions on how to integrate a Nuki Smart Lock devices.
logo: nuki.png
ha_category:
- Lock
ha_release: 0.38
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@pvizeli'
---
The `nuki` platform allows you to control [Nuki Smart Locks](https://nuki.io/en/smart-lock/) via either a [software bridge](https://play.google.com/store/apps/details?id=io.nuki.bridge) or a [physical bridge](https://nuki.io/en/bridge/).
diff --git a/source/_integrations/nut.markdown b/source/_integrations/nut.markdown
index 7b7dad1e9f9..bfe35115ddc 100644
--- a/source/_integrations/nut.markdown
+++ b/source/_integrations/nut.markdown
@@ -1,6 +1,6 @@
---
-title: NUT Sensor
-description: "Instructions on how to set up NUT sensors within Home Assistant."
+title: Network UPS Tools (NUT)
+description: Instructions on how to set up NUT sensors within Home Assistant.
logo: nut.png
ha_category:
- System Monitor
diff --git a/source/_integrations/nws.markdown b/source/_integrations/nws.markdown
index bf4c8dc200f..dce83748050 100644
--- a/source/_integrations/nws.markdown
+++ b/source/_integrations/nws.markdown
@@ -1,10 +1,12 @@
---
-title: "NWS"
-description: "Instructions on how to integrate National Weather Service data within Home Assistant."
+title: National Weather Service (NWS)
+description: Instructions on how to integrate National Weather Service data within Home Assistant.
logo: nws.png
ha_category: Weather
ha_release: 0.99
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@MatthewFlamm'
---
The `nws` platform uses the [National Weather Service](https://www.weather.gov) web API as a source for meteorological data for your location.
diff --git a/source/_integrations/nx584.markdown b/source/_integrations/nx584.markdown
index d35c93faac0..f7a30d8de03 100644
--- a/source/_integrations/nx584.markdown
+++ b/source/_integrations/nx584.markdown
@@ -1,6 +1,6 @@
---
-title: "NX584 Alarm Control Panel"
-description: "Instructions on how to integrate NX584 into Home Assistant."
+title: NX584
+description: Instructions on how to integrate NX584 into Home Assistant.
logo: networx.png
ha_category:
- Alarm
@@ -107,4 +107,4 @@ binary_sensor:
2: opening
4: motion
6: moisture
-```
\ No newline at end of file
+```
diff --git a/source/_integrations/nzbget.markdown b/source/_integrations/nzbget.markdown
index 621c9967246..73227fcca4f 100644
--- a/source/_integrations/nzbget.markdown
+++ b/source/_integrations/nzbget.markdown
@@ -1,11 +1,13 @@
---
-title: "NZBGet"
-description: "Instructions on how to integrate NZBGet within Home Assistant."
+title: NZBGet
+description: Instructions on how to integrate NZBGet within Home Assistant.
ha_category:
- Downloading
logo: nzbget.png
ha_iot_class: Local Polling
ha_release: 0.17
+ha_codeowners:
+ - '@chriscla'
---
The `nzbget` platform will allow you to monitor and control your downloads with [NZBGet](https://nzbget.net/) from within Home Assistant and setup automation based on the information.
diff --git a/source/_integrations/oasa_telematics.markdown b/source/_integrations/oasa_telematics.markdown
index c761c32c005..c196a43cf11 100644
--- a/source/_integrations/oasa_telematics.markdown
+++ b/source/_integrations/oasa_telematics.markdown
@@ -1,6 +1,6 @@
---
-title: "OASA Telematics"
-description: "Instructions on how to integrate bus and trolley arrival data for Greek OASA Telematics within Home Assistant."
+title: OASA Telematics
+description: Instructions on how to integrate bus and trolley arrival data for Greek OASA Telematics within Home Assistant.
logo: oasa.png
ha_category:
- Transport
diff --git a/source/_integrations/obihai.markdown b/source/_integrations/obihai.markdown
index a96b92f0b43..5ce241dac60 100644
--- a/source/_integrations/obihai.markdown
+++ b/source/_integrations/obihai.markdown
@@ -1,11 +1,13 @@
---
-title: "Obihai"
-description: "Instructions on how to integrate your Obihai device into Home Assistant."
+title: Obihai
+description: Instructions on how to integrate your Obihai device into Home Assistant.
logo: obitalk.png
ha_iot_class: Local Polling
ha_category:
- Sensor
ha_release: 0.99
+ha_codeowners:
+ - '@dshokouhi'
---
The `obihai` integration allows you to view the call status for your [Obihai devices](https://www.obitalk.com/info/products#home_section).
diff --git a/source/_integrations/octoprint.markdown b/source/_integrations/octoprint.markdown
index a3b3caf7c02..1e02df05718 100644
--- a/source/_integrations/octoprint.markdown
+++ b/source/_integrations/octoprint.markdown
@@ -1,6 +1,6 @@
---
-title: "OctoPrint"
-description: "Instructions on how to setup the OctoPrint in Home Assistant."
+title: OctoPrint
+description: Instructions on how to setup the OctoPrint in Home Assistant.
logo: octoprint.png
ha_category:
- Hub
diff --git a/source/_integrations/oem.markdown b/source/_integrations/oem.markdown
index 8aca1602c56..0ea4552f154 100644
--- a/source/_integrations/oem.markdown
+++ b/source/_integrations/oem.markdown
@@ -1,6 +1,6 @@
---
-title: "OpenEnergyMonitor WiFi Thermostat"
-description: "Instructions on how to integrate an OpenEnergyMonitor thermostat with Home Assistant."
+title: OpenEnergyMonitor WiFi Thermostat
+description: Instructions on how to integrate an OpenEnergyMonitor thermostat with Home Assistant.
logo: oem.png
ha_category:
- Climate
diff --git a/source/_integrations/ohmconnect.markdown b/source/_integrations/ohmconnect.markdown
index e01018a682b..49318b7cc66 100644
--- a/source/_integrations/ohmconnect.markdown
+++ b/source/_integrations/ohmconnect.markdown
@@ -1,11 +1,13 @@
---
-title: "OhmConnect"
-description: "Documentation about the OhmConnect sensor."
-logo: "ohmconnect.png"
+title: OhmConnect
+description: Documentation about the OhmConnect sensor.
+logo: ohmconnect.png
ha_category:
- Energy
ha_iot_class: Cloud Polling
ha_release: 0.26
+ha_codeowners:
+ - '@robbiet480'
---
The `ohmconnect` sensor will show you the current [OhmConnect](https://www.ohmconnect.com/) status for the given OhmConnect ID.
diff --git a/source/_integrations/ombi.markdown b/source/_integrations/ombi.markdown
index 41d7e9a31fd..97e8dc7c888 100644
--- a/source/_integrations/ombi.markdown
+++ b/source/_integrations/ombi.markdown
@@ -1,11 +1,13 @@
---
-title: "Ombi"
-description: "Instructions on how to set up the Ombi integration in Home Assistant."
+title: Ombi
+description: Instructions on how to set up the Ombi integration in Home Assistant.
logo: ombi.png
ha_category:
- Sensor
-ha_release: "0.100"
+ha_release: '0.100'
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@larssont'
---
The `Ombi` integration monitors data from your [Ombi](https://ombi.io) instance.
diff --git a/source/_integrations/onboarding.markdown b/source/_integrations/onboarding.markdown
index 6bbc0ba483a..0b388c10b1f 100644
--- a/source/_integrations/onboarding.markdown
+++ b/source/_integrations/onboarding.markdown
@@ -1,11 +1,13 @@
---
-title: "Onboarding"
-description: "This integration is responsible for providing the onboarding endpoints."
+title: Home Assistant Onboarding
+description: This integration is responsible for providing the onboarding endpoints.
logo: home-assistant.png
ha_category:
- Other
ha_release: 0.73
-ha_qa_scale: internal
+ha_quality_scale: internal
+ha_codeowners:
+ - '@home-assistant/core'
---
This integration creates the endpoints for the onboarding that is built into Home Assistant. There are no configuration options for this integration directly.
diff --git a/source/_integrations/onewire.markdown b/source/_integrations/onewire.markdown
index c2d1d1e3e5f..7e410160910 100644
--- a/source/_integrations/onewire.markdown
+++ b/source/_integrations/onewire.markdown
@@ -1,6 +1,6 @@
---
-title: "One wire Sensor"
-description: "Instructions on how to integrate One wire (1-wire) sensors into Home Assistant."
+title: 1-Wire
+description: Instructions on how to integrate One wire (1-wire) sensors into Home Assistant.
logo: onewire.png
ha_category:
- DIY
@@ -33,6 +33,10 @@ To edit `/boot/config.txt` on Hass.io use [this documentation](https://developer
When an interface adapter is used, sensors can be accessed on Linux hosts via [owfs 1-Wire file system](https://owfs.org/). When using an interface adapter and the owfs, the `mount_dir` option must be configured to correspond a directory, where owfs device tree has been mounted.
+### owserver
+
+When an interface adapter is used, you can also access sensors on a remote or local Linux host that is running owserver. owserver by default runs on port 4304. Use the `host` option to specify the host or IP of the remote server, and the optional `port` option to change the port from the default.
+
### Units with multiple sensors
This platform works with devices with multiple sensors which will cause a discontinuity in recorded values. Existing devices will receive a new ID and therefore show up as new devices.
@@ -72,6 +76,15 @@ mount_dir:
description: Location of device tree if owfs driver used.
required: false
type: string
+host:
+ description: Remote or local host running owserver.
+ required: false
+ type: string
+port:
+ description: "The port number of the owserver (requires `host`)."
+ required: false
+ type: integer
+ default: 4304
{% endconfiguration %}
### Configuration Example
diff --git a/source/_integrations/onkyo.markdown b/source/_integrations/onkyo.markdown
index 18ff6e598cf..7f5d4d87459 100644
--- a/source/_integrations/onkyo.markdown
+++ b/source/_integrations/onkyo.markdown
@@ -1,6 +1,6 @@
---
-title: "Onkyo"
-description: "Instructions on how to integrate Onkyo and some Pioneer receivers into Home Assistant."
+title: Onkyo
+description: Instructions on how to integrate Onkyo and some Pioneer receivers into Home Assistant.
logo: onkyo.png
ha_category:
- Media Player
@@ -82,6 +82,12 @@ List of source names:
- xm
- sirius
+If your source is not listed above, and you want to figure out how to format that source name so you can map its entry, you can use the `onkyo-eiscp` Python module to discover the exact naming needed. First, change your receiver's source to the one that you need to define, and then run:
+
+```bash
+onkyo --host 192.168.0.100 source=query
+```
+
To find your receivers max volume use the onkyo-eiscp python module set the receiver to its maximum volume
(don't do this whilst playing something!) and run:
diff --git a/source/_integrations/onvif.markdown b/source/_integrations/onvif.markdown
index a4296f29070..337684ca5aa 100644
--- a/source/_integrations/onvif.markdown
+++ b/source/_integrations/onvif.markdown
@@ -1,6 +1,6 @@
---
-title: "ONVIF Camera"
-description: "Instructions on how to integrate a ONVIF camera within Home Assistant."
+title: ONVIF
+description: Instructions on how to integrate a ONVIF camera within Home Assistant.
logo: onvif.png
ha_category:
- Camera
diff --git a/source/_integrations/openalpr_cloud.markdown b/source/_integrations/openalpr_cloud.markdown
index 9ff8b1d2c5d..cea6dd46ff2 100644
--- a/source/_integrations/openalpr_cloud.markdown
+++ b/source/_integrations/openalpr_cloud.markdown
@@ -1,6 +1,6 @@
---
-title: "OpenALPR Cloud"
-description: "Instructions on how to integrate licences plates with OpenALPR cloud into Home Assistant."
+title: OpenALPR Cloud
+description: Instructions on how to integrate licences plates with OpenALPR cloud into Home Assistant.
logo: openalpr.png
ha_category:
- Image Processing
diff --git a/source/_integrations/openalpr_local.markdown b/source/_integrations/openalpr_local.markdown
index ece346d59ff..39d02fc2182 100644
--- a/source/_integrations/openalpr_local.markdown
+++ b/source/_integrations/openalpr_local.markdown
@@ -1,6 +1,6 @@
---
-title: "OpenALPR Local"
-description: "Instructions on how to integrate licences plates with OpenALPR local into Home Assistant."
+title: OpenALPR Local
+description: Instructions on how to integrate licences plates with OpenALPR local into Home Assistant.
logo: openalpr.png
ha_category:
- Image Processing
diff --git a/source/_integrations/opencv.markdown b/source/_integrations/opencv.markdown
index 8cff1ca6c88..b234fd2a2b1 100644
--- a/source/_integrations/opencv.markdown
+++ b/source/_integrations/opencv.markdown
@@ -1,6 +1,6 @@
---
-title: "OpenCV"
-description: "Instructions on how to integrate OpenCV image processing into Home Assistant."
+title: OpenCV
+description: Instructions on how to integrate OpenCV image processing into Home Assistant.
logo: opencv.png
ha_category:
- Image Processing
diff --git a/source/_integrations/openevse.markdown b/source/_integrations/openevse.markdown
index f84a21c0de1..db05ed5297c 100644
--- a/source/_integrations/openevse.markdown
+++ b/source/_integrations/openevse.markdown
@@ -1,6 +1,6 @@
---
-title: "OpenEVSE Sensor"
-description: "Instructions on how to integrate a WiFi-equipped OpenEVSE Charging station with Home Assistant"
+title: OpenEVSE
+description: Instructions on how to integrate a WiFi-equipped OpenEVSE Charging station with Home Assistant
logo: openevse.png
ha_category:
- Car
diff --git a/source/_integrations/openexchangerates.markdown b/source/_integrations/openexchangerates.markdown
index db5b2dd0ab4..8f9d67f5d28 100644
--- a/source/_integrations/openexchangerates.markdown
+++ b/source/_integrations/openexchangerates.markdown
@@ -1,6 +1,6 @@
---
-title: "Open Exchange Rates"
-description: "Instructions on how to integrate exchange rates from https://openexchangerates.org within Home Assistant."
+title: Open Exchange Rates
+description: Instructions on how to integrate exchange rates from https://openexchangerates.org within Home Assistant.
ha_category:
- Finance
logo: openexchangerates.png
diff --git a/source/_integrations/opengarage.markdown b/source/_integrations/opengarage.markdown
index 866df325e02..43145cb8cb1 100644
--- a/source/_integrations/opengarage.markdown
+++ b/source/_integrations/opengarage.markdown
@@ -1,6 +1,6 @@
---
-title: "OpenGarage Cover"
-description: "Instructions on how to integrate OpenGarage.io covers within Home Assistant."
+title: OpenGarage
+description: Instructions on how to integrate OpenGarage.io covers within Home Assistant.
logo: opengarage.png
ha_category:
- DIY
diff --git a/source/_integrations/openhardwaremonitor.markdown b/source/_integrations/openhardwaremonitor.markdown
index 81f0809b6df..15a6f3c9cae 100644
--- a/source/_integrations/openhardwaremonitor.markdown
+++ b/source/_integrations/openhardwaremonitor.markdown
@@ -1,6 +1,6 @@
---
-title: "Open Hardware Monitor Sensor"
-description: "Instructions on how to integrate Open Hardware Monitor within Home Assistant."
+title: Open Hardware Monitor
+description: Instructions on how to integrate Open Hardware Monitor within Home Assistant.
logo: openhardwaremonitor.png
ha_category:
- System Monitor
diff --git a/source/_integrations/openhome.markdown b/source/_integrations/openhome.markdown
index 9b1b66a8406..bccde945bf1 100644
--- a/source/_integrations/openhome.markdown
+++ b/source/_integrations/openhome.markdown
@@ -1,6 +1,6 @@
---
-title: "Linn / Openhome"
-description: "Instructions on how to integrate Linn Ds and Openhome renderers into Home Assistant."
+title: Linn / OpenHome
+description: Instructions on how to integrate Linn Ds and Openhome renderers into Home Assistant.
logo: linn.png
ha_category:
- Media Player
@@ -8,7 +8,6 @@ ha_release: 0.39
ha_iot_class: Local Polling
---
-
The `openhome` platform allows you to connect an [Openhome Compliant Renderer](http://openhome.org/) to Home Assistant such as a [Linn Products Ltd](https://www.linn.co.uk) HiFi streamer. It will allow you to control media playback, volume, source and see the current playing item. Openhome devices should be discovered by using the [the discovery component](/integrations/discovery/), their device names are taken from the name of the room configured on the device.
```yaml
diff --git a/source/_integrations/opensensemap.markdown b/source/_integrations/opensensemap.markdown
index e145cde47e8..d4fc4740335 100644
--- a/source/_integrations/opensensemap.markdown
+++ b/source/_integrations/opensensemap.markdown
@@ -1,6 +1,6 @@
---
-title: "OpenSenseMap"
-description: "Instructions on how to setup openSenseMap sensors in Home Assistant."
+title: openSenseMap
+description: Instructions on how to setup openSenseMap sensors in Home Assistant.
logo: opensensemap.png
ha_category:
- Health
@@ -36,4 +36,3 @@ name:
default: Station name
type: string
{% endconfiguration %}
-
diff --git a/source/_integrations/opensky.markdown b/source/_integrations/opensky.markdown
index 5a09697aa2c..e0c42edada5 100644
--- a/source/_integrations/opensky.markdown
+++ b/source/_integrations/opensky.markdown
@@ -1,6 +1,6 @@
---
-title: "OpenSky Network"
-description: "Instructions on how to integrate OpenSky Network into Home Assistant."
+title: OpenSky Network
+description: Instructions on how to integrate OpenSky Network into Home Assistant.
logo: opensky.png
ha_category:
- Transport
diff --git a/source/_integrations/opentherm_gw.markdown b/source/_integrations/opentherm_gw.markdown
index 4e951f8edd2..2af80d9b91c 100644
--- a/source/_integrations/opentherm_gw.markdown
+++ b/source/_integrations/opentherm_gw.markdown
@@ -1,6 +1,6 @@
---
-title: "OpenTherm Gateway"
-description: "Control your OpenTherm Gateway from Home Assistant."
+title: OpenTherm Gateway
+description: Control your OpenTherm Gateway from Home Assistant.
logo: opentherm.png
ha_category:
- Hub
@@ -9,6 +9,9 @@ ha_category:
- Sensor
ha_release: 0.81
ha_iot_class: Local Push
+ha_config_flow: true
+ha_codeowners:
+ - '@mvn23'
---
The `opentherm_gw` integration is used to control the [OpenTherm Gateway](http://otgw.tclcode.com/) from Home Assistant.
diff --git a/source/_integrations/openuv.markdown b/source/_integrations/openuv.markdown
index b52a39fbce0..67a465e3fd5 100644
--- a/source/_integrations/openuv.markdown
+++ b/source/_integrations/openuv.markdown
@@ -1,6 +1,6 @@
---
-title: "OpenUV"
-description: "Instructions on how to integrate OpenUV within Home Assistant."
+title: Openuv
+description: Instructions on how to integrate OpenUV within Home Assistant.
logo: openuv.jpg
ha_category:
- Health
@@ -9,6 +9,8 @@ ha_category:
ha_release: 0.76
ha_iot_class: Cloud Polling
ha_config_flow: true
+ha_codeowners:
+ - '@bachya'
---
The `openuv` integration displays UV and Ozone data from [openuv.io](https://www.openuv.io/).
@@ -208,7 +210,7 @@ automation:
service: openuv.update_protection_data
```
-Another method (useful when monitoring locations other than the HASS latitude
+Another method (useful when monitoring locations other than the Home Assistant latitude
and longitude, in locations where there is a large amount of sunlight per day,
etc.) might be to simply query the API less often:
diff --git a/source/_integrations/openweathermap.markdown b/source/_integrations/openweathermap.markdown
index e5e1ced56a2..89a59a0a943 100644
--- a/source/_integrations/openweathermap.markdown
+++ b/source/_integrations/openweathermap.markdown
@@ -1,12 +1,14 @@
---
-title: "OpenWeatherMap"
-description: "Instructions on how to integrate OpenWeatherMap within Home Assistant."
+title: Openweathermap
+description: Instructions on how to integrate OpenWeatherMap within Home Assistant.
logo: openweathermap.png
ha_category:
- Weather
- Sensor
ha_release: 0.32
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@fabaff'
---
The `openweathermap` weather platform uses [OpenWeatherMap](https://openweathermap.org/) as a source for current meteorological data for your location.
diff --git a/source/_integrations/opple.markdown b/source/_integrations/opple.markdown
index 0007a50341a..7efcdeda8d3 100644
--- a/source/_integrations/opple.markdown
+++ b/source/_integrations/opple.markdown
@@ -1,14 +1,13 @@
---
-title: "Opple Light"
-description: "Instructions on how to integrate Opple lights into Home Assistant."
+title: Opple
+description: Instructions on how to integrate Opple lights into Home Assistant.
logo: opple.png
ha_category:
- Light
-ha_release: "0.80"
+ha_release: '0.80'
ha_iot_class: Local Polling
---
-
The `opple` light platform allows you to control the state of your Opple smart light.
The platform supports all Opple lights with Wi-Fi support or lights that can be controlled by the App.
diff --git a/source/_integrations/orangepi_gpio.markdown b/source/_integrations/orangepi_gpio.markdown
index ba6c07548b9..fa8fee4ba6b 100644
--- a/source/_integrations/orangepi_gpio.markdown
+++ b/source/_integrations/orangepi_gpio.markdown
@@ -1,12 +1,14 @@
---
-title: "Orange Pi GPIO"
-description: "Instructions on how to integrate the GPIO capability of a Orange Pi into Home Assistant."
+title: Orangepi GPIO
+description: Instructions on how to integrate the GPIO capability of a Orange Pi into Home Assistant.
ha_category:
- DIY
- Binary Sensor
ha_release: 0.93
ha_iot_class: Local Push
logo: orange-pi.png
+ha_codeowners:
+ - '@pascallj'
---
The `orangepi_gpio` integration is the base for all related GPIO platforms in Home Assistant. There is no setup needed for the integration itself, for the platforms please check their corresponding pages.
diff --git a/source/_integrations/oru.markdown b/source/_integrations/oru.markdown
index a80d95a71bb..05188fb9e14 100644
--- a/source/_integrations/oru.markdown
+++ b/source/_integrations/oru.markdown
@@ -1,11 +1,13 @@
---
-title: "Orange and Rockland Utility Real-Time Energy Usage Sensor"
-description: "Instructions on how to integrate the Orange and Rockland Utility real-time energy usage sensor within Home Assistant."
+title: Orange and Rockland Utility (ORU)
+description: Instructions on how to integrate the Orange and Rockland Utility real-time energy usage sensor within Home Assistant.
logo: oru.png
ha_release: 0.101
ha_category:
- Sensor
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@bvlaicu'
---
[Orange and Rockland Utility](https://oru.com) is an energy provider in NY and NJ, USA.
diff --git a/source/_integrations/orvibo.markdown b/source/_integrations/orvibo.markdown
index 75a61ff4c6e..2c3287ae2aa 100644
--- a/source/_integrations/orvibo.markdown
+++ b/source/_integrations/orvibo.markdown
@@ -1,6 +1,6 @@
---
-title: "Orvibo Switch"
-description: "Instructions on how to integrate Orvibo sockets within Home Assistant."
+title: Orvibo
+description: Instructions on how to integrate Orvibo sockets within Home Assistant.
logo: orvibo.png
ha_category:
- Switch
diff --git a/source/_integrations/osramlightify.markdown b/source/_integrations/osramlightify.markdown
index 3e1d44b11e9..2986096ef80 100644
--- a/source/_integrations/osramlightify.markdown
+++ b/source/_integrations/osramlightify.markdown
@@ -1,6 +1,6 @@
---
-title: "Osram Lightify"
-description: "Instructions on how to integrate Osram Lightify into Home Assistant."
+title: Osramlightify
+description: Instructions on how to integrate Osram Lightify into Home Assistant.
logo: osramlightify.png
ha_category:
- Light
diff --git a/source/_integrations/otp.markdown b/source/_integrations/otp.markdown
index 25abd8a7aca..d4a3ec4d983 100644
--- a/source/_integrations/otp.markdown
+++ b/source/_integrations/otp.markdown
@@ -1,12 +1,12 @@
---
-title: "OTP Sensor"
-description: "Instructions on how to add One-Time Password (OTP) sensors into Home Assistant."
+title: One-Time Password (OTP)
+description: Instructions on how to add One-Time Password (OTP) sensors into Home Assistant.
logo: home-assistant.png
ha_category:
- Utility
ha_iot_class: Local Polling
ha_release: 0.49
-ha_qa_scale: internal
+ha_quality_scale: internal
---
The `otp` sensor generates One-Time Passwords according to [RFC6238](https://tools.ietf.org/html/rfc6238) that is compatible with most OTP generators available, including Google Authenticator. You can use this when building custom security solutions and want to use "rolling codes", that change every 30 seconds.
diff --git a/source/_integrations/owlet.markdown b/source/_integrations/owlet.markdown
index 506fe5ca46b..ed2343c6557 100644
--- a/source/_integrations/owlet.markdown
+++ b/source/_integrations/owlet.markdown
@@ -1,6 +1,6 @@
---
-title: "Owlet"
-description: "Instructions on how to integrate Owlet baby monitor into Home Assistant."
+title: Owlet
+description: Instructions on how to integrate Owlet baby monitor into Home Assistant.
logo: owlet.svg
ha_category:
- Health
@@ -8,6 +8,8 @@ ha_category:
- Sensor
ha_release: 0.89
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@oblogic7'
---
[Owlet Care](https://owletcare.com/) baby monitors check your baby's oxygen level and heart rate while sleeping.
diff --git a/source/_integrations/owntracks.markdown b/source/_integrations/owntracks.markdown
index 77e265ac160..e076f80b823 100644
--- a/source/_integrations/owntracks.markdown
+++ b/source/_integrations/owntracks.markdown
@@ -1,10 +1,11 @@
---
-title: "Owntracks"
-description: "Instructions on how to use Owntracks to track devices in Home Assistant."
+title: OwnTracks
+description: Instructions on how to use Owntracks to track devices in Home Assistant.
logo: owntracks.png
ha_category:
- Presence Detection
ha_release: 0.7.4
+ha_config_flow: true
---
[OwnTracks](https://owntracks.org/) is a free and open source application for iOS and Android that allow you to track your location and send it directly to Home Assistant. It can be set up via the integrations panel in the configuration screen.
@@ -33,7 +34,7 @@ In the OwnTracks app, open sidebar and click on preferences, then on connection.
- Device ID: ``
- Tracker ID: `` Two character tracker ID. (can be left blank)
-Your tracker device will be known in home assistant as `_`. If you entered a Tracker ID the tid attribute will be set to that ID.
+Your tracker device will be known in Home Assistant as `_`. If you entered a Tracker ID the tid attribute will be set to that ID.
### Configuring the app - iOS
diff --git a/source/_integrations/panasonic_bluray.markdown b/source/_integrations/panasonic_bluray.markdown
index c6d230710ba..8737679e01c 100644
--- a/source/_integrations/panasonic_bluray.markdown
+++ b/source/_integrations/panasonic_bluray.markdown
@@ -1,6 +1,6 @@
---
-title: "Panasonic Blu-Ray Player"
-description: "Instructions on how to integrate a Panasonic Blu-Ray player into Home Assistant."
+title: Panasonic Blu-Ray Player
+description: Instructions on how to integrate a Panasonic Blu-Ray player into Home Assistant.
logo: panasonic.png
ha_category:
- Media Player
diff --git a/source/_integrations/panasonic_viera.markdown b/source/_integrations/panasonic_viera.markdown
index a02cc8cebe8..7ac2b9d288d 100644
--- a/source/_integrations/panasonic_viera.markdown
+++ b/source/_integrations/panasonic_viera.markdown
@@ -1,6 +1,6 @@
---
-title: "Panasonic Viera TV"
-description: "Instructions on how to integrate a Panasonic Viera TV into Home Assistant."
+title: Panasonic Viera TV
+description: Instructions on how to integrate a Panasonic Viera TV into Home Assistant.
logo: panasonic.png
ha_category:
- Media Player
diff --git a/source/_integrations/pandora.markdown b/source/_integrations/pandora.markdown
index 9010ed29668..4cc4b62b2e3 100644
--- a/source/_integrations/pandora.markdown
+++ b/source/_integrations/pandora.markdown
@@ -1,6 +1,6 @@
---
-title: "Pandora"
-description: "Instructions on how to integrate Pandora radio into Home Assistant."
+title: Pandora
+description: Instructions on how to integrate Pandora radio into Home Assistant.
logo: pandora.png
ha_category:
- Media Player
@@ -60,4 +60,3 @@ That's it! Now you will find a media player. If you click it you will find all y
-
diff --git a/source/_integrations/panel_custom.markdown b/source/_integrations/panel_custom.markdown
index fd2aa8176d1..83fd4ee8388 100644
--- a/source/_integrations/panel_custom.markdown
+++ b/source/_integrations/panel_custom.markdown
@@ -1,11 +1,13 @@
---
-title: "Panel Custom"
-description: "Instructions on how to add customized panels to the frontend of Home Assistant."
+title: Custom Panel
+description: Instructions on how to add customized panels to the frontend of Home Assistant.
logo: home-assistant.png
ha_category:
- Front End
ha_release: 0.26
-ha_qa_scale: internal
+ha_quality_scale: internal
+ha_codeowners:
+ - '@home-assistant/frontend'
---
The `panel_custom` support allows you to add additional panels to your Home Assistant frontend. The panels are listed in the sidebar if wished and can be highly customized. See the developer documentation on [instructions how to build your own panels](https://developers.home-assistant.io/docs/en/frontend_creating_custom_panels.html).
diff --git a/source/_integrations/panel_iframe.markdown b/source/_integrations/panel_iframe.markdown
index cea10eab2be..352d019e6cb 100644
--- a/source/_integrations/panel_iframe.markdown
+++ b/source/_integrations/panel_iframe.markdown
@@ -1,14 +1,15 @@
---
-title: "Panel iFrame"
-description: "Instructions on how to add iFrames in the frontend of Home Assistant."
+title: iframe Panel
+description: Instructions on how to add iFrames in the frontend of Home Assistant.
logo: home-assistant.png
ha_category:
- Front End
ha_release: 0.25
-ha_qa_scale: internal
+ha_quality_scale: internal
+ha_codeowners:
+ - '@home-assistant/frontend'
---
-
The `panel_iframe` support allows you to add additional panels to your Home Assistant frontend. The panels are listed in the sidebar and can contain external resources like the web frontend of your router, your monitoring system, or your media server.
diff --git a/source/_integrations/pcal9535a.markdown b/source/_integrations/pcal9535a.markdown
index de26e82c9f9..e53dddbad8c 100644
--- a/source/_integrations/pcal9535a.markdown
+++ b/source/_integrations/pcal9535a.markdown
@@ -1,6 +1,6 @@
---
-title: "PCAL9535A I2C GPIO expander"
-description: "Instructions on how to integrate the PCAL9535A GPIO pin expander with I2C interface into Home Assistant."
+title: PCAL9535A I/O Expander
+description: Instructions on how to integrate the PCAL9535A GPIO pin expander with I2C interface into Home Assistant.
logo: raspberry-pi.png
ha_category:
- DIY
@@ -8,6 +8,8 @@ ha_category:
- Switch
ha_release: 0.102
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@Shulyaka'
---
The `pcal9535a` integration is the base for all related pcal9535a platforms in Home Assistant. There is no setup needed for the integration itself, for the platforms, please check their corresponding sections.
diff --git a/source/_integrations/pencom.markdown b/source/_integrations/pencom.markdown
index b44b15bac1a..abbd993282a 100644
--- a/source/_integrations/pencom.markdown
+++ b/source/_integrations/pencom.markdown
@@ -1,6 +1,6 @@
---
-title: "Pencom"
-description: "How to use Pencom Designs 8 channel relay boards."
+title: Pencom
+description: How to use Pencom Designs 8 channel relay boards.
logo: pencom.png
ha_category:
- Switch
diff --git a/source/_integrations/persistent_notification.markdown b/source/_integrations/persistent_notification.markdown
index bb0354a7407..d35450625a5 100644
--- a/source/_integrations/persistent_notification.markdown
+++ b/source/_integrations/persistent_notification.markdown
@@ -1,11 +1,13 @@
---
-title: "Persistent notification"
-description: "Instructions on how to integrate persistent notifications into Home Assistant."
+title: Persistent Notification
+description: Instructions on how to integrate persistent notifications into Home Assistant.
logo: home-assistant.png
ha_category:
- Other
ha_release: 0.23
-ha_qa_scale: internal
+ha_quality_scale: internal
+ha_codeowners:
+ - '@home-assistant/core'
---
The `persistent_notification` integration can be used to show a notification on the frontend that has to be dismissed by the user.
diff --git a/source/_integrations/person.markdown b/source/_integrations/person.markdown
index b115523db61..b1690fe65c0 100644
--- a/source/_integrations/person.markdown
+++ b/source/_integrations/person.markdown
@@ -1,11 +1,11 @@
---
-title: "Person"
-description: "Instructions on how to set up people tracking within Home Assistant."
+title: Person
+description: Instructions on how to set up people tracking within Home Assistant.
logo: home-assistant.png
ha_category:
- Presence Detection
-ha_qa_scale: internal
ha_release: 0.88
+ha_quality_scale: internal
---
The person integration allows connecting [device tracker](/integrations/device_tracker/) entities to one or more person entities. The state updates of a connected device tracker will set the state of the person. When multiple device trackers are used, the state of person will be determined in this order:
@@ -87,6 +87,8 @@ person:
- device_tracker.beacon
```
+If you change the YAML, you can reload it by calling the `person.reload` service.
+
### Customizing the picture for a person
By following the instructions on the [customizing entities](/docs/configuration/customizing-devices#entity_picture) page, you can customize the picture used for a person entity in the `customize:` section of your configuration. For example:
@@ -97,4 +99,4 @@ customize:
entity_picture: "/local/ada.jpg"
```
-See the documentation about [hosting files](/integrations/http/#hosting-files) for more information about the `www` folder.
+See the documentation about [hosting files](/integrations/http/#hosting-files) for more information about the `www` folder.
diff --git a/source/_integrations/philips_js.markdown b/source/_integrations/philips_js.markdown
index a45de307f8f..a32946bd45a 100644
--- a/source/_integrations/philips_js.markdown
+++ b/source/_integrations/philips_js.markdown
@@ -1,11 +1,13 @@
---
-title: "Philips TV"
-description: "Instructions on how to add Philips TVs to Home Assistant."
+title: Philips TV
+description: Instructions on how to add Philips TVs to Home Assistant.
logo: philips.png
ha_category:
- Media Player
ha_iot_class: Local Polling
ha_release: 0.34
+ha_codeowners:
+ - '@elupus'
---
The `philips_js` platform allows you to control Philips TVs which expose the [jointSPACE](http://jointspace.sourceforge.net/) API. Instructions on how to activate the API and if your model is supported can be found [here](http://jointspace.sourceforge.net/download.html).
diff --git a/source/_integrations/pi_hole.markdown b/source/_integrations/pi_hole.markdown
index bce2f73648d..207992a9385 100644
--- a/source/_integrations/pi_hole.markdown
+++ b/source/_integrations/pi_hole.markdown
@@ -1,14 +1,17 @@
---
-title: "Pi-hole"
-description: "Instructions on how to integrate Pi-hole with Home Assistant."
+title: Pi-hole
+description: Instructions on how to integrate Pi-hole with Home Assistant.
ha_category:
- System Monitor
ha_iot_class: Local Polling
logo: pi_hole.png
ha_release: 0.28
+ha_codeowners:
+ - '@fabaff'
+ - '@johnluetke'
---
-The `pi_hole` integration allows you to retrieve statistics and interact with a single [Pi-hole](https://pi-hole.net/) system.
+The `pi_hole` integration allows you to retrieve statistics and interact with a [Pi-hole](https://pi-hole.net/) system.
## Configuration
@@ -17,16 +20,23 @@ To enable this integration with the default configuration, add the following lin
```yaml
# Example configuration.yaml entry
pi_hole:
+ - host: IP_ADDRESS
```
{% configuration %}
host:
description: >
- The hostname (and port), e.g., '192.168.0.3:4865' of the host where Pi-hole is running. If your Pi-Hole instance is the Hass.io add-on, you *must* specify port `4865`.
+ The hostname (and port), e.g. '192.168.0.3:4865' of the host where Pi-hole is running. Hass.io add-on users should be sure to specify port `4865`.
+ required: true
+ type: string
+name:
+ description: >
+ The name for this Pi-hole. This name will be a part of the sensors created, e.g. `name: My Awesome Pi-hole` would result in sensor names beginning with `sensor.my_awesome_pi_hole_`.
+
+ **Note:** If you configure multiple Pi-Holes, each one *must* have a unique name.
required: false
type: string
- default: pi.hole
-
+ default: Pi-hole
location:
description: The installation location of the Pi-hole API.
required: false
@@ -50,14 +60,39 @@ api_key:
default: None
{% endconfiguration %}
-### Full example
+### Full examples
+
+Single Pi-hole running via Hass.io add-on:
```yaml
-# Example configuration.yaml entry
pi_hole:
- host: 'localhost:4865'
- ssl: false
- verify_ssl: false
+ - host: 'localhost:4865'
+```
+
+Multiple Pi-holes:
+
+```yaml
+pi_hole:
+ - host: '192.168.0.2'
+ - host: '192.168.0.3'
+ name: 'Secondary Pi-Hole'
+```
+
+Pi-hole with a self-signed certificate:
+
+```yaml
+pi_hole:
+ - host: 'pi.hole'
+ ssl: true
+ verify_ssl: false
+```
+
+Pi-hole with an `api_key` that allows it to be enabled or disabled:
+
+```yaml
+pi_hole:
+ - host: 'pi.hole'
+ api_key: !secret pi_hole_api_key
```
## Services
@@ -66,17 +101,22 @@ The platform provides the following services to interact with your Pi-hole.
### Service `pi_hole.disable`
-Disable your Pi-hole for the specified amount of time.
+Disables configured Pi-hole(s) for the specified amount of time.
| Service data attribute | Required | Type | Description |
| ---------------------- | -------- | -------- | ----------- |
| `duration` | `True` | timedelta | Time for which Pi-hole should be disabled |
+| `name` | `False` | string | If preset, disables the named Pi-hole, otherwise, disables all configured Pi-holes |
_Note: This service requires `api_key` to be specified in the configuration._
### Service `pi_hole.enable`
-Enable your Pi-hole.
+Enables configured Pi-holes(s).
+
+| Service data attribute | Required | Type | Description |
+| ---------------------- | -------- | -------- | ----------- |
+| `name` | `False` | string | If preset, enables the named Pi-hole, otherwise, enables all configured Pi-holes |
_Note: This service requires `api_key` to be specified in the configuration._
diff --git a/source/_integrations/picotts.markdown b/source/_integrations/picotts.markdown
index 6f072958659..a814c1f5ee5 100644
--- a/source/_integrations/picotts.markdown
+++ b/source/_integrations/picotts.markdown
@@ -1,6 +1,6 @@
---
-title: "Pico Text-to-Speech"
-description: "Instructions on how to setup Pico Text-to-Speech with Home Assistant."
+title: Pico TTS
+description: Instructions on how to setup Pico Text-to-Speech with Home Assistant.
logo: home-assistant.png
ha_category:
- Text-to-speech
@@ -13,7 +13,7 @@ On some Raspbian release, this package is missing but you can just copy the arm
On Debian Buster, the package is missing, use the following commands to install it:
-```
+```bash
wget http://ftp.us.debian.org/debian/pool/non-free/s/svox/libttspico0_1.0+git20130326-9_armhf.deb
wget http://ftp.us.debian.org/debian/pool/non-free/s/svox/libttspico-utils_1.0+git20130326-9_armhf.deb
sudo apt-get install -f ./libttspico0_1.0+git20130326-9_armhf.deb ./libttspico-utils_1.0+git20130326-9_armhf.deb
diff --git a/source/_integrations/piglow.markdown b/source/_integrations/piglow.markdown
index 675d1f41633..e47e438137a 100644
--- a/source/_integrations/piglow.markdown
+++ b/source/_integrations/piglow.markdown
@@ -1,6 +1,6 @@
---
-title: "Piglow"
-description: "Instructions on how to setup Piglow LED's within Home Assistant."
+title: Piglow
+description: Instructions on how to setup Piglow LED's within Home Assistant.
logo: raspberry-pi.png
ha_category:
- DIY
@@ -8,7 +8,6 @@ ha_release: 0.37
ha_iot_class: Local Polling
---
-
The `piglow` platform lets you control the [Piglow](https://shop.pimoroni.com/products/piglow) lights on your Raspberry Pi from within Home Assistant.
## Configuration
diff --git a/source/_integrations/pilight.markdown b/source/_integrations/pilight.markdown
index a21cb9fc815..1c7f3617bd0 100644
--- a/source/_integrations/pilight.markdown
+++ b/source/_integrations/pilight.markdown
@@ -1,6 +1,6 @@
---
-title: "Pilight"
-description: "Instructions on how to setup Pilight within Home Assistant."
+title: Pilight
+description: Instructions on how to setup Pilight within Home Assistant.
logo: pilight.png
ha_category:
- DIY
@@ -22,6 +22,7 @@ There is currently support for the following device types within Home Assistant:
- [Binary Sensor](#binary-sensor)
- [Sensor](#sensor)
- [Switch](#switch)
+- [Light](#light)
## Configuration
@@ -304,6 +305,52 @@ switch:
state: 'off'
```
+## Light
+
+Pilight dimmer devices, which can have different brightness values, can be used as a light.
+The configuration parameters are the same for dimmers and switches.
+
+{% configuration %}
+lights:
+ description: The list that contains all command lights.
+ required: true
+ type: string
+ keys:
+ entry:
+ description: Name of the command light, which are the same like for switches. Multiple entries are possible.
+ required: true
+ type: list
+{% endconfiguration %}
+
+### Example
+
+```yaml
+light:
+ - platform: pilight
+ lights:
+ test2:
+ on_code:
+ protocol: kaku_dimmer
+ id: 23298822
+ unit: 10
+ 'on': 1
+ off_code:
+ protocol: kaku_dimmer
+ id: 23298822
+ unit: 10
+ 'off': 1
+ on_code_receive:
+ protocol: kaku_dimmer
+ id: 23298822
+ unit: 10
+ state: 'on'
+ off_code_receive:
+ protocol: kaku_dimmer
+ id: 23298822
+ unit: 10
+ state: 'off'
+```
+
## Troubleshooting
- A list of tested RF transceiver hardware is available [here](https://manual.pilight.org/electronics/index.html). This might be useful before buying.
diff --git a/source/_integrations/ping.markdown b/source/_integrations/ping.markdown
index 48d94f91465..ccdbcf83e14 100644
--- a/source/_integrations/ping.markdown
+++ b/source/_integrations/ping.markdown
@@ -1,13 +1,13 @@
---
-title: "Ping (ICMP)"
-description: "Instructions on how to integrate Ping (ICMP)-based into Home Assistant."
+title: Ping (ICMP)
+description: Instructions on how to integrate Ping (ICMP)-based into Home Assistant.
logo: home-assistant.png
ha_category:
- Network
- Binary Sensor
- Presence Detection
ha_release: 0.43
-ha_qa_scale: internal
+ha_quality_scale: internal
---
There is currently support for the following device types within Home Assistant:
diff --git a/source/_integrations/pioneer.markdown b/source/_integrations/pioneer.markdown
index 145b1b4ddb0..dcbe20748f5 100644
--- a/source/_integrations/pioneer.markdown
+++ b/source/_integrations/pioneer.markdown
@@ -1,6 +1,6 @@
---
-title: "Pioneer Network Receivers"
-description: "Instructions on how to integrate a Pioneer Network Receivers into Home Assistant."
+title: Pioneer
+description: Instructions on how to integrate a Pioneer Network Receivers into Home Assistant.
logo: pioneer.png
ha_category:
- Media Player
diff --git a/source/_integrations/pjlink.markdown b/source/_integrations/pjlink.markdown
index 2e3cf757324..9fbb40cc3fc 100644
--- a/source/_integrations/pjlink.markdown
+++ b/source/_integrations/pjlink.markdown
@@ -1,6 +1,6 @@
---
-title: "PJLink"
-description: "Instructions on how to integrate PJLink enabled projectors into Home Assistant."
+title: PJLink
+description: Instructions on how to integrate PJLink enabled projectors into Home Assistant.
logo: pjlink.png
ha_category:
- Media Player
diff --git a/source/_integrations/plaato.markdown b/source/_integrations/plaato.markdown
index 484b968dcf7..16fdf4cdb68 100644
--- a/source/_integrations/plaato.markdown
+++ b/source/_integrations/plaato.markdown
@@ -1,11 +1,14 @@
---
-title: "Plaato Airlock"
-description: "Instructions on how to integrate Plaato Airlock sensors within Home Assistant."
+title: Plaato Airlock
+description: Instructions on how to integrate Plaato Airlock sensors within Home Assistant.
logo: plaato.png
ha_release: 0.95
ha_category:
- Sensor
ha_iot_class: Cloud Push
+ha_config_flow: true
+ha_codeowners:
+ - '@JohNan'
---
This integration sets up integration with [Plaato Airlock](https://www.plaato.io/).
diff --git a/source/_integrations/plant.markdown b/source/_integrations/plant.markdown
index 2734a0c1e1c..1f389173ee2 100644
--- a/source/_integrations/plant.markdown
+++ b/source/_integrations/plant.markdown
@@ -1,11 +1,13 @@
---
-title: "Plant monitor"
-description: "Instructions on how to setup plant monitoring with Home Assistant."
+title: Plant Monitor
+description: Instructions on how to setup plant monitoring with Home Assistant.
logo: home-assistant.png
ha_category:
- Environment
ha_release: 0.44
-ha_qa_scale: internal
+ha_quality_scale: internal
+ha_codeowners:
+ - '@ChristianKuehnel'
---
This`plant`component lets you merge moisture, conductivity, light intensity, temperature and battery level for a plant into a single UI element. It also supports setting minimum and maximum values for each measurement and will change its state to "problem" if it is not within those limits.
diff --git a/source/_integrations/plex.markdown b/source/_integrations/plex.markdown
index c87fcfe043d..b9e255c9e5d 100644
--- a/source/_integrations/plex.markdown
+++ b/source/_integrations/plex.markdown
@@ -1,6 +1,6 @@
---
-title: "Plex"
-description: "Instructions on how to integrate Plex into Home Assistant."
+title: Plex Media Server
+description: Instructions on how to integrate Plex into Home Assistant.
logo: plex.png
ha_category:
- Media Player
@@ -9,9 +9,10 @@ featured: true
ha_release: 0.7.4
ha_iot_class: Local Push
ha_config_flow: true
+ha_codeowners:
+ - '@jjlawren'
---
-
The `plex` integration allows you to connect to a [Plex Media Server](https://plex.tv). Once connected, [Plex Clients](https://www.plex.tv/apps-devices/) playing media from the connected Plex Media Server will show up as [Media Players](/integrations/media_player/) and report playback status via a [Sensor](/integrations/sensor/) in Home Assistant. The Media Players will allow you to control media playback and see the current playing item.
There is currently support for the following device types within Home Assistant:
diff --git a/source/_integrations/plugwise.markdown b/source/_integrations/plugwise.markdown
index 6bbfcdf1149..6ac354c9555 100644
--- a/source/_integrations/plugwise.markdown
+++ b/source/_integrations/plugwise.markdown
@@ -1,10 +1,14 @@
---
-title: "Plugwise"
-description: "Plugwise Climate integration."
+title: Plugwise Anna
+description: Plugwise Climate integration.
logo: plugwise.png
ha_category: Climate
ha_iot_class: Local Polling
ha_release: 0.98
+ha_codeowners:
+ - '@laetificat'
+ - '@CoMPaTech'
+ - '@bouwew'
---
This enables [Plugwise](https://plugwise.com) [Anna](https://www.plugwise.com/en_US/products/anna) thermostats to be integrated. This integration talks locally to your **Smile** interface, and you will need its password and IP address.
diff --git a/source/_integrations/plum_lightpad.markdown b/source/_integrations/plum_lightpad.markdown
index 56cdeb279da..9cade50ec26 100644
--- a/source/_integrations/plum_lightpad.markdown
+++ b/source/_integrations/plum_lightpad.markdown
@@ -1,6 +1,6 @@
---
-title: "Plum Lightpad"
-description: "Instructions on setting up Plum Lightpads within Home Assistant."
+title: Plum Lightpad
+description: Instructions on setting up Plum Lightpads within Home Assistant.
ha_category:
- Switch
ha_iot_class: Local Push
diff --git a/source/_integrations/pocketcasts.markdown b/source/_integrations/pocketcasts.markdown
index 9347a5bae8b..c7c03e96729 100644
--- a/source/_integrations/pocketcasts.markdown
+++ b/source/_integrations/pocketcasts.markdown
@@ -1,6 +1,6 @@
---
title: Pocket Casts
-description: "Instructions on how to set up Pocket Casts sensors within Home Assistant."
+description: Instructions on how to set up Pocket Casts sensors within Home Assistant.
logo: pocketcasts.png
ha_category:
- Multimedia
diff --git a/source/_integrations/point.markdown b/source/_integrations/point.markdown
index 2c9952dc65e..56b3165f155 100644
--- a/source/_integrations/point.markdown
+++ b/source/_integrations/point.markdown
@@ -1,6 +1,6 @@
---
-title: "Minut Point"
-description: "Instructions on how to integrate Minut Point into Home Assistant."
+title: Minut Point
+description: Instructions on how to integrate Minut Point into Home Assistant.
logo: minut.svg
ha_category:
- Hub
@@ -10,7 +10,9 @@ ha_category:
ha_release: 0.83
ha_config_flow: true
ha_iot_class: Cloud Polling
-ha_qa_scale: gold
+ha_quality_scale: gold
+ha_codeowners:
+ - '@fredrike'
---
The Point hub enables integration with the [Minut Point](https://minut.com/). To connect with Point, you will have to [sign up for a developer account](https://minut.com/community/developers/) and get a `client_id` and `client_secret` with the `callback url` configured as your Home Assistant `base_url` + `/api/minut`, e.g. `http://localhost:8123/api/minut`. The `client_id` and `client_secret` should be used as below.
diff --git a/source/_integrations/postnl.markdown b/source/_integrations/postnl.markdown
index 16082f46375..7b30412aaf2 100644
--- a/source/_integrations/postnl.markdown
+++ b/source/_integrations/postnl.markdown
@@ -1,6 +1,6 @@
---
-title: PostNL Sensor
-description: "Instructions on how to set up PostNL sensors within Home Assistant."
+title: PostNL
+description: Instructions on how to set up PostNL sensors within Home Assistant.
logo: postnl.png
ha_category:
- Postal Service
diff --git a/source/_integrations/prezzibenzina.markdown b/source/_integrations/prezzibenzina.markdown
index 44527d1fd04..18e381c33c0 100644
--- a/source/_integrations/prezzibenzina.markdown
+++ b/source/_integrations/prezzibenzina.markdown
@@ -1,6 +1,6 @@
---
-title: "PrezziBenzina Sensor"
-description: "Instructions on how to integrate PrezziBenzina sensors within Home Assistant."
+title: Prezzi Benzina
+description: Instructions on how to integrate PrezziBenzina sensors within Home Assistant.
logo: prezzibenzina.png
ha_category:
- Energy
diff --git a/source/_integrations/proliphix.markdown b/source/_integrations/proliphix.markdown
index 999d30647d9..54debd019cb 100644
--- a/source/_integrations/proliphix.markdown
+++ b/source/_integrations/proliphix.markdown
@@ -1,6 +1,6 @@
---
-title: "Proliphix Thermostat"
-description: "Instructions on how to integrate Proliphix thermostats within Home Assistant."
+title: Proliphix
+description: Instructions on how to integrate Proliphix thermostats within Home Assistant.
logo: proliphix.png
ha_category:
- Climate
@@ -8,7 +8,6 @@ ha_release: 0.11
ha_iot_class: Local Polling
---
-
The `proliphix` climate platform let you control [Proliphix](http://www.proliphix.com) thermostat from Home Assistant.
Currently supported and tested thermostats:
diff --git a/source/_integrations/prometheus.markdown b/source/_integrations/prometheus.markdown
index 95157c7c450..ce1b519a260 100644
--- a/source/_integrations/prometheus.markdown
+++ b/source/_integrations/prometheus.markdown
@@ -1,6 +1,6 @@
---
-title: "Prometheus"
-description: "Record events in Prometheus."
+title: Prometheus
+description: Record events in Prometheus.
logo: prometheus.png
ha_category:
- History
diff --git a/source/_integrations/prowl.markdown b/source/_integrations/prowl.markdown
index 6f22cfb02bb..7415395b719 100644
--- a/source/_integrations/prowl.markdown
+++ b/source/_integrations/prowl.markdown
@@ -1,6 +1,6 @@
---
-title: "Prowl"
-description: "Instructions on how to add Prowl notifications to Home Assistant."
+title: Prowl
+description: Instructions on how to add Prowl notifications to Home Assistant.
logo: prowl.png
ha_category:
- Notifications
diff --git a/source/_integrations/proximity.markdown b/source/_integrations/proximity.markdown
index 41ab3fe76e9..64c8bd3335e 100644
--- a/source/_integrations/proximity.markdown
+++ b/source/_integrations/proximity.markdown
@@ -1,11 +1,11 @@
---
-title: "Proximity"
-description: "Instructions on how to setup Proximity monitoring within Home Assistant."
+title: Proximity
+description: Instructions on how to setup Proximity monitoring within Home Assistant.
logo: home-assistant.png
ha_category:
- Automation
ha_release: 0.13
-ha_qa_scale: internal
+ha_quality_scale: internal
---
The `proximity` integration allows you to monitor the proximity of devices to a particular [zone](/integrations/zone/) and the direction of travel. The result is an entity created in Home Assistant which maintains the proximity data.
diff --git a/source/_integrations/proxmoxve.markdown b/source/_integrations/proxmoxve.markdown
index f8f01727126..e41486f4221 100644
--- a/source/_integrations/proxmoxve.markdown
+++ b/source/_integrations/proxmoxve.markdown
@@ -1,11 +1,13 @@
---
-title: "Proxmox VE"
-description: "Access your ProxmoxVE instance in Home Assistant."
+title: Proxmox VE
+description: Access your ProxmoxVE instance in Home Assistant.
logo: proxmoxve.png
ha_category:
- Binary Sensor
ha_release: 0.103
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@k4ds3'
---
[Proxmox VE](https://www.proxmox.com/en/) is an open-source server virtualization environment. This integration allows you to poll various data from your instance.
@@ -22,7 +24,7 @@ To use the `proxmoxve` component, add the following config to your `configuratio
```yaml
# Example configuration.yaml entry
-proxmox:
+proxmoxve:
- host: IP_ADDRESS
username: USERNAME
password: PASSWORD
@@ -45,7 +47,7 @@ port:
default: 8006
type: integer
verify_ssl:
- description: Whether to do strict validation on SSL certificates.
+ description: Whether to do strict validation on SSL certificates. If you use a self signed SSL certificate you need to set this to false.
required: false
default: true
type: boolean
@@ -84,7 +86,7 @@ nodes:
Example with multiple VMs and no containers:
```yaml
-proxmox:
+proxmoxve:
- host: IP_ADDRESS
username: USERNAME
password: PASSWORD
@@ -97,4 +99,6 @@ proxmox:
## Binary Sensor
-The integration will automatically create a binary sensor for each tracked VM or container, the binary sensor will either be on if the VM's state is running or off if the VM's state is different.
+The integration will automatically create a binary sensor for each tracked virtual machine or container. The binary sensor will either be on if the VM's state is running or off if the VM's state is different.
+
+The created sensor will be called `binary_sensor.NODE_NAME_VMNAME_running`.
diff --git a/source/_integrations/proxy.markdown b/source/_integrations/proxy.markdown
index 52e2da8b2a9..e0f1eb61cda 100644
--- a/source/_integrations/proxy.markdown
+++ b/source/_integrations/proxy.markdown
@@ -1,6 +1,6 @@
---
-title: "Camera Proxy"
-description: "Instructions on how to integrate a camera proxy within Home Assistant."
+title: Camera Proxy
+description: Instructions on how to integrate a camera proxy within Home Assistant.
ha_category:
- Camera
ha_release: 0.65
diff --git a/source/_integrations/ps4.markdown b/source/_integrations/ps4.markdown
index 2e11d10cd3a..00d8ba8f3aa 100644
--- a/source/_integrations/ps4.markdown
+++ b/source/_integrations/ps4.markdown
@@ -1,12 +1,14 @@
---
-title: "Sony PlayStation 4"
-description: "Instructions on how to integrate a Sony PlayStation 4 into Home Assistant."
+title: Sony PlayStation 4
+description: Instructions on how to integrate a Sony PlayStation 4 into Home Assistant.
logo: ps4.png
ha_category:
- Media Player
ha_release: 0.89
ha_config_flow: true
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@ktnrg45'
---
The `ps4` integration allows you to control a
diff --git a/source/_integrations/ptvsd.markdown b/source/_integrations/ptvsd.markdown
index 34f5fb95294..ee4984f8485 100644
--- a/source/_integrations/ptvsd.markdown
+++ b/source/_integrations/ptvsd.markdown
@@ -1,10 +1,12 @@
---
-title: "PTVSD Debugger (Visual Studio Code)"
-description: "Debugging from Visual Studio Code."
+title: PTVSD - Python Tools for Visual Studio Debug Server
+description: Debugging from Visual Studio Code.
logo: visual-studio.png
-ha_category:
+ha_category:
- Utility
ha_release: 0.93
+ha_codeowners:
+ - '@swamp-ig'
---
The `ptvsd` integration allows you to use the Visual Studio Code PTVSD debugger with Home Assistant.
@@ -32,7 +34,7 @@ port:
default: 5678
type: integer
wait:
- description: If true, wait for the debugger to connect before starting up home assistant.
+ description: If true, wait for the debugger to connect before starting up Home Assistant.
required: false
default: false
type: boolean
@@ -40,9 +42,9 @@ wait:
### Security
-Ensure if this is a public-facing server, that the port is secured. Anyone who is able to access the debugger port can *execute arbitrary code* on the home assistant server, which is very unsafe.
+Ensure if this is a public-facing server, that the port is secured. Anyone who is able to access the debugger port can *execute arbitrary code* on the Home Assistant server, which is very unsafe.
-If the home assistant server is behind your firewall with only the http(s) port exposed, then this is safe from outside connections.
+If the Home Assistant server is behind your firewall with only the http(s) port exposed, then this is safe from outside connections.
Another way of securing the port is to set `host` to localhost and have a secured SSH TCP tunnel with a client certificate for access from the outside internet.
diff --git a/source/_integrations/pulseaudio_loopback.markdown b/source/_integrations/pulseaudio_loopback.markdown
index 63278529450..b21a758931e 100644
--- a/source/_integrations/pulseaudio_loopback.markdown
+++ b/source/_integrations/pulseaudio_loopback.markdown
@@ -1,6 +1,6 @@
---
-title: "PulseAudio Loopback Switch"
-description: "Instructions on how to use Pulseaudio loopback modules to build a flexible whole-home audio system."
+title: PulseAudio Loopback
+description: Instructions on how to use Pulseaudio loopback modules to build a flexible whole-home audio system.
logo: pulseaudio.png
ha_category:
- Switch
diff --git a/source/_integrations/push.markdown b/source/_integrations/push.markdown
index 141d4029c82..e0b4b8f64dc 100644
--- a/source/_integrations/push.markdown
+++ b/source/_integrations/push.markdown
@@ -1,11 +1,13 @@
---
-title: "Push"
-description: "Instructions how to use Push Camera within Home Assistant."
+title: Push
+description: Instructions how to use Push Camera within Home Assistant.
logo: camcorder.png
ha_category:
- Camera
ha_iot_class: Local Push
ha_release: 0.74
+ha_codeowners:
+ - '@dgomes'
---
The `push` camera platform allows you to integrate images sent over HTTP POST to Home Assistant as a camera. External applications/daemons/scripts are therefore able to "stream" images through Home Assistant.
diff --git a/source/_integrations/pushbullet.markdown b/source/_integrations/pushbullet.markdown
index 19b8cf9f191..d96e84864db 100644
--- a/source/_integrations/pushbullet.markdown
+++ b/source/_integrations/pushbullet.markdown
@@ -1,6 +1,6 @@
---
-title: "Pushbullet Mirrors"
-description: "Instructions on how to read user pushes in Home Assistant"
+title: Pushbullet
+description: Instructions on how to read user pushes in Home Assistant
logo: pushbullet.png
ha_category:
- Sensor
diff --git a/source/_integrations/pushetta.markdown b/source/_integrations/pushetta.markdown
index 086f1e527b9..4ab68f63740 100644
--- a/source/_integrations/pushetta.markdown
+++ b/source/_integrations/pushetta.markdown
@@ -1,6 +1,6 @@
---
-title: "Pushetta"
-description: "Instructions on how to add Pushetta notifications to Home Assistant."
+title: Pushetta
+description: Instructions on how to add Pushetta notifications to Home Assistant.
logo: pushetta.png
ha_category:
- Notifications
diff --git a/source/_integrations/pushover.markdown b/source/_integrations/pushover.markdown
index 28e602f3002..a51e1e2784e 100644
--- a/source/_integrations/pushover.markdown
+++ b/source/_integrations/pushover.markdown
@@ -1,6 +1,6 @@
---
-title: "Pushover"
-description: "Instructions on how to add Pushover notifications to Home Assistant."
+title: Pushover
+description: Instructions on how to add Pushover notifications to Home Assistant.
logo: pushover.png
ha_category:
- Notifications
diff --git a/source/_integrations/pushsafer.markdown b/source/_integrations/pushsafer.markdown
index 3fcbe2239b7..7d015a92da6 100644
--- a/source/_integrations/pushsafer.markdown
+++ b/source/_integrations/pushsafer.markdown
@@ -1,6 +1,6 @@
---
-title: "Pushsafer"
-description: "Instructions on how to add Pushsafer notifications to Home Assistant."
+title: Pushsafer
+description: Instructions on how to add Pushsafer notifications to Home Assistant.
logo: pushsafer.png
ha_category:
- Notifications
diff --git a/source/_integrations/pvoutput.markdown b/source/_integrations/pvoutput.markdown
index 7aec4695b7b..132c332dc70 100644
--- a/source/_integrations/pvoutput.markdown
+++ b/source/_integrations/pvoutput.markdown
@@ -1,11 +1,13 @@
---
-title: "PVOutput Sensor"
-description: "Instructions on how to use PVOutput within Home Assistant."
+title: PVOutput
+description: Instructions on how to use PVOutput within Home Assistant.
logo: pvoutput.png
ha_category:
- Energy
ha_release: 0.33
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@fabaff'
---
The `pvoutput` sensor platform consumes information from [PVOutput](https://pvoutput.org/) which were uploaded by your solar photovoltaic (PV) system.
diff --git a/source/_integrations/pyload.markdown b/source/_integrations/pyload.markdown
index 6094fbb7816..881cc72d552 100644
--- a/source/_integrations/pyload.markdown
+++ b/source/_integrations/pyload.markdown
@@ -1,6 +1,6 @@
---
-title: "pyLoad Sensor"
-description: "Instructions on how to integrate pyLoad download sensor within Home Assistant."
+title: pyLoad
+description: Instructions on how to integrate pyLoad download sensor within Home Assistant.
logo: pyload.png
ha_category:
- Downloading
diff --git a/source/_integrations/python_script.markdown b/source/_integrations/python_script.markdown
index e3c14101919..7f312483f38 100644
--- a/source/_integrations/python_script.markdown
+++ b/source/_integrations/python_script.markdown
@@ -1,11 +1,11 @@
---
-title: "Python Scripts"
-description: "Instructions on how to setup Python scripts within Home Assistant."
+title: Python Scripts
+description: Instructions on how to setup Python scripts within Home Assistant.
logo: home-assistant.png
ha_category:
- Automation
ha_release: 0.47
-ha_qa_scale: internal
+ha_quality_scale: internal
---
This integration allows you to write Python scripts that are exposed as services in Home Assistant. Each Python file created in the `/python_scripts/` folder will be exposed as a service. The content is not cached so you can easily develop: edit file, save changes, call service. The scripts are run in a sandboxed environment. The following variables are available in the sandbox:
@@ -32,9 +32,9 @@ It is not possible to use Python imports with this integration. If you want to d
- Create a file `hello_world.py` in the folder and give it this content:
```python
-name = data.get('name', 'world')
-logger.info("Hello {}".format(name))
-hass.bus.fire(name, { "wow": "from a Python script!" })
+name = data.get("name", "world")
+logger.info("Hello %s", name)
+hass.bus.fire(name, {"wow": "from a Python script!"})
```
- Start Home Assistant
@@ -50,11 +50,11 @@ The following example shows how to call a service from `python_script`. This scr
```python
# turn_on_light.py
-entity_id = data.get('entity_id')
-rgb_color = data.get('rgb_color', [255, 255, 255])
+entity_id = data.get("entity_id")
+rgb_color = data.get("rgb_color", [255, 255, 255])
if entity_id is not None:
- service_data = {'entity_id': entity_id, 'rgb_color': rgb_color, 'brightness': 255 }
- hass.services.call('light', 'turn_on', service_data, False)
+ service_data = {"entity_id": entity_id, "rgb_color": rgb_color, "brightness": 255}
+ hass.services.call("light", "turn_on", service_data, False)
```
The above `python_script` can be called using the following JSON as an input.
diff --git a/source/_integrations/qbittorrent.markdown b/source/_integrations/qbittorrent.markdown
index d1034466e88..d5b577d3150 100644
--- a/source/_integrations/qbittorrent.markdown
+++ b/source/_integrations/qbittorrent.markdown
@@ -1,6 +1,6 @@
---
-title: "qBittorrent Sensor"
-description: "Instructions on how to integrate qBittorrent sensors within Home Assistant."
+title: qBittorrent
+description: Instructions on how to integrate qBittorrent sensors within Home Assistant.
logo: qbittorrent.png
ha_category:
- Downloading
diff --git a/source/_integrations/qld_bushfire.markdown b/source/_integrations/qld_bushfire.markdown
index 2d3f2fb2fcf..1eb7c0835db 100644
--- a/source/_integrations/qld_bushfire.markdown
+++ b/source/_integrations/qld_bushfire.markdown
@@ -1,10 +1,12 @@
---
-title: "Queensland Bushfire Alert"
-description: "Instructions on how to integrate the Queensland Bushfire Alert feed into Home Assistant."
+title: Queensland Bushfire Alert
+description: Instructions on how to integrate the Queensland Bushfire Alert feed into Home Assistant.
logo: geo_location.png
ha_category: Geolocation
ha_iot_class: Cloud Polling
ha_release: 0.95
+ha_codeowners:
+ - '@exxamalte'
---
The `qld_bushfire` platform lets you integrate a
diff --git a/source/_integrations/qnap.markdown b/source/_integrations/qnap.markdown
index 8231fb8a259..9710c342fce 100644
--- a/source/_integrations/qnap.markdown
+++ b/source/_integrations/qnap.markdown
@@ -1,11 +1,13 @@
---
-title: "QNAP Sensor"
-description: "Instructions on how to integrate the QNAP sensor within Home Assistant."
+title: QNAP
+description: Instructions on how to integrate the QNAP sensor within Home Assistant.
logo: qnap.png
ha_category:
- System Monitor
ha_release: 0.38
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@colinodell'
---
This `qnap` sensor allows getting various statistics from your [QNAP NAS](https://www.qnap.com/en-us/).
diff --git a/source/_integrations/qrcode.markdown b/source/_integrations/qrcode.markdown
index 1ca078276fa..75a76d9ae22 100644
--- a/source/_integrations/qrcode.markdown
+++ b/source/_integrations/qrcode.markdown
@@ -1,6 +1,6 @@
---
-title: "QR Code Recognition"
-description: "Instructions on how to integrate QR Code Recognition into Home Assistant."
+title: QR Code
+description: Instructions on how to integrate QR Code Recognition into Home Assistant.
logo: home-assistant.png
ha_category:
- Image Processing
diff --git a/source/_integrations/quantum_gateway.markdown b/source/_integrations/quantum_gateway.markdown
index c651df98999..45e0502ce14 100644
--- a/source/_integrations/quantum_gateway.markdown
+++ b/source/_integrations/quantum_gateway.markdown
@@ -1,10 +1,12 @@
---
-title: "Quantum Gateway"
-description: "Instructions on how to integrate Quantum Gateways into Home Assistant."
+title: Quantum Gateway
+description: Instructions on how to integrate Quantum Gateways into Home Assistant.
ha_category:
- Presence Detection
logo: fios.svg
ha_release: 0.81
+ha_codeowners:
+ - '@cisasteelersfan'
---
The `quantum_gateway` device tracker platform offers presence detection by looking at connected devices to a Verizon Fios gateway.
diff --git a/source/_integrations/qwikswitch.markdown b/source/_integrations/qwikswitch.markdown
index f243a567de0..ebceff31cd5 100644
--- a/source/_integrations/qwikswitch.markdown
+++ b/source/_integrations/qwikswitch.markdown
@@ -1,6 +1,6 @@
---
-title: "QwikSwitch QSUSB Hub"
-description: "Instructions on how to integrate the QwikSwitch QSUSB Hub into Home Assistant."
+title: QwikSwitch QSUSB
+description: Instructions on how to integrate the QwikSwitch QSUSB Hub into Home Assistant.
logo: qwikswitch.png
ha_category:
- Hub
@@ -8,7 +8,9 @@ ha_category:
- Light
- Sensor
- Switch
-ha_release: "0.20"
+ha_release: '0.20'
+ha_codeowners:
+ - '@kellerza'
---
The `qwikswitch` integration is the main integration to integrate various [QwikSwitch](https://www.qwikswitch.co.za/) devices with Home Assistant. The integration requires the QSUSB Modem device and connects to the QS Mobile application.
diff --git a/source/_integrations/rachio.markdown b/source/_integrations/rachio.markdown
index b590233f330..9642ba9f698 100644
--- a/source/_integrations/rachio.markdown
+++ b/source/_integrations/rachio.markdown
@@ -1,6 +1,6 @@
---
-title: "Rachio"
-description: "Instructions on how to use Rachio with Home Assistant."
+title: Rachio
+description: Instructions on how to use Rachio with Home Assistant.
logo: rachio.png
ha_category:
- Irrigation
diff --git a/source/_integrations/radarr.markdown b/source/_integrations/radarr.markdown
index ca67ea7290c..c94d7aa7677 100644
--- a/source/_integrations/radarr.markdown
+++ b/source/_integrations/radarr.markdown
@@ -1,6 +1,6 @@
---
-title: "Radarr Sensor"
-description: "Instructions on how to integrate Radarr sensors with Home Assistant"
+title: Radarr
+description: Instructions on how to integrate Radarr sensors with Home Assistant
logo: radarr.png
ha_category:
- Downloading
diff --git a/source/_integrations/radiotherm.markdown b/source/_integrations/radiotherm.markdown
index a699c331423..c5f81b08bfe 100644
--- a/source/_integrations/radiotherm.markdown
+++ b/source/_integrations/radiotherm.markdown
@@ -1,6 +1,6 @@
---
-title: "Radio Thermostat (3M Filtrete) Thermostat"
-description: "Instructions on how to integrate Radio Thermostat (3M Filtrete) thermostats within Home Assistant."
+title: Radio Thermostat
+description: Instructions on how to integrate Radio Thermostat (3M Filtrete) thermostats within Home Assistant.
logo: radiotherm.png
ha_category:
- Climate
@@ -58,4 +58,4 @@ climate:
- 192.168.99.137
- 192.168.99.202
```
-Humidity is now available as the `current_humidity` attribute for each `climate.$HOST` entity. This only works for RadioThermostat devices that have a built in humidity sensor.
+Humidity is now available as the `current_humidity` attribute for each `climate.$HOST` entity. This only works for RadioThermostat devices that have a built in humidity sensor.
diff --git a/source/_integrations/rainbird.markdown b/source/_integrations/rainbird.markdown
index dd240c9c20d..3bcda2c5109 100644
--- a/source/_integrations/rainbird.markdown
+++ b/source/_integrations/rainbird.markdown
@@ -1,6 +1,6 @@
---
-title: "Rain Bird"
-description: "Instructions on how to integrate your Rain Bird LNK WiFi Module within Home Assistant."
+title: Rain Bird
+description: Instructions on how to integrate your Rain Bird LNK WiFi Module within Home Assistant.
logo: rainbird.png
ha_category:
- Irrigation
@@ -8,6 +8,8 @@ ha_category:
- Switch
ha_release: 0.61
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@konikvranik'
---
This `rainbird` integration allows interacting with [LNK WiFi](https://www.rainbird.com/products/lnk-wifi-module) module of the Rain Bird Irrigation system in Home Assistant.
@@ -127,4 +129,4 @@ automation:
entity_id: switch.sprinkler_1
data:
duration: 5
-```
\ No newline at end of file
+```
diff --git a/source/_integrations/raincloud.markdown b/source/_integrations/raincloud.markdown
index 804109629a3..03be231d021 100644
--- a/source/_integrations/raincloud.markdown
+++ b/source/_integrations/raincloud.markdown
@@ -1,6 +1,6 @@
---
-title: "Melnor Raincloud"
-description: "Instructions on how to integrate your Melnor Raincloud sprinkler system within Home Assistant."
+title: Melnor RainCloud
+description: Instructions on how to integrate your Melnor Raincloud sprinkler system within Home Assistant.
logo: raincloud.jpg
ha_category:
- Irrigation
@@ -9,6 +9,8 @@ ha_category:
- Switch
ha_release: 0.55
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@vanstinator'
---
The `raincloud` integration allows you to integrate your [Melnor RainCloud](https://wifiaquatimer.com) sprinkler system in Home Assistant.
@@ -116,4 +118,4 @@ monitored_conditions:
description: Toggle the watering scheduled per zone.
manual_watering:
description: Toggle manually the watering per zone. It will inherent the value in minutes specified on the RainCloud hub component.
-{% endconfiguration %}
\ No newline at end of file
+{% endconfiguration %}
diff --git a/source/_integrations/rainforest_eagle.markdown b/source/_integrations/rainforest_eagle.markdown
index d4b50ec4198..91d608cbef6 100644
--- a/source/_integrations/rainforest_eagle.markdown
+++ b/source/_integrations/rainforest_eagle.markdown
@@ -1,12 +1,14 @@
---
-title: "Rainforest Eagle-200"
-description: "Instructions on how to setup the Rainforest Eagle-200 with Home Assistant."
+title: Rainforest Eagle-200
+description: Instructions on how to setup the Rainforest Eagle-200 with Home Assistant.
logo: rainforest_automation_logo.png
ha_category:
- Energy
- Sensor
ha_release: 0.97
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@gtdiehl'
---
A `sensor` platform for the [Rainforest Eagle-200](https://rainforestautomation.com/rfa-z114-eagle-200/) energy gateway.
diff --git a/source/_integrations/rainmachine.markdown b/source/_integrations/rainmachine.markdown
index c0e4eb1daba..4953a626e0a 100644
--- a/source/_integrations/rainmachine.markdown
+++ b/source/_integrations/rainmachine.markdown
@@ -1,6 +1,6 @@
---
-title: "RainMachine"
-description: "Instructions on how to integrate RainMachine units within Home Assistant."
+title: RainMachine
+description: Instructions on how to integrate RainMachine units within Home Assistant.
logo: rainmachine.png
ha_category:
- Irrigation
@@ -9,6 +9,9 @@ ha_category:
- Switch
ha_release: 0.69
ha_iot_class: Local Polling
+ha_config_flow: true
+ha_codeowners:
+ - '@bachya'
---
The `rainmachine` integration is the main integration to integrate all platforms related to [RainMachine smart Wi-Fi sprinkler controllers](https://www.rainmachine.com/).
diff --git a/source/_integrations/random.markdown b/source/_integrations/random.markdown
index f1f69b8bdd0..ca2ab90c4e1 100644
--- a/source/_integrations/random.markdown
+++ b/source/_integrations/random.markdown
@@ -1,6 +1,6 @@
---
-title: "Random"
-description: "Instructions on how to integrate random numbers into Home Assistant."
+title: Random
+description: Instructions on how to integrate random numbers into Home Assistant.
logo: home-assistant.png
ha_category:
- Utility
@@ -8,7 +8,9 @@ ha_category:
- Binary Sensor
ha_iot_class: Local Polling
ha_release: 0.32
-ha_qa_scale: internal
+ha_quality_scale: internal
+ha_codeowners:
+ - '@fabaff'
---
The `random` integration simply creates random values or state. This can be useful if you want to test automation rules or run an interactive demo. It generates a new state every time it is polled.
diff --git a/source/_integrations/raspihats.markdown b/source/_integrations/raspihats.markdown
index df01e666189..448b32227f1 100644
--- a/source/_integrations/raspihats.markdown
+++ b/source/_integrations/raspihats.markdown
@@ -1,6 +1,6 @@
---
-title: "Raspihats"
-description: "Instructions on how to integrate Raspihats add-on boards for Raspberry Pi into Home Assistant."
+title: Raspihats
+description: Instructions on how to integrate Raspihats add-on boards for Raspberry Pi into Home Assistant.
logo: raspihats.png
ha_category:
- DIY
diff --git a/source/_integrations/raspyrfm.markdown b/source/_integrations/raspyrfm.markdown
index a9d1636fff4..f70808f7eaf 100644
--- a/source/_integrations/raspyrfm.markdown
+++ b/source/_integrations/raspyrfm.markdown
@@ -1,6 +1,6 @@
---
-title: "RaspyRFM Switch"
-description: "Instructions on how to integrate RaspyRFM switches into Home Assistant."
+title: RaspyRFM
+description: Instructions on how to integrate RaspyRFM switches into Home Assistant.
logo: seegelsysteme.png
ha_category:
- Switch
diff --git a/source/_integrations/recollect_waste.markdown b/source/_integrations/recollect_waste.markdown
index 6b507e3f871..06fc4da938d 100644
--- a/source/_integrations/recollect_waste.markdown
+++ b/source/_integrations/recollect_waste.markdown
@@ -1,6 +1,6 @@
---
-title: Recollect Waste Sensor
-description: "Instructions on how to set up Recollect Waste sensor within Home Assistant."
+title: ReCollect Waste
+description: Instructions on how to set up Recollect Waste sensor within Home Assistant.
logo: recollect-waste.png
ha_category:
- Sensor
diff --git a/source/_integrations/recorder.markdown b/source/_integrations/recorder.markdown
index 2093c806f41..7002f58b278 100644
--- a/source/_integrations/recorder.markdown
+++ b/source/_integrations/recorder.markdown
@@ -1,18 +1,18 @@
---
-title: "Recorder"
-description: "Instructions on how to configure the data recorder for Home Assistant."
+title: Recorder
+description: Instructions on how to configure the data recorder for Home Assistant.
logo: home-assistant.png
ha_category:
- - "History"
+ - History
ha_release: pre 0.7
-ha_qa_scale: internal
+ha_quality_scale: internal
---
The `recorder` integration is responsible for storing details in a database, which then are handled by the [`history` integration](/integrations/history/).
Home Assistant uses [SQLAlchemy](https://www.sqlalchemy.org/), which is an Object Relational Mapper (ORM). This means that you can use **any** SQL backend for the recorder that is supported by SQLAlchemy, like [MySQL](https://www.mysql.com/), [MariaDB](https://mariadb.org/), [PostgreSQL](https://www.postgresql.org/), or [MS SQL Server](https://www.microsoft.com/en-us/sql-server/).
-The default database engine is [SQLite](https://www.sqlite.org/) which doesn't require any configuration. The database is stored in your Home Assistant configuration directory (`.homeassistant` or '/config/' in HassIO) and called `home-assistant_v2.db`.
+The default database engine is [SQLite](https://www.sqlite.org/) which doesn't require any configuration. The database is stored in your Home Assistant configuration directory (`.homeassistant` or '/config/' in Hass.io) and called `home-assistant_v2.db`.
To change the defaults for the `recorder` integration in your installation, add the following to your `configuration.yaml` file:
@@ -121,24 +121,25 @@ If you only want to hide events from your history, take a look at the [`history`
Call the service `recorder.purge` to start a purge task which deletes events and states older than x days, according to `keep_days` service data.
-| Service data attribute | Optional | Description |
-| ---------------------- | -------- | ----------- |
-| `keep_days` | yes | The number of history days to keep in recorder database (defaults to the integration `purge_keep_days` configuration)
-| `repack` | yes | Rewrite the entire database, possibly saving some disk space. Only supported for SQLite and requires at least as much disk space free as the database currently uses.
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `keep_days` | yes | The number of history days to keep in recorder database (defaults to the integration `purge_keep_days` configuration) |
+| `repack` | yes | Rewrite the entire database, possibly saving some disk space. Only supported for SQLite and requires at least as much disk space free as the database currently uses. |
## Custom database engines
-| Database engine | `db_url` |
-| :---------------|:---------------------------------------------------------|
-| SQLite | `sqlite:////PATH/TO/DB_NAME` |
-| MariaDB | `mysql+pymysql://SERVER_IP/DB_NAME?charset=utf8` |
-| MariaDB Ā Ā Ā Ā | `mysql+pymysql://user:password@SERVER_IP/DB_NAME?charset=utf8` |
-| MySQL | `mysql://SERVER_IP/DB_NAME?charset=utf8` |
-| MySQL | `mysql://user:password@SERVER_IP/DB_NAME?charset=utf8` |
-| PostgreSQL | `postgresql://SERVER_IP/DB_NAME` |
-| PostgreSQL | `postgresql://user:password@SERVER_IP/DB_NAME` |
-| PostgreSQL (Socket) | `postgresql://@/DB_NAME` |
-| MS SQL Server | `mssql+pymssql://user:password@SERVER_IP/DB_NAME?charset=utf8` |
+| Database engine | `db_url` |
+| :--------------------- | :------------------------------------------------------------------------------------------- |
+| SQLite | `sqlite:////PATH/TO/DB_NAME` |
+| MariaDB | `mysql+pymysql://SERVER_IP/DB_NAME?charset=utf8` |
+| MariaDB | `mysql+pymysql://user:password@SERVER_IP/DB_NAME?charset=utf8` |
+| MariaDB (omit pymysql) | `mysql://user:password@SERVER_IP/DB_NAME?charset=utf8` |
+| MySQL | `mysql://SERVER_IP/DB_NAME?charset=utf8` |
+| MySQL | `mysql://user:password@SERVER_IP/DB_NAME?charset=utf8` |
+| PostgreSQL | `postgresql://SERVER_IP/DB_NAME` |
+| PostgreSQL | `postgresql://user:password@SERVER_IP/DB_NAME` |
+| PostgreSQL (Socket) | `postgresql://@/DB_NAME` |
+| MS SQL Server | `mssql+pyodbc://username:password@SERVER_IP/DB_NAME?charset=utf8;DRIVER={DRIVER};Port=1433;` |
@@ -148,6 +149,12 @@ Some installations of MariaDB/MySQL may require an ALTERNATE_PORT (3rd-party hos
+If using an external MariaDB backend (e.g., running on a separate NAS) with Home Assistant, you should omit `pymysql` from the URL. `pymysql` is not included in the base docker image, and is not necessary for this to work.
+
+
+
+
+
Unix Socket connections always bring performance advantages over TCP, if the database is on the same host as the `recorder` instance (i.e. `localhost`).
@@ -247,17 +254,25 @@ A service restart will work as well.
### MS SQL Server
-For MS SQL Server you may have to install a few dependencies:
+For MS SQL Server you will have to install a few dependencies:
```bash
-sudo apt-get install freetds-dev
-pip3 install pymssql
+sudo apt-get install unixodbc-dev
+pip3 install pyodbc
```
-If you are in a virtual environment, don't forget to activate it before installing the pymssql package.
+If you are in a virtual environment, don't forget to activate it before installing the pyodbc package.
```bash
sudo -u homeassistant -H -s
source /srv/homeassistant/bin/activate
-pip3 install pymssql
+pip3 install pyodbc
```
+
+You will also need to install an ODBC Driver. Microsoft ODBC drivers are recommended, however FreeTDS is available for systems that are not supported by Microsoft. Instrucitons for installing the Microsoft ODBC drivers can be found [here](https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server).
+
+
+
+If you are using Hass.io, FreeTDS is already installed for you. The db_url you need to use is `mssql+pyodbc://username:password@SERVER_IP/DB_NAME?charset=utf8;DRIVER={FreeTDS};Port=1433;`.
+
+
diff --git a/source/_integrations/recswitch.markdown b/source/_integrations/recswitch.markdown
index 110aa8b7261..9eba9e83cd3 100644
--- a/source/_integrations/recswitch.markdown
+++ b/source/_integrations/recswitch.markdown
@@ -1,7 +1,7 @@
---
-title: "Ankuoo Rec Switch"
-description: "Instructions on how to integrate Ankuoo Rec Switch into Home Assistant."
-logo: "ankuoo_recswitch.png"
+title: Ankuoo REC Switch
+description: Instructions on how to integrate Ankuoo Rec Switch into Home Assistant.
+logo: ankuoo_recswitch.png
ha_release: 0.81
ha_category:
- Switch
diff --git a/source/_integrations/reddit.markdown b/source/_integrations/reddit.markdown
index 0fe263b79e5..1f253beace2 100644
--- a/source/_integrations/reddit.markdown
+++ b/source/_integrations/reddit.markdown
@@ -1,6 +1,6 @@
---
-title: "Reddit"
-description: "How to integrate the Reddit sensor into Home Assistant."
+title: Reddit
+description: How to integrate the Reddit sensor into Home Assistant.
logo: reddit.png
ha_category:
- Sensor
diff --git a/source/_integrations/rejseplanen.markdown b/source/_integrations/rejseplanen.markdown
index 6001fc31b2c..0289f8e6c75 100644
--- a/source/_integrations/rejseplanen.markdown
+++ b/source/_integrations/rejseplanen.markdown
@@ -1,6 +1,6 @@
---
-title: "Rejseplanen Public Transport"
-description: "Instructions on how to integrate timetable data for Danish Rejseplanen within Home Assistant."
+title: Rejseplanen
+description: Instructions on how to integrate timetable data for Danish Rejseplanen within Home Assistant.
logo: rejseplanen.png
ha_category:
- Transport
diff --git a/source/_integrations/remember_the_milk.markdown b/source/_integrations/remember_the_milk.markdown
index d7a1c39c79a..6f62afc077b 100644
--- a/source/_integrations/remember_the_milk.markdown
+++ b/source/_integrations/remember_the_milk.markdown
@@ -1,6 +1,6 @@
---
-title: "Remember The Milk"
-description: "Instructions on how to use Remember The Milk with Home Assistant."
+title: Remember The Milk
+description: Instructions on how to use Remember The Milk with Home Assistant.
logo: rememberthemilk.png
ha_category:
- Calendar
diff --git a/source/_integrations/remote.markdown b/source/_integrations/remote.markdown
index f8a32910bab..07053b6e00c 100644
--- a/source/_integrations/remote.markdown
+++ b/source/_integrations/remote.markdown
@@ -1,6 +1,6 @@
---
-title: "Remotes"
-description: "Instructions on how to setup your remotes with Home Assistant."
+title: Remote
+description: Instructions on how to setup your remotes with Home Assistant.
ha_release: 0.34
---
diff --git a/source/_integrations/remote_rpi_gpio.markdown b/source/_integrations/remote_rpi_gpio.markdown
index b4e40e7d975..b86f279c628 100644
--- a/source/_integrations/remote_rpi_gpio.markdown
+++ b/source/_integrations/remote_rpi_gpio.markdown
@@ -1,6 +1,6 @@
---
-title: "Remote Raspberry Pi GPIO"
-description: "Instructions on how to integrate the GPIO capability of a Remote Raspberry Pi into Home Assistant."
+title: remote_rpi_gpio
+description: Instructions on how to integrate the GPIO capability of a Remote Raspberry Pi into Home Assistant.
logo: raspberry-pi.png
ha_category:
- DIY
@@ -105,7 +105,7 @@ invert_logic:
For more details about the GPIO layout, visit the Wikipedia [article](https://en.wikipedia.org/wiki/Raspberry_Pi#GPIO_connector) about the Raspberry Pi.
-Note that a pin managed by HASS is expected to be exclusive to HASS.
+Note that a pin managed by Home Assistant is expected to be exclusive to Home Assistant.
A common question is what does port refer to, this number is the actual GPIO #, not the pin #.
diff --git a/source/_integrations/repetier.markdown b/source/_integrations/repetier.markdown
index 9beb073756f..e0bb5eaed4c 100644
--- a/source/_integrations/repetier.markdown
+++ b/source/_integrations/repetier.markdown
@@ -1,12 +1,14 @@
---
-title: Repetier-Server Component
-description: "Instructions how to add Repetier-Server sensors to Home Assistant."
+title: Repetier-Server
+description: Instructions how to add Repetier-Server sensors to Home Assistant.
logo: repetier.png
ha_category:
- Hub
- Sensor
ha_release: 0.94
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@MTrab'
---
[Repetier-Server](https://www.repetier-server.com/) is a 3D printer/CNC server, able to control multiple devices on the same server.
diff --git a/source/_integrations/rest.markdown b/source/_integrations/rest.markdown
index 8f644dad45c..febcb4a06e0 100644
--- a/source/_integrations/rest.markdown
+++ b/source/_integrations/rest.markdown
@@ -1,6 +1,6 @@
---
-title: "RESTful Sensor"
-description: "Instructions on how to integrate REST sensors into Home Assistant."
+title: RESTful
+description: Instructions on how to integrate REST sensors into Home Assistant.
logo: restful.png
ha_category:
- Sensor
diff --git a/source/_integrations/rest_command.markdown b/source/_integrations/rest_command.markdown
index ebf3058e64f..e115b186647 100644
--- a/source/_integrations/rest_command.markdown
+++ b/source/_integrations/rest_command.markdown
@@ -1,6 +1,6 @@
---
-title: "RESTful Command"
-description: "Instructions on how to integrate REST commands into Home Assistant."
+title: RESTful Command
+description: Instructions on how to integrate REST commands into Home Assistant.
logo: restful.png
ha_category:
- Automation
diff --git a/source/_integrations/rflink.markdown b/source/_integrations/rflink.markdown
index de5e8f0bfb4..2b45a808c76 100644
--- a/source/_integrations/rflink.markdown
+++ b/source/_integrations/rflink.markdown
@@ -1,6 +1,6 @@
---
-title: "RFLink"
-description: "Instructions on how to integrate RFLink gateway into Home Assistant."
+title: RFLink
+description: Instructions on how to integrate RFLink gateway into Home Assistant.
logo: rflink.png
ha_category:
- Hub
@@ -48,7 +48,7 @@ wait_for_ack:
default: true
type: boolean
ignore_devices:
- description: List of device id's to ignore. Supports wildcards (`*`) at the end.
+ description: List of device id's to ignore. Supports wildcards (`*`, `?`).
required: false
type: [list, string]
reconnect_interval:
@@ -137,10 +137,6 @@ rflink:
This configuration will ignore the button `1` of the `newkaku` device with ID `000001`, all devices of the `digitech` protocol and all switches of the `kaku` protocol device with codewheel ID `1`.
-
-Wildcards only work at the end of the ID, not in the middle or front!
-
-
### Device support
Even though a lot of devices are supported by RFLink, not all have been tested/implemented. If you have a device supported by RFLink but not by this integration please consider testing and adding support yourself.
diff --git a/source/_integrations/rfxtrx.markdown b/source/_integrations/rfxtrx.markdown
index a42d39e681b..451b990f442 100644
--- a/source/_integrations/rfxtrx.markdown
+++ b/source/_integrations/rfxtrx.markdown
@@ -1,10 +1,12 @@
---
-title: "RFXtrx"
-description: "Instructions on how to integrate RFXtrx into Home Assistant."
+title: RFXCOM RFXtrx
+description: Instructions on how to integrate RFXtrx into Home Assistant.
logo: rfxtrx.png
ha_category:
- Hub
ha_release: pre 0.7
+ha_codeowners:
+ - '@danielhiversen'
---
The `rfxtrx` integration supports RFXtrx devices by [RFXCOM](http://www.rfxcom.com), which communicate in the frequency range of 433.92 MHz.
@@ -57,7 +59,7 @@ Not all protocols as advertised are enabled on the initial setup of your transce
### ser2net
-You can host your device on another computer by setting up ser2net and example configuration for ser2net looks like this and then using host/port in your home assistant config.
+You can host your device on another computer by setting up ser2net and example configuration for ser2net looks like this and then using host/port in your Home Assistant config.
```text
50000:raw:0:/dev/ttyUSB0:38400 8DATABITS NONE 1STOPBIT
diff --git a/source/_integrations/ring.markdown b/source/_integrations/ring.markdown
index f8c3506dd1b..5b15811f835 100644
--- a/source/_integrations/ring.markdown
+++ b/source/_integrations/ring.markdown
@@ -1,6 +1,6 @@
---
-title: "Ring"
-description: "Instructions on how to integrate your Ring.com devices within Home Assistant."
+title: Ring
+description: Instructions on how to integrate your Ring.com devices within Home Assistant.
logo: ring.png
ha_category:
- Doorbell
@@ -137,19 +137,19 @@ You can then use the following `python_script` to save the video file:
```python
# obtain ring doorbell camera object
# replace the camera.front_door by your camera entity
-ring_cam = hass.states.get('camera.front_door')
+ring_cam = hass.states.get("camera.front_door")
-subdir_name = 'ring_{}'.format(ring_cam.attributes.get('friendly_name'))
+subdir_name = f"ring_{ring_cam.attributes.get('friendly_name')}"
# get video URL
data = {
- 'url': ring_cam.attributes.get('video_url'),
- 'subdir': subdir_name,
- 'filename': ring_cam.attributes.get('friendly_name')
+ "url": ring_cam.attributes.get("video_url"),
+ "subdir": subdir_name,
+ "filename": ring_cam.attributes.get("friendly_name"),
}
# call downloader integration to save the video
-hass.services.call('downloader', 'download_file', data)
+hass.services.call("downloader", "download_file", data)
```
## Sensor
diff --git a/source/_integrations/ripple.markdown b/source/_integrations/ripple.markdown
index ff0cfbb065e..f1d9d973089 100644
--- a/source/_integrations/ripple.markdown
+++ b/source/_integrations/ripple.markdown
@@ -1,6 +1,6 @@
---
-title: "Ripple"
-description: "Instructions on how to integrate ripple.com data within Home Assistant."
+title: Ripple
+description: Instructions on how to integrate ripple.com data within Home Assistant.
logo: ripple.png
ha_category:
- Finance
diff --git a/source/_integrations/rmvtransport.markdown b/source/_integrations/rmvtransport.markdown
index c8d8b33db3b..fb479608d39 100644
--- a/source/_integrations/rmvtransport.markdown
+++ b/source/_integrations/rmvtransport.markdown
@@ -1,11 +1,13 @@
---
-title: "RMV"
-description: "Instructions on how to integrate Rhein-Main public transport departure times into Home Assistant."
+title: RMV
+description: Instructions on how to integrate Rhein-Main public transport departure times into Home Assistant.
logo: RMV.png
ha_category:
- Transport
ha_release: 0.76
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@cgtobi'
---
The `rvmtransport` sensor will give you the departure time of the next bus, tram, subway or train at the next station or stop in the Rhein-Main area public transport network. Additional details such as the line number and destination are present in the attributes.
@@ -59,9 +61,9 @@ next_departure:
required: false
type: [string, integer]
products:
- description: "One or more modes of transport `['U-Bahn', 'Tram', 'Bus', 'S-Bahn', 'RB', 'RE', 'EC', 'IC', 'ICE']`."
+ description: "One or more modes of transport `['U-Bahn', 'Tram', 'Bus', 'S', 'RB', 'RE', 'EC', 'IC', 'ICE']`."
required: false
- default: ['U-Bahn', 'Tram', 'Bus', 'S-Bahn', 'RB', 'RE', 'EC', 'IC', 'ICE']
+ default: ['U-Bahn', 'Tram', 'Bus', 'S', 'RB', 'RE', 'EC', 'IC', 'ICE']
type: [string]
time_offset:
description: Do not display departures leaving sooner than this number of minutes. Useful if you are a couple of minutes away from the stop.
@@ -97,7 +99,7 @@ sensor:
- 'RB'
- 'RE'
- 'Bus'
- - 'S-Bahn'
+ - 'S'
- station: 3006907
products: 'Bus'
destinations: ['Wiesbaden Dernsches GelƤnde', 'Mainz Hauptbahnhof']
@@ -105,7 +107,7 @@ sensor:
- station: 3006904
lines: 'S8'
max_journeys: 5
- products: 'S-Bahn'
+ products: 'S'
```
The first sensor will return S-Bahn, bus, RB and RE trains departures from Frankfurt Hauptbahnhof to Frankfurt Airport or Stadium that are at least 5 minutes away.
diff --git a/source/_integrations/rocketchat.markdown b/source/_integrations/rocketchat.markdown
index e269973de3c..328f2313c41 100644
--- a/source/_integrations/rocketchat.markdown
+++ b/source/_integrations/rocketchat.markdown
@@ -1,13 +1,12 @@
---
-title: "Rocket.Chat"
-description: "Instructions on how to add Rocket.Chat notifications to Home Assistant."
+title: Rocket.Chat
+description: Instructions on how to add Rocket.Chat notifications to Home Assistant.
logo: rocketchat.png
ha_category:
- Notifications
ha_release: 0.56
---
-
The `rocketchat` notify platform allows you to send messages to your [Rocket.Chat](https://rocket.chat/) instance from Home Assistant.
## Configuration
@@ -49,4 +48,3 @@ rocketchat_notification:
- **data** (*Optional*): Dictionary containing any of the variables defined in the [Rocket.Chat docs](https://rocket.chat/docs/developer-guides/rest-api/chat/postmessage#message-object-example)
To use notifications, please see the [getting started with automation page](/getting-started/automation/).
-
diff --git a/source/_integrations/roku.markdown b/source/_integrations/roku.markdown
index e52267ae9d5..f640d668d8b 100644
--- a/source/_integrations/roku.markdown
+++ b/source/_integrations/roku.markdown
@@ -1,6 +1,6 @@
---
-title: "Roku"
-description: "Instructions how to integrate Roku devices into Home Assistant."
+title: Roku
+description: Instructions how to integrate Roku devices into Home Assistant.
logo: roku.png
ha_category:
- Hub
diff --git a/source/_integrations/roomba.markdown b/source/_integrations/roomba.markdown
index 91fcc80c065..2b926c97d94 100644
--- a/source/_integrations/roomba.markdown
+++ b/source/_integrations/roomba.markdown
@@ -1,10 +1,12 @@
---
-title: "iRobot Roomba"
-description: "Instructions on how to integrate your Wi-Fi enabled Roomba within Home Assistant."
+title: iRobot Roomba
+description: Instructions on how to integrate your Wi-Fi enabled Roomba within Home Assistant.
logo: irobot_roomba.png
ha_category:
- Vacuum
ha_release: 0.51
+ha_codeowners:
+ - '@pschmitt'
---
The `roomba` integration allows you to control your [iRobot Roomba](https://www.irobot.com/For-the-Home/Vacuuming/Roomba.aspx) vacuum.
diff --git a/source/_integrations/route53.markdown b/source/_integrations/route53.markdown
index d0274ee8717..05da97c2454 100644
--- a/source/_integrations/route53.markdown
+++ b/source/_integrations/route53.markdown
@@ -1,6 +1,6 @@
---
-title: "route53"
-description: "Automatically update your AWS Route53 DNS records."
+title: AWS Route53
+description: Automatically update your AWS Route53 DNS records.
logo: route53.png
ha_category:
- Network
diff --git a/source/_integrations/rova.markdown b/source/_integrations/rova.markdown
index 6f3f1ffdc42..c0a5d9c5235 100644
--- a/source/_integrations/rova.markdown
+++ b/source/_integrations/rova.markdown
@@ -1,6 +1,6 @@
---
-title: "ROVA Sensor"
-description: "Instructions on how to integrate ROVA sensor within Home Assistant."
+title: ROVA
+description: Instructions on how to integrate ROVA sensor within Home Assistant.
logo: rova.jpg
ha_category:
- Sensor
diff --git a/source/_integrations/rpi_camera.markdown b/source/_integrations/rpi_camera.markdown
index bcc871acd48..372650bba2c 100644
--- a/source/_integrations/rpi_camera.markdown
+++ b/source/_integrations/rpi_camera.markdown
@@ -1,6 +1,6 @@
---
-title: "Raspberry Pi Camera"
-description: "Instructions on how to integrate Raspberry Pi within Home Assistant."
+title: Raspberry Pi Camera
+description: Instructions on how to integrate Raspberry Pi within Home Assistant.
logo: raspberry-pi.png
ha_category:
- DIY
diff --git a/source/_integrations/rpi_gpio.markdown b/source/_integrations/rpi_gpio.markdown
index ecebf0b117f..1c9b00e7526 100644
--- a/source/_integrations/rpi_gpio.markdown
+++ b/source/_integrations/rpi_gpio.markdown
@@ -1,6 +1,6 @@
---
-title: "Raspberry Pi GPIO"
-description: "Instructions on how to integrate the GPIO capability of a Raspberry Pi into Home Assistant."
+title: Raspberry Pi GPIO
+description: Instructions on how to integrate the GPIO capability of a Raspberry Pi into Home Assistant.
logo: raspberry-pi.png
ha_category:
- DIY
@@ -184,7 +184,7 @@ invert_logic:
For more details about the GPIO layout, visit the Wikipedia [article](https://en.wikipedia.org/wiki/Raspberry_Pi#General_purpose_input-output_(GPIO)_connector) about the Raspberry Pi.
-Note that a pin managed by HASS is expected to be exclusive to HASS.
+Note that a pin managed by Home Assistant is expected to be exclusive to Home Assistant.
A common question is what does Port refer to, this number is the actual GPIO #, not the pin #.
diff --git a/source/_integrations/rpi_gpio_pwm.markdown b/source/_integrations/rpi_gpio_pwm.markdown
index 3fcb775584e..15835e16054 100644
--- a/source/_integrations/rpi_gpio_pwm.markdown
+++ b/source/_integrations/rpi_gpio_pwm.markdown
@@ -1,6 +1,6 @@
---
-title: "PWM LED Light"
-description: "Instructions on how to setup PWM LEDs within Home Assistant."
+title: pigpio Daemon PWM LED
+description: Instructions on how to setup PWM LEDs within Home Assistant.
ha_category:
- DIY
ha_iot_class: Local Push
diff --git a/source/_integrations/rpi_pfio.markdown b/source/_integrations/rpi_pfio.markdown
index d5bdae097f6..7a762c590c0 100644
--- a/source/_integrations/rpi_pfio.markdown
+++ b/source/_integrations/rpi_pfio.markdown
@@ -1,6 +1,6 @@
---
-title: "PiFace Digital I/O"
-description: "Instructions on how to integrate the PiFace Digital I/O module into Home Assistant."
+title: PiFace Digital I/O (PFIO)
+description: Instructions on how to integrate the PiFace Digital I/O module into Home Assistant.
logo: raspberry-pi.png
ha_category:
- DIY
@@ -107,4 +107,4 @@ ports:
required: false
default: false
type: boolean
-{% endconfiguration %}
\ No newline at end of file
+{% endconfiguration %}
diff --git a/source/_integrations/rpi_rf.markdown b/source/_integrations/rpi_rf.markdown
index 153f10b2442..3c98dc88ba1 100644
--- a/source/_integrations/rpi_rf.markdown
+++ b/source/_integrations/rpi_rf.markdown
@@ -1,6 +1,6 @@
---
-title: "Raspberry Pi RF Switch"
-description: "Instructions on how to integrate devices controlled via codes sent with low-cost GPIO RF modules on a Raspberry Pi into Home Assistant as a switch."
+title: Raspberry Pi RF
+description: Instructions on how to integrate devices controlled via codes sent with low-cost GPIO RF modules on a Raspberry Pi into Home Assistant as a switch.
logo: raspberry-pi.png
ha_category:
- DIY
diff --git a/source/_integrations/rss_feed_template.markdown b/source/_integrations/rss_feed_template.markdown
index a0a73702de9..8698d709526 100644
--- a/source/_integrations/rss_feed_template.markdown
+++ b/source/_integrations/rss_feed_template.markdown
@@ -1,11 +1,11 @@
---
-title: "RSS feed template"
-description: "Use this integration to generate RSS feeds showing your latest data."
+title: RSS Feed Template
+description: Use this integration to generate RSS feeds showing your latest data.
logo: home-assistant.png
ha_category:
- Front End
ha_release: 0.44
-ha_qa_scale: internal
+ha_quality_scale: internal
---
The `rss_feed_template` integration can export any information from Home Assistant as a static RSS feed. This can be used to display that information on many types of devices using an RSS reader. While native apps for Home Assistant are not widely available, native RSS readers exist for almost any platform.
diff --git a/source/_integrations/rtorrent.markdown b/source/_integrations/rtorrent.markdown
index 4e7449f1c76..ab97991454f 100644
--- a/source/_integrations/rtorrent.markdown
+++ b/source/_integrations/rtorrent.markdown
@@ -1,6 +1,6 @@
---
-title: "rtorrent Sensor"
-description: "Instructions on how to integrate rtorrent sensors within Home Assistant."
+title: rTorrent
+description: Instructions on how to integrate rtorrent sensors within Home Assistant.
logo: rtorrent.png
ha_category:
- Downloading
diff --git a/source/_integrations/russound_rio.markdown b/source/_integrations/russound_rio.markdown
index 1c2fccda2e3..eabc2ada17d 100644
--- a/source/_integrations/russound_rio.markdown
+++ b/source/_integrations/russound_rio.markdown
@@ -1,6 +1,6 @@
---
-title: "Russound RIO"
-description: "Instructions on how to integrate Russound RIO devices into Home Assistant."
+title: Russound RIO
+description: Instructions on how to integrate Russound RIO devices into Home Assistant.
logo: russound.png
ha_category:
- Media Player
diff --git a/source/_integrations/russound_rnet.markdown b/source/_integrations/russound_rnet.markdown
index a7433385158..5583c0beef2 100644
--- a/source/_integrations/russound_rnet.markdown
+++ b/source/_integrations/russound_rnet.markdown
@@ -1,6 +1,6 @@
---
-title: "Russound RNET"
-description: "Instructions on how to integrate Russound RNET devices into Home Assistant."
+title: Russound RNET
+description: Instructions on how to integrate Russound RNET devices into Home Assistant.
logo: russound.png
ha_category:
- Media Player
diff --git a/source/_integrations/sabnzbd.markdown b/source/_integrations/sabnzbd.markdown
index 9f41839fe57..7841cc8f53a 100644
--- a/source/_integrations/sabnzbd.markdown
+++ b/source/_integrations/sabnzbd.markdown
@@ -1,11 +1,11 @@
---
-title: "SABnzbd"
-description: "Instructions on how to integrate SABnzbd with Home Assistant."
+title: SABnzbd
+description: Instructions on how to integrate SABnzbd with Home Assistant.
logo: sabnzbd.png
ha_category:
- Downloading
- Sensor
-ha_release: 0.70
+ha_release: 0.7
ha_iot_class: Local Polling
---
diff --git a/source/_integrations/saj.markdown b/source/_integrations/saj.markdown
index 98dc00e205e..ed26f24005b 100644
--- a/source/_integrations/saj.markdown
+++ b/source/_integrations/saj.markdown
@@ -1,11 +1,13 @@
---
-title: "SAJ Solar Inverter"
-description: "Instructions on how to connect your SAJ Solar Inverter to Home Assistant."
+title: SAJ Solar Inverter
+description: Instructions on how to connect your SAJ Solar Inverter to Home Assistant.
ha_category:
- Energy
logo: saj.png
ha_iot_class: Local Polling
-ha_release: "0.100"
+ha_release: '0.100'
+ha_codeowners:
+ - '@fredericvl'
---
The `saj` sensor will poll a [SAJ](https://www.saj-electric.com/) solar inverter and present the values as sensors in Home Assistant.
diff --git a/source/_integrations/samsungtv.markdown b/source/_integrations/samsungtv.markdown
index 9ffd7b3e2ea..f694e0aa0e4 100644
--- a/source/_integrations/samsungtv.markdown
+++ b/source/_integrations/samsungtv.markdown
@@ -1,11 +1,13 @@
---
-title: "Samsung Smart TV"
-description: "Instructions on how to integrate a Samsung Smart TV into Home Assistant."
+title: Samsung Smart TV
+description: Instructions on how to integrate a Samsung Smart TV into Home Assistant.
logo: samsung.png
ha_category:
- Media Player
ha_release: 0.13
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@escoand'
---
The `samsungtv` platform allows you to control a [Samsung Smart TV](https://www.samsung.com/uk/tvs/all-tvs/).
@@ -55,7 +57,17 @@ broadcast_address:
type: string
{% endconfiguration %}
-Currently known supported models:
+### Supported models
+
+If your model is not on the list then give it a test, if everything works correctly then add it to the list on [GitHub](https://github.com/home-assistant/home-assistant.io/tree/current/source/_integrations/samsungtv.markdown).
+
+#### Naming
+
+The first letter (U, P, L, H & K) represent the screen type, e.g., LED or Plasma. The second letter represents the region, E is Europe, N is North America and A is Asia & Australia. The two numbers following that represent the screen size. If you add your model remember to remove these first 4 characters before adding to the list.
+
+For example: for model `UN55NU7100`, the `UN55` would mean it's an LED, North American, 55 inch TV, and the model number listed below would be the remainder: `NU7100`.
+
+#### Models tested and working
- C7700
- D5500
@@ -69,6 +81,7 @@ Currently known supported models:
- EH5600
- ES5500
- ES5700
+- ES6100
- ES6300
- ES6800
- F4580
@@ -103,7 +116,7 @@ Currently known supported models:
- UE49KU6470 (port must be set to 8001, On/Off, Forward/Backward, Volume are OK, but no Play button)
- UE46ES5500 (partially supported, turn on doesn't works)
-Currently tested but not working models:
+#### Models tested but not yet working
- J5200 - Unable to see state and unable to control
- J5500 - State is always "on" and unable to control (but port 8001 *is* open)
@@ -119,16 +132,16 @@ Currently tested but not working models:
- MU6125 - Unable to see state and unable to control (Tested on UE58MU6125 on port 8001 and 8801)
- MU6300 - Port set to 8001, turning on works, status not working reliably, turning off is not permanent (it comes back on)
- MU6400 - Unable to see state and unable to control (using latest 1270 firmware. Had limited functionality on previous firmware)
-- Q60 ā turning on works, turning off does not work, State is always "off".
+- Q60 ā Turning on works, turning off does not work, State is always "off".
- Q6F ā Port set to 8001, turning on works, turning off does not work, status not working reliably.
- Q7F - State is always "off" and unable to control via port 8001.
+- Q9F - Turning on works, turning off does not work. State is correct. Nothing else works. Port 8001.
None of the 2014 (H) and 2015 (J) model series (e.g., J5200) will work, since Samsung have used a different (encrypted) type of interface for these.
-If your model is not on the list then give it a test, if everything works correctly then add it to the list on
-[GitHub](https://github.com/home-assistant/home-assistant.io/tree/current/source/_integrations/samsungtv.markdown).
-The first letter (U, P, L, H & K) represent the screen type, e.g., LED or Plasma. The second letter represents the region, E is Europe, N is North America and A is Asia & Australia. The two numbers following that represent the screen size.
-If you add your model remember to remove these first 4 characters before adding to the list.
+### Usage
+
+#### Changing channels
Changing channels can be done by calling the `media_player.play_media` service
with the following payload:
@@ -140,8 +153,9 @@ with the following payload:
"media_content_type": "channel"
}
```
+#### Selecting a source
-Currently the ability to select a source is not implemented.
+Source selection is not yet implemented.
### Hass.io
diff --git a/source/_integrations/satel_integra.markdown b/source/_integrations/satel_integra.markdown
index eff0a7a26c6..e04dc7514b0 100644
--- a/source/_integrations/satel_integra.markdown
+++ b/source/_integrations/satel_integra.markdown
@@ -1,6 +1,6 @@
---
-title: "Satel Integra Alarm"
-description: "Instructions on how to integrate a Satel Integra alarm panel with Home Assistant using an ETHM network extension from Satel."
+title: Satel Integra
+description: Instructions on how to integrate a Satel Integra alarm panel with Home Assistant using an ETHM network extension from Satel.
logo: satel.jpg
ha_category:
- Hub
diff --git a/source/_integrations/scene.markdown b/source/_integrations/scene.markdown
index 0848e1cc02f..fcc4604ea1b 100644
--- a/source/_integrations/scene.markdown
+++ b/source/_integrations/scene.markdown
@@ -1,11 +1,13 @@
---
-title: "Scenes"
-description: "Instructions on how to setup scenes within Home Assistant."
+title: Scenes
+description: Instructions on how to setup scenes within Home Assistant.
logo: home-assistant.png
ha_category:
- Organization
-ha_qa_scale: internal
ha_release: 0.15
+ha_quality_scale: internal
+ha_codeowners:
+ - '@home-assistant/core'
---
You can create scenes that capture the states you want certain entities to be. For example, a scene can specify that light A should be turned on and light B should be bright red.
diff --git a/source/_integrations/scrape.markdown b/source/_integrations/scrape.markdown
index 5a033fe68d7..5364b178c11 100644
--- a/source/_integrations/scrape.markdown
+++ b/source/_integrations/scrape.markdown
@@ -1,11 +1,13 @@
---
-title: "Scrape Sensor"
-description: "Instructions on how to integrate Web scrape sensors into Home Assistant."
+title: Scrape
+description: Instructions on how to integrate Web scrape sensors into Home Assistant.
logo: home-assistant.png
ha_category:
- Sensor
ha_release: 0.31
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@fabaff'
---
The `scrape` sensor platform is scraping information from websites. The sensor loads a HTML page and gives you the option to search and split out a value. As this is not a full-blown web scraper like [scrapy](https://scrapy.org/), it will most likely only work with simple web pages and it can be time-consuming to get the right section.
diff --git a/source/_integrations/script.markdown b/source/_integrations/script.markdown
index 846f5e8e54b..0e16ecc7c40 100644
--- a/source/_integrations/script.markdown
+++ b/source/_integrations/script.markdown
@@ -1,11 +1,13 @@
---
-title: "Scripts"
-description: "Instructions on how to setup scripts within Home Assistant."
+title: Scripts
+description: Instructions on how to setup scripts within Home Assistant.
logo: home-assistant.png
ha_category:
- Automation
-ha_qa_scale: internal
ha_release: 0.7
+ha_quality_scale: internal
+ha_codeowners:
+ - '@home-assistant/core'
---
The `script` integration allows users to specify a sequence of actions to be executed by Home Assistant. These are run when you turn the script on. The script integration will create an entity for each script and allow them to be controlled via services.
@@ -65,6 +67,8 @@ sequence:
### Full Configuration
+{% raw %}
+
```yaml
script:Ā
wakeup:
@@ -96,6 +100,8 @@ script:Ā
entity_id: group.living_room
```
+{% endraw %}
+
### Passing variables to scripts
As part of the service, variables can be passed along to a script so they become available within templates in that script.
diff --git a/source/_integrations/scsgate.markdown b/source/_integrations/scsgate.markdown
index 34c3242c842..082b1c3775e 100644
--- a/source/_integrations/scsgate.markdown
+++ b/source/_integrations/scsgate.markdown
@@ -1,6 +1,6 @@
---
-title: "SCSGate"
-description: "Instructions on how to integrate SCSGate into Home Assistant."
+title: SCSGate
+description: Instructions on how to integrate SCSGate into Home Assistant.
logo: bus_scs.png
ha_category:
- Hub
diff --git a/source/_integrations/season.markdown b/source/_integrations/season.markdown
index e98a1f4d15a..1a87f68e96d 100644
--- a/source/_integrations/season.markdown
+++ b/source/_integrations/season.markdown
@@ -1,12 +1,12 @@
---
-title: "Season Sensor"
-description: "Instructions on how to add season sensors into Home Assistant."
+title: Season
+description: Instructions on how to add season sensors into Home Assistant.
ha_category:
- Utility
logo: home-assistant.png
ha_iot_class: Local Polling
ha_release: 0.53
-ha_qa_scale: internal
+ha_quality_scale: internal
---
The `season` sensor will display the current astronomical or meteorological season (Spring, Summer, Autumn, Winter) based on the user's setting in the configuration file.
diff --git a/source/_integrations/sendgrid.markdown b/source/_integrations/sendgrid.markdown
index 82b78b900df..0ff5dd07dcc 100644
--- a/source/_integrations/sendgrid.markdown
+++ b/source/_integrations/sendgrid.markdown
@@ -1,6 +1,6 @@
---
-title: "SendGrid"
-description: "Instructions on how to add email notifications via SendGrid to Home Assistant."
+title: SendGrid
+description: Instructions on how to add email notifications via SendGrid to Home Assistant.
logo: sendgrid.png
ha_category:
- Notifications
diff --git a/source/_integrations/sense.markdown b/source/_integrations/sense.markdown
index 02cd2b75cd4..7b547e153f4 100644
--- a/source/_integrations/sense.markdown
+++ b/source/_integrations/sense.markdown
@@ -1,6 +1,6 @@
---
title: Sense
-description: "Instructions on how to integrate Sense within Home Assistant."
+description: Instructions on how to integrate Sense within Home Assistant.
logo: sense.png
ha_category:
- Energy
@@ -8,6 +8,8 @@ ha_category:
- Sensor
ha_iot_class: Cloud Polling
ha_release: 0.82
+ha_codeowners:
+ - '@kbickar'
---
Integrate your [Sense](https://sense.com) meter information into Home Assistant.
diff --git a/source/_integrations/sensehat.markdown b/source/_integrations/sensehat.markdown
index e605795f352..964dca115eb 100644
--- a/source/_integrations/sensehat.markdown
+++ b/source/_integrations/sensehat.markdown
@@ -1,6 +1,6 @@
---
-title: "Sense HAT"
-description: "Instructions on how to setup Sense HAT LED lights within Home Assistant."
+title: Sense HAT
+description: Instructions on how to setup Sense HAT LED lights within Home Assistant.
logo: sense-hat.png
ha_category:
- DIY
diff --git a/source/_integrations/sensibo.markdown b/source/_integrations/sensibo.markdown
index 71b11163e49..35627385e29 100644
--- a/source/_integrations/sensibo.markdown
+++ b/source/_integrations/sensibo.markdown
@@ -1,11 +1,13 @@
---
-title: "Sensibo A/C controller"
-description: "Instructions on how to integrate Sensibo A/C controller into Home Assistant."
+title: Sensibo
+description: Instructions on how to integrate Sensibo A/C controller into Home Assistant.
logo: sensibo.png
ha_category:
- Climate
ha_release: 0.44
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@andrey-git'
---
Integrates [Sensibo](https://sensibo.com) Air Conditioning controller into Home Assistant.
diff --git a/source/_integrations/sensor.command_line.markdown b/source/_integrations/sensor.command_line.markdown
index 670f5f2fb50..62edb923463 100644
--- a/source/_integrations/sensor.command_line.markdown
+++ b/source/_integrations/sensor.command_line.markdown
@@ -155,8 +155,9 @@ The script (saved as `arest-value.py`) that is used looks like the example below
```python
#!/usr/bin/python3
from requests import get
-response = get('http://10.0.0.48/analog/2')
-print(response.json()['return_value'])
+
+response = get("http://10.0.0.48/analog/2")
+print(response.json()["return_value"])
```
To use the script you need to add something like the following to your `configuration.yaml` file.
diff --git a/source/_integrations/sensor.markdown b/source/_integrations/sensor.markdown
index 7ac97d5280c..8a85255f098 100644
--- a/source/_integrations/sensor.markdown
+++ b/source/_integrations/sensor.markdown
@@ -1,11 +1,11 @@
---
-title: "Sensor"
-description: "Instructions on how to setup your sensors with Home Assistant."
+title: Sensor
+description: Instructions on how to setup your sensors with Home Assistant.
logo: home-assistant.png
ha_category:
- Sensor
-ha_qa_scale: internal
ha_release: 0.7
+ha_quality_scale: internal
---
Sensors are gathering information about states and conditions.
diff --git a/source/_integrations/sensor.modbus.markdown b/source/_integrations/sensor.modbus.markdown
index 13378090288..600eca91fbd 100644
--- a/source/_integrations/sensor.modbus.markdown
+++ b/source/_integrations/sensor.modbus.markdown
@@ -73,6 +73,11 @@ registers:
description: Unit to attach to value.
required: false
type: integer
+ device_class:
+ description: The [type/class](/integrations/sensor/#device-class) of the sensor to set the icon in the frontend.
+ required: false
+ type: device_class
+ default: None
count:
description: Number of registers to read.
required: false
diff --git a/source/_integrations/sensor.rflink.markdown b/source/_integrations/sensor.rflink.markdown
index b9896eb28c1..5db5a1a7e61 100644
--- a/source/_integrations/sensor.rflink.markdown
+++ b/source/_integrations/sensor.rflink.markdown
@@ -63,13 +63,9 @@ devices:
description: "Alternative RFLink ID's this device is known by."
required: false
type: [list, string]
- aliasses:
- description: "(**deprecated**) Alternative RFLink ID's this device is known by."
- required: false
- type: [list, string]
{% endconfiguration %}
-## Sensors types
+## Sensor types
Sensor type values:
diff --git a/source/_integrations/sensor.websocket_api.markdown b/source/_integrations/sensor.websocket_api.markdown
index 5dcea994cd8..987d1717dd8 100644
--- a/source/_integrations/sensor.websocket_api.markdown
+++ b/source/_integrations/sensor.websocket_api.markdown
@@ -6,7 +6,7 @@ ha_category:
- Utility
ha_release: 0.33
ha_iot_class: Local Push
-ha_qa_scale: internal
+ha_quality_scale: internal
---
The `websocket_api` sensor platform shows how many clients are connected to the stream API.
diff --git a/source/_integrations/sentry.markdown b/source/_integrations/sentry.markdown
new file mode 100644
index 00000000000..648967a0931
--- /dev/null
+++ b/source/_integrations/sentry.markdown
@@ -0,0 +1,33 @@
+---
+title: Sentry
+description: Record errors to Sentry.
+logo: sentry.png
+ha_category:
+ - System Monitor
+ha_iot_class: Cloud Polling
+ha_release: 0.104
+ha_config_flow: true
+---
+
+The `sentry` integration integrates with [Sentry](https://sentry.io/) to capture both logged errors as well as unhandled exceptions in Home Assistant.
+
+## Configuration
+
+To use the `sentry` integration in your installation, add the following to your `configuration.yaml` file:
+
+```yaml
+# Example configuration.yaml entry
+sentry:
+ dsn: SENTRY_DSN
+```
+
+{% configuration %}
+dsn:
+ description: The DSN provided to you by Sentry.
+ required: true
+ type: string
+environment:
+ description: An environment name to associate with events.
+ required: false
+ type: string
+{% endconfiguration %}
diff --git a/source/_integrations/serial.markdown b/source/_integrations/serial.markdown
index 68f44acbb6f..e405e87b5ac 100644
--- a/source/_integrations/serial.markdown
+++ b/source/_integrations/serial.markdown
@@ -1,11 +1,13 @@
---
-title: "Serial Sensor"
-description: "Instructions on how to integrate data from serial connected sensors into Home Assistant."
+title: Serial
+description: Instructions on how to integrate data from serial connected sensors into Home Assistant.
logo: home-assistant.png
ha_category:
- Sensor
ha_release: 0.56
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@fabaff'
---
The `serial` sensor platform is using the data provided by a device connected to the serial port of the system where Home Assistant is running. With [`ser2net`](http://ser2net.sourceforge.net/) and [`socat`](http://www.dest-unreach.org/socat/) would it also work for sensors connected to a remote system.
diff --git a/source/_integrations/serial_pm.markdown b/source/_integrations/serial_pm.markdown
index 1c55c5ee90b..2b156485676 100644
--- a/source/_integrations/serial_pm.markdown
+++ b/source/_integrations/serial_pm.markdown
@@ -1,6 +1,6 @@
---
-title: "Particulate matter Sensor"
-description: "Instructions on how to integrate particulate matter (dust) sensors with Home Assistant."
+title: Serial Particulate Matter
+description: Instructions on how to integrate particulate matter (dust) sensors with Home Assistant.
logo: serial_pm.png
ha_category:
- DIY
diff --git a/source/_integrations/sesame.markdown b/source/_integrations/sesame.markdown
index 15ceb6cdb9b..c3599028536 100644
--- a/source/_integrations/sesame.markdown
+++ b/source/_integrations/sesame.markdown
@@ -1,6 +1,6 @@
---
-title: "Sesame Smart Lock"
-description: "Instructions on how to integrate Sesame by CANDY HOUSE into Home Assistant."
+title: Sesame Smart Lock
+description: Instructions on how to integrate Sesame by CANDY HOUSE into Home Assistant.
logo: sesame.png
ha_category:
- Lock
@@ -12,7 +12,7 @@ The `sesame` platform allows you to control your [Sesame](https://candyhouse.co/
## Configuration
-Your Sesame needs to be paired with a mobile device running the app in *virtual station* mode, or a standalone [Wi-Fi Access Point](https://candyhouse.co/collections/frontpage/products/wi-fi-access-point).
+Your Sesame needs to be paired with a standalone [Wi-Fi Access Point](https://candyhouse.co/collections/frontpage/products/wi-fi-access-point) purchased separately.
You will also need to generate an API key from [my.candyhouse.co](https://my.candyhouse.co/#/credentials).
diff --git a/source/_integrations/seven_segments.markdown b/source/_integrations/seven_segments.markdown
index 728252e554b..ec15c7a7d6e 100644
--- a/source/_integrations/seven_segments.markdown
+++ b/source/_integrations/seven_segments.markdown
@@ -1,6 +1,6 @@
---
-title: "Seven segments display"
-description: "Instructions on how to use OCR for seven segments displays into Home Assistant."
+title: Seven Segments OCR
+description: Instructions on how to use OCR for seven segments displays into Home Assistant.
logo: home-assistant.png
ha_category:
- Image Processing
diff --git a/source/_integrations/seventeentrack.markdown b/source/_integrations/seventeentrack.markdown
index ebc8765c533..21a56a4ff76 100644
--- a/source/_integrations/seventeentrack.markdown
+++ b/source/_integrations/seventeentrack.markdown
@@ -1,11 +1,13 @@
---
-title: "17track.net"
-description: "Instructions on how to use 17track.net data within Home Assistant"
+title: 17TRACK
+description: Instructions on how to use 17track.net data within Home Assistant
logo: 17track.png
ha_category:
- Postal Service
ha_release: 0.83
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@bachya'
---
The `seventeentrack` sensor platform allows users to get package data tied to their [17track.net](https://www.17track.net/en) account. The platform creates both summary sensors, which show the number of packages in a current state (e.g., "In Transit"), as well as individual sensors for each package within the account.
diff --git a/source/_integrations/shell_command.markdown b/source/_integrations/shell_command.markdown
index 6eab549b7b2..8ba7d934d54 100644
--- a/source/_integrations/shell_command.markdown
+++ b/source/_integrations/shell_command.markdown
@@ -1,11 +1,13 @@
---
-title: "Shell command"
-description: "Instructions on how to integrate Shell commands into Home Assistant."
+title: Shell Command
+description: Instructions on how to integrate Shell commands into Home Assistant.
ha_category:
- Automation
logo: home-assistant.png
-ha_qa_scale: internal
ha_release: 0.7.6
+ha_quality_scale: internal
+ha_codeowners:
+ - '@home-assistant/core'
---
This integration can expose regular shell commands as services. Services can be called from a [script] or in [automation].
diff --git a/source/_integrations/shiftr.markdown b/source/_integrations/shiftr.markdown
index 24680c4b0c1..cbb91afefb2 100644
--- a/source/_integrations/shiftr.markdown
+++ b/source/_integrations/shiftr.markdown
@@ -1,10 +1,12 @@
---
-title: "Shiftr.io"
-description: "Transfer events to Shiftr.io."
+title: shiftr.io
+description: Transfer events to Shiftr.io.
logo: shiftr.png
ha_category:
- - "History"
+ - History
ha_release: 0.48
+ha_codeowners:
+ - '@fabaff'
---
The `shiftr` integration makes it possible to transfer details collected with Home Assistant to [Shiftr.io](https://shiftr.io) and visualize the flow of the information. Keep in mind that your details will be public!
diff --git a/source/_integrations/shodan.markdown b/source/_integrations/shodan.markdown
index 44810e38860..3032528dff8 100644
--- a/source/_integrations/shodan.markdown
+++ b/source/_integrations/shodan.markdown
@@ -1,11 +1,13 @@
---
-title: "Shodan Sensor"
-description: "Instructions on how to integrate Shodan sensors into Home Assistant."
+title: Shodan
+description: Instructions on how to integrate Shodan sensors into Home Assistant.
ha_category:
- Sensor
ha_iot_class: Cloud Polling
logo: shodan.png
ha_release: 0.51
+ha_codeowners:
+ - '@fabaff'
---
The `shodan` sensor platform is displaying the total of result of a
diff --git a/source/_integrations/shopping_list.markdown b/source/_integrations/shopping_list.markdown
index 2cd9f884492..49dade52144 100644
--- a/source/_integrations/shopping_list.markdown
+++ b/source/_integrations/shopping_list.markdown
@@ -1,11 +1,11 @@
---
-title: "Shopping List"
-description: "Instructions on how to integrate a Shopping list into Home Assistant using Intent."
+title: Shopping List
+description: Instructions on how to integrate a Shopping list into Home Assistant using Intent.
logo: home-assistant.png
ha_category:
- Intent
-ha_release: "0.50"
-ha_qa_scale: internal
+ha_release: '0.50'
+ha_quality_scale: internal
---
The `shopping_list` integration allows you to keep track of shopping list items. Includes the ability to add items via your voice using the sentence "Add eggs to my shopping list".
diff --git a/source/_integrations/sht31.markdown b/source/_integrations/sht31.markdown
index 95092ae30b4..f08a44393de 100644
--- a/source/_integrations/sht31.markdown
+++ b/source/_integrations/sht31.markdown
@@ -1,6 +1,6 @@
---
-title: "Sensirion SHT31 Sensor"
-description: "Instructions on how to integrate SHT31 sensors within Home Assistant."
+title: Sensirion SHT31
+description: Instructions on how to integrate SHT31 sensors within Home Assistant.
ha_category:
- DIY
ha_release: 0.68
diff --git a/source/_integrations/sigfox.markdown b/source/_integrations/sigfox.markdown
index 3ebdc2635ba..352080c94ce 100644
--- a/source/_integrations/sigfox.markdown
+++ b/source/_integrations/sigfox.markdown
@@ -1,6 +1,6 @@
---
-title: "Sigfox Sensor"
-description: "Display messages from Sigfox devices in Home Assistant."
+title: Sigfox
+description: Display messages from Sigfox devices in Home Assistant.
logo: sigfox.png
ha_category:
- Sensor
diff --git a/source/_integrations/signal_messenger.markdown b/source/_integrations/signal_messenger.markdown
new file mode 100644
index 00000000000..814108ba7ea
--- /dev/null
+++ b/source/_integrations/signal_messenger.markdown
@@ -0,0 +1,81 @@
+---
+title: Signal Messenger
+description: Instructions on how to integrate Signal Messenger within Home Assistant.
+logo: signal_messenger.png
+ha_category:
+ - Notifications
+ha_release: 0.104
+---
+
+The `signal_messenger` integration uses the [Signal Messenger REST API](https://github.com/bbernhard/signal-cli-rest-api) to deliver notifications from Home Assistant to your Android or iOs device.
+
+## Setup
+
+The requirements are:
+
+- You need to set up the Signal Messenger REST API.
+- You need a spare phone number to register with the Signal Messenger service.
+
+
+Please follow those [instructions](https://github.com/bbernhard/signal-cli-rest-api/blob/master/doc/HOMEASSISTANT.md), to set up the Signal Messenger REST API.
+
+
+## Configuration
+
+To send Signal Messenger notifications with Home Assistant, add the following to your `configuration.yaml` file:
+
+```yaml
+# Example configuration.yaml entry for Signal Messenger
+notify:
+ - name: signal
+ platform: signal_messenger
+ url: "http://127.0.0.1:8080" # the URL where the Signal Messenger REST API is listening
+ number: YOUR_PHONE_NUMBER # the sender number
+ recipients: # one or more recipients
+ - RECIPIENT1
+```
+
+{% configuration %}
+name:
+ description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
+ required: false
+ type: string
+ default: notify
+url:
+ description: The URL where the Signal Messenger REST API listens for incoming requests.
+ required: true
+ type: string
+number:
+ description: The sender number.
+ required: true
+ type: string
+recipients:
+ description: A list of recipients.
+ required: true
+ type: string
+{% endconfiguration %}
+
+## Examples
+
+A few examples on how to use this integration.
+
+### Text message
+
+```yaml
+...
+action:
+ service: notify.NOTIFIER_NAME
+ data:
+ message: "That's an example that sends a simple text message to the recipients specified in the configuration.yaml"
+```
+
+### Text message with an attachment
+
+```yaml
+...
+action:
+ service: notify.NOTIFIER_NAME
+ data:
+ message: "Alarm in the living room!"
+ attachment: "/tmp/surveillance_camera.jpg"
+```
diff --git a/source/_integrations/simplepush.markdown b/source/_integrations/simplepush.markdown
index 580b1c2fdaf..05fcbfd6834 100644
--- a/source/_integrations/simplepush.markdown
+++ b/source/_integrations/simplepush.markdown
@@ -1,13 +1,12 @@
---
-title: "Simplepush"
-description: "Instructions on how to add Simplepush notifications to Home Assistant."
+title: Simplepush
+description: Instructions on how to add Simplepush notifications to Home Assistant.
logo: simplepush.png
ha_category:
- Notifications
ha_release: 0.29
---
-
The `simplepush` platform uses [Simplepush](https://simplepush.io/) to delivery notifications from Home Assistant to your Android device. Unlike similar apps the Simplepush app requires no registration.
To add Simplepush to your installation, add the following to your `configuration.yaml` file:
diff --git a/source/_integrations/simplisafe.markdown b/source/_integrations/simplisafe.markdown
index f3fd0b49cd1..fab3604c3e5 100644
--- a/source/_integrations/simplisafe.markdown
+++ b/source/_integrations/simplisafe.markdown
@@ -1,14 +1,17 @@
---
-title: "SimpliSafe"
-description: "Instructions on how to integrate SimpliSafe into Home Assistant."
+title: SimpliSafe
+description: Instructions on how to integrate SimpliSafe into Home Assistant.
logo: simplisafe.png
ha_release: 0.81
ha_category:
- Alarm
- Lock
+ha_config_flow: true
+ha_codeowners:
+ - '@bachya'
---
-The `simplisafe` integration integrates SimpliSafe home security (V2 and V3) systems into Home Assistant. Multiple SimpliSafe accounts can be accommodated.
+The `simplisafe` integration integrates [SimpliSafe home security](https://simplisafe.com) (V2 and V3) systems into Home Assistant. Multiple SimpliSafe accounts can be accommodated.
There is currently support for the following device types within Home Assistant:
diff --git a/source/_integrations/simulated.markdown b/source/_integrations/simulated.markdown
index f964c1003aa..79bc4a947b9 100644
--- a/source/_integrations/simulated.markdown
+++ b/source/_integrations/simulated.markdown
@@ -1,12 +1,12 @@
---
-title: "Simulated sensor"
-description: "Component for simulating a numerical sensor."
+title: Simulated
+description: Component for simulating a numerical sensor.
logo: home-assistant.png
ha_category:
- Utility
ha_iot_class: Local Polling
ha_release: 0.65
-ha_qa_scale: internal
+ha_quality_scale: internal
---
The `simulated` sensor platform provides a simulated sensor that generates a time-varying signal `V(t)` given by the [function](https://en.wikipedia.org/wiki/Sine_wave):
diff --git a/source/_integrations/sinch.markdown b/source/_integrations/sinch.markdown
index e2ed441979f..ab425eb9c00 100644
--- a/source/_integrations/sinch.markdown
+++ b/source/_integrations/sinch.markdown
@@ -1,10 +1,12 @@
---
-title: "Sinch SMS"
-description: "Instructions on how to add Sinch notifications to Home Assistant."
+title: Sinch SMS
+description: Instructions on how to add Sinch notifications to Home Assistant.
logo: sinch.png
ha_category:
- Notifications
ha_release: 0.101
+ha_codeowners:
+ - '@bendikrb'
---
The `sinch` platform uses [Sinch](https://www.sinch.com/products/messaging/sms/) to deliver notifications from Home Assistant.
@@ -61,5 +63,5 @@ notify:
service_plan_id: SINCH_SERVICE_PLAN_ID
api_key: SINCH_API_KEY
default_recipient: [PHONE_NO1, PHONE_NO2]
- sender: Home assistant
+ sender: Home Assistant
```
diff --git a/source/_integrations/sisyphus.markdown b/source/_integrations/sisyphus.markdown
index bc9921e6991..3ed5531d490 100644
--- a/source/_integrations/sisyphus.markdown
+++ b/source/_integrations/sisyphus.markdown
@@ -1,6 +1,6 @@
---
-title: "Sisyphus"
-description: "Instructions on how to integrate your Sisyphus Kinetic Art Table within Home Assistant."
+title: Sisyphus
+description: Instructions on how to integrate your Sisyphus Kinetic Art Table within Home Assistant.
logo: sisyphus.png
ha_category:
- Hub
diff --git a/source/_integrations/sky_hub.markdown b/source/_integrations/sky_hub.markdown
index dbd43e9fe8e..c499f7f3a94 100644
--- a/source/_integrations/sky_hub.markdown
+++ b/source/_integrations/sky_hub.markdown
@@ -1,13 +1,12 @@
---
-title: "Sky Hub"
-description: "Instructions on how to integrate Sky Hub routers into Home Assistant."
+title: Sky Hub
+description: Instructions on how to integrate Sky Hub routers into Home Assistant.
logo: sky.png
ha_category:
- Presence Detection
ha_release: 0.37
---
-
The `sky_hub` platform offers presence detection by looking at connected devices to a [Sky Hub router](https://www.sky.com/shop/broadband-talk/sky-hub/) based router.
To use your Sky Hub device in your installation, add the following to your `configuration.yaml` file:
diff --git a/source/_integrations/skybeacon.markdown b/source/_integrations/skybeacon.markdown
index bb0563f93ef..21dd1af3852 100644
--- a/source/_integrations/skybeacon.markdown
+++ b/source/_integrations/skybeacon.markdown
@@ -1,6 +1,6 @@
---
-title: "Skybeacon sensor"
-description: "Instructions on how to integrate MiFlora BLE plant sensor with Home Assistant."
+title: Skybeacon
+description: Instructions on how to integrate MiFlora BLE plant sensor with Home Assistant.
ha_category:
- DIY
ha_release: 0.37
diff --git a/source/_integrations/skybell.markdown b/source/_integrations/skybell.markdown
index 96faeb33500..34c7945c289 100644
--- a/source/_integrations/skybell.markdown
+++ b/source/_integrations/skybell.markdown
@@ -1,6 +1,6 @@
---
-title: "Skybell"
-description: "Instructions on how to integrate your Skybell HD devices within Home Assistant."
+title: SkyBell
+description: Instructions on how to integrate your Skybell HD devices within Home Assistant.
logo: skybell.png
ha_category:
- Doorbell
diff --git a/source/_integrations/slack.markdown b/source/_integrations/slack.markdown
index 819cd9367dd..c70fb19c262 100644
--- a/source/_integrations/slack.markdown
+++ b/source/_integrations/slack.markdown
@@ -1,13 +1,12 @@
---
-title: "Slack"
-description: "Instructions on how to add Slack notifications to Home Assistant."
+title: Slack
+description: Instructions on how to add Slack notifications to Home Assistant.
logo: slack.png
ha_category:
- Notifications
ha_release: pre 0.7
---
-
The `slack` platform allows you to deliver notifications from Home Assistant to [Slack](https://slack.com/).
## Setup
diff --git a/source/_integrations/sleepiq.markdown b/source/_integrations/sleepiq.markdown
index ce55c4c9da4..e17338d1027 100644
--- a/source/_integrations/sleepiq.markdown
+++ b/source/_integrations/sleepiq.markdown
@@ -1,6 +1,6 @@
---
-title: "SleepIQ"
-description: "Instructions for how to integrate SleepIQ beds within Home Assistant."
+title: SleepIQ
+description: Instructions for how to integrate SleepIQ beds within Home Assistant.
logo: sleepiq.png
ha_category:
- Health
diff --git a/source/_integrations/slide.markdown b/source/_integrations/slide.markdown
index 8d7f6e5f916..d14afc1436f 100644
--- a/source/_integrations/slide.markdown
+++ b/source/_integrations/slide.markdown
@@ -1,12 +1,14 @@
---
-title: "Slide"
-description: "Instructions on how to integrate the Innovation in Motion Slide covers with Home Assistant."
+title: Slide
+description: Instructions on how to integrate the Innovation in Motion Slide covers with Home Assistant.
logo: slide.png
ha_category:
- Hub
- Cover
ha_iot_class: Cloud Polling
ha_release: 0.99
+ha_codeowners:
+ - '@ualex73'
---
The `slide` implementation allows you to integrate your [slide.store](https://slide.store/) devices in Home Assistant using the [official API](https://documenter.getpostman.com/view/6223391/S1Lu2pSf?version=latest).
@@ -35,4 +37,3 @@ scan_interval:
default: 30 seconds
type: integer
{% endconfiguration %}
-
diff --git a/source/_integrations/sma.markdown b/source/_integrations/sma.markdown
index faccfba81d2..07c708eeabe 100644
--- a/source/_integrations/sma.markdown
+++ b/source/_integrations/sma.markdown
@@ -1,11 +1,13 @@
---
-title: "SMA Solar WebConnect"
-description: "Instructions on how to connect your SMA Solar Inverter to Home Assistant."
+title: SMA Solar
+description: Instructions on how to connect your SMA Solar Inverter to Home Assistant.
ha_category:
- Energy
logo: sma.png
ha_iot_class: Local Polling
ha_release: 0.36
+ha_codeowners:
+ - '@kellerza'
---
The `sma` sensor will poll a [SMA](http://www.sma-solar.com/) [(US)](https://www.sma-america.com/) solar inverter and present the values as sensors (or attributes of sensors) in Home Assistant.
diff --git a/source/_integrations/smappee.markdown b/source/_integrations/smappee.markdown
index 7ebaff58b40..0b66df6971a 100644
--- a/source/_integrations/smappee.markdown
+++ b/source/_integrations/smappee.markdown
@@ -1,6 +1,6 @@
---
-title: "Smappee"
-description: "Instructions on how to setup Smappee within Home Assistant."
+title: Smappee
+description: Instructions on how to setup Smappee within Home Assistant.
logo: smappee.png
ha_release: 0.64
ha_category:
diff --git a/source/_integrations/smarthab.markdown b/source/_integrations/smarthab.markdown
index e97965e6b3e..5cf38554f1f 100644
--- a/source/_integrations/smarthab.markdown
+++ b/source/_integrations/smarthab.markdown
@@ -1,6 +1,6 @@
---
-title: "SmartHab"
-description: "Instructions on how to integrate SmartHab devices into Home Assistant"
+title: SmartHab
+description: Instructions on how to integrate SmartHab devices into Home Assistant
logo: smarthab.png
ha_release: 0.94
ha_category:
@@ -8,6 +8,8 @@ ha_category:
- Cover
- Light
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@outadoc'
---
If your home is fitted with [SmartHab](https://www.smarthab.fr/en/home/)'s
diff --git a/source/_integrations/smartthings.markdown b/source/_integrations/smartthings.markdown
index 1986c58684e..e956be88351 100644
--- a/source/_integrations/smartthings.markdown
+++ b/source/_integrations/smartthings.markdown
@@ -1,6 +1,6 @@
---
-title: "SmartThings"
-description: "Instructions on setting up Samsung SmartThings within Home Assistant."
+title: Smartthings
+description: Instructions on setting up Samsung SmartThings within Home Assistant.
featured: true
logo: samsung_smartthings.png
ha_category:
@@ -16,6 +16,9 @@ ha_category:
- Switch
ha_release: 0.87
ha_iot_class: Cloud Push
+ha_config_flow: true
+ha_codeowners:
+ - '@andrewsayre'
---
Samsung SmartThings is integrated into Home Assistant through the SmartThings Cloud API. The SmartThings integration is the main integration to integrate all SmartThings related platforms. The basic features of this integration include:
@@ -108,7 +111,7 @@ The integration will trigger an event when a device with the [button](https://sm
| Attribute | Description
|---------------------------|------------------------------------------------------------------|
`component_id` | Describes which integration of the device triggered the event. `main` represents the parent device. For devices with child-devices, this attribute identifies the child that raised the event.
-`device_id` | The unique id of the device in SmartThings. This can be located in the HASS device registry or in the [SmartThings Developer Workspace](https://smartthings.developer.samsung.com/workspace/).
+`device_id` | The unique id of the device in SmartThings. This can be located in the Home Assistant device registry or in the [SmartThings Developer Workspace](https://smartthings.developer.samsung.com/workspace/).
`location_id` | The unique id of the location the device is part of. This can be found in the config entry registry or in the [SmartThings Developer Workspace](https://smartthings.developer.samsung.com/workspace/).
`value` | Describes the action taken on the button. See the [button](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Button) capability reference for a list of possible values (not all are supported by every device).
`name` | The name given to the device in SmartThings.
diff --git a/source/_integrations/smarty.markdown b/source/_integrations/smarty.markdown
index a1fe9070015..9057156506d 100644
--- a/source/_integrations/smarty.markdown
+++ b/source/_integrations/smarty.markdown
@@ -1,12 +1,14 @@
---
-title: "Salda Smarty 2X/3X/4X P/V Ventilation"
-description: "Instructions on how to integrate Salda Smarty 2X/3X/4X P/V ventilation systems into Home Assistant."
+title: Salda Smarty
+description: Instructions on how to integrate Salda Smarty 2X/3X/4X P/V ventilation systems into Home Assistant.
logo: salda.png
ha_category:
- Hub
- Fan
- Sensor
ha_release: 0.95
+ha_codeowners:
+ - '@z0mbieprocess'
---
The `smarty` integration lets you control Salda [Smarty](http://www.salda.lt/en/products/category/compact-counter-flow-units) ventilation units from Home Assistant. You need a [MB-GATEWAY](http://www.salda.lt/en/products/item/5637227077) or something similar to connect to your local network.
diff --git a/source/_integrations/smhi.markdown b/source/_integrations/smhi.markdown
index a2642b3f06c..2e53261bed0 100644
--- a/source/_integrations/smhi.markdown
+++ b/source/_integrations/smhi.markdown
@@ -1,12 +1,13 @@
---
-title: "SMHI"
-description: "Instructions on how to integrate SMHI forecasts within Home Assistant."
+title: SMHI
+description: Instructions on how to integrate SMHI forecasts within Home Assistant.
logo: smhi.png
ha_category:
- - Hub
- - Weather
+ - Hub
+ - Weather
ha_release: 0.81
ha_iot_class: Cloud Polling
+ha_config_flow: true
---
The `smhi` integration adds support for the [SMHI.se](https://www.smhi.se/) web service as a source for meteorological data for your location.
diff --git a/source/_integrations/smtp.markdown b/source/_integrations/smtp.markdown
index 8328d569a1c..ee22f40b293 100644
--- a/source/_integrations/smtp.markdown
+++ b/source/_integrations/smtp.markdown
@@ -1,13 +1,14 @@
---
-title: "SMTP"
-description: "Instructions on how to add e-mail notifications to Home Assistant."
+title: SMTP
+description: Instructions on how to add e-mail notifications to Home Assistant.
logo: smtp.png
ha_category:
- Notifications
ha_release: pre 0.7
+ha_codeowners:
+ - '@fabaff'
---
-
The `smtp` platform allows you to deliver notifications from Home Assistant to an e-mail recipient.
To enable notification by e-mail in your installation, add the following to your `configuration.yaml` file:
diff --git a/source/_integrations/snapcast.markdown b/source/_integrations/snapcast.markdown
index 2ad1d9b3e99..8dc4d17ca90 100644
--- a/source/_integrations/snapcast.markdown
+++ b/source/_integrations/snapcast.markdown
@@ -1,6 +1,6 @@
---
-title: "Snapcast"
-description: "Instructions on how to integrate Snapcast into Home Assistant."
+title: Snapcast
+description: Instructions on how to integrate Snapcast into Home Assistant.
logo: snapcast.png
ha_category:
- Media Player
diff --git a/source/_integrations/snips.markdown b/source/_integrations/snips.markdown
index 86f8cce136c..837ee40e53e 100644
--- a/source/_integrations/snips.markdown
+++ b/source/_integrations/snips.markdown
@@ -1,12 +1,18 @@
---
-title: "Snips"
-description: "Instructions on how to integrate Snips within Home Assistant."
+title: Snips
+description: Instructions on how to integrate Snips within Home Assistant.
logo: snips.png
ha_category:
- Voice
ha_release: 0.48
---
+
+
+The Snips Console no longer available due to acquisition by Sonos. For more details, read the [announcement on the Snips forum](https://forum.snips.ai/t/important-message-regarding-the-snips-console/4145).
+
+
+
The [Snips Voice Platform](https://www.snips.ai) allows users to add powerful voice assistants to their Raspberry Pi devices without compromising on privacy. It runs 100% on-device, and does not require an internet connection. It features Hotword Detection, Automatic Speech Recognition (ASR), Natural Language Understanding (NLU) and Dialog Management.
The latest documentation can be found here: [Snips Platform Documentation](https://docs.snips.ai/).
diff --git a/source/_integrations/snmp.markdown b/source/_integrations/snmp.markdown
index 649c77bfbff..6ae8d3eb7b8 100644
--- a/source/_integrations/snmp.markdown
+++ b/source/_integrations/snmp.markdown
@@ -1,6 +1,6 @@
---
-title: "SNMP"
-description: "Instructions on how to integrate SNMP into Home Assistant."
+title: SNMP
+description: Instructions on how to integrate SNMP into Home Assistant.
logo: network-snmp.png
ha_category:
- Network
@@ -40,6 +40,7 @@ The following OID examples pull the current MAC Address table from a router. Thi
| OPNSense | 19.1 | `1.3.6.1.2.1.4.22.1.2` |
| pfSense | 2.2.4 | `1.3.6.1.2.1.4.22.1.2` |
| Ruckus | ZoneDirector 9.13.3 | `1.3.6.1.4.1.25053.1.2.2.1.1.3.1.1.1.6` |
+| TP-Link | Archer VR1600v | `1.3.6.1.2.1.3.1.1.2.16.1` |
| TP-Link | Archer VR2600v | `1.3.6.1.2.1.3.1.1.2.19.1` |
| TP-Link | Archer VR600 | `1.3.6.1.2.1.3.1.1.2` |
| Ubiquiti | Edgerouter Lite v1.9.0 | `1.3.6.1.2.1.4.22.1.2` |
diff --git a/source/_integrations/sochain.markdown b/source/_integrations/sochain.markdown
index c123f280909..d007e06c2f6 100644
--- a/source/_integrations/sochain.markdown
+++ b/source/_integrations/sochain.markdown
@@ -1,6 +1,6 @@
---
-title: "SoChain"
-description: "Instructions on how to integrate chain.so data within Home Assistant."
+title: SoChain
+description: Instructions on how to integrate chain.so data within Home Assistant.
logo: sochain.png
ha_category:
- Finance
diff --git a/source/_integrations/socialblade.markdown b/source/_integrations/socialblade.markdown
index cb46dfa638f..676c9b1a2be 100644
--- a/source/_integrations/socialblade.markdown
+++ b/source/_integrations/socialblade.markdown
@@ -1,6 +1,6 @@
---
-title: Social Blade Sensor
-description: "Instructions on how to set up Social Blade Sensor within Home Assistant."
+title: Social Blade
+description: Instructions on how to set up Social Blade Sensor within Home Assistant.
logo: socialblade.png
ha_category:
- Multimedia
diff --git a/source/_integrations/solaredge.markdown b/source/_integrations/solaredge.markdown
index b6bfcdee3b4..65b4600da30 100644
--- a/source/_integrations/solaredge.markdown
+++ b/source/_integrations/solaredge.markdown
@@ -1,11 +1,12 @@
---
-title: "SolarEdge Sensor"
-description: "Instructions on how to integrate SolarEdge sensor within Home Assistant."
+title: SolarEdge
+description: Instructions on how to integrate SolarEdge sensor within Home Assistant.
logo: solaredge.png
ha_category:
- Sensor
ha_release: 0.85
ha_iot_class: Cloud Polling
+ha_config_flow: true
---
The `solaredge` platform uses the [SolarEdge Monitoring API](https://www.solaredge.com/sites/default/files/se_monitoring_api.pdf) to allow you to get details from your SolarEdge solar power setup and integrate these in your Home Assistant installation.
diff --git a/source/_integrations/solaredge_local.markdown b/source/_integrations/solaredge_local.markdown
index d536dc76e91..560ff4e51a1 100644
--- a/source/_integrations/solaredge_local.markdown
+++ b/source/_integrations/solaredge_local.markdown
@@ -1,12 +1,15 @@
---
-title: "SolarEdge Local Sensor"
-description: "Instructions on how to integrate SolarEdge sensor within Home Assistant via Local API."
+title: SolarEdge Local
+description: Instructions on how to integrate SolarEdge sensor within Home Assistant via Local API.
logo: solaredge.png
ha_category:
- Sensor
- Energy
ha_release: 0.95
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@drobtravels'
+ - '@scheric'
---
The `solaredge_local` platform uses the local API available on some SolarEdge Inverters to allow you to get details from your SolarEdge solar power setup and integrate these into your Home Assistant installation.
@@ -30,7 +33,7 @@ To use the SolarEdge sensors in your installation, add the following to your con
# Example configuration.yaml entry
sensor:
- platform: solaredge_local
- ip_address: IP_ADDRES
+ ip_address: IP_ADDRESS
```
{% configuration %}
diff --git a/source/_integrations/solarlog.markdown b/source/_integrations/solarlog.markdown
index c8c21bf73c0..7e6ea1a1176 100644
--- a/source/_integrations/solarlog.markdown
+++ b/source/_integrations/solarlog.markdown
@@ -1,13 +1,16 @@
---
-title: "Solar-Log Sensor"
-description: "Instructions on how to integrate Solar-Log sensors within Home Assistant."
+title: Solar-Log
+description: Instructions on how to integrate Solar-Log sensors within Home Assistant.
logo: solar-log.png
ha_category: Sensor
ha_release: 0.101
ha_iot_class: Local Polling
+ha_config_flow: true
+ha_codeowners:
+ - '@Ernst79'
---
-The `solarlog` integration uses the open JSON interface on Solar-Log PV monitoring systems to allow you to get details from your Solar-Log device and integrate these into your Home Assistant installation.
+The `solarlog` integration uses the open JSON interface on [Solar-Log PV monitoring systems](https://www.solar-log.com/) to allow you to get details from your Solar-Log device and integrate these into your Home Assistant installation.
Before being able to use the integration, you have to activate the open JSON interface on your Solar-Log device. This can be activated from the Configuration | System | Access control menu of your Solar-Log device.
When activating the interface, a red warning triangle with security information and risks is displayed.
diff --git a/source/_integrations/solax.markdown b/source/_integrations/solax.markdown
index aa41aa3ef50..7e75822cfef 100644
--- a/source/_integrations/solax.markdown
+++ b/source/_integrations/solax.markdown
@@ -1,12 +1,14 @@
---
-title: "Solax Sensor"
-description: "Instructions on how to integrate Solax sensor within Home Assistant."
+title: SolaX Power
+description: Instructions on how to integrate Solax sensor within Home Assistant.
logo: solax-logo.png
ha_category:
- Energy
- Sensor
ha_release: 0.94
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@squishykid'
---
The `solax` integration connects home-assistant to Solax solar power inverters. Solax inverters may be connected to a home Wi-Fi network and expose a REST API. This integration retrieves information such as photovoltaic power production, battery levels and power, and how much power is being fed back into the grid.
diff --git a/source/_integrations/soma.markdown b/source/_integrations/soma.markdown
index 390e45540c0..4e8353a9288 100644
--- a/source/_integrations/soma.markdown
+++ b/source/_integrations/soma.markdown
@@ -1,12 +1,14 @@
---
-title: "Soma"
-description: "Instructions on how to set up the Soma Connect within Home Assistant."
+title: Soma Connect
+description: Instructions on how to set up the Soma Connect within Home Assistant.
logo: soma.png
ha_category:
- Cover
ha_iot_class: Local Polling
ha_config_flow: true
-ha_release: "0.100"
+ha_release: '0.100'
+ha_codeowners:
+ - '@ratsept'
---
The Soma integration will allow users to integrate their Soma Smarthome devices into Home Assistant using the Soma Connect hub.
@@ -37,4 +39,3 @@ port:
default: 3000
type: string
{% endconfiguration %}
-
diff --git a/source/_integrations/somfy.markdown b/source/_integrations/somfy.markdown
index 61d7bce342f..d83c0da0274 100644
--- a/source/_integrations/somfy.markdown
+++ b/source/_integrations/somfy.markdown
@@ -1,11 +1,14 @@
---
-title: "Somfy"
-description: "Instructions on how to set up the Somfy hub within Home Assistant."
+title: Somfy Open API
+description: Instructions on how to set up the Somfy hub within Home Assistant.
logo: somfy.png
ha_category:
- Hub
ha_iot_class: Cloud Polling
ha_release: 0.95
+ha_config_flow: true
+ha_codeowners:
+ - '@tetienne'
---
The Somfy integration will allow users to integrate their Somfy devices into Home Assistant using the [official API](https://developer.somfy.com/somfy-open-api/apis), unlike the [tahoma](/integrations/tahoma/) component.
diff --git a/source/_integrations/somfy_mylink.markdown b/source/_integrations/somfy_mylink.markdown
index c913e371795..8efe11fcf24 100644
--- a/source/_integrations/somfy_mylink.markdown
+++ b/source/_integrations/somfy_mylink.markdown
@@ -1,12 +1,12 @@
---
-title: "Somfy MyLink"
-description: "Instructions on how to integrate Somfy MyLink devices with Home Assistant."
+title: Somfy MyLink
+description: Instructions on how to integrate Somfy MyLink devices with Home Assistant.
logo: tahoma.png
ha_category:
- Hub
- Cover
ha_release: 0.92
-ha_iot_class: "Assumed State"
+ha_iot_class: Assumed State
---
The `Somfy MyLink` integration is used as an interface to a compatible Somfy MyLink hub utilizing the `Synergy` API. It allows the addition of covers from the Somfy MyLink platform to Home Assistant.
diff --git a/source/_integrations/sonarr.markdown b/source/_integrations/sonarr.markdown
index acbe8d7d46d..a58e92a540c 100644
--- a/source/_integrations/sonarr.markdown
+++ b/source/_integrations/sonarr.markdown
@@ -1,6 +1,6 @@
---
-title: "Sonarr Sensor"
-description: "Instructions on how to integrate Sonarr sensors with Home Assistant"
+title: Sonarr
+description: Instructions on how to integrate Sonarr sensors with Home Assistant
logo: sonarr.png
ha_category:
- Downloading
diff --git a/source/_integrations/songpal.markdown b/source/_integrations/songpal.markdown
index 6877ebf0d83..6ec8ebc69a0 100644
--- a/source/_integrations/songpal.markdown
+++ b/source/_integrations/songpal.markdown
@@ -1,11 +1,13 @@
---
-title: "Sony SongPal compatible devices"
-description: "Instructions on how to integrate Sony Songpal devices into Home Assistant."
+title: Sony Songpal
+description: Instructions on how to integrate Sony Songpal devices into Home Assistant.
logo: sony.png
ha_category:
- Media Player
ha_iot_class: Local Push
ha_release: 0.65
+ha_codeowners:
+ - '@rytilahti'
---
The `songpal` platform allows you to control Sony's Songpal ("[Audio Control API](https://developer.sony.com/develop/audio-control-api/)") compatible devices such as soundbars, AV receivers and wireless speakers from Home Assistant.
@@ -58,6 +60,3 @@ For a list of available settings and their values use [`songpal sound`](https://
| `entity_id` | yes | Target entity, leave unset for all devices |
| `name` | no | Configuration variable, e.g., `nightmode` |
| `value` | no | New configuration value, e.g., `on` |
-
-
-
diff --git a/source/_integrations/sonos.markdown b/source/_integrations/sonos.markdown
index 3eede48379c..4af4c8e23b2 100644
--- a/source/_integrations/sonos.markdown
+++ b/source/_integrations/sonos.markdown
@@ -1,12 +1,13 @@
---
-title: "Sonos"
-description: "Instructions on how to integrate Sonos devices into Home Assistant."
+title: Sonos
+description: Instructions on how to integrate Sonos devices into Home Assistant.
logo: sonos.png
ha_category:
- Media Player
featured: true
ha_release: 0.7.3
ha_iot_class: Local Push
+ha_config_flow: true
---
The `sonos` integration allows you to control your [Sonos](https://www.sonos.com) wireless speakers from Home Assistant. It also works with IKEA Symfonisk speakers.
diff --git a/source/_integrations/sony_projector.markdown b/source/_integrations/sony_projector.markdown
index 632cd71fa74..47cd3687945 100644
--- a/source/_integrations/sony_projector.markdown
+++ b/source/_integrations/sony_projector.markdown
@@ -1,6 +1,6 @@
---
-title: "Sony Projector Switch"
-description: "Instructions on how to integrate Sony Projector switches into Home Assistant."
+title: Sony Projector
+description: Instructions on how to integrate Sony Projector switches into Home Assistant.
logo: sony.png
ha_category:
- Multimedia
diff --git a/source/_integrations/soundtouch.markdown b/source/_integrations/soundtouch.markdown
index 8bc82bfaaa6..906187d5b6d 100644
--- a/source/_integrations/soundtouch.markdown
+++ b/source/_integrations/soundtouch.markdown
@@ -1,6 +1,6 @@
---
-title: "Soundtouch"
-description: "Instructions on how to integrate Bose Soundtouch devices into Home Assistant."
+title: Bose Soundtouch
+description: Instructions on how to integrate Bose Soundtouch devices into Home Assistant.
logo: soundtouch.png
ha_category:
- Media Player
diff --git a/source/_integrations/spaceapi.markdown b/source/_integrations/spaceapi.markdown
index 719919b3952..6d9cef1d863 100644
--- a/source/_integrations/spaceapi.markdown
+++ b/source/_integrations/spaceapi.markdown
@@ -1,10 +1,12 @@
---
-title: "SpaceAPI"
-description: "Instructions on how to configure the SpaceAPI for Home Assistant."
+title: Space API
+description: Instructions on how to configure the SpaceAPI for Home Assistant.
logo: spaceapi.png
ha_category:
- Social
-ha_release: "0.70"
+ha_release: '0.70'
+ha_codeowners:
+ - '@fabaff'
---
The `spaceapi` integration allow Hackerspaces to expose information to web apps or any other application with the [SpaceAPI](http://spaceapi.net/).
diff --git a/source/_integrations/spc.markdown b/source/_integrations/spc.markdown
index f1caea63da4..ce845506677 100644
--- a/source/_integrations/spc.markdown
+++ b/source/_integrations/spc.markdown
@@ -1,6 +1,6 @@
---
-title: "SPC"
-description: "Instructions on how to setup Vanderbilt SPC devices within Home Assistant."
+title: Vanderbilt SPC
+description: Instructions on how to setup Vanderbilt SPC devices within Home Assistant.
ha_category:
- Hub
- Alarm
diff --git a/source/_integrations/speedtestdotnet.markdown b/source/_integrations/speedtestdotnet.markdown
index 5b93f1e17b1..2832e271426 100644
--- a/source/_integrations/speedtestdotnet.markdown
+++ b/source/_integrations/speedtestdotnet.markdown
@@ -1,12 +1,14 @@
---
-title: "Speedtest.net"
-description: "How to integrate Speedtest.net within Home Assistant."
+title: Speedtest.net
+description: How to integrate Speedtest.net within Home Assistant.
logo: speedtest.png
ha_category:
- System Monitor
- Sensor
ha_release: 0.13
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@rohankapoorcom'
---
The `speedtestdotnet` integration uses the [Speedtest.net](https://speedtest.net/) web service to measure network bandwidth performance.
diff --git a/source/_integrations/spider.markdown b/source/_integrations/spider.markdown
index 49df07a8796..19c9502dad9 100644
--- a/source/_integrations/spider.markdown
+++ b/source/_integrations/spider.markdown
@@ -1,6 +1,6 @@
---
-title: "Spider"
-description: "Instructions on how to setup the Spider hub within Home Assistant."
+title: Itho Daalderop Spider
+description: Instructions on how to setup the Spider hub within Home Assistant.
logo: spider.png
ha_category:
- Hub
@@ -8,6 +8,8 @@ ha_category:
- Switch
ha_iot_class: Cloud Polling
ha_release: 0.75
+ha_codeowners:
+ - '@peternijssen'
---
The `spider` integration is the main integration to integrate all [Itho Daalderop Spider](https://www.ithodaalderop.nl/spider-thermostaat) related platforms. You will need your Spider account information (username, password) to discover and control devices which are related to your account.
diff --git a/source/_integrations/splunk.markdown b/source/_integrations/splunk.markdown
index d0718987d72..4c4ddd11b8c 100644
--- a/source/_integrations/splunk.markdown
+++ b/source/_integrations/splunk.markdown
@@ -1,6 +1,6 @@
---
-title: "Splunk"
-description: "Record events in Splunk."
+title: Splunk
+description: Record events in Splunk.
logo: splunk.png
ha_category:
- History
diff --git a/source/_integrations/spotcrime.markdown b/source/_integrations/spotcrime.markdown
index 0da27a6431d..8889ffb50c1 100644
--- a/source/_integrations/spotcrime.markdown
+++ b/source/_integrations/spotcrime.markdown
@@ -1,6 +1,6 @@
---
-title: "Spot Crime"
-description: "Instructions on how to integrate spotcrime.com into Home Assistant."
+title: Spot Crime
+description: Instructions on how to integrate spotcrime.com into Home Assistant.
ha_release: 0.65
ha_iot_class: Cloud Polling
---
diff --git a/source/_integrations/spotify.markdown b/source/_integrations/spotify.markdown
index a96557cf511..a52fb4916fd 100644
--- a/source/_integrations/spotify.markdown
+++ b/source/_integrations/spotify.markdown
@@ -1,6 +1,6 @@
---
-title: "Spotify"
-description: "Instructions on how to integrate Spotify into Home Assistant."
+title: Spotify
+description: Instructions on how to integrate Spotify into Home Assistant.
logo: spotify.png
ha_category:
- Media Player
@@ -28,10 +28,10 @@ To create the required Spotify application:
- Add a **Redirect URI** in one of the following forms:
If you are not using SSL:
- `http://:/api/spotify`
+ `http:///api/spotify`
If you are using SSL:
- `https://:/api/spotify`
+ `https:///api/spotify`
- Click **Save** after adding the URI.
diff --git a/source/_integrations/sql.markdown b/source/_integrations/sql.markdown
index 49f0587968e..09ecabb4a61 100644
--- a/source/_integrations/sql.markdown
+++ b/source/_integrations/sql.markdown
@@ -1,10 +1,12 @@
---
-title: "SQL Sensor"
-description: "Instructions how to integrate SQL sensors into Home Assistant."
+title: SQL
+description: Instructions how to integrate SQL sensors into Home Assistant.
logo: sql.png
ha_category:
- Utility
ha_release: 0.63
+ha_codeowners:
+ - '@dgomes'
---
The `sql` sensor platform enables you to use values from an [SQL](https://en.wikipedia.org/wiki/SQL) database supported by the [sqlalchemy](https://www.sqlalchemy.org) library, to populate a sensor state (and attributes).
diff --git a/source/_integrations/squeezebox.markdown b/source/_integrations/squeezebox.markdown
index 2de50583424..cf50b3435fc 100644
--- a/source/_integrations/squeezebox.markdown
+++ b/source/_integrations/squeezebox.markdown
@@ -1,6 +1,6 @@
---
-title: "Logitech Squeezebox"
-description: "Instructions on how to integrate a Logitech Squeezebox player into Home Assistant."
+title: Logitech Squeezebox
+description: Instructions on how to integrate a Logitech Squeezebox player into Home Assistant.
logo: squeezebox.png
ha_category:
- Media Player
@@ -8,7 +8,6 @@ ha_release: pre 0.7
ha_iot_class: Local Polling
---
-
The `squeezebox` platform allows you to control a [Logitech Squeezebox](https://en.wikipedia.org/wiki/Squeezebox_%28network_music_player%29) music player from Home Assistant. This lets you control Squeezebox hardware like the Classic, Transporter, Duet, Boom, Radio and Touch and of software players like [SoftSqueeze](http://softsqueeze.sourceforge.net/), [SqueezePlayer](https://play.google.com/store/apps/details?id=de.bluegaspode.squeezeplayer) and [SqueezeSlave](https://forums.slimdevices.com/showthread.php?93607-ANNOUNCE-Squeezeslave-1-2-released).
To add your Squeezebox player to your installation, add the following to your `configuration.yaml` file:
diff --git a/source/_integrations/ssdp.markdown b/source/_integrations/ssdp.markdown
index 98fdac9f5ce..dd7762bc89f 100644
--- a/source/_integrations/ssdp.markdown
+++ b/source/_integrations/ssdp.markdown
@@ -1,6 +1,6 @@
---
-title: "SSDP - Simple Service Discovery Protocol"
-description: "Discover integrations on the network using the SSDP protocol."
+title: Simple Service Discovery Protocol (SSDP)
+description: Discover integrations on the network using the SSDP protocol.
ha_category:
- Network
ha_release: 0.94
diff --git a/source/_integrations/starline.markdown b/source/_integrations/starline.markdown
index 2ff6da66b01..e9d3037865a 100644
--- a/source/_integrations/starline.markdown
+++ b/source/_integrations/starline.markdown
@@ -1,6 +1,6 @@
---
-title: "StarLine"
-description: "Instructions on how to setup your StarLine account with Home Assistant."
+title: StarLine
+description: Instructions on how to setup your StarLine account with Home Assistant.
logo: starline.png
ha_category:
- Car
@@ -12,6 +12,8 @@ ha_category:
ha_release: 0.103
ha_iot_class: Cloud Polling
ha_config_flow: true
+ha_codeowners:
+ - '@anonym-tsk'
---
The `starline` integration lets you retrieve data of your StarLine security system from the StarLine portal. You will need a working StarLine account.
@@ -31,7 +33,7 @@ This integration provides the following platforms:
2. Open the integrations page and add the StarLine integration.
3. Fill in your application ID, secret, login and password.
-After adding the integration, you can configure the API update interval on the integration page.
+After adding the integration, you can configure the API update interval using [`starline.set_scan_interval`](#set-scan-interval) service.
diff --git a/source/_integrations/starlingbank.markdown b/source/_integrations/starlingbank.markdown
index fb413f3aa0b..dbc503b2b46 100644
--- a/source/_integrations/starlingbank.markdown
+++ b/source/_integrations/starlingbank.markdown
@@ -1,6 +1,6 @@
---
-title: "Starling Bank"
-description: "How to integrate your Starling Bank account within Home Assistant."
+title: Starling Bank
+description: How to integrate your Starling Bank account within Home Assistant.
logo: starlingbank.png
ha_category:
- Finance
diff --git a/source/_integrations/startca.markdown b/source/_integrations/startca.markdown
index c4775644c62..86070175189 100644
--- a/source/_integrations/startca.markdown
+++ b/source/_integrations/startca.markdown
@@ -1,6 +1,6 @@
---
-title: "Start.ca"
-description: "Instructions on how to integrate Start.ca data usage within Home Assistant."
+title: Start.ca
+description: Instructions on how to integrate Start.ca data usage within Home Assistant.
logo: startca.png
ha_category:
- Network
@@ -76,5 +76,5 @@ monitored_conditions:
total_download:
description: Total bandwidth upload (Grace + Used) (gigabytes).
used_remaining:
- description: Remaining bandwidth calucated from used and supplied total bandwidth (gigabytes).
+ description: Remaining bandwidth calculated from used and supplied total bandwidth (gigabytes).
{% endconfiguration %}
diff --git a/source/_integrations/statistics.markdown b/source/_integrations/statistics.markdown
index dd3dd361085..5db21438799 100644
--- a/source/_integrations/statistics.markdown
+++ b/source/_integrations/statistics.markdown
@@ -1,12 +1,14 @@
---
-title: "Statistics Sensor"
-description: "Instructions on how to integrate statistical sensors into Home Assistant."
+title: Statistics
+description: Instructions on how to integrate statistical sensors into Home Assistant.
logo: home-assistant.png
ha_category:
- Utility
ha_iot_class: Local Polling
-ha_release: "0.30"
-ha_qa_scale: internal
+ha_release: '0.30'
+ha_quality_scale: internal
+ha_codeowners:
+ - '@fabaff'
---
The `statistics` sensor platform consumes the state from other sensors. It exports the `mean` value as state and the following values as attributes: `count`, `mean`, `median`, `stdev`, `variance`, `total`, `min_value`, `max_value`, `min_age`, `max_age`, `change`, `average_change` and `change_rate`. If it's a binary sensor then only state changes are counted.
diff --git a/source/_integrations/statsd.markdown b/source/_integrations/statsd.markdown
index 7078a0a1d2e..f5e1e658f20 100644
--- a/source/_integrations/statsd.markdown
+++ b/source/_integrations/statsd.markdown
@@ -1,9 +1,9 @@
---
-title: "StatsD"
-description: "Record events in StatsD."
+title: StatsD
+description: Record events in StatsD.
logo: statsd.png
ha_category:
- - "History"
+ - History
ha_release: 0.12
---
diff --git a/source/_integrations/steam_online.markdown b/source/_integrations/steam_online.markdown
index 3a373c13eda..96f19308b87 100644
--- a/source/_integrations/steam_online.markdown
+++ b/source/_integrations/steam_online.markdown
@@ -1,6 +1,6 @@
---
-title: "Steam"
-description: "Instructions on how to set up Steam sensors in Home Assistant."
+title: Steam
+description: Instructions on how to set up Steam sensors in Home Assistant.
logo: steam.png
ha_category:
- Social
diff --git a/source/_integrations/stiebel_eltron.markdown b/source/_integrations/stiebel_eltron.markdown
index f0a7796683f..e8113c27878 100644
--- a/source/_integrations/stiebel_eltron.markdown
+++ b/source/_integrations/stiebel_eltron.markdown
@@ -1,11 +1,13 @@
---
-title: "STIEBEL ELTRON"
-description: "Instructions on how to integrate STIEBEL ELTRON integral ventilation and heat pump units into Home Assistant."
+title: STIEBEL ELTRON
+description: Instructions on how to integrate STIEBEL ELTRON integral ventilation and heat pump units into Home Assistant.
logo: stiebel_eltron.png
ha_category:
- Climate
ha_release: 0.92
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@fucm'
---
The `stiebel_eltron` integration lets you control integral ventilation or heat pump units of [STIEBEL ELTRON](https://www.stiebel-eltron.com).
diff --git a/source/_integrations/stookalert.markdown b/source/_integrations/stookalert.markdown
new file mode 100644
index 00000000000..ab60733e85f
--- /dev/null
+++ b/source/_integrations/stookalert.markdown
@@ -0,0 +1,35 @@
+---
+title: "Stookalert"
+description: "Instructions on how to use Stookalert data within Home Assistant"
+logo: stookalert.png
+ha_category:
+ - Binary Sensor
+ - Environment
+ha_release: 0.104
+ha_iot_class: Cloud Polling
+---
+
+The `stookalert` sensor platform queries the [RIVM stookalert](https://www.rivm.nl/stookalert) API for unfavorable weather conditions or poor air quality. With a Stookalert, the RIVM calls on people not to burn wood. This can prevent health problems in people in the area.
+
+
+## Configuration
+
+To enable the platform, add the following lines to your `configuration.yaml` file:
+
+```yaml
+binary_sensor:
+ - platform: stookalert
+ province: YOUR_NL_PROVINCE
+```
+
+{% configuration %}
+province:
+ description: a province to use for the binary sensor's state. Currently only provinces in the Netherlands are supported. Valid values are `Drenthe`, `Flevoland`, `Friesland`, `Gelderland`, `Groningen`, `Limburg`, `Noord-Brabant`, `Noord-Holland`, `Overijssel`, `Utrecht`, `Zeeland` or `Zuid-Holland`.
+ required: true
+ type: string
+name:
+ description: The sensor name to use in the frontend.
+ required: false
+ default: "Stookalert"
+ type: string
+{% endconfiguration %}
diff --git a/source/_integrations/stream.markdown b/source/_integrations/stream.markdown
index 3b581f5e48c..93ad40bb06b 100644
--- a/source/_integrations/stream.markdown
+++ b/source/_integrations/stream.markdown
@@ -1,12 +1,14 @@
---
-title: "Stream"
-description: "Instructions on how to integrate live streams within Home Assistant."
+title: Stream
+description: Instructions on how to integrate live streams within Home Assistant.
logo: home-assistant.png
ha_category:
- Other
-ha_release: "0.90"
+ha_release: '0.90'
ha_iot_class: Local Push
-ha_qa_scale: internal
+ha_quality_scale: internal
+ha_codeowners:
+ - '@hunterjm'
---
The `stream` integration provides a way to proxy live streams through Home Assistant. The integration currently only supports proxying H.264 source streams to the HLS format and requires at least FFmpeg >= 3.2.
@@ -33,7 +35,7 @@ Both `duration` and `lookback` options are suggestions, but should be consistent
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `stream_source` | no | The input source for the stream, e.g., `rtsp://my.stream.feed:554`. |
-| `filename` | no | The file name string. Variable is `entity_id`, e.g., `/tmp/my_stream.mp4`. |
+| `filename` | no | The file name string. e.g., `/tmp/my_stream.mp4`. |
| `duration` | yes | Target recording length (in seconds). Default: 30 |
| `lookback` | yes | Target lookback period (in seconds) to include in addition to duration. Only available if there is currently an active HLS stream for `stream_source`. Default: 0 |
diff --git a/source/_integrations/streamlabswater.markdown b/source/_integrations/streamlabswater.markdown
index a3ffe8f22de..9cef0c86189 100644
--- a/source/_integrations/streamlabswater.markdown
+++ b/source/_integrations/streamlabswater.markdown
@@ -1,12 +1,12 @@
---
-title: "Streamlabs Water"
-description: "Instructions on how to integrate Streamlabs Water devices with Home Assistant."
+title: StreamLabs
+description: Instructions on how to integrate Streamlabs Water devices with Home Assistant.
logo: streamlabswater.png
ha_category:
- Binary Sensor
- Sensor
-ha_release: "0.95"
-ha_iot_class: "Cloud Polling"
+ha_release: '0.95'
+ha_iot_class: Cloud Polling
---
The `Streamlabs Water` integration platform is used to interact with [Streamlabs water monitoring devices](https://www.streamlabswater.com/) in order to retrieve usage information and manage the away mode of the device. The [Streamlabs Water API](https://developer.streamlabswater.com) is used to retrieve daily, monthly, and yearly water usage along with the current away mode.
diff --git a/source/_integrations/stt.markdown b/source/_integrations/stt.markdown
index 89a6f3bc7bc..07b871f51cc 100644
--- a/source/_integrations/stt.markdown
+++ b/source/_integrations/stt.markdown
@@ -1,7 +1,9 @@
---
-title: "Speech-to-Text (STT)"
-description: "Instructions on how to set up Speech-to-Text (STT) with Home Assistant."
-ha_release: "0.102"
+title: Speech-to-Text (STT)
+description: Instructions on how to set up Speech-to-Text (STT) with Home Assistant.
+ha_release: '0.102'
+ha_codeowners:
+ - '@pvizeli'
---
Speech-to-Text (SST) allows you to stream speech data to the SST API and get text back.
diff --git a/source/_integrations/suez_water.markdown b/source/_integrations/suez_water.markdown
index 3b1add6172f..dd49bd37d8f 100644
--- a/source/_integrations/suez_water.markdown
+++ b/source/_integrations/suez_water.markdown
@@ -1,11 +1,13 @@
---
-title: "Suez Water Sensor"
-description: "Instructions on how to integrate Suez Water daily data within Home Assistant."
+title: Suez Water
+description: Instructions on how to integrate Suez Water daily data within Home Assistant.
logo: suez.png
ha_release: 0.97
ha_category:
- Sensor
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@ooii'
---
The `suez_water` sensor platform fetches your last day consumption of water from the French water provider [Tout Sur Mon Eau](https://www.toutsurmoneau.fr) website.
diff --git a/source/_integrations/sun.markdown b/source/_integrations/sun.markdown
index 2c38f4fe31e..19a7165cffe 100644
--- a/source/_integrations/sun.markdown
+++ b/source/_integrations/sun.markdown
@@ -1,11 +1,13 @@
---
-title: "Sun"
-description: "Instructions on how to track the sun within Home Assistant."
+title: Sun
+description: Instructions on how to track the sun within Home Assistant.
logo: home-assistant.png
ha_category:
- Environment
-ha_qa_scale: internal
ha_release: pre 0.7
+ha_quality_scale: internal
+ha_codeowners:
+ - '@Swamp-Ig'
---
The sun integration will use your current location to track if the sun is above or
diff --git a/source/_integrations/supervisord.markdown b/source/_integrations/supervisord.markdown
index f11765e5108..143a831e232 100644
--- a/source/_integrations/supervisord.markdown
+++ b/source/_integrations/supervisord.markdown
@@ -1,10 +1,10 @@
---
-title: "Supervisord"
-description: "Instructions on how to integrate Supervisord within Home Assistant."
+title: Supervisord
+description: Instructions on how to integrate Supervisord within Home Assistant.
logo: supervisord.png
ha_category:
- System Monitor
-ha_release: "0.20"
+ha_release: '0.20'
ha_iot_class: Local Polling
---
diff --git a/source/_integrations/supla.markdown b/source/_integrations/supla.markdown
index cc2b3c4c330..eb2597bbf34 100644
--- a/source/_integrations/supla.markdown
+++ b/source/_integrations/supla.markdown
@@ -1,12 +1,14 @@
---
-title: "Supla"
-description: "Instructions for integration with Supla Cloud's Web API"
+title: Supla
+description: Instructions for integration with Supla Cloud's Web API
logo: supla.png
ha_release: 0.92
ha_category:
- Hub
- Cover
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@mwegrzynek'
---
The [Supla](https://supla.org/) is an Open Source home automation system for ESP8266 based devices. It has its own set of protocols, it's own firmware and commercially available devices (produced for example by [Zamel](https://supla.zamel.pl/))
diff --git a/source/_integrations/surepetcare.markdown b/source/_integrations/surepetcare.markdown
new file mode 100644
index 00000000000..8dc3e2e33ff
--- /dev/null
+++ b/source/_integrations/surepetcare.markdown
@@ -0,0 +1,86 @@
+---
+title: Sure Petcare
+description: Instructions on how to integrate the Sure Petcare cat and pet flaps into Home Assistant.
+date: 2019-06-08 20:00
+ha_category:
+ - Binary Sensor
+ - Sensor
+ha_release: 0.104.0
+ha_iot_class: Cloud Polling
+---
+
+The `surepetcare` component allows you to get information on your Sure Petcare Connect Pet or Cat Flap.
+
+## Configuration
+
+To add a flap and pet, add the following to your `configuration.yaml` file:
+
+```yaml
+# Example configuration.yaml entry
+surepetcare:
+ username: x@y.com
+ password: v3rys3cr3t!
+ household_id: 1337
+ flaps: [{id: 2337, name: Flap}]
+ pets: [{id: 3337, name: Pet}]
+```
+
+{% configuration %}
+ username:
+ description: The Sure Petcare Username/Email
+ required: true
+ type: string
+ password:
+ description: The Sure Petcare Password
+ required: true
+ type: string
+ household_id:
+ description: The Sure Petcare household_id
+ required: true
+ type: integer
+ flaps:
+ description: The Sure Petcare flaps
+ required: true
+ type: map
+ keys:
+ id:
+ description: The Sure Petcare id of a flap
+ required: true
+ type: integer
+ name:
+ description: A name for the flap
+ required: true
+ type: string
+ pets:
+ description: Pets managed by Sure Petcare flap(s)
+ required: true
+ type: map
+ keys:
+ id:
+ description: The Sure Petcare id of a pet
+ required: true
+ type: integer
+ name:
+ description: The name of the pet
+ required: true
+ type: string
+ icon:
+ description: "Icon to display (e.g., `mdi:cat`)"
+ required: false
+ default: "mdi:cat"
+ type: string
+ scan_interval:
+ description: "Minimum time interval between updates. Supported formats: `scan_interval: 'HH:MM:SS'`, `scan_interval: 'HH:MM'` and Time period dictionary (see example below)."
+ required: false
+ default: 3 minutes
+ type: time
+ device_class:
+ description: The type/class of the sensor to set the icon in the frontend.
+ required: false
+ default: lock
+ type: device_class
+{% endconfiguration %}
+
+## Getting the IDs of your household, flaps and pets
+
+For now, please use the [sp_cli.py](https://github.com/rcastberg/sure_petcare/blob/master/sp_cli.py) from [@rcastberg](https://github.com/rcastberg) to fetch the IDs from the Sure Petcare API. With default setting, the IDs will be written as JSON to `~/.surepet.cache`.
diff --git a/source/_integrations/swiss_hydrological_data.markdown b/source/_integrations/swiss_hydrological_data.markdown
index 801dbaf3d34..ddbbefd241a 100644
--- a/source/_integrations/swiss_hydrological_data.markdown
+++ b/source/_integrations/swiss_hydrological_data.markdown
@@ -1,11 +1,13 @@
---
-title: "Swiss Hydrological Data"
-description: "Instructions on how to integrate hydrological data of Swiss waters within Home Assistant."
+title: Swiss Hydrological Data
+description: Instructions on how to integrate hydrological data of Swiss waters within Home Assistant.
logo: swiss-hydrological-data.png
ha_category:
- Environment
ha_iot_class: Cloud Polling
ha_release: 0.22
+ha_codeowners:
+ - '@fabaff'
---
The `swiss_hydrological_data` sensor will show you details (temperature, level, and discharge) of rivers and lakes in Switzerland.
diff --git a/source/_integrations/swiss_public_transport.markdown b/source/_integrations/swiss_public_transport.markdown
index 7c07936f410..d98ce930e2b 100644
--- a/source/_integrations/swiss_public_transport.markdown
+++ b/source/_integrations/swiss_public_transport.markdown
@@ -1,11 +1,13 @@
---
-title: "Swiss Public Transport"
-description: "Instructions on how to integrate timetable data for traveling in Switzerland within Home Assistant."
+title: Swiss public transport
+description: Instructions on how to integrate timetable data for traveling in Switzerland within Home Assistant.
logo: train.png
ha_category:
- Transport
ha_iot_class: Cloud Polling
ha_release: pre 0.7
+ha_codeowners:
+ - '@fabaff'
---
The `swiss_public_transport` sensor will give you the next three departure times from a given location to another one in Switzerland.
diff --git a/source/_integrations/swisscom.markdown b/source/_integrations/swisscom.markdown
index d8bde268f4f..cde48414aa1 100644
--- a/source/_integrations/swisscom.markdown
+++ b/source/_integrations/swisscom.markdown
@@ -1,13 +1,12 @@
---
-title: "Swisscom Internet-Box"
-description: "Instructions on how to integrate Swisscom Internet-Box into Home Assistant."
+title: Swisscom Internet-Box
+description: Instructions on how to integrate Swisscom Internet-Box into Home Assistant.
logo: swisscom.png
ha_category:
- Presence Detection
ha_release: 0.32
---
-
The `swisscom` platform offers presence detection by looking at connected devices to an [Internet-Box](https://www.swisscom.ch/en/residential/help/device/internet-router.html) router from [Swisscom](https://www.swisscom.ch) which is an Internet provider in Switzerland.
diff --git a/source/_integrations/switch.markdown b/source/_integrations/switch.markdown
index bfddce7d1d4..778934ddbdd 100644
--- a/source/_integrations/switch.markdown
+++ b/source/_integrations/switch.markdown
@@ -1,11 +1,11 @@
---
-title: "Switch"
-description: "Instructions on how to set up your switches with Home Assistant."
+title: Switch
+description: Instructions on how to set up your switches with Home Assistant.
logo: home-assistant.png
ha_category:
- Switch
-ha_qa_scale: internal
ha_release: 0.7
+ha_quality_scale: internal
---
Keeps track which switches are in your environment, their state and allows you to control them.
diff --git a/source/_integrations/switch.rflink.markdown b/source/_integrations/switch.rflink.markdown
index 263a788bc28..cc46fb0915c 100644
--- a/source/_integrations/switch.rflink.markdown
+++ b/source/_integrations/switch.rflink.markdown
@@ -82,20 +82,20 @@ devices:
default: 1
type: integer
group:
- description: Allow light to respond to group commands (ALLON/ALLOFF).
+ description: Allow switch to respond to group commands (ALLON/ALLOFF).
required: false
default: true
type: boolean
aliases:
- description: "(**deprecated**) Alternative RFLink ID's this device is known by."
+ description: Alternative RFLink ID's this device is known by.
required: false
type: [list, string]
group_aliases:
- description: "(**deprecated**) `aliases` which only respond to group commands."
+ description: "`aliases` which only respond to group commands."
required: false
type: [list, string]
no_group_aliases:
- description: "(**deprecated**) `aliases` which do not respond to group commands."
+ description: "`aliases` which do not respond to group commands."
required: false
type: [list, string]
{% endconfiguration %}
diff --git a/source/_integrations/switch.rfxtrx.markdown b/source/_integrations/switch.rfxtrx.markdown
index 31f1860b734..e1f1ecaa38c 100644
--- a/source/_integrations/switch.rfxtrx.markdown
+++ b/source/_integrations/switch.rfxtrx.markdown
@@ -105,9 +105,9 @@ switch:
signal_repetitions: 2
devices:
0b1100ce3213c7f210010f70:
- name: Movment1
+ name: Movement1
0b11000a02ef2gf210010f50:
- name: Movment2
+ name: Movement2
0b1111e003af16aa10000060:
name: Door
fire_event: true
diff --git a/source/_integrations/switch.template.markdown b/source/_integrations/switch.template.markdown
index 228f161564b..86b42952907 100644
--- a/source/_integrations/switch.template.markdown
+++ b/source/_integrations/switch.template.markdown
@@ -6,7 +6,7 @@ ha_category:
ha_release: 0.13
ha_iot_class: Local Push
logo: home-assistant.png
-ha_qa_scale: internal
+ha_quality_scale: internal
---
The `template` platform creates switches that combines components.
diff --git a/source/_integrations/switchbot.markdown b/source/_integrations/switchbot.markdown
index a47e696b121..3a8a86debf8 100644
--- a/source/_integrations/switchbot.markdown
+++ b/source/_integrations/switchbot.markdown
@@ -1,11 +1,13 @@
---
-title: "Switchbot"
-description: "Instructions on how to set up Switchbot switches."
+title: SwitchBot
+description: Instructions on how to set up Switchbot switches.
logo: switchbot.png
ha_category:
- Switch
ha_release: 0.78
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@danielhiversen'
---
The `switchbot` switch platform allows you to control Switchbot [devices](https://www.switch-bot.com/).
diff --git a/source/_integrations/switcher_kis.markdown b/source/_integrations/switcher_kis.markdown
index 54834bb13da..57af9f7ec7f 100644
--- a/source/_integrations/switcher_kis.markdown
+++ b/source/_integrations/switcher_kis.markdown
@@ -1,11 +1,13 @@
---
-title: "Switcher"
-description: "Controlling your Switcher V2 Water Heater."
+title: Switcher
+description: Controlling your Switcher V2 Water Heater.
logo: switcher_boiler.png
ha_category:
- Switch
ha_release: 0.93
ha_iot_class: Local Push
+ha_codeowners:
+ - '@tomerfi'
---
This `Switcher` integration allows you to control the [Switcher V2 Water Heater](https://www.switcher.co.il/).
diff --git a/source/_integrations/switchmate.markdown b/source/_integrations/switchmate.markdown
index 2f21aac5de5..cdbe3d98aff 100644
--- a/source/_integrations/switchmate.markdown
+++ b/source/_integrations/switchmate.markdown
@@ -1,11 +1,13 @@
---
-title: "Switchmate"
-description: "Instructions on how to set up Switchmate switches."
+title: Switchmate SimplySmart Home
+description: Instructions on how to set up Switchmate switches.
logo: switchmate-logo-rgb.png
ha_category:
- Switch
ha_release: 0.78
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@danielhiversen'
---
This `Switchmate` switch platform allows you to control Switchmate [devices]( https://www.mysimplysmarthome.com/products/switchmate-switches/).
diff --git a/source/_integrations/syncthru.markdown b/source/_integrations/syncthru.markdown
index 77ee7dc9437..ac76359d81a 100644
--- a/source/_integrations/syncthru.markdown
+++ b/source/_integrations/syncthru.markdown
@@ -1,11 +1,13 @@
---
-title: "Samsung SyncThru Printer"
-description: "Instructions on how to integrate a Samsung printer providing SyncThru within Home Assistant."
+title: Samsung SyncThru Printer
+description: Instructions on how to integrate a Samsung printer providing SyncThru within Home Assistant.
logo: samsung.png
ha_category:
- System Monitor
ha_iot_class: Local Polling
ha_release: 0.66
+ha_codeowners:
+ - '@nielstron'
---
The Samsung SyncThru Printer platform allows you to read current data from your local Samsung printer.
diff --git a/source/_integrations/synology.markdown b/source/_integrations/synology.markdown
index 81f8cdea86a..5a702d775b7 100644
--- a/source/_integrations/synology.markdown
+++ b/source/_integrations/synology.markdown
@@ -1,6 +1,6 @@
---
-title: "Synology Camera"
-description: "Instructions on how to integrate Synology Surveillance Station cameras within Home Assistant."
+title: Synology
+description: Instructions on how to integrate Synology Surveillance Station cameras within Home Assistant.
logo: synology.png
ha_category:
- Camera
diff --git a/source/_integrations/synology_chat.markdown b/source/_integrations/synology_chat.markdown
index 4f42943f3f9..2a8bfccbb33 100644
--- a/source/_integrations/synology_chat.markdown
+++ b/source/_integrations/synology_chat.markdown
@@ -1,6 +1,6 @@
---
-title: "Synology Chat"
-description: "Instructions on how to add a Synology Chat Bot notifications to Home Assistant."
+title: Synology Chat
+description: Instructions on how to add a Synology Chat Bot notifications to Home Assistant.
ha_release: 0.65
logo: synology.png
ha_category:
diff --git a/source/_integrations/synology_srm.markdown b/source/_integrations/synology_srm.markdown
index be12e23c5f4..926da5dac91 100644
--- a/source/_integrations/synology_srm.markdown
+++ b/source/_integrations/synology_srm.markdown
@@ -1,10 +1,12 @@
---
-title: "Synology SRM"
-description: "Instructions on how to integrate Synology SRM routers into Home Assistant."
+title: Synology SRM
+description: Instructions on how to integrate Synology SRM routers into Home Assistant.
logo: synology.png
ha_category:
- Presence Detection
ha_release: 0.87
+ha_codeowners:
+ - '@aerialls'
---
This platform allows you to detect presence by looking at connected devices to a [Synology SRM](https://www.synology.com/en-us/srm) router.
diff --git a/source/_integrations/synologydsm.markdown b/source/_integrations/synologydsm.markdown
index 29c40eb41df..da69f2da50c 100644
--- a/source/_integrations/synologydsm.markdown
+++ b/source/_integrations/synologydsm.markdown
@@ -1,6 +1,6 @@
---
-title: "SynologyDSM Sensor"
-description: "Instructions on how to integrate the SynologyDSM sensor within Home Assistant."
+title: SynologyDSM
+description: Instructions on how to integrate the SynologyDSM sensor within Home Assistant.
logo: synology.png
ha_category:
- System Monitor
@@ -29,7 +29,7 @@ sensor:
{% configuration %}
name:
- description: The name of your device
+ description: The name to use in the frontend for your Synology device.
required: false
default: Synology DSM
type: string
@@ -56,11 +56,11 @@ ssl:
default: true
type: boolean
volumes:
- description: Array of volumes to monitor. Defaults to all volumes.
+ description: "Array of volumes to monitor. Defaults to all volumes. Replace any spaces in the volume name with underscores, e.g., `volume 1` with `volume_1`."
required: false
type: list
disks:
- description: Array of disks to monitor. Defaults to all disks.
+ description: "Array of disks to monitor. Defaults to all disks. Use only disk names like `sda`, `sdb`, etc."
required: false
type: list
monitored_conditions:
diff --git a/source/_integrations/syslog.markdown b/source/_integrations/syslog.markdown
index e61b3a9dc60..3a396fc66c3 100644
--- a/source/_integrations/syslog.markdown
+++ b/source/_integrations/syslog.markdown
@@ -1,10 +1,12 @@
---
-title: "Syslog"
-description: "Instructions on how to add syslog notifications to Home Assistant."
+title: Syslog
+description: Instructions on how to add syslog notifications to Home Assistant.
logo: syslog.png
ha_category:
- Notifications
ha_release: pre 0.7
+ha_codeowners:
+ - '@fabaff'
---
The `syslog` platform allows you to deliver notifications from Home Assistant to the local syslog.
diff --git a/source/_integrations/system_health.markdown b/source/_integrations/system_health.markdown
index 08944ce9c45..f19aa2d9965 100644
--- a/source/_integrations/system_health.markdown
+++ b/source/_integrations/system_health.markdown
@@ -1,11 +1,11 @@
---
-title: "System Health"
-description: "System Health integration will report system info and allow to run system diagnostics."
+title: System Health
+description: System Health integration will report system info and allow to run system diagnostics.
logo: home-assistant.png
ha_category:
- - "Other"
-ha_qa_scale: internal
+ - Other
ha_release: 0.87
+ha_quality_scale: internal
---
The System Health integration provides an API to offer information on the system and its components. It also allows to run diagnostic tools to diagnose problems.
diff --git a/source/_integrations/system_log.markdown b/source/_integrations/system_log.markdown
index 3f8fa87f588..8ca64765809 100644
--- a/source/_integrations/system_log.markdown
+++ b/source/_integrations/system_log.markdown
@@ -1,11 +1,11 @@
---
-title: "System Log"
-description: "Summary of errors and warnings in Home Assistant during runtime."
+title: System Log
+description: Summary of errors and warnings in Home Assistant during runtime.
logo: home-assistant.png
ha_category:
- Other
ha_release: 0.58
-ha_qa_scale: internal
+ha_quality_scale: internal
---
The `system_log` integration stores information about all logged errors and warnings in Home Assistant. All collected information is accessible directly in the frontend, just navigate to the `Info` section under `Developer Tools`. In order to not overload Home Assistant with log data, only the 50 last errors and warnings will be stored. Older entries are automatically discarded from the log. It is possible to change the number of stored log entries using the parameter `max_entries`.
@@ -140,4 +140,3 @@ automation:
level: info
```
{% endraw %}
-
diff --git a/source/_integrations/systemmonitor.markdown b/source/_integrations/systemmonitor.markdown
index f41871471a9..5bc06777a2a 100644
--- a/source/_integrations/systemmonitor.markdown
+++ b/source/_integrations/systemmonitor.markdown
@@ -1,6 +1,6 @@
---
-title: "System Monitor"
-description: "Instructions on how to monitor the Home Assistant host."
+title: System Monitor
+description: Instructions on how to monitor the Home Assistant host.
logo: system_monitor.png
ha_category:
- System Monitor
diff --git a/source/_integrations/tado.markdown b/source/_integrations/tado.markdown
index 05361951686..d66cc6bf56e 100644
--- a/source/_integrations/tado.markdown
+++ b/source/_integrations/tado.markdown
@@ -1,6 +1,6 @@
---
-title: "Tado"
-description: "Instructions on how to integrate Tado devices with Home Assistant."
+title: Tado
+description: Instructions on how to integrate Tado devices with Home Assistant.
logo: tado.png
ha_category:
- Hub
@@ -9,9 +9,11 @@ ha_category:
- Sensor
ha_release: 0.41
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@michaelarnauts'
---
-The `tado` integration platform is used as an interface to the [my.tado.com](https://my.tado.com/webapp/#/account/sign-in) website.
+The `tado` integration platform is used as an interface to the [my.tado.com](https://my.tado.com/) website.
There is currently support for the following device types within Home Assistant:
@@ -32,16 +34,21 @@ tado:
{% configuration %}
username:
- description: Your username for my.tado.com.
+ description: Your username for [my.tado.com](https://my.tado.com/).
required: true
type: string
password:
- description: Your password for my.tado.com.
+ description: Your password for [my.tado.com](https://my.tado.com/).
required: true
type: string
+fallback:
+ description: Indicates if you want to fallback to Smart Schedule on the next Schedule change, or stay in Manual mode until you set the mode back to Auto.
+ required: false
+ type: boolean
+ default: true
{% endconfiguration %}
-The tado thermostats are internet connected thermostats. There exists an unofficial API at [my.tado.com](https://my.tado.com/webapp/#/account/sign-in), which is used by their website and now by this component.
+The tado thermostats are internet connected thermostats. There exists an unofficial API at [my.tado.com](https://my.tado.com/), which is used by their website and now by this component.
It currently supports presenting the current temperature, the setting temperature and the current operation mode. Switching the mode is also supported. If no user is at home anymore, the devices are showing the away-state. Switching to away-mode is not supported.
diff --git a/source/_integrations/tahoma.markdown b/source/_integrations/tahoma.markdown
index 104bf7368ba..8d84fbcec8d 100644
--- a/source/_integrations/tahoma.markdown
+++ b/source/_integrations/tahoma.markdown
@@ -1,6 +1,6 @@
---
-title: "Tahoma"
-description: "Instructions on how to integrate Somfy Tahoma devices with Home Assistant."
+title: Tahoma
+description: Instructions on how to integrate Somfy Tahoma devices with Home Assistant.
logo: tahoma.png
ha_category:
- Hub
@@ -11,6 +11,8 @@ ha_category:
- Sensor
ha_release: 0.59
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@philklei'
---
The `Tahoma` integration platform is used as an interface to the [tahomalink.com](https://www.tahomalink.com) website. It adds covers, scenes and a sun sensor from the Tahoma platform.
diff --git a/source/_integrations/tank_utility.markdown b/source/_integrations/tank_utility.markdown
index 4832d1d4df1..e281551dc68 100644
--- a/source/_integrations/tank_utility.markdown
+++ b/source/_integrations/tank_utility.markdown
@@ -1,6 +1,6 @@
---
-title: "Tank Utility Sensor"
-description: "How to integrate Tank Utility sensors within Home Assistant."
+title: Tank Utility
+description: How to integrate Tank Utility sensors within Home Assistant.
logo: tank_utility.png
ha_category:
- Energy
diff --git a/source/_integrations/tapsaff.markdown b/source/_integrations/tapsaff.markdown
index 83034e963bc..a39810fd179 100644
--- a/source/_integrations/tapsaff.markdown
+++ b/source/_integrations/tapsaff.markdown
@@ -1,6 +1,6 @@
---
-title: "Taps Aff"
-description: "Instructions on how to use the Taps Aff binary sensor in Home Assistant."
+title: Taps Aff
+description: Instructions on how to use the Taps Aff binary sensor in Home Assistant.
logo: tapsaff.png
ha_category:
- Weather
diff --git a/source/_integrations/tautulli.markdown b/source/_integrations/tautulli.markdown
index f36d6b03ffe..2859c84d12b 100644
--- a/source/_integrations/tautulli.markdown
+++ b/source/_integrations/tautulli.markdown
@@ -1,11 +1,13 @@
---
-title: "Tautulli activity sensor"
-description: "Instructions on how to set up Tautulli sensors in Home Assistant."
+title: Tautulli
+description: Instructions on how to set up Tautulli sensors in Home Assistant.
logo: tautulli.png
ha_category:
- Sensor
ha_release: 0.82
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@ludeeus'
---
The `tautulli` sensor platform will monitor activity on a given [Tautulli Server][tautulli]. It will create a sensor that shows the number of currently active streams as the state. If you click the sensor for more details it will show you more statistics, the following stats are available by default:
diff --git a/source/_integrations/tcp.markdown b/source/_integrations/tcp.markdown
index 2beb8ec07b4..90dc92e9e4b 100644
--- a/source/_integrations/tcp.markdown
+++ b/source/_integrations/tcp.markdown
@@ -1,6 +1,6 @@
---
-title: TCP Binary Sensor
-description: "Instructions on how to set up TCP within Home Assistant."
+title: TCP
+description: Instructions on how to set up TCP within Home Assistant.
logo: tcp_ip.png
ha_category:
- Binary Sensor
@@ -181,4 +181,4 @@ timeout:
required: false
type: integer
default: 10
-{% endconfiguration %}
\ No newline at end of file
+{% endconfiguration %}
diff --git a/source/_integrations/ted5000.markdown b/source/_integrations/ted5000.markdown
index 7376fd08b85..784e11fbd11 100644
--- a/source/_integrations/ted5000.markdown
+++ b/source/_integrations/ted5000.markdown
@@ -1,10 +1,10 @@
---
-title: "TED5000 electricity monitoring"
-description: "How to add a TED5000 to Home Assistant."
+title: The Energy Detective TED5000
+description: How to add a TED5000 to Home Assistant.
logo: ted.png
ha_category:
- Energy
-ha_release: "0.30"
+ha_release: '0.30'
ha_iot_class: Local Polling
---
diff --git a/source/_integrations/teksavvy.markdown b/source/_integrations/teksavvy.markdown
index 2601d76fadb..3d033787cef 100644
--- a/source/_integrations/teksavvy.markdown
+++ b/source/_integrations/teksavvy.markdown
@@ -1,6 +1,6 @@
---
-title: "TekSavvy"
-description: "Instructions on how to integrate TekSavvy data usage within Home Assistant."
+title: TekSavvy
+description: Instructions on how to integrate TekSavvy data usage within Home Assistant.
logo: teksavvy.png
ha_category:
- Network
diff --git a/source/_integrations/telegram.markdown b/source/_integrations/telegram.markdown
index d1e32de06e8..c0cd71ba42a 100644
--- a/source/_integrations/telegram.markdown
+++ b/source/_integrations/telegram.markdown
@@ -1,13 +1,12 @@
---
-title: "Telegram"
-description: "Instructions on how to add Telegram notifications to Home Assistant."
+title: Telegram
+description: Instructions on how to add Telegram notifications to Home Assistant.
logo: telegram.png
ha_category:
- Notifications
ha_release: 0.7.5
---
-
The `telegram` platform uses [Telegram](https://web.telegram.org) to deliver notifications from Home Assistant to your Android device, your Windows phone, or your iOS device.
## Setup
@@ -16,9 +15,11 @@ The requirements are:
- You need a [Telegram bot](https://core.telegram.org/bots). Please follow those [instructions](https://core.telegram.org/bots#6-botfather) to create one and get the token for your bot. Keep in mind that bots are not allowed to contact users. You need to make the first contact with your user. Meaning that you need to send a message to the bot from your user.
- You need to configure a [Telegram bot in Home Assistant](/integrations/telegram_chatbot) and define there your API key and the allowed chat ids to interact with.
-- The `chat_id` of an allowed user.
+- The `chat_id` of an allowed user.
-The quickest way to retrieve your `chat_id` is visiting `https://api.telegram.org/botYOUR_API_TOKEN/getUpdates` or to use `$ curl -X GET https://api.telegram.org/botYOUR_API_TOKEN/getUpdates` **after** you have sent the bot a message. Replace `YOUR_API_TOKEN` with your actual token.
+**Method 1:** You can get your `chat_id` by sending any message to the [GetIDs bot](https://t.me/getidsbot).
+
+**Method 2:** To retrieve your `chat_id` you can visit `https://api.telegram.org/botYOUR_API_TOKEN/getUpdates` or to use `$ curl -X GET https://api.telegram.org/botYOUR_API_TOKEN/getUpdates` **after** you have sent the bot a message. Replace `YOUR_API_TOKEN` with your actual token.
The result set will include your chat ID as `id` in the `chat` section:
@@ -49,9 +50,9 @@ The result set will include your chat ID as `id` in the `chat` section:
}
```
-Another way to get your chat ID directly is described below. Start your Python interpreter from the command-line:
+**Method 3:** Another way to get your chat ID directly is described below. Start your Python interpreter from the command-line:
-```python
+```shell
$ python3
>>> import telegram
>>> bot = telegram.Bot(token='YOUR_API_TOKEN')
@@ -85,6 +86,10 @@ notify:
chat_id: CHAT_ID_2
```
+Refer to the platforms mentioned in the
+[Telegram chatbot page](/integrations/telegram_chatbot/) for
+`telegram_bot` configuration.
+
{% configuration %}
name:
description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
diff --git a/source/_integrations/telegram_chatbot.markdown b/source/_integrations/telegram_chatbot.markdown
index eb91c44efeb..a95a4e8848f 100644
--- a/source/_integrations/telegram_chatbot.markdown
+++ b/source/_integrations/telegram_chatbot.markdown
@@ -10,7 +10,7 @@ ha_iot_class: Cloud Push
Use Telegram on your mobile or desktop device to send and receive messages or commands to/from your Home Assistant.
-This integration creates notification services to send, or edit previously sent, messages from a [Telegram Bot account](https://core.telegram.org/bots) configured either with the [polling](/integrations/telegram_polling) method or with the [webhooks](/integrations/telegram_webhooks) one, and trigger events when receiving messages.
+This integration creates notification services to send, or edit previously sent, messages from a [Telegram Bot account](https://core.telegram.org/bots) configured either with the [polling](/integrations/telegram_polling) platform or with the [webhooks](/integrations/telegram_webhooks) one, and trigger events when receiving messages.
If you don't need to receive messages, you can use the [broadcast](/integrations/telegram_broadcast) platform instead.
@@ -328,7 +328,7 @@ Message editor:
platform: event
event_type: telegram_callback
event_data:
- data: '/edit_msg'
+ command: '/edit_msg'
action:
- service: telegram_bot.answer_callback_query
data_template:
@@ -360,7 +360,7 @@ Keyboard editor:
platform: event
event_type: telegram_callback
event_data:
- data: '/remove button'
+ command: '/remove button'
action:
- service: telegram_bot.answer_callback_query
data_template:
@@ -385,7 +385,7 @@ Only acknowledges the 'NO' answer:
platform: event
event_type: telegram_callback
event_data:
- data: '/do_nothing'
+ command: '/do_nothing'
action:
- service: telegram_bot.answer_callback_query
data_template:
@@ -394,6 +394,29 @@ Only acknowledges the 'NO' answer:
```
{% endraw %}
+Telegram callbacks also support arguments and commands the same way as normal messages.
+
+{% raw %}
+```yaml
+- alias: 'Telegram bot repeats arguments on callback query'
+ hide_entity: true
+ trigger:
+ platform: event
+ event_type: telegram_callback
+ event_data:
+ command: '/repeat'
+ action:
+ - service: telegram_bot.answer_callback_query
+ data_template:
+ show_alert: true
+ callback_query_id: '{{ trigger.event.data.id }}'
+ message: 'I repeat: {{trigger.event.data["args"]}}'
+```
+{% endraw %}
+
+In this case, having a callback with `/repeat 1 2 3` with pop a notification saying `I repeat: [1, 2, 3]`
+
+
For a more complex usage of the `telegram_bot` capabilities, using [AppDaemon](/docs/ecosystem/appdaemon/tutorial/) is advised.
This is how the previous 4 automations would be through a simple AppDaemon app:
@@ -401,76 +424,90 @@ This is how the previous 4 automations would be through a simple AppDaemon app:
```python
import appdaemon.plugins.hass.hassapi as hass
+
class TelegramBotEventListener(hass.Hass):
"""Event listener for Telegram bot events."""
def initialize(self):
"""Listen to Telegram Bot events of interest."""
- self.listen_event(self.receive_telegram_text, 'telegram_text')
- self.listen_event(self.receive_telegram_callback, 'telegram_callback')
+ self.listen_event(self.receive_telegram_text, "telegram_text")
+ self.listen_event(self.receive_telegram_callback, "telegram_callback")
def receive_telegram_text(self, event_id, payload_event, *args):
"""Text repeater."""
- assert event_id == 'telegram_text'
- user_id = payload_event['user_id']
- msg = 'You said: ``` %s ```' % payload_event['text']
- keyboard = [[("Edit message", "/edit_msg"),
- ("Don't", "/do_nothing")],
- [("Remove this button", "/remove button")]]
- self.call_service('telegram_bot/send_message',
- title='*Dumb automation*',
- target=user_id,
- message=msg,
- disable_notification=True,
- inline_keyboard=keyboard)
+ assert event_id == "telegram_text"
+ user_id = payload_event["user_id"]
+ msg = "You said: ``` %s ```" % payload_event["text"]
+ keyboard = [
+ [("Edit message", "/edit_msg"), ("Don't", "/do_nothing")],
+ [("Remove this button", "/remove button")],
+ ]
+ self.call_service(
+ "telegram_bot/send_message",
+ title="*Dumb automation*",
+ target=user_id,
+ message=msg,
+ disable_notification=True,
+ inline_keyboard=keyboard,
+ )
def receive_telegram_callback(self, event_id, payload_event, *args):
"""Event listener for Telegram callback queries."""
- assert event_id == 'telegram_callback'
- data_callback = payload_event['data']
- callback_id = payload_event['id']
- chat_id = payload_event['chat_id']
+ assert event_id == "telegram_callback"
+ data_callback = payload_event["data"]
+ callback_id = payload_event["id"]
+ chat_id = payload_event["chat_id"]
# keyboard = ["Edit message:/edit_msg, Don't:/do_nothing",
# "Remove this button:/remove button"]
- keyboard = [[("Edit message", "/edit_msg"),
- ("Don't", "/do_nothing")],
- [("Remove this button", "/remove button")]]
+ keyboard = [
+ [("Edit message", "/edit_msg"), ("Don't", "/do_nothing")],
+ [("Remove this button", "/remove button")],
+ ]
- if data_callback == '/edit_msg': # Message editor:
+ if data_callback == "/edit_msg": # Message editor:
# Answer callback query
- self.call_service('telegram_bot/answer_callback_query',
- message='Editing the message!',
- callback_query_id=callback_id,
- show_alert=True)
+ self.call_service(
+ "telegram_bot/answer_callback_query",
+ message="Editing the message!",
+ callback_query_id=callback_id,
+ show_alert=True,
+ )
# Edit the message origin of the callback query
- msg_id = payload_event['message']['message_id']
- user = payload_event['from_first']
- title = '*Message edit*'
- msg = 'Callback received from %s. Message id: %s. Data: ``` %s ```'
- self.call_service('telegram_bot/edit_message',
- chat_id=chat_id,
- message_id=msg_id,
- title=title,
- message=msg % (user, msg_id, data_callback),
- inline_keyboard=keyboard)
+ msg_id = payload_event["message"]["message_id"]
+ user = payload_event["from_first"]
+ title = "*Message edit*"
+ msg = "Callback received from %s. Message id: %s. Data: ``` %s ```"
+ self.call_service(
+ "telegram_bot/edit_message",
+ chat_id=chat_id,
+ message_id=msg_id,
+ title=title,
+ message=msg % (user, msg_id, data_callback),
+ inline_keyboard=keyboard,
+ )
- elif data_callback == '/remove button': # Keyboard editor:
+ elif data_callback == "/remove button": # Keyboard editor:
# Answer callback query
- self.call_service('telegram_bot/answer_callback_query',
- message='Callback received for editing the '
- 'inline keyboard!',
- callback_query_id=callback_id)
+ self.call_service(
+ "telegram_bot/answer_callback_query",
+ message="Callback received for editing the " "inline keyboard!",
+ callback_query_id=callback_id,
+ )
# Edit the keyboard
new_keyboard = keyboard[:1]
- self.call_service('telegram_bot/edit_replymarkup',
- chat_id=chat_id,
- message_id='last',
- inline_keyboard=new_keyboard)
+ self.call_service(
+ "telegram_bot/edit_replymarkup",
+ chat_id=chat_id,
+ message_id="last",
+ inline_keyboard=new_keyboard,
+ )
- elif data_callback == '/do_nothing': # Only Answer to callback query
- self.call_service('telegram_bot/answer_callback_query',
- message='OK, you said no!',
- callback_query_id=callback_id)
+ elif data_callback == "/do_nothing": # Only Answer to callback query
+ self.call_service(
+ "telegram_bot/answer_callback_query",
+ message="OK, you said no!",
+ callback_query_id=callback_id,
+ )
```
diff --git a/source/_integrations/tellduslive.markdown b/source/_integrations/tellduslive.markdown
index 1bbb8c34b81..fe46884c340 100644
--- a/source/_integrations/tellduslive.markdown
+++ b/source/_integrations/tellduslive.markdown
@@ -1,6 +1,6 @@
---
-title: "Telldus Live"
-description: "Instructions on how to integrate Telldus Live into Home Assistant."
+title: Telldus Live
+description: Instructions on how to integrate Telldus Live into Home Assistant.
logo: tellduslive.svg
ha_category:
- Hub
@@ -11,8 +11,10 @@ ha_category:
- Switch
ha_release: 0.11
ha_config_flow: true
-ha_qa_scale: gold
ha_iot_class: Cloud Polling
+ha_quality_scale: gold
+ha_codeowners:
+ - '@fredrike'
---
The `tellduslive` integration let you connect to [Telldus Live](https://live.telldus.com). It's cloud platform that connects to your Tellstick Net or Tellstick ZNet connected gear at home.
diff --git a/source/_integrations/tellstick.markdown b/source/_integrations/tellstick.markdown
index 9ecd6476765..22919db444f 100644
--- a/source/_integrations/tellstick.markdown
+++ b/source/_integrations/tellstick.markdown
@@ -1,6 +1,6 @@
---
-title: "TellStick"
-description: "Instructions on how to integrate your TellStick into Home Assistant."
+title: TellStick
+description: Instructions on how to integrate your TellStick into Home Assistant.
logo: telldus_tellstick.png
ha_release: pre 0.7
ha_category:
diff --git a/source/_integrations/telnet.markdown b/source/_integrations/telnet.markdown
index c996c2b794c..5f91f2f895b 100644
--- a/source/_integrations/telnet.markdown
+++ b/source/_integrations/telnet.markdown
@@ -1,6 +1,6 @@
---
-title: "Telnet Switch"
-description: "Instructions on how to integrate telnet switches into Home Assistant."
+title: Telnet
+description: Instructions on how to integrate telnet switches into Home Assistant.
ha_category:
- Switch
ha_release: 0.54
diff --git a/source/_integrations/temper.markdown b/source/_integrations/temper.markdown
index 08e46aed119..352b1a51764 100644
--- a/source/_integrations/temper.markdown
+++ b/source/_integrations/temper.markdown
@@ -1,6 +1,6 @@
---
-title: "TEMPer Sensor"
-description: "Instructions on how to integrate TEMPer sensors into Home Assistant."
+title: TEMPer
+description: Instructions on how to integrate TEMPer sensors into Home Assistant.
ha_category:
- DIY
ha_iot_class: Local Push
diff --git a/source/_integrations/template.markdown b/source/_integrations/template.markdown
index 8918d530d75..59d388a82df 100644
--- a/source/_integrations/template.markdown
+++ b/source/_integrations/template.markdown
@@ -1,12 +1,14 @@
---
-title: "Template Sensor"
-description: "Instructions on how to integrate Template Sensors into Home Assistant."
+title: Template
+description: Instructions on how to integrate Template Sensors into Home Assistant.
ha_category:
- Sensor
ha_release: 0.12
ha_iot_class: Local Push
logo: home-assistant.png
-ha_qa_scale: internal
+ha_quality_scale: internal
+ha_codeowners:
+ - '@PhracturedBlue'
---
The `template` platform supports sensors which get their values from other entities.
diff --git a/source/_integrations/tensorflow.markdown b/source/_integrations/tensorflow.markdown
index f68cd5e7358..98aaa606a24 100644
--- a/source/_integrations/tensorflow.markdown
+++ b/source/_integrations/tensorflow.markdown
@@ -1,6 +1,6 @@
---
-title: "TensorFlow"
-description: "Detect and recognize objects with TensorFlow."
+title: TensorFlow
+description: Detect and recognize objects with TensorFlow.
logo: tensorflow.png
ha_category:
- Image Processing
@@ -19,7 +19,7 @@ The `tensorflow` image processing platform allows you to detect and recognize ob
## Setup
-You need to install the `tensorflow` Python packages with: `$ pip3 install tensorflow==1.11.0`. The wheel is not available for all platforms. See [the official install guide](https://www.tensorflow.org/install/) for other options. Hass.io is not yet supported but an addon is under development.
+You need to install the `tensorflow` Python packages with: `$ pip3 install tensorflow==1.13.2`. The wheel is not available for all platforms. See [the official install guide](https://www.tensorflow.org/install/) for other options. Hass.io is not yet supported but an addon is under development.
This integration requires files to be downloaded, compiled on your computer, and added to the Home Assistant configuration directory. These steps can be performed using the sample script at [this gist](https://gist.github.com/hunterjm/6f9332f92b60c3d5e448ad936d7353c3). Alternatively, if you wish to perform the process manually, the process is as follows:
diff --git a/source/_integrations/tesla.markdown b/source/_integrations/tesla.markdown
index 7c97985d10d..6f7a5ef81f2 100644
--- a/source/_integrations/tesla.markdown
+++ b/source/_integrations/tesla.markdown
@@ -1,6 +1,6 @@
---
-title: "Tesla"
-description: "Instructions on how to integrate Tesla car into Home Assistant."
+title: Tesla
+description: Instructions on how to integrate Tesla car into Home Assistant.
logo: tesla.png
ha_category:
- Car
@@ -12,6 +12,9 @@ ha_category:
- Switch
ha_release: 0.53
ha_iot_class: Cloud Polling
+ha_config_flow: true
+ha_codeowners:
+ - '@zabuldon'
---
The `Tesla` integration offers integration with the [Tesla](https://auth.tesla.com/login) cloud service and provides presence detection as well as sensors such as charger state and temperature.
@@ -19,7 +22,7 @@ The `Tesla` integration offers integration with the [Tesla](https://auth.tesla.c
This integration provides the following platforms:
- Binary sensors - such as parking and charger connection.
-- Sensors - such as Battery level, Inside/Outside temperature, odometer, and estimated range.
+- Sensors - such as Battery level, Inside/Outside temperature, odometer, estimated range, and charging rate.
- Device tracker - to track location of your car
- Lock - Door lock. Enables you to control Tesla's door lock
- Climate - HVAC control. Allow you to control (turn on/off, set target temperature) your Tesla's HVAC system.
@@ -27,7 +30,11 @@ This integration provides the following platforms:
## Configuration
-To use Tesla in your installation, add the following to your `configuration.yaml` file:
+Home Assistant offers the Tesla integration through **Configuration** -> **Integrations** -> **Tesla**.
+
+Enter username and password and then continue.
+
+Alternatively, Home Assistant will also load Tesla via the `configuration.yaml`. Add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
diff --git a/source/_integrations/tfiac.markdown b/source/_integrations/tfiac.markdown
index 6590d8ff4d9..3bf4d9590db 100644
--- a/source/_integrations/tfiac.markdown
+++ b/source/_integrations/tfiac.markdown
@@ -1,11 +1,14 @@
---
-title: "Tfiac AC"
-description: "Instructions on how to integrate Tfiac AC devices with Home Assistant."
+title: Tfiac
+description: Instructions on how to integrate Tfiac AC devices with Home Assistant.
logo: tfiac.png
ha_category:
- Climate
ha_release: 0.91
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@fredrike'
+ - '@mellado'
---
The `tfiac` integration integrates several vendors air conditioning systems, that uses the Tfiac mobile app, into Home Assistant. App currently available at [Play Store](https://play.google.com/store/apps/details?id=com.tcl.export) and [App Store](https://itunes.apple.com/app/tfiac/id1059938398).
diff --git a/source/_integrations/thermoworks_smoke.markdown b/source/_integrations/thermoworks_smoke.markdown
index 752bf0679d4..946a67169de 100644
--- a/source/_integrations/thermoworks_smoke.markdown
+++ b/source/_integrations/thermoworks_smoke.markdown
@@ -1,6 +1,6 @@
---
-title: "ThermoWorks Smoke Sensor"
-description: "Pulls temperature data for a ThermoWorks Smoke Thermometer connected with Smoke Gateway."
+title: ThermoWorks Smoke
+description: Pulls temperature data for a ThermoWorks Smoke Thermometer connected with Smoke Gateway.
logo: thermoworks.png
ha_category:
- Sensor
diff --git a/source/_integrations/thethingsnetwork.markdown b/source/_integrations/thethingsnetwork.markdown
index 0e1e9a55e03..5f6b24d94b2 100644
--- a/source/_integrations/thethingsnetwork.markdown
+++ b/source/_integrations/thethingsnetwork.markdown
@@ -1,12 +1,14 @@
---
-title: "The Things Network"
-description: "Instructions for how to integrate The Things Network within Home Assistant."
+title: The Things Network
+description: Instructions for how to integrate The Things Network within Home Assistant.
logo: thethingsnetwork.png
ha_category:
- Hub
- Sensor
ha_release: 0.55
ha_iot_class: Configurable
+ha_codeowners:
+ - '@fabaff'
---
The `thethingsnetwork` integration allows one to interact with the [The Things Network](https://www.thethingsnetwork.org). This community-driven and open network supports [LoRaWAN](https://www.lora-alliance.org/) for long range (~5 to 15km) communication with a low bandwidth (51 bytes/message). [Gateways](https://www.thethingsnetwork.org/docs/gateways/) transfers the received data from the sensors to the The Things Network.
@@ -131,4 +133,4 @@ sensor:
description: The sensor values with their unit of measurement
required: true
type: list
-{% endconfiguration %}
\ No newline at end of file
+{% endconfiguration %}
diff --git a/source/_integrations/thingspeak.markdown b/source/_integrations/thingspeak.markdown
index 3f6d2f4a78c..158d4ff2446 100644
--- a/source/_integrations/thingspeak.markdown
+++ b/source/_integrations/thingspeak.markdown
@@ -1,9 +1,9 @@
---
-title: "ThingSpeak"
-description: "Record one entity in ThingSpeak"
+title: ThingSpeak
+description: Record one entity in ThingSpeak
logo: thingspeak.png
ha_category:
- - "History"
+ - History
ha_release: 0.32
---
diff --git a/source/_integrations/thinkingcleaner.markdown b/source/_integrations/thinkingcleaner.markdown
index 41a850b5697..f5439aaba61 100644
--- a/source/_integrations/thinkingcleaner.markdown
+++ b/source/_integrations/thinkingcleaner.markdown
@@ -1,6 +1,6 @@
---
-title: "Thinking Cleaner"
-description: "Instructions on how to integrate a ThinkingCleaner within Home Assistant."
+title: Thinking Cleaner
+description: Instructions on how to integrate a ThinkingCleaner within Home Assistant.
logo: thinkingcleaner.png
ha_category:
- Sensor
diff --git a/source/_integrations/thomson.markdown b/source/_integrations/thomson.markdown
index 9f809e8e5fb..a212f0366d2 100644
--- a/source/_integrations/thomson.markdown
+++ b/source/_integrations/thomson.markdown
@@ -1,13 +1,12 @@
---
-title: "Thomson"
-description: "Instructions on how to integrate Thomson routers into Home Assistant."
+title: Thomson
+description: Instructions on how to integrate Thomson routers into Home Assistant.
logo: technicolor.png
ha_category:
- Presence Detection
ha_release: 0.7
---
-
Thomson produced networking equipment (under the brand name SpeedTouch) till 2010 and was then renamed to Technicolor.
This platform allows you to detect presence by looking at connected devices to a [Thomson](https://www.technicolor.com/) device.
diff --git a/source/_integrations/threshold.markdown b/source/_integrations/threshold.markdown
index 48053413f3d..378432b7294 100644
--- a/source/_integrations/threshold.markdown
+++ b/source/_integrations/threshold.markdown
@@ -1,12 +1,14 @@
---
-title: "Threshold Binary Sensor"
-description: "Instructions on how to integrate threshold binary sensors into Home Assistant."
+title: Threshold
+description: Instructions on how to integrate threshold binary sensors into Home Assistant.
logo: home-assistant.png
ha_category:
- Utility
ha_iot_class: Local Polling
ha_release: 0.34
-ha_qa_scale: internal
+ha_quality_scale: internal
+ha_codeowners:
+ - '@fabaff'
---
The `threshold` binary sensor platform observes the state of another sensor. If the value is below (`lower`) or higher (`upper`) than the given threshold then state of the threshold sensor is changed. It support also a range if `lower` and `upper` are given.
diff --git a/source/_integrations/tibber.markdown b/source/_integrations/tibber.markdown
index fe74790e370..d1fd2602576 100644
--- a/source/_integrations/tibber.markdown
+++ b/source/_integrations/tibber.markdown
@@ -1,14 +1,16 @@
---
-title: "Tibber"
-description: "Instructions on how to integrate Tibber within Home Assistant."
+title: Tibber
+description: Instructions on how to integrate Tibber within Home Assistant.
logo: tibber.png
ha_category:
- Energy
- Sensor
- Notifications
-ha_release: 0.80
-ha_qa_scale: silver
+ha_release: 0.8
ha_iot_class: Cloud Polling
+ha_quality_scale: silver
+ha_codeowners:
+ - '@danielhiversen'
---
The `tibber` integration provides a sensor with the current electricity price if you are a [Tibber](https://tibber.com/) customer.
diff --git a/source/_integrations/tikteck.markdown b/source/_integrations/tikteck.markdown
index b92b1927bb9..5fdb5957cb8 100644
--- a/source/_integrations/tikteck.markdown
+++ b/source/_integrations/tikteck.markdown
@@ -1,6 +1,6 @@
---
-title: "Tikteck"
-description: "Instructions on how to setup Tikteck LED bulbs within Home Assistant."
+title: Tikteck
+description: Instructions on how to setup Tikteck LED bulbs within Home Assistant.
ha_category:
- Light
ha_iot_class: Local Polling
diff --git a/source/_integrations/tile.markdown b/source/_integrations/tile.markdown
index f2eb9afe5e9..9946c45f511 100644
--- a/source/_integrations/tile.markdown
+++ b/source/_integrations/tile.markdown
@@ -1,11 +1,13 @@
---
-title: "Tile"
-description: "Instructions on how to use Tile to track devices in Home Assistant."
+title: Tile
+description: Instructions on how to use Tile to track devices in Home Assistant.
logo: tile.png
ha_release: 0.58
ha_category:
- Presence Detection
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@bachya'
---
The `tile` platform allows Home Assistant to utilize [TileĀ® Bluetooth trackers](https://www.thetileapp.com).
diff --git a/source/_integrations/time_date.markdown b/source/_integrations/time_date.markdown
index 4261bf2807f..b4cfe86c2ad 100644
--- a/source/_integrations/time_date.markdown
+++ b/source/_integrations/time_date.markdown
@@ -1,12 +1,14 @@
---
-title: "Time & Date"
-description: "Instructions on how to integrate the time and the date within Home Assistant."
+title: Time & Date
+description: Instructions on how to integrate the time and the date within Home Assistant.
logo: home-assistant.png
ha_category:
- Calendar
ha_iot_class: Local Push
ha_release: pre 0.7
-ha_qa_scale: internal
+ha_quality_scale: internal
+ha_codeowners:
+ - '@fabaff'
---
The time and date (`time_date`) sensor platform adds one or more sensors to your Home Assistant state machine.
@@ -20,13 +22,14 @@ sensor:
- 'time'
- 'date'
- 'date_time'
+ - 'date_time_utc'
- 'date_time_iso'
- 'time_date'
- 'time_utc'
- 'beat'
```
-- **display_options** array (*Required*): The option to display. The types *date_time*, *time_date*, and *date_time_iso* shows the date and the time. The other types just the time or the date. *beat* shows the [Swatch Internet Time](https://www.swatch.com/en_us/internet-time).
+- **display_options** array (*Required*): The option to display. The types *date_time*, *date_time_utc*, *time_date*, and *date_time_iso* shows the date and the time. The other types just the time or the date. *beat* shows the [Swatch Internet Time](https://www.swatch.com/en_us/internet-time).
diff --git a/source/_integrations/timer.markdown b/source/_integrations/timer.markdown
index acdac91e773..9239df07f6d 100644
--- a/source/_integrations/timer.markdown
+++ b/source/_integrations/timer.markdown
@@ -1,11 +1,11 @@
---
-title: "Timer"
-description: "Instructions on how to integrate timers into Home Assistant."
+title: Timer
+description: Instructions on how to integrate timers into Home Assistant.
logo: home-assistant.png
ha_category:
- Automation
ha_release: 0.57
-ha_qa_scale: internal
+ha_quality_scale: internal
---
The `timer` integration aims to simplify automations based on (dynamic) durations.
@@ -96,6 +96,10 @@ Manually finish a running timer earlier than scheduled. You can also use `entity
| ---------------------- | -------- | ----------- |
| `entity_id` | no | Name of the entity to take action, e.g., `timer.timer0`. |
+### Service `timer.reload`
+
+Reload `timer`'s configuration without restarting Home Assistant itself. This service takes no service data attributes.
+
### Use the service
Select **Services** from the **Developer Tools**. Choose **timer** from the list of **Domains**, select the **Service**, enter something like the sample below into the **Service Data** field, and hit **CALL SERVICE**.
diff --git a/source/_integrations/tmb.markdown b/source/_integrations/tmb.markdown
new file mode 100644
index 00000000000..47ed71cf9b6
--- /dev/null
+++ b/source/_integrations/tmb.markdown
@@ -0,0 +1,57 @@
+---
+title: "Transports Metropolitans de Barcelona"
+description: "Instructions on how to integrate TMB iBus sensor within Home Assistant."
+logo: tmb.png
+ha_category:
+ - Transport
+ha_release: 0.104
+ha_iot_class: Local Polling
+---
+
+This sensor will provide you the remaining time, in minutes, for the next bus in a specific stop by using the [iBus service](https://www.tmb.cat/en/barcelona/tmb-ibus).
+
+You must create an application on [developer.tmb.cat](https://developer.tmb.cat/account/applications/public/new) to obtain the `app_id` and `app_key` values that you will need.
+
+Add the data to your `configuration.yaml` file as shown in the example:
+
+```yaml
+# Example configuration.yaml entry
+sensor:
+- platform: tmb
+ app_id: !secret tmb_app_id
+ app_key: !secret tmb_app_key
+ stops:
+ - line: V25
+ stop: 3258
+```
+
+{% configuration %}
+app_id:
+ description: Your TMB APP identifier.
+ required: true
+ type: string
+app_key:
+ description: Your TMB APP key.
+ required: true
+ type: string
+stops:
+ description: List of bus stops to track.
+ required: false
+ type: list
+ keys:
+ line:
+ description: Identifier of the line to track.
+ required: true
+ type: string
+ stop:
+ description: Stop identifier.
+ required: true
+ type: integer
+ name:
+ description: Name you want to use to identifier that stop.
+ required: false
+ type: string
+ default: "LINE - STOP"
+{% endconfiguration %}
+
+Data provided by [TMB](https://tmb.cat/).
diff --git a/source/_integrations/tod.markdown b/source/_integrations/tod.markdown
index 6dcad276aa1..50ae48c4260 100644
--- a/source/_integrations/tod.markdown
+++ b/source/_integrations/tod.markdown
@@ -1,12 +1,12 @@
---
-title: "Times of the Day Binary Sensor"
-description: "Instructions on how to integrate Times of the Day binary sensors within Home Assistant."
+title: Times of the Day
+description: Instructions on how to integrate Times of the Day binary sensors within Home Assistant.
ha_category:
- Binary Sensor
ha_release: 0.89
ha_iot_class: Local Push
logo: home-assistant.png
-ha_qa_scale: internal
+ha_quality_scale: internal
---
The `tod` platform supports binary sensors which get their values by checking if the current time is within defined time ranges.
diff --git a/source/_integrations/todoist.markdown b/source/_integrations/todoist.markdown
index bedcfa150b8..3caaddd898e 100644
--- a/source/_integrations/todoist.markdown
+++ b/source/_integrations/todoist.markdown
@@ -1,11 +1,13 @@
---
-title: "Todoist"
-description: "Instructions on how to integrate Todoist into Home Assistant."
+title: Todoist
+description: Instructions on how to integrate Todoist into Home Assistant.
logo: todoist.png
ha_category:
- Calendar
ha_iot_class: Cloud Polling
ha_release: 0.54
+ha_codeowners:
+ - '@boralyl'
---
This platform allows you to connect to your [Todoist Projects](https://todoist.com) and generate binary sensors. A different sensor will be created for each individual project, or you can specify "custom" projects which match against criteria you set (more on that below). These sensors will be `on` if you have a task due in that project or `off` if all the tasks in the project are completed or if the project doesn't have any tasks at all. All tasks get updated roughly every 15 minutes.
diff --git a/source/_integrations/tof.markdown b/source/_integrations/tof.markdown
index 6aba789f39e..43353f56018 100644
--- a/source/_integrations/tof.markdown
+++ b/source/_integrations/tof.markdown
@@ -1,11 +1,11 @@
---
-title: "Time of Flight sensor using VL53L1X"
-description: "Instructions on how to integrate a VL53L1X ToF sensor into Home Assistant."
+title: Time of Flight
+description: Instructions on how to integrate a VL53L1X ToF sensor into Home Assistant.
logo: raspberry-pi.png
ha_category:
- DIY
- Sensor
-ha_release: "0.90"
+ha_release: '0.90'
ha_iot_class: Local Polling
---
diff --git a/source/_integrations/tomato.markdown b/source/_integrations/tomato.markdown
index 8bea2170380..f8748bca5ab 100644
--- a/source/_integrations/tomato.markdown
+++ b/source/_integrations/tomato.markdown
@@ -1,6 +1,6 @@
---
-title: "Tomato"
-description: "Instructions on how to integrate Tomato routers into Home Assistant."
+title: Tomato
+description: Instructions on how to integrate Tomato routers into Home Assistant.
logo: tomato.png
ha_category:
- Presence Detection
diff --git a/source/_integrations/toon.markdown b/source/_integrations/toon.markdown
index ca9b5c45d6a..c7c6ab73b93 100644
--- a/source/_integrations/toon.markdown
+++ b/source/_integrations/toon.markdown
@@ -1,6 +1,6 @@
---
-title: "Toon"
-description: "Instructions on how to integrate Toon within Home Assistant."
+title: Toon
+description: Instructions on how to integrate Toon within Home Assistant.
ha_category:
- Climate
- Binary Sensor
@@ -9,6 +9,9 @@ ha_category:
ha_release: 0.56
logo: toon.png
ha_iot_class: Cloud Polling
+ha_config_flow: true
+ha_codeowners:
+ - '@frenck'
---
The `toon` integration platform can be used to control your Toon thermostat. This integration adds a climate device for your Toon thermostat, sensors for power and gas consumption, sensors for solar production and several binary sensors for things like boiler burner on/off, hot tap water and boiler health status.
diff --git a/source/_integrations/torque.markdown b/source/_integrations/torque.markdown
index b4403d7f0e9..3b43b9c0bca 100644
--- a/source/_integrations/torque.markdown
+++ b/source/_integrations/torque.markdown
@@ -1,10 +1,10 @@
---
-title: "Torque (OBD2)"
-description: "Instructions on how to integrate Torque sensors into Home Assistant."
+title: Torque
+description: Instructions on how to integrate Torque sensors into Home Assistant.
logo: torque.png
ha_category:
- Car
-ha_release: "0.10"
+ha_release: '0.10'
ha_iot_class: Cloud Polling
---
diff --git a/source/_integrations/totalconnect.markdown b/source/_integrations/totalconnect.markdown
index 0116385285c..bba1396b5e1 100644
--- a/source/_integrations/totalconnect.markdown
+++ b/source/_integrations/totalconnect.markdown
@@ -1,6 +1,6 @@
---
-title: "Honeywell TotalConnect Alarm Control Panel"
-description: "Instructions on how to integrate TotalConnect alarms into Home Assistant."
+title: Honeywell Total Connect Alarm
+description: Instructions on how to integrate TotalConnect alarms into Home Assistant.
logo: honeywell-tc.png
ha_category:
- Alarm
diff --git a/source/_integrations/touchline.markdown b/source/_integrations/touchline.markdown
index 714f000c78a..d6674e4a5a2 100644
--- a/source/_integrations/touchline.markdown
+++ b/source/_integrations/touchline.markdown
@@ -1,6 +1,6 @@
---
-title: "Roth Touchline"
-description: "Instructions on how to integrate Roth Touchline within Home Assistant."
+title: Roth Touchline
+description: Instructions on how to integrate Roth Touchline within Home Assistant.
logo: roth.png
ha_category:
- Climate
diff --git a/source/_integrations/tplink.markdown b/source/_integrations/tplink.markdown
index f612c9eeb80..3b5fd130f95 100644
--- a/source/_integrations/tplink.markdown
+++ b/source/_integrations/tplink.markdown
@@ -1,6 +1,6 @@
---
-title: "TP-Link Smart Home Devices"
-description: "Instructions on integrating TP-Link Smart Home Devices to Home Assistant."
+title: TP-Link Kasa Smart
+description: Instructions on integrating TP-Link Smart Home Devices to Home Assistant.
logo: tp-link.png
ha_category:
- Hub
@@ -8,6 +8,9 @@ ha_category:
- Light
ha_release: 0.89
ha_iot_class: Local Polling
+ha_config_flow: true
+ha_codeowners:
+ - '@rytilahti'
---
The `tplink` integration allows you to control your [TP-Link Smart Home Devices](https://www.tp-link.com/kasa-smart/) such as smart plugs and smart bulbs.
@@ -30,13 +33,14 @@ The following devices are known to work with this component.
- HS100
- HS103
- HS105
-- HS110
+- HS110 (The only device capable or reporting energy usage data to template sensors)
-### Multi-Plug Strips
+### Strip (Multi-Plug)
- HS107 (indoor 2-outlet)
- HS300 (powerstrip 6-outlet)
- KP400 (outdoor 2-outlet)
+- KP200 (indoor 2-outlet)
### Wall Switches
@@ -128,7 +132,7 @@ tplink:
## Extracting Energy Sensor data
-In order to get the power consumption readings from supported devices, you'll have to create a [template sensor](/integrations/switch.template/).
+In order to get the power consumption readings from a TP-Link HS110 device, you'll have to create a [template sensor](/integrations/switch.template/).
In the example below, change all of the `my_tp_switch`'s to match your device's entity ID.
{% raw %}
diff --git a/source/_integrations/tplink_lte.markdown b/source/_integrations/tplink_lte.markdown
index 8089adc25ff..ea1959588bd 100644
--- a/source/_integrations/tplink_lte.markdown
+++ b/source/_integrations/tplink_lte.markdown
@@ -1,6 +1,6 @@
---
-title: "TP-Link LTE"
-description: "Instructions on how to integrate your TP-Link LTE routers within Home Assistant."
+title: TP-Link LTE
+description: Instructions on how to integrate your TP-Link LTE routers within Home Assistant.
logo: tp-link.png
ha_release: 0.83
ha_category:
diff --git a/source/_integrations/traccar.markdown b/source/_integrations/traccar.markdown
index d7ee6a91cf2..1d9061f5fbf 100644
--- a/source/_integrations/traccar.markdown
+++ b/source/_integrations/traccar.markdown
@@ -1,11 +1,14 @@
---
-title: "Traccar GPS tracker"
-description: "Instructions how to use Traccar GPS tracker to track devices in Home Assistant."
+title: Traccar
+description: Instructions how to use Traccar GPS tracker to track devices in Home Assistant.
logo: traccar.png
ha_release: 0.83
ha_category:
- Presence Detection
ha_iot_class: Local Polling
+ha_config_flow: true
+ha_codeowners:
+ - '@ludeeus'
---
`Traccar` uses GPS for tracking and has support for over 1500 different types of devices. One option is to track the [Traccar Client](https://www.traccar.org/client/) app on a smartphone via `webhook`. The other option is to connect to an existing [Traccar Server](https://www.traccar.org/server/) installation which is also available as Hass.io addon.
diff --git a/source/_integrations/trackr.markdown b/source/_integrations/trackr.markdown
index d5174a0721d..82ffc9be6a8 100644
--- a/source/_integrations/trackr.markdown
+++ b/source/_integrations/trackr.markdown
@@ -1,6 +1,6 @@
---
-title: "TrackR"
-description: "Instructions on how to use TrackR to track devices in Home Assistant."
+title: TrackR
+description: Instructions on how to use TrackR to track devices in Home Assistant.
logo: trackr.png
ha_release: 0.36
ha_category:
@@ -8,7 +8,6 @@ ha_category:
ha_iot_class: Cloud Polling
---
-
The `trackr` platform allows you to detect presence using [TrackR](https://www.thetrackr.com/) devices.
The official TrackR mobile app handles the tracking of the TrackR devices using your phones Bluetooth and GPS.
@@ -33,4 +32,3 @@ password:
required: true
type: string
{% endconfiguration %}
-
diff --git a/source/_integrations/tradfri.markdown b/source/_integrations/tradfri.markdown
index 4a43f7baa50..1602543048f 100644
--- a/source/_integrations/tradfri.markdown
+++ b/source/_integrations/tradfri.markdown
@@ -1,6 +1,6 @@
---
-title: "IKEA TrƄdfri (Tradfri)"
-description: "Access and control your IKEA TrƄdfri Gateway and its connected Zigbee-based devices."
+title: IKEA TRĆ DFRI (TRADFRI)
+description: Access and control your IKEA TrƄdfri Gateway and its connected Zigbee-based devices.
featured: true
logo: ikea.svg
ha_iot_class: Local Polling
@@ -11,9 +11,11 @@ ha_category:
- Light
- Sensor
- Switch
+ha_codeowners:
+ - '@ggravlingen'
---
-The `tradfri` integration allows you to connect your IKEA TrƄdfri Gateway to Home Assistant. The gateway can control compatible Zigbee-based lights (certified ZigBee Light Link products) connected to it. Home Assistant will automatically discover the gateway's presence on your local network if `discovery:` is present in your `configuration.yaml` file.
+The `tradfri` integration allows you to connect your IKEA TrƄdfri Gateway to Home Assistant. The gateway can control compatible Zigbee-based lights (certified Zigbee Light Link products) connected to it. Home Assistant will automatically discover the gateway's presence on your local network if `discovery:` is present in your `configuration.yaml` file.
You will be prompted to configure the gateway through the Home Assistant interface. The configuration process is very simple: when prompted, enter the security key printed on the sticker on the bottom of the IKEA TrƄdfri Gateway, then click *configure*.
diff --git a/source/_integrations/trafikverket_train.markdown b/source/_integrations/trafikverket_train.markdown
index 383e66fa81d..ba783b7432d 100644
--- a/source/_integrations/trafikverket_train.markdown
+++ b/source/_integrations/trafikverket_train.markdown
@@ -1,12 +1,14 @@
---
-title: "Trafikverket Train"
-description: "Instructions how to integrate Trafikverket Train within Home Assistant."
+title: Trafikverket Train
+description: Instructions how to integrate Trafikverket Train within Home Assistant.
logo: trafikverket.png
ha_category:
- Transport
- Sensor
ha_release: 0.96
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@endor-force'
---
Retrieve train departure information from [Trafikverket](https://www.trafikverket.se/).
diff --git a/source/_integrations/trafikverket_weatherstation.markdown b/source/_integrations/trafikverket_weatherstation.markdown
index 94b9fa8a320..9b8604a5b30 100644
--- a/source/_integrations/trafikverket_weatherstation.markdown
+++ b/source/_integrations/trafikverket_weatherstation.markdown
@@ -1,6 +1,6 @@
---
-title: "Trafikverket WeatherStation"
-description: "Instructions how to integrate Trafikverket WeatherStation within Home Assistant."
+title: Trafikverket Weather Station
+description: Instructions how to integrate Trafikverket WeatherStation within Home Assistant.
logo: trafikverket.png
ha_category:
- Weather
diff --git a/source/_integrations/transmission.markdown b/source/_integrations/transmission.markdown
index dd8455037c5..ccbb2b50e27 100644
--- a/source/_integrations/transmission.markdown
+++ b/source/_integrations/transmission.markdown
@@ -1,6 +1,6 @@
---
-title: "Transmission"
-description: "Instructions on how to integrate Transmission within Home Assistant."
+title: Transmission
+description: Instructions on how to integrate Transmission within Home Assistant.
logo: transmission.png
ha_category:
- Downloading
@@ -8,6 +8,10 @@ ha_category:
- Sensor
ha_release: 0.87
ha_iot_class: Local Polling
+ha_config_flow: true
+ha_codeowners:
+ - '@engrbm87'
+ - '@JPHutchins'
---
The `transmission` integration allows you to monitor your downloads with [Transmission](https://www.transmissionbt.com/) from within Home Assistant and setup automation based on the information.
@@ -70,18 +74,18 @@ scan_interval:
The Transmission Integration will add the following sensors and switches.
Sensors:
-- current_status: The status of your Transmission daemon.
-- download_speed: The current download speed [MB/s].
-- upload_speed: The current upload speed [MB/s].
-- active_torrents: The current number of active torrents.
-- paused_torrents: The current number of paused torrents.
-- total_torrents: The total number of torrents present in the client.
-- started_torrents: The current number of started torrents (downloading).
-- completed_torrents: The current number of completed torrents (seeding)
+- transmission_current_status: The status of your Transmission daemon.
+- transmission_download_speed: The current download speed [MB/s].
+- transmission_upload_speed: The current upload speed [MB/s].
+- transmission_active_torrents: The current number of active torrents.
+- transmission_paused_torrents: The current number of paused torrents.
+- transmission_total_torrents: The total number of torrents present in the client.
+- transmission_started_torrents: The current number of started torrents (downloading).
+- transmission_completed_torrents: The current number of completed torrents (seeding)
Switches:
-- on_off: A switch to start/stop all torrents
-- turtle_mode: A switch to enable turtle mode.
+- transmission_switch: A switch to start/stop all torrents
+- transmission_turtle_mode: A switch to enable turtle mode.
## Event Automation
diff --git a/source/_integrations/transport_nsw.markdown b/source/_integrations/transport_nsw.markdown
index a98c96f938a..6b2ec21b6e6 100644
--- a/source/_integrations/transport_nsw.markdown
+++ b/source/_integrations/transport_nsw.markdown
@@ -1,6 +1,6 @@
---
-title: "Transport NSW"
-description: "Instructions on how to integrate timetable data for Transport NSW (Australia) within Home Assistant."
+title: Transport NSW
+description: Instructions on how to integrate timetable data for Transport NSW (Australia) within Home Assistant.
logo: transport_nsw.png
ha_category:
- Transport
diff --git a/source/_integrations/travisci.markdown b/source/_integrations/travisci.markdown
index b7c661fd9ec..13cd4306ece 100644
--- a/source/_integrations/travisci.markdown
+++ b/source/_integrations/travisci.markdown
@@ -1,6 +1,6 @@
---
-title: "Travis-CI Sensor"
-description: "Instructions on how to integrate the test build results reported by Travis-CI within Home Assistant."
+title: Travis-CI
+description: Instructions on how to integrate the test build results reported by Travis-CI within Home Assistant.
logo: travisci.svg
ha_category:
- Sensor
diff --git a/source/_integrations/trend.markdown b/source/_integrations/trend.markdown
index 5999eef5cb8..90f78990765 100644
--- a/source/_integrations/trend.markdown
+++ b/source/_integrations/trend.markdown
@@ -1,12 +1,12 @@
---
-title: "Trend Binary Sensor"
-description: "Instructions on how to integrate Trend binary sensors into Home Assistant."
+title: Trend
+description: Instructions on how to integrate Trend binary sensors into Home Assistant.
ha_category:
- Utility
logo: home-assistant.png
ha_release: 0.28
ha_iot_class: Local Push
-ha_qa_scale: internal
+ha_quality_scale: internal
---
The `trend` platform allows you to create sensors which show the trend of
diff --git a/source/_integrations/tts.markdown b/source/_integrations/tts.markdown
index 0cfbe44a62c..f2cc5b0f0a4 100644
--- a/source/_integrations/tts.markdown
+++ b/source/_integrations/tts.markdown
@@ -1,7 +1,9 @@
---
-title: "Text-to-Speech (TTS)"
-description: "Instructions on how to set up Text-to-Speech (TTS) with Home Assistant."
+title: Text-to-Speech (TTS)
+description: Instructions on how to set up Text-to-Speech (TTS) with Home Assistant.
ha_release: 0.35
+ha_codeowners:
+ - '@robbiet480'
---
Text-to-Speech (TTS) enables Home Assistant to speak to you.
@@ -91,7 +93,7 @@ The Google cast devices (Google Home, Chromecast, etc.) present the following pr
* They do not work with URLs that contain hostnames established by local naming means. Let's say your Home Assistant instance is running on a machine made known locally as `ha`. All your machines on your local network are able to access it as `ha`. However, try as you may, your cast device won't download the media files from your `ha` machine. That's because your cast device ignores your local naming setup. In this example, the `say` service creates a URL like `http://ha/path/to/media.mp3` (or `https://...` if you are using SSL). Setting a `base_url` that contains the IP address of your server works around this issue. By using an IP address, the cast device does not have to resolve the hostname.
-* An alternative way to force Google cast devices to use internal DNS is to block them from accessing Google DNS at the firewall/router level. This would be useful in the case, for example, where your internal IP of HASS is a private IP and you have your internal DNS server (quite often a split-brain DNS scenario). This method works on both Google Home Mini and Google Chromecasts.
+* An alternative way to force Google cast devices to use internal DNS is to block them from accessing Google DNS at the firewall/router level. This would be useful in the case, for example, where your internal IP of Home Assistant is a private IP and you have your internal DNS server (quite often a split-brain DNS scenario). This method works on both Google Home Mini and Google Chromecasts.
## Service say
diff --git a/source/_integrations/tuya.markdown b/source/_integrations/tuya.markdown
index 23a42089716..d0ccc92aab3 100644
--- a/source/_integrations/tuya.markdown
+++ b/source/_integrations/tuya.markdown
@@ -1,6 +1,6 @@
---
-title: "Tuya"
-description: "Instructions on how to setup the Tuya hub within Home Assistant."
+title: Tuya
+description: Instructions on how to setup the Tuya hub within Home Assistant.
logo: tuya.png
ha_category:
- Hub
diff --git a/source/_integrations/twentemilieu.markdown b/source/_integrations/twentemilieu.markdown
index df54c4ab44f..2a7aac0451b 100644
--- a/source/_integrations/twentemilieu.markdown
+++ b/source/_integrations/twentemilieu.markdown
@@ -1,6 +1,6 @@
---
-title: "Twente Milieu"
-description: "Instructions on how to integrate Twente Milieu with Home Assistant."
+title: Twente Milieu
+description: Instructions on how to integrate Twente Milieu with Home Assistant.
logo: twentemilieu.png
ha_category:
- Sensor
@@ -8,6 +8,8 @@ ha_category:
ha_release: 0.97
ha_iot_class: Cloud Polling
ha_config_flow: true
+ha_codeowners:
+ - '@frenck'
---
The Twente Milieu integration allows you to track the next scheduled waste
diff --git a/source/_integrations/twilio.markdown b/source/_integrations/twilio.markdown
index aefa7363860..d3f532fecfe 100644
--- a/source/_integrations/twilio.markdown
+++ b/source/_integrations/twilio.markdown
@@ -1,10 +1,11 @@
---
-title: "Twilio"
-description: "Instructions on how to add Twilio notifications to Home Assistant."
+title: Twilio
+description: Instructions on how to add Twilio notifications to Home Assistant.
logo: twilio.png
ha_category:
- Hub
-ha_release: "0.40"
+ha_release: '0.40'
+ha_config_flow: true
---
The `twilio` integration enables the sending of notifications via SMS and the creation of calls with [Twilio](https://twilio.com).
diff --git a/source/_integrations/twilio_call.markdown b/source/_integrations/twilio_call.markdown
index bdbc0ef6eb3..ef47f677134 100644
--- a/source/_integrations/twilio_call.markdown
+++ b/source/_integrations/twilio_call.markdown
@@ -1,10 +1,12 @@
---
-title: "Twilio Call"
-description: "Instructions on how to add user notifications to Home Assistant."
+title: Twilio Call
+description: Instructions on how to add user notifications to Home Assistant.
logo: twilio.png
ha_category:
- Notifications
ha_release: 0.37
+ha_codeowners:
+ - '@robbiet480'
---
The `twilio_call` notification platform enables sending notifications via Voice, powered by [Twilio](https://twilio.com).
diff --git a/source/_integrations/twilio_sms.markdown b/source/_integrations/twilio_sms.markdown
index 94b4b59edd8..f81b5eaa6c7 100644
--- a/source/_integrations/twilio_sms.markdown
+++ b/source/_integrations/twilio_sms.markdown
@@ -1,10 +1,12 @@
---
-title: "Twilio SMS"
-description: "Instructions on how to add user notifications to Home Assistant."
+title: Twilio SMS
+description: Instructions on how to add user notifications to Home Assistant.
logo: twilio.png
ha_category:
- Notifications
-ha_release: "0.20"
+ha_release: '0.20'
+ha_codeowners:
+ - '@robbiet480'
---
The `twilio` notification platform enables sending notifications via SMS, powered by [Twilio](https://twilio.com).
diff --git a/source/_integrations/twitch.markdown b/source/_integrations/twitch.markdown
index af97ab66266..4ba79e52fd7 100644
--- a/source/_integrations/twitch.markdown
+++ b/source/_integrations/twitch.markdown
@@ -1,10 +1,10 @@
---
-title: "Twitch"
-description: "Instructions on how to integrate Twitch sensors into Home Assistant."
+title: Twitch
+description: Instructions on how to integrate Twitch sensors into Home Assistant.
logo: twitch.png
ha_category:
- Social
-ha_release: "0.10"
+ha_release: '0.10'
ha_iot_class: Cloud Polling
---
diff --git a/source/_integrations/twitter.markdown b/source/_integrations/twitter.markdown
index 3ecf12d08bb..d7094e4747d 100644
--- a/source/_integrations/twitter.markdown
+++ b/source/_integrations/twitter.markdown
@@ -1,13 +1,12 @@
---
-title: "Twitter"
-description: "Instructions on how to add Twitter notifications to Home Assistant."
+title: Twitter
+description: Instructions on how to add Twitter notifications to Home Assistant.
logo: twitter.png
ha_category:
- Notifications
ha_release: 0.12
---
-
The `twitter` notification platform uses [Twitter](https://twitter.com) to deliver notifications from Home Assistant.
## Setup
diff --git a/source/_integrations/ubee.markdown b/source/_integrations/ubee.markdown
index fa0ad03bd25..3e6ce633b62 100644
--- a/source/_integrations/ubee.markdown
+++ b/source/_integrations/ubee.markdown
@@ -1,6 +1,6 @@
---
-title: "Ubee Router"
-description: "Instructions on how to integrate Ubee routers into Home Assistant."
+title: Ubee Router
+description: Instructions on how to integrate Ubee routers into Home Assistant.
logo: ubee.png
ha_category:
- Presence Detection
diff --git a/source/_integrations/ubus.markdown b/source/_integrations/ubus.markdown
index e2ced94e075..ab455b0a4b5 100644
--- a/source/_integrations/ubus.markdown
+++ b/source/_integrations/ubus.markdown
@@ -1,6 +1,6 @@
---
-title: "OpenWRT (ubus)"
-description: "Instructions on how to integrate OpenWRT routers into Home Assistant."
+title: OpenWrt (ubus)
+description: Instructions on how to integrate OpenWRT routers into Home Assistant.
logo: openwrt.png
ha_category:
- Presence Detection
diff --git a/source/_integrations/ue_smart_radio.markdown b/source/_integrations/ue_smart_radio.markdown
index 58ab2844572..26f314bcf11 100644
--- a/source/_integrations/ue_smart_radio.markdown
+++ b/source/_integrations/ue_smart_radio.markdown
@@ -1,14 +1,13 @@
---
-title: "Logitech UE Smart Radio"
-description: "Instructions on how to integrate a Logitech UE Smart Radio player into Home Assistant."
+title: Logitech UE Smart Radio
+description: Instructions on how to integrate a Logitech UE Smart Radio player into Home Assistant.
logo: ueradio.png
ha_category:
- Media Player
-ha_release: "0.60"
+ha_release: '0.60'
ha_iot_class: Cloud Polling
---
-
The `ue_radio` platform allows you to control a [Logitech UE Smart Radio](https://www.uesmartradio.com) from Home Assistant. This lets you control both Logitech UE Smart Radios and Logitech Squeezebox Radios that have been updated with the UE Smart Radio update.
To add your UE Smart Radio player to your installation, add the following to your `configuration.yaml` file:
diff --git a/source/_integrations/uk_transport.markdown b/source/_integrations/uk_transport.markdown
index 3c2d68650ec..2d6eef75a15 100644
--- a/source/_integrations/uk_transport.markdown
+++ b/source/_integrations/uk_transport.markdown
@@ -1,11 +1,11 @@
---
-title: "UK transport"
-description: "Display the current status of UK train and bus departures."
+title: UK Transport
+description: Display the current status of UK train and bus departures.
logo: train.png
ha_category:
- Transport
ha_iot_class: Cloud Polling
-ha_release: "0.50"
+ha_release: '0.50'
---
The `uk_transport` sensor will display the time in minutes until the next departure in a specified direction from of a configured train station or bus stop. The sensor uses [transportAPI](https://www.transportapi.com/) to query live departure data and requires a developer application ID and key which can be obtained [here](https://developer.transportapi.com/). The [free tier](https://www.transportapi.com/plans/) allows 1000 requests daily, which is sufficient for a single sensor refreshing every 87 seconds.
diff --git a/source/_integrations/unifi.markdown b/source/_integrations/unifi.markdown
index 78126ea1664..78aca8b6b63 100644
--- a/source/_integrations/unifi.markdown
+++ b/source/_integrations/unifi.markdown
@@ -1,6 +1,6 @@
---
-title: "UniFi"
-description: "Instructions on how to configure UniFi integration with UniFi Controller by Ubiquiti."
+title: Ubiquiti UniFi
+description: Instructions on how to configure UniFi integration with UniFi Controller by Ubiquiti.
logo: ubiquiti.png
ha_category:
- Hub
@@ -8,7 +8,10 @@ ha_category:
- Switch
ha_release: 0.81
ha_iot_class: Local Polling
-ha_qa_scale: platinum
+ha_config_flow: true
+ha_quality_scale: platinum
+ha_codeowners:
+ - '@kane610'
---
[UniFi](https://unifi-sdn.ubnt.com/) by [Ubiquiti Networks, inc.](https://www.ubnt.com/) is a software that binds gateways, switches and wireless access points together with one graphical front end.
diff --git a/source/_integrations/unifi_direct.markdown b/source/_integrations/unifi_direct.markdown
index 7da2f26488e..dbc20717f95 100644
--- a/source/_integrations/unifi_direct.markdown
+++ b/source/_integrations/unifi_direct.markdown
@@ -1,6 +1,6 @@
---
-title: "Ubiquiti Unifi direct AP"
-description: "Instructions on how to use a Unifi WAP as a device tracker."
+title: Ubiquiti UniFi AP
+description: Instructions on how to use a Unifi WAP as a device tracker.
logo: ubiquiti.png
ha_category:
- Presence Detection
@@ -8,7 +8,6 @@ ha_iot_class: Local Polling
ha_release: 0.59
---
-
This platform allows you to detect presence by looking at devices connected to a [UniFi AP](https://www.ubnt.com/products/#unifi). This device tracker differs form [Ubiquiti Unifi WAP](/integrations/unifi) because it doesn't require the Unifi controller software.
To use this device tracker in your installation, add the following to your `configuration.yaml` file:
@@ -38,4 +37,3 @@ password:
{% endconfiguration %}
See the [device tracker integration page](/integrations/device_tracker/) for instructions how to configure the people to be tracked.
-
diff --git a/source/_integrations/unifiled.markdown b/source/_integrations/unifiled.markdown
index 8b13a079709..8aa27c5033c 100644
--- a/source/_integrations/unifiled.markdown
+++ b/source/_integrations/unifiled.markdown
@@ -1,11 +1,13 @@
---
-title: "UniFi LED"
-description: "Instructions on how to configure the UniFi LED integration with UniFi LED Controller by Ubiquiti."
+title: Ubiquiti UniFi LED
+description: Instructions on how to configure the UniFi LED integration with UniFi LED Controller by Ubiquiti.
logo: ubiquiti.png
ha_category:
- Light
ha_release: 0.102
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@florisvdk'
---
[UniFi LED](https://unifi-led.ui.com/) by [Ubiquiti Networks, inc.](https://www.ubnt.com/) is a system of controller managed led light panels and dimmers.
@@ -50,4 +52,4 @@ password:
## Light
-The light panels output state and brightness are synchronized with home assistant.
+The light panels output state and brightness are synchronized with Home Assistant.
diff --git a/source/_integrations/universal.markdown b/source/_integrations/universal.markdown
index 0d703026305..5bc4449896b 100644
--- a/source/_integrations/universal.markdown
+++ b/source/_integrations/universal.markdown
@@ -1,11 +1,11 @@
---
-title: "Universal"
-description: "Instructions on how to create a universal media player in Home Assistant."
+title: Universal Media Player
+description: Instructions on how to create a universal media player in Home Assistant.
logo: home-assistant.png
ha_category:
- Media Player
-ha_qa_scale: internal
ha_release: 0.11
+ha_quality_scale: internal
---
Universal Media Players combine multiple existing entities in Home Assistant into one media player entity. This is used for creating a single entity that controls an entire media center.
diff --git a/source/_integrations/upc_connect.markdown b/source/_integrations/upc_connect.markdown
index 902a952da38..7f0c928191e 100644
--- a/source/_integrations/upc_connect.markdown
+++ b/source/_integrations/upc_connect.markdown
@@ -1,13 +1,14 @@
---
-title: "UPC ConnectBox"
-description: "Instructions on how to integrate UPC ConnectBox into Home Assistant."
+title: UPC Connect Box
+description: Instructions on how to integrate UPC ConnectBox into Home Assistant.
logo: upc.png
ha_category:
- Presence Detection
ha_release: 0.36
+ha_codeowners:
+ - '@pvizeli'
---
-
The `upc_connect` platform offers presence detection by looking at connected devices to a [Connect Box](https://www.upc.ch/en/internet/learn-about-internet/) from [Liberty Global](https://www.libertyglobal.com) (also known as UPC Cablecom in Switzerland) which is an Internet provider in Switzerland, Austria and the Netherlands (under Ziggo).
To use a Connect Box in your installation, add the following to your `configuration.yaml` file:
@@ -38,4 +39,3 @@ Also known to be working with the following devices:
- Unitymedia Connect Box (DE)
- Ziggo Connectbox (NL)
- Compal CH7465LG ED 3.0 - Connect box (UPC / Vodafone CZ)
-
diff --git a/source/_integrations/upcloud.markdown b/source/_integrations/upcloud.markdown
index 4147a2440d7..f4fb46245d5 100644
--- a/source/_integrations/upcloud.markdown
+++ b/source/_integrations/upcloud.markdown
@@ -8,6 +8,8 @@ ha_category:
ha_release: 0.65
logo: upcloud.png
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@scop'
---
The `upcloud` integration allows you to access the information about your [UpCloud](https://upcloud.com/) servers from Home Assistant.
diff --git a/source/_integrations/updater.markdown b/source/_integrations/updater.markdown
index 550422bab05..1bf493780d8 100644
--- a/source/_integrations/updater.markdown
+++ b/source/_integrations/updater.markdown
@@ -1,11 +1,13 @@
---
-title: "Updater"
-description: "Detecting when Home Assistant updates are available."
+title: Updater
+description: Detecting when Home Assistant updates are available.
logo: home-assistant.png
ha_category:
- Binary Sensor
-ha_qa_scale: internal
ha_release: 0.8
+ha_quality_scale: internal
+ha_codeowners:
+ - '@home-assistant/core'
---
The `updater` binary sensor will check daily for new releases. The state will be "on" when an update is available. Otherwise, the state will be "off". The newer version, as well as the link to the release notes, are attributes of the updater. As [Hass.io](/hassio/) has its own schedule for release it doesn't make sense to use this binary sensor on Hass.io.
diff --git a/source/_integrations/upnp.markdown b/source/_integrations/upnp.markdown
index 83f2d8376ba..902963751b1 100644
--- a/source/_integrations/upnp.markdown
+++ b/source/_integrations/upnp.markdown
@@ -1,12 +1,15 @@
---
-title: "UPnP"
-description: "Internet Gateway Device (IGD) Protocol for Home Assistant."
+title: UPnP
+description: Internet Gateway Device (IGD) Protocol for Home Assistant.
logo: upnp.png
ha_category:
- Network
- Sensor
ha_release: 0.18
-ha_iot_class: "Local Polling"
+ha_iot_class: Local Polling
+ha_config_flow: true
+ha_codeowners:
+ - '@robbiet480'
---
The `upnp` integration enables you to collect network statistics from your router such as bytes in/out and packets in/out. This information is provided by the [UPnP](https://en.wikipedia.org/wiki/Universal_Plug_and_Play)/[Internet Gateway Device (IGD) Protocol](https://en.wikipedia.org/wiki/Internet_Gateway_Device_Protocol) if enabled on your router.
@@ -54,7 +57,7 @@ ports:
description: Map of ports to map from internal to external. Pass 'hass' as internal port to use the port Home Assistant runs on. Note that you have to enable port_mapping if you wish to map ports.
required: false
type: map
- default: Open same port on external router as that HASS runs locally and forwards it.
+ default: Open same port on external router as that Home Assistant runs locally and forwards it.
{% endconfiguration %}
## Troubleshooting
diff --git a/source/_integrations/uptime.markdown b/source/_integrations/uptime.markdown
index 7ecee673608..cb958e0d7da 100644
--- a/source/_integrations/uptime.markdown
+++ b/source/_integrations/uptime.markdown
@@ -1,12 +1,12 @@
---
-title: "Uptime Sensor"
-description: "Instructions on how to integrate an uptime sensor into Home Assistant."
+title: Uptime
+description: Instructions on how to integrate an uptime sensor into Home Assistant.
ha_category:
- Utility
ha_iot_class: Local Push
logo: home-assistant.png
ha_release: 0.56
-ha_qa_scale: internal
+ha_quality_scale: internal
---
The `uptime` sensor platform displays the time since the last Home Assistant restart.
diff --git a/source/_integrations/uptimerobot.markdown b/source/_integrations/uptimerobot.markdown
index 93ccce59911..b36465b53fd 100644
--- a/source/_integrations/uptimerobot.markdown
+++ b/source/_integrations/uptimerobot.markdown
@@ -1,11 +1,13 @@
---
-title: "Uptime Robot"
-description: "Instructions on how to set up Uptime Robot within Home Assistant."
+title: Uptime Robot
+description: Instructions on how to set up Uptime Robot within Home Assistant.
logo: uptimerobot.png
ha_category:
- System Monitor
ha_release: 0.72
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@ludeeus'
---
The `uptimerobot` binary sensor platform allows you get the status for all of your monitors from your account on [Uptime Robot]( https://uptimerobot.com).
diff --git a/source/_integrations/uscis.markdown b/source/_integrations/uscis.markdown
index 91ee0b7d97f..5aecd9650a1 100644
--- a/source/_integrations/uscis.markdown
+++ b/source/_integrations/uscis.markdown
@@ -1,6 +1,6 @@
---
-title: USCIS Sensor
-description: "Instructions on how to set up USCIS within Home Assistant."
+title: U.S. Citizenship and Immigration Services (USCIS)
+description: Instructions on how to set up USCIS within Home Assistant.
logo: uscis.png
ha_category:
- Sensor
diff --git a/source/_integrations/usgs_earthquakes_feed.markdown b/source/_integrations/usgs_earthquakes_feed.markdown
index ef639c6c9b4..7e7f878f357 100644
--- a/source/_integrations/usgs_earthquakes_feed.markdown
+++ b/source/_integrations/usgs_earthquakes_feed.markdown
@@ -1,11 +1,13 @@
---
-title: "USGS Earthquakes"
-description: "Instructions on how to integrate the U.S. Geological Survey Earthquake Hazards Program Feed feed into Home Assistant."
+title: U.S. Geological Survey Earthquake Hazards (USGS)
+description: Instructions on how to integrate the U.S. Geological Survey Earthquake Hazards Program Feed feed into Home Assistant.
logo: us-geological-survey.png
ha_category:
- Geolocation
ha_iot_class: Cloud Polling
ha_release: 0.84
+ha_codeowners:
+ - '@exxamalte'
---
The `usgs_earthquakes_feed` platform lets you integrate a GeoJSON feed provided by the [U.S. Geological Survey](https://earthquake.usgs.gov/) with information about seismic events like earthquakes. It retrieves incidents from a feed and shows information of those incidents filtered by distance to Home Assistant's location.
diff --git a/source/_integrations/utility_meter.markdown b/source/_integrations/utility_meter.markdown
index 0af65a471c4..ad3f92b5b92 100644
--- a/source/_integrations/utility_meter.markdown
+++ b/source/_integrations/utility_meter.markdown
@@ -1,12 +1,14 @@
---
-title: "Utility Meter"
-description: "Instructions on how to integrate the Utility Meter into Home Assistant."
+title: Utility Meter
+description: Instructions on how to integrate the Utility Meter into Home Assistant.
ha_category:
- Sensor
ha_release: 0.87
ha_iot_class: Local Push
logo: energy_meter.png
-ha_qa_scale: internal
+ha_quality_scale: internal
+ha_codeowners:
+ - '@dgomes'
---
The `utility meter` integration provides functionality to track consumptions of various utilities (e.g., energy, gas, water, heating).
@@ -16,7 +18,7 @@ From a user perspective, utility meters operate in cycles (usually monthly) for
Some utility providers have different tariffs according to time/resource availability/etc. The utility meter enables you to define the various tariffs supported by your utility provider and accounts your consumptions in accordance. When tariffs are defined a new entity will show up indicating the current tariff. In order to change the tariff, the user must call a service, usually through an automation that can be based in time or other external source (eg. a REST sensor).
-Sensors created with this integration are persistent, so values are retained across restarts of home assistant. The first cycle for each sensor, will be incomplete; a sensor tracking daily usage, will start to be accurate the next day after the integration was activated. A sensor tracking monthly usage, will present accurate data starting the first of the next month after being added to home assistant.
+Sensors created with this integration are persistent, so values are retained across restarts of Home Assistant. The first cycle for each sensor, will be incomplete; a sensor tracking daily usage, will start to be accurate the next day after the integration was activated. A sensor tracking monthly usage, will present accurate data starting the first of the next month after being added to Home Assistant.
## Configuration
@@ -37,7 +39,7 @@ source:
required: true
type: string
cycle:
- description: How often to reset the counter. Valid values are `hourly`, `daily`, `weekly`, `monthly` and `yearly`.
+ description: How often to reset the counter. Valid values are `hourly`, `daily`, `weekly`, `monthly`, `quarterly` and `yearly`.
required: true
type: string
offset:
diff --git a/source/_integrations/uvc.markdown b/source/_integrations/uvc.markdown
index 56a8711f279..a24c9b985a0 100644
--- a/source/_integrations/uvc.markdown
+++ b/source/_integrations/uvc.markdown
@@ -1,6 +1,6 @@
---
-title: "UniFi Video Camera"
-description: "Instructions on how to integrate UVC cameras within Home Assistant."
+title: Ubiquiti UniFi Video
+description: Instructions on how to integrate UVC cameras within Home Assistant.
logo: ubiquiti.png
ha_category:
- Camera
diff --git a/source/_integrations/vacuum.markdown b/source/_integrations/vacuum.markdown
index de6647273cd..7c669b99270 100644
--- a/source/_integrations/vacuum.markdown
+++ b/source/_integrations/vacuum.markdown
@@ -1,6 +1,6 @@
---
-title: "Vacuum cleaner robots"
-description: "Instructions on how to setup and use vacuum's in Home Assistant."
+title: Vacuum
+description: Instructions on how to setup and use vacuum's in Home Assistant.
ha_release: 0.51
---
diff --git a/source/_integrations/vacuum.template.markdown b/source/_integrations/vacuum.template.markdown
index bee77c70187..5fe3ebb8ea4 100644
--- a/source/_integrations/vacuum.template.markdown
+++ b/source/_integrations/vacuum.template.markdown
@@ -5,7 +5,7 @@ ha_category: Vacuum
ha_release: 0.96
ha_iot_class: Local Push
logo: home-assistant.png
-ha_qa_scale: internal
+ha_quality_scale: internal
---
The `template` platform creates vacuums that combine integrations and provides the
@@ -149,6 +149,8 @@ vacuum:
service: script.vacuum_locate_vacuum
set_fan_speed:
service: script.vacuum_set_fan_speed
+ data_template:
+ speed: "{{ fan_speed }}"
fan_speeds:
- Low
- Medium
diff --git a/source/_integrations/vacuum.xiaomi_miio.markdown b/source/_integrations/vacuum.xiaomi_miio.markdown
index 2dc5fbbe8c0..cce32980088 100644
--- a/source/_integrations/vacuum.xiaomi_miio.markdown
+++ b/source/_integrations/vacuum.xiaomi_miio.markdown
@@ -114,6 +114,7 @@ Example of `xiaomi_miio.vacuum_clean_zone` use:
Inline array:
{% raw %}
+
```yaml
automation:
- alias: Test vacuum zone3
@@ -128,10 +129,12 @@ automation:
repeats: '{{states('input_number.vacuum_passes')|int}}'
zone: [[30914,26007,35514,28807], [20232,22496,26032,26496]]
```
+
{% endraw %}
Array with inline zone:
{% raw %}
+
```yaml
automation:
- alias: Test vacuum zone3
@@ -148,9 +151,11 @@ automation:
- [30914,26007,35514,28807]
- [20232,22496,26032,26496]
```
+
{% endraw %}
Array mode:
+
```yaml
automation:
- alias: Test vacuum zone3
@@ -206,9 +211,9 @@ The following table shows the units of measurement for each attribute:
-As per Version 5.4.49 the Android Mi Home app stores the token readable in the log files. It can easily be retrieved in the folder Smarthome on in the Android device. Just open the text file inside the Smarthome/logs folder and search for the token.
+If using an Android device to retrieve the Access Token only `v5.4.49` of Mi Home is confirmed working (December 2019). Use `v5.4.49` of Mi Home locate a text file under the `Smarthome/logs` folder where the 32 character token is stored. There will likely be several text files in this directory, search all of them for the word 'token' and you should find it there. Be advised that the latest version of Mi Home does not store the token in clear text.
-The iPhone app still stores the token in the SQLite db as of v4.23.4 (Nov 17, 2019).
+The iPhone app still stores the token in the SQLite db as of `v4.23.4` (Nov 17, 2019).
After resetting the WiFi settings of the Xiaomi robot vacuum, a new Access Token will be generated and therefore these instructions need to be followed again.
@@ -217,8 +222,68 @@ These instructions are written for the Mi Home app - not for the new RoboRock ap
This token (32 hexadecimal characters) is required for the Xiaomi Mi Robot Vacuum, Mi Robot 2 (Roborock) Vacuum, Xiaomi Philips Lights and Xiaomi IR Remote. The Xiaomi Gateway uses another security method and requires a `key` (16 alphanumeric chars), which can be obtained easily via a hidden menu item at the Mi-Home app or using the `miio` command line tool.
+### Android (not rooted)
+
+> If using an Android device to retrieve the Access Token only `v5.4.49` of Mi Home is confirmed working (December 2019).
+
+1. To begin, set up your Robovac with the latest version of Mi Home on your primary Android device as you normally would.
+2. Using `v5.4.49` of Mi Home locate a text file under the `Smarthome/logs` folder where the 32 character token is stored.
+3. There will likely be several text files in this directory, search all of them for the word 'token' and you should find it there. Be advised that the latest version of Mi Home does not store the token in clear text.
+
+### Linux and Rooted Android
+
+1. To begin, set up your Robovac with the latest version of Mi Home on your primary Android device as you normally would.
+2. Ensure successful operation using the latest Mi Home app and give the Vacuum a static IP in your router or however you do that on your LAN.
+3. Install version `v5.4.54` of Mi Home on your rooted Android device and login (you can't have two version of Mi Home installed at the same time).
+4. Ensure you are using the same server every time
+5. Ensure successful operation using 5.4.54 (locate is a nice simple test)
+6. Using adb we will now extract the token from the rooted phone
+7. Use adb shell to connect to your device and become root (if using Magisck root do `adb shell -> su -> whoami` to ensure root access.
+8. Then run grep -R '"token"' /data/data/com.xiaomi.smarthome and grab the token
+
+### iOS
+
+1. Configure the robot with the Mi Home app. Make sure to select the correct region, as Xiaomi uses different product names for different geographical areas. Note that the new RoboRock app is currently not supported for this method.
+2. Using iTunes, create an unencrypted backup of your iPhone.
+3. Install [iBackup Viewer](https://www.imactools.com/iphonebackupviewer/), open it, and open your backup.
+4. Open the "Raw Data" module.
+5. Navigate to `com.xiaomi.mihome`.
+6. Search for a file that looks like this: `123456789_mihome.sqlite` (Note: `_mihome.sqlite` is *not* the correct file. Most likely, you will find this file in the `Documents` folder.)
+7. Save this file to your filesystem.
+8. Install [DB Browser for SQLite](https://sqlitebrowser.org/).
+9. Open DB Browser and load the `.sqlite` file you saved from your backup.
+10. Click on the `Execute SQL` tab.
+11. Input and run this query:
+
+ ```sql
+ SELECT ZTOKEN FROM ZDEVICE WHERE ZMODEL LIKE "%vacuum%"
+ ```
+
+12. Copy the returned 96-digit hexadecimal string to your clipboard.
+13. Open `Terminal` and execute this command:
+
+ ```bash
+ echo '0: ' | xxd -r -p | openssl enc -d -aes-128-ecb -nopad -nosalt -K 00000000000000000000000000000000
+ ```
+
+14. Use the resulting 32-digit string as your token. (On your mac in front of the terminal session)
+
+### Bluestacks
+
+1. Configure the robot with the Mi-Home app. Make sure to select the correct region, as Xiaomi uses different product names for different geographical areas. Note that the new RoboRock app is currently not supported for this method.
+2. Install [BlueStacks](https://www.bluestacks.com).
+3. Set up [Mi Home version 5.0.30](https://www.apkmirror.com/apk/xiaomi-inc/mihome/mihome-5-0-30-release/) in BlueStacks and login to synchronize devices.
+4. Use [BlueStacks Tweaker](https://forum.xda-developers.com/general/general/bluestacks-tweaker-2-tool-modifing-t3622681) to access the filesystem and retrieve the token.
+5. Copy `/data/data/com.xiaomi.smarthome/databases/miio2.db` file to your computer using the Bluestacks Tweakers filesystem tool.
+6. Install [DB Browser for SQLite](https://sqlitebrowser.org/).
+7. Open the DB Browser and load the `miio2.db` from your computer.
+8. Select `Browse Data` tab from the DB Browser and switch to table called `devicerecord`
+9. This will display all the connected devices information with the token.
+
### Miio command line tool
+Use of Miio should be done before the Vacuum is connected to Mi Home. If you already connected to the app you will need to delete it and then join the ad-hoc Wifi network the Vacuum creates. If the vacuum is already paired it's likely this method will only return `???` as your token.
+
You can install the command line tool using the following command:
```bash
@@ -250,147 +315,7 @@ The information output is:
- `Address` - The IP that the device has on the network.
- `Token` - The token of the device or `???` if it could not be automatically determined.
-### Windows and Android
-
-To fetch the token follow these instructions depending on your mobile phone platform.
-
-1. Configure the robot with [Mi Home version 5.0.30](https://www.apkmirror.com/apk/xiaomi-inc/mihome/mihome-5-0-30-release/). Make sure to select the correct region, as Xiaomi uses different product names for different geographical areas.
-2. Download and extract the [MiToolKit.zip](https://github.com/ultrara1n/MiToolkit/releases).
-3. Enable developer mode and USB debugging on the Android phone and plug it into the computer.
-4. Change the MiToolKit language to English if you need to.
-5. Click "Extract Token".
-6. On the phone, you must confirm the backup. DO NOT enter any password and press the button to make the backup.
-7. Once you have confirmed the backup the token extraction will begin, it should appear in the MiToolKit shortly.
-8. If you don't get a token, close MiToolKit completely, delete the folder MiToolkit\apps\com.xiaomi.smarthome and relaunch MiToolKit to force recreate a new backup (sometimes the files would not be overwritten before deleting the old ones).
-
-### Linux and Android (not rooted)
-
-Follow the pairing process using your phone and Mi-Home app. You will be able to retrieve the token from an SQLite file inside your phone.
-
-Before you begin you need to install `libffi-dev` and `libssl-dev` by running the command below. This is needed for `python-miio` to be installed correctly.
-
-```bash
-sudo apt-get install libffi-dev libssl-dev
-```
-
-If your Home Assistant installation is running in a [virtualenv](/docs/installation/virtualenv/#upgrading-home-assistant), make sure you activate it by running the commands below.
-
-```bash
-sudo -u homeassistant -H -s
-source /srv/homeassistant/bin/activate
-```
-
-To fetch the token follow these instructions depending on your mobile phone platform.
-
-1. Configure the robot with [Mi Home version 5.0.30](https://www.apkmirror.com/apk/xiaomi-inc/mihome/mihome-5-0-30-release/). Make sure to select the correct region, as Xiaomi uses different product names for different geographical areas.
-2. Enable developer mode, USB debugging and plug the Android phone into the computer.
-3. Get ADB by running `apt-get install android-tools-adb` or `apt-get install adb`.
-4. `adb devices` should list your device. Consult the ADB manual if necessary.
-5. Issue a backup command via adb: `adb backup -noapk com.xiaomi.smarthome -f backup.ab` (set a password if prompted on your phone). Some devices may require single quotes in the command `adb backup '-noapk com.xiaomi.smarthome -f backup.ab'`.
-6. Download the ['ADB Backup Extractor'](https://sourceforge.net/projects/adbextractor/files/latest/download).
-7. Extract the data from the backup: (enter the password, if prompted)
- ```bash
- java -jar Android\ Backup\ Utilities/Android\ Backup\ Extractor/android-backup-extractor-20171005-bin/abe.jar unpack backup.ab unpacked.tar
- ```
-8. Untar the unpacked data: `tar -xvf unpacked.tar`.
-9. The following command returns the token for your Xiaomi vacuum bot:
- ```bash
- sqlite3 apps/com.xiaomi.smarthome/db/miio2.db 'select token from devicerecord where name like "%Vacuum%";'
- ```
-
-### Linux and Android (rooted!)
-
-Follow the pairing process using your phone and Mi-Home app. You will be able to retrieve the token from an SQLite file inside your phone.
-
-Before you begin you need to install `libffi-dev` and `libssl-dev` by running the command below. This is needed for `python-miio` to be installed correctly.
-
-```bash
-sudo apt-get install libffi-dev libssl-dev
-```
-
-If your Home Assistant installation is running in a [virtualenv](/docs/installation/virtualenv/#upgrading-home-assistant), make sure you activate it by running the commands below.
-
-```bash
-sudo -u homeassistant -H -s
-source /srv/homeassistant/bin/activate
-```
-
-To fetch the token follow these instructions depending on your mobile phone platform.
-
-1. Configure the robot with [Mi Home version 5.0.30](https://www.apkmirror.com/apk/xiaomi-inc/mihome/mihome-5-0-30-release/). Make sure to select the correct region, as Xiaomi uses different product names for different geographical areas.
-2. Enable developer mode, USB debugging and root permission only for ADB on the Android phone and plug it into the computer.
-3. Get ADB (e.g, using `apt-get install android-tools-adb`).
-4. The command `adb devices` should list your device.
-5. The command `adb root` (does work for development builds only: ones with `ro.debuggable=1`).
-6. The command `adb shell` (for those using Magisk based root the this command won't work. After entering a shell, type `su` to enter the root shell and try again).
-7. The following command returns a list of all registered devices including IP address and token:
- ```bash
- echo "select name,localIP,token from devicerecord;" | sqlite3 /data/data/com.xiaomi.smarthome/databases/miio2.db
- ```
-
-### iOS
-
-1. Configure the robot with the Mi Home app. Make sure to select the correct region, as Xiaomi uses different product names for different geographical areas. Note that the new RoboRock app is currently not supported for this method.
-2. Using iTunes, create an unencrypted backup of your iPhone.
-3. Install [iBackup Viewer](https://www.imactools.com/iphonebackupviewer/), open it, and open your backup.
-4. Open the "Raw Data" module.
-5. Navigate to `com.xiaomi.mihome`.
-6. Search for a file that looks like this: `123456789_mihome.sqlite` (Note: `_mihome.sqlite` is *not* the correct file. Most likely, you will find this file in the `Documents` folder.)
-7. Save this file to your filesystem.
-8. Install [DB Browser for SQLite](https://sqlitebrowser.org/).
-9. Open DB Browser and load the `.sqlite` file you saved from your backup.
-10. Click on the `Execute SQL` tab.
-11. Input and run this query:
- ```sql
- SELECT ZTOKEN FROM ZDEVICE WHERE ZMODEL LIKE "%vacuum%"
- ```
-12. Copy the returned 32-digit hexadecimal string to your clipboard.
-13. Open `Terminal` and execute this command:
- ```bash
- echo '0: ' | xxd -r -p | openssl enc -d -aes-128-ecb -nopad -nosalt -K 00000000000000000000000000000000
- ```
-14. Use the resulting string as your token.
-
-### Bluestacks
-
-1. Configure the robot with the Mi-Home app. Make sure to select the correct region, as Xiaomi uses different product names for different geographical areas. Note that the new RoboRock app is currently not supported for this method.
-2. Install [BlueStacks](https://www.bluestacks.com).
-3. Set up [Mi Home version 5.0.30](https://www.apkmirror.com/apk/xiaomi-inc/mihome/mihome-5-0-30-release/) in BlueStacks and login to synchronize devices.
-4. Use [BlueStacks Tweaker](https://forum.xda-developers.com/general/general/bluestacks-tweaker-2-tool-modifing-t3622681) to access the filesystem and retrieve the token.
-5. Copy `/data/data/com.xiaomi.smarthome/databases/miio2.db` file to your computer using the Bluestacks Tweakers filesystem tool.
-6. Install [DB Browser for SQLite](https://sqlitebrowser.org/).
-7. Open the DB Browser and load the `miio2.db` from your computer.
-8. Select `Browse Data` tab from the DB Browser and switch to table called `devicerecord`
-9. This will display all the connected devices information with the token.
-
-### Selecting token manually (Windows and Android)
-
-The following instruction explained an alternative method, in case the MiToolKit didn't work.
-
-Software Required:
-
-- Android ADB is contained in [Android SDK](https://developer.android.com/studio/releases/platform-tools)
-- [Mi Home version 5.0.30](https://www.apkmirror.com/apk/xiaomi-inc/mihome/mihome-5-0-30-release/)
-- [Android Backup Extractor](https://sourceforge.net/projects/adbextractor/)
-- [SQLite Browser](https://sqlitebrowser.org/)
-1. Install an old Version of MiHome (e.g. Mi Home version 5.0.30) on your Android-Device
-2. Open MiHome, log-in and add your devices. Make sure to select the correct region, as Xiaomi uses different product names for different geographical areas.
-3. Enable USB-Debugging on your Android
-4. Create a backup from your MiHome App, by using adb
- ```bash
- adb backup com.xiaomi.smarthome
- ```
- Now the backup App opens on you Android-Device. You don't need to set a password, just click save.
-5. Extract the backup-file with android-backup-extractor
- ```bash
- java -jar abe.jar unpack backup.ab backup.tar
- ```
- After that, you will be able to open the file with WinRaR or what ever you like.
-6. Go to \apps\com.xiaomi.smarthome\db
-7. Open miio2.db with SQLite Browser
-8. You can find your device tokens in "devicerecord" table
-
-## Retrieving the Zone Coordinates
+## Retrieving Zoned Cleaning Coordinates
### Using FloleVac (Android)
@@ -399,3 +324,20 @@ Software Required:
3. Open Map (make sure you're on the same network as your vacuum cleaner)
4. Select "Zone cleanup" and draw a box around the zone you'd like to clean
5. Long press "Cleanup" and the zone coordinates will be copied to your clipboard
+
+### Using RoboRock Control Center (requires Valetudo firmware)
+
+[RRCC](https://github.com/LazyT/rrcc) supports both rooted and non-rooted Vacuums and acts as a mostly fully featured replacement for Mi Home that works locally without the cloud. If you have installed the rooted firmware [Valetudo](https://github.com/Hypfer/Valetudo) you are able to SSH into your Vacuum and enable MQTT plus use map functions with no cloud requirement.
+
+Using the map editor you are able to acquire the co-ordinates required for zoned clean up. Here is an example script for zoned clean up:
+
+```yaml
+vacuum_kitchen:
+ alias: "vacuum kitchen"
+ sequence:
+ - service: vacuum.send_command
+ data:
+ entity_id: 'vacuum.xiaomi_vacuum_cleaner'
+ command: app_zoned_clean
+ params: [[23084,26282,27628,29727,1]]
+```
diff --git a/source/_integrations/vallox.markdown b/source/_integrations/vallox.markdown
index 577cf87fe9f..14da1096117 100644
--- a/source/_integrations/vallox.markdown
+++ b/source/_integrations/vallox.markdown
@@ -1,6 +1,6 @@
---
-title: "Vallox Ventilation Units"
-description: "Instructions on how to integrate Vallox ventilation units into Home Assistant."
+title: Valloxs
+description: Instructions on how to integrate Vallox ventilation units into Home Assistant.
logo: vallox.png
ha_category:
- Fan
diff --git a/source/_integrations/vasttrafik.markdown b/source/_integrations/vasttrafik.markdown
index 66c3c1e9331..d74232f47c0 100644
--- a/source/_integrations/vasttrafik.markdown
+++ b/source/_integrations/vasttrafik.markdown
@@ -1,11 +1,11 @@
---
-title: "VƤsttrafik Public Transport"
-description: "Instructions on how to integrate timetable data for traveling in Sweden within Home Assistant."
+title: VƤsttrafik
+description: Instructions on how to integrate timetable data for traveling in Sweden within Home Assistant.
logo: vasttrafik.png
ha_category:
- Transport
ha_iot_class: Cloud Polling
-ha_release: "0.30"
+ha_release: '0.30'
---
The `vasttrafik` sensor will provide you traveling details for the larger Gƶteborg area in Sweden from the [VƤsttrafik](https://vasttrafik.se/) public transportation service.
diff --git a/source/_integrations/velbus.markdown b/source/_integrations/velbus.markdown
index dd31e09655f..50f3475d9da 100644
--- a/source/_integrations/velbus.markdown
+++ b/source/_integrations/velbus.markdown
@@ -1,6 +1,6 @@
---
-title: "Velbus"
-description: "Access and control your Velbus devices."
+title: Velbus
+description: Access and control your Velbus devices.
logo: velbus.png
ha_category:
- Hub
@@ -8,11 +8,15 @@ ha_category:
- Climate
- Sensor
- Switch
+ - Light
ha_iot_class: Local Push
-ha_release: "0.50"
+ha_release: '0.50'
+ha_config_flow: true
+ha_codeowners:
+ - '@cereal2nd'
---
-The `velbus` integration supports the Velbus USB, Velbus serial and a TCP/IP gateway.
+The `velbus` integration is used to control [Velbus](https://www.velbus.eu/?lang=en) modules. It supports the Velbus USB, Velbus serial and a TCP/IP gateway.
There is currently support for the following device types within Home Assistant:
@@ -21,6 +25,9 @@ There is currently support for the following device types within Home Assistant:
- Sensor
- Switch
- Cover
+- Light
+
+The pushbutton LEDs of input modules are disabled by default. These can be enabled from the `Devices` panel in the `Configuration` page of the web interface.
## Configuration
@@ -35,7 +42,7 @@ velbus:
port: 'PORT_STRING'
```
-## Port Sstring
+## Port String
The port string used in the user interface or the configuration file can have 2 formats:
@@ -48,3 +55,55 @@ port:
required: true
type: string
{% endconfiguration %}
+
+## Example automation
+
+The Velbus integration allows you to link a Velbus button (i.e., a button of a [VMBGPOD](https://www.velbus.eu/products/view/?id=416302&lang=en) module) to a controllable entity of Home Assistant.
+The actual linking can be realized by two automation rules. One rule to control the device using the push button and a second rule to update the LED state of the push button as soon as the entity state changes.
+
+```yaml
+# Control light living from Velbus push_button_10
+- id: 'Control_light_living_from_Velbus'
+ alias: Control light living using Velbus push_button_10
+ trigger:
+ - entity_id: binary_sensor.push_button_10
+ platform: state
+ to: 'on'
+ condition: []
+ action:
+ - entity_id: light.living
+ service: light.toggle
+
+# Keep status LED push_button_10 in sync to status light living
+- id: 'Update LED of push_button_10'
+ alias: Update LED state of push_button_10
+ trigger:
+ - entity_id: light.living
+ platform: state
+ to: 'on'
+ - entity_id: light.living
+ platform: state
+ to: 'off'
+ condition: []
+ action:
+ - condition: or
+ conditions:
+ - condition: and
+ conditions:
+ - condition: state
+ entity_id: light.led_push_button_10
+ state: 'on'
+ - condition: state
+ entity_id: light.living
+ state: 'off'
+ - condition: and
+ conditions:
+ - condition: state
+ entity_id: light.led_push_button_10
+ state: 'off'
+ - condition: state
+ entity_id: light.living
+ state: 'on'
+ - entity_id: light.led_push_button_10
+ service: light.toggle
+```
diff --git a/source/_integrations/velux.markdown b/source/_integrations/velux.markdown
index be1a433f9ea..2a6946067ab 100644
--- a/source/_integrations/velux.markdown
+++ b/source/_integrations/velux.markdown
@@ -1,12 +1,14 @@
---
-title: "Velux"
-description: "Instructions on how to integrate Velux KLF 200 integration with Home Assistant."
+title: Velux
+description: Instructions on how to integrate Velux KLF 200 integration with Home Assistant.
logo: velux.png
ha_category:
- Scene
- Cover
ha_release: 0.49
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@Julius2342'
---
[Velux](https://www.velux.com/) integration for Home Assistant allows you to connect to a Velux KLF 200 interface, to control [io-homecontrol](http://www.io-homecontrol.com) devices like windows and blinds. The module allows you to start scenes configured within KLF 200.
diff --git a/source/_integrations/venstar.markdown b/source/_integrations/venstar.markdown
index f2c60460c41..56e8e220074 100644
--- a/source/_integrations/venstar.markdown
+++ b/source/_integrations/venstar.markdown
@@ -1,6 +1,6 @@
---
-title: "Venstar Thermostat"
-description: "Instructions for how to integrate Venstar WiFi thermostats within Home Assistant."
+title: Venstar
+description: Instructions for how to integrate Venstar WiFi thermostats within Home Assistant.
logo: venstar.png
ha_category:
- Climate
@@ -8,7 +8,6 @@ ha_release: 0.62
ha_iot_class: Local Polling
---
-
The `venstar` climate platform allows you to control [Venstar](https://www.venstar.com/) thermostats from Home Assistant.
Venstar thermostats feature a local API that allows for automation without the need for their Skyport cloud service.
@@ -25,9 +24,10 @@ Currently supported functionality:
- Turning on away preset
- Turning on hold mode preset
-The following values are supported for the hold_mode state attribute:
-- `off`: *Enables* the scheduling functionality.
+The following values are supported for the preset_mode state attribute:
+- `none`: *Enables* the scheduling functionality.
- `temperature`: *Disables* the schedule and holds the set temperature indefinitely.
+- `away`: Places the thermostat in away mode
Note - Please ensure that you update your thermostat to the latest firmware. Initially tested on firmware 5.10 and currently VH6.79.
@@ -55,6 +55,10 @@ password:
description: Password for the thermostat.
required: false
type: string
+pin:
+ description: Pin for Lockscreen (required if lock screen enabled)
+ required: false
+ type: string
ssl:
description: Whether to use SSL or not when communicating.
required: false
@@ -82,6 +86,7 @@ climate:
ssl: true
username: OPTIONAL_AUTH_USER_HERE
password: OPTIONAL_AUTH_PASS_HERE
+ pin: LOCKSCREEN_PIN
timeout: 5
humidifier: false
```
diff --git a/source/_integrations/vera.markdown b/source/_integrations/vera.markdown
index a2611442c4f..b4787b103a4 100644
--- a/source/_integrations/vera.markdown
+++ b/source/_integrations/vera.markdown
@@ -1,6 +1,6 @@
---
-title: "Vera"
-description: "Instructions on how to setup Vera Z-Wave hubs and configure devices within Home Assistant."
+title: Vera
+description: Instructions on how to setup Vera Z-Wave hubs and configure devices within Home Assistant.
logo: vera.png
ha_category:
- Hub
@@ -81,4 +81,4 @@ Please note that some vera sensors (such as _motion_ and _flood_ sensors) are _
Home Assistant will display the state of these sensors regardless of the _armed_ state.
-To allow you to change the _armed state_ - Home Assistant will create a switch as well as a sensor for each _Armable_ sensor. You can hide these switches using customization if you wish.
\ No newline at end of file
+To allow you to change the _armed state_ - Home Assistant will create a switch as well as a sensor for each _Armable_ sensor. You can hide these switches using customization if you wish.
diff --git a/source/_integrations/verisure.markdown b/source/_integrations/verisure.markdown
index 88c7b4d2e13..1339d16f6a3 100644
--- a/source/_integrations/verisure.markdown
+++ b/source/_integrations/verisure.markdown
@@ -1,6 +1,6 @@
---
-title: "Verisure"
-description: "Instructions on how to setup Verisure devices within Home Assistant."
+title: Verisure
+description: Instructions on how to setup Verisure devices within Home Assistant.
logo: verisure.png
ha_category:
- Hub
diff --git a/source/_integrations/versasense.markdown b/source/_integrations/versasense.markdown
index f54e1e68716..5ba9198c8ff 100644
--- a/source/_integrations/versasense.markdown
+++ b/source/_integrations/versasense.markdown
@@ -1,6 +1,6 @@
---
-title: "VersaSense"
-description: "Integrate your VersaSense MicroPnP devices."
+title: VersaSense
+description: Integrate your VersaSense MicroPnP devices.
date: 2019-11-19 14:00
logo: versasense.png
ha_release: 0.103
@@ -9,6 +9,8 @@ ha_category:
- Sensor
- Switch
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@flamm3blemuff1n'
---
The `VersaSense` integration supports the VersaSense Edge Gateway. The gateway is able to control hubs and their peripherals (sensors and actuators) in the mesh network.
diff --git a/source/_integrations/version.markdown b/source/_integrations/version.markdown
index 62f7755e94a..533711be237 100644
--- a/source/_integrations/version.markdown
+++ b/source/_integrations/version.markdown
@@ -1,12 +1,14 @@
---
-title: "Version Sensor"
-description: "Instructions on how to integrate a version sensor into Home Assistant."
+title: Version
+description: Instructions on how to integrate a version sensor into Home Assistant.
ha_category:
- Utility
ha_iot_class: Local Push
logo: home-assistant.png
ha_release: 0.52
-ha_qa_scale: internal
+ha_quality_scale: internal
+ha_codeowners:
+ - '@fabaff'
---
The `version` sensor platform that can display the current Home Assistant versions.
diff --git a/source/_integrations/vesync.markdown b/source/_integrations/vesync.markdown
index b1392d7d1a7..a6d9071b0aa 100644
--- a/source/_integrations/vesync.markdown
+++ b/source/_integrations/vesync.markdown
@@ -1,10 +1,14 @@
---
-title: "VeSync Integration"
-description: "Instructions on how to set up Etekcity VeSync switches and outlets within Home Assistant."
+title: Etekcity VeSync
+description: Instructions on how to set up Etekcity VeSync switches and outlets within Home Assistant.
logo: vesync.png
ha_category:
- Switch
ha_release: 0.66
+ha_config_flow: true
+ha_codeowners:
+ - '@markperdue'
+ - '@webdjoe'
---
The `vesync` integration enables you to control Etekcity smart switches and outlets connected to the VeSync App.
diff --git a/source/_integrations/viaggiatreno.markdown b/source/_integrations/viaggiatreno.markdown
index e08db055af5..b2548ee731e 100644
--- a/source/_integrations/viaggiatreno.markdown
+++ b/source/_integrations/viaggiatreno.markdown
@@ -1,6 +1,6 @@
---
-title: "ViaggiaTreno Italian Railroads"
-description: "Instructions on how to integrate Italian Railroads data (from ViaggiaTreno API) into Home Assistant."
+title: Trenitalia ViaggiaTreno
+description: Instructions on how to integrate Italian Railroads data (from ViaggiaTreno API) into Home Assistant.
logo: train.png
ha_category:
- Transport
diff --git a/source/_integrations/vicare.markdown b/source/_integrations/vicare.markdown
index 9cbaf4b3d36..4a43f2a6e06 100644
--- a/source/_integrations/vicare.markdown
+++ b/source/_integrations/vicare.markdown
@@ -1,10 +1,12 @@
---
-title: "Viessmann climate controller"
-description: "Instructions how to integrate Viessmann heating devices with Home Assistant"
+title: Viessmann ViCare
+description: Instructions how to integrate Viessmann heating devices with Home Assistant
logo: viessmann.png
ha_category: Climate
ha_release: 0.99
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@oischinger'
---
The `ViCare` integration lets you control [Viessmann](https://www.viessmann.com) devices via the Viessmann ViCare (REST) API.
@@ -114,5 +116,3 @@ Sets the target temperature of domestic hot water to the given temperature.
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of water heater devices to control. To target all entities, use `all` keyword instead of entity_id.
| `temperature` | no | New target temperature for water heater
-
-
diff --git a/source/_integrations/vivotek.markdown b/source/_integrations/vivotek.markdown
index f00ddafb14d..4c4e63b41b2 100644
--- a/source/_integrations/vivotek.markdown
+++ b/source/_integrations/vivotek.markdown
@@ -1,11 +1,13 @@
---
-title: "Vivotek Camera"
-description: "Instructions on how to integrate Vivotek cameras within Home Assistant."
+title: Vivotek
+description: Instructions on how to integrate Vivotek cameras within Home Assistant.
ha_category:
- Camera
logo: vivotek.jpg
ha_release: 0.99
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@HarlemSquirrel'
---
The `vivotek` camera platform allows you to integrate a Vivotek IP camera into Home Assistant.
@@ -43,6 +45,11 @@ password:
description: The password for accessing your camera.
required: true
type: string
+authentication:
+ description: "Type for authenticating the requests `basic` or `digest`."
+ required: false
+ default: basic
+ type: string
security_level:
description: The security level of the user accessing your camera. This could be `admin` or `viewer`.
required: false
@@ -81,6 +88,7 @@ camera:
ssl: true
username: !secret fd_camera_username
password: !secret fd_camera_pwd
+ authentication: digest
security_level: admin
verify_ssl: false
framerate: 5
diff --git a/source/_integrations/vizio.markdown b/source/_integrations/vizio.markdown
index 1d1fbccc8dd..9acaa316269 100644
--- a/source/_integrations/vizio.markdown
+++ b/source/_integrations/vizio.markdown
@@ -1,11 +1,13 @@
---
-title: "Vizio SmartCast Device"
-description: "Instructions on how to integrate Vizio SmartCast TVs and sound bars into Home Assistant."
+title: Vizio SmartCast TV
+description: Instructions on how to integrate Vizio SmartCast TVs and sound bars into Home Assistant.
logo: vizio-smartcast.png
ha_category:
- Media Player
ha_release: 0.49
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@raman325'
---
The `vizio` integration allows you to control [SmartCast](https://www.vizio.com/smartcast-app)-compatible TVs and sound bars (2016+ models).
@@ -97,11 +99,6 @@ device_class:
required: false
type: string
default: tv
-suppress_warning:
- description: Set to `true` to disable self-signed certificate warnings.
- required: false
- default: false
- type: string
{% endconfiguration %}
## Notes and limitations
diff --git a/source/_integrations/vlc.markdown b/source/_integrations/vlc.markdown
index bd1b7dd0add..b974ec9201b 100644
--- a/source/_integrations/vlc.markdown
+++ b/source/_integrations/vlc.markdown
@@ -1,6 +1,6 @@
---
-title: "VLC"
-description: "Instructions on how to integrate VLC media player into Home Assistant."
+title: VLC media player
+description: Instructions on how to integrate VLC media player into Home Assistant.
logo: videolan.png
ha_category:
- Media Player
diff --git a/source/_integrations/vlc_telnet.markdown b/source/_integrations/vlc_telnet.markdown
index be761f1c8f4..896aa5f3ca7 100644
--- a/source/_integrations/vlc_telnet.markdown
+++ b/source/_integrations/vlc_telnet.markdown
@@ -1,11 +1,13 @@
---
-title: "VLC Telnet"
-description: "Instructions on how to integrate VLC media player into Home Assistant using the telnet interface."
+title: VLC media player Telnet
+description: Instructions on how to integrate VLC media player into Home Assistant using the telnet interface.
logo: videolan.png
ha_category:
- Media Player
ha_release: 0.95
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@rodripf'
---
The `vlc_telnet` platform allows you to control a [VLC media player](https://www.videolan.org/vlc/index.html) using the built in telnet interface.
@@ -62,4 +64,4 @@ media_player:
##### Additional configuration for Rasperry Pi
-You can run a VLC Media Player inside your Hassio installation using the [hassio-local-vlc add-on](https://github.com/rodripf/hassio-local-vlc). Using it you can play files on the local network, Internet or files and playlist locally saved to the /share folder of your Hassio installation.
+You can run a VLC Media Player inside your Hass.io installation using the [hassio-local-vlc add-on](https://github.com/rodripf/hassio-local-vlc). Using it you can play files on the local network, Internet or files and playlist locally saved to the /share folder of your Hass.io installation.
diff --git a/source/_integrations/voicerss.markdown b/source/_integrations/voicerss.markdown
index f125858799a..e7e5ae6de13 100644
--- a/source/_integrations/voicerss.markdown
+++ b/source/_integrations/voicerss.markdown
@@ -1,6 +1,6 @@
---
-title: "VoiceRSS"
-description: "Instructions on how to setup VoiceRSS TTS with Home Assistant."
+title: VoiceRSS
+description: Instructions on how to setup VoiceRSS TTS with Home Assistant.
logo: voicerss.png
ha_category:
- Text-to-speech
diff --git a/source/_integrations/volkszaehler.markdown b/source/_integrations/volkszaehler.markdown
index 93b45faf79a..43449b37e56 100644
--- a/source/_integrations/volkszaehler.markdown
+++ b/source/_integrations/volkszaehler.markdown
@@ -1,6 +1,6 @@
---
-title: "Volkszaehler"
-description: "Instructions on how to integrate Volkszaehler sensors into Home Assistant."
+title: Volkszaehler
+description: Instructions on how to integrate Volkszaehler sensors into Home Assistant.
logo: volkszaehler.png
ha_category:
- System Monitor
diff --git a/source/_integrations/volumio.markdown b/source/_integrations/volumio.markdown
index 7c8ffc360d9..c68dfc19620 100644
--- a/source/_integrations/volumio.markdown
+++ b/source/_integrations/volumio.markdown
@@ -1,6 +1,6 @@
---
-title: "Volumio Media Player"
-description: "How to set up the Volumio media player platform"
+title: Volumio
+description: How to set up the Volumio media player platform
logo: volumio.png
ha_category:
- Media Player
diff --git a/source/_integrations/volvooncall.markdown b/source/_integrations/volvooncall.markdown
index ce169746f6b..fafa1d1f6e4 100644
--- a/source/_integrations/volvooncall.markdown
+++ b/source/_integrations/volvooncall.markdown
@@ -1,6 +1,6 @@
---
-title: "Volvo On Call"
-description: "Instructions for how to integrate Volvo On Call into Home Assistant."
+title: Volvo On Call
+description: Instructions for how to integrate Volvo On Call into Home Assistant.
logo: volvo.png
ha_category:
- Car
diff --git a/source/_integrations/vultr.markdown b/source/_integrations/vultr.markdown
index f4d8c54b078..850504af798 100644
--- a/source/_integrations/vultr.markdown
+++ b/source/_integrations/vultr.markdown
@@ -1,6 +1,6 @@
---
-title: "Vultr"
-description: "Instructions on how to integrate Vultr within Home Assistant."
+title: Vultr
+description: Instructions on how to integrate Vultr within Home Assistant.
ha_category:
- System Monitor
- Binary Sensor
diff --git a/source/_integrations/w800rf32.markdown b/source/_integrations/w800rf32.markdown
index a60a126a60e..48f5a32457f 100644
--- a/source/_integrations/w800rf32.markdown
+++ b/source/_integrations/w800rf32.markdown
@@ -1,6 +1,6 @@
---
-title: "W800rf32"
-description: "Instructions on how to integrate a W800rf32(a) into Home Assistant."
+title: WGL Designs W800RF32
+description: Instructions on how to integrate a W800rf32(a) into Home Assistant.
logo: w800rf32.png
ha_category:
- Hub
diff --git a/source/_integrations/wake_on_lan.markdown b/source/_integrations/wake_on_lan.markdown
index fe65e758050..2082941e2b3 100644
--- a/source/_integrations/wake_on_lan.markdown
+++ b/source/_integrations/wake_on_lan.markdown
@@ -1,6 +1,6 @@
---
-title: "Wake on LAN"
-description: "Instructions on how to setup the Wake on LAN integration in Home Assistant."
+title: Wake on LAN
+description: Instructions on how to setup the Wake on LAN integration in Home Assistant.
logo: ethernet.png
ha_category:
- Network
@@ -9,7 +9,7 @@ ha_release: 0.49
ha_iot_class: Local Push
---
-The `wake_on_lan` integration enables the ability to send _magic packets_ to [Wake on LAN](https://en.wikipedia.org/wiki/Wake-on-LAN) capable devices, to turn them on.
+The `wake_on_lan` integration enables the ability to send _magic packets_ to [Wake on LAN](https://en.wikipedia.org/wiki/Wake-on-LAN) capable devices to turn them on.
There is currently support for the following device types within Home Assistant:
@@ -61,12 +61,12 @@ To enable this switch in your installation, add the following to your `configura
# Example configuration.yaml entry
switch:
- platform: wake_on_lan
- mac: "00-01-02-03-04-05"
+ mac: MAC_ADDRESS
```
{% configuration %}
mac:
- description: The MAC address to send the wake up command to.
+ description: "The MAC address to send the wake up command to, e.g, `00:01:02:03:04:05`."
required: true
type: string
name:
diff --git a/source/_integrations/waqi.markdown b/source/_integrations/waqi.markdown
index 07d890f0492..705324b9ba0 100644
--- a/source/_integrations/waqi.markdown
+++ b/source/_integrations/waqi.markdown
@@ -1,11 +1,13 @@
---
-title: "World Air Quality Index"
-description: "Instructions on how to setup World Air Quality Index sensor in Home Assistant."
+title: World Air Quality Index (WAQI)
+description: Instructions on how to setup World Air Quality Index sensor in Home Assistant.
logo: waqi.png
ha_category:
- Health
ha_release: 0.34
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@andrey-git'
---
The `waqi` sensor platform will query [World Air Quality Index](https://aqicn.org/city/beijing/) service to check AQI value for a specific set of locations. The resulting indexes will be added to the Home Assistant as sensor outputs.
diff --git a/source/_integrations/water_heater.markdown b/source/_integrations/water_heater.markdown
index 9ac03694e2c..aa82a25ffbd 100644
--- a/source/_integrations/water_heater.markdown
+++ b/source/_integrations/water_heater.markdown
@@ -1,6 +1,6 @@
---
-title: "Water Heater"
-description: "Instructions on how to setup water heater devices within Home Assistant."
+title: Water Heater
+description: Instructions on how to setup water heater devices within Home Assistant.
ha_release: 0.81
---
diff --git a/source/_integrations/waterfurnace.markdown b/source/_integrations/waterfurnace.markdown
index c5c6dd52c8a..0042a0d5599 100644
--- a/source/_integrations/waterfurnace.markdown
+++ b/source/_integrations/waterfurnace.markdown
@@ -1,6 +1,6 @@
---
-title: "WaterFurnace"
-description: "Instructions on how to integrate WaterFurnace Geothermal System into Home Assistant."
+title: WaterFurnace
+description: Instructions on how to integrate WaterFurnace Geothermal System into Home Assistant.
logo: waterfurnace.png
ha_category:
- Sensor
diff --git a/source/_integrations/watson_iot.markdown b/source/_integrations/watson_iot.markdown
index 1d94dcad0b3..4aca1417c5c 100644
--- a/source/_integrations/watson_iot.markdown
+++ b/source/_integrations/watson_iot.markdown
@@ -1,6 +1,6 @@
---
-title: "IBM Watson IoT Platform"
-description: "Record events in the IBM Watson IoT Platform."
+title: IBM Watson IoT Platform
+description: Record events in the IBM Watson IoT Platform.
logo: ibm.png
ha_category:
- History
diff --git a/source/_integrations/watson_tts.markdown b/source/_integrations/watson_tts.markdown
index 8326a7aed99..674f937c0cd 100644
--- a/source/_integrations/watson_tts.markdown
+++ b/source/_integrations/watson_tts.markdown
@@ -1,10 +1,12 @@
---
-title: "Watson TTS"
-description: "Instructions on how to setup IBM Watson TTS with Home Assistant."
+title: IBM Watson TTS
+description: Instructions on how to setup IBM Watson TTS with Home Assistant.
logo: watson_tts.png
ha_category:
- Text-to-speech
ha_release: 0.94
+ha_codeowners:
+ - '@rutkai'
---
The `watson_tts` text-to-speech platform that works with [IBM Watson Cloud](https://www.ibm.com/watson/services/text-to-speech/) to create the spoken output.
diff --git a/source/_integrations/waze_travel_time.markdown b/source/_integrations/waze_travel_time.markdown
index e223131dd7f..224740691a6 100644
--- a/source/_integrations/waze_travel_time.markdown
+++ b/source/_integrations/waze_travel_time.markdown
@@ -1,6 +1,6 @@
---
-title: "Waze Travel Time"
-description: "Instructions on how to add Waze travel time to Home Assistant."
+title: Waze Travel Time
+description: Instructions on how to add Waze travel time to Home Assistant.
logo: waze.png
ha_category:
- Transport
@@ -152,4 +152,3 @@ sensor:
If you plan to use [Waze's live map](https://developers.google.com/waze/iframe/)
in Lovelace [iframe](/lovelace/iframe/) then use
[https://embed.waze.com/iframe](https://embed.waze.com/iframe) and not the live map URL itself.
-
diff --git a/source/_integrations/weather.markdown b/source/_integrations/weather.markdown
index 36f03d1c081..95379a3e10a 100644
--- a/source/_integrations/weather.markdown
+++ b/source/_integrations/weather.markdown
@@ -1,11 +1,13 @@
---
-title: "Weather"
-description: "Instructions on how to setup your Weather platforms with Home Assistant."
+title: Weather
+description: Instructions on how to setup your Weather platforms with Home Assistant.
logo: home-assistant.png
ha_category:
- Weather
-ha_qa_scale: internal
ha_release: 0.32
+ha_quality_scale: internal
+ha_codeowners:
+ - '@fabaff'
---
The `weather` platforms gather meteorological information from web services and display the conditions and other details about the weather at the given location. Read the integration documentation for your particular weather provider to learn how to set it up.
diff --git a/source/_integrations/webhook.markdown b/source/_integrations/webhook.markdown
index 319fa2a4e22..c062879b79c 100644
--- a/source/_integrations/webhook.markdown
+++ b/source/_integrations/webhook.markdown
@@ -1,5 +1,6 @@
---
-ha_release: 0.80
+ha_release: 0.8
+title: Webhook
---
diff --git a/source/_integrations/weblink.markdown b/source/_integrations/weblink.markdown
index 89b7d5b62d9..d53f5bfe31b 100644
--- a/source/_integrations/weblink.markdown
+++ b/source/_integrations/weblink.markdown
@@ -1,11 +1,13 @@
---
-title: "Weblink"
-description: "Instructions on how to setup Links within Home Assistant."
+title: Weblink
+description: Instructions on how to setup Links within Home Assistant.
logo: home-assistant.png
ha_category:
- Front End
ha_release: 0.13
-ha_qa_scale: internal
+ha_quality_scale: internal
+ha_codeowners:
+ - '@home-assistant/core'
---
The `weblink` integration allows you to display links in the Home Assistant frontend.
diff --git a/source/_integrations/webostv.markdown b/source/_integrations/webostv.markdown
index 9dde34ff73a..d2a10fbf7ff 100644
--- a/source/_integrations/webostv.markdown
+++ b/source/_integrations/webostv.markdown
@@ -1,6 +1,6 @@
---
-title: "LG webOS Smart TV"
-description: "Instructions on how to integrate a LG webOS Smart TV within Home Assistant."
+title: LG webOS Smart TV
+description: Instructions on how to integrate a LG webOS Smart TV within Home Assistant.
logo: webos.png
ha_category:
- Media Player
@@ -16,13 +16,12 @@ There is currently support for the following device types within Home Assistant:
- [Media Player](#media-player)
- [Notifications](#notifications)
-## Media Player
To begin with enable *LG Connect Apps* feature in *Network* settings of the TV [instructions](https://www.lg.com/uk/support/product-help/CT00008334-1437131798537-others).
Once basic configuration is added to your `configuration.yaml` file. A notification should be visible in the frontend's **Notification** section. Follow the instructions and accept the pairing request on your TV.
-Pairing information will be saved to the `filename:` provided in the configuration. This process is IP address-sensitive, in case the IP address of your TV would change in future.
+Pairing information will be saved to a configuration file `webostv.conf` in the Home Assistant configuration directory. This process is IP address-sensitive, in case the IP address of your TV would change in future.
### Configuration
@@ -30,28 +29,23 @@ To add a TV to your installation, add the following to your `configuration.yaml`
```yaml
# Example configuration.yaml entry
-media_player:
- - platform: webostv
+webostv:
```
{% configuration %}
host:
description: "The IP of the LG webOS Smart TV, e.g., `192.168.0.10`."
- required: false
+ required: true
type: string
name:
description: The name you would like to give to the LG webOS Smart TV.
required: false
type: string
-filename:
- description: "The filename where the pairing key with the TV should be stored. This path is relative to Home Assistant's config directory. **NOTE**: When using multiple TVs each TV will need its own unique file."
+standby_connection:
+ description: Keep connection alive when TV is in standby (this should be set to try if and only if the "Standby+" option is enabled in the TV UI.)
required: false
- type: string
- default: webostv.conf
-timeout:
- description: The timeout for communication with the TV in seconds.
- required: false
- type: time
+ type: boolean
+ default: false
turn_on_action:
description: Defines an [action](/docs/automation/action/) to turn the TV on.
required: false
@@ -67,30 +61,30 @@ customize:
type: list
{% endconfiguration %}
-If you do not specify `host:`, all LG webOS Smart TVs within your network will be auto-discovered.
-
### Example
A full configuration example will look like the sample below:
```yaml
# Example configuration.yaml entry
+webostv:
+ host: 192.168.0.10
+ name: Living Room TV
+ standby_connection: true
+ turn_on_action:
+ service: persistent_notification.create
+ data:
+ message: "Turn on action"
+ customize:
+ sources:
+ - livetv
+ - youtube
+ - makotv
+ - netflix
+
media_player:
- - platform: webostv
- host: 192.168.0.10
- name: Living Room TV
- filename: webostv.conf
- timeout: 5
- turn_on_action:
- service: persistent_notification.create
- data:
- message: "Turn on action"
- customize:
- sources:
- - livetv
- - youtube
- - makotv
- - netflix
+
+notify:
```
Avoid using `[ ]` in the `name:` of your device.
@@ -107,14 +101,17 @@ On newer models (2017+), WakeOnLan may need to be enabled in the TV settings by
# Example configuration.yaml entry
wake_on_lan: # enables `wake_on_lan` domain
+webostv:
+ host: 192.168.0.10
+ #other settings
+ turn_on_action:
+ service: wake_on_lan.send_magic_packet
+ data:
+ mac: "B4:E6:2A:1E:11:0F"
+
media_player:
- - platform: webostv
- host: 192.168.0.10
- #other settings
- turn_on_action:
- service: wake_on_lan.send_magic_packet
- data:
- mac: "B4:E6:2A:1E:11:0F"
+
+notify:
```
Any other [actions](/docs/automation/action/) to power on the device can be configured.
@@ -149,66 +146,51 @@ data:
### Next/Previous buttons
-The behaviour of the next and previsous buttons is different depending on the active source:
+The behaviour of the next and previous buttons is different depending on the active source:
- if the source is 'LiveTV' (television): next/previous buttons act as channel up/down
- otherwise: next/previous buttons act as next/previous track
+### Generic commands and buttons
+
+Available services: `button`, `command`
+
+#### Service `webostv.button`
+
+| Service data attribute | Optional | Description |
+|------------------------|----------|---------------------------------------------------------|
+| `entity_id` | no | Target a specific webostv media player. |
+| `button` | no | Name of the button. Known possible values are `LEFT`, `RIGHT`, `DOWN`, `UP`, `HOME`, `BACK`, `ENTER`, `DASH`, `INFO`, `ASTERISK`, `CC`, `EXIT`, `MUTE`, `RED`, `GREEN`, `BLUE`, `VOLUMEUP`, `VOLUMEDOWN`, `CHANNELUP`, `CHANNELDOWN`, `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9` |
+
+#### Service `webostv.command`
+
+| Service data attribute | Optional | Description |
+|------------------------|----------|---------------------------------------------------------|
+| `entity_id` | no | Target a specific webostv media player. |
+| `command` | no | Endpoint for the command, e.g. `media.controls/rewind`. The full list of known endpoints is available at https://github.com/bendavid/aiopylgtv/blob/master/aiopylgtv/endpoints.py |
+
+#### Example
+
+```
+script:
+ home_button:
+ sequence:
+ - service: webostv.button
+ data:
+ entity_id: media_player.lg_webos_smart_tv
+ button: "HOME"
+
+ rewind_command:
+ sequence:
+ - service: webostv.command
+ data:
+ entity_id: media_player.lg_webos_smart_tv
+ command: "media.controls/rewind"
+```
## Notifications
The `webostv` notify platform allows you to send notifications to a LG webOS Smart TV.
-When the TV is first connected, you will need to accept Home Assistant on the TV to allow communication.
-
-To add a TV to your installation, add the following to your `configuration.yaml` file and follow the configurator instructions:
-
-```yaml
-# Example configuration.yaml entry
-notify:
- - platform: webostv
- host: 192.168.0.112
- name: livingroom_tv
- filename: webostv.conf
-```
-
-{% configuration %}
-host:
- description: The IP of the LG webOS Smart TV, e.g., 192.168.0.10
- required: true
- type: string
-name:
- description: The name you would like to give to the LG webOS Smart TV.
- required: true
- type: string
-filename:
- description: "The filename where the pairing key with the TV should be stored. This path is relative to Home Assistant's config directory. **NOTE**: When using multiple TVs each TV will need its own unique file."
- required: false
- type: string
- default: webostv.conf
-icon:
- description: The path to an image file to use as the icon in notifications.
- required: false
- type: [string, icon]
-{% endconfiguration %}
-
-A possible automation could be:
-
-{% raw %}
-```yaml
-# Example configuration.yaml entry
-automation:
- - alias: Open a window
- trigger:
- platform: numeric_state
- entity_id: sensor.netatmo_livingroom_co2
- above: 999
- action:
- service: notify.livingroom_tv
- data:
- message: "You should open a window! (Livingroom Co2: {{ states('sensor.netatmo_livingroom_co2') }}ppm)"
-```
-{% endraw %}
-
The icon can be overridden for individual notifications by providing a path to an alternative icon image to use:
```yaml
diff --git a/source/_integrations/websocket_api.markdown b/source/_integrations/websocket_api.markdown
index 302f220173b..0b94ef6a80c 100644
--- a/source/_integrations/websocket_api.markdown
+++ b/source/_integrations/websocket_api.markdown
@@ -1,11 +1,13 @@
---
-title: "Websocket API"
-description: "Instructions on how to setup the WebSocket API within Home Assistant."
+title: Home Asssitant WebSocket API
+description: Instructions on how to setup the WebSocket API within Home Assistant.
logo: home-assistant.png
ha_category:
- - "Other"
-ha_qa_scale: internal
+ - Other
ha_release: 0.34
+ha_quality_scale: internal
+ha_codeowners:
+ - '@home-assistant/core'
---
The `websocket_api` integration set up a WebSocket API and allows one to interact with a Home Assistant instance that is running headless. This integration depends on the [`http` component](/integrations/http/).
diff --git a/source/_integrations/wemo.markdown b/source/_integrations/wemo.markdown
index f4b671742a0..42edb2fa475 100644
--- a/source/_integrations/wemo.markdown
+++ b/source/_integrations/wemo.markdown
@@ -1,6 +1,6 @@
---
-title: "Belkin WeMo"
-description: "Instructions on how to integrate Belkin WeMo devices into Home Assistant."
+title: Belkin WeMo
+description: Instructions on how to integrate Belkin WeMo devices into Home Assistant.
logo: belkin_wemo.png
ha_category:
- Hub
@@ -9,6 +9,9 @@ ha_category:
- Light
- Switch
ha_release: pre 0.7
+ha_config_flow: true
+ha_codeowners:
+ - '@sqldiablo'
---
The `wemo` integration is the main integration to integrate various [Belkin WeMo](https://www.belkin.com/us/Products/home-automation/c/wemo-home-automation/) devices with Home Assistant.
diff --git a/source/_integrations/whois.markdown b/source/_integrations/whois.markdown
index 216768ef760..68515e63eb1 100644
--- a/source/_integrations/whois.markdown
+++ b/source/_integrations/whois.markdown
@@ -1,6 +1,6 @@
---
-title: "Whois Sensor"
-description: "Instructions on how to integrate WHOIS lookup sensor within Home Assistant."
+title: Whois
+description: Instructions on how to integrate WHOIS lookup sensor within Home Assistant.
logo: icann.png
ha_category:
- Network
diff --git a/source/_integrations/wink.markdown b/source/_integrations/wink.markdown
index 2d886838490..06caf43330f 100644
--- a/source/_integrations/wink.markdown
+++ b/source/_integrations/wink.markdown
@@ -1,6 +1,6 @@
---
-title: "Wink"
-description: "Instructions on how to set up the Wink hub within Home Assistant."
+title: Wink
+description: Instructions on how to set up the Wink hub within Home Assistant.
logo: wink.png
ha_category:
- Hub
diff --git a/source/_integrations/wirelesstag.markdown b/source/_integrations/wirelesstag.markdown
index df591737665..946b946d67b 100644
--- a/source/_integrations/wirelesstag.markdown
+++ b/source/_integrations/wirelesstag.markdown
@@ -1,6 +1,6 @@
---
-title: "WirelessTag"
-description: "Instructions on how to integrate your Wireless Tags sensors within Home Assistant."
+title: Wireless Sensor Tags
+description: Instructions on how to integrate your Wireless Tags sensors within Home Assistant.
logo: wirelesstag.png
ha_category:
- Hub
diff --git a/source/_integrations/withings.markdown b/source/_integrations/withings.markdown
index 5dce6f9877a..290422352ee 100644
--- a/source/_integrations/withings.markdown
+++ b/source/_integrations/withings.markdown
@@ -1,12 +1,15 @@
---
-title: "Withings"
-description: "Instructions on how to integrate Withings health products within Home Assistant."
+title: Withings
+description: Instructions on how to integrate Withings health products within Home Assistant.
logo: withings.png
ha_category:
- Health
- Sensor
ha_release: 0.99
ha_iot_class: Cloud Polling
+ha_config_flow: true
+ha_codeowners:
+ - '@vangorra'
---
The `withings` sensor platform consumes data from various health products produced by [Withings](https://www.withings.com).
diff --git a/source/_integrations/wled.markdown b/source/_integrations/wled.markdown
index a1375465be6..ccf93c7c436 100644
--- a/source/_integrations/wled.markdown
+++ b/source/_integrations/wled.markdown
@@ -1,6 +1,6 @@
---
-title: "WLED"
-description: "Instructions on how to integrate WLED with Home Assistant."
+title: WLED
+description: Instructions on how to integrate WLED with Home Assistant.
logo: wled.png
ha_category:
- Light
@@ -8,7 +8,10 @@ ha_category:
- Switch
ha_release: 0.102
ha_iot_class: Local Polling
-ha_qa_scale: platinum
+ha_config_flow: true
+ha_quality_scale: platinum
+ha_codeowners:
+ - '@frenck'
---
[WLED](https://github.com/Aircoookie/WLED) is a fast and feature-rich
diff --git a/source/_integrations/workday.markdown b/source/_integrations/workday.markdown
index 7bc5e20e92f..6c9a095667b 100644
--- a/source/_integrations/workday.markdown
+++ b/source/_integrations/workday.markdown
@@ -1,12 +1,12 @@
---
-title: "Workday Binary Sensor"
-description: "Steps to configure the binary workday sensor."
+title: Workday
+description: Steps to configure the binary workday sensor.
logo: home-assistant.png
ha_category:
- Utility
ha_iot_class: Local Polling
ha_release: 0.41
-ha_qa_scale: internal
+ha_quality_scale: internal
---
The `workday` binary sensor indicates, whether the current day is a workday or not. It allows specifying, which days of the week counts as workdays and also
diff --git a/source/_integrations/worldclock.markdown b/source/_integrations/worldclock.markdown
index c6af2b2c93a..5af1dadbf9a 100644
--- a/source/_integrations/worldclock.markdown
+++ b/source/_integrations/worldclock.markdown
@@ -1,12 +1,14 @@
---
-title: "Worldclock"
-description: "Instructions on how to integrate a Worldclock within Home Assistant."
+title: Worldclock
+description: Instructions on how to integrate a Worldclock within Home Assistant.
logo: home-assistant.png
ha_category:
- Calendar
ha_iot_class: Local Push
ha_release: pre 0.7
-ha_qa_scale: internal
+ha_quality_scale: internal
+ha_codeowners:
+ - '@fabaff'
---
The `worldclock` sensor platform simply displays the current time in a different time zone.
@@ -36,6 +38,6 @@ name:
For valid time zones check the **TZ** column in the [Wikipedia overview](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). Or get the full list from the [pytz](https://pypi.python.org/pypi/pytz) module.
-```python
+```shell
python3 -c "import pytz;print(pytz.all_timezones)"
```
diff --git a/source/_integrations/worldtidesinfo.markdown b/source/_integrations/worldtidesinfo.markdown
index 34a99c5fc3f..3f9857275fb 100644
--- a/source/_integrations/worldtidesinfo.markdown
+++ b/source/_integrations/worldtidesinfo.markdown
@@ -1,6 +1,6 @@
---
-title: "World Tides"
-description: "Instructions on how to add Tides information to Home Assistant."
+title: World Tides
+description: Instructions on how to add Tides information to Home Assistant.
logo: worldtidesinfo.png
ha_category:
- Environment
diff --git a/source/_integrations/worxlandroid.markdown b/source/_integrations/worxlandroid.markdown
index 43443c9d00b..341f2136edc 100644
--- a/source/_integrations/worxlandroid.markdown
+++ b/source/_integrations/worxlandroid.markdown
@@ -1,6 +1,6 @@
---
-title: "Worx Landroid"
-description: "Instructions on how to integrate Worx Landroid WG796E.1 or WG797E as sensors within Home Assistant."
+title: Worx Landroid
+description: Instructions on how to integrate Worx Landroid WG796E.1 or WG797E as sensors within Home Assistant.
logo: worx.png
ha_category:
- DIY
diff --git a/source/_integrations/wsdot.markdown b/source/_integrations/wsdot.markdown
index b463e0685ff..fab914eb19b 100644
--- a/source/_integrations/wsdot.markdown
+++ b/source/_integrations/wsdot.markdown
@@ -1,6 +1,6 @@
---
-title: "Washington State DOT"
-description: "Instructions on how to integrate WSDOT data into your home."
+title: Washington State Department of Transportation (WSDOT)
+description: Instructions on how to integrate WSDOT data into your home.
logo: wsdot.png
ha_category:
- Transport
diff --git a/source/_integrations/wunderground.markdown b/source/_integrations/wunderground.markdown
index abc4df68b4f..ab6c7ad725a 100644
--- a/source/_integrations/wunderground.markdown
+++ b/source/_integrations/wunderground.markdown
@@ -1,6 +1,6 @@
---
-title: "Weather Underground (WUnderground)"
-description: "Instructions on how to integrate Weather Underground (WUnderground) Weather within Home Assistant."
+title: Weather Underground (WUnderground)
+description: Instructions on how to integrate Weather Underground (WUnderground) Weather within Home Assistant.
logo: wunderground.png
ha_category:
- Weather
diff --git a/source/_integrations/wunderlist.markdown b/source/_integrations/wunderlist.markdown
index 0a3e3367744..64fe62efa6f 100644
--- a/source/_integrations/wunderlist.markdown
+++ b/source/_integrations/wunderlist.markdown
@@ -1,6 +1,6 @@
---
-title: "Wunderlist"
-description: "Instructions on how to use Wunderlist with Home Assistant."
+title: Wunderlist
+description: Instructions on how to use Wunderlist with Home Assistant.
logo: wunderlist.png
ha_category:
- Calendar
diff --git a/source/_integrations/wwlln.markdown b/source/_integrations/wwlln.markdown
index e9ef0048341..ea03b75dc06 100644
--- a/source/_integrations/wwlln.markdown
+++ b/source/_integrations/wwlln.markdown
@@ -1,11 +1,13 @@
---
-title: "World Wide Lightning Location Network (WWLLN)"
-description: "Instructions on how to integrate WWLLN within Home Assistant."
+title: World Wide Lightning Location Network (WWLLN)
+description: Instructions on how to integrate WWLLN within Home Assistant.
logo: wwlln.jpg
ha_category: Geolocation
ha_release: 0.96
ha_iot_class: Cloud Polling
ha_config_flow: true
+ha_codeowners:
+ - '@bachya'
---
The `wwlln` integration displays lightning strike information from the
@@ -65,7 +67,7 @@ the standard ones:
| latitude | Latitude of the lightning strike. |
| longitude | Longitude of the lightning strike. |
| source | `wwlln` to be used in conjunction with the `geo_location` automation trigger. |
-| external_id | The external ID used in the feed to identify the earthquake in the feed. |
+| external_id | The external ID used in the feed to identify the lightning strike in the feed. |
| publication_date | Date and time when this event occurred. |
## Full Configuration
diff --git a/source/_integrations/x10.markdown b/source/_integrations/x10.markdown
index 8127de694b4..2d17e404b2d 100644
--- a/source/_integrations/x10.markdown
+++ b/source/_integrations/x10.markdown
@@ -1,6 +1,6 @@
---
-title: "X10"
-description: "Instructions on how to setup X10 devices within Home Assistant."
+title: Heyu X10
+description: Instructions on how to setup X10 devices within Home Assistant.
logo: x10.gif
ha_category:
- Light
diff --git a/source/_integrations/xbox_live.markdown b/source/_integrations/xbox_live.markdown
index 3308b649b76..baca918f0ad 100644
--- a/source/_integrations/xbox_live.markdown
+++ b/source/_integrations/xbox_live.markdown
@@ -1,11 +1,13 @@
---
-title: "Xbox Live"
-description: "Instructions on how to set up Xbox Live sensors in Home Assistant."
+title: Xbox Live
+description: Instructions on how to set up Xbox Live sensors in Home Assistant.
logo: xbox-live.png
ha_category:
- Social
ha_iot_class: Cloud Polling
ha_release: 0.28
+ha_codeowners:
+ - '@MartinHjelmare'
---
The Xbox Live integration is able to track [Xbox](https://xbox.com/) profiles.
@@ -42,4 +44,3 @@ xuid:
required: true
type: list
{% endconfiguration %}
-
diff --git a/source/_integrations/xeoma.markdown b/source/_integrations/xeoma.markdown
index 4017f37c8fb..e20a853525c 100644
--- a/source/_integrations/xeoma.markdown
+++ b/source/_integrations/xeoma.markdown
@@ -1,6 +1,6 @@
---
-title: "Xeoma Camera"
-description: "Instructions on how to integrate camera video feeds from a Xeoma server in Home Assistant"
+title: Xeoma
+description: Instructions on how to integrate camera video feeds from a Xeoma server in Home Assistant
logo: xeoma.png
ha_category:
- Camera
diff --git a/source/_integrations/xfinity.markdown b/source/_integrations/xfinity.markdown
index 33b4728054f..8ddd1a64277 100644
--- a/source/_integrations/xfinity.markdown
+++ b/source/_integrations/xfinity.markdown
@@ -1,11 +1,13 @@
---
-title: "Xfinity Gateway"
-description: "Instructions on how to integrate Xfinity Gateways into Home Assistant."
+title: Xfinity Gateway
+description: Instructions on how to integrate Xfinity Gateways into Home Assistant.
ha_category:
- Presence Detection
logo: xfinity.svg
-ha_release: 0.90
-ha_iot_class: "Local Polling"
+ha_release: 0.9
+ha_iot_class: Local Polling
+ha_codeowners:
+ - '@cisasteelersfan'
---
The `xfinity` device tracker platform offers presence detection by looking at connected devices to an Xfinity gateway.
diff --git a/source/_integrations/xiaomi.markdown b/source/_integrations/xiaomi.markdown
index 5c742048fab..ab14375a4bd 100644
--- a/source/_integrations/xiaomi.markdown
+++ b/source/_integrations/xiaomi.markdown
@@ -1,6 +1,6 @@
---
-title: "Xiaomi Cameras"
-description: "Instructions on how to integrate a video feed (via FFmpeg) as a camera within Home Assistant."
+title: Xiaomi
+description: Instructions on how to integrate a video feed (via FFmpeg) as a camera within Home Assistant.
logo: xiaomi.png
ha_category:
- Camera
diff --git a/source/_integrations/xiaomi_aqara.markdown b/source/_integrations/xiaomi_aqara.markdown
index a299ddfeec1..6a962e321ff 100644
--- a/source/_integrations/xiaomi_aqara.markdown
+++ b/source/_integrations/xiaomi_aqara.markdown
@@ -1,11 +1,14 @@
---
-title: "Xiaomi Gateway (Aqara)"
-description: "Instructions for how to integrate the Xiaomi Gateway (Aqara) within Home Assistant."
+title: Xiaomi Gateway (Aqara)
+description: Instructions for how to integrate the Xiaomi Gateway (Aqara) within Home Assistant.
logo: xiaomi.png
ha_category:
- Hub
ha_release: 0.57
ha_iot_class: Local Push
+ha_codeowners:
+ - '@danielhiversen'
+ - '@syssi'
---
The `xiaomi_aqara` integration allows you to integrate [Xiaomi](https://www.mi.com/en/) Aqara-compatible devices into Home Assistant.
@@ -273,7 +276,7 @@ That means that Home Assistant is not getting any response from your Xiaomi gate
- You should generate the key again using an Android Phone or alternatively an emulator such as [bluestacks](https://www.bluestacks.com). In some instances, there is an issue with keys being generated using the iOS application.
- You need to make sure to have multicast support on your network. If you are running Home Assistant in a virtual machine (like Proxmox), try `echo 0 >/sys/class/net/vmbr0/bridge/multicast_snooping` on the host and restart the service or reboot the host.
- If the required library "PyXiaomiGateway" cannot be installed you will need to install some missing system dependencies `python3-dev`, `libssl-dev`, `libffi-dev` manually (e.g., `$ sudo apt-get install python3-dev libssl-dev libffi-dev`).
-- If your gateway's MAC address starts with `04:CF:8C`, there is a good chance that the required port `9898` is closed on your gateway (you can check it with the Nmap utility, using the command `sudo nmap -sU {gateway_ip} -p 9898`). To fix that issue, you need to do these steps:
+- If your gateway's MAC address starts with `04:CF:8C` or `7C:49:EB`, there is a good chance that the required port `9898` is closed on your gateway (you can check it with the Nmap utility, using the command `sudo nmap -sU {gateway_ip} -p 9898`). To fix that issue, you need to do these steps:
- Find a specific screw bit (like a fork) to open the gateway case.
- Find a USB-UART cable/module and connect it to your computer.
- Solder 3 wires - RX, TX and GND like [here](https://cs5-3.4pda.to/14176168/IMG_20181020_201150.jpg).
diff --git a/source/_integrations/xiaomi_miio.markdown b/source/_integrations/xiaomi_miio.markdown
index 1cc8a0f2082..4f630c20309 100644
--- a/source/_integrations/xiaomi_miio.markdown
+++ b/source/_integrations/xiaomi_miio.markdown
@@ -1,11 +1,14 @@
---
-title: "Xiaomi Mi WiFi Repeater 2"
-description: "Instructions how to integrate your Xiaomi Mi WiFi Repeater 2 within Home Assistant."
+title: Xiaomi miio
+description: Instructions how to integrate your Xiaomi Mi WiFi Repeater 2 within Home Assistant.
logo: xiaomi.png
ha_category:
- Presence Detection
ha_iot_class: Local Polling
ha_release: 0.67
+ha_codeowners:
+ - '@rytilahti'
+ - '@syssi'
---
The `xiaomi_miio` device tracker platform is observing your Xiaomi Mi WiFi Repeater 2 and reporting all associated WiFi clients.
diff --git a/source/_integrations/xiaomi_tv.markdown b/source/_integrations/xiaomi_tv.markdown
index 083113d7f6e..aa178f09453 100644
--- a/source/_integrations/xiaomi_tv.markdown
+++ b/source/_integrations/xiaomi_tv.markdown
@@ -1,11 +1,13 @@
---
-title: "Xiaomi TV"
-description: "Instructions on how to integrate a Xiaomi TV into Home Assistant."
+title: Xiaomi TV
+description: Instructions on how to integrate a Xiaomi TV into Home Assistant.
logo: xiaomi.png
ha_category:
- Media Player
ha_release: 0.64
ha_iot_class: Assumed State
+ha_codeowners:
+ - '@simse'
---
The `xiaomi_tv` platform allows you to control a [Xiaomi TV](https://www.mi.com/en/mitv3s/65flat/).
diff --git a/source/_integrations/xmpp.markdown b/source/_integrations/xmpp.markdown
index 9c0083da870..335f4d9aa02 100644
--- a/source/_integrations/xmpp.markdown
+++ b/source/_integrations/xmpp.markdown
@@ -1,13 +1,15 @@
---
-title: "Jabber (XMPP)"
-description: "Instructions on how to add Jabber (XMPP) notifications to Home Assistant."
+title: Jabber (XMPP)
+description: Instructions on how to add Jabber (XMPP) notifications to Home Assistant.
logo: xmpp.png
ha_category:
- Notifications
ha_release: pre 0.7
+ha_codeowners:
+ - '@fabaff'
+ - '@flowolf'
---
-
The `xmpp` notification platform allows you to deliver notifications from Home Assistant to a [Jabber (XMPP)](https://xmpp.org/) account.
## Configuration
diff --git a/source/_integrations/xs1.markdown b/source/_integrations/xs1.markdown
index 59c9e1904ad..77a903754f1 100644
--- a/source/_integrations/xs1.markdown
+++ b/source/_integrations/xs1.markdown
@@ -1,6 +1,6 @@
---
-title: "EZcontrol XS1"
-description: "Instructions on how to integrate an XS1 Gateway within Home Assistant."
+title: EZcontrol XS1
+description: Instructions on how to integrate an XS1 Gateway within Home Assistant.
logo: xs1.jpg
ha_category:
- Hub
diff --git a/source/_integrations/yale_smart_alarm.markdown b/source/_integrations/yale_smart_alarm.markdown
index f09406bbc68..c73c1b6500b 100644
--- a/source/_integrations/yale_smart_alarm.markdown
+++ b/source/_integrations/yale_smart_alarm.markdown
@@ -1,6 +1,6 @@
---
-title: "Yale Smart Alarm Control"
-description: "Instructions on how to integrate Yale Smart Alarms into Home Assistant."
+title: Yale Smart Living
+description: Instructions on how to integrate Yale Smart Alarms into Home Assistant.
logo: yale.png
ha_category:
- Alarm
diff --git a/source/_integrations/yamaha.markdown b/source/_integrations/yamaha.markdown
index 2bcd02479be..2b5e0e3bcff 100644
--- a/source/_integrations/yamaha.markdown
+++ b/source/_integrations/yamaha.markdown
@@ -1,6 +1,6 @@
---
-title: "Yamaha Network Receivers"
-description: "Instructions on how to integrate Yamaha Network Receivers into Home Assistant."
+title: Yamaha Network Receivers
+description: Instructions on how to integrate Yamaha Network Receivers into Home Assistant.
logo: yamaha.png
ha_category:
- Media Player
diff --git a/source/_integrations/yamaha_musiccast.markdown b/source/_integrations/yamaha_musiccast.markdown
index eb37674ece6..8a6efb548a3 100644
--- a/source/_integrations/yamaha_musiccast.markdown
+++ b/source/_integrations/yamaha_musiccast.markdown
@@ -1,10 +1,12 @@
---
-title: "Yamaha MusicCast Receivers"
-description: "Instructions on how to integrate Yamaha MusicCast Receivers into Home Assistant."
+title: Yamaha MusicCast
+description: Instructions on how to integrate Yamaha MusicCast Receivers into Home Assistant.
logo: yamaha.png
ha_category:
- Media Player
ha_release: 0.53
+ha_codeowners:
+ - '@jalmeroth'
---
The `yamaha_musiccast` platform allows you to control [Yamaha MusicCast Receivers](https://usa.yamaha.com/products/audio_visual/hifi_components/index.html) from Home Assistant.
diff --git a/source/_integrations/yandex_transport.markdown b/source/_integrations/yandex_transport.markdown
index bbb22373c3b..6381d1efd4e 100644
--- a/source/_integrations/yandex_transport.markdown
+++ b/source/_integrations/yandex_transport.markdown
@@ -1,11 +1,13 @@
---
-title: "Yandex transport"
-description: "Instructions on how to set up Yandex transport with Home Assistant."
+title: Yandex Transport
+description: Instructions on how to set up Yandex transport with Home Assistant.
logo: yandex.png
ha_category:
- Sensor
- Transport
-ha_release: "0.100"
+ha_release: '0.100'
+ha_codeowners:
+ - '@rishatik92'
---
The `yandex_tranport` sensor platform uses [Yandex Maps](https://maps.yandex.ru/) it will give you the time until the next departure time from a bus/tramway/etc stop.
diff --git a/source/_integrations/yandextts.markdown b/source/_integrations/yandextts.markdown
index 1787af7cc07..a5262fc60e0 100644
--- a/source/_integrations/yandextts.markdown
+++ b/source/_integrations/yandextts.markdown
@@ -1,6 +1,6 @@
---
-title: "Yandex TTS"
-description: "Instructions on how to setup Yandex SpeechKit TTS with Home Assistant."
+title: Yandex TTS
+description: Instructions on how to setup Yandex SpeechKit TTS with Home Assistant.
logo: yandex.png
ha_category:
- Text-to-speech
diff --git a/source/_integrations/yeelight.markdown b/source/_integrations/yeelight.markdown
index 11ff99f2eda..0c3a97a4e76 100644
--- a/source/_integrations/yeelight.markdown
+++ b/source/_integrations/yeelight.markdown
@@ -1,11 +1,14 @@
---
-title: "Yeelight Wifi Bulb"
-description: "Instructions on how to setup Yeelight Wifi devices within Home Assistant."
+title: Yeelight
+description: Instructions on how to setup Yeelight Wifi devices within Home Assistant.
logo: yeelight.png
ha_category:
- Light
ha_release: 0.32
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@rytilahti'
+ - '@zewelor'
---
The `yeelight` integration allows you to control your Yeelight Wifi bulbs with Home Assistant. There are two possible methods for configuration of the Yeelight: Manual or Automatic.
@@ -106,7 +109,7 @@ custom_effects:
#### Music mode
Per default the bulb limits the amount of requests per minute to 60, a limitation which can be bypassed by enabling the music mode. In music mode the bulb is commanded to connect back to a socket provided by the integration and it tries to keep the connection open, which may not be wanted in all use-cases.
-**Also note that bulbs in music mode will not update their state to "unavailable" if they are disconnected, which can cause delays in Home Assistant. Bulbs in music mode may also not react to commands from HASS the first time if the connection is dropped. If you experience this issue, turn the light off and back on again in the frontend and everything will return to normal.**
+**Also note that bulbs in music mode will not update their state to "unavailable" if they are disconnected, which can cause delays in Home Assistant. Bulbs in music mode may also not react to commands from Home Assistant the first time if the connection is dropped. If you experience this issue, turn the light off and back on again in the frontend and everything will return to normal.**
### Initial setup
diff --git a/source/_integrations/yeelightsunflower.markdown b/source/_integrations/yeelightsunflower.markdown
index 7da22be327a..0c7440df4fa 100644
--- a/source/_integrations/yeelightsunflower.markdown
+++ b/source/_integrations/yeelightsunflower.markdown
@@ -1,11 +1,13 @@
---
-title: "Yeelight Sunflower Bulb"
-description: "Instructions on how to setup Yeelight Sunflower hub and bulbs within Home Assistant."
+title: Yeelight Sunflower
+description: Instructions on how to setup Yeelight Sunflower hub and bulbs within Home Assistant.
logo: yeelight.png
ha_category:
- Light
ha_release: 0.39
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@lindsaymarkward'
---
The `yeelightsunflower` light platform allows you to control your Yeelight Sunflower light bulbs with Home Assistant.
diff --git a/source/_integrations/yessssms.markdown b/source/_integrations/yessssms.markdown
index 322cde2d07f..fe7e1304200 100644
--- a/source/_integrations/yessssms.markdown
+++ b/source/_integrations/yessssms.markdown
@@ -1,10 +1,12 @@
---
-title: "Yesss SMS"
-description: "Instructions on how to add Yesss-SMS notifications to Home Assistant."
+title: yesss! SMS
+description: Instructions on how to add Yesss-SMS notifications to Home Assistant.
logo: yesssat.png
ha_category:
- Notifications
ha_release: 0.57
+ha_codeowners:
+ - '@flowolf'
---
The `yessssms` platform is using the Austrian mobile operator [Yesss.at](https://yesss.at) and others to send SMS via their web-site.
diff --git a/source/_integrations/yi.markdown b/source/_integrations/yi.markdown
index b37eb945d93..0a1e6a9fd74 100644
--- a/source/_integrations/yi.markdown
+++ b/source/_integrations/yi.markdown
@@ -1,11 +1,13 @@
---
-title: "Yi Home Camera"
-description: "Instructions on how to integrate a video feed (via FFmpeg) as a camera within Home Assistant."
+title: Yi Home Cameras
+description: Instructions on how to integrate a video feed (via FFmpeg) as a camera within Home Assistant.
logo: yi.png
ha_category:
- Camera
ha_release: 0.56
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@bachya'
---
The `yi` camera platform allows you to utilize [Yi Home Cameras](https://www.yitechnology.com/) within Home Assistant. Specifically, this platform supports the line of Yi Home Cameras that are based on the Hi3518e Chipset. This includes:
diff --git a/source/_integrations/yr.markdown b/source/_integrations/yr.markdown
index f266364f81c..a3a8398d830 100644
--- a/source/_integrations/yr.markdown
+++ b/source/_integrations/yr.markdown
@@ -1,11 +1,13 @@
---
-title: "YR"
-description: "Instructions on how to integrate Yr.no within Home Assistant."
+title: Yr
+description: Instructions on how to integrate Yr.no within Home Assistant.
logo: yr.png
ha_category:
- Weather
ha_release: 0.11
ha_iot_class: Cloud Polling
+ha_codeowners:
+ - '@danielhiversen'
---
The `yr` platform uses [YR.no](https://www.yr.no/) as a source for current
diff --git a/source/_integrations/yweather.markdown b/source/_integrations/yweather.markdown
index 3f794b62e54..ef9b69df738 100644
--- a/source/_integrations/yweather.markdown
+++ b/source/_integrations/yweather.markdown
@@ -1,6 +1,6 @@
---
-title: "Yahoo Weather"
-description: "Instructions on how to integrate Yahoo Weather within Home Assistant."
+title: Yahoo Weather
+description: Instructions on how to integrate Yahoo Weather within Home Assistant.
logo: yahooweather.png
ha_category:
- Weather
diff --git a/source/_integrations/zabbix.markdown b/source/_integrations/zabbix.markdown
index a7cbae866ce..20470892bbf 100644
--- a/source/_integrations/zabbix.markdown
+++ b/source/_integrations/zabbix.markdown
@@ -1,6 +1,6 @@
---
-title: "Zabbix"
-description: "Instructions on how to integrate Zabbix into Home Assistant."
+title: Zabbix
+description: Instructions on how to integrate Zabbix into Home Assistant.
logo: zabbix.png
ha_category:
- System Monitor
diff --git a/source/_integrations/zamg.markdown b/source/_integrations/zamg.markdown
index 3fda67db4b5..a1e452ac792 100644
--- a/source/_integrations/zamg.markdown
+++ b/source/_integrations/zamg.markdown
@@ -1,6 +1,6 @@
---
-title: "ZAMG"
-description: "Instructions on how to integrate ZAMG within Home Assistant."
+title: Zentralanstalt für Meteorologie und Geodynamik (ZAMG)
+description: Instructions on how to integrate ZAMG within Home Assistant.
logo: zamg.png
ha_category:
- Weather
diff --git a/source/_integrations/zengge.markdown b/source/_integrations/zengge.markdown
index b141d328173..3f7b42de092 100644
--- a/source/_integrations/zengge.markdown
+++ b/source/_integrations/zengge.markdown
@@ -1,6 +1,6 @@
---
-title: "Zengge"
-description: "Instructions on how to integrate Zengge Bluetooth bulbs into Home Assistant."
+title: Zengge
+description: Instructions on how to integrate Zengge Bluetooth bulbs into Home Assistant.
logo: zengge.png
ha_category:
- Light
diff --git a/source/_integrations/zeroconf.markdown b/source/_integrations/zeroconf.markdown
index 1888e4ab651..506da99be4d 100644
--- a/source/_integrations/zeroconf.markdown
+++ b/source/_integrations/zeroconf.markdown
@@ -1,11 +1,14 @@
---
-title: "Zeroconf/Avahi/Bonjour"
-description: "Exposes Home Assistant using the Zeroconf protocol."
+title: Zero-configuration networking (zeroconf)
+description: Exposes Home Assistant using the Zeroconf protocol.
ha_category:
- Network
-ha_qa_scale: internal
ha_release: 0.18
logo: home-assistant.png
+ha_quality_scale: internal
+ha_codeowners:
+ - '@robbiet480'
+ - '@Kane610'
---
The `zeroconf` integration will scan the network for supported devices and services. Discovered integrations will show up in the discovered section on the integrations page in the config panel. It will also make Home Assistant discoverable for other services in the network. Zeroconf is also sometimes known as Bonjour, Rendezvous, and Avahi.
diff --git a/source/_integrations/zestimate.markdown b/source/_integrations/zestimate.markdown
index 9468b7c0321..affd98a54c3 100644
--- a/source/_integrations/zestimate.markdown
+++ b/source/_integrations/zestimate.markdown
@@ -1,6 +1,6 @@
---
-title: "Zestimate"
-description: "Instructions on how to integrate the Zestimate sensor into Home Assistant."
+title: Zestimate
+description: Instructions on how to integrate the Zestimate sensor into Home Assistant.
ha_category:
- Sensor
logo: zillow.png
diff --git a/source/_integrations/zha.markdown b/source/_integrations/zha.markdown
index e066856ef38..8fd761393c5 100644
--- a/source/_integrations/zha.markdown
+++ b/source/_integrations/zha.markdown
@@ -1,6 +1,6 @@
---
-title: "Zigbee Home Automation"
-description: "Instructions on how to integrate your Zigbee Home Automation (ZHA) devices within Home Assistant."
+title: Zigbee Home Automation
+description: Instructions on how to integrate your Zigbee Home Automation (ZHA) devices within Home Assistant.
logo: zigbee.png
ha_category:
- Hub
@@ -13,6 +13,10 @@ ha_category:
ha_release: 0.44
ha_iot_class: Local Polling
featured: true
+ha_config_flow: true
+ha_codeowners:
+ - '@dmulcahey'
+ - '@adminiuga'
---
[Zigbee Home Automation](https://zigbee.org/zigbee-for-developers/applicationstandards/zigbeehomeautomation/)
@@ -56,7 +60,21 @@ The custom quirks implementations for zigpy implemented as ZHA Device Handlers f
- [PiZiGate](https://zigate.fr/produit/pizigate-v1-0/)
- [Wifi ZiGate](https://zigate.fr/produit/zigate-pack-wifi-v1-3/) (work in progress)
-## Configuration
+## Configuration - GUI
+
+From the Home Assistant front page go to **Configuration** and then select **Integrations** from the list.
+
+Use the plus button in the bottom right to add a new integration called **ZHA**.
+
+In the popup:
+
+ - USB Device Path - on a linux system will be something like `/dev/ttyUSB0`
+ - Radio type - select device type **ezsp**, **deconz** or **xbee**
+ - Submit
+
+The success dialog will appear or an error will be displayed in the popup. An error is likely if Home Assistant can't access the USB device or your device is not up to date (see troubleshooting).
+
+## Configuration - Manual
To configure the component, select ZHA on the Integrations page and provide the path to your Zigbee USB stick.
@@ -102,7 +120,13 @@ enable_quirks:
To add new devices to the network, call the `permit` service on the `zha` domain. Do this by clicking the Service icon in Developer tools and typing `zha.permit` in the **Service** dropdown box. Next, follow the device instructions for adding, scanning or factory reset.
-Alternatively you can trigger a scan for devices through the Web UI via `Configuration > ZHA > Add Devices`.
+## Adding devices
+
+Go to the **Configuration** page and select the **ZHA** integration that was added by the configuration steps above.
+
+Click on **ADD DEVICES** to start a scan for new devices.
+
+Reset your Zigbee devices according to the device instructions provided by the manufacturer (e.g., turn on/off lights up to 10 times, switches usually have a reset button/pin).
## Troubleshooting
@@ -125,10 +149,39 @@ Follow the instructions on [https://github.com/vanviegen/hue-thief/](https://git
### ZHA Start up issue with Home-Assistant Docker/Hass.io installs on linux hosts
-On Linux hosts ZHA can fail to start during HA startup or restarts because the zigbee USB device is being claimed by the host's modemmanager service. To fix this disable the modemmanger on the host system.
+On Linux hosts ZHA can fail to start during HA startup or restarts because the Zigbee USB device is being claimed by the host's modemmanager service. To fix this disable the modemmanger on the host system.
To remove modemmanager from an Debian/Ubuntu host run this command:
```bash
sudo apt-get purge modemmanager
```
+
+### Can't connect to USB device and using Docker
+
+If you are using Docker and can't connect, you most likely need to forward your device from the host machine to the Docker instance. This can be achieved by adding the device mapping to the end of the startup string or ideally using docker compose.
+
+#### Docker Compose
+
+Install Docker-Compose for your platform (linux - `sudo apt-get install docker-compose`).
+
+Create a `docker-compose.yml` with the following data:
+
+```yaml
+version: '2'
+services:
+ homeassistant:
+ # customisable name
+ container_name: home-assistant
+
+ # must be image for your platform, this is the rpi3 variant
+ image: homeassistant/raspberrypi3-homeassistant
+ volumes:
+ - :/config
+ - /etc/localtime:/etc/localtime:ro
+ devices:
+ # your usb device forwarding to the docker image
+ - /dev/ttyUSB0:/dev/ttyUSB0
+ restart: always
+ network_mode: host
+```
diff --git a/source/_integrations/zhong_hong.markdown b/source/_integrations/zhong_hong.markdown
index 69c69edc1ca..dd934388bc9 100644
--- a/source/_integrations/zhong_hong.markdown
+++ b/source/_integrations/zhong_hong.markdown
@@ -1,6 +1,6 @@
---
-title: "ZhongHong Thermostats Controller"
-description: "Instructions on how to integrate ZhongHong Support thermostats within Home Assistant."
+title: ZhongHong
+description: Instructions on how to integrate ZhongHong Support thermostats within Home Assistant.
logo: zhong_hong.png
ha_category:
- Climate
@@ -8,7 +8,6 @@ ha_release: 0.72
ha_iot_class: Local Push
---
-
The `zhong_hong` climate platform lets you control [Zhonghong HVAC Gateway Controller](http://zhonghongtech.cn/v1/index.shtml) thermostats through Home Assistant.
To set it up, add the following information to your configuration.yaml file:
diff --git a/source/_integrations/zigbee.markdown b/source/_integrations/zigbee.markdown
index 9424890bad2..0803edb81e1 100644
--- a/source/_integrations/zigbee.markdown
+++ b/source/_integrations/zigbee.markdown
@@ -1,6 +1,6 @@
---
-title: "Zigbee"
-description: "Instructions on how to integrate a Zigbee network with Home Assistant."
+title: Zigbee
+description: Instructions on how to integrate a Zigbee network with Home Assistant.
logo: zigbee.png
ha_category:
- Binary Sensor
diff --git a/source/_integrations/ziggo_mediabox_xl.markdown b/source/_integrations/ziggo_mediabox_xl.markdown
index df55f5e2bc7..7bf3a5c1b9e 100644
--- a/source/_integrations/ziggo_mediabox_xl.markdown
+++ b/source/_integrations/ziggo_mediabox_xl.markdown
@@ -1,11 +1,11 @@
---
-title: "Ziggo Mediabox XL"
-description: "Instructions on how to integrate the Ziggo Mediabox XL into Home Assistant."
+title: Ziggo Mediabox XL
+description: Instructions on how to integrate the Ziggo Mediabox XL into Home Assistant.
logo: ziggo.png
ha_category:
- Media Player
ha_iot_class: Local Polling
-ha_release: "0.60"
+ha_release: '0.60'
---
The `ziggo_mediabox_xl` integration allows you to control a [Ziggo](https://www.ziggo.nl/) Mediabox XL from Home Assistant.
diff --git a/source/_integrations/zone.markdown b/source/_integrations/zone.markdown
index 4eccefd4d13..06147c9a91f 100644
--- a/source/_integrations/zone.markdown
+++ b/source/_integrations/zone.markdown
@@ -1,11 +1,14 @@
---
-title: "Zone"
-description: "Instructions on how to set up zones within Home Assistant."
+title: Zone
+description: Instructions on how to set up zones within Home Assistant.
logo: home-assistant.png
ha_category:
- Organization
-ha_qa_scale: internal
ha_release: 0.69
+ha_config_flow: true
+ha_quality_scale: internal
+ha_codeowners:
+ - '@home-assistant/core'
---
Zones allow you to specify certain regions on earth (for now). When a device tracker sees a device to be within a zone, the state will take the name from the zone. Zones can also be used as a [trigger](/getting-started/automation-trigger/#zone-trigger) or [condition](/getting-started/automation-condition/#zone-condition) inside automation setups.
diff --git a/source/_integrations/zoneminder.markdown b/source/_integrations/zoneminder.markdown
index 7052152886f..6b5018d7cff 100644
--- a/source/_integrations/zoneminder.markdown
+++ b/source/_integrations/zoneminder.markdown
@@ -1,6 +1,6 @@
---
-title: "ZoneMinder"
-description: "How to integrate ZoneMinder into Home Assistant."
+title: ZoneMinder
+description: How to integrate ZoneMinder into Home Assistant.
logo: zoneminder.png
ha_category:
- Hub
@@ -10,6 +10,8 @@ ha_category:
- Switch
ha_release: 0.31
ha_iot_class: Local Polling
+ha_codeowners:
+ - '@rohankapoorcom'
---
The `zoneminder` integration sets up Home Assistant with your [ZoneMinder](https://www.zoneminder.com) instance.
diff --git a/source/_integrations/zwave.markdown b/source/_integrations/zwave.markdown
index 03b7fce9a06..22d7a4d35ee 100644
--- a/source/_integrations/zwave.markdown
+++ b/source/_integrations/zwave.markdown
@@ -1,6 +1,6 @@
---
-title: "Z-Wave"
-description: "Instructions on how to integrate your existing Z-Wave within Home Assistant."
+title: Z-Wave
+description: Instructions on how to integrate your existing Z-Wave within Home Assistant.
logo: z-wave.png
ha_category:
- Hub
@@ -15,6 +15,9 @@ ha_category:
featured: true
ha_iot_class: Local Push
ha_release: 0.7
+ha_config_flow: true
+ha_codeowners:
+ - '@home-assistant/z-wave'
---
The [Z-Wave](https://www.z-wave.com/) integration for Home Assistant allows you to observe and control connected Z-Wave devices. Please see the [Z-Wave getting started section](/docs/z-wave/) for in-depth documentation on how to use and setup the Z-Wave component.
diff --git a/source/_lovelace/entities.markdown b/source/_lovelace/entities.markdown
index 68d61c8e11b..86667b410f0 100644
--- a/source/_lovelace/entities.markdown
+++ b/source/_lovelace/entities.markdown
@@ -61,7 +61,7 @@ image:
type: string
secondary_info:
required: false
- description: "Show additional info. Values: `entity-id`, `last-changed`, `last-triggered' (only for automations and scripts)."
+ description: "Show additional info. Values: `entity-id`, `last-changed`, `last-triggered` (only for automations and scripts)."
type: string
format:
required: false
diff --git a/source/_lovelace/picture-glance.markdown b/source/_lovelace/picture-glance.markdown
index c26ce3d3c23..cf92f560d7a 100644
--- a/source/_lovelace/picture-glance.markdown
+++ b/source/_lovelace/picture-glance.markdown
@@ -56,7 +56,7 @@ aspect_ratio:
type: string
entity:
required: false
- description: Entity to use for `state_image`.
+ description: Entity to use for `state_image` and `state_filter`.
type: string
show_state:
required: false
@@ -320,6 +320,7 @@ Specify different [CSS filters](https://developer.mozilla.org/en-US/docs/Web/CSS
state_filter:
"on": brightness(110%) saturate(1.2)
"off": brightness(50%) hue-rotate(45deg)
+entity: switch.decorative_lights
```
## Examples
diff --git a/source/_posts/2015-09-19-alarm-sonos-and-itunes-support.markdown b/source/_posts/2015-09-19-alarm-sonos-and-itunes-support.markdown
index 05a28c95ea3..57c1f6060ed 100644
--- a/source/_posts/2015-09-19-alarm-sonos-and-itunes-support.markdown
+++ b/source/_posts/2015-09-19-alarm-sonos-and-itunes-support.markdown
@@ -43,11 +43,11 @@ automation:
event: sunset
offset: "-01:00:00"
- platform: state
- entity_id: group.all_devices
+ entity_id: all
state: home
condition:
- platform: state
- entity_id: group.all_devices
+ entity_id: all
state: home
- platform: time
after: "16:00:00"
diff --git a/source/_posts/2017-01-28-face-coffee-wink.markdown b/source/_posts/2017-01-28-face-coffee-wink.markdown
index 6447f6396d7..437948e8d34 100644
--- a/source/_posts/2017-01-28-face-coffee-wink.markdown
+++ b/source/_posts/2017-01-28-face-coffee-wink.markdown
@@ -29,12 +29,12 @@ Although the old method is not insecure, the new method is a lot more secure. Up
### New customization options
[@Andrey-git] has added some great new options to the customize functionality. It is now possible to specify customizations as a wildcard for entities or for a specific domain.
-### Major Wink and HDMI CEC improvements
+### Major Wink and HDMI-CEC improvements
[@w1ll1am23] did an amazing job fixing a ton of bugs and issues with the Wink integration. Biggest improvement is that it now is able to automatically refresh the authentication tokens. This means that if you have your email address and password in your `configuration.yaml` file, no `client_id` and `client_secret` are needed, and token which was generated with the generator located in the [Wink][wink] documentation.
The new Wink support will cause renaming of all the binary sensors and will also create new sensors for devices that weren't previously detected or supported in the older version.
-Thanks to [@konikvranik] the [HDMI CEC][cec] integration got a huge update with a lot of improvements. This update should make it easier to work with HDMI CEC and give you more control.
+Thanks to [@konikvranik] the [HDMI-CEC][cec] integration got a huge update with a lot of improvements. This update should make it easier to work with HDMI-CEC and give you more control.
### First Coffee Maker supported
[@stu-gott] has added support for the first coffee maker in Home Assistant: [Mr. Coffee Smart Optimal Brew][coffee]. Happy brewing!
@@ -93,7 +93,7 @@ Thanks to [@konikvranik] the [HDMI CEC][cec] integration got a huge update with
- Light - Zwave: Use only supported features for devices ([@turbokongen])
- Media player - Kodi: Support for volume stepping ([@armills])
- Media player- roku: Use `is_screensaver`, update IDLE state, and use device name ([@robbiet480], [@xhostplus])
-- Switch - HDMI CEC: Support for devices and commands ([@konikvranik])
+- Switch - HDMI-CEC: Support for devices and commands ([@konikvranik])
- Lock - Zwave: Improvements to Zwave lock platform ([@turbokongen])
- TTS: Invalidate broken file cache entries ([@stu-gott])
- Light - Hue: Improvements ([@robbiet480])
diff --git a/source/_posts/2017-02-03-hassbian-toybox.markdown b/source/_posts/2017-02-03-hassbian-toybox.markdown
index 1dc2e7ceca5..ef918205df0 100644
--- a/source/_posts/2017-02-03-hassbian-toybox.markdown
+++ b/source/_posts/2017-02-03-hassbian-toybox.markdown
@@ -16,7 +16,7 @@ Changes from previous image are big and small but lets start with the interestin
A set of script written to add extra functionality to your Raspberry Pi installation.
This scripts are run as the `pi` user and installs a set of tools or packages.
Currently includes:
- - Install Libcec. Adds local [HDMI CEC support][cec].
+ - Install Libcec. Adds local [HDMI-CEC support][cec].
- Install Mossquitto. Installs the latest Mosquitto package and client tools from the Mosquitto projects official repository. Now includes websocket support.
- Install OpenZWave. Installs OpenZWave and prepares for using a USB or GPIO ZWave controller.
- Install Samba. Installs the Samba packages and shares your configuration over smb to be available to edit on any computer without the need for separate file transfer software. This share is unsecured and it's usage is not recommended if your installation is publicly available.
diff --git a/source/_posts/2017-02-25-config-panel-and-state-restoration.markdown b/source/_posts/2017-02-25-config-panel-and-state-restoration.markdown
index b692820f1ad..3d890216fb2 100644
--- a/source/_posts/2017-02-25-config-panel-and-state-restoration.markdown
+++ b/source/_posts/2017-02-25-config-panel-and-state-restoration.markdown
@@ -160,7 +160,7 @@ And a final shout out to [Pascal][@pvizeli]. He keeps improving the performance
- Lock - Nuki: Reduce battery drain on Nuki Lock ([@pschmitt])
- Notify - Webostv: Only try to pair notify.webostv when not paired ([@andersonshatch])
- KNX: Fix slow status updates from the knx bus ([@keerts])
-- HDMI CEC: HDMI_CEC customization [Breaking change] ([@balloob], [@andrey-git])
+- HDMI-CEC: HDMI_CEC customization [Breaking change] ([@balloob], [@andrey-git])
- Sensor - Moon: Remove unit of measurement ([@fabaff])
- Z-Wave: Add initial Z-Wave config panel ([@balloob])
- History: Allow printing the number of states returned by history and time it took to extract and add day ([@andrey-git])
diff --git a/source/_posts/2017-04-30-hassbian-1.21-its-about-time.markdown b/source/_posts/2017-04-30-hassbian-1.21-its-about-time.markdown
index e735288d37c..90218818961 100644
--- a/source/_posts/2017-04-30-hassbian-1.21-its-about-time.markdown
+++ b/source/_posts/2017-04-30-hassbian-1.21-its-about-time.markdown
@@ -21,7 +21,7 @@ To allow you to customize your installation further, we have included a tool cal
- Install Hue. Configures the Python executable to allow usage of low numbered ports for use with Emulated Hue component that's used with Amazon Echo, Google Home and Mycroft.ai.
- Install Mosquitto MQTT server. Installs the latest Mosquitto package and client tools from the Mosquitto projects official repository. Now includes websocket support.
- - Install Libcec. Adds local [HDMI CEC support][cec].
+ - Install Libcec. Adds local [HDMI-CEC support][cec].
- Install Open Z-Wave-pip. Installs Python Open Z-Wave from a pip package. This is the quickest and recommended way of installing Z-Wave support but does not OZWCP pre-installed.
- Install Open Z-Wave. Installs Python Open Z-Wave and OZWCP from git.
- Install Samba. Allows anyone on your network to edit your configuration from any computer. This share is unsecured and it's usage is not recommended if you share your network with others.
diff --git a/source/_posts/2019-12-11-release-103.markdown b/source/_posts/2019-12-11-release-103.markdown
index faa306bc133..72280521c0b 100644
--- a/source/_posts/2019-12-11-release-103.markdown
+++ b/source/_posts/2019-12-11-release-103.markdown
@@ -72,7 +72,7 @@ Thank you so much!
[@briglx]: https://github.com/briglx
[@djpremier]: https://github.com/djpremier
[@javicalle]: https://github.com/javicalle
-[@Michsior14]: https://github.com/Michsior14
+[@michsior14]: https://github.com/Michsior14
[@mnigbur]: https://github.com/mnigbur
[@thaohtp]: https://github.com/thaohtp
@@ -127,7 +127,7 @@ automation editor and allows you to copy parts of your automation quickly.
Screenshot of the automation YAML editor.
-### Rearange actions
+### Rearrange actions
We also added the ability to rearrange your actions, so you don't have to start
all over when you want to add a delay between 2 service calls.
@@ -160,7 +160,7 @@ The following integrations are added in this release:
- Add Proxmox VE integration ([@K4ds3] - [#27315]) ([proxmoxve docs]) (new-integration)
- Add flume support ([@ChrisMandich] - [#27235]) ([flume docs]) (new-integration)
- StarLine integration ([@Anonym-tsk] - [#27197]) ([starline docs]) (new-integration)
-- Add intent integration to expose intent handle API ([@balloob] - [#29124]) ([conversation docs]) ([intent docs]) (new-integration)
+- Add intent integration to expose intent handle API ([@balloob] - [#29124]) ([conversation docs]) (new-integration)
- Dsmr reader ([@depl0y] - [#28701]) ([dsmr_reader docs]) ([fleetgo docs]) ([openhardwaremonitor docs]) (new-integration)
- Add ATEN PE component for ATEN eco PDUs ([@mtdcr] - [#27960]) ([aten_pe docs]) (new-integration)
@@ -244,6 +244,125 @@ All services for use in Home Assistant are moved to their integration naming spa
- **Entity ID** - It is no longer possible to target all entities by not passing both `entity_id` and `area_id` to your service data. This feature was previously deprecated and has been printing warnings. The correct way to target all entities is to set `entity_id: all` - ([@balloob] - [#29178])
- **Heatmiser Thermostat** - The Heatmiser integration has been updated to the latest version of the heatmiserV3 library, meaning less code inside HA, and more leverage on the library. The current version of the Heatmiser integration went out of date with the introduction of voluptuous. This has now been fixed, but it breaks the old config syntax slightly. See the updated docs for the new config format. - ([@andylockran] - [#29006]) ([heatmiser docs])
+## Release 0.103.1 - December 18
+
+- Install requirements of after_dependencies when loading integrations ([@balloob] - [#29491])
+- Bump aioambient to 1.0.2 ([@bachya] - [#29850]) ([ambient_station docs])
+- Fix setup for tank_utility component ([@springstan] - [#29902]) ([tank_utility docs])
+- Fix setup error for logbook ([@springstan] - [#29908])
+- Support entity_id: all in lifx.set_state ([@amelchio] - [#29919]) ([lifx docs])
+- Fix mobile app device identifiers ([@JBassett] - [#29920]) ([mobile_app docs])
+- Fix loading flume integration ([@ChrisMandich] - [#29926]) ([flume docs])
+- Fix support for legacy Z-Wave thermostats ([@oandrew] - [#29955]) ([zwave docs])
+- Bump simplisafe-python to 5.3.6 ([@bachya] - [#30055]) ([simplisafe docs])
+
+[#29491]: https://github.com/home-assistant/home-assistant/pull/29491
+[#29850]: https://github.com/home-assistant/home-assistant/pull/29850
+[#29902]: https://github.com/home-assistant/home-assistant/pull/29902
+[#29908]: https://github.com/home-assistant/home-assistant/pull/29908
+[#29919]: https://github.com/home-assistant/home-assistant/pull/29919
+[#29920]: https://github.com/home-assistant/home-assistant/pull/29920
+[#29926]: https://github.com/home-assistant/home-assistant/pull/29926
+[#29955]: https://github.com/home-assistant/home-assistant/pull/29955
+[#30055]: https://github.com/home-assistant/home-assistant/pull/30055
+[@chrismandich]: https://github.com/ChrisMandich
+[@jbassett]: https://github.com/JBassett
+[@amelchio]: https://github.com/amelchio
+[@bachya]: https://github.com/bachya
+[@balloob]: https://github.com/balloob
+[@oandrew]: https://github.com/oandrew
+[@springstan]: https://github.com/springstan
+[ambient_station docs]: /integrations/ambient_station/
+[flume docs]: /integrations/flume/
+[lifx docs]: /integrations/lifx/
+[mobile_app docs]: /integrations/mobile_app/
+[simplisafe docs]: /integrations/simplisafe/
+[tank_utility docs]: /integrations/tank_utility/
+[zwave docs]: /integrations/zwave/
+
+## Release 0.103.2 - December 19
+
+- Fix dependency installation recursinog ([@balloob])
+
+## Release 0.103.3 - December 20
+
+- Fix update port and api key on deconz discovery config entry u⦠([@frenck] - [#30088]) ([deconz docs])
+- Patch rachio ([@omriasta] - [#30031]) ([rachio docs])
+- Fix failure in transform method ([@depl0y] - [#30023]) ([dsmr_reader docs])
+- Fix homekit handling of 0 light brightness and fan speed ([@fuzzie360] - [#29962]) ([homekit docs])
+- Bump starlingbank to 3.2 ([@springstan] - [#30098]) ([starlingbank docs])
+- Bump ring to 0.2.5 ([@balloob] - [#30103]) ([ring docs])
+
+[#29962]: https://github.com/home-assistant/home-assistant/pull/29962
+[#30023]: https://github.com/home-assistant/home-assistant/pull/30023
+[#30031]: https://github.com/home-assistant/home-assistant/pull/30031
+[#30088]: https://github.com/home-assistant/home-assistant/pull/30088
+[#30098]: https://github.com/home-assistant/home-assistant/pull/30098
+[#30103]: https://github.com/home-assistant/home-assistant/pull/30103
+[@balloob]: https://github.com/balloob
+[@depl0y]: https://github.com/depl0y
+[@frenck]: https://github.com/frenck
+[@fuzzie360]: https://github.com/fuzzie360
+[@omriasta]: https://github.com/omriasta
+[@springstan]: https://github.com/springstan
+[deconz docs]: /integrations/deconz/
+[dsmr_reader docs]: /integrations/dsmr_reader/
+[homekit docs]: /integrations/homekit/
+[rachio docs]: /integrations/rachio/
+[ring docs]: /integrations/ring/
+[starlingbank docs]: /integrations/starlingbank/
+
+## Release 0.103.4 - December 22
+
+- Remove requirement from entity integration ([@balloob] - [#30113]) ([doods docs]) ([image_processing docs]) ([seven_segments docs]) ([tensorflow docs])
+- Move imports into setup function in homekit **init**.py ([@springstan] - [#30137]) ([homekit docs])
+- Fix deconz SSDP updating Hassio discovery ([@frenck] - [#30153]) ([deconz docs])
+- Allow battery value of 0 as well as make sure to not create a battery tracker if one already exist ([@Kane610] - [#30155]) ([deconz docs])
+
+[#30113]: https://github.com/home-assistant/home-assistant/pull/30113
+[#30137]: https://github.com/home-assistant/home-assistant/pull/30137
+[#30153]: https://github.com/home-assistant/home-assistant/pull/30153
+[#30155]: https://github.com/home-assistant/home-assistant/pull/30155
+[@kane610]: https://github.com/Kane610
+[@balloob]: https://github.com/balloob
+[@frenck]: https://github.com/frenck
+[@springstan]: https://github.com/springstan
+[deconz docs]: /integrations/deconz/
+[doods docs]: /integrations/doods/
+[homekit docs]: /integrations/homekit/
+[image_processing docs]: /integrations/image_processing/
+[seven_segments docs]: /integrations/seven_segments/
+[tensorflow docs]: /integrations/tensorflow/
+
+## Release 0.103.5 - December 28
+
+- Bump ring to 0.2.8 to fix Oauth issues ([@tchellomello] - [#30245]) ([ring docs])
+
+[#30245]: https://github.com/home-assistant/home-assistant/pull/30245
+[@tchellomello]: https://github.com/tchellomello
+[ring docs]: /components/ring/
+
+## Release 0.103.6 - January 6
+
+- Handle wired bug on restart ([@Kane610] - [#30276]) ([unifi docs])
+- Bump pysmartthings 0.7.0 ([@andrewsayre] - [#30302]) ([smartthings docs])
+- Bump env_canada to 0.0.31 ([@michaeldavie] - [#30409]) ([environment_canada docs])
+- Fix google sync ([@balloob] - [#30524]) ([cloud docs]) ([google_assistant docs])
+
+[#30276]: https://github.com/home-assistant/home-assistant/pull/30276
+[#30302]: https://github.com/home-assistant/home-assistant/pull/30302
+[#30409]: https://github.com/home-assistant/home-assistant/pull/30409
+[#30524]: https://github.com/home-assistant/home-assistant/pull/30524
+[@kane610]: https://github.com/Kane610
+[@andrewsayre]: https://github.com/andrewsayre
+[@balloob]: https://github.com/balloob
+[@michaeldavie]: https://github.com/michaeldavie
+[cloud docs]: /integrations/cloud/
+[environment_canada docs]: /integrations/environment_canada/
+[google_assistant docs]: /integrations/google_assistant/
+[smartthings docs]: /integrations/smartthings/
+[unifi docs]: /integrations/unifi/
+
## If you need help...
...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e).
@@ -332,7 +451,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- Update services.yaml for cloudflare component ([@raman325] - [#28888])
- update services.yaml for keyboard component ([@raman325] - [#28889])
- bump herepy to 0.6.3.3 ([@eifinger] - [#28907]) ([here_travel_time docs])
-- Update __init__.py ([@SNoof85] - [#28911]) ([freebox docs])
+- Update **init**.py ([@SNoof85] - [#28911]) ([freebox docs])
- Delay Plex websocket connection to avoid race ([@jjlawren] - [#28934]) ([plex docs]) (beta fix)
- Bump verisure to vsure 1.5.4 and jsonpath 0.82 ([@persandstrom] - [#28933]) ([verisure docs])
- Add device trigger support for Aqara WXKG11LM 2016 switch to Deconz ([@kurniawan77] - [#28946]) ([deconz docs])
@@ -1226,32 +1345,32 @@ Experiencing issues introduced by this release? Please report them in our [issue
[#29820]: https://github.com/home-assistant/home-assistant/pull/29820
[#29824]: https://github.com/home-assistant/home-assistant/pull/29824
[#29835]: https://github.com/home-assistant/home-assistant/pull/29835
-[@Adminiuga]: https://github.com/Adminiuga
-[@Anonym-tsk]: https://github.com/Anonym-tsk
-[@BKPepe]: https://github.com/BKPepe
-[@Bouni]: https://github.com/Bouni
-[@ChrisMandich]: https://github.com/ChrisMandich
-[@Danielhiversen]: https://github.com/Danielhiversen
-[@Dilbert66]: https://github.com/Dilbert66
-[@HarlemSquirrel]: https://github.com/HarlemSquirrel
-[@JayNewstrom]: https://github.com/JayNewstrom
-[@JeffLIrion]: https://github.com/JeffLIrion
-[@K4ds3]: https://github.com/K4ds3
-[@Kane610]: https://github.com/Kane610
-[@Mariusthvdb]: https://github.com/Mariusthvdb
-[@Misiu]: https://github.com/Misiu
-[@Mryck]: https://github.com/Mryck
-[@NobleKangaroo]: https://github.com/NobleKangaroo
-[@OttoWinter]: https://github.com/OttoWinter
-[@PedroLamas]: https://github.com/PedroLamas
-[@Quentame]: https://github.com/Quentame
-[@Romkabouter]: https://github.com/Romkabouter
-[@SNoof85]: https://github.com/SNoof85
-[@Santobert]: https://github.com/Santobert
-[@Shulyaka]: https://github.com/Shulyaka
-[@SukramJ]: https://github.com/SukramJ
-[@TomBrien]: https://github.com/TomBrien
-[@USA-RedDragon]: https://github.com/USA-RedDragon
+[@adminiuga]: https://github.com/Adminiuga
+[@anonym-tsk]: https://github.com/Anonym-tsk
+[@bkpepe]: https://github.com/BKPepe
+[@bouni]: https://github.com/Bouni
+[@chrismandich]: https://github.com/ChrisMandich
+[@danielhiversen]: https://github.com/Danielhiversen
+[@dilbert66]: https://github.com/Dilbert66
+[@harlemsquirrel]: https://github.com/HarlemSquirrel
+[@jaynewstrom]: https://github.com/JayNewstrom
+[@jefflirion]: https://github.com/JeffLIrion
+[@k4ds3]: https://github.com/K4ds3
+[@kane610]: https://github.com/Kane610
+[@mariusthvdb]: https://github.com/Mariusthvdb
+[@misiu]: https://github.com/Misiu
+[@mryck]: https://github.com/Mryck
+[@noblekangaroo]: https://github.com/NobleKangaroo
+[@ottowinter]: https://github.com/OttoWinter
+[@pedrolamas]: https://github.com/PedroLamas
+[@quentame]: https://github.com/Quentame
+[@romkabouter]: https://github.com/Romkabouter
+[@snoof85]: https://github.com/SNoof85
+[@santobert]: https://github.com/Santobert
+[@shulyaka]: https://github.com/Shulyaka
+[@sukramj]: https://github.com/SukramJ
+[@tombrien]: https://github.com/TomBrien
+[@usa-reddragon]: https://github.com/USA-RedDragon
[@abmantis]: https://github.com/abmantis
[@adamchengtkc]: https://github.com/adamchengtkc
[@adrum]: https://github.com/adrum
@@ -1261,7 +1380,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@amelchio]: https://github.com/amelchio
[@andersonshatch]: https://github.com/andersonshatch
[@andylockran]: https://github.com/andylockran
-[@awkwardDuck]: https://github.com/awkwardDuck
+[@awkwardduck]: https://github.com/awkwardDuck
[@bachya]: https://github.com/bachya
[@balloob]: https://github.com/balloob
[@bannhead]: https://github.com/bannhead
@@ -1330,10 +1449,10 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@tetienne]: https://github.com/tetienne
[@thomasgermain]: https://github.com/thomasgermain
[@timmccor]: https://github.com/timmccor
-[@tofuSCHNITZEL]: https://github.com/tofuSCHNITZEL
+[@tofuschnitzel]: https://github.com/tofuSCHNITZEL
[@tsvi]: https://github.com/tsvi
[@tulindo]: https://github.com/tulindo
-[@uSpike]: https://github.com/uSpike
+[@uspike]: https://github.com/uSpike
[aftership docs]: /integrations/aftership/
[alarm_control_panel docs]: /integrations/alarm_control_panel/
[alarmdecoder docs]: /integrations/alarmdecoder/
diff --git a/source/_posts/2019-12-17-hassos-release-3.markdown b/source/_posts/2019-12-17-hassos-release-3.markdown
new file mode 100644
index 00000000000..2f11e06f058
--- /dev/null
+++ b/source/_posts/2019-12-17-hassos-release-3.markdown
@@ -0,0 +1,64 @@
+---
+title: "HassOS 3 released! Raspberry Pi 4 support"
+description: "HassOS update: Raspberry Pi 4 now officially supported!"
+date: 2019-12-17 00:00:00
+date_formatted: "December 17, 2019"
+author: Pascal Vizeli
+author_twitter: pvizeli
+categories: Announcements
+og_image: /images/blog/2019-12-hassos-release-3/blogpost.png
+---
+
+A bit behind the original timeline, but we happy to announce, we've released version 3 of Hass.io Operating System: HassOS. Just in time for Christmas!
+
+TL;DR; A quick summary of the changes:
+
+- Official RPi4 support
+- Linux LT 4.19
+- Buildroot LT 2019
+- USB-boot capabilities for the RPi3
+- SMS integrations with USB/GSM modem
+- Qemu Agent support
+- Optimized kernel for virtual appliances
+- Improved automatic disk expansion
+- Initial foundation for offloading the data partition
+
+## Raspberry Pi
+
+We now officially support the Raspberry Pi 4 on this stable version of HassOS! The Raspberry Pi 4 is a great and powerful device to get you started on Hass.io and Home Assistant.
+
+[@rbray89](https://github.com/rbray89) worked hard on this release to add the very often requested USB boot support! Please note, this is currently limited to RPi3 devices. Carefully read how the USB boot [works](https://github.com/home-assistant/hassos/blob/rel-3/Documentation/boards/raspberrypi.md#usb-boot) and be aware of the limited [supported hardware](https://community.home-assistant.io/t/hass-io-transfer-from-sd-card-to-ssd-or-usb/97452/19).
+
+## Hypervisors / Running HassOS on a Virtual Machine
+
+The HassOS image for virtual appliances did get some useful updates as well. We have optimized the Linux kernel to support more virtual hardware.
+
+We have now included the QEMU Agent in HassOS. So if you are running on a Hypervisor that is QEMU based (e.g., Proxmox or Libvirt), you now have a lot more information in your Hypervisor control panel, proper shutdown support and improved support for backing up/snapshotting your virtual machine.
+
+Finally, the automated disk expansion got some updates. So if you need more disk space in your virtual appliance, add it in your Hypervisor and HassOS automatically pick it up at the next boot.
+
+We want to emphasize that running Hass.io as a virtual machine is the **only** supported method to run Hass.io on a virtualized system. We've lately seen some funky tutorials on how to run Hass.io inside a container like Docker or LXC, which we **DO NOT** recommend, you will end up having issues.
+
+## How to update to HassOS 3
+
+If you are already running HassOS, you have the full flavor of Hass.io, and thus, all the comfort it has to offer, making this upgrade a breeze!
+
+To update via the user interface, go to the Home Assistant frontend, click on **Hass.io** in the sidebar to go into the Hass.io panel. Next, click on the System tab and press the **UPDATE** button in the "Host system" panel. In case the update isn't showing up yet, push the **RELOAD** button on the "Hass.io supervisor" box first, which makes your system look for updates instantly.
+
+Another option is to use our powerful CLI, that is shipped with the SSH add-on. Run the following command to trigger the upgrade: `hassio os update --version 3.7`.
+
+## Update 2019-12-18
+
+After some confusion about the statement of supporting virtual environments and running Hass.io on top of a custom Linux; so let's clarify it.
+
+The supported ways to run Hass.io are documented here:
+
+This also includes running Hass.io on Linux using the [Generic Linux](https://github.com/home-assistant/hassio-installer) installer, which is a supported method.
+
+Hass.io runs partly on your local machine, but for most parts inside multiple containers. All installation types we list, respect this.
+
+If you run VMWare, ProxMox or other virtualization environments, you can use the HassOS OVA/VMDK to run a virtual machine with. Or, if you like to use a Ubuntu VM, that will work with the supported generic Linux installer.
+
+We **DO NOT** support any kind of LXC hacks like listed here: . These setups try to put everything inside a **single** container, [which will cause you issues](https://community.home-assistant.io/t/hassio-installation-on-lxd-lxc-container-ubuntu-18-04/151543/2). Hass.io is not designed to run fully inside a containerized system, like LXC.
+
+We hope this clarifies our earlier statement.
diff --git a/source/_posts/2019-12-20-all-i-want-is-open-standards.markdown b/source/_posts/2019-12-20-all-i-want-is-open-standards.markdown
new file mode 100644
index 00000000000..b11eda9fa9a
--- /dev/null
+++ b/source/_posts/2019-12-20-all-i-want-is-open-standards.markdown
@@ -0,0 +1,42 @@
+---
+layout: post
+title: "Celebrate the holidays with open standards"
+description: "A lot of news dropped around open standards. Time for a quick round up."
+date: 2019-12-20 0:43:02
+date_formatted: "December 20, 2019"
+author: Paulus Schoutsen
+author_twitter: balloob
+comments: true
+categories: Technology
+---
+
+It's been a busy week with a lot of announcements around IoT standards, so I thought I would do a quick round up of them, and how it might impact Home Assistant users.
+
+## New IoT standard announced
+
+As it's been a while, the industry has announced yet a new effort to create a new IoT standard called [Project Connected Home over IP](https://www.connectedhomeip.com/). I think that there are a few interesting bits to this standard:
+
+The standard will be royalty-free. This is big, as it means that it will be easy for companies to build products. Take, for example, Homekit, which is a great IP-based local standard. Homekit has strict licensing and royalties, which prevented it from widespread adoption.
+
+The new standard specification will be written in conjunction with building an open source implementation of the standard. Once it's all finished, we'll be able to integrate this implementation into Home Assistant.
+
+Finally, Apple, Google and Amazon are seriously involved, even contributing their own IoT standards to help bootstrap this specification. This significantly increases the odds of them also integrating it into their products. Since their products are everywhere, it means that more companies might incorporate the standard and it can get widespread adoption.
+
+But don't hold your breath. Developing a standard takes time. They aim for a draft to be released at the end of 2020. And that's just the specification. Not any of the devices built with it. If (and that's a big IF) everything works out, expect this standard to get into your home in 2022.
+
+
+
+## Z-Wave to become an open standard
+
+Silicon Labs and the Z-Wave Alliance have announced plans to [open up Z-Wave](https://news.silabs.com/2019-12-19-Silicon-Labs-and-Z-Wave-Alliance-Expand-Smart-Home-Ecosystem-by-Opening-Z-Wave-to-Silicon-and-Stack-Suppliers) in the second half of 2020. Among other things, this allows other companies to create Z-Wave radios, which could result in wider adoption and cheaper devices.
+
+## Open Source HomeKit Accessory Development Kit
+
+As part of the Connected Home over IP announcement, Apple has released an [open source version](https://github.com/apple/HomeKitADK) of their Accessory Development Kit (ADK). The ADK allows devices to be controlled by HomeKit controllers like Home Assistant (and ok, iOS devices). The spec was already open and Home Assistant implements it via the [Homekit integration](/integrations/homekit/). Opening up the ADK still helps because it gives a reference implementation to see how the spec should work.
+
+## Bonus: deCONZ hass.io add-on gets Ingress support
+
+It's not really related, but a little. deCONZ is Zigbee controller software that works with the Conbee Zigbee stick. It's a platinum Home Assistant integration and we've been working with [Phoscon](https://phoscon.de), the company behind deCONZ and Conbee, to add Ingress support to the Hass.io add-on.
+
+
Wait... did I just release the deCONZ add-on 4.0 for @home_assistant with Ingress support? š
diff --git a/source/_redirects b/source/_redirects
index 5908e04daa6..1f2ec3c25fb 100644
--- a/source/_redirects
+++ b/source/_redirects
@@ -180,7 +180,6 @@
/components/binary_sensor.sleepiq /integrations/sleepiq
/components/binary_sensor.smartthings /integrations/smartthings#binary-sensor
/components/binary_sensor.spc /integrations/spc#binary-sensor
-/components/binary_sensor.tahoma /integrations/tahoma
/components/binary_sensor.tapsaff /integrations/tapsaff
/components/binary_sensor.tcp /integrations/tcp#binary-sensor
/components/binary_sensor.tellduslive /integrations/tellduslive
@@ -307,7 +306,6 @@
/components/cover.scsgate /integrations/scsgate#cover
/components/cover.smartthings /integrations/smartthings#cover
/components/cover.supla /integrations/supla
-/components/cover.tahoma /integrations/tahoma
/components/cover.tellduslive /integrations/tellduslive
/components/cover.tellstick /integrations/tellstick#cover
/components/cover.tuya /integrations/tuya
@@ -625,7 +623,6 @@
/components/scene.lutron /integrations/lutron#scene
/components/scene.lutron_caseta /integrations/lutron_caseta#scene
/components/scene.smartthings /integrations/smartthings#scene
-/components/scene.tahoma /integrations/tahoma
/components/scene.tuya /integrations/tuya
/components/scene.velux /integrations/velux
/components/scene.vera /integrations/vera
@@ -883,7 +880,6 @@
/components/sensor.systemmonitor /integrations/systemmonitor
/components/sensor.sytadin /integrations/sytadin
/components/sensor.tado /integrations/tado
-/components/sensor.tahoma /integrations/tahoma
/components/sensor.tank_utility /integrations/tank_utility
/components/sensor.tautulli /integrations/tautulli
/components/sensor.tcp /integrations/tcp#sensor
@@ -1034,7 +1030,6 @@
/components/switch.switchbot /integrations/switchbot
/components/switch.switcher_kis /integrations/switcher_kis
/components/switch.switchmate /integrations/switchmate
-/components/switch.tahoma /integrations/tahoma
/components/switch.tellduslive /integrations/tellduslive
/components/switch.tellstick /integrations/tellstick#switch
/components/switch.telnet /integrations/telnet
@@ -1893,7 +1888,6 @@
/components/systemmonitor /integrations/systemmonitor
/components/sytadin /integrations/sytadin
/components/tado /integrations/tado
-/components/tahoma /integrations/tahoma
/components/tank_utility /integrations/tank_utility
/components/tapsaff /integrations/tapsaff
/components/tautulli /integrations/tautulli
diff --git a/source/android/index.markdown b/source/android/index.markdown
index cce4541db9a..2e437db0c0f 100644
--- a/source/android/index.markdown
+++ b/source/android/index.markdown
@@ -5,6 +5,4 @@ description: "Landing page for Home Assistant Android app."
-Nothing to see yet :)
-
-
+
diff --git a/source/getting-started/automation.markdown b/source/getting-started/automation.markdown
index 348de945934..3ccd5f801ff 100644
--- a/source/getting-started/automation.markdown
+++ b/source/getting-started/automation.markdown
@@ -6,36 +6,41 @@ redirect_from:
- /getting-started/automation-2/
---
-When your devices are set up, it's time to put the cherry on the pie: automation. In this guide we're going to create a simple automation rule to **turn on the lights when the sun sets**.
+Once your devices are set up, it's time to put the cherry on the pie: automation. In this guide we're going to create a simple automation rule to **turn on the lights when the sun sets**.
-In Home Assistant, open the menu by clicking on the top-left icon and click on configuration. Now click on automation. This is the automation screen from which you can manage all the automations in Home Assistant.
-
-Click on the orange button at the bottom right to create a new automation. You are presented with a blank automation screen.
+In the user interface, click Configuration in the sidebar, then click Automation. You will now see the automation screen from which you can manage all the automations in Home Assistant.
-
+
The automation editor.
-The first thing we will do is to set a name. Enter "Turn Lights On at Sunset".
-
-The second step is defining what should trigger our automation to run. In this case we want to use the event of the sun setting to trigger our automation. However, if we would turn on the lights when the sun actually sets, it would be too late as it already gets quite dark while it's setting. So we're going to add an offset.
-
-In the trigger section, click on the dropdown and change trigger type to "Sun". It allows us to pick between sunrise and sunset, go ahead and pick sunset. As we discussed, we want our automation to be triggered a little before the sun actually sets, so let's add `-0:30` to the offset. This indicates that we will trigger 30 minutes before the sun actually sets, neat!
+Click the orange button at the bottom right to create a new automation. You are presented with a blank automation screen.
-
+
+The start of a new automation.
+
+
+The first thing we will do is set a name. Enter "Turn Lights On at Sunset".
+
+The second step is defining what should trigger our automation to run. In this case, we want to use the event of the sun setting to trigger our automation. However, if we would turn on the lights when the sun actually sets, it would be too late as it already gets quite dark while it's setting. So we're going to add an offset.
+
+In the trigger section, click on the dropdown menu and change the trigger type to "Sun." It allows us to choose sunrise or sunset, so go ahead and pick sunset. As we discussed, we want our automation to be triggered a little before the sun actually sets, so let's add `-00:30` as the offset. This indicates that the automation will be triggered 30 minutes before the sun actually sets. Neat!
+
+
+
A new automation with a sun trigger filled in.
-Once we have defined our trigger, scroll down to the action section. Make sure the action type is set to "Call Service" and change the service to `light.turn_on`. For this automation we're going to turn on all lights, so let's change the service data to:
+Once we have defined our trigger, scroll down to the action section. Make sure the action type is set to "Call service," and change the service to `light.turn_on`. For this automation we're going to turn on all lights, so let's change the service data to:
```yaml
entity_id: all
```
-
+
A new automation with the action set up to turn on the lights.
diff --git a/source/getting-started/configuration.markdown b/source/getting-started/configuration.markdown
index 053f9845102..a8133667aac 100644
--- a/source/getting-started/configuration.markdown
+++ b/source/getting-started/configuration.markdown
@@ -3,41 +3,61 @@ title: "Advanced Configuration"
description: "Instructions to get Home Assistant configured."
---
-Until now we have been able to configure Home Assistant purely via the user interface. However, not all options are accessible via the user interface. The other options are accessible via the Home Assistant configuration file called `configuration.yaml`. A default one is created when Home Assistant started for the first time.
+The onboarding process takes care of the initial setup for Home Assistant, such as naming your home and selecting your location. After initial onboarding, these options can be changed in the user interface by clicking on Configuration in the sidebar and clicking on General, or by manually editing them in the Home Assistant configuration file called `configuration.yaml`. This section will explain how to do the latter.
-This final step of the getting started only applies if you've installed Home Assistant via Hass.io. If you've used another installation method, [see here](/docs/configuration/).
+The steps below only apply if you've installed Home Assistant via Hass.io. If you've used another installation method, [see here](/docs/configuration/).
-We are going to help you make your first changes to `configuration.yaml`. To do this, we are going to install an add-on from the Hass.io add-on store: the HASS Configurator. To get to the add-on store, click on the menu icon in the top left, then click on Hass.io. On the new page, open the add-on store tab.
+We are going to help you make your first changes to `configuration.yaml`. To do this, we are going to install an add-on from the Hass.io add-on store: the Configurator. To get to the add-on store, click on the menu icon in the top left, then click on Hass.io. On the new page, open the add-on store tab.
From the Hass.io main panel, open the add-on store.
-Under the "Core" section you will find HASS Configurator.
+Under the "Core" section you will find Configurator.
- Click on Configurator and click on INSTALL. When installation is complete, the UI will go to the add-on details page for the configurator.
- Now start the add-on by clicking on START.
- Open the user interface by clicking on OPEN WEB UI.
-Now let's make a small change using the configurator: we are going to change the name and location of your Home Assistant installation.
+Now let's make a change using the configurator: we are going to change the name, location, unit system, and time zone of your Home Assistant installation.
- Click the folder icon in the top left of the configurator window to open the file browser sidebar.
- Click the `configuration.yaml` file (in the `/config/` folder) to load it into the main Configurator edit window.
- - Find the `homeassistant:` configuration block, which should be the first thing in `configuration.yaml`. In this block, update `name`, `latitude`, `longitude`, `unit_system` and `time_zone` to match yours.
+ - Add the following to this file (preferably at the very top, but it ultimately doesn't matter):
+ ```yaml
+ homeassistant:
+ name: Home
+ latitude: xx.xxxx
+ longitude: xx.xxxx
+ unit_system: imperial
+ time_zone: America/Chicago
+ ```
+
+
+ Valid options for `unit_system` are `imperial` or `metric`. See [here](https://timezonedb.com/time-zones) for a list of valid time zones. Enter the appropriate option found under the Time Zone column at that page.
+
+
+
- Click the save icon in the top right to commit changes.
- - Most changes in `configuration.yaml` require Home Assistant to be restarted to see the changes. You can verify that your changes are acceptable by running a config check. Do this by clicking on Configuration in the sidebar, click on "Server Control" and click on the "CHECK CONFIG" button. When it's valid, it will show the text "Configuration valid!".
- - Now Restart Home Assistant using the "restart" in the Server management section on the same page. In order for "Check Config" to be visible, you must enable "Advanced Mode" on your user profile.
+ - Most changes in `configuration.yaml` require Home Assistant to be restarted to see the changes. You can verify that your changes are acceptable by running a config check. Do this by clicking on Configuration in the sidebar, click on "Server Control" and click on the CHECK CONFIG button. When it's valid, it will show the text "Configuration valid!"
+ - Now Restart Home Assistant using the RESTART button in the Server management section on the same page. In order for "Check Config" to be visible, you must enable "Advanced Mode" on your user profile.
Screenshot of the "General" page in the configuration panel.
+
+
+ If you have watched any videos about setting up Home Assistant using configuration.yaml (particularly ones that are old), you might notice your default configuration file is much smaller than what the videos show. Don't be concerned, you haven't done anything wrong. Many items in the default configuration files shown in those old videos are now included in the `default_config:` line that you see in your configuration file. [See here](/integrations/default_config/) for more information on what's included in that line.
+
+
+
### Editing config via Samba/Windows Networking
Maybe you are not a big fan of our web editor and want to use a text editor on your computer instead. This is possible by sharing the configuration over the network using the Samba add-on, which can also be installed from the Hass.io add-on store. This will make your configuration accessible via the network tab on your computer.
diff --git a/source/getting-started/index.markdown b/source/getting-started/index.markdown
index 196062407f7..f908d0b5698 100644
--- a/source/getting-started/index.markdown
+++ b/source/getting-started/index.markdown
@@ -19,7 +19,7 @@ So here are guidelines:
- Do not talk about YAML if it can be partially/fully done in UI.
- Do not tell people about stuff they can do later. This can be added to a
2nd tier guide.
- - The first page of the guide is for installation, hence hass.io specific.
+ - The first page of the guide is for installation, hence Hass.io specific.
Other pages should not refer to it except for the page introducing the last
page that introduces `configuration.yaml`.
@@ -33,7 +33,7 @@ Follow this guide if you want to get started with Home Assistant easily or if yo
### Suggested hardware
-We will need a few things to get started with installing Home Assistant. The Raspberry Pi 3 Model B+ is a good, affordable starting point for your home automation journey. Links below lead to Amazon US. If you're not in the US, you should be able to find these items in web stores in your country.
+We will need a few things to get started with installing Home Assistant. The Raspberry Pi 4 Model B is a good, affordable starting point for your home automation journey. Links below lead to Amazon US. If you're not in the US, you should be able to find these items in web stores in your country.
- [Raspberry Pi 4 Model B (2GB)](https://amzn.to/2XULT2z) + [Power Supply](https://www.raspberrypi.org/help/faqs/#powerReqs) (at least 2.5A)
- [Micro SD Card](https://amzn.to/2X0Z2di). Ideally get one that is [Application Class 2](https://www.sdcard.org/developers/overview/application/index.html) as they handle small I/O much more consistently than cards not optimized to host applications. A 32 GB or bigger card is recommended.
@@ -42,7 +42,7 @@ We will need a few things to get started with installing Home Assistant. The Ras
### Software requirements
-- Download the HassOS image for [your device](/hassio/installation/)
+- Download and extract the HassOS image for [your device](/hassio/installation/)
- Download [balenaEtcher] to write the image to an SD card
[balenaEtcher]: https://www.balena.io/etcher
diff --git a/source/getting-started/onboarding.markdown b/source/getting-started/onboarding.markdown
index c49f522b0b7..ef18296b8c8 100644
--- a/source/getting-started/onboarding.markdown
+++ b/source/getting-started/onboarding.markdown
@@ -5,11 +5,35 @@ description: "Instructions to get Home Assistant configured."
Alright, you made it here. The tough part is done.
-With Home Assistant installed, it's time for doing the initial configuration. Here you will create the owner account of Home Assistant. This account will be an administrator and will always be able to change everything. Enter a name, username, password and click on "create account".
+With Home Assistant installed, it's time to configure it. Here you will create the owner account of Home Assistant. This account will be an administrator and will always be able to change everything. Enter a name, username, password and click on "create account".
-Now you're brought to the main screen of Home Assistant: the states screen. The states screen will show all your devices. So let's get that screen filled up!
+
+
+Set your username and password.
+
-Open the menu on the top left and click on Configuration. On the next screen, click on Integrations. At this screen you will be able to set up integrations with Home Assistant. You might notice a "discovered" section, these are integrations that we found on your network and can easily be added with a few clicks. If your integrations are not discovered, find them in the list and click on configure.
+Next, you can enter a name for your home and set your location and unit system. Click "DETECT" to find your location and set your time zone and unit system based on that location. If you'd rather not send your location, you can set these values manually.
+
+
+
+Set your location, time zone, and unit system.
+
+
+Once you are done, click Next. In this screen, Home Assistant will show any devices that it has discovered on your network. Don't be alarmed if you see fewer items than what is shown below; you can always manually add devices later.
+
+
+
+Discovery of devices on your network.
+
+
+Finally, click Finish. Now you're brought to the Home Assistant web interface. This screen will show all of your devices. So let's get that screen filled up!
+
+
+
+The Home Assistant user interface.
+
+
+Click on Configuration in the sidebar on the left. On the next screen, click on Integrations. At this screen you will be able to set up integrations with Home Assistant. You might notice a "discovered" section. This section contains integrations that were found on your network and can easily be added with a few clicks. If your integrations are not discovered, click the + button in the lower right and search for your integration in that list.
@@ -18,6 +42,6 @@ The integrations page in the configurations panel shows you all your configured
When each integration is done setting up, it will ask you to put the new devices in areas. Areas allow you to organize all the devices in your home.
-When you're done, navigate back to the states panel and voila, your devices are ready for you to control.
+When you're done, navigate back to the web interface and voila, your devices are ready for you to control.
### [Next step: Automate Home Assistant »](/getting-started/automation/)
diff --git a/source/getting-started/presence-detection.markdown b/source/getting-started/presence-detection.markdown
index 548b4090dc8..21eb5c2502c 100644
--- a/source/getting-started/presence-detection.markdown
+++ b/source/getting-started/presence-detection.markdown
@@ -17,11 +17,10 @@ Screenshot of Home Assistant showing a school, work and home zone and two people
There are different ways of setting up presence detection. Usually the easiest way to detect presence is by checking which devices are connected to the network. You can do that if you have one of our [supported routers][routers]. By leveraging what your router already knows, you can easily detect if people are at home.
-It's also possible to run an app on your phone to provide detailed location information to your Home Assistant instance. If you're on iOS we suggest to use the [Home Assistant iOS app](/ios/). For Android, we suggest [OwnTracks][ha-owntracks].
+It's also possible to run an app on your phone to provide detailed location information to your Home Assistant instance. For iOS and Android, we suggest using the [Home Assistant Companion app][companion].
+
+During the setup of Home Assistant Companion on your mobile device, the app will ask for permission to allow the device's location to be provided to Home Assistant. Allowing this will create a `device_tracker` entity for that device which can be used in automations and conditions.
-
-
-
### Zones
@@ -37,7 +36,6 @@ The map view will hide all devices that are home.
[nmap]: /integrations/nmap_tracker
[ha-bluetooth]: /integrations/bluetooth_tracker
[ha-bluetooth-le]: /integrations/bluetooth_le_tracker
-[ha-owntracks]: /integrations/owntracks/
[ha-locative]: /integrations/locative
[ha-gpslogger]: /integrations/gpslogger
[ha-presence]: /integrations/#presence-detection
@@ -47,5 +45,6 @@ The map view will hide all devices that are home.
[trigger]: /getting-started/automation-trigger/#zone-trigger
[condition]: /getting-started/automation-condition/#zone-condition
[ha-map]: /integrations/map/
+[companion]: https://companion.home-assistant.io/
### [Next step: Join the Community »](/getting-started/join-the-community/)
diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown
index d11d99f570c..10fd6064656 100644
--- a/source/hassio/installation.markdown
+++ b/source/hassio/installation.markdown
@@ -11,12 +11,11 @@ The following will take you through the steps required to install Hass.io.
- [Raspberry Pi 3 Model B and B+ 32bit][pi3-32] (recommended)
- [Raspberry Pi 3 Model B and B+ 64bit][pi3-64]
- - [(RC) Raspberry Pi 4 Model B 32bit][pi4-32] (recommended)
- - [(RC) Raspberry Pi 4 Model B 64bit][pi4-64]
+ - [Raspberry Pi 4 Model B 32bit][pi4-32] (recommended)
+ - [Raspberry Pi 4 Model B 64bit][pi4-64]
- [Tinkerboard][tinker]
- [Odroid-C2][odroid-c2]
- [Odroid-XU4][odroid-xu4]
- - [OrangePi-Prime][opi-prime]
- [Intel-Nuc][intel-nuc]
- As a virtual appliance:
@@ -26,6 +25,12 @@ The following will take you through the steps required to install Hass.io.
- [VDI][vdi]
- [OVA][Virtual Appliance] (not available at this time!)
+ - Not recommended Hardware:
+
+ - [Raspberry Pi][pi1]
+ - [Raspberry Pi Zero-W][pi0-w]
+ - [Raspberry Pi 2][pi2]
+
2. Install Hass.io:
- Flash the downloaded image to an SD card using [balenaEtcher][balenaEtcher]. If using a Pi we recommend at least a 32 GB SD card to avoid running out of space. On Virtual machine platforms, provide at least 32 GB of disk space for the VM.
@@ -33,7 +38,7 @@ The following will take you through the steps required to install Hass.io.
3. Optional - set up the WiFi or static IP. There are two possible places for that:
- on a blank USB stick with a FAT32 partition having partition label `CONFIG`, while in its root directory, create the `network/my-network` file, or
- - on the Hassio SD card's first, bootable partition (labeled `hassio-boot`, might not be auto mounted in Linux) create the `CONFIG/network/my-network` file.
+ - on the Hass.io SD card's first, bootable partition (labeled `hassio-boot`, might not be auto mounted in Linux) create the `CONFIG/network/my-network` file.
For the content of this file, follow the [HassOS howto][hassos-network].
@@ -45,7 +50,7 @@ The following will take you through the steps required to install Hass.io.
6. You will be able to reach your installation at `http://hassio.local:8123` (if your router supports mDNS, otherwise see below).
-7. Enable either the [Samba add-on][samba] or the [SSH add-on][ssh] to manage your configuration in `/config/` (From the UI choose **Hass.io** which is located in the sidebar).
+7. It is important to provide yourself proper access, including the Hass.io CLI tools. Both the [Samba add-on][samba] and the [SSH add-on][ssh] should be the first add-ons you should install, before making changes to the configuration in the `/config/` folder. From the UI choose **Hass.io**, which is located in the sidebar and then the add-on store.
@@ -202,21 +207,20 @@ A detailed guide about running Hass.io as a virtual machine is available in the
[balenaEtcher]: https://www.balena.io/etcher
[Virtual Appliance]: https://github.com/home-assistant/hassos/blob/dev/Documentation/boards/ova.md
[hassos-network]: https://github.com/home-assistant/hassos/blob/dev/Documentation/network.md
-[pi0-w]: https://github.com/home-assistant/hassos/releases/download/2.12/hassos_rpi0-w-2.12.img.gz
-[pi1]: https://github.com/home-assistant/hassos/releases/download/2.12/hassos_rpi-2.12.img.gz
-[pi2]: https://github.com/home-assistant/hassos/releases/download/2.12/hassos_rpi2-2.12.img.gz
-[pi3-32]: https://github.com/home-assistant/hassos/releases/download/2.12/hassos_rpi3-2.12.img.gz
-[pi3-64]: https://github.com/home-assistant/hassos/releases/download/2.12/hassos_rpi3-64-2.12.img.gz
-[pi4-32]: https://github.com/home-assistant/hassos/releases/download/3.5/hassos_rpi4-3.5.img.gz
-[pi4-64]: https://github.com/home-assistant/hassos/releases/download/3.5/hassos_rpi4-64-3.5.img.gz
-[tinker]: https://github.com/home-assistant/hassos/releases/download/2.12/hassos_tinker-2.12.img.gz
-[odroid-c2]: https://github.com/home-assistant/hassos/releases/download/2.12/hassos_odroid-c2-2.12.img.gz
-[odroid-xu4]: https://github.com/home-assistant/hassos/releases/download/2.12/hassos_odroid-xu4-2.12.img.gz
-[opi-prime]: https://github.com/home-assistant/hassos/releases/download/2.12/hassos_opi-prime-2.12.img.gz
-[intel-nuc]: https://github.com/home-assistant/hassos/releases/download/2.12/hassos_intel-nuc-2.12.img.gz
-[vmdk]: https://github.com/home-assistant/hassos/releases/download/2.12/hassos_ova-2.12.vmdk.gz
-[vhdx]: https://github.com/home-assistant/hassos/releases/download/2.12/hassos_ova-2.12.vhdx.gz
-[vdi]: https://github.com/home-assistant/hassos/releases/download/2.12/hassos_ova-2.12.vdi.gz
+[pi0-w]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_rpi0-w-3.7.img.gz
+[pi1]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_rpi-3.7.img.gz
+[pi2]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_rpi2-3.7.img.gz
+[pi3-32]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_rpi3-3.7.img.gz
+[pi3-64]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_rpi3-64-3.7.img.gz
+[pi4-32]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_rpi4-3.7.img.gz
+[pi4-64]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_rpi4-64-3.7.img.gz
+[tinker]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_tinker-3.7.img.gz
+[odroid-c2]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_odroid-c2-3.7.img.gz
+[odroid-xu4]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_odroid-xu4-3.7.img.gz
+[intel-nuc]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_intel-nuc-3.7.img.gz
+[vmdk]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_ova-3.7.vmdk.gz
+[vhdx]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_ova-3.7.vhdx.gz
+[vdi]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_ova-3.7.vdi.gz
[linux]: https://github.com/home-assistant/hassio-installer
[local]: http://hassio.local:8123
[samba]: /addons/samba/
diff --git a/source/images/blog/2019-12-hassos-release-3/blogpost.png b/source/images/blog/2019-12-hassos-release-3/blogpost.png
new file mode 100644
index 00000000000..a0562dde18e
Binary files /dev/null and b/source/images/blog/2019-12-hassos-release-3/blogpost.png differ
diff --git a/source/images/getting-started/action.png b/source/images/getting-started/action.png
new file mode 100644
index 00000000000..713984285ec
Binary files /dev/null and b/source/images/getting-started/action.png differ
diff --git a/source/images/getting-started/automation-editor.png b/source/images/getting-started/automation-editor.png
new file mode 100644
index 00000000000..75c95333a66
Binary files /dev/null and b/source/images/getting-started/automation-editor.png differ
diff --git a/source/images/getting-started/automation-new-action.png b/source/images/getting-started/automation-new-action.png
deleted file mode 100644
index bd87cdf0fe1..00000000000
Binary files a/source/images/getting-started/automation-new-action.png and /dev/null differ
diff --git a/source/images/getting-started/automation-new-blank.png b/source/images/getting-started/automation-new-blank.png
deleted file mode 100644
index adc63eaba9a..00000000000
Binary files a/source/images/getting-started/automation-new-blank.png and /dev/null differ
diff --git a/source/images/getting-started/automation-new-name-trigger.png b/source/images/getting-started/automation-new-name-trigger.png
deleted file mode 100644
index 1633c64978c..00000000000
Binary files a/source/images/getting-started/automation-new-name-trigger.png and /dev/null differ
diff --git a/source/images/getting-started/devices.png b/source/images/getting-started/devices.png
new file mode 100644
index 00000000000..e8221e31f52
Binary files /dev/null and b/source/images/getting-started/devices.png differ
diff --git a/source/images/getting-started/integrations.png b/source/images/getting-started/integrations.png
index d582d25eb5d..726ef48d143 100644
Binary files a/source/images/getting-started/integrations.png and b/source/images/getting-started/integrations.png differ
diff --git a/source/images/getting-started/location.png b/source/images/getting-started/location.png
new file mode 100644
index 00000000000..2ab3f2ea87c
Binary files /dev/null and b/source/images/getting-started/location.png differ
diff --git a/source/images/getting-started/lovelace.png b/source/images/getting-started/lovelace.png
new file mode 100644
index 00000000000..502e224853b
Binary files /dev/null and b/source/images/getting-started/lovelace.png differ
diff --git a/source/images/getting-started/new-automation.png b/source/images/getting-started/new-automation.png
new file mode 100644
index 00000000000..b2766bdd2b5
Binary files /dev/null and b/source/images/getting-started/new-automation.png differ
diff --git a/source/images/getting-started/new-trigger.png b/source/images/getting-started/new-trigger.png
new file mode 100644
index 00000000000..442e0d6cd32
Binary files /dev/null and b/source/images/getting-started/new-trigger.png differ
diff --git a/source/images/getting-started/username.png b/source/images/getting-started/username.png
new file mode 100644
index 00000000000..eda8ed37fc6
Binary files /dev/null and b/source/images/getting-started/username.png differ
diff --git a/source/images/supported_brands/bizkaibus.png b/source/images/supported_brands/bizkaibus.png
old mode 100755
new mode 100644
diff --git a/source/images/supported_brands/brother.png b/source/images/supported_brands/brother.png
new file mode 100644
index 00000000000..78396fd914e
Binary files /dev/null and b/source/images/supported_brands/brother.png differ
diff --git a/source/images/supported_brands/elgato.jpg b/source/images/supported_brands/elgato.jpg
new file mode 100644
index 00000000000..02074bc40de
Binary files /dev/null and b/source/images/supported_brands/elgato.jpg differ
diff --git a/source/images/supported_brands/gios.png b/source/images/supported_brands/gios.png
new file mode 100644
index 00000000000..ecf74ab70d1
Binary files /dev/null and b/source/images/supported_brands/gios.png differ
diff --git a/source/images/supported_brands/gpslogger.png b/source/images/supported_brands/gpslogger.png
old mode 100755
new mode 100644
diff --git a/source/images/supported_brands/intesishome.png b/source/images/supported_brands/intesishome.png
new file mode 100644
index 00000000000..88733475338
Binary files /dev/null and b/source/images/supported_brands/intesishome.png differ
diff --git a/source/images/supported_brands/kef.png b/source/images/supported_brands/kef.png
new file mode 100644
index 00000000000..3eb73f3a3e2
Binary files /dev/null and b/source/images/supported_brands/kef.png differ
diff --git a/source/images/supported_brands/repetier.png b/source/images/supported_brands/repetier.png
old mode 100755
new mode 100644
diff --git a/source/images/supported_brands/saj.png b/source/images/supported_brands/saj.png
old mode 100755
new mode 100644
diff --git a/source/images/supported_brands/sentry.png b/source/images/supported_brands/sentry.png
new file mode 100644
index 00000000000..29b637d5264
Binary files /dev/null and b/source/images/supported_brands/sentry.png differ
diff --git a/source/images/supported_brands/signal_messenger.png b/source/images/supported_brands/signal_messenger.png
new file mode 100644
index 00000000000..c8cbb4ea03b
Binary files /dev/null and b/source/images/supported_brands/signal_messenger.png differ
diff --git a/source/images/supported_brands/stookalert.png b/source/images/supported_brands/stookalert.png
new file mode 100644
index 00000000000..8f01864ca96
Binary files /dev/null and b/source/images/supported_brands/stookalert.png differ
diff --git a/source/images/supported_brands/tmb.png b/source/images/supported_brands/tmb.png
new file mode 100644
index 00000000000..0606dd3f180
Binary files /dev/null and b/source/images/supported_brands/tmb.png differ
diff --git a/source/ios/index.markdown b/source/ios/index.markdown
index 7d9688739bf..82cab817984 100644
--- a/source/ios/index.markdown
+++ b/source/ios/index.markdown
@@ -4,4 +4,4 @@ description: "Landing page for Home Assistant iOS app."
---
-
+
diff --git a/source/lovelace/views.markdown b/source/lovelace/views.markdown
index 1ab6ed6ec44..aad366c3b48 100644
--- a/source/lovelace/views.markdown
+++ b/source/lovelace/views.markdown
@@ -85,7 +85,7 @@ View config:
## Paths
-You can link to one view from another view by its path. For this use cards that support navigation (`navigation_path`). Do not use special characters in paths.
+You can link to one view from another view by its path. For this use cards that support navigation (`navigation_path`). Do not use special characters in paths. Do not begin a path with a number. This will cause the parser to read your path as a view index.
### Example
diff --git a/source/lovelace/yaml-mode.markdown b/source/lovelace/yaml-mode.markdown
index e05d2ecb584..ef586d091e7 100644
--- a/source/lovelace/yaml-mode.markdown
+++ b/source/lovelace/yaml-mode.markdown
@@ -1,16 +1,28 @@
---
title: "Lovelace YAML mode"
-description: "Advanced users can switch on the advanced YAML mode."
+description: "Advanced users can switch on YAML mode for editing the Lovelace UI."
---
-It is possible to write your Lovelace config in YAML instead of via the UI. To do so, you will need to configure the Lovelace integration to be in yaml mode by adding the following to your `configuration.yaml`:
+It is possible to customize your Home Assistant interface by writing in YAML instead of via the UI. To do so, you configure the Lovelace integration to be in yaml mode by adding the following to your `configuration.yaml`:
```yaml
lovelace:
mode: yaml
```
-Restart Home Assistant for the mode to be changed. Create a new file `/ui-lovelace.yaml` and add the following content. Adjust the entity names to entities that exist in your Home Assistant installation.
+Restart Home Assistant for the mode to be changed. Create a new file `/ui-lovelace.yaml` and add your Lovelace configuration. A good way to start this file is to copy and paste the "Raw config" from the UI so your manual configuration starts the same as your existing UI.
+
+- Go into the `Overview` tab.
+- Click the three dots menu (top-right) and click on `Configure UI`.
+- Click the three dots menu again and click on `Raw config editor`.
+- There you see the config for your current Lovelace UI. Copy that into the `/ui-lovelace.yaml` file.
+
+Once you take control of your UI via YAML, the Home Assistant interface for modifying it won't be available anymore and new entities will not automatically be added to your UI.
+
+When you make changes to `ui-lovelace.yaml`, you don't have to restart Home Assistant or refresh the page. Just hit the refresh button in the menu at the top of the UI.
+
+To revert back to using the UI to edit your Lovelace interface, remove the `lovelace` section from your `configuration.yaml` and copy the contents of your `ui-lovelace.yaml` into the raw config section of Home Assistant and restart.
+
As a super minimal example, here's the bare minimum you will need for this to work:
@@ -87,14 +99,3 @@ views:
content: >
Welcome to your **Lovelace UI**.
```
-
-Your previously customized Lovelace UI won't be modifiable anymore and won't follow after you start writing code in the `/ui-lovelace.yaml` file, but you can easily import it if you wish.
-
- - Go in the `Overview` tab.
- - Go in the three dots menu (top-right) and click on `Configure UI`.
- - Go in the three dots menu again and click on `Raw config editor`.
- - There you see the config for your actual Lovelace UI, you can copy that into the `/ui-lovelace.yaml` file.
-
-Navigate to `/lovelace`. When you make changes to `ui-lovelace.yaml`, you don't have to restart Home Assistant or refresh the page. Just hit the refresh button in the menu at the top of the UI.
-
-To revert back to using the UI to edit your Lovelace interface, remove the `lovelace` sections from your `configuration.yaml` and copy the contents of your `ui-lovelace.yaml` into the raw config section of Home Assistant and restart.