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. Graphic showing an example of sun conditions ### 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 -%}
Quality Scale: - {%- if page.ha_qa_scale == 'platinum' -%} + {%- if page.ha_quality_scale == 'platinum' -%} šŸ† (platinum) - {%- elsif page.ha_qa_scale == 'gold' -%} + {%- elsif page.ha_quality_scale == 'gold' -%} šŸ„‡ (gold) - {%- elsif page.ha_qa_scale == 'silver' -%} + {%- elsif page.ha_quality_scale == 'silver' -%} 🄈 (silver) - {%- elsif page.ha_qa_scale == 'internal' -%} + {%- elsif page.ha_quality_scale == 'internal' -%} šŸ  (internal) {%- endif -%} diff --git a/source/_includes/asides/docs_navigation.html b/source/_includes/asides/docs_navigation.html index 8f54340183b..5d7c4855a38 100644 --- a/source/_includes/asides/docs_navigation.html +++ b/source/_includes/asides/docs_navigation.html @@ -349,7 +349,7 @@
  • {% active_link /docs/ecosystem/synology/ Synology %}
  • - {% active_link /docs/ecosystem/hass-configurator/ HASS Configurator + {% active_link /docs/ecosystem/hass-configurator/ Configurator %}
  • 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.
    diff --git a/source/_integrations/familyhub.markdown b/source/_integrations/familyhub.markdown index 27fdf1dcfee..99495110570 100644 --- a/source/_integrations/familyhub.markdown +++ b/source/_integrations/familyhub.markdown @@ -1,10 +1,10 @@ --- -title: "Family Hub Camera" -description: "Instructions on how to integrate Samsung Family Hub refrigerator cameras within Home Assistant." +title: Samsung Family Hub +description: Instructions on how to integrate Samsung Family Hub refrigerator cameras within Home Assistant. logo: familyhub.png ha_category: - Camera -ha_release: "0.70" +ha_release: '0.70' ha_iot_class: Local Polling --- diff --git a/source/_integrations/fan.markdown b/source/_integrations/fan.markdown index cdf478a8211..9b1bf790465 100644 --- a/source/_integrations/fan.markdown +++ b/source/_integrations/fan.markdown @@ -1,11 +1,11 @@ --- -title: "Fan" -description: "Instructions on how to setup Fan devices within Home Assistant." +title: Fan +description: Instructions on how to setup Fan devices within Home Assistant. logo: home-assistant.png ha_category: - Fan -ha_qa_scale: internal ha_release: 0.27 +ha_quality_scale: internal --- The `fan` integration is built for the controlling of fan devices. diff --git a/source/_integrations/fan.template.markdown b/source/_integrations/fan.template.markdown index 9f1cef8b046..5f44f08c756 100644 --- a/source/_integrations/fan.template.markdown +++ b/source/_integrations/fan.template.markdown @@ -6,7 +6,7 @@ ha_category: ha_release: 0.69 ha_iot_class: Local Push logo: home-assistant.png -ha_qa_scale: internal +ha_quality_scale: internal --- The `template` platform creates fans that combine integrations and provides the diff --git a/source/_integrations/fastdotcom.markdown b/source/_integrations/fastdotcom.markdown index ba875c36483..c59a327bef9 100644 --- a/source/_integrations/fastdotcom.markdown +++ b/source/_integrations/fastdotcom.markdown @@ -1,12 +1,14 @@ --- -title: "Fast.com" -description: "How to integrate Fast.com within Home Assistant." +title: Fast.com +description: How to integrate Fast.com within Home Assistant. logo: fastdotcom.png ha_category: - System Monitor - Sensor ha_release: 0.88 ha_iot_class: Cloud Polling +ha_codeowners: + - '@rohankapoorcom' --- The `fastdotcom` integration uses the [Fast.com](https://fast.com/) web service to measure network bandwidth performance. @@ -75,6 +77,6 @@ action: ## Notes -- When running on Raspberry Pi, the maximum speed is limited by its 100 Mbit/s LAN adapter. +- When running on Raspberry Pi 3 or older, the maximum speed is limited by its 100 Mbit/s LAN adapter. - The sensor will return the maximum measured speed during a 15-second test. - Speed tests consume data depending on your internet speed, make sure to consider this if your internet connection has limited bandwidth. diff --git a/source/_integrations/feedreader.markdown b/source/_integrations/feedreader.markdown index 98b1b7fcd6d..d96dee2b265 100644 --- a/source/_integrations/feedreader.markdown +++ b/source/_integrations/feedreader.markdown @@ -1,6 +1,6 @@ --- title: Feedreader -description: "Instructions on how to integrate RSS feeds into Home Assistant." +description: Instructions on how to integrate RSS feeds into Home Assistant. logo: rss.gif ha_category: - Other diff --git a/source/_integrations/ffmpeg.markdown b/source/_integrations/ffmpeg.markdown index 48219e79d7b..61ca3b6948f 100644 --- a/source/_integrations/ffmpeg.markdown +++ b/source/_integrations/ffmpeg.markdown @@ -1,6 +1,6 @@ --- -title: "FFmpeg" -description: "Instructions on how to integrate FFmpeg within Home Assistant." +title: FFmpeg +description: Instructions on how to integrate FFmpeg within Home Assistant. logo: ffmpeg.png ha_category: - Image Processing diff --git a/source/_integrations/ffmpeg_motion.markdown b/source/_integrations/ffmpeg_motion.markdown index 08d0cd8a668..2e24019ddc7 100644 --- a/source/_integrations/ffmpeg_motion.markdown +++ b/source/_integrations/ffmpeg_motion.markdown @@ -1,6 +1,6 @@ --- -title: "FFmpeg Motion Binary Sensor" -description: "Instructions on how to integrate an FFmpeg-based motion binary sensor" +title: FFmpeg Motion +description: Instructions on how to integrate an FFmpeg-based motion binary sensor logo: ffmpeg.png ha_category: - Image Processing diff --git a/source/_integrations/ffmpeg_noise.markdown b/source/_integrations/ffmpeg_noise.markdown index 2f269a7b509..0cf0085bcaa 100644 --- a/source/_integrations/ffmpeg_noise.markdown +++ b/source/_integrations/ffmpeg_noise.markdown @@ -1,6 +1,6 @@ --- -title: "FFmpeg Noise Binary Sensor" -description: "Instructions on how to integrate an FFmpeg-based noise binary sensor" +title: FFmpeg Noise +description: Instructions on how to integrate an FFmpeg-based noise binary sensor logo: ffmpeg.png ha_category: - Image Processing diff --git a/source/_integrations/fibaro.markdown b/source/_integrations/fibaro.markdown index ddea890a6b7..230fa166660 100644 --- a/source/_integrations/fibaro.markdown +++ b/source/_integrations/fibaro.markdown @@ -1,6 +1,6 @@ --- -title: "Fibaro" -description: "Instructions on how to setup Fibaro Z-Wave hubs (HCL and HC2) and configure devices within Home Assistant." +title: Fibaro +description: Instructions on how to setup Fibaro Z-Wave hubs (HCL and HC2) and configure devices within Home Assistant. logo: fibaro.png ha_category: - Hub diff --git a/source/_integrations/fido.markdown b/source/_integrations/fido.markdown index 0f615b4db6b..5b506ed2ffb 100644 --- a/source/_integrations/fido.markdown +++ b/source/_integrations/fido.markdown @@ -1,6 +1,6 @@ --- -title: "Fido Sensor" -description: "Instructions on how to integrate Fido data usage within Home Assistant." +title: Fido +description: Instructions on how to integrate Fido data usage within Home Assistant. logo: fido.png ha_category: - Network diff --git a/source/_integrations/file.markdown b/source/_integrations/file.markdown index 750767b1de4..77d39890408 100644 --- a/source/_integrations/file.markdown +++ b/source/_integrations/file.markdown @@ -1,6 +1,6 @@ --- -title: "File" -description: "Instructions on how to integrate sensors which read from files into Home Assistant." +title: File +description: Instructions on how to integrate sensors which read from files into Home Assistant. logo: file.png ha_category: - Utility @@ -8,6 +8,8 @@ ha_category: - Sensor ha_release: pre 0.7 ha_iot_class: Local Polling +ha_codeowners: + - '@fabaff' --- There is currently support for the following device types within Home Assistant: diff --git a/source/_integrations/filesize.markdown b/source/_integrations/filesize.markdown index 81e1fdcff92..bedeb2aaca1 100644 --- a/source/_integrations/filesize.markdown +++ b/source/_integrations/filesize.markdown @@ -1,6 +1,6 @@ --- -title: "File size Sensor" -description: "Component for monitoring the size of a file." +title: File Size +description: Component for monitoring the size of a file. logo: file.png ha_category: - Utility diff --git a/source/_integrations/filter.markdown b/source/_integrations/filter.markdown index efe9cbc344f..4d35aa95a52 100644 --- a/source/_integrations/filter.markdown +++ b/source/_integrations/filter.markdown @@ -1,12 +1,14 @@ --- -title: "Filter Sensor" -description: "Instructions on how to integrate Data Filter Sensors into Home Assistant." +title: Filter +description: Instructions on how to integrate Data Filter Sensors into Home Assistant. ha_category: - Utility ha_release: 0.65 ha_iot_class: Local Push logo: home-assistant.png -ha_qa_scale: internal +ha_quality_scale: internal +ha_codeowners: + - '@dgomes' --- The `filter` platform enables sensors that process the states of other entities. diff --git a/source/_integrations/fints.markdown b/source/_integrations/fints.markdown index 50fe88040f7..b90521aca08 100644 --- a/source/_integrations/fints.markdown +++ b/source/_integrations/fints.markdown @@ -1,9 +1,9 @@ --- -title: "FinTS Sensor" -description: "Instructions on how to use the FinTS sensor." +title: FinTS +description: Instructions on how to use the FinTS sensor. ha_category: - Finance -ha_release: "0.70" +ha_release: '0.70' ha_iot_class: Local Push --- diff --git a/source/_integrations/fitbit.markdown b/source/_integrations/fitbit.markdown index 579273763bf..db81c98aab0 100644 --- a/source/_integrations/fitbit.markdown +++ b/source/_integrations/fitbit.markdown @@ -1,11 +1,13 @@ --- -title: "Fitbit" -description: "Instructions on how to integrate Fitbit devices within Home Assistant." +title: Fitbit +description: Instructions on how to integrate Fitbit devices within Home Assistant. logo: fitbit.png ha_category: - Health ha_iot_class: Cloud Polling ha_release: 0.19 +ha_codeowners: + - '@robbiet480' --- The Fitbit sensor allows you to expose data from [Fitbit](https://fitbit.com/) to Home Assistant. diff --git a/source/_integrations/fixer.markdown b/source/_integrations/fixer.markdown index 0a6f9d94711..4062ff6c630 100644 --- a/source/_integrations/fixer.markdown +++ b/source/_integrations/fixer.markdown @@ -1,14 +1,15 @@ --- -title: "Fixer.io" -description: "Instructions on how to integrate exchange rates from Fixer.io within Home Assistant." +title: Fixer +description: Instructions on how to integrate exchange rates from Fixer.io within Home Assistant. ha_category: - Finance logo: fixer-io.png ha_iot_class: Cloud Polling ha_release: 0.23 +ha_codeowners: + - '@fabaff' --- - The `fixer` sensor will show you the current exchange rate from [Fixer.io](https://fixer.io/) which is using data from the [European Central Bank (ECB)](https://www.ecb.europa.eu). To get an overview about the available [currencies](https://fixer.io/symbols). diff --git a/source/_integrations/fleetgo.markdown b/source/_integrations/fleetgo.markdown index 9db3ebd72db..a438f74dbc3 100644 --- a/source/_integrations/fleetgo.markdown +++ b/source/_integrations/fleetgo.markdown @@ -1,6 +1,6 @@ --- -title: "FleetGO" -description: "Instructions on how to use a FleetGO as a device tracker." +title: FleetGO +description: Instructions on how to use a FleetGO as a device tracker. logo: fleetgo.png ha_category: - Car diff --git a/source/_integrations/flexit.markdown b/source/_integrations/flexit.markdown index eccec0f2748..38f9184d17b 100644 --- a/source/_integrations/flexit.markdown +++ b/source/_integrations/flexit.markdown @@ -1,6 +1,6 @@ --- -title: "Flexit A/C controller" -description: "Instructions on how to integrate Flexit A/C unit into Home Assistant." +title: Flexit +description: Instructions on how to integrate Flexit A/C unit into Home Assistant. logo: flexit.png ha_category: - Climate diff --git a/source/_integrations/flic.markdown b/source/_integrations/flic.markdown index d8b00f617a4..6218c34b118 100644 --- a/source/_integrations/flic.markdown +++ b/source/_integrations/flic.markdown @@ -1,6 +1,6 @@ --- -title: Flic Smart Button -description: "Instructions on how to integrate flic buttons within Home Assistant." +title: Flic +description: Instructions on how to integrate flic buttons within Home Assistant. logo: flic.png ha_category: - Binary Sensor diff --git a/source/_integrations/flock.markdown b/source/_integrations/flock.markdown index d063c7ce527..129383a277d 100644 --- a/source/_integrations/flock.markdown +++ b/source/_integrations/flock.markdown @@ -1,13 +1,14 @@ --- -title: "Flock" -description: "Instructions on how to add Flock notifications to Home Assistant." +title: Flock +description: Instructions on how to add Flock notifications to Home Assistant. logo: flock.png ha_category: - Notifications ha_release: 0.71 +ha_codeowners: + - '@fabaff' --- - The `flock` platform uses [Flock.com](https://flock.com) to deliver notifications from Home Assistant. ## Setup diff --git a/source/_integrations/flume.markdown b/source/_integrations/flume.markdown index 5fe1f561eb7..cf5d8aae048 100644 --- a/source/_integrations/flume.markdown +++ b/source/_integrations/flume.markdown @@ -1,11 +1,13 @@ --- -title: "flume" -description: "Documentation about the flume sensor." +title: flume +description: Documentation about the flume sensor. logo: flume.jpg ha_category: - Sensor ha_iot_class: Cloud Polling ha_release: 0.103 +ha_codeowners: + - '@ChrisMandich' --- The `flume` sensor will show you the current [flume](https://portal.flumetech.com/) status for the given Device ID. @@ -14,7 +16,7 @@ Flume monitors the real-time status of your home water meter. Allowing the end-u ## Configuration -You can find your Client ID and Client Secret under "API Access" on the [settings page](https://https://portal.flumetech.com/#settings). +You can find your Client ID and Client Secret under "API Access" on the [settings page](https://portal.flumetech.com/#settings). To enable the flume sensor, add the following lines to your `configuration.yaml` file: diff --git a/source/_integrations/flunearyou.markdown b/source/_integrations/flunearyou.markdown index 4407c9241b0..f3b2ab49a17 100644 --- a/source/_integrations/flunearyou.markdown +++ b/source/_integrations/flunearyou.markdown @@ -1,11 +1,13 @@ --- -title: "Flu Near You" -description: "Instructions on how to use Flu Near You data within Home Assistant" +title: Flu Near You +description: Instructions on how to use Flu Near You data within Home Assistant logo: flunearyou.png ha_category: - Health ha_release: 0.83 ha_iot_class: Cloud Polling +ha_codeowners: + - '@bachya' --- The `flunearyou` sensor platform allows users in the United States and its diff --git a/source/_integrations/flux.markdown b/source/_integrations/flux.markdown index c888b5cee97..4605a6ad82b 100644 --- a/source/_integrations/flux.markdown +++ b/source/_integrations/flux.markdown @@ -1,11 +1,11 @@ --- -title: "Flux Light Adjustment" -description: "Instructions on how to have switches call command line commands." +title: Flux +description: Instructions on how to have switches call command line commands. ha_category: - Automation ha_release: 0.21 logo: home-assistant.png -ha_qa_scale: internal +ha_quality_scale: internal --- The `flux` switch platform will change the temperature of your lights similar to the way flux works on your computer, using circadian rhythm. They will be bright during the day, and gradually fade to a red/orange at night. The `flux` switch restores its last state after startup. diff --git a/source/_integrations/flux_led.markdown b/source/_integrations/flux_led.markdown index 13ae001d4f4..12d90b1a650 100644 --- a/source/_integrations/flux_led.markdown +++ b/source/_integrations/flux_led.markdown @@ -1,6 +1,6 @@ --- -title: "Flux Led/MagicLight" -description: "Instructions on how to setup Flux led/MagicLight within Home Assistant." +title: Flux LED/MagicLight +description: Instructions on how to setup Flux led/MagicLight within Home Assistant. logo: magic_light.png ha_category: - Light diff --git a/source/_integrations/folder.markdown b/source/_integrations/folder.markdown index 27b52d18ebd..20336e6cb83 100644 --- a/source/_integrations/folder.markdown +++ b/source/_integrations/folder.markdown @@ -1,6 +1,6 @@ --- -title: "Folder sensor" -description: "Sensor for monitoring the contents of a folder." +title: Folder +description: Sensor for monitoring the contents of a folder. logo: file.png ha_category: - Utility diff --git a/source/_integrations/folder_watcher.markdown b/source/_integrations/folder_watcher.markdown index 41e6de16f6f..c6637397c1c 100644 --- a/source/_integrations/folder_watcher.markdown +++ b/source/_integrations/folder_watcher.markdown @@ -1,12 +1,12 @@ --- -title: "Folder Watcher" -description: "Component for monitoring changes within the filesystem." +title: Folder Watcher +description: Component for monitoring changes within the filesystem. logo: home-assistant.png ha_category: - System Monitor ha_iot_class: Local Polling ha_release: 0.67 -ha_qa_scale: internal +ha_quality_scale: internal --- This integration adds [Watchdog](https://pythonhosted.org/watchdog/) file system monitoring, publishing events on the Home Assistant bus on the creation/deletion/modification of files within configured folders. The monitored `event_type` are: diff --git a/source/_integrations/foobot.markdown b/source/_integrations/foobot.markdown index 113747fce19..4fc9a3d4cf6 100644 --- a/source/_integrations/foobot.markdown +++ b/source/_integrations/foobot.markdown @@ -1,6 +1,6 @@ --- -title: "Foobot Air Quality Monitor" -description: "Instructions on how to setup Foobot Air Quality sensor in Home Assistant." +title: Foobot +description: Instructions on how to setup Foobot Air Quality sensor in Home Assistant. logo: foobot.png ha_category: - Health diff --git a/source/_integrations/fortigate.markdown b/source/_integrations/fortigate.markdown index a5e2b815d25..541fcfca958 100644 --- a/source/_integrations/fortigate.markdown +++ b/source/_integrations/fortigate.markdown @@ -1,11 +1,13 @@ --- -title: "Fortigate" -description: "Instructions on how to integrate FortiGate Firewalls into Home Assistant." +title: FortiGate +description: Instructions on how to integrate FortiGate Firewalls into Home Assistant. logo: fortinet.jpg ha_category: - Presence Detection ha_release: 0.97 ha_iot_class: Local Polling +ha_codeowners: + - '@kifeo' --- This is a FortiGate presence sensor based on device detection of the FortiGate API diff --git a/source/_integrations/fortios.markdown b/source/_integrations/fortios.markdown index 4ec9a0de4c0..2cf29b52dcd 100644 --- a/source/_integrations/fortios.markdown +++ b/source/_integrations/fortios.markdown @@ -1,11 +1,13 @@ --- -title: "Device Tracker FortiOS" -description: "Instructions on how to use Fortinet FortiOS to track devices in Home Assistant." +title: Home Assistant Device Tracker to support FortiOS +description: Instructions on how to use Fortinet FortiOS to track devices in Home Assistant. logo: fortinet.jpg ha_category: - Presence Detection ha_release: 0.97 ha_iot_class: Local Polling +ha_codeowners: + - '@kimfrellsen' --- This integration enables Home Assistant to do device tracking of devices with a MAC address connected to a FortiGate from [Fortinet](https://www.fortinet.com). diff --git a/source/_integrations/foscam.markdown b/source/_integrations/foscam.markdown index eda94f98cc5..a85e62b9a61 100644 --- a/source/_integrations/foscam.markdown +++ b/source/_integrations/foscam.markdown @@ -1,11 +1,13 @@ --- -title: "Foscam IP Camera" -description: "Instructions on how to integrate Foscam IP cameras within Home Assistant." +title: Foscam +description: Instructions on how to integrate Foscam IP cameras within Home Assistant. logo: foscam.png ha_category: - Camera ha_iot_class: Local Polling ha_release: 0.7.3 +ha_codeowners: + - '@skgsergio' --- The `foscam` platform allows you to watch the live stream of your [Foscam](https://www.foscam.com) IP camera in Home Assistant. diff --git a/source/_integrations/foursquare.markdown b/source/_integrations/foursquare.markdown index b008784e041..0a8c8b863d2 100644 --- a/source/_integrations/foursquare.markdown +++ b/source/_integrations/foursquare.markdown @@ -1,11 +1,13 @@ --- title: Foursquare -description: "Instructions on how to the Foursquare API into Home Assistant." +description: Instructions on how to the Foursquare API into Home Assistant. logo: foursquare.png ha_category: - Social ha_release: 0.26 ha_iot_class: Cloud Polling and Cloud Push +ha_codeowners: + - '@robbiet480' --- The `foursquare` integration accepts pushes from the Foursquare [Real-Time API](https://developer.foursquare.com/overview/realtime) and a service to check users in on Swarm. diff --git a/source/_integrations/free_mobile.markdown b/source/_integrations/free_mobile.markdown index 35e82eaa8bc..eacaecd716c 100644 --- a/source/_integrations/free_mobile.markdown +++ b/source/_integrations/free_mobile.markdown @@ -1,6 +1,6 @@ --- -title: "Free Mobile" -description: "Instructions on how to add user notifications to Home Assistant." +title: Free Mobile +description: Instructions on how to add user notifications to Home Assistant. logo: free_mobile.png ha_category: - Notifications diff --git a/source/_integrations/freebox.markdown b/source/_integrations/freebox.markdown index cfbd800d837..2762beae405 100644 --- a/source/_integrations/freebox.markdown +++ b/source/_integrations/freebox.markdown @@ -1,6 +1,6 @@ --- -title: "Freebox" -description: "Instructions on how to integrate Freebox routers into Home Assistant." +title: Freebox +description: Instructions on how to integrate Freebox routers into Home Assistant. logo: freebox.svg ha_category: - Network @@ -9,6 +9,8 @@ ha_category: - Switch ha_release: 0.85 ha_iot_class: Local Polling +ha_codeowners: + - '@snoof85' --- The `freebox` integration allows you to observe and control [Freebox router](https://www.free.fr/). @@ -62,7 +64,7 @@ The first time Home Assistant will connect to your Freebox, you will need to authorize it by pressing the right arrow on the facade of the Freebox when prompted to do so. -To make the WiFi switch working you will have to add "Modification des réglages de la Freebox +To make the WiFi switch and the reboot service working you will have to add "Modification des réglages de la Freebox " permission to Home Assistant application in "Paramètres de la Freebox" > "Gestion des accès" > "Applications". ### Supported routers @@ -94,6 +96,12 @@ refreshes the devices states. This platform offers you sensors to monitor a Freebox router. The monitored conditions are instant upload and download rates in KB/s. +## Service + +### Service `freebox.reboot` + +This service will reboot your Freebox router. It does not take any parameter. Be aware there is no confirmation. + ## Switch This platform offers you a switch to toggle the Wifi on or off. This will toggle all WiFi interfaces of the router (all SSID and all bands). diff --git a/source/_integrations/freedns.markdown b/source/_integrations/freedns.markdown index bf1dec6b950..902634fdda8 100644 --- a/source/_integrations/freedns.markdown +++ b/source/_integrations/freedns.markdown @@ -1,6 +1,6 @@ --- -title: "freedns.afraid.org" -description: "Keep your DNS record up to date with FreeDNS." +title: FreeDNS +description: Keep your DNS record up to date with FreeDNS. logo: afraid_freedns.png ha_category: - Network diff --git a/source/_integrations/fritz.markdown b/source/_integrations/fritz.markdown index d94d7f739fa..7cd6c869995 100644 --- a/source/_integrations/fritz.markdown +++ b/source/_integrations/fritz.markdown @@ -1,13 +1,12 @@ --- -title: "FRITZ!Box" -description: "Instructions on how to integrate AVM FRITZ!Box based routers into Home Assistant." +title: AVM Fritzbox +description: Instructions on how to integrate AVM FRITZ!Box based routers into Home Assistant. logo: avm.png ha_category: - Presence Detection -ha_release: "0.10" +ha_release: '0.10' --- - The `fritz` platform offers presence detection by looking at connected devices to a [AVM Fritz!Box](https://avm.de/produkte/fritzbox/) based router. ## Setup diff --git a/source/_integrations/fritzbox.markdown b/source/_integrations/fritzbox.markdown index 584bd17b633..b0a8578f463 100644 --- a/source/_integrations/fritzbox.markdown +++ b/source/_integrations/fritzbox.markdown @@ -1,6 +1,6 @@ --- -title: "Fritzbox" -description: "Instructions on how to integrate the AVM Fritzbox Smart Home components." +title: AVM FRITZ!Box +description: Instructions on how to integrate the AVM Fritzbox Smart Home components. logo: avm.png ha_category: - Binary Sensor diff --git a/source/_integrations/fritzbox_callmonitor.markdown b/source/_integrations/fritzbox_callmonitor.markdown index c0ddef3c2cf..575039a5f16 100644 --- a/source/_integrations/fritzbox_callmonitor.markdown +++ b/source/_integrations/fritzbox_callmonitor.markdown @@ -1,6 +1,6 @@ --- -title: "FRITZ!Box Call Monitor" -description: "Instructions on how to integrate a phone call monitor for AVM FRITZ!Box routers into Home Assistant." +title: AVM FRITZ!Box Call Monitor +description: Instructions on how to integrate a phone call monitor for AVM FRITZ!Box routers into Home Assistant. logo: avm.png ha_category: - System Monitor diff --git a/source/_integrations/fritzbox_netmonitor.markdown b/source/_integrations/fritzbox_netmonitor.markdown index 20297177ccd..8b1ec01035b 100644 --- a/source/_integrations/fritzbox_netmonitor.markdown +++ b/source/_integrations/fritzbox_netmonitor.markdown @@ -1,6 +1,6 @@ --- -title: "FRITZ!Box Net Monitor" -description: "Instructions on how to integrate an AVM FRITZ!Box monitor into Home Assistant." +title: AVM FRITZ!Box Net Monitor +description: Instructions on how to integrate an AVM FRITZ!Box monitor into Home Assistant. logo: avm.png ha_category: - System Monitor diff --git a/source/_integrations/fritzdect.markdown b/source/_integrations/fritzdect.markdown index e7b40fa340a..fecd6d02838 100644 --- a/source/_integrations/fritzdect.markdown +++ b/source/_integrations/fritzdect.markdown @@ -1,6 +1,6 @@ --- -title: "AVM FRITZ!DECT Switch" -description: "Instructions on how to integrate your AVM FRITZ!DECT switches into Home Assistant." +title: AVM FRITZ!DECT +description: Instructions on how to integrate your AVM FRITZ!DECT switches into Home Assistant. logo: avm.png ha_category: - Switch diff --git a/source/_integrations/fronius.markdown b/source/_integrations/fronius.markdown index abcc86f3f80..d4e0ff7f2c3 100644 --- a/source/_integrations/fronius.markdown +++ b/source/_integrations/fronius.markdown @@ -1,12 +1,14 @@ --- -title: "Fronius" -description: "Instructions on how to connect your Fronius Inverter to Home Assistant." +title: Fronius +description: Instructions on how to connect your Fronius Inverter to Home Assistant. ha_category: - Energy - Sensor logo: fronius.png ha_iot_class: Local Polling ha_release: 0.96 +ha_codeowners: + - '@nielstron' --- The `fronius` sensor polls a [Fronius](https://www.fronius.com/) solar inverter, battery system or smart meter and present the values as sensors in Home Assistant. diff --git a/source/_integrations/frontend.markdown b/source/_integrations/frontend.markdown index 2abaf4600fd..28cf66bb6a4 100644 --- a/source/_integrations/frontend.markdown +++ b/source/_integrations/frontend.markdown @@ -1,11 +1,13 @@ --- -title: "Frontend" -description: "Offers a frontend to Home Assistant." +title: Home Assistant Frontend +description: Offers a frontend to 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/frontend' --- This offers the official frontend to control Home Assistant. This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually: diff --git a/source/_integrations/frontier_silicon.markdown b/source/_integrations/frontier_silicon.markdown index 566cc2202ef..4a1ec98a9cd 100644 --- a/source/_integrations/frontier_silicon.markdown +++ b/source/_integrations/frontier_silicon.markdown @@ -1,11 +1,11 @@ --- -title: "Frontier Silicon Internet Radios" -description: "Instructions on how to integrate Frontier Silicon Internet Radios into Home Assistant." +title: Frontier Silicon +description: Instructions on how to integrate Frontier Silicon Internet Radios into Home Assistant. logo: frontier.png ha_category: - Media Player ha_iot_class: Local Push -ha_release: "0.40" +ha_release: '0.40' --- This integration provides support for Internet Radios based on the [Frontier Silicon chipset]. Some of the manufacturers which offer products based on these chips include: Hama, Medion, Slivercrest, Auna, Technisat, Revo, Pinnel, etc. These devices will be usually controlled by the [UNDOK] app. diff --git a/source/_integrations/futurenow.markdown b/source/_integrations/futurenow.markdown index 5dd9375e0a3..d7f11f41c58 100644 --- a/source/_integrations/futurenow.markdown +++ b/source/_integrations/futurenow.markdown @@ -1,6 +1,6 @@ --- -title: "P5 FutureNow Lights" -description: "Instructions on how to set up P5 FutureNow relay/dimmer units as lights within Home Assistant." +title: P5 FutureNow +description: Instructions on how to set up P5 FutureNow relay/dimmer units as lights within Home Assistant. logo: p5.png ha_category: - Light diff --git a/source/_integrations/garadget.markdown b/source/_integrations/garadget.markdown index 49c35416cef..a6330b6056b 100644 --- a/source/_integrations/garadget.markdown +++ b/source/_integrations/garadget.markdown @@ -1,6 +1,6 @@ --- -title: "Garadget Cover" -description: "Instructions on how to integrate Garadget covers within Home Assistant." +title: Garadget +description: Instructions on how to integrate Garadget covers within Home Assistant. logo: garadget.png ha_category: - Cover @@ -8,7 +8,6 @@ ha_release: 0.32 ha_iot_class: Cloud Polling --- - The `garadget` cover platform lets you control [Garadget](https://www.garadget.com/) garage door futurizers through Home Assistant. ## Configuration diff --git a/source/_integrations/gc100.markdown b/source/_integrations/gc100.markdown index dfdb8b97bde..83197d0ed1c 100644 --- a/source/_integrations/gc100.markdown +++ b/source/_integrations/gc100.markdown @@ -1,6 +1,6 @@ --- -title: "gc100" -description: "Instructions on how to integrate gc100 with Home Assistant." +title: Global Caché GC-100 +description: Instructions on how to integrate gc100 with Home Assistant. ha_category: - Hub - Binary Sensor diff --git a/source/_integrations/gearbest.markdown b/source/_integrations/gearbest.markdown index 113ce3a07d5..4ce076ed841 100644 --- a/source/_integrations/gearbest.markdown +++ b/source/_integrations/gearbest.markdown @@ -1,14 +1,15 @@ --- -title: "Gearbest" -description: "Instructions on how to integrate a Gearbest sensor into Home Assistant." +title: Gearbest +description: Instructions on how to integrate a Gearbest sensor into Home Assistant. logo: gearbest.png ha_category: - Sensor ha_iot_class: Cloud Polling -ha_release: "0.60" +ha_release: '0.60' +ha_codeowners: + - '@HerrHofrat' --- - The `gearbest` sensor will track the price of a product from [Gearbest](https://www.gearbest.com). This information can be used in, e.g., automations to notify you when a price drops. The update interval for every item is currently set to 2 hours. To enable this sensor, add the following lines to your `configuration.yaml` file: diff --git a/source/_integrations/geizhals.markdown b/source/_integrations/geizhals.markdown index a0f2d630f47..c6856f655bf 100644 --- a/source/_integrations/geizhals.markdown +++ b/source/_integrations/geizhals.markdown @@ -1,6 +1,6 @@ --- -title: "Geizhals" -description: "Instructions on how to integrate a Geizhals sensor into Home Assistant." +title: Geizhals +description: Instructions on how to integrate a Geizhals sensor into Home Assistant. logo: geizhals.png ha_category: - Sensor diff --git a/source/_integrations/generic_thermostat.markdown b/source/_integrations/generic_thermostat.markdown index abadb298863..ae4ec732e2f 100644 --- a/source/_integrations/generic_thermostat.markdown +++ b/source/_integrations/generic_thermostat.markdown @@ -1,6 +1,6 @@ --- -title: "Generic Thermostat" -description: "Turn Home Assistant into a thermostat" +title: Generic Thermostat +description: Turn Home Assistant into a thermostat logo: home-assistant.png ha_category: - Climate diff --git a/source/_integrations/geniushub.markdown b/source/_integrations/geniushub.markdown index 488351ed483..2e1987488c1 100644 --- a/source/_integrations/geniushub.markdown +++ b/source/_integrations/geniushub.markdown @@ -1,6 +1,6 @@ --- -title: "Genius Hub" -description: "Instructions on how to integrate a Genius Hub with Home Assistant." +title: Genius Hub +description: Instructions on how to integrate a Genius Hub with Home Assistant. logo: geniushub.png ha_category: - Climate @@ -10,6 +10,8 @@ ha_category: - Switch ha_release: 0.92 ha_iot_class: Local Polling +ha_codeowners: + - '@zxdavb' --- The `geniushub` integration links Home Assistant with your Genius Hub CH/DHW system, including its zones, devices, and issues. diff --git a/source/_integrations/geo_json_events.markdown b/source/_integrations/geo_json_events.markdown index af3cafcc038..d738f3cedc9 100644 --- a/source/_integrations/geo_json_events.markdown +++ b/source/_integrations/geo_json_events.markdown @@ -1,6 +1,6 @@ --- -title: "GeoJSON Events" -description: "Instructions on how to integrate GeoJSON feeds into Home Assistant." +title: GeoJSON +description: Instructions on how to integrate GeoJSON feeds into Home Assistant. logo: geo_location.png ha_category: - Geolocation diff --git a/source/_integrations/geo_location.markdown b/source/_integrations/geo_location.markdown index cd95864cf06..2b020ba1974 100644 --- a/source/_integrations/geo_location.markdown +++ b/source/_integrations/geo_location.markdown @@ -1,6 +1,6 @@ --- -title: "Geolocation" -description: "Instructions on how to integrate geolocation aware platforms into Home Assistant." +title: Geolocation +description: Instructions on how to integrate geolocation aware platforms into Home Assistant. logo: geo_location.png ha_release: 0.78 --- diff --git a/source/_integrations/geo_rss_events.markdown b/source/_integrations/geo_rss_events.markdown index 6f020aa88e1..2c6e5af74a0 100644 --- a/source/_integrations/geo_rss_events.markdown +++ b/source/_integrations/geo_rss_events.markdown @@ -1,11 +1,13 @@ --- -title: GeoRSS Events Sensor -description: "Instructions on how to set up GeoRSS sensors within Home Assistant." +title: GeoRSS +description: Instructions on how to set up GeoRSS sensors within Home Assistant. logo: rss.png ha_category: - Sensor ha_iot_class: Cloud Polling ha_release: 0.55 +ha_codeowners: + - '@exxamalte' --- The `geo_rss_events` sensor retrieves events from a GeoRSS feed and shows information of those events filtered by distance to Home Assistant's location and grouped by category. diff --git a/source/_integrations/geofency.markdown b/source/_integrations/geofency.markdown index 02716bda083..01f4202f243 100644 --- a/source/_integrations/geofency.markdown +++ b/source/_integrations/geofency.markdown @@ -1,11 +1,12 @@ --- -title: "Geofency" -description: "Instructions for how to use Geofency to track devices in Home Assistant." +title: Geofency +description: Instructions for how to use Geofency to track devices in Home Assistant. logo: geofency.png ha_category: - Presence Detection ha_release: 0.53 ha_iot_class: Cloud Push +ha_config_flow: true --- This integration sets up integration with [Geofency](https://www.geofency.com/). Geofency is a paid app for iOS that lets users to configure a request that will be sent when a geofence or iBeacon region is entered or exited. This can be configured with Home Assistant to update your location. diff --git a/source/_integrations/geonetnz_quakes.markdown b/source/_integrations/geonetnz_quakes.markdown index ba00fd528a5..2e8a7e156cd 100644 --- a/source/_integrations/geonetnz_quakes.markdown +++ b/source/_integrations/geonetnz_quakes.markdown @@ -1,11 +1,14 @@ --- -title: "GeoNet NZ Quakes" -description: "Instructions on how to integrate the GeoNet New Zealand Quakes feed into Home Assistant." +title: GeoNet NZ Quakes +description: Instructions on how to integrate the GeoNet New Zealand Quakes feed into Home Assistant. logo: geonet-nz.png ha_category: - Geolocation ha_iot_class: Cloud Polling ha_release: 0.98 +ha_config_flow: true +ha_codeowners: + - '@exxamalte' --- The `geonetnz_quakes` integration lets you use a GeoJSON feed provided by diff --git a/source/_integrations/geonetnz_volcano.markdown b/source/_integrations/geonetnz_volcano.markdown index 0f0631298d6..3dfe4b2cddc 100644 --- a/source/_integrations/geonetnz_volcano.markdown +++ b/source/_integrations/geonetnz_volcano.markdown @@ -1,12 +1,14 @@ --- -title: "GeoNet NZ Volcanic Alert Level" -description: "Instructions on how to integrate the GeoNet New Zealand Volcanic Alert Level feed into Home Assistant." +title: GeoNet NZ Volcano +description: Instructions on how to integrate the GeoNet New Zealand Volcanic Alert Level feed into Home Assistant. logo: geonet-nz.png ha_category: - Sensor ha_iot_class: Cloud Polling ha_release: 0.103 ha_config_flow: true +ha_codeowners: + - '@exxamalte' --- The `geonetnz_volcano` integration lets you use a GeoJSON feed provided by diff --git a/source/_integrations/gios.markdown b/source/_integrations/gios.markdown new file mode 100644 index 00000000000..0fa0898d78e --- /dev/null +++ b/source/_integrations/gios.markdown @@ -0,0 +1,32 @@ +--- +title: GIOŚ +description: Instructions on how to integrate GIOŚ (Polish Chief Inspectorate Of Environmental Protection) air quality service into Home Assistant. +logo: gios.png +ha_category: + - Health +ha_release: 0.104 +ha_iot_class: Cloud Polling +ha_config_flow: true +--- + +The `gios` integration uses the [GIOŚ](http://powietrze.gios.gov.pl/pjp/current) web service as a source for air quality data for your location. + +## Setup + +To obtain `station_id` of the measuring station, go to [GIOŚ](http://powietrze.gios.gov.pl/pjp/current) page, select the measuring station on the map and click the "More Info" link. The address of the opened page will look like this: `http://powietrze.gios.gov.pl/pjp/current/station_details/chart/291` and `291` will be `station_id` of measuring station. + +## Configuration + +To add GIOŚ to your installation, go to **Configuration** >> **Integrations** in the UI and enable the GIOŚ integration. + +{% configuration %} +name: + description: Manually specify Name. + required: false + type: string + default: GIOŚ +station_id: + description: Specify ID of the measuring station. + required: true + type: integer +{% endconfiguration %} diff --git a/source/_integrations/github.markdown b/source/_integrations/github.markdown index 030f8409ccc..22b40b1d3a8 100644 --- a/source/_integrations/github.markdown +++ b/source/_integrations/github.markdown @@ -1,6 +1,6 @@ --- -title: "GitHub Sensor" -description: "How to integrate the GitHub sensor into Home Assistant." +title: GitHub +description: How to integrate the GitHub sensor into Home Assistant. logo: github.png ha_category: - Sensor diff --git a/source/_integrations/gitlab_ci.markdown b/source/_integrations/gitlab_ci.markdown index 50e9054409b..1a4b045ba9d 100644 --- a/source/_integrations/gitlab_ci.markdown +++ b/source/_integrations/gitlab_ci.markdown @@ -1,10 +1,10 @@ --- -title: "GitLab-CI Sensor" -description: "How to integrate GitLab-CI Job status within Home Assistant." +title: GitLab-CI +description: How to integrate GitLab-CI Job status within Home Assistant. logo: gitlab.png ha_category: - Sensor -ha_release: 0.80 +ha_release: 0.8 ha_iot_class: Cloud Polling --- diff --git a/source/_integrations/gitter.markdown b/source/_integrations/gitter.markdown index f22ca36535a..442f56a7874 100644 --- a/source/_integrations/gitter.markdown +++ b/source/_integrations/gitter.markdown @@ -1,13 +1,14 @@ --- -title: "Gitter Sensor" -description: "Instructions on how to integrate a Gitter room sensor with Home Assistant" +title: Gitter +description: Instructions on how to integrate a Gitter room sensor with Home Assistant logo: gitter.png ha_category: - Sensor ha_release: 0.47 +ha_codeowners: + - '@fabaff' --- - This `gitter` sensor allows one to monitor a [Gitter.im](https://gitter.im) chatroom for unread messages. ## Configuration diff --git a/source/_integrations/glances.markdown b/source/_integrations/glances.markdown index a4029b1cc01..3e8db64e1c5 100644 --- a/source/_integrations/glances.markdown +++ b/source/_integrations/glances.markdown @@ -1,14 +1,17 @@ --- -title: "Glances" -description: "Instructions on how to integrate Glances sensors into Home Assistant." +title: Glances +description: Instructions on how to integrate Glances sensors into Home Assistant. logo: glances.png ha_category: - System Monitor ha_iot_class: Local Polling ha_release: 0.7.3 +ha_config_flow: true +ha_codeowners: + - '@fabaff' + - '@engrbm87' --- - The `glances` integration allows you to monitor the system information provided by the [Glances](https://github.com/nicolargo/glances) API. This enables one to track remote host and display their stats in Home Assistant. ## Setup diff --git a/source/_integrations/gntp.markdown b/source/_integrations/gntp.markdown index a8b58a7ed9d..7ea76d6ed64 100644 --- a/source/_integrations/gntp.markdown +++ b/source/_integrations/gntp.markdown @@ -1,10 +1,12 @@ --- -title: "GNTP (Growl)" -description: "Instructions for adding GNTP/Growl notifications to Home Assistant." +title: Growl (GnGNTP) +description: Instructions for adding GNTP/Growl notifications to Home Assistant. logo: gntp.png ha_category: - Notifications ha_release: 0.16 +ha_codeowners: + - '@robbiet480' --- [GNTP](http://growl.info/documentation/developer/gntp.php) is a specification for sending and receiving notifications between computers. The most well known server implementations are [Growl](http://growl.info) for Mac and [Growl for Windows](http://www.growlforwindows.com/). diff --git a/source/_integrations/goalfeed.markdown b/source/_integrations/goalfeed.markdown index e48394fa3a2..2fa13e1ec73 100644 --- a/source/_integrations/goalfeed.markdown +++ b/source/_integrations/goalfeed.markdown @@ -1,6 +1,6 @@ --- -title: "Goalfeed" -description: "Instructions on how to setup Goalfeed events within Home Assistant." +title: Goalfeed +description: Instructions on how to setup Goalfeed events within Home Assistant. logo: goalfeed.png ha_category: - Other diff --git a/source/_integrations/gogogate2.markdown b/source/_integrations/gogogate2.markdown index 9b91045b8d8..6f8a8d9a663 100644 --- a/source/_integrations/gogogate2.markdown +++ b/source/_integrations/gogogate2.markdown @@ -1,6 +1,6 @@ --- -title: "Gogogate2 Cover" -description: "Instructions on how to integrate Gogogate2-Enabled garage door covers into Home Assistant." +title: Gogogate2 +description: Instructions on how to integrate Gogogate2-Enabled garage door covers into Home Assistant. logo: gogogate2.png ha_category: - Cover diff --git a/source/_integrations/google_assistant.markdown b/source/_integrations/google_assistant.markdown index 19f4c3fc610..458c0b49351 100644 --- a/source/_integrations/google_assistant.markdown +++ b/source/_integrations/google_assistant.markdown @@ -1,14 +1,16 @@ --- -title: "Google Assistant" -description: "Setup for Google Assistant integration" +title: Google Assistant +description: Setup for Google Assistant integration logo: google-assistant.png ha_category: - Voice featured: true ha_release: 0.56 +ha_codeowners: + - '@home-assistant/cloud' --- -The `google_assistant` integration allows you to control things via Google Assistant (on your mobile or tablet) or a Google Home device. +The `google_assistant` integration allows you to control things via Google Assistant on your mobile, tablet or Google Home device. ## Automatic setup via Home Assistant Cloud @@ -18,15 +20,15 @@ For Home Assistant Cloud Users, documentation can be found [here](https://www.na ## Manual setup -The Google Assistant integration requires a bit more setup than most due to the way Google requires Assistant Apps to be set up. +The Google Assistant integration (without Home Assistant Cloud) requires a bit more setup than most due to the way Google requires Assistant Apps to be set up.
    -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` Screenshot: Account linking - + 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".
    -To disable the drainage of the battery, a dynamic interval is being used for each individual device instead of a fixed interval for all devices linked to one account. The dynamic interval is based on the current zone of a device, the distance towards home and the battery level of the device. +If 2 Step Authentication is enabled for your iCloud account, some time after Home Assistant startup the integration will ask which device you want to use as the Trusted Device via a notification in the Home Assistant UI. The integration will send an SMS prompt to that device with the auth code to enter in Home Assistant. The duration of this authentication is determined by Apple, but is currently 2 months, so you will only need to verify your account every two months. -If 2 Step Authentication is enabled for your iCloud account. The integration will ask which device you want to use as Trusted Device and integration will send a prompt to that device with the code which you can enter in Home Assistant. The duration of this authentication is determined by Apple, but is now at 2 months, so you will only need to verify your account each two months. -2 Factor Authentication is the improved version of 2 Step Authentication, this is still not supported by the pyicloud library. Therefore it's not possible to use it with the device_tracker yet. +2 Factor Authentication is the improved version of 2 Step Authentication and is still not supported by the pyicloud library. Therefore it's not possible to use it with the device_tracker yet. -4 services are available for this component: -- **update**: This service can be used to ask for an update of a certain iDevice. The `account_name` and `device_name` are optional. Request will result in new Home Assistant [state_changed](/docs/configuration/events/#event-state_changed) event describing current iphone location. Can be used in automations when manual location update is needed, e.g., to check if anyone is home when door's been opened. -- **lost_iphone**: This service will play the Lost iPhone sound on a certain iDevice. The `account_name` and `device_name` are optional. -- **set_interval**: This service will change the dynamic interval of an iDevice. The `account_name` and `device_name` are optional. If `interval` is used in the service_data, the iDevice will be updated with that new interval. That interval will be fixed until the iDevice changes zone or if this service is called again. If `interval` isn't used in the service_data, the interval for that iDevice will revert back to its default dynamic interval based on its current zone, its distance towards home and its battery level. -- **reset_account**: This service can be used to reset an iCloud account. This is helpful when not all devices are found by the integration or if you have added a new iDevice to your account. The `account_name` is optional. +To prevent excessive battery drainage, a dynamic interval is used for each individual device instead of a fixed interval for all devices linked to one account. The dynamic interval is based on the current zone of a device, the distance towards home and the battery level of the device. + +## In case of troubleshooting + +Go into your Home Assistant configuration `.storage` folder and delete the "icloud" folder, then retry. + +## Platforms + +### Device Tracker + +The iCloud integration will track available devices on your iCloud account. + +### Sensor + +The iCloud integration will add a battery sensor for each iCloud devices available on your iCloud account. + +## Services + +4 services are available: + +### Service `icloud.update` + +This service can be used to ask an update of a certain iDevice or all devices linked to an iCloud account. Request will result in new Home Assistant [state_changed](/docs/configuration/events/#event-state_changed) event describing current iPhone location. It can be used in automations when a manual location update is needed, e.g., to check if anyone is home when a door been opened. + +### Service `icloud.play_sound` + +This service will play the Lost iPhone sound on your iDevice. It will still ring if you are on "Mute" or "Do not disturb" mode. + +### Service `icloud.display_message` + +This service will display a message on your iDevice. It can also ring your device. + +### Service `icloud.lost_device` + +This service will put your iDevice on "lost" mode (compatible devices only). You have to provide a phone number with a suffixed [country code](https://en.wikipedia.org/wiki/List_of_country_calling_codes) and a message. diff --git a/source/_integrations/idteck_prox.markdown b/source/_integrations/idteck_prox.markdown index 8c744ad54ce..1553305ceaa 100644 --- a/source/_integrations/idteck_prox.markdown +++ b/source/_integrations/idteck_prox.markdown @@ -1,6 +1,6 @@ --- -title: "IDTECK Prox Card Reader" -description: "How to use IDTECK proximity card readers." +title: IDTECK Proximity Reader +description: How to use IDTECK proximity card readers. logo: idteck.jpg ha_category: - Other diff --git a/source/_integrations/ifttt.markdown b/source/_integrations/ifttt.markdown index 20067909284..5e0e7c4c7b1 100644 --- a/source/_integrations/ifttt.markdown +++ b/source/_integrations/ifttt.markdown @@ -1,12 +1,13 @@ --- -title: "IFTTT" -description: "Instructions on how to setup IFTTT within Home Assistant." +title: IFTTT +description: Instructions on how to setup IFTTT within Home Assistant. logo: ifttt.png ha_category: - Automation featured: true ha_iot_class: Cloud Push -ha_release: 0.80 +ha_release: 0.8 +ha_config_flow: true --- [IFTTT](https://ifttt.com) is a web service that allows users to create chains of simple conditional statements, so-called "Applets". With the IFTTT component, you can trigger applets through the **"Webhooks"** service (which was previously the **"Maker"** channel). diff --git a/source/_integrations/iglo.markdown b/source/_integrations/iglo.markdown index 9edbcfe3e8d..b209e451139 100644 --- a/source/_integrations/iglo.markdown +++ b/source/_integrations/iglo.markdown @@ -1,6 +1,6 @@ --- -title: "iGlo" -description: "Instructions on how to integrate iGlo lights into Home Assistant." +title: iGlo +description: Instructions on how to integrate iGlo lights into Home Assistant. logo: iglo.png ha_category: - Light diff --git a/source/_integrations/ign_sismologia.markdown b/source/_integrations/ign_sismologia.markdown index ed9d46b4c33..30ac27c9be1 100644 --- a/source/_integrations/ign_sismologia.markdown +++ b/source/_integrations/ign_sismologia.markdown @@ -1,11 +1,13 @@ --- -title: "IGN Sismologƭa" -description: "Instructions on how to integrate the Instituto GeogrƔfico Nacional Sismologƭa (Earthquakes) Feed feed into Home Assistant." +title: IGN Sismologƭa +description: Instructions on how to integrate the Instituto GeogrƔfico Nacional Sismologƭa (Earthquakes) Feed feed into Home Assistant. logo: ign-sismologia.png ha_category: - Geolocation ha_iot_class: Cloud Polling ha_release: 0.92 +ha_codeowners: + - '@exxamalte' --- The `ign_sismologia` platform lets you integrate a GeoRSS feed provided by the diff --git a/source/_integrations/ihc.markdown b/source/_integrations/ihc.markdown index 398e547b859..5c552394214 100644 --- a/source/_integrations/ihc.markdown +++ b/source/_integrations/ihc.markdown @@ -1,6 +1,6 @@ --- -title: "IHC" -description: "Instructions on how to integrate the IHC integrations with Home Assistant" +title: IHC Controller +description: Instructions on how to integrate the IHC integrations with Home Assistant logo: ihc.png ha_category: - Hub @@ -327,4 +327,4 @@ switch: type: string {% endconfiguration %} -The resource id should be a boolean resource (On/Off). For more information about IHC resource ids see [Manual Setup](#manual-setup). \ No newline at end of file +The resource id should be a boolean resource (On/Off). For more information about IHC resource ids see [Manual Setup](#manual-setup). diff --git a/source/_integrations/image_processing.markdown b/source/_integrations/image_processing.markdown index e145b03883a..cfeb350ac39 100644 --- a/source/_integrations/image_processing.markdown +++ b/source/_integrations/image_processing.markdown @@ -1,6 +1,6 @@ --- -title: "Image Processing" -description: "Instructions on how to setup image processing with Home Assistant." +title: Image Processing +description: Instructions on how to setup image processing with Home Assistant. ha_release: 0.36 --- diff --git a/source/_integrations/imap.markdown b/source/_integrations/imap.markdown index 418ddab9176..4468cf5f8fc 100644 --- a/source/_integrations/imap.markdown +++ b/source/_integrations/imap.markdown @@ -1,6 +1,6 @@ --- -title: "IMAP Unread E-mail" -description: "Instructions on how to integrate IMAP unread email into Home Assistant." +title: IMAP +description: Instructions on how to integrate IMAP unread email into Home Assistant. logo: smtp.png ha_category: - Mailbox diff --git a/source/_integrations/imap_email_content.markdown b/source/_integrations/imap_email_content.markdown index c4bce26f23e..c6d3c34f1dc 100644 --- a/source/_integrations/imap_email_content.markdown +++ b/source/_integrations/imap_email_content.markdown @@ -1,6 +1,6 @@ --- -title: "IMAP Email Content" -description: "Instructions on how to integrate IMAP email content sensor into Home Assistant." +title: IMAP Email Content +description: Instructions on how to integrate IMAP email content sensor into Home Assistant. logo: smtp.png ha_category: - Mailbox diff --git a/source/_integrations/incomfort.markdown b/source/_integrations/incomfort.markdown index 40b9743e5da..2ea0bef5eb9 100644 --- a/source/_integrations/incomfort.markdown +++ b/source/_integrations/incomfort.markdown @@ -1,6 +1,6 @@ --- -title: "Intergas InComfort" -description: "Instructions on how to integrate an Intergas Lan2RF gateway with Home Assistant." +title: Intergas InComfort/Intouch Lan2RF gateway +description: Instructions on how to integrate an Intergas Lan2RF gateway with Home Assistant. logo: incomfort.png ha_category: - Water Heater @@ -9,6 +9,8 @@ ha_category: - Binary Sensor ha_release: 0.93 ha_iot_class: Local Polling +ha_codeowners: + - '@zxdavb' --- The `incomfort` integration links Home Assistant with your Intergas Lan2RF gateway, including the boiler and any room thermostats attached to it. diff --git a/source/_integrations/influxdb.markdown b/source/_integrations/influxdb.markdown index 80ecdaf708e..77d0d1e579e 100644 --- a/source/_integrations/influxdb.markdown +++ b/source/_integrations/influxdb.markdown @@ -1,12 +1,14 @@ --- -title: "InfluxDB" -description: "Record events in InfluxDB." +title: InfluxDB +description: Record events in InfluxDB. logo: influxdb.png ha_category: - History - Sensor ha_release: 0.9 ha_iot_class: Configurable +ha_codeowners: + - '@fabaff' --- The `influxdb` integration makes it possible to transfer all state changes to an external [InfluxDB](https://influxdb.com/) database. See the [official installation documentation](https://docs.influxdata.com/influxdb/v1.7/introduction/installation/) for how to set up an InfluxDB database, or if you're using Hass.io, [there is a community add-on](https://community.home-assistant.io/t/community-hass-io-add-on-influxdb/54491) available. diff --git a/source/_integrations/input_boolean.markdown b/source/_integrations/input_boolean.markdown index fb559e5df5d..241341506b0 100644 --- a/source/_integrations/input_boolean.markdown +++ b/source/_integrations/input_boolean.markdown @@ -1,11 +1,13 @@ --- -title: "Input Boolean" -description: "Instructions on how to integrate the Input Boolean integration into Home Assistant." +title: Input Boolean +description: Instructions on how to integrate the Input Boolean integration into Home Assistant. logo: home-assistant.png ha_category: - Automation -ha_qa_scale: internal ha_release: 0.11 +ha_quality_scale: internal +ha_codeowners: + - '@home-assistant/core' --- The `input_boolean` integration allows the user to define boolean values that can be controlled via the frontend and can be used within conditions of automation. This can for example be used to disable or enable certain automations. @@ -42,9 +44,21 @@ input_boolean: type: icon {% endconfiguration %} +### Services + +This integration provides the following services to modify the state of the `input_boolean` and a service to reload the +configuration without restarting Home Assistant itself. + +| Service | Data | Description | +| ------- | ---- | ----------- | +| `turn_on` | `entity_id(s)`
    `area_id(s)` | Set the value of specific `input_boolean` entities to `on` +| `turn_off` | `entity_id(s)`
    `area_id(s)` | Set the value of specific `input_boolean` entities to `off` +| `toggle` | `entity_id(s)`
    `area_id(s)` | Toggle the value of specific `input_boolean` entities +| `reload` | | Reload `input_boolean` configuration | + ### Restore State -This integration will automatically restore the state it had prior to Home Assistant stopping as long as your entity does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`. +If you set a valid value for `initial` this integration will start with state set to that value. Otherwise, it will restore the state it had prior to Home Assistant stopping. ## Automation Examples diff --git a/source/_integrations/input_datetime.markdown b/source/_integrations/input_datetime.markdown index 4486c0c8392..8184f5323e6 100644 --- a/source/_integrations/input_datetime.markdown +++ b/source/_integrations/input_datetime.markdown @@ -1,11 +1,13 @@ --- -title: "Input Datetime" -description: "Instructions on how to integrate the Input Datetime integration into Home Assistant." +title: Input Datetime +description: Instructions on how to integrate the Input Datetime integration into Home Assistant. logo: home-assistant.png ha_category: - Automation ha_release: 0.55 -ha_qa_scale: internal +ha_quality_scale: internal +ha_codeowners: + - '@home-assistant/core' --- The `input_datetime` integration allows the user to define date and time values @@ -78,13 +80,11 @@ automations and templates. ### Restore State -This integration will automatically restore the state it had prior to Home -Assistant stopping as long as your entity does **not** have a set value for -`initial`. To disable this feature, set a valid value for `initial`. +If you set a valid value for `initial` this integration will start with state set to that value. Otherwise, it will restore the state it had prior to Home Assistant stopping. ### Services -Available service: `input_datetime.set_datetime`. +Available service: `input_datetime.set_datetime` and `input_datetime.reload`. Service data attribute | Format String | Description -|-|- @@ -94,6 +94,8 @@ Service data attribute | Format String | Description To set both the date and time in the same call, use `date` and `time` together, or use `datetime` by itself. Using `datetime` has the advantage that both can be set using one template. +`input_dateteime.reload` service allows one to reload `input_datetime`'s configuration without restarting Home Assistant itself. + ## Automation Examples The following example shows the usage of the `input_datetime` as a trigger in an diff --git a/source/_integrations/input_number.markdown b/source/_integrations/input_number.markdown index 3e46a5bdcfb..5bee95ec089 100644 --- a/source/_integrations/input_number.markdown +++ b/source/_integrations/input_number.markdown @@ -1,11 +1,13 @@ --- -title: "Input Number" -description: "Instructions on how to integrate the Input Number integration into Home Assistant." +title: Input Number +description: Instructions on how to integrate the Input Number integration into Home Assistant. logo: home-assistant.png ha_category: - Automation ha_release: 0.55 -ha_qa_scale: internal +ha_quality_scale: internal +ha_codeowners: + - '@home-assistant/core' --- The `input_number` integration allows the user to define values that can be controlled via the frontend and can be used within conditions of automation. The frontend can display a slider, or a numeric input box. Changes to the slider or numeric input box generate state events. These state events can be utilized as `automation` triggers as well. @@ -73,9 +75,21 @@ input_number: type: icon {% endconfiguration %} +### Services + +This integration provides the following services to modify the state of the `input_number` and a service to reload the +configuration without restarting Home Assistant itself. + +| Service | Data | Description | +| ------- | ---- | ----------- | +| `decrement` | `entity_id(s)`
    `area_id(s)` | Decrement the value of specific `input_number` entities by `step` +| `increment` | `entity_id(s)`
    `area_id(s)` | Increment the value of specific `input_number` entities by `step` +| `reload` | | Reload `input_number` configuration | +| `set_value` | `value`
    `entity_id(s)`
    `area_id(s)` | Set the value of specific `input_number` entities + ### Restore State -This integration will automatically restore the state it had prior to Home Assistant stopping as long as your entity does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`. +If you set a valid value for `initial` this integration will start with state set to that value. Otherwise, it will restore the state it had prior to Home Assistant stopping. ### Scenes diff --git a/source/_integrations/input_select.markdown b/source/_integrations/input_select.markdown index dadf14dd546..6bcb92e7b8e 100644 --- a/source/_integrations/input_select.markdown +++ b/source/_integrations/input_select.markdown @@ -1,11 +1,13 @@ --- -title: "Input Select" -description: "Instructions on how to integrate the Input Select integration into Home Assistant." +title: Input Select +description: Instructions on how to integrate the Input Select integration into Home Assistant. logo: home-assistant.png ha_category: - Automation ha_release: 0.13 -ha_qa_scale: internal +ha_quality_scale: internal +ha_codeowners: + - '@home-assistant/core' --- The `input_select` integration allows the user to define a list of values that can be selected via the frontend and can be used within conditions of automation. When a user selects a new item, a state transition event is generated. This state event can be used in an `automation` trigger. @@ -62,11 +64,11 @@ Because YAML defines [booleans](https://yaml.org/type/bool.html) as equivalent, ### Restore State -This integration will automatically restore the state it had prior to Home Assistant stopping as long as your entity does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`. +If you set a valid value for `initial` this integration will start with state set to that value. Otherwise, it will restore the state it had prior to Home Assistant stopping. ### Services -This integrations provide three services to modify the state of the `input_select`. +This integration provides three services to modify the state of the `input_select`. | Service | Data | Description | | ------- | ---- | ----------- | @@ -74,6 +76,7 @@ This integrations provide three services to modify the state of the `input_selec | `set_options` | `options`
    `entity_id(s)` | Set the options for specific `input_select` entities. | `select_previous` | | Select the previous option. | `select_next` | | Select the next option. +| `reload` | | Reload `input_select` configuration | ### Scenes diff --git a/source/_integrations/input_text.markdown b/source/_integrations/input_text.markdown index 1cda4f554e5..b90ed64f900 100644 --- a/source/_integrations/input_text.markdown +++ b/source/_integrations/input_text.markdown @@ -1,11 +1,13 @@ --- -title: "Input Text" -description: "Instructions on how to integrate the Input Text integration into Home Assistant." +title: Input Text +description: Instructions on how to integrate the Input Text integration into Home Assistant. logo: home-assistant.png ha_category: - Automation ha_release: 0.53 -ha_qa_scale: internal +ha_quality_scale: internal +ha_codeowners: + - '@home-assistant/core' --- The `input_text` integration allows the user to define values that can be controlled via the frontend and can be used within conditions of automation. Changes to the value stored in the text box generate state events. These state events can be utilized as `automation` triggers as well. It can also be configured in password mode (obscured text). @@ -71,15 +73,16 @@ input_text: ### Services -This integration provides a single service to modify the state of the `input_text`. +This integration provides a service to modify the state of the `input_text` and a service to reload the `input_text` configuration without restarting Home Assistant itself. | Service | Data | Description | | ------- | ---- | ----------- | | `set_value` | `value`
    `entity_id(s)` | Set the value for specific `input_text` entities. +| `reload` | | Reload `input_text` configuration | ### Restore State -This integration will automatically restore the state it had prior to Home Assistant stopping as long as your entity does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`. +If you set a valid value for `initial` this integration will start with state set to that value. Otherwise, it will restore the state it had prior to Home Assistant stopping. ### Scenes diff --git a/source/_integrations/insteon.markdown b/source/_integrations/insteon.markdown index 65687710a49..784c9fb1fb6 100644 --- a/source/_integrations/insteon.markdown +++ b/source/_integrations/insteon.markdown @@ -1,6 +1,6 @@ --- -title: "Insteon" -description: "Instructions on how to set up an Insteon Modem (PLM or Hub) locally within Home Assistant." +title: Insteon +description: Instructions on how to set up an Insteon Modem (PLM or Hub) locally within Home Assistant. logo: insteon.png ha_category: - Hub @@ -270,10 +270,10 @@ Mini-Remote devices do not appear as Home Assistant entities, they generate even - **insteon.button_on** - **address**: (required) The Insteon device address in lower case without dots (e.g., 1a2b3c) - - **button**: (Optional) The button id in lower case. For a 4-button remote the values are `a` to `d`. For an 8 button remote the values are `a` to `g`. For a one-button remote this field is not used. + - **button**: (Optional) The button id in lower case. For a 4-button remote the values are `a` to `d`. For an 8 button remote the values are `a` to `h`. For a one-button remote this field is not used. - **insteon.button_off** - **address**: (required) The Insteon device address in lower case without dots (e.g., 1a2b3c) - - **button**: (Optional) The button id in lower case. For a 4-button remote the values are a to d. For an 8 button remote the values are `a` to `g`. For a one-button remote this field is not used. + - **button**: (Optional) The button id in lower case. For a 4-button remote the values are a to d. For an 8 button remote the values are `a` to `h`. For a one-button remote this field is not used. This allows the mini-remotes to be configured as triggers for automations. Here is an example of how to use these events for automations: diff --git a/source/_integrations/integration.markdown b/source/_integrations/integration.markdown index f2bd8fbf086..585f83b52d3 100644 --- a/source/_integrations/integration.markdown +++ b/source/_integrations/integration.markdown @@ -1,16 +1,18 @@ --- -title: "Integration Sensor" -description: "Instructions on how to integrate Integration Sensor into Home Assistant." +title: Integration - Riemann sum integral +description: Instructions on how to integrate Integration Sensor into Home Assistant. ha_category: - Utility - Energy ha_release: 0.87 ha_iot_class: Local Push logo: integral.png -ha_qa_scale: internal +ha_quality_scale: internal +ha_codeowners: + - '@dgomes' --- -The `integration` platform provides the [Riemann sum](https://en.wikipedia.org/wiki/Riemann_sum) of the values provided by a source sensor. The Riemann sum is an approximation of an **integral** by a finite sum. The integration sensors is updated upon changes of the the **source**. Fast sampling source sensors provide better results. In this implementation, the default is the Trapezoidal method, but Left and Right methods can optionally be used. +The `integration` platform provides the [Riemann sum](https://en.wikipedia.org/wiki/Riemann_sum) of the values provided by a source sensor. The Riemann sum is an approximation of an **integral** by a finite sum. The integration sensors is updated upon changes of the **source**. Fast sampling source sensors provide better results. In this implementation, the default is the Trapezoidal method, but Left and Right methods can optionally be used. ## Configuration @@ -25,7 +27,7 @@ sensor: {% configuration %} source: - description: The entity ID of the sensor providing numeric readings + description: The entity ID of the sensor providing numeric readings. required: true type: string name: @@ -39,27 +41,27 @@ round: default: 3 type: integer unit_prefix: - description: Metric unit to prefix the integration result. Available units are k, M, G, T. + description: "Metric unit to prefix the integration result. Available units are `k`, `M`, `G` and `T`." required: false default: None type: string unit_time: - description: SI unit of time to integrate over. Available units are s, min, h, d. + description: "SI unit of time to integrate over. Available units are `s`, `min`, `h` and `d`." required: false default: h type: string unit: - description: Unit of Measurement to be used for the integration. + description: Unit of measurement to be used for the integration. required: false type: string method: - description: Riemann sum method to be used. Available methods are trapezoidal, left, right. + description: Riemann sum method to be used. Available methods are `trapezoidal`, `left` and `right`." required: false type: string default: trapezoidal {% endconfiguration %} -If 'unit' is set then 'unit_prefix' and 'unit_time' are ignored. +In case you have an appliance which produces spikey consumption (like an on/off electrical boiler) you should opt for the `left` method to get accurate readings. If `unit` is set then `unit_prefix` and `unit_time` are ignored. ## Energy diff --git a/source/_integrations/intent_script.markdown b/source/_integrations/intent_script.markdown index 46d04c02b96..b5c39705146 100644 --- a/source/_integrations/intent_script.markdown +++ b/source/_integrations/intent_script.markdown @@ -1,11 +1,11 @@ --- -title: "Intent Script" -description: "Instructions on how to setup scripts to run on intents." +title: Intent Script +description: Instructions on how to setup scripts to run on intents. logo: home-assistant.png ha_category: - Intent -ha_release: "0.50" -ha_qa_scale: internal +ha_release: '0.50' +ha_quality_scale: internal --- The `intent_script` integration allows users to configure actions and responses to intents. Intents can be fired by any integration that supports it. Examples are [Alexa](/integrations/alexa/) (Amazon Echo), [Dialogflow](/integrations/dialogflow/) (Google Assistant) and [Snips](/integrations/snips/). diff --git a/source/_integrations/intesishome.markdown b/source/_integrations/intesishome.markdown new file mode 100644 index 00000000000..105c551fd84 --- /dev/null +++ b/source/_integrations/intesishome.markdown @@ -0,0 +1,54 @@ +--- +title: IntesisHome +description: Instructions how to integrate IntesisHome AC devices with Home Assistant +logo: intesishome.png +ha_category: Climate +ha_release: 0.104 +ha_iot_class: Cloud Push +--- + +The `IntesisHome` climate platform lets you control [IntesisHome](https://www.intesishome.com) and [Airconwithme](https://www.airconwithme.com) devices. IntesisHome provides integrations with air conditioners, including Panasonic, Daikin, Fujitsu, Toshiba, LG and more. + +Note: IntesisHome products are a separate product line to IntesisBox. This platform does not support IntesisBox devices (which can be controlled locally using the WMP protocol). + +## Configuration + +To set it up, add the following information to your `configuration.yaml` file: + +```yaml +climate: + - platform: intesishome + username: YOUR_USERNAME + password: YOUR_PASSWORD +``` + +{% configuration %} +username: + description: "Your username for [IntesisHome.com](https://user.intesishome.com) / [Airconwithme](https://user.airconwithme.com)" + required: true + type: string +password: + description: Your password for IntesisHome + required: true + type: string +device: + description: "`IntesisHome` or `airconwithme`." + required: false + default: IntesisHome + type: string +{% endconfiguration %} + +This component opens a TCP connection with the IntesisHome API to receive temperature and status updates, and to issue commands. +By default, the component will be named using the friendly device name from the IntesisHome website or application. +If internet connectivity is lost, the device will be marked as unavailable after 5 minutes. + +### Supported services + +Available services: + +- `climate.set_temperature` +- `climate.set_fan_mode` +- `climate.set_operation_mode` +- `climate.set_swing_mode` +- `climate.turn_on` +- `climate.turn_off` diff --git a/source/_integrations/ios.markdown b/source/_integrations/ios.markdown index 449d57d8b63..c1edb27575b 100644 --- a/source/_integrations/ios.markdown +++ b/source/_integrations/ios.markdown @@ -1,11 +1,14 @@ --- -title: "iOS" -description: "Instructions on how to use the iOS companion app with Home Assistant." +title: Apple iOS +description: Instructions on how to use the iOS companion app with Home Assistant. logo: apple.png ha_category: - Hub ha_release: 0.31 ha_iot_class: Configurable +ha_config_flow: true +ha_codeowners: + - '@robbiet480' --- The `ios` integration is the Home Assistant part for using the iOS companion app. For further details please check the [iOS section](/docs/ecosystem/ios/) in the documentation for further details. diff --git a/source/_integrations/iota.markdown b/source/_integrations/iota.markdown index 607de048798..e1ee6c74064 100644 --- a/source/_integrations/iota.markdown +++ b/source/_integrations/iota.markdown @@ -1,6 +1,6 @@ --- -title: "IOTA" -description: "Instructions on how to integrate IOTA wallets with Home Assistant." +title: IOTA +description: Instructions on how to integrate IOTA wallets with Home Assistant. logo: iota.png ha_category: - Finance diff --git a/source/_integrations/iperf3.markdown b/source/_integrations/iperf3.markdown index 5513ccb726b..19daab71d12 100644 --- a/source/_integrations/iperf3.markdown +++ b/source/_integrations/iperf3.markdown @@ -1,12 +1,14 @@ --- -title: "Iperf3 Sensor" -description: "How to use Iperf3 within Home Assistant to measure your network bandwidth." +title: Iperf3 +description: How to use Iperf3 within Home Assistant to measure your network bandwidth. logo: iperf3.png ha_category: - System Monitor - Sensor ha_release: 0.71 ha_iot_class: Local Polling +ha_codeowners: + - '@rohankapoorcom' --- The `iperf3` sensor integration allows you to measure network bandwidth performance against a private or public [Iperf3](https://software.es.net/iperf/index.html) server. diff --git a/source/_integrations/ipma.markdown b/source/_integrations/ipma.markdown index 0edf8d6f9c9..d067a858a37 100644 --- a/source/_integrations/ipma.markdown +++ b/source/_integrations/ipma.markdown @@ -1,11 +1,14 @@ --- -title: "IPMA" -description: "Instructions on how to integrate Instituto PortuguĆŖs do Mar e Atmosfera weather conditions into Home Assistant." +title: Instituto PortuguĆŖs do Mar e Atmosfera (IPMA) +description: Instructions on how to integrate Instituto PortuguĆŖs do Mar e Atmosfera weather conditions into Home Assistant. logo: ipma.png ha_category: - Weather ha_release: 0.72 ha_iot_class: Cloud Polling +ha_config_flow: true +ha_codeowners: + - '@dgomes' --- The `ipma` weather platform uses the [Instituto PortuguĆŖs do Mar e Atmosfera](https://www.ipma.pt/) as a source for current and forecast meteorological data. diff --git a/source/_integrations/iqvia.markdown b/source/_integrations/iqvia.markdown index b496ee3bb3f..fca24f1c3c5 100644 --- a/source/_integrations/iqvia.markdown +++ b/source/_integrations/iqvia.markdown @@ -1,11 +1,14 @@ --- -title: "IQVIA" -description: "Instructions on how to use IQVIA data within Home Assistant" +title: IQVIA +description: Instructions on how to use IQVIA data within Home Assistant logo: iqvia.png ha_category: - Health ha_release: 0.63 ha_iot_class: Cloud Polling +ha_config_flow: true +ha_codeowners: + - '@bachya' --- The `iqvia` sensor platform collects and displays allergy, asthma and disease diff --git a/source/_integrations/irish_rail_transport.markdown b/source/_integrations/irish_rail_transport.markdown index 96e6fd4244d..f61d4e61ef3 100644 --- a/source/_integrations/irish_rail_transport.markdown +++ b/source/_integrations/irish_rail_transport.markdown @@ -1,11 +1,13 @@ --- -title: "Irish Rail Transport" -description: "Instructions on how to integrate timetable data for traveling on Irish Rail within Home Assistant." +title: Irish Rail Transport +description: Instructions on how to integrate timetable data for traveling on Irish Rail within Home Assistant. logo: irishrail.png ha_category: - Transport ha_iot_class: Cloud Polling ha_release: 0.57 +ha_codeowners: + - '@ttroy50' --- The `irish_rail_transport` sensor will give you the time until the next two departures (within 90 minutes) from an Irish Rail station using the RTPI information. diff --git a/source/_integrations/islamic_prayer_times.markdown b/source/_integrations/islamic_prayer_times.markdown index 0e310132f11..89d5c5ee458 100644 --- a/source/_integrations/islamic_prayer_times.markdown +++ b/source/_integrations/islamic_prayer_times.markdown @@ -1,6 +1,6 @@ --- -title: "Islamic Prayer Times" -description: "Instructions on how to integrate the Islamic Prayer Times sensor within Home Assistant." +title: Islamic Prayer Times +description: Instructions on how to integrate the Islamic Prayer Times sensor within Home Assistant. ha_category: - Sensor ha_iot_class: Cloud Polling diff --git a/source/_integrations/iss.markdown b/source/_integrations/iss.markdown index d1e605bc316..a2323e1d04e 100644 --- a/source/_integrations/iss.markdown +++ b/source/_integrations/iss.markdown @@ -1,6 +1,6 @@ --- -title: "International Space Station" -description: "Know if or when ISS will be above your home location" +title: International Space Station (ISS) +description: Know if or when ISS will be above your home location logo: nasa.png ha_category: - Binary Sensor diff --git a/source/_integrations/isy994.markdown b/source/_integrations/isy994.markdown index 9bde4e8c6d1..51191ff5696 100644 --- a/source/_integrations/isy994.markdown +++ b/source/_integrations/isy994.markdown @@ -1,6 +1,6 @@ --- -title: "ISY994 Controller" -description: "Instructions on how to setup the ISY994 controller within Home Assistant." +title: Universal Devices ISY994 +description: Instructions on how to setup the ISY994 controller within Home Assistant. logo: universal_devices.png ha_category: - Hub diff --git a/source/_integrations/itach.markdown b/source/_integrations/itach.markdown index df89a06320c..0607e4afb4d 100644 --- a/source/_integrations/itach.markdown +++ b/source/_integrations/itach.markdown @@ -1,6 +1,6 @@ --- -title: "iTach Remote" -description: "Instructions on how to integrate a Global CachĆ© iTach IP2IR gateway into Home Assistant." +title: Global CachĆ© iTach TCP/IP to IR +description: Instructions on how to integrate a Global CachĆ© iTach IP2IR gateway into Home Assistant. logo: globalcache.png ha_category: - Remote diff --git a/source/_integrations/itunes.markdown b/source/_integrations/itunes.markdown index 315d59af959..a578ea71bda 100644 --- a/source/_integrations/itunes.markdown +++ b/source/_integrations/itunes.markdown @@ -1,6 +1,6 @@ --- -title: "iTunes" -description: "Instructions on how to integrate iTunes into Home Assistant." +title: Apple iTunes +description: Instructions on how to integrate iTunes into Home Assistant. logo: itunes.png ha_category: - Media Player @@ -8,7 +8,6 @@ ha_release: 0.7.3 ha_iot_class: Local Polling --- - The `itunes` media player platform allows you to control [iTunes](https://apple.com/itunes/) from Home Assistant. It uses a 3rd party server that you run on your Mac called [itunes-api](https://github.com/maddox/itunes-api). Play, pause or skip songs remotely on iTunes running on your Mac. In addition to controlling iTunes, your available AirPlay endpoints will be added as media players as well. You can then individually address them and turn them on, turn them off or adjust their volume. diff --git a/source/_integrations/izone.markdown b/source/_integrations/izone.markdown index ace8b1bff1b..6975626885b 100644 --- a/source/_integrations/izone.markdown +++ b/source/_integrations/izone.markdown @@ -1,10 +1,13 @@ --- -title: "iZone climate control" -description: "Instructions on how to integrate iZone climate control devices with Home Assistant." +title: iZone +description: Instructions on how to integrate iZone climate control devices with Home Assistant. ha_category: - Climate -ha_release: "0.100" +ha_release: '0.100' ha_iot_class: Local Push +ha_config_flow: true +ha_codeowners: + - '@Swamp-Ig' --- The `iZone` integration allows access of control of a local [iZone](https://izone.com.au/) ducted reverse-cycle climate control devices. These are largely available in Australia. diff --git a/source/_integrations/jewish_calendar.markdown b/source/_integrations/jewish_calendar.markdown index e772b887a43..bf43f8e8622 100644 --- a/source/_integrations/jewish_calendar.markdown +++ b/source/_integrations/jewish_calendar.markdown @@ -1,10 +1,12 @@ --- -title: "Jewish Calendar" -description: "Instructions on how to integrate the Jewish Calendar integration within Home Assistant." +title: Jewish Calendar +description: Instructions on how to integrate the Jewish Calendar integration within Home Assistant. ha_category: - Calendar ha_iot_class: Local Polling ha_release: 0.79 +ha_codeowners: + - '@tsvi' --- The Jewish Calendar (`jewish_calendar`) sensor platform displays a variety of information related to the Jewish Calendar as a variety of sensors. diff --git a/source/_integrations/joaoapps_join.markdown b/source/_integrations/joaoapps_join.markdown index 06fbffeff2d..f16d6782287 100644 --- a/source/_integrations/joaoapps_join.markdown +++ b/source/_integrations/joaoapps_join.markdown @@ -1,6 +1,6 @@ --- -title: "Joaoapps Join" -description: "Instructions for how to integrate the Join by Joaoapps service within Home Assistant." +title: Joaoapps Join +description: Instructions for how to integrate the Join by Joaoapps service within Home Assistant. logo: joaoapps_join.png ha_category: - Hub diff --git a/source/_integrations/juicenet.markdown b/source/_integrations/juicenet.markdown index 15fca05b5ac..9ae1709b0c7 100644 --- a/source/_integrations/juicenet.markdown +++ b/source/_integrations/juicenet.markdown @@ -1,6 +1,6 @@ --- -title: "Juicenet" -description: "Instructions on how to setup WiFi-equipped Juicenet charging stations with Home Assistant." +title: JuiceNet +description: Instructions on how to setup WiFi-equipped Juicenet charging stations with Home Assistant. logo: juicenet.png ha_category: - Car @@ -9,6 +9,8 @@ ha_category: - Switch ha_iot_class: Cloud Polling ha_release: 0.47 +ha_codeowners: + - '@jesserockz' --- The `juicenet` sensor platform pulls data from a [JuiceNet](https://emotorwerks.com/products/juicenet/) charging station equipped with a wifi connection. It will access and make available all of the devices attached to your account. It also exposes a switch allowing you to charge your car now instead of waiting for the pre-set schedule. diff --git a/source/_integrations/kaiterra.markdown b/source/_integrations/kaiterra.markdown index 0ff306b1538..ffc56575f6d 100644 --- a/source/_integrations/kaiterra.markdown +++ b/source/_integrations/kaiterra.markdown @@ -1,11 +1,13 @@ --- -title: "Kaiterra" -description: "Instructions on how to integrate your Kaiterra device into Home Assistant." +title: Kaiterra +description: Instructions on how to integrate your Kaiterra device into Home Assistant. logo: kaiterra.svg ha_iot_class: Cloud Polling ha_category: - Health -ha_release: "0.100" +ha_release: '0.100' +ha_codeowners: + - '@Michsior14' --- The `kaiterra` integration allows you to view the readings from your Laser Egg or Sensedge device using the [Kaiterra REST API](https://www.kaiterra.com/dev/). diff --git a/source/_integrations/kankun.markdown b/source/_integrations/kankun.markdown index 8c7c92c05c5..b844f607047 100644 --- a/source/_integrations/kankun.markdown +++ b/source/_integrations/kankun.markdown @@ -1,6 +1,6 @@ --- -title: "Kankun SP3 Wifi Switch" -description: "Instructions for the Kankun SP3 Wifi switch" +title: Kankun +description: Instructions for the Kankun SP3 Wifi switch ha_category: - Switch ha_release: 0.36 diff --git a/source/_integrations/keba.markdown b/source/_integrations/keba.markdown index 07ba54e7cbb..80e7a9e06a3 100644 --- a/source/_integrations/keba.markdown +++ b/source/_integrations/keba.markdown @@ -1,15 +1,17 @@ --- -title: "Keba Charging Station" -description: "Instructions on how to setup your Keba charging station with Home Assistant." +title: Keba Charging Station +description: Instructions on how to setup your Keba charging station with Home Assistant. logo: keba.png ha_category: - Binary Sensor - Lock - Sensor ha_release: 0.98 +ha_codeowners: + - '@dannerph' --- -The `keba` integrates your Keba charging station (wallbox) into your home assistant instance. It was tested with a BMW Wallbox but should also work with a Keba P20/P30 according to the developers [manual](https://www.keba.com/web/downloads/e-mobility/KeContact_P20_P30_UDP_ProgrGuide_en.pdf). The fetching interval to the charging station is set to 5 seconds, same as in the official mobile app. +The `keba` integrates your Keba charging station (wallbox) into your Home Assistant instance. It was tested with a BMW Wallbox but should also work with a Keba P20/P30 according to the developers [manual](https://www.keba.com/web/downloads/e-mobility/KeContact_P20_P30_UDP_ProgrGuide_en.pdf). The fetching interval to the charging station is set to 5 seconds, same as in the official mobile app. This component provides the following platforms: @@ -44,7 +46,7 @@ keba: type: string default: "00845500" failsafe: - description: Enable failsafe mode at home assistant startup. + description: Enable failsafe mode at Home Assistant startup. required: false type: boolean default: false diff --git a/source/_integrations/keenetic_ndms2.markdown b/source/_integrations/keenetic_ndms2.markdown index edafdf0b1cd..113b0d97fe1 100644 --- a/source/_integrations/keenetic_ndms2.markdown +++ b/source/_integrations/keenetic_ndms2.markdown @@ -1,10 +1,12 @@ --- -title: "Keenetic NDMS2 Routers" -description: "Instructions on how to integrate Keenetic NDMS2 Routers into Home Assistant." +title: Keenetic NDMS2 Routers +description: Instructions on how to integrate Keenetic NDMS2 Routers into Home Assistant. logo: keenetic.png ha_category: - Presence Detection ha_release: 0.54 +ha_codeowners: + - '@foxel' --- This integration offers presence detection by examining devices connected to a [Keenetic](https://keenetic.net/) diff --git a/source/_integrations/kef.markdown b/source/_integrations/kef.markdown new file mode 100644 index 00000000000..a6f3fb0f94f --- /dev/null +++ b/source/_integrations/kef.markdown @@ -0,0 +1,85 @@ +--- +title: KEF +description: Instructions on how to integrate KEF Speakers into Home Assistant. +logo: kef.png +ha_category: + - Media Player +ha_iot_class: Local Polling +ha_release: 0.104 +--- + +The `kef` platform allows you to control the [KEF LS50 Wireless](https://international.kef.com/products/ls50-wireless) and [KEF LSX](https://international.kef.com/products/lsx) speakers from Home Assistant. + +Supported devices: + +- KEF LS50 Wireless +- KEF LSX (untested) + +To add KEF Speakers to your installation, add the following to your `configuration.yaml` file: + +## Configuration + +```yaml +# Example configuration.yaml entry +- platform: kef + host: IP_ADDRESS + type: LS50 +``` + +{% configuration %} +host: + description: "IP address of the device. Example: 192.168.1.32" + required: true + type: string +type: + description: The speaker type, either `LS50` or `LSX`. + required: true + type: string +name: + description: The name of the device + required: false + default: KEF + type: string +port: + description: The port of the device + required: false + default: 50001 + type: integer +maximum_volume: + description: Maximum volume allowed. Number between 0 and 1. + required: false + default: 0.5 + type: float +volume_step: + description: Volume step when increasing volume. + required: false + default: 0.05 + type: float +inverse_speaker_mode: + description: Switch channels from L/R to R/L. + required: false + default: false + type: boolean +standby_time: + description: The speakers automatically turn to standby mode after either `20` or `60` minutes. Leave out for the speaker to never go into standby mode. + required: false + type: integer +{% endconfiguration %} + +## Advanced configuration example + +```yaml +# Example configuration.yaml entry +- platform: kef + host: IP_ADDRESS + type: LS50 + name: My KEF speakers + maximum_volume: 0.6 + volume_step: 0.05 +``` + +Notes: + +- The LS50 Wireless is tested with the latest firmware of 19-11-2019: `p6.3001902221.105039422` and older firmware: `p6.2101809171.105039422` + +[KEF Speakers]: /integrations/kef/ diff --git a/source/_integrations/keyboard.markdown b/source/_integrations/keyboard.markdown index 9443bd255fe..6731612aa71 100644 --- a/source/_integrations/keyboard.markdown +++ b/source/_integrations/keyboard.markdown @@ -1,6 +1,6 @@ --- -title: "Keyboard" -description: "Instructions on how to simulate key presses with Home Assistant." +title: Keyboard +description: Instructions on how to simulate key presses with Home Assistant. logo: keyboard.png ha_category: - Automation diff --git a/source/_integrations/keyboard_remote.markdown b/source/_integrations/keyboard_remote.markdown index 39a040962ca..4c58c8d2531 100644 --- a/source/_integrations/keyboard_remote.markdown +++ b/source/_integrations/keyboard_remote.markdown @@ -1,11 +1,13 @@ --- -title: "Keyboard Remote" -description: "Instructions on how to use a keyboard to remote control Home Assistant." +title: Keyboard Remote +description: Instructions on how to use a keyboard to remote control Home Assistant. logo: keyboard.png ha_category: - Other ha_release: 0.29 ha_iot_class: Local Push +ha_codeowners: + - '@bendavid' --- Receive signals from a keyboard and use it as a remote control. diff --git a/source/_integrations/kira.markdown b/source/_integrations/kira.markdown index 3e5eb9c3ece..88c69594478 100644 --- a/source/_integrations/kira.markdown +++ b/source/_integrations/kira.markdown @@ -1,6 +1,6 @@ --- -title: "Kira" -description: "Instructions on how to integrate Keene Electronics IR over IP modules (Kira) into Home Assistant." +title: Kira +description: Instructions on how to integrate Keene Electronics IR over IP modules (Kira) into Home Assistant. logo: keene.png ha_category: - Hub diff --git a/source/_integrations/kiwi.markdown b/source/_integrations/kiwi.markdown index 9aaa8cf5804..b739ce3257a 100644 --- a/source/_integrations/kiwi.markdown +++ b/source/_integrations/kiwi.markdown @@ -1,6 +1,6 @@ --- -title: "KIWI Lock" -description: "Instructions on how to integrate KIWI Smart Lock and Smart Entry." +title: KIWI +description: Instructions on how to integrate KIWI Smart Lock and Smart Entry. logo: kiwi.png ha_category: - Lock diff --git a/source/_integrations/knx.markdown b/source/_integrations/knx.markdown index e1cbe909725..056ad86f69b 100644 --- a/source/_integrations/knx.markdown +++ b/source/_integrations/knx.markdown @@ -1,11 +1,13 @@ --- -title: "KNX" -description: "Instructions on how to integrate KNX components with Home Assistant." +title: KNX +description: Instructions on how to integrate KNX components with Home Assistant. logo: knx.png ha_category: - Hub ha_release: 0.24 ha_iot_class: Local Push +ha_codeowners: + - '@Julius2342' --- The [KNX](https://www.knx.org) integration for Home Assistant allows you to connect to a KNX/IP devices. diff --git a/source/_integrations/kodi.markdown b/source/_integrations/kodi.markdown index 01e48287370..870979b3f4a 100644 --- a/source/_integrations/kodi.markdown +++ b/source/_integrations/kodi.markdown @@ -1,12 +1,14 @@ --- -title: "Kodi" -description: "Instructions on how to integrate Kodi into Home Assistant." +title: Kodi +description: Instructions on how to integrate Kodi into Home Assistant. logo: kodi.png ha_category: - Notifications - Media Player ha_release: pre 0.7 ha_iot_class: Local Push +ha_codeowners: + - '@armills' --- The `kodi` platform allows you to control a [Kodi](https://kodi.tv/) multimedia system from Home Assistant. diff --git a/source/_integrations/konnected.markdown b/source/_integrations/konnected.markdown index 4d537224d01..876f2913231 100644 --- a/source/_integrations/konnected.markdown +++ b/source/_integrations/konnected.markdown @@ -1,13 +1,15 @@ --- -title: "Konnected" -description: "Connect wired alarm sensors and siren using the NodeMCU based Konnected Alarm Panel" +title: Konnected +description: Connect wired alarm sensors and siren using the NodeMCU based Konnected Alarm Panel logo: konnected.png ha_category: - Alarm - Binary Sensor - Switch - Sensor -ha_release: "0.70" +ha_release: '0.70' +ha_codeowners: + - '@heythisisnate' --- The `konnected` integration lets you connect wired sensors and switches to a NodeMCU ESP8226 based device running the [open source Konnected software](https://github.com/konnected-io/konnected-security). Reuse the wired sensors and siren from an old or pre-wired alarm system installation and integrate them directly into Home Assistant. @@ -296,4 +298,4 @@ This integration supports all of the built-in device classes of the generic [Bin ### Switch -The `konnected` switch platform allows you to actuate an alarm system siren, strobe light, buzzer or any other wired device using a [Konnected Alarm Panel board](https://konnected.io) or relay module and a NodeMCU ESP8266 WiFi module running the [open source Konnected software](https://github.com/konnected-io/konnected-security). \ No newline at end of file +The `konnected` switch platform allows you to actuate an alarm system siren, strobe light, buzzer or any other wired device using a [Konnected Alarm Panel board](https://konnected.io) or relay module and a NodeMCU ESP8266 WiFi module running the [open source Konnected software](https://github.com/konnected-io/konnected-security). diff --git a/source/_integrations/kwb.markdown b/source/_integrations/kwb.markdown index fca97426250..54cff2e662d 100644 --- a/source/_integrations/kwb.markdown +++ b/source/_integrations/kwb.markdown @@ -1,11 +1,11 @@ --- -title: "KWB Easyfire Sensor" -description: "Instructions on how to integrate the KWB Easyfire sensor into Home Assistant." +title: KWB Easyfire +description: Instructions on how to integrate the KWB Easyfire sensor into Home Assistant. logo: kwb.png ha_category: - Sensor ha_iot_class: Local Polling -ha_release: "0.40" +ha_release: '0.40' --- The `kwb` integration integrates the sensors of KWB Easyfire pellet central heating units with the Comfort3 controller (https://www.kwb.net/produkte/) into Home Assistant. diff --git a/source/_integrations/lacrosse.markdown b/source/_integrations/lacrosse.markdown index 2b2ed25f101..66aa1f2da55 100644 --- a/source/_integrations/lacrosse.markdown +++ b/source/_integrations/lacrosse.markdown @@ -1,6 +1,6 @@ --- -title: "LaCrosse Sensor" -description: "Instructions on how to integrate LaCrosse sensor data received from Jeelink into Home Assistant." +title: LaCrosse +description: Instructions on how to integrate LaCrosse sensor data received from Jeelink into Home Assistant. logo: home-assistant.png ha_category: - DIY diff --git a/source/_integrations/lametric.markdown b/source/_integrations/lametric.markdown index 18879c0155e..fbb78b631f0 100644 --- a/source/_integrations/lametric.markdown +++ b/source/_integrations/lametric.markdown @@ -1,11 +1,13 @@ --- -title: "LaMetric" -description: "Instructions on how to integrate LaMetric with Home Assistant." +title: LaMetric +description: Instructions on how to integrate LaMetric with Home Assistant. logo: lametric.png ha_category: - Hub - Notifications ha_release: 0.49 +ha_codeowners: + - '@robbiet480' --- [LaMetric Time](https://lametric.com/) is a smart clock that can be used to access applications, listen to web radio and display notifications. diff --git a/source/_integrations/lannouncer.markdown b/source/_integrations/lannouncer.markdown index 075a1ab45b1..ebae5eca4a5 100644 --- a/source/_integrations/lannouncer.markdown +++ b/source/_integrations/lannouncer.markdown @@ -1,6 +1,6 @@ --- -title: "Lannouncer" -description: "Instructions on how to add Lannouncer notifications to Home Assistant." +title: LANnouncer +description: Instructions on how to add Lannouncer notifications to Home Assistant. logo: lannouncer.png ha_category: - Notifications diff --git a/source/_integrations/lastfm.markdown b/source/_integrations/lastfm.markdown index 307ace29909..b0b04627c5e 100644 --- a/source/_integrations/lastfm.markdown +++ b/source/_integrations/lastfm.markdown @@ -1,11 +1,11 @@ --- -title: "Last.fm" -description: "Instructions on how to integrate Last.fm sensors into Home Assistant." +title: Last.fm +description: Instructions on how to integrate Last.fm sensors into Home Assistant. logo: lastfm.png ha_category: - Social ha_iot_class: Cloud Polling -ha_release: "0.20" +ha_release: '0.20' --- The `lastfm` sensor platform will allow you to see whenever a user starts scrobbling, their play count, last song played, and top song played on [Last.fm](https://www.last.fm/). diff --git a/source/_integrations/launch_library.markdown b/source/_integrations/launch_library.markdown index dba4672fe7e..aa94baab894 100644 --- a/source/_integrations/launch_library.markdown +++ b/source/_integrations/launch_library.markdown @@ -1,11 +1,13 @@ --- -title: "Space Launch sensor" -description: "Instructions on how to integrate space launch information within Home Assistant." +title: Launch Library +description: Instructions on how to integrate space launch information within Home Assistant. logo: rocket.png ha_category: - Sensor ha_iot_class: Cloud Polling ha_release: 0.83 +ha_codeowners: + - '@ludeeus' --- The `launch_library` sensor will provide you with information about the next planned space launch. diff --git a/source/_integrations/lcn.markdown b/source/_integrations/lcn.markdown index 32e73f417eb..f31bf090cf1 100644 --- a/source/_integrations/lcn.markdown +++ b/source/_integrations/lcn.markdown @@ -1,6 +1,6 @@ --- -title: "LCN" -description: "Instructions on how to integrate LCN components with Home Assistant." +title: LCN +description: Instructions on how to integrate LCN components with Home Assistant. logo: lcn.png ha_category: - Hub @@ -13,6 +13,8 @@ ha_category: - Switch ha_release: 0.85 ha_iot_class: Local Push +ha_codeowners: + - '@alengwenus' --- The `lcn` integration for Home Assistant allows you to connect to [LCN](https://www.lcn.eu/) hardware devices. diff --git a/source/_integrations/lg_netcast.markdown b/source/_integrations/lg_netcast.markdown index 9ea27c03390..5f7c0d407e9 100644 --- a/source/_integrations/lg_netcast.markdown +++ b/source/_integrations/lg_netcast.markdown @@ -1,11 +1,11 @@ --- -title: "LG Netcast TV" -description: "Instructions on how to integrate a LG TV (Netcast 3.0 & 4.0) within Home Assistant." +title: LG Netcast +description: Instructions on how to integrate a LG TV (Netcast 3.0 & 4.0) within Home Assistant. logo: lg.png ha_category: - Media Player ha_iot_class: Local Polling -ha_release: "0.20" +ha_release: '0.20' --- The `lg_netcast` platform allows you to control a LG Smart TV running NetCast 3.0 (LG Smart TV models released in 2012) and NetCast 4.0 (LG Smart TV models released in 2013). For the new LG WebOS TV's use the [webostv](/integrations/webostv#media-player) platform. diff --git a/source/_integrations/lg_soundbar.markdown b/source/_integrations/lg_soundbar.markdown index 53d251a50ae..4f558d84c30 100644 --- a/source/_integrations/lg_soundbar.markdown +++ b/source/_integrations/lg_soundbar.markdown @@ -1,6 +1,6 @@ --- -title: "LG Soundbars" -description: "Instructions on how to integrate LG Soundbars into Home Assistant." +title: LG Soundbars +description: Instructions on how to integrate LG Soundbars into Home Assistant. logo: lg.png ha_category: - Media Player diff --git a/source/_integrations/life360.markdown b/source/_integrations/life360.markdown index d618a331434..55bdcee2609 100644 --- a/source/_integrations/life360.markdown +++ b/source/_integrations/life360.markdown @@ -1,12 +1,14 @@ --- -title: "Life360" -description: "Instructions how to use Life360 to track devices in Home Assistant." +title: Life360 +description: Instructions how to use Life360 to track devices in Home Assistant. logo: life360.png ha_release: 0.95 ha_config_flow: true ha_category: - Presence Detection ha_iot_class: Cloud Polling +ha_codeowners: + - '@pnbruckner' --- The `life360` integration allows you to detect presence using the [unofficial API](#disclaimer) of [Life360](https://www.life360.com/). diff --git a/source/_integrations/lifx.markdown b/source/_integrations/lifx.markdown index bc3b9a39b42..406fab6e5e5 100644 --- a/source/_integrations/lifx.markdown +++ b/source/_integrations/lifx.markdown @@ -1,11 +1,12 @@ --- -title: "LIFX" -description: "Instructions on how to integrate LIFX into Home Assistant." +title: LIFX +description: Instructions on how to integrate LIFX into Home Assistant. logo: lifx.png ha_category: - Light ha_iot_class: Local Polling ha_release: 0.81 +ha_config_flow: true --- The `lifx` integration allows you to integrate your [LIFX](https://www.lifx.com) into Home Assistant. @@ -20,7 +21,7 @@ The LIFX bulbs allow a change of color and brightness even when they are turned The normal `light.turn_on` call cannot be used for this because it always turns the power on. Thus, LIFX has its own service call that allows color changes without affecting the current power state. -### Service `light.lifx_set_state` +### Service `lifx.set_state` Change the light to a new state. @@ -54,7 +55,7 @@ script: colorloop_start: alias: 'Start colorloop' sequence: - - service: light.lifx_effect_colorloop + - service: lifx.effect_colorloop data: entity_id: group.livingroom brightness: 255 diff --git a/source/_integrations/lifx_cloud.markdown b/source/_integrations/lifx_cloud.markdown index 97d8b109e14..bc7e58024b2 100644 --- a/source/_integrations/lifx_cloud.markdown +++ b/source/_integrations/lifx_cloud.markdown @@ -1,6 +1,6 @@ --- -title: "LIFX Cloud Scenes" -description: "Instructions on using native LIFX scenes with Home Assistant." +title: LIFX Cloud +description: Instructions on using native LIFX scenes with Home Assistant. logo: lifx.png ha_category: - Scene diff --git a/source/_integrations/light.group.markdown b/source/_integrations/light.group.markdown index 4b044f225ad..c4362cff627 100644 --- a/source/_integrations/light.group.markdown +++ b/source/_integrations/light.group.markdown @@ -6,7 +6,7 @@ ha_category: ha_release: 0.65 ha_iot_class: Local Push logo: home-assistant.png -ha_qa_scale: internal +ha_quality_scale: internal --- The group light platform lets you combine multiple lights into one entity. All child lights of a light group can still be used as usual, but controlling the state of the grouped light will forward the command to each child light. diff --git a/source/_integrations/light.markdown b/source/_integrations/light.markdown index 0e623c64b0a..64cce7036d9 100644 --- a/source/_integrations/light.markdown +++ b/source/_integrations/light.markdown @@ -1,11 +1,11 @@ --- -title: "Light" -description: "Instructions on how to setup your lights with Home Assistant." +title: Light +description: Instructions on how to setup your lights with Home Assistant. logo: home-assistant.png ha_category: - Light -ha_qa_scale: internal ha_release: pre 0.7 +ha_quality_scale: internal --- This integration allows you to track and control various light bulbs. Read the integration documentation for your particular light hardware to learn how to enable it. @@ -24,7 +24,7 @@ Most lights do not support all attributes. You can check the integration documen | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `entity_id` | yes | String or list of strings that point at `entity_id`s of lights. Else targets all. +| `entity_id` | no | String or list of strings that point at `entity_id`s of lights. To target all the lights use all as `entity_id`. | `transition` | yes | Number that represents the time (in seconds) the light should take to transition to the new state. | `profile` | yes | String with the name of one of the [built-in profiles](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/light/light_profiles.csv) (relax, energize, concentrate, reading) or one of the custom profiles defined in `light_profiles.csv` in the current working directory. Light profiles define an xy color and a brightness. If a profile is given and a brightness then the profile brightness will be overwritten. | `hs_color` | yes | A list containing two floats representing the hue and saturation of the color you want the light to be. Hue is scaled 0-360, and saturation is scaled 0-100. @@ -82,7 +82,7 @@ Turns one or multiple lights off. | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `entity_id` | yes | String or list of strings that point at `entity_id`s of lights. Else targets all. +| `entity_id` | no | String or list of strings that point at `entity_id`s of lights. To target all the lights use all as `entity_id`. | `transition` | yes | Integer that represents the time the light should take to transition to the new state in seconds. ### Service `light.toggle` @@ -91,4 +91,3 @@ Toggles the state of one or multiple lights using [groups]({{site_root}}/integra Takes the same arguments as [`turn_on`](#service-lightturn_on) service. *Note*: If `light.toggle` is used for a group of lights, it will toggle the individual state of each light. - diff --git a/source/_integrations/light.mqtt.markdown b/source/_integrations/light.mqtt.markdown index 99405735d26..cdcd0c6db22 100644 --- a/source/_integrations/light.mqtt.markdown +++ b/source/_integrations/light.mqtt.markdown @@ -650,7 +650,7 @@ light: - [AiLight](https://github.com/stelgenhof/AiLight) is a custom firmware for the Ai-Thinker (and equivalent) RGBW WiFi light bulbs that has an ESP8266 onboard and controlled by the MY9291 LED driver. It implements the [MQTT JSON light](/integrations/light.mqtt) platform and supports ON/OFF, RGBW colours, brightness, colour temperature, flashing and transitions. Also it includes [MQTT Auto Discovery](/docs/mqtt/discovery/)) and the MQTT Last Will and Testament is enabled as well. -- [h801-mqtt-json](https://github.com/starkillerOG/h801-mqtt-json) is a custom firmware for the H801 LED dimmer, a 5 channel (RGBWWCW) WiFi LED strip controller for 12V LED strips. The firmware is meant to control the 5 channels of the H801 to simultaneously control an RGB and a Warm-white/Cold-white Led strip such as an 5050 RGB LED strip and a 5025 Dual White strip. It implements the [MQTT JSON light](/integrations/light.mqtt) platform and supports ON/OFF, RGBW colours (RGB strip), brightness, color temperature (CW/WW strip) and transitions. +- [h801-mqtt-json](https://github.com/starkillerOG/h801-mqtt-json) is a custom firmware for the H801 LED dimmer, a 5 channel (RGBWWCW) WiFi LED strip controller for 12V LED strips. The firmware is meant to control the 5 channels of the H801 to simultaneously control an RGB and a Warm-white/Cold-white Led strip such as a 5050 RGB LED strip and a 5025 Dual White strip. It implements the [MQTT JSON light](/integrations/light.mqtt) platform and supports ON/OFF, RGBW colours (RGB strip), brightness, color temperature (CW/WW strip) and transitions. ## Template schema diff --git a/source/_integrations/light.rflink.markdown b/source/_integrations/light.rflink.markdown index 054831cffc7..98852be2d27 100644 --- a/source/_integrations/light.rflink.markdown +++ b/source/_integrations/light.rflink.markdown @@ -99,18 +99,6 @@ devices: required: false default: true type: boolean - aliasses: - description: (**deprecated**) Alternative RFLink ID's this device is known by. - required: false - type: [list, string] - group_aliasses: - description: "(**deprecated**) `aliases` which only respond to group commands." - required: false - type: [list, string] - no_group_aliasses: - description: "(**deprecated**) `aliases` which do not respond to group commands." - required: false - type: [list, string] {% endconfiguration %} ### Light state diff --git a/source/_integrations/light.switch.markdown b/source/_integrations/light.switch.markdown index 8ddacb048a0..95ff6a8d4e2 100644 --- a/source/_integrations/light.switch.markdown +++ b/source/_integrations/light.switch.markdown @@ -6,7 +6,7 @@ ha_category: ha_release: 0.83 ha_iot_class: Local Push logo: home-assistant.png -ha_qa_scale: internal +ha_quality_scale: internal --- The light switch platform lets you control an existing switch, allowing you diff --git a/source/_integrations/light.template.markdown b/source/_integrations/light.template.markdown index d125b568789..b8088833327 100644 --- a/source/_integrations/light.template.markdown +++ b/source/_integrations/light.template.markdown @@ -6,7 +6,7 @@ ha_category: ha_release: 0.46 ha_iot_class: Local Push logo: home-assistant.png -ha_qa_scale: internal +ha_quality_scale: internal --- The `template` platform creates lights that combine integrations and provides the diff --git a/source/_integrations/lightwave.markdown b/source/_integrations/lightwave.markdown index 393cb671659..264e2ec0eb4 100644 --- a/source/_integrations/lightwave.markdown +++ b/source/_integrations/lightwave.markdown @@ -1,6 +1,6 @@ --- -title: "Lightwave" -description: "Instructions on how to integrate Lightwave devices with Home Assistant." +title: Lightwave +description: Instructions on how to integrate Lightwave devices with Home Assistant. logo: lightwave.png ha_category: - Hub diff --git a/source/_integrations/limitlessled.markdown b/source/_integrations/limitlessled.markdown index b1e336b0146..48292275fe4 100644 --- a/source/_integrations/limitlessled.markdown +++ b/source/_integrations/limitlessled.markdown @@ -1,6 +1,6 @@ --- -title: "LimitlessLED" -description: "Instructions on how to setup LimitlessLED within Home Assistant." +title: LimitlessLED +description: Instructions on how to setup LimitlessLED within Home Assistant. logo: limitlessled_logo.png ha_category: - Light @@ -8,7 +8,7 @@ ha_iot_class: Assumed State ha_release: pre 0.7 --- -`limitlessled` can control your LimitlessLED lights from within Home Assistant. The lights are also known as EasyBulb, AppLight, AppLamp, [MiLight](https://www.milight.com/), LEDme, dekolight, or iLight. +`limitlessled` can control your LimitlessLED lights from within Home Assistant. The lights are also known as EasyBulb, AppLight, AppLamp, MiLight, LEDme, dekolight, or iLight. LimitlessLED bulbs are controlled via groups, so you can only control an individual bulb via the bridge if it is in a group by itself. diff --git a/source/_integrations/linksys_smart.markdown b/source/_integrations/linksys_smart.markdown index 673e6a23ea9..9cd5ebb485c 100644 --- a/source/_integrations/linksys_smart.markdown +++ b/source/_integrations/linksys_smart.markdown @@ -1,6 +1,6 @@ --- -title: "Linksys Smart Wifi Router" -description: "Instructions on how to integrate Linksys Smart Wifi Router into Home Assistant." +title: Linksys Smart Wi-Fi +description: Instructions on how to integrate Linksys Smart Wifi Router into Home Assistant. ha_category: - Presence Detection logo: linksys.png diff --git a/source/_integrations/linky.markdown b/source/_integrations/linky.markdown index 059187b9d34..913563e68eb 100644 --- a/source/_integrations/linky.markdown +++ b/source/_integrations/linky.markdown @@ -1,12 +1,15 @@ --- -title: "Linky Sensor" -description: "Instructions on how to integrate Linky consumption data within Home Assistant." +title: Enedis Linky +description: Instructions on how to integrate Linky consumption data within Home Assistant. logo: enedis.png ha_release: 0.79 ha_category: - Energy - Sensor ha_iot_class: Cloud Polling +ha_config_flow: true +ha_codeowners: + - '@Quentame' --- The `linky` sensor platform is retrieving the consumption of your home from the [Linky electric meter](https://www.enedis.fr/linky-compteur-communicant). diff --git a/source/_integrations/linode.markdown b/source/_integrations/linode.markdown index 097b925111f..281c12f5ebe 100644 --- a/source/_integrations/linode.markdown +++ b/source/_integrations/linode.markdown @@ -1,6 +1,6 @@ --- -title: "Linode" -description: "Instructions on how to set up Linode within Home Assistant." +title: Linode +description: Instructions on how to set up Linode within Home Assistant. ha_category: - System Monitor - Binary Sensor diff --git a/source/_integrations/linux_battery.markdown b/source/_integrations/linux_battery.markdown index 63d5ecc4395..2fe86fbe4a5 100644 --- a/source/_integrations/linux_battery.markdown +++ b/source/_integrations/linux_battery.markdown @@ -1,11 +1,13 @@ --- -title: "Linux Battery" -description: "Instructions on how to integrate Linux Battery information into Home Assistant." +title: Linux Battery +description: Instructions on how to integrate Linux Battery information into Home Assistant. logo: linux_battery.png ha_category: - System Monitor ha_release: 0.28 ha_iot_class: Local Polling +ha_codeowners: + - '@fabaff' --- The `linux_battery` sensor platform is using the information stored in `/sys/class/power_supply/` on your local Linux system to display details about the current state of your battery. diff --git a/source/_integrations/lirc.markdown b/source/_integrations/lirc.markdown index 43507b1df03..ab39eb36de5 100644 --- a/source/_integrations/lirc.markdown +++ b/source/_integrations/lirc.markdown @@ -1,6 +1,6 @@ --- -title: "LIRC" -description: "Instructions on how to integrate IR remotes with LIRC into Home Assistant." +title: LIRC +description: Instructions on how to integrate IR remotes with LIRC into Home Assistant. logo: lirc.gif ha_category: - Automation diff --git a/source/_integrations/litejet.markdown b/source/_integrations/litejet.markdown index 15ad5dc2e13..fb6b8c9fadc 100644 --- a/source/_integrations/litejet.markdown +++ b/source/_integrations/litejet.markdown @@ -1,6 +1,6 @@ --- -title: "LiteJet" -description: "Instructions on how to setup the LiteJet hub within Home Assistant." +title: LiteJet +description: Instructions on how to setup the LiteJet hub within Home Assistant. logo: centralite.svg ha_category: - Light diff --git a/source/_integrations/liveboxplaytv.markdown b/source/_integrations/liveboxplaytv.markdown index 26353a990a1..3c481370564 100644 --- a/source/_integrations/liveboxplaytv.markdown +++ b/source/_integrations/liveboxplaytv.markdown @@ -1,11 +1,13 @@ --- -title: "Orange Livebox Play TV" -description: "Instructions on how to integrate a Livebox Play TV appliance into Home Assistant." +title: Orange Livebox Play TV +description: Instructions on how to integrate a Livebox Play TV appliance into Home Assistant. logo: orange.png ha_category: - Media Player ha_release: 0.38 ha_iot_class: Local Polling +ha_codeowners: + - '@pschmitt' --- The `liveboxplaytv` platform allows you to control [Orange Livebox Play TV appliances](https://boutique.orange.fr/internet/decodeur-tv-livebox). diff --git a/source/_integrations/llamalab_automate.markdown b/source/_integrations/llamalab_automate.markdown index 6aa652104fb..5b082e41200 100644 --- a/source/_integrations/llamalab_automate.markdown +++ b/source/_integrations/llamalab_automate.markdown @@ -1,6 +1,6 @@ --- -title: "LlamaLab Automate" -description: "Instructions on how to add user notifications to Home Assistant." +title: LlamaLab Automate +description: Instructions on how to add user notifications to Home Assistant. logo: llamalab_automate.png ha_category: - Notifications diff --git a/source/_integrations/local_file.markdown b/source/_integrations/local_file.markdown index 35969d5b130..71830eb98b1 100644 --- a/source/_integrations/local_file.markdown +++ b/source/_integrations/local_file.markdown @@ -1,6 +1,6 @@ --- -title: "Local File" -description: "Instructions how to use Local File as a Camera within Home Assistant." +title: Local File +description: Instructions how to use Local File as a Camera within Home Assistant. logo: file.png ha_category: - Camera diff --git a/source/_integrations/local_ip.markdown b/source/_integrations/local_ip.markdown new file mode 100644 index 00000000000..f64e15f63c8 --- /dev/null +++ b/source/_integrations/local_ip.markdown @@ -0,0 +1,29 @@ +--- +title: Local IP Address +description: Instructions on how to integrate the Local IP Address sensor into Home Assistant. +logo: home-assistant.png +ha_category: + - Network +ha_iot_class: Local Polling +ha_release: 0.105 +ha_config_flow: true +--- + +The `local_ip` sensor will expose the local (LAN) IP address of your Home Assistant instance. This can be useful when your instance has a static public hostname (for example, if you use the Nabu Casa service), but have a dynamically allocated local LAN address (for example, configured via DHCP). + +The sensor can be added via the user interface or using the `configuration.yaml` file. To enable this sensor, via the `configuration.yaml` file, add the following minimal configuration: + +```yaml +# Example configuration.yaml entry +local_ip: +``` + +To configure via the user interface, select the `Local IP Address` integration. + +{% configuration %} +name: + description: Friendly name of the sensor. + required: false + type: string + default: local_ip +{% endconfiguration %} diff --git a/source/_integrations/lock.markdown b/source/_integrations/lock.markdown index 175a7389c3f..10aac50e55c 100644 --- a/source/_integrations/lock.markdown +++ b/source/_integrations/lock.markdown @@ -1,11 +1,11 @@ --- -title: "Locks" -description: "Instructions on how to setup your locks with Home Assistant." +title: Lock +description: Instructions on how to setup your locks with Home Assistant. logo: home-assistant.png ha_category: - Lock -ha_qa_scale: internal ha_release: 0.9 +ha_quality_scale: internal --- Keeps track which locks are in your environment, their state and allows you to control them. diff --git a/source/_integrations/lock.mqtt.markdown b/source/_integrations/lock.mqtt.markdown index ecb714eaeeb..625f4ba4427 100644 --- a/source/_integrations/lock.mqtt.markdown +++ b/source/_integrations/lock.mqtt.markdown @@ -51,6 +51,16 @@ payload_unlock: required: false type: string default: UNLOCK +state_locked: + description: The value that represents the lock to be in locked state + required: false + type: string + default: locked +state_unlocked: + description: The value that represents the lock to be in unlocked state + required: false + type: string + default: unlocked optimistic: description: Flag that defines if lock works in optimistic mode. required: false diff --git a/source/_integrations/lock.template.markdown b/source/_integrations/lock.template.markdown index 74e67c1a2ee..204df904ffe 100644 --- a/source/_integrations/lock.template.markdown +++ b/source/_integrations/lock.template.markdown @@ -6,7 +6,7 @@ ha_category: ha_release: 0.81 ha_iot_class: Local Push logo: home-assistant.png -ha_qa_scale: internal +ha_quality_scale: internal --- The `template` platform creates locks that combines components. diff --git a/source/_integrations/lockitron.markdown b/source/_integrations/lockitron.markdown index 045e314c8f5..672801edf64 100644 --- a/source/_integrations/lockitron.markdown +++ b/source/_integrations/lockitron.markdown @@ -1,6 +1,6 @@ --- -title: "Lockitron Lock" -description: "Instructions on how to integrate Lockitron locks into Home Assistant." +title: Lockitron +description: Instructions on how to integrate Lockitron locks into Home Assistant. logo: lockitron.png ha_category: - Lock diff --git a/source/_integrations/logbook.markdown b/source/_integrations/logbook.markdown index 72c4c7263c3..23d20b8c37b 100644 --- a/source/_integrations/logbook.markdown +++ b/source/_integrations/logbook.markdown @@ -1,6 +1,6 @@ --- -title: "Logbook" -description: "Instructions on how to enable the logbook integration for Home Assistant." +title: Logbook +description: Instructions on how to enable the logbook integration for Home Assistant. logo: logbook.png ha_category: - History diff --git a/source/_integrations/logentries.markdown b/source/_integrations/logentries.markdown index f6b9092429b..bb4f4f7a4dc 100644 --- a/source/_integrations/logentries.markdown +++ b/source/_integrations/logentries.markdown @@ -1,6 +1,6 @@ --- -title: "Logentries" -description: "Send events to Logentries." +title: Logentries +description: Send events to Logentries. logo: logentries.png ha_category: - History @@ -25,4 +25,3 @@ token: required: true type: string {% endconfiguration %} - diff --git a/source/_integrations/logger.markdown b/source/_integrations/logger.markdown index 2d59c0b2384..3c997ae6ed0 100644 --- a/source/_integrations/logger.markdown +++ b/source/_integrations/logger.markdown @@ -1,11 +1,13 @@ --- -title: "Logger" -description: "Instructions on how to enable the logger integration for Home Assistant." +title: Logger +description: Instructions on how to enable the logger integration for Home Assistant. logo: home-assistant.png ha_category: - Utility -ha_qa_scale: internal ha_release: 0.8 +ha_quality_scale: internal +ha_codeowners: + - '@home-assistant/core' --- The `logger` integration lets you define the level of logging activities in Home diff --git a/source/_integrations/logi_circle.markdown b/source/_integrations/logi_circle.markdown index a2359ab1cbe..50343dc88a9 100644 --- a/source/_integrations/logi_circle.markdown +++ b/source/_integrations/logi_circle.markdown @@ -1,12 +1,15 @@ --- -title: "Logi Circle" -description: "Instructions on how to integrate your Logi Circle cameras within Home Assistant." +title: Logi Circle +description: Instructions on how to integrate your Logi Circle cameras within Home Assistant. logo: logi_circle.png ha_category: - Camera - Sensor ha_release: 0.79 ha_iot_class: Cloud Polling +ha_config_flow: true +ha_codeowners: + - '@evanjd' --- The `logi_circle` implementation allows you to integrate your [Logi Circle](https://circle.logi.com/) cameras in Home Assistant. To connect Logi Circle, you will have to [sign up for API access](#requesting-api-access) and get a `client_id`, `client_secret` and `api_key`. diff --git a/source/_integrations/london_air.markdown b/source/_integrations/london_air.markdown index 2fc19f24c74..05b50374b84 100644 --- a/source/_integrations/london_air.markdown +++ b/source/_integrations/london_air.markdown @@ -1,6 +1,6 @@ --- -title: "London Air Quality" -description: "Display the current status of London air quality by area and pollution type." +title: London Air +description: Display the current status of London air quality by area and pollution type. logo: waqi.png ha_category: - Health diff --git a/source/_integrations/london_underground.markdown b/source/_integrations/london_underground.markdown index 0e459945455..cb2e1ecdb23 100644 --- a/source/_integrations/london_underground.markdown +++ b/source/_integrations/london_underground.markdown @@ -1,6 +1,6 @@ --- -title: "London Underground" -description: "Display the current status of London underground & overground lines within Home Assistant." +title: London Underground +description: Display the current status of London underground & overground lines within Home Assistant. logo: london_underground.png ha_category: - Transport diff --git a/source/_integrations/loopenergy.markdown b/source/_integrations/loopenergy.markdown index d452f03e15b..c56d4ef8fb4 100644 --- a/source/_integrations/loopenergy.markdown +++ b/source/_integrations/loopenergy.markdown @@ -1,6 +1,6 @@ --- -title: "Loop Energy" -description: "Instructions on how to integrate Loop Energy devices within Home Assistant." +title: Loop Energy +description: Instructions on how to integrate Loop Energy devices within Home Assistant. logo: loop.png ha_category: - Energy diff --git a/source/_integrations/luci.markdown b/source/_integrations/luci.markdown index 5a93b535e6e..bc47df1d97b 100644 --- a/source/_integrations/luci.markdown +++ b/source/_integrations/luci.markdown @@ -1,10 +1,13 @@ --- -title: "OpenWRT (luci)" -description: "Instructions on how to integrate OpenWRT routers into Home Assistant." +title: OpenWRT (luci) +description: Instructions on how to integrate OpenWRT routers into Home Assistant. logo: openwrt.png ha_category: - Presence Detection ha_release: pre 0.7 +ha_codeowners: + - '@fbradyirl' + - '@mzdrale' --- _This is one of multiple ways we support OpenWRT. For an overview, see [openwrt](/integrations/openwrt/)._ diff --git a/source/_integrations/luftdaten.markdown b/source/_integrations/luftdaten.markdown index 45e442ae717..b6f46f8cb81 100644 --- a/source/_integrations/luftdaten.markdown +++ b/source/_integrations/luftdaten.markdown @@ -1,13 +1,16 @@ --- -title: "Luftdaten" -description: "Instructions on how to setup Luftdaten sensors in Home Assistant." +title: Luftdaten +description: Instructions on how to setup Luftdaten sensors in Home Assistant. logo: luftdaten.png ha_category: - Health - Sensor ha_release: 0.82 ha_iot_class: Cloud Polling -ha_qa_scale: gold +ha_config_flow: true +ha_quality_scale: gold +ha_codeowners: + - '@fabaff' --- The `luftdaten` integration will query the open data API of [luftdaten.info](https://luftdaten.info/) to monitor air quality and other weather data from a specific (self build) sensor station. diff --git a/source/_integrations/lupusec.markdown b/source/_integrations/lupusec.markdown index f23d4eee5f9..fecabb37fce 100644 --- a/source/_integrations/lupusec.markdown +++ b/source/_integrations/lupusec.markdown @@ -1,6 +1,6 @@ --- -title: "Lupus Electronics Home Security" -description: "Instructions on integrating Lupusec home security with Home Assistant." +title: Lupus Electronics LUPUSEC +description: Instructions on integrating Lupusec home security with Home Assistant. logo: lupusec.png ha_category: - Hub @@ -9,6 +9,8 @@ ha_category: - Switch ha_release: 0.83 ha_iot_class: Local Polling +ha_codeowners: + - '@majuss' --- The `lupusec` integration allows the user to integrate their Lupusec alarm control panel and ultimately all connected sensors and other devices. For more information about the LUPUS-Electronics security system please visit their [website](https://www.lupus-electronics.de). diff --git a/source/_integrations/lutron.markdown b/source/_integrations/lutron.markdown index e1c8c7b65b8..ae9988f9570 100644 --- a/source/_integrations/lutron.markdown +++ b/source/_integrations/lutron.markdown @@ -1,6 +1,6 @@ --- -title: "Lutron" -description: "Instructions on how to use Lutron devices with Home Assistant." +title: Lutron +description: Instructions on how to use Lutron devices with Home Assistant. logo: lutron.png ha_category: - Hub @@ -10,6 +10,8 @@ ha_category: - Switch ha_release: 0.37 ha_iot_class: Local Polling +ha_codeowners: + - '@JonGilmore' --- [Lutron](http://www.lutron.com/) is an American lighting control company. They have several lines of home automation devices that manage light switches/dimmers, occupancy sensors, HVAC controls, etc. The `lutron` integration in Home Assistant is responsible for communicating with the main hub for these systems. diff --git a/source/_integrations/lutron_caseta.markdown b/source/_integrations/lutron_caseta.markdown index 38f2ee71e8d..3b35920e0f8 100644 --- a/source/_integrations/lutron_caseta.markdown +++ b/source/_integrations/lutron_caseta.markdown @@ -1,6 +1,6 @@ --- -title: "Lutron Caseta" -description: "Instructions on how to use Lutron Caseta devices with Home Assistant." +title: Lutron Caseta +description: Instructions on how to use Lutron Caseta devices with Home Assistant. logo: lutron.png ha_category: - Hub diff --git a/source/_integrations/lw12wifi.markdown b/source/_integrations/lw12wifi.markdown index 8fb1875028c..3b1a10f1466 100644 --- a/source/_integrations/lw12wifi.markdown +++ b/source/_integrations/lw12wifi.markdown @@ -1,6 +1,6 @@ --- -title: "Lagute LW-12" -description: "Instructions on how to setup Lagute LW-12 Wifi LED controller within Home Assistant." +title: LAGUTE LW-12 +description: Instructions on how to setup Lagute LW-12 Wifi LED controller within Home Assistant. ha_category: - Light ha_iot_class: Local Polling @@ -37,4 +37,3 @@ name: type: string default: LW-12 FC {% endconfiguration %} - diff --git a/source/_integrations/lyft.markdown b/source/_integrations/lyft.markdown index 44ac42bb65d..504e4174d27 100644 --- a/source/_integrations/lyft.markdown +++ b/source/_integrations/lyft.markdown @@ -1,6 +1,6 @@ --- -title: "Lyft Sensor" -description: "How to integrate Lyft in Home Assistant" +title: Lyft +description: How to integrate Lyft in Home Assistant logo: lyft.png ha_category: - Transport diff --git a/source/_integrations/magicseaweed.markdown b/source/_integrations/magicseaweed.markdown index 7c4821d7139..5bd4da3446f 100644 --- a/source/_integrations/magicseaweed.markdown +++ b/source/_integrations/magicseaweed.markdown @@ -1,6 +1,6 @@ --- -title: "Magicseaweed Sensor" -description: "How to integrate Magicseaweed within Home Assistant." +title: Magicseaweed +description: How to integrate Magicseaweed within Home Assistant. logo: magicseaweed.png ha_category: - Sensor diff --git a/source/_integrations/mailbox.markdown b/source/_integrations/mailbox.markdown index 9ce6fdbaa37..5cf36250816 100644 --- a/source/_integrations/mailbox.markdown +++ b/source/_integrations/mailbox.markdown @@ -1,6 +1,6 @@ --- -title: "Mailbox" -description: "Instructions on how to setup your mailboxes with Home Assistant." +title: Mailbox +description: Instructions on how to setup your mailboxes with Home Assistant. ha_release: 0.51 --- diff --git a/source/_integrations/mailgun.markdown b/source/_integrations/mailgun.markdown index 8d9ea72236d..67a5a4fde1b 100644 --- a/source/_integrations/mailgun.markdown +++ b/source/_integrations/mailgun.markdown @@ -1,10 +1,11 @@ --- -title: "Mailgun" -description: "Instructions on how to add Mailgun mail notifications to Home Assistant." +title: Mailgun +description: Instructions on how to add Mailgun mail notifications to Home Assistant. logo: mailgun.png ha_category: - Notifications ha_release: 0.38 +ha_config_flow: true --- To be able to receive webhooks from Mailgun, your Home Assistant instance needs to be accessible from the web ([Hass.io instructions](/addons/duckdns/)) and you need to have the `base_url` configured for the HTTP integration ([docs](/integrations/http/#base_url)). @@ -116,4 +117,4 @@ automation: images: - /home/pi/pic_test1.png - /home/pi/pic_test2.png -``` \ No newline at end of file +``` diff --git a/source/_integrations/manual.markdown b/source/_integrations/manual.markdown index 233b2c91f98..0029971f04f 100644 --- a/source/_integrations/manual.markdown +++ b/source/_integrations/manual.markdown @@ -1,11 +1,11 @@ --- -title: "Manual Alarm Control Panel" -description: "Instructions on how to integrate manual alarms into Home Assistant." +title: Manual +description: Instructions on how to integrate manual alarms into Home Assistant. logo: home-assistant.png ha_category: - Alarm ha_release: 0.7.6 -ha_qa_scale: internal +ha_quality_scale: internal --- The `manual` alarm control panel platform enables you to set manual alarms in Home Assistant. diff --git a/source/_integrations/manual_mqtt.markdown b/source/_integrations/manual_mqtt.markdown index eeb69babf4e..b73920ed819 100644 --- a/source/_integrations/manual_mqtt.markdown +++ b/source/_integrations/manual_mqtt.markdown @@ -1,10 +1,10 @@ --- -title: "Manual Alarm Control Panel with MQTT Support" -description: "Instructions on how to integrate manual alarms into Home Assistant with MQTT support." +title: Manual MQTT +description: Instructions on how to integrate manual alarms into Home Assistant with MQTT support. logo: home-assistant.png ha_category: - Alarm -ha_release: "0.50" +ha_release: '0.50' --- The `mqtt` platform extends the [manual alarm](/integrations/manual) by adding support for MQTT control of the alarm by a remote device. It can be used to create external keypads which simply change the state of the manual alarm in Home Assistant. diff --git a/source/_integrations/map.markdown b/source/_integrations/map.markdown index 294f544bbc8..98c8e62d986 100644 --- a/source/_integrations/map.markdown +++ b/source/_integrations/map.markdown @@ -1,11 +1,11 @@ --- -title: "Map" -description: "Offers a map to show tracked devices." +title: Map +description: Offers a map to show tracked devices. logo: home-assistant.png ha_category: - Other -ha_qa_scale: internal ha_release: 0.56 +ha_quality_scale: internal --- This offers a map on the frontend to display the location of tracked devices. To set up tracked devices, look at the [device tracker](/integrations/device_tracker/) documentation. This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually: diff --git a/source/_integrations/marytts.markdown b/source/_integrations/marytts.markdown index 84a13c4c6a4..37ff38238ad 100644 --- a/source/_integrations/marytts.markdown +++ b/source/_integrations/marytts.markdown @@ -1,6 +1,6 @@ --- -title: "MaryTTS" -description: "Instructions on how to setup MaryTTS with Home Assistant." +title: MaryTTS +description: Instructions on how to setup MaryTTS with Home Assistant. logo: marytts.png ha_category: - Text-to-speech diff --git a/source/_integrations/mastodon.markdown b/source/_integrations/mastodon.markdown index d779b7ab17f..ab0336fd893 100644 --- a/source/_integrations/mastodon.markdown +++ b/source/_integrations/mastodon.markdown @@ -1,10 +1,12 @@ --- -title: "Mastodon" -description: "Instructions on how to add Instapush notifications to Home Assistant." +title: Mastodon +description: Instructions on how to add Instapush notifications to Home Assistant. logo: mastodon.png ha_category: - Notifications ha_release: 0.67 +ha_codeowners: + - '@fabaff' --- The `mastodon` platform uses [Mastodon](https://joinmastodon.org/) to deliver notifications from Home Assistant. diff --git a/source/_integrations/matrix.markdown b/source/_integrations/matrix.markdown index 08f0877f0e3..d676ea53061 100644 --- a/source/_integrations/matrix.markdown +++ b/source/_integrations/matrix.markdown @@ -1,11 +1,13 @@ --- -title: "Matrix" -description: "Matrix chatbot support" +title: Matrix +description: Matrix chatbot support logo: matrix.png ha_category: - Hub - Notifications ha_release: 0.69 +ha_codeowners: + - '@tinloaf' --- This integration allows you to send messages to matrix rooms, as well as to react to messages in matrix rooms. Reacting to commands is accomplished by firing an event when one of the configured commands is triggered. @@ -167,4 +169,4 @@ default_room: The target room has to be precreated, the room id can be obtained from the rooms settings dialog. Rooms by default have a canonical id of the form `"!:homeserver.tld"`, but can also be allocated aliases like `"#roomname:homeserver.tld"`. Make sure to use quotes around the room id or alias to escape special characters (`!`, and `#`) in YAML. The notifying account may need to be invited to the room, depending on the individual rooms policies. -To use notifications, please see the [getting started with automation page](/getting-started/automation/). \ No newline at end of file +To use notifications, please see the [getting started with automation page](/getting-started/automation/). diff --git a/source/_integrations/maxcube.markdown b/source/_integrations/maxcube.markdown index 5916c439820..e2172141231 100644 --- a/source/_integrations/maxcube.markdown +++ b/source/_integrations/maxcube.markdown @@ -1,11 +1,11 @@ --- -title: "eQ-3 MAX! Cube" -description: "Instructions on how to integrate eQ-3 MAX! components with Home Assistant via eQ-3 MAX! Cube." +title: eQ-3 MAX! +description: Instructions on how to integrate eQ-3 MAX! components with Home Assistant via eQ-3 MAX! Cube. logo: maxcube.png ha_category: - Climate - Binary Sensor -ha_release: "0.40" +ha_release: '0.40' ha_iot_class: Local Polling --- diff --git a/source/_integrations/mcp23017.markdown b/source/_integrations/mcp23017.markdown index 4991a3c7d67..08bd69a0593 100644 --- a/source/_integrations/mcp23017.markdown +++ b/source/_integrations/mcp23017.markdown @@ -1,6 +1,6 @@ --- -title: "MCP23017 I2C GPIO expander" -description: "Instructions on how to integrate the MCP23017 GPIO pin expander with I2C interface into Home Assistant." +title: MCP23017 I/O Expander +description: Instructions on how to integrate the MCP23017 GPIO pin expander with I2C interface into Home Assistant. logo: raspberry-pi.png ha_category: - DIY @@ -8,12 +8,16 @@ ha_category: - Switch ha_release: 0.94 ha_iot_class: Local Polling +ha_codeowners: + - '@jardiamj' --- The `mcp23017` integration is the base for all related mcp23017 platforms in Home Assistant. There is no setup needed for the integration itself, for the platforms please check their corresponding sections. For more details about the MCP23017 I2C I/O port expander you can find its datasheet here: [MCP23017](https://www.microchip.com/wwwproducts/en/MCP23017). +If you are using Hass.io on HassOS you can’t use existing methods to enable the I2C bus on a Raspberry Pi, you will have to [enable the I2C interface in the Hass.io configuration](https://github.com/home-assistant/hassos/blob/dev/Documentation/boards/raspberrypi.md#i2c) using a USB stick. To accomplish that, follow this step by step instructions: [Enable HassOS i2c](https://www.home-assistant.io/hassio/enable_i2c). + ## Binary Sensor The `mcp23017` binary sensor platform allows you to read sensor values from the I/O pins of your [MCP23017 I2C I/O expander](https://www.adafruit.com/product/732). diff --git a/source/_integrations/media_extractor.markdown b/source/_integrations/media_extractor.markdown index 5aeabfe89ba..7a013b889e9 100644 --- a/source/_integrations/media_extractor.markdown +++ b/source/_integrations/media_extractor.markdown @@ -1,11 +1,11 @@ --- -title: "Media Extractor" -description: "Instructions on how to integrate the Media Extractor into Home Assistant." +title: Media Extractor +description: Instructions on how to integrate the Media Extractor into Home Assistant. logo: home-assistant.png ha_category: - Media Player ha_release: 0.49 -ha_qa_scale: internal +ha_quality_scale: internal --- The `media_extractor` integration gets a stream URL and sends it to a media player entity. This integration can extract entity specific streams if configured accordingly. diff --git a/source/_integrations/media_player.markdown b/source/_integrations/media_player.markdown index 3570768d7b1..2a4d30f80a5 100644 --- a/source/_integrations/media_player.markdown +++ b/source/_integrations/media_player.markdown @@ -1,11 +1,11 @@ --- -title: "Media Player" -description: "Instructions on how to setup your media players with Home Assistant." +title: Media Player +description: Instructions on how to setup your media players with Home Assistant. logo: home-assistant.png ha_category: - Media Player -ha_qa_scale: internal ha_release: 0.7 +ha_quality_scale: internal --- Interacts with media players on your network. @@ -17,34 +17,34 @@ Available services: `turn_on`, `turn_off`, `toggle`, `volume_up`, `volume_down`, | Service data attribute | Optional | Description | | ---------------------- | -------- | ------------------------------------------------ | -| `entity_id` | yes | Target a specific media player. Defaults to all. | +| `entity_id` | no | Target a specific media player. To target all media players, use `all`. | #### Service `media_player.volume_mute` | Service data attribute | Optional | Description | |------------------------|----------|--------------------------------------------------| -| `entity_id` | yes | Target a specific media player. Defaults to all. | +| `entity_id` | no | Target a specific media player. To target all media players, use `all`. | | `is_volume_muted` | no | True/false for mute/unmute | #### Service `media_player.volume_set` | Service data attribute | Optional | Description | |------------------------|----------|--------------------------------------------------| -| `entity_id` | yes | Target a specific media player. Defaults to all. | +| `entity_id` | yes | Target a specific media player. To target all media players, use `all`. | | `volume_level` | no | Float for volume level. Range 0..1 | #### Service `media_player.media_seek` | Service data attribute | Optional | Description | |------------------------|----------|--------------------------------------------------------| -| `entity_id` | yes | Target a specific media player. Defaults to all. | +| `entity_id` | no | Target a specific media player. To target all media players, use `all`. | | `seek_position` | no | Position to seek to. The format is platform dependent. | #### Service `media_player.play_media` | Service data attribute | Optional | Description | | -----------------------| -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `entity_id` | yes | Target a specific media player. Defaults to all. | +| `entity_id` | no | Target a specific media player. To target all media players, use `all`. | | `media_content_id` | no | A media identifier. The format of this is integration dependent. For example, you can provide URLs to Sonos and Cast but only a playlist ID to iTunes. | | `media_content_type` | no | A media type. Must be one of `music`, `tvshow`, `video`, `episode`, `channel` or `playlist`. For example, to play music you would set `media_content_type` to `music`. | @@ -52,7 +52,7 @@ Available services: `turn_on`, `turn_off`, `toggle`, `volume_up`, `volume_down`, | Service data attribute | Optional | Description | | ---------------------- | -------- | ---------------------------------------------------- | -| `entity_id` | yes | Target a specific media player. Defaults to all. | +| `entity_id` | no | Target a specific media player. To target all media players, use `all`. | | `source` | no | Name of the source to switch to. Platform dependent. | #### Service `media_player.select_sound_mode` @@ -66,11 +66,16 @@ Currently only supported on [Denon AVR](/integrations/denonavr/) and [Songpal]( #### Service `media_player.shuffle_set` -Currently only supported on [Spotify](/integrations/spotify), [MPD](/integrations/mpd), [Kodi](/integrations/kodi), [Squeezebox](/integrations/squeezebox) and [Universal](/integrations/universal). +Currently only supported on [Sonos](/integrations/sonos), [Spotify](/integrations/spotify), [MPD](/integrations/mpd), [Kodi](/integrations/kodi), [Squeezebox](/integrations/squeezebox) and [Universal](/integrations/universal). | Service data attribute | Optional | Description | | ---------------------- | -------- | ---------------------------------------------------- | | `entity_id` | no | Target a specific media player. For example `media_player.spotify`| | `shuffle` | no | `true`/`false` for enabling/disabling shuffle | +### Device Class +The way media players are displayed in the frontend can be modified in the [customize section](/getting-started/customizing-devices/). The following device classes are supported for media players: + +- **tv**: Device is a television type device. +- **speaker**: Device is speaker or stereo type device. diff --git a/source/_integrations/mediaroom.markdown b/source/_integrations/mediaroom.markdown index 49ca190d24e..d6ebf946b46 100644 --- a/source/_integrations/mediaroom.markdown +++ b/source/_integrations/mediaroom.markdown @@ -1,11 +1,13 @@ --- -title: "Mediaroom" -description: "Instructions on how to integrate Mediaroom Set-Top Boxes into Home Assistant." +title: Mediaroom +description: Instructions on how to integrate Mediaroom Set-Top Boxes into Home Assistant. logo: mediaroom.png ha_category: - Media Player ha_iot_class: Local Polling ha_release: 0.63 +ha_codeowners: + - '@dgomes' --- The `mediaroom` integration allows you to control a [Mediaroom](https://en.wikipedia.org/wiki/Ericsson_Mediaroom) Set-Top Box (STB) from Home Assistant. diff --git a/source/_integrations/melissa.markdown b/source/_integrations/melissa.markdown index 9f3303f53fe..1ac03359ddd 100644 --- a/source/_integrations/melissa.markdown +++ b/source/_integrations/melissa.markdown @@ -1,12 +1,14 @@ --- -title: "Melissa" -description: "Instructions on how to integrate Melissa Climate into Home Assistant." +title: Melissa +description: Instructions on how to integrate Melissa Climate into Home Assistant. logo: mclimate.png ha_category: - Hub - Climate ha_release: 0.63 ha_iot_class: Cloud Polling +ha_codeowners: + - '@kennedyshead' --- The `melissa` integration is the main integration to connect to a [Melissa Climate](https://seemelissa.com/) A/C control. diff --git a/source/_integrations/meraki.markdown b/source/_integrations/meraki.markdown index 0991e80739c..84e3f80a1cf 100644 --- a/source/_integrations/meraki.markdown +++ b/source/_integrations/meraki.markdown @@ -1,10 +1,10 @@ --- -title: "Meraki" -description: "Instructions on how to integrate Meraki-based presence detection into Home Assistant." +title: Meraki +description: Instructions on how to integrate Meraki-based presence detection into Home Assistant. logo: meraki.png ha_category: - Presence Detection -ha_release: "0.60" +ha_release: '0.60' --- Use your Meraki AP as device tracker. Note that Meraki will see all devices, not only connected to the network. diff --git a/source/_integrations/message_bird.markdown b/source/_integrations/message_bird.markdown index 62f25187aba..20cd621a85f 100644 --- a/source/_integrations/message_bird.markdown +++ b/source/_integrations/message_bird.markdown @@ -1,6 +1,6 @@ --- -title: "MessageBird" -description: "Instructions on how to add user notifications to Home Assistant." +title: MessageBird +description: Instructions on how to add user notifications to Home Assistant. logo: message_bird.png ha_category: - Notifications diff --git a/source/_integrations/met.markdown b/source/_integrations/met.markdown index 12d8428ca3e..0ba8d0c4a78 100644 --- a/source/_integrations/met.markdown +++ b/source/_integrations/met.markdown @@ -1,11 +1,14 @@ --- -title: "Met.no" -description: "Instructions on how to integrate Met.no within Home Assistant." +title: Meteorologisk institutt (Met.no) +description: Instructions on how to integrate Met.no within Home Assistant. logo: metno.png ha_category: - Weather ha_release: 0.79 ha_iot_class: Cloud Polling +ha_config_flow: true +ha_codeowners: + - '@danielhiversen' --- The `met` platform uses the [Met.no](https://met.no/) web service as a source for meteorological data for your location. The weather forecast is delivered by the Norwegian Meteorological Institute and the NRK. diff --git a/source/_integrations/meteo_france.markdown b/source/_integrations/meteo_france.markdown index a412eb6c4c6..a9a491f4c4c 100644 --- a/source/_integrations/meteo_france.markdown +++ b/source/_integrations/meteo_france.markdown @@ -1,6 +1,6 @@ --- -title: "MĆ©tĆ©o-France" -description: "Instructions on how to integrate MĆ©tĆ©o-France within Home Assistant." +title: MĆ©tĆ©o-France +description: Instructions on how to integrate MĆ©tĆ©o-France within Home Assistant. logo: meteo-france.png ha_release: 0.89 ha_iot_class: Cloud Polling @@ -8,6 +8,9 @@ ha_category: - Hub - Sensor - Weather +ha_codeowners: + - '@victorcerutti' + - '@oncleben31' --- The `meteo_france` integration uses the [MĆ©tĆ©o-France](http://www.meteofrance.com/) web service as a source for meteorological data for your location. The location is based on the `city` configured in your `configuration.yaml` file. diff --git a/source/_integrations/meteoalarm.markdown b/source/_integrations/meteoalarm.markdown index af0ac9d0895..058e6d3cc5b 100644 --- a/source/_integrations/meteoalarm.markdown +++ b/source/_integrations/meteoalarm.markdown @@ -1,10 +1,12 @@ --- -title: MeteoAlarm Sensor -description: "Instructions on how to set up MeteoAlarm binary sensors within Home Assistant." +title: MeteoAlarm +description: Instructions on how to set up MeteoAlarm binary sensors within Home Assistant. logo: meteoalarm.png ha_category: Binary Sensor ha_release: 0.93 ha_iot_class: Local Polling +ha_codeowners: + - '@rolfberkenbosch' --- The `MeteoAlarm` platform allows one to watch for weather alerts in europe from [MeteoAlarm](https://www.meteoalarm.eu) (EUMETNET). To use this binary sensor, you need the two digits of your country and the province name from [MeteoAlarm](https://www.meteoalarm.eu). Please note that you need to write the exact details from the website with capitals. diff --git a/source/_integrations/metoffice.markdown b/source/_integrations/metoffice.markdown index 937aecb7f32..3b8f26a4d6c 100644 --- a/source/_integrations/metoffice.markdown +++ b/source/_integrations/metoffice.markdown @@ -1,6 +1,6 @@ --- -title: "Met Office" -description: "Instructions on how to integrate Met Office weather conditions into Home Assistant." +title: Met Office +description: Instructions on how to integrate Met Office weather conditions into Home Assistant. logo: metoffice.jpg ha_category: - Weather diff --git a/source/_integrations/mfi.markdown b/source/_integrations/mfi.markdown index e3506cd10f3..fdb475653fe 100644 --- a/source/_integrations/mfi.markdown +++ b/source/_integrations/mfi.markdown @@ -1,6 +1,6 @@ --- -title: "mFi" -description: "Instructions on how to integrate mFi within Home Assistant." +title: Ubiquiti mFi mPort +description: Instructions on how to integrate mFi within Home Assistant. logo: ubiquiti.png ha_category: - Network diff --git a/source/_integrations/mhz19.markdown b/source/_integrations/mhz19.markdown index 640da7dfd26..4cd801814c0 100644 --- a/source/_integrations/mhz19.markdown +++ b/source/_integrations/mhz19.markdown @@ -1,6 +1,6 @@ --- -title: "MH-Z19 CO2 Sensor" -description: "Instructions on how to integrate the MH-Z19 CO2 sensor with Home Assistant." +title: MH-Z19 CO2 Sensor +description: Instructions on how to integrate the MH-Z19 CO2 sensor with Home Assistant. logo: mhz19_logo.png ha_category: - DIY @@ -53,7 +53,7 @@ enable_uart=1 Then (after a reboot): you can setup the sensor using: ```yaml - serial_device: /dev/tty.S0 + serial_device: /dev/ttyS0 ``` ## Calibration diff --git a/source/_integrations/microsoft.markdown b/source/_integrations/microsoft.markdown index 1d2556defbe..c8f49d73ed3 100644 --- a/source/_integrations/microsoft.markdown +++ b/source/_integrations/microsoft.markdown @@ -1,6 +1,6 @@ --- -title: "Microsoft Text-to-Speech" -description: "Instructions on how to set up Microsoft Text-to-Speech with Home Assistant." +title: Microsoft Text-to-Speech (TTS) +description: Instructions on how to set up Microsoft Text-to-Speech with Home Assistant. logo: microsoft.png ha_category: - Text-to-speech diff --git a/source/_integrations/microsoft_face.markdown b/source/_integrations/microsoft_face.markdown index 02f1c347e31..512cdf252c4 100644 --- a/source/_integrations/microsoft_face.markdown +++ b/source/_integrations/microsoft_face.markdown @@ -1,6 +1,6 @@ --- -title: "Microsoft Face" -description: "Instructions on how to integrate Microsoft Face integration into Home Assistant." +title: Microsoft Face +description: Instructions on how to integrate Microsoft Face integration into Home Assistant. logo: microsoft.png ha_category: - Image Processing diff --git a/source/_integrations/microsoft_face_detect.markdown b/source/_integrations/microsoft_face_detect.markdown index c8956eb5a20..44ea10d97a7 100644 --- a/source/_integrations/microsoft_face_detect.markdown +++ b/source/_integrations/microsoft_face_detect.markdown @@ -1,6 +1,6 @@ --- -title: "Microsoft Face Detect" -description: "Instructions on how to integrate Microsoft Face Detect into Home Assistant." +title: Microsoft Face Detect +description: Instructions on how to integrate Microsoft Face Detect into Home Assistant. logo: microsoft.png ha_category: - Image Processing diff --git a/source/_integrations/microsoft_face_identify.markdown b/source/_integrations/microsoft_face_identify.markdown index 52fe8e5a305..da2b371a135 100644 --- a/source/_integrations/microsoft_face_identify.markdown +++ b/source/_integrations/microsoft_face_identify.markdown @@ -1,6 +1,6 @@ --- -title: "Microsoft Face Identify" -description: "Instructions on how to integrate Microsoft Face Identify into Home Assistant." +title: Microsoft Face Identify +description: Instructions on how to integrate Microsoft Face Identify into Home Assistant. logo: microsoft.png ha_category: - Image Processing diff --git a/source/_integrations/miflora.markdown b/source/_integrations/miflora.markdown index 2a7a6c39e28..390adfaa6d5 100644 --- a/source/_integrations/miflora.markdown +++ b/source/_integrations/miflora.markdown @@ -1,11 +1,14 @@ --- -title: "Mi Flora plant sensor" -description: "Instructions on how to integrate MiFlora BLE plant sensor with Home Assistant." +title: Mi Flora +description: Instructions on how to integrate MiFlora BLE plant sensor with Home Assistant. logo: miflora.png ha_category: - Environment ha_release: 0.29 ha_iot_class: Local Polling +ha_codeowners: + - '@danielhiversen' + - '@ChristianKuehnel' --- The `miflora` sensor platform allows one to monitor plant soil and air conditions. The [Mi Flora plant sensor](https://gadget-freakz.com/product/xiaomi-mi-flora-plant-sensor/) is a small Bluetooth Low Energy device that monitors the moisture and conductivity of the soil as well as ambient light and temperature. Since only one BLE device can be polled at a time, the library implements locking to prevent polling more than one device at a time. diff --git a/source/_integrations/mikrotik.markdown b/source/_integrations/mikrotik.markdown index 3f04f43c66f..f23d31212bf 100644 --- a/source/_integrations/mikrotik.markdown +++ b/source/_integrations/mikrotik.markdown @@ -1,6 +1,6 @@ --- -title: "MikroTik" -description: "Instructions on how to integrate MikroTik/RouterOS based devices into Home Assistant." +title: MikroTik +description: Instructions on how to integrate MikroTik/RouterOS based devices into Home Assistant. logo: mikrotik.png ha_category: - Hub diff --git a/source/_integrations/mill.markdown b/source/_integrations/mill.markdown index 9c38fd6a74a..72b5b96beb8 100644 --- a/source/_integrations/mill.markdown +++ b/source/_integrations/mill.markdown @@ -1,11 +1,13 @@ --- -title: "Mill heater" -description: "Instructions on how to integrate Mill heater into Home Assistant." +title: Mill +description: Instructions on how to integrate Mill heater into Home Assistant. logo: mill.png ha_category: - Climate ha_release: 0.81 ha_iot_class: Cloud Polling +ha_codeowners: + - '@danielhiversen' --- Integrates Mill heater into Home Assistant. diff --git a/source/_integrations/min_max.markdown b/source/_integrations/min_max.markdown index 7c445df0cb4..4bc00b42ee8 100644 --- a/source/_integrations/min_max.markdown +++ b/source/_integrations/min_max.markdown @@ -1,12 +1,14 @@ --- -title: "Min/max Sensor" -description: "Instructions on how to integrate min/max sensors into Home Assistant." +title: Min/Max +description: Instructions on how to integrate min/max sensors into Home Assistant. logo: home-assistant.png ha_category: - Utility ha_iot_class: Local Polling ha_release: 0.31 -ha_qa_scale: internal +ha_quality_scale: internal +ha_codeowners: + - '@fabaff' --- The `min_max` sensor platform consumes the state from other sensors to determine the minimum, maximum, latest (last) and the mean of the collected states. The sensor will always show you the lowest/highest/latest value which was received from all monitored sensors. If you have spikes in your values, it's recommended to filter/equalize your values with a [statistics sensor](/integrations/statistics) first. diff --git a/source/_integrations/minio.markdown b/source/_integrations/minio.markdown index e4bba03e2ea..ed9a5d835c0 100644 --- a/source/_integrations/minio.markdown +++ b/source/_integrations/minio.markdown @@ -1,10 +1,12 @@ --- -title: "Minio" -description: "Integration for interacting with Minio object storage." +title: Minio +description: Integration for interacting with Minio object storage. logo: minio.png ha_category: Utility ha_iot_class: Cloud Push ha_release: 0.98 +ha_codeowners: + - '@tkislan' --- This integration adds interaction with [Minio](https://min.io). diff --git a/source/_integrations/mitemp_bt.markdown b/source/_integrations/mitemp_bt.markdown index 88551f45fa3..64d736ea20c 100644 --- a/source/_integrations/mitemp_bt.markdown +++ b/source/_integrations/mitemp_bt.markdown @@ -1,6 +1,6 @@ --- -title: "Xiaomi BLE Temperature and Humidity sensor" -description: "Instructions on how to integrate MiTemp BLE temperature and humidity sensor with Home Assistant." +title: Xiaomi Mijia BLE Temperature and Humidity Sensor +description: Instructions on how to integrate MiTemp BLE temperature and humidity sensor with Home Assistant. logo: xiaomi.png ha_category: - DIY diff --git a/source/_integrations/mjpeg.markdown b/source/_integrations/mjpeg.markdown index 33383a68061..5ddd5dd9455 100644 --- a/source/_integrations/mjpeg.markdown +++ b/source/_integrations/mjpeg.markdown @@ -1,6 +1,6 @@ --- -title: "Generic MJPEG IP Camera" -description: "Instructions on how to integrate IP cameras within Home Assistant." +title: MJPEG IP Camera +description: Instructions on how to integrate IP cameras within Home Assistant. logo: home-assistant.png ha_category: - Camera diff --git a/source/_integrations/mobile_app.markdown b/source/_integrations/mobile_app.markdown index b330d52d4f0..cb4e824df40 100644 --- a/source/_integrations/mobile_app.markdown +++ b/source/_integrations/mobile_app.markdown @@ -1,11 +1,14 @@ --- -title: "Mobile App" -description: "The Mobile App integration allows a generic platform for integrating with mobile apps." +title: Home Assistant Mobile App Support +description: The Mobile App integration allows a generic platform for integrating with mobile apps. logo: home-assistant.png ha_category: - - "Other" + - Other ha_release: 0.89 -ha_qa_scale: internal +ha_config_flow: true +ha_quality_scale: internal +ha_codeowners: + - '@robbiet480' --- The Mobile App integration allows Home Assistant mobile apps to easily integrate with Home Assistant. diff --git a/source/_integrations/mochad.markdown b/source/_integrations/mochad.markdown index d704396e930..73d6d43548a 100644 --- a/source/_integrations/mochad.markdown +++ b/source/_integrations/mochad.markdown @@ -1,6 +1,6 @@ --- -title: "Mochad" -description: "Instructions on how to integrate Mochad into Home Assistant." +title: Mochad +description: Instructions on how to integrate Mochad into Home Assistant. ha_category: - Hub - Light @@ -115,4 +115,4 @@ comm_type: required: false default: pl type: string -{% endconfiguration %} \ No newline at end of file +{% endconfiguration %} diff --git a/source/_integrations/modbus.markdown b/source/_integrations/modbus.markdown index 33617d0fc2d..36fdf80aacc 100644 --- a/source/_integrations/modbus.markdown +++ b/source/_integrations/modbus.markdown @@ -1,14 +1,15 @@ --- -title: "Modbus" -description: "Instructions on how to integrate Modbus within Home Assistant." +title: Modbus +description: Instructions on how to integrate Modbus within Home Assistant. logo: modbus.png ha_category: - Hub ha_release: pre 0.7 ha_iot_class: Local Push +ha_codeowners: + - '@adamchengtkc' --- - [Modbus](http://www.modbus.org/) is a serial communication protocol to control PLCs (Programmable logic controller). It currently supports sensors and switches which can be controlled over serial, TCP, and UDP connections. diff --git a/source/_integrations/modem_callerid.markdown b/source/_integrations/modem_callerid.markdown index cf395ee921e..016e3571945 100644 --- a/source/_integrations/modem_callerid.markdown +++ b/source/_integrations/modem_callerid.markdown @@ -1,9 +1,9 @@ --- -title: "Caller ID Sensor" -description: "Instructions on how to integrate the Caller ID sensor into Home Assistant." +title: Modem Caller ID +description: Instructions on how to integrate the Caller ID sensor into Home Assistant. ha_category: - Sensor -ha_release: "0.40" +ha_release: '0.40' ha_iot_class: Local Polling --- diff --git a/source/_integrations/mold_indicator.markdown b/source/_integrations/mold_indicator.markdown index c714613d7fa..e3bb135a255 100644 --- a/source/_integrations/mold_indicator.markdown +++ b/source/_integrations/mold_indicator.markdown @@ -1,12 +1,12 @@ --- -title: "Mold Indicator" -description: "How to use the mold growth indication integration in Home Assistant" +title: Mold Indicator +description: How to use the mold growth indication integration in Home Assistant logo: home-assistant.png ha_category: - Environment -ha_release: "0.20" +ha_release: '0.20' ha_iot_class: Local Polling -ha_qa_scale: internal +ha_quality_scale: internal --- The Mold Indicator sensor integration consumes information of two temperature sensors and a humidity sensor to give an indication for possible mold growth in your home. In case of bad ventilation and insulation, the indoor humidity may lead to condensation on cold surfaces as the windows or even walls. Condensation or a high relative humidity near those cold surfaces leads to a higher risk for mold growth. This sensor integration estimates the temperature at a pre-calibrated critical point in the room (the coldest surface) and calculates the relative humidity of the air at that point. If the sensor value rises above approximately 70 percent, mold growth might occur and the room should be ventilated. At 100%, the air humidity condensates at the critical point. diff --git a/source/_integrations/monoprice.markdown b/source/_integrations/monoprice.markdown index 6abacd00446..a780bb4b9a8 100644 --- a/source/_integrations/monoprice.markdown +++ b/source/_integrations/monoprice.markdown @@ -1,11 +1,13 @@ --- -title: "Monoprice 6-Zone Amplifier" -description: "Instructions on how to integrate Monoprice 6-Zone Home Audio Controller into Home Assistant." +title: Monoprice 6-Zone Amplifier +description: Instructions on how to integrate Monoprice 6-Zone Home Audio Controller into Home Assistant. logo: monoprice.svg ha_category: - Media Player ha_release: 0.56 ha_iot_class: Local Polling +ha_codeowners: + - '@etsinko' --- The `monoprice` platform allows you to control [Monoprice 6-Zone Amplifier](https://www.monoprice.com/product?p_id=10761) using a serial connection. diff --git a/source/_integrations/moon.markdown b/source/_integrations/moon.markdown index 494a66bdcf9..c93ffb3738c 100644 --- a/source/_integrations/moon.markdown +++ b/source/_integrations/moon.markdown @@ -1,12 +1,14 @@ --- -title: "Moon Sensor" -description: "Instructions on how to integrate the moon sensor into Home Assistant." +title: Moon +description: Instructions on how to integrate the moon sensor into Home Assistant. logo: home-assistant.png ha_category: - Environment ha_iot_class: Local Polling ha_release: 0.38 -ha_qa_scale: internal +ha_quality_scale: internal +ha_codeowners: + - '@fabaff' --- The `moon` integration tracks the phases of the moon. diff --git a/source/_integrations/mopar.markdown b/source/_integrations/mopar.markdown index 22d6a67af75..ef58fe9ec3f 100644 --- a/source/_integrations/mopar.markdown +++ b/source/_integrations/mopar.markdown @@ -1,6 +1,6 @@ --- -title: "Mopar" -description: "Instructions on how to integrate Mopar vehicles into Home Assistant." +title: Mopar +description: Instructions on how to integrate Mopar vehicles into Home Assistant. logo: mopar.png ha_category: - Car diff --git a/source/_integrations/mpchc.markdown b/source/_integrations/mpchc.markdown index f0877c57fe4..bb6df94ca09 100644 --- a/source/_integrations/mpchc.markdown +++ b/source/_integrations/mpchc.markdown @@ -1,6 +1,6 @@ --- -title: "MPC-HC" -description: "Instructions on how to integrate MPC-HC into Home Assistant." +title: Media Player Classic Home Cinema (MPC-HC) +description: Instructions on how to integrate MPC-HC into Home Assistant. logo: mpchc.png ha_category: - Media Player @@ -8,7 +8,6 @@ ha_release: 0.25 ha_iot_class: Local Polling --- - The `mpchc` platform allows you to connect a [Media Player Classic Home Cinema](https://mpc-hc.org/) to Home Assistant. It will allow you to see the current playing item, and respond to changes in the player's state. For this integration to function, you will need to enable the Web Interface in the MPC-HC options dialog. diff --git a/source/_integrations/mpd.markdown b/source/_integrations/mpd.markdown index 754a5f697db..ee82fbb7391 100644 --- a/source/_integrations/mpd.markdown +++ b/source/_integrations/mpd.markdown @@ -1,14 +1,15 @@ --- -title: "Music Player Daemon (MPD)" -description: "Instructions on how to integrate Music Player Daemon into Home Assistant." +title: Music Player Daemon (MPD) +description: Instructions on how to integrate Music Player Daemon into Home Assistant. logo: mpd.png ha_category: - Media Player ha_release: pre 0.7 ha_iot_class: Local Polling +ha_codeowners: + - '@fabaff' --- - The `mpd` platform allows you to control a [Music Player Daemon](https://www.musicpd.org/) from Home Assistant. Unfortunately you will not be able to manipulate the playlist (add or delete songs) or add transitions between the songs. Even though no playlist manipulation is possible, it is possible to use the play_media service to load an existing saved playlist as part of an automation or scene. @@ -61,4 +62,3 @@ relaxdeck: ``` This platform works with [Music Player Daemon](https://www.musicpd.org/) and [mopidy](https://www.mopidy.com/) with [Mopidy-MPD](https://docs.mopidy.com/en/latest/ext/mpd/) as used by [Pi MusicBox](https://www.pimusicbox.com/). - diff --git a/source/_integrations/mqtt.markdown b/source/_integrations/mqtt.markdown index 7e710f048d5..29a5034dd2c 100644 --- a/source/_integrations/mqtt.markdown +++ b/source/_integrations/mqtt.markdown @@ -1,12 +1,15 @@ --- -title: "MQTT" -description: "Instructions on how to setup MQTT within Home Assistant." +title: MQTT +description: Instructions on how to setup MQTT within Home Assistant. logo: mqtt.png ha_category: - Hub featured: true ha_release: pre 0.7 ha_iot_class: Local Push +ha_config_flow: true +ha_codeowners: + - '@home-assistant/core' --- MQTT (aka MQ Telemetry Transport) is a machine-to-machine or "Internet of Things" connectivity protocol on top of TCP/IP. It allows extremely lightweight publish/subscribe messaging transport. @@ -46,4 +49,3 @@ This allows you to connect to the MQTT broker with user `homeassistant` and pass - [Testing your setup](/docs/mqtt/testing/) - [Logging](/docs/mqtt/logging/) - [Processing JSON](/docs/mqtt/processing_json/) - diff --git a/source/_integrations/mqtt_eventstream.markdown b/source/_integrations/mqtt_eventstream.markdown index b4216bf71c3..0029193b9c1 100644 --- a/source/_integrations/mqtt_eventstream.markdown +++ b/source/_integrations/mqtt_eventstream.markdown @@ -1,6 +1,6 @@ --- -title: "MQTT Eventstream" -description: "Instructions on how to setup MQTT eventstream within Home Assistant." +title: MQTT Eventstream +description: Instructions on how to setup MQTT eventstream within Home Assistant. logo: mqtt.png ha_category: - Other diff --git a/source/_integrations/mqtt_json.markdown b/source/_integrations/mqtt_json.markdown index 651a77f443e..02623659e4a 100644 --- a/source/_integrations/mqtt_json.markdown +++ b/source/_integrations/mqtt_json.markdown @@ -1,6 +1,6 @@ --- -title: "JSON MQTT Device Tracker" -description: "Instructions on how to use JSON MQTT to track devices in Home Assistant." +title: MQTT JSON +description: Instructions on how to use JSON MQTT to track devices in Home Assistant. logo: mqtt.png ha_category: - Presence Detection diff --git a/source/_integrations/mqtt_room.markdown b/source/_integrations/mqtt_room.markdown index 55d3a044adc..50dcf3d21be 100644 --- a/source/_integrations/mqtt_room.markdown +++ b/source/_integrations/mqtt_room.markdown @@ -1,6 +1,6 @@ --- -title: "MQTT Room Presence" -description: "Instructions on how to track room presence within Home Assistant." +title: MQTT Room Presence +description: Instructions on how to track room presence within Home Assistant. logo: mqtt.png ha_category: - Presence Detection diff --git a/source/_integrations/mqtt_statestream.markdown b/source/_integrations/mqtt_statestream.markdown index 2a4d185eb47..08ab4acd335 100644 --- a/source/_integrations/mqtt_statestream.markdown +++ b/source/_integrations/mqtt_statestream.markdown @@ -1,6 +1,6 @@ --- -title: "MQTT Statestream" -description: "Instructions on how to setup MQTT Statestream within Home Assistant." +title: MQTT Statestream +description: Instructions on how to setup MQTT Statestream within Home Assistant. logo: mqtt.png ha_category: - Other diff --git a/source/_integrations/msteams.markdown b/source/_integrations/msteams.markdown index 69ae8cb6c9d..6b989097562 100644 --- a/source/_integrations/msteams.markdown +++ b/source/_integrations/msteams.markdown @@ -1,10 +1,12 @@ --- -title: "Microsoft Teams" -description: "Instructions on how to send a notification to a Microsoft Teams channel." +title: Microsoft Teams +description: Instructions on how to send a notification to a Microsoft Teams channel. logo: msteams.jpg ha_category: - Notifications ha_release: 0.101 +ha_codeowners: + - '@peroyvind' --- The `Microsoft Teams` platform allows you to send notifications from Home Assistant to a team channel in [Microsoft Teams](https://products.office.com/en-us/microsoft-teams/group-chat-software). diff --git a/source/_integrations/mvglive.markdown b/source/_integrations/mvglive.markdown index e989b4ef2ce..200ce0e556e 100644 --- a/source/_integrations/mvglive.markdown +++ b/source/_integrations/mvglive.markdown @@ -1,6 +1,6 @@ --- -title: "MVG" -description: "Instructions on how to integrate Munich public transport departure times into Home Assistant." +title: MVG +description: Instructions on how to integrate Munich public transport departure times into Home Assistant. logo: mvg.png ha_category: - Transport diff --git a/source/_integrations/mychevy.markdown b/source/_integrations/mychevy.markdown index 5827c3e2f48..dbd4ff8f540 100644 --- a/source/_integrations/mychevy.markdown +++ b/source/_integrations/mychevy.markdown @@ -1,6 +1,6 @@ --- -title: "MyChevy" -description: "Instructions on how to integrate Chevy Bolt car into Home Assistant." +title: myChevrolet +description: Instructions on how to integrate Chevy Bolt car into Home Assistant. logo: chevy.png ha_category: - Car diff --git a/source/_integrations/mycroft.markdown b/source/_integrations/mycroft.markdown index b8de2f32a96..30679751b75 100644 --- a/source/_integrations/mycroft.markdown +++ b/source/_integrations/mycroft.markdown @@ -1,6 +1,6 @@ --- -title: "Mycroft" -description: "Instructions on how to setup Mycroft AI within Home Assistant." +title: Mycroft +description: Instructions on how to setup Mycroft AI within Home Assistant. logo: mycroft.png ha_category: - Voice @@ -29,4 +29,4 @@ host: description: The IP address of your Mycroft instance. required: true type: string -{% endconfiguration %} \ No newline at end of file +{% endconfiguration %} diff --git a/source/_integrations/myq.markdown b/source/_integrations/myq.markdown index 54bb961895a..7d702540931 100644 --- a/source/_integrations/myq.markdown +++ b/source/_integrations/myq.markdown @@ -1,6 +1,6 @@ --- -title: "MyQ Cover" -description: "Instructions on how to integrate MyQ-Enabled garage door covers into Home Assistant." +title: MyQ +description: Instructions on how to integrate MyQ-Enabled garage door covers into Home Assistant. logo: myq.png ha_category: - Cover @@ -32,4 +32,3 @@ password: required: true type: string {% endconfiguration %} - diff --git a/source/_integrations/mysensors.markdown b/source/_integrations/mysensors.markdown index 5a000985871..8cc7bc5cbcf 100644 --- a/source/_integrations/mysensors.markdown +++ b/source/_integrations/mysensors.markdown @@ -1,11 +1,13 @@ --- -title: "MySensors" -description: "Instructions on how to integrate MySensors sensors into Home Assistant." +title: MySensors +description: Instructions on how to integrate MySensors sensors into Home Assistant. logo: mysensors.png ha_category: - DIY ha_iot_class: Local Push ha_release: 0.73 +ha_codeowners: + - '@MartinHjelmare' --- The [MySensors](https://www.mysensors.org) project combines devices like Arduino, ESP8266, Raspberry Pi, NRF24L01+ and RFM69 to build affordable sensor networks. This integration will automatically add all available devices to Home Assistant, after [presentation](#presentation) is done. That is, you do not need to add anything to your configuration for the devices for them to be added. Go to the **states** section of the developer tools to find the devices that have been identified. diff --git a/source/_integrations/mystrom.markdown b/source/_integrations/mystrom.markdown index 11fc8fec72c..c284299d48a 100644 --- a/source/_integrations/mystrom.markdown +++ b/source/_integrations/mystrom.markdown @@ -1,6 +1,6 @@ --- -title: "myStrom WiFi Bulb" -description: "Instructions on how to integrate myStrom WiFi Bulbs into Home Assistant." +title: myStrom +description: Instructions on how to integrate myStrom WiFi Bulbs into Home Assistant. logo: mystrom.png ha_category: - Light @@ -8,6 +8,8 @@ ha_category: - Switch ha_release: 0.43 ha_iot_class: Local Polling +ha_codeowners: + - '@fabaff' --- The `mystrom` light platform allows you to control your [myStrom](https://mystrom.ch/en/) WiFi Bulbs. @@ -213,4 +215,4 @@ sensor: unit_of_measurement: "W" value_template: "{{ state_attr('switch.office', 'current_power_w') }}" ``` -{% endraw %} \ No newline at end of file +{% endraw %} diff --git a/source/_integrations/mythicbeastsdns.markdown b/source/_integrations/mythicbeastsdns.markdown index b2e771163c0..dd2869e2481 100644 --- a/source/_integrations/mythicbeastsdns.markdown +++ b/source/_integrations/mythicbeastsdns.markdown @@ -1,6 +1,6 @@ --- -title: "Mythic Beasts DNS" -description: "Keep your mythic beasts DNS updated" +title: Mythic Beasts DNS +description: Keep your mythic beasts DNS updated ha_category: - Network ha_release: 0.85 diff --git a/source/_integrations/n26.markdown b/source/_integrations/n26.markdown index 4842c2529c2..2483522cc63 100644 --- a/source/_integrations/n26.markdown +++ b/source/_integrations/n26.markdown @@ -1,6 +1,6 @@ --- -title: "N26" -description: "Instructions on how to integrate N26 integration within Home Assistant." +title: N26 +description: Instructions on how to integrate N26 integration within Home Assistant. logo: n26.png ha_category: - Finance diff --git a/source/_integrations/nad.markdown b/source/_integrations/nad.markdown index 64a25c3922c..00d63cf4878 100644 --- a/source/_integrations/nad.markdown +++ b/source/_integrations/nad.markdown @@ -1,6 +1,6 @@ --- -title: "NAD" -description: "Instructions on how to integrate NAD receivers into Home Assistant." +title: NAD +description: Instructions on how to integrate NAD receivers into Home Assistant. logo: nad.png ha_category: - Media Player diff --git a/source/_integrations/namecheapdns.markdown b/source/_integrations/namecheapdns.markdown index c103b04796f..485830db8d5 100644 --- a/source/_integrations/namecheapdns.markdown +++ b/source/_integrations/namecheapdns.markdown @@ -1,6 +1,6 @@ --- -title: "NamecheapDNS" -description: "Keep your namecheap dynamic DNS up to date" +title: Namecheap FreeDNS +description: Keep your namecheap dynamic DNS up to date logo: namecheap.png ha_category: - Network diff --git a/source/_integrations/nanoleaf.markdown b/source/_integrations/nanoleaf.markdown index 3b22cf1b9ed..d1a5dc8d948 100644 --- a/source/_integrations/nanoleaf.markdown +++ b/source/_integrations/nanoleaf.markdown @@ -1,6 +1,6 @@ --- -title: "Nanoleaf Light Panel" -description: "Instructions how to integrate Nanoleaf Light Panels into Home Assistant." +title: Nanoleaf +description: Instructions how to integrate Nanoleaf Light Panels into Home Assistant. logo: nanoleaf_light.png ha_category: - Light diff --git a/source/_integrations/neato.markdown b/source/_integrations/neato.markdown index 9654f71f0b2..1623255ec73 100644 --- a/source/_integrations/neato.markdown +++ b/source/_integrations/neato.markdown @@ -1,6 +1,6 @@ --- -title: "Neato Robotics" -description: "Instructions on how to integrate your Neato within Home Assistant." +title: Neato Botvac +description: Instructions on how to integrate your Neato within Home Assistant. logo: neato.png ha_category: - Camera @@ -10,6 +10,9 @@ ha_category: ha_iot_class: Cloud Polling ha_release: 0.33 ha_config_flow: true +ha_codeowners: + - '@dshokouhi' + - '@Santobert' --- The `neato` integration allows you to control your [Neato Botvac Connected Robots](https://www.neatorobotics.com/robot-vacuum/botvac-connected-series/). diff --git a/source/_integrations/nederlandse_spoorwegen.markdown b/source/_integrations/nederlandse_spoorwegen.markdown index 7534e3d697a..e78091e404b 100644 --- a/source/_integrations/nederlandse_spoorwegen.markdown +++ b/source/_integrations/nederlandse_spoorwegen.markdown @@ -1,6 +1,6 @@ --- -title: "Nederlandse Spoorwegen" -description: "Instructions on how to integrate timetable data for traveling by train in the Netherlands within Home Assistant." +title: Nederlandse Spoorwegen (NS) +description: Instructions on how to integrate timetable data for traveling by train in the Netherlands within Home Assistant. logo: nederlandse_spoorwegen.png ha_category: - Transport diff --git a/source/_integrations/nello.markdown b/source/_integrations/nello.markdown index 5c9f09e8d0f..d2112f39426 100644 --- a/source/_integrations/nello.markdown +++ b/source/_integrations/nello.markdown @@ -1,12 +1,13 @@ --- -title: "Nello Lock" -description: "Instructions on how to integrate Nello intercom devices." +title: Nello +description: Instructions on how to integrate Nello intercom devices. logo: nello.png ha_category: - Lock - ha_release: 0.52 ha_iot_class: Cloud Polling +ha_codeowners: + - '@pschmitt' --- The `nello` platform allows you to control [Nello](https://www.nello.io) intercoms. diff --git a/source/_integrations/ness_alarm.markdown b/source/_integrations/ness_alarm.markdown index 19f1f8b276d..c86b738f584 100644 --- a/source/_integrations/ness_alarm.markdown +++ b/source/_integrations/ness_alarm.markdown @@ -1,12 +1,14 @@ --- -title: "Ness Alarm" -description: "Instructions on how to integrate a Ness D8x/D16x alarm system with Home Assistant." +title: Ness Alarm +description: Instructions on how to integrate a Ness D8x/D16x alarm system with Home Assistant. logo: ness.png ha_category: - Alarm - Binary Sensor ha_release: 0.85 ha_iot_class: Local Push +ha_codeowners: + - '@nickw444' --- The `ness_alarm` integration will allow Home Assistant users who own a Ness D8x/D16x alarm system to leverage their alarm system and its sensors to provide Home Assistant with information about their homes. Connectivity between Home Assistant and the alarm is accomplished through a IP232 module that must be connected to the alarm. @@ -110,4 +112,3 @@ Trigger a panic | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | | `code` | No | The user code to use to trigger the panic. - diff --git a/source/_integrations/nest.markdown b/source/_integrations/nest.markdown index 94a3648114d..28549686d42 100644 --- a/source/_integrations/nest.markdown +++ b/source/_integrations/nest.markdown @@ -1,6 +1,6 @@ --- -title: "Nest" -description: "Instructions on how to integrate Nest into Home Assistant." +title: Nest +description: Instructions on how to integrate Nest into Home Assistant. logo: nest.png ha_category: - Hub @@ -10,6 +10,9 @@ ha_category: - Sensor ha_iot_class: Cloud Push ha_release: 0.7 +ha_config_flow: true +ha_codeowners: + - '@awarecan' --- The Nest integration is the main integration to integrate all [Nest](https://nest.com/) related platforms. To connect Nest, you will have to [sign up for a developer account](https://developers.nest.com/products) and get a `client_id` and `client_secret`. @@ -324,7 +327,7 @@ The following conditions are available by device:
    -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 service developer tool icon **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. + + 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.