diff --git a/CODEOWNERS b/CODEOWNERS index 8bf6607dbae..6afb998172d 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -12,6 +12,7 @@ source/_integrations/abode.markdown @shred86 source/_integrations/accuweather.markdown @bieniu source/_integrations/acmeda.markdown @atmurray source/_integrations/adguard.markdown @frenck +source/_integrations/advantage_air.markdown @Bre77 source/_integrations/agent_dvr.markdown @ispysoftware source/_integrations/airly.markdown @bieniu source/_integrations/airvisual.markdown @bachya @@ -55,7 +56,6 @@ source/_integrations/blebox.markdown @gadgetmobile source/_integrations/blink.markdown @fronzbot source/_integrations/bmp280.markdown @belidzs source/_integrations/bmw_connected_drive.markdown @gerard33 @rikroe -source/_integrations/bom.markdown @maddenp source/_integrations/bond.markdown @prystupa source/_integrations/braviatv.markdown @bieniu source/_integrations/broadlink.markdown @danielhiversen @felipediel @@ -71,7 +71,7 @@ source/_integrations/cisco_ios.markdown @fbradyirl source/_integrations/cisco_mobility_express.markdown @fbradyirl source/_integrations/cisco_webex_teams.markdown @fbradyirl source/_integrations/cloud.markdown @home-assistant/cloud -source/_integrations/cloudflare.markdown @ludeeus +source/_integrations/cloudflare.markdown @ludeeus @ctalkington source/_integrations/comfoconnect.markdown @michaelarnauts source/_integrations/config.markdown @home-assistant/core source/_integrations/configurator.markdown @home-assistant/core @@ -156,8 +156,8 @@ source/_integrations/goalzero.markdown @tkdrob source/_integrations/gogogate2.markdown @vangorra source/_integrations/google_assistant.markdown @home-assistant/cloud source/_integrations/google_cloud.markdown @lufton -source/_integrations/google_translate.markdown @awarecan source/_integrations/gpsd.markdown @fabaff +source/_integrations/gree.markdown @cmroche source/_integrations/greeneye_monitor.markdown @jkeljo source/_integrations/griddy.markdown @bdraco source/_integrations/group.markdown @home-assistant/core @@ -268,7 +268,7 @@ source/_integrations/neato.markdown @dshokouhi @Santobert source/_integrations/nederlandse_spoorwegen.markdown @YarmoM source/_integrations/nello.markdown @pschmitt source/_integrations/ness_alarm.markdown @nickw444 -source/_integrations/nest.markdown @awarecan +source/_integrations/nest.markdown @awarecan @allenporter source/_integrations/netatmo.markdown @cgtobi source/_integrations/netdata.markdown @fabaff source/_integrations/nexia.markdown @ryannazaretian @bdraco @@ -296,7 +296,7 @@ source/_integrations/ohmconnect.markdown @robbiet480 source/_integrations/ombi.markdown @larssont source/_integrations/omnilogic.markdown @oliver84 @djtimca @gentoosu source/_integrations/onboarding.markdown @home-assistant/core -source/_integrations/onewire.markdown @garbled1 +source/_integrations/onewire.markdown @garbled1 @epenet source/_integrations/onvif.markdown @hunterjm source/_integrations/openerz.markdown @misialq source/_integrations/opengarage.markdown @danielhiversen @@ -308,7 +308,6 @@ source/_integrations/orangepi_gpio.markdown @pascallj source/_integrations/oru.markdown @bvlaicu source/_integrations/ovo_energy.markdown @timmo001 source/_integrations/ozw.markdown @cgarwood @marcelveldt @MartinHjelmare -source/_integrations/panasonic_viera.markdown @joogps source/_integrations/panel_custom.markdown @home-assistant/frontend source/_integrations/panel_iframe.markdown @home-assistant/frontend source/_integrations/pcal9535a.markdown @Shulyaka @@ -325,6 +324,7 @@ source/_integrations/plum_lightpad.markdown @ColinHarrington @prystupa source/_integrations/point.markdown @fredrike source/_integrations/poolsense.markdown @haemishkyd source/_integrations/powerwall.markdown @bdraco @jrester +source/_integrations/profiler.markdown @bdraco source/_integrations/progettihwsw.markdown @ardaseremet source/_integrations/prometheus.markdown @knyar source/_integrations/proxmoxve.markdown @k4ds3 @jhollowe @@ -346,7 +346,7 @@ source/_integrations/rainmachine.markdown @bachya source/_integrations/random.markdown @fabaff source/_integrations/rejseplanen.markdown @DarkFox source/_integrations/repetier.markdown @MTrab -source/_integrations/rfxtrx.markdown @danielhiversen @elupus +source/_integrations/rfxtrx.markdown @danielhiversen @elupus @RobBie1221 source/_integrations/ring.markdown @balloob source/_integrations/risco.markdown @OnFreund source/_integrations/rmvtransport.markdown @cgtobi @@ -354,6 +354,7 @@ source/_integrations/roku.markdown @ctalkington source/_integrations/roomba.markdown @pschmitt @cyr-ius @shenxn source/_integrations/roon.markdown @pavoni source/_integrations/rpi_power.markdown @shenxn @swetoast +source/_integrations/ruckus_unleashed.markdown @gabe565 source/_integrations/safe_mode.markdown @home-assistant/core source/_integrations/saj.markdown @fredericvl source/_integrations/salt.markdown @bjornorri @@ -427,6 +428,7 @@ source/_integrations/tado.markdown @michaelarnauts @bdraco source/_integrations/tag.markdown @balloob @dmulcahey source/_integrations/tahoma.markdown @philklei source/_integrations/tankerkoenig.markdown @guillempages +source/_integrations/tasmota.markdown @emontnemery source/_integrations/tautulli.markdown @ludeeus source/_integrations/tellduslive.markdown @fredrike source/_integrations/template.markdown @PhracturedBlue @tetienne @@ -441,7 +443,7 @@ source/_integrations/tmb.markdown @alemuro source/_integrations/todoist.markdown @boralyl source/_integrations/toon.markdown @frenck source/_integrations/totalconnect.markdown @austinmroczek -source/_integrations/tplink.markdown @rytilahti +source/_integrations/tplink.markdown @rytilahti @thegardenmonkey source/_integrations/traccar.markdown @ludeeus source/_integrations/tradfri.markdown @ggravlingen source/_integrations/trafikverket_train.markdown @endor-force @@ -486,6 +488,7 @@ source/_integrations/wled.markdown @frenck source/_integrations/wolflink.markdown @adamkrol93 source/_integrations/workday.markdown @fabaff source/_integrations/worldclock.markdown @fabaff +source/_integrations/xbox.markdown @hunterjm source/_integrations/xbox_live.markdown @MartinHjelmare source/_integrations/xiaomi_aqara.markdown @danielhiversen @syssi source/_integrations/xiaomi_miio.markdown @rytilahti @syssi @starkillerOG @@ -497,7 +500,7 @@ source/_integrations/yeelight.markdown @rytilahti @zewelor @shenxn source/_integrations/yeelightsunflower.markdown @lindsaymarkward source/_integrations/yessssms.markdown @flowolf source/_integrations/yi.markdown @bachya -source/_integrations/zeroconf.markdown @Kane610 +source/_integrations/zeroconf.markdown @bdraco source/_integrations/zerproc.markdown @emlove source/_integrations/zha.markdown @dmulcahey @adminiuga source/_integrations/zodiac.markdown @JulienTant diff --git a/_config.yml b/_config.yml index d5494fa77e9..d8611dd9300 100644 --- a/_config.yml +++ b/_config.yml @@ -99,9 +99,9 @@ social: # Home Assistant release details current_major_version: 0 -current_minor_version: 116 -current_patch_version: 4 -date_released: 2020-10-15 +current_minor_version: 117 +current_patch_version: 0 +date_released: 2020-10-28 # 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/_docs/automation/trigger.markdown b/source/_docs/automation/trigger.markdown index 7c77bd094ce..68bb4d8298f 100644 --- a/source/_docs/automation/trigger.markdown +++ b/source/_docs/automation/trigger.markdown @@ -13,7 +13,7 @@ The following sections introduce all trigger types and further details to get st ### Event trigger -Fires when an event is being received. Events are the raw building blocks of Home Assistant. You can match events on just the event name or also require specific event data to be present. +Fires when an event is being received. Events are the raw building blocks of Home Assistant. You can match events on just the event name or also require specific event data or context to be present. Events can be fired by integrations or via the API. There is no limitation to the types. A list of built-in events can be found [here](/docs/configuration/events/). @@ -25,6 +25,11 @@ automation: # optional event_data: mood: happy + context: + user_id: + # any of these will match + - MY_USER_ID + - ANOTHER_USER_ID ``` ### Home Assistant trigger diff --git a/source/_docs/configuration/basic.markdown b/source/_docs/configuration/basic.markdown index f7303e63ece..00b72a9e30f 100644 --- a/source/_docs/configuration/basic.markdown +++ b/source/_docs/configuration/basic.markdown @@ -25,6 +25,7 @@ homeassistant: media_dirs: media: /media recordings: /mnt/recordings + legacy_templates: false ``` NOTE: You will not be able to edit anything in Configuration -> General in the UI if you are using YAML configuration for any of the following: name, latitude, longitude, elevation, unit_system, temperature_unit, time_zone, external_url, internal_url. @@ -90,6 +91,11 @@ media_dirs: description: A mapping of local media sources and their paths on disk. required: false type: map +legacy_templates: + description: Enable this option to restore pre-0.117 template rendering. Which renders all templates to string, instead of native types. + required: false + type: boolean + default: false {% endconfiguration %} ## Reload Core Service diff --git a/source/_docs/configuration/templating.markdown b/source/_docs/configuration/templating.markdown index 2adfb527848..b79b1a10670 100644 --- a/source/_docs/configuration/templating.markdown +++ b/source/_docs/configuration/templating.markdown @@ -174,8 +174,10 @@ The same thing can also be expressed as a filter: - `now()` returns a datetime object that represents the current time in your time zone. - You can also use: `now().second`, `now().minute`, `now().hour`, `now().day`, `now().month`, `now().year`, `now().weekday()` and `now().isoweekday()` and other [`datetime`](https://docs.python.org/3.8/library/datetime.html#datetime.datetime) attributes and functions. + - Using `now()` will cause templates to be refreshed at the start of every new minute. - `utcnow()` returns a datetime object of the current time in the UTC timezone. - For specific values: `utcnow().second`, `utcnow().minute`, `utcnow().hour`, `utcnow().day`, `utcnow().month`, `utcnow().year`, `utcnow().weekday()` and `utcnow().isoweekday()`. + - Using `utcnow()` will cause templates to be refreshed at the start of every new minute. - `as_timestamp()` converts datetime object or string to UNIX timestamp. This function also be used as a filter. - `as_local()` converts datetime object to local time. This function also be used as a filter. - `strptime(string, format)` parses a string based on a [format](https://docs.python.org/3.8/library/datetime.html#strftime-and-strptime-behavior) and returns a datetime object. @@ -460,10 +462,6 @@ To evaluate a response, go to **Developer Tools** -> **Template**, create your o If your template uses an `entity_id` that begins with a number (example: `states.device_tracker.2008_gmc`) you must use a bracket syntax to avoid errors caused by rendering the `entity_id` improperly. In the example given, the correct syntax for the device tracker would be: `states.device_tracker['2008_gmc']` -### Templates without entities using `now()` - -Note that templates that depend on time (`now()`) and do not use any entities will not be updated as it only happens on entity state changes. For more information and examples refer to [`template` sensor documentation](/integrations/template/#working-without-entities) - ### Priority of operators The default priority of operators is that the filter (`|`) has priority over everything except brackets. This means that: diff --git a/source/_docs/tools/quick-bar.markdown b/source/_docs/tools/quick-bar.markdown new file mode 100644 index 00000000000..e107dd591f6 --- /dev/null +++ b/source/_docs/tools/quick-bar.markdown @@ -0,0 +1,124 @@ +--- +title: "Quick Bar" +description: "Dialog for quickly accessing entities or running commands." +--- + +The "Quick Bar" allows you to quickly look up entities or run commands without needing to navigate away from your current view (Similar to the "quick open" feature in VS Code, Chrome Developer Tools, etc). + +It can be launched from anywhere in the frontend using [hotkeys](#hotkeys). + +

+ Quick Bar + Quick Bar for accessing entities and running commands +

+ +## Hotkeys + +Type these from anywhere in the application to launch the dialog. + +| Mode | Hotkey | Switch Modes +| ------------- | ------------- | ------------- | +| Entity Filter | `e` | Type `>` at start of input to switch to command palette. +| Command Palette| `c` | Remove `>` from start of input to switch to entity filter. + +
+ The application must have focus for the hotkey to register. If the dialog doesn't launch, try clicking into an empty part of the main content area of Home Assistant and type it again. +
+ +## Entity Filter + +*Hotkey: `e`* + +Similar to Configuration -> Entities, but more lightweight and accessible from anywhere in the frontend. + +

+ Quick Bar + Filter for entities in Quick Bar's entity filter mode +

+ +Once launched, start typing your entity id (or ["bits and pieces" of your entity id](#search-by-bits-and-pieces-rather-than-complete-substring)) to get back a filtered list of entities. Clicking on an entity (or hitting `enter` when the desired entity is highlighted) will open the "More Info" dialog for that entity. + +This is helpful when, say, you are in the middle of writing an automation and need some quick insight about an entity but don't want to navigate away to Developer Tools. + +## Command Palette + +*Hotkey: `c`* + +Run various commands from anywhere without having to navigate to another view. + +

+ Quick Bar + Run commands in Quick Bar's "command palette" +

+ +### Currently-supported commands + +Type | Available | +| ------------- | ------------- | +| Reload | All currently-supported "Reload {domain}" services.
*(E.g., "Reload Scripts")* | +| Server | Restart/Stop | + +## Disabling Shortcuts + +You can enable or disable all of Home Assistant's keyboard shortcuts by going to your User Profile and clicking the "Keyboard Shortcuts" toggle button. + +

+ Toggle for enabling or disabling keyboard shortcuts + Toggle button for enabling/disabling keyboard shortcuts added by Home Assistant. +

+ +## Tips + +### Search by "bits and pieces" rather than an exact substring + +We know something like "**light.ch**" should match "**light.ch**andelier". Similarly, "**telev**" should match "media_player.**telev**ision". + +But with Quick Bar, "**lich**" would also match "**li**ght.**ch**andelier", and "**plyrtv**" would also match "media_**pl**a**y**e**r**.**t**ele**v**ision". It checks letter *sequences* rather than exact substrings. + +One nice use-case for this is that you can quickly filter out an entire domain of entities with just a couple letters and a period. For example, "**li.**" will match any "**light.***" entities. Continuing with "li.ch" would bring up the chandelier right away. + +### Filters work against friendly name too + +If "light.hue_ceiling_light" has been named "Chandelier", you can type either "hue_ceil" or "chand" to find it. + +### Use the enter key any time to open the top result in the list + +As soon as the item you wanted shows up at the top of your filtered results, just hit "enter" to activate it -- no need to arrow down to the item, or click with your mouse. + +### Use arrow keys to move around the list + +When in the text field, use the down arrow `↓` to navigate down the item list. Hit `enter` to activate the currently-highlighted row. + +When in the item list, use the up arrow `↑` to navigate up the item list, and to get back into the text field. + +### Typing more letters will always add to your filter string + +Say you've just used arrow keys to navigate half-way down the list, and want to add more text to your filter. You don't need to click back into the text field, just start typing new letters and they'll append to your filter. + +## Troubleshooting + +### Dialog doesn't launch using hotkeys + +There are a few possible reasons why the quick bar dialog won't launch: + +1. Your user is not an admin. +2. The application lost focus. Try clicking into the main content area of the application and typing the shortcut again. +3. You have disabled Keyboard Shortcuts in your User Profile settings. +4. Shortcut is marked by browser as non-overridable. Firefox does this with some shortcuts, for example. But this shouldn't be a problem with single-key shortcuts currently used by the Quick Bar. +5. Some other application or browser extension is using or overriding the shortcut. Try disabling the extension. + +### A command is missing + +The command list only shows commands that are available to you based on your user settings, and loaded integrations. + +For example, if you don't have `automations:` in your config, then you won't see the "Reload Automations" command. + +If "Advanced Mode" is turned off in User Settings, then any command related to advanced mode will not appear in the list. + +If a command is missing that you feel is in error, please create an issue on GitHub. + +### Shortcuts interfere with accessibility tools, browser extensions, or are otherwise annoying + +You can [disable shortcuts](#disabling-shortcuts) in your User settings. + +Please consider submitting an issue explaining why the shortcut was disruptive to you. Keyboard shortcuts are new to Home Assistant, and getting them right is a challenge for any Web application. We rely on user feedback to ensure the experience is minimally-disruptive. diff --git a/source/_includes/asides/docs_navigation.html b/source/_includes/asides/docs_navigation.html index 914388720af..5ccf656b2e8 100644 --- a/source/_includes/asides/docs_navigation.html +++ b/source/_includes/asides/docs_navigation.html @@ -131,6 +131,7 @@ {% active_link /docs/tools/ Tools and Helpers %}