diff --git a/.textlintrc.json b/.textlintrc.json index f63d815c550..fbfb1a41fea 100644 --- a/.textlintrc.json +++ b/.textlintrc.json @@ -79,6 +79,7 @@ "Cisco IOS", "CLI", "ClimaCell", + "ConBee", "Daikin", "Danfoss", "Dark Sky", @@ -126,6 +127,9 @@ "Home Assistant Supervised", "Home Assistant Supervisor", "Home Assistant", + "Home Assistant SkyConnect", + "SkyConnect", + "Home Assistant Yellow", "HomeKit", "Homematic", "Honeywell", @@ -183,6 +187,7 @@ "NodeMCU", "Norway", "NuHeat", + "NVMe", "NZBGet", "ODRIOD-N2", "ODROID", diff --git a/CODEOWNERS b/CODEOWNERS index 709df8de59f..fa4fb686b0d 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -72,7 +72,7 @@ source/_integrations/azure_event_hub.markdown @eavanvalkenburg source/_integrations/azure_service_bus.markdown @hfurubotten source/_integrations/backup.markdown @home-assistant/core source/_integrations/baf.markdown @bdraco @jfroy -source/_integrations/balboa.markdown @garbled1 +source/_integrations/balboa.markdown @garbled1 @natekspencer source/_integrations/bayesian.markdown @HarvsG source/_integrations/beewi_smartclim.markdown @alemuro source/_integrations/binary_sensor.markdown @home-assistant/core @@ -121,7 +121,7 @@ source/_integrations/compensation.markdown @Petro31 source/_integrations/config.markdown @home-assistant/core source/_integrations/configurator.markdown @home-assistant/core source/_integrations/control4.markdown @lawtancool -source/_integrations/conversation.markdown @home-assistant/core +source/_integrations/conversation.markdown @home-assistant/core @synesthesiam source/_integrations/coolmaster.markdown @OnFreund source/_integrations/coronavirus.markdown @home-assistant/core source/_integrations/counter.markdown @fabaff @@ -160,12 +160,14 @@ source/_integrations/dlna_dms.markdown @chishm source/_integrations/dnsip.markdown @gjohansson-ST source/_integrations/doorbird.markdown @oblogic7 @bdraco @flacjacket source/_integrations/dooya.markdown @starkillerOG +source/_integrations/dormakaba_dkey.markdown @emontnemery source/_integrations/dsmr.markdown @Robbie1221 @frenck source/_integrations/dsmr_reader.markdown @depl0y @glodenox source/_integrations/dunehd.markdown @bieniu source/_integrations/dwd_weather_warnings.markdown @runningman84 @stephan192 @Hummel95 source/_integrations/dynalite.markdown @ziv1234 -source/_integrations/ecobee.markdown @marthoc +source/_integrations/easyenergy.markdown @klaasnicolaas +source/_integrations/ecobee.markdown @marthoc @marcolivierarsenault source/_integrations/econet.markdown @vangorra @w1ll1am23 source/_integrations/ecovacs.markdown @OverloadUT @mib1185 source/_integrations/ecowitt.markdown @pvizeli @@ -179,7 +181,7 @@ source/_integrations/elv.markdown @majuss source/_integrations/emby.markdown @mezz64 source/_integrations/emoncms.markdown @borpin source/_integrations/emonitor.markdown @bdraco -source/_integrations/emulated_hue.markdown @bdraco +source/_integrations/emulated_hue.markdown @bdraco @Tho85 source/_integrations/emulated_kasa.markdown @kbickar source/_integrations/energie_vanons.markdown @klaasnicolaas source/_integrations/energy.markdown @home-assistant/core @@ -237,7 +239,7 @@ source/_integrations/gaviota.markdown @starkillerOG source/_integrations/gdacs.markdown @exxamalte source/_integrations/generic.markdown @davet2001 source/_integrations/generic_hygrostat.markdown @Shulyaka -source/_integrations/geniushub.markdown @zxdavb +source/_integrations/geniushub.markdown @manzanotti source/_integrations/geo_json_events.markdown @exxamalte source/_integrations/geo_location.markdown @home-assistant/core source/_integrations/geo_rss_events.markdown @exxamalte @@ -262,7 +264,7 @@ source/_integrations/gpsd.markdown @fabaff source/_integrations/gree.markdown @cmroche source/_integrations/greeneye_monitor.markdown @jkeljo source/_integrations/group.markdown @home-assistant/core -source/_integrations/growatt_server.markdown @indykoning @muppet3000 @JasperPlant +source/_integrations/growatt_server.markdown @muppet3000 source/_integrations/guardian.markdown @bachya source/_integrations/habitica.markdown @ASMfreaK @leikoilja source/_integrations/hardware.markdown @home-assistant/core @@ -392,6 +394,7 @@ source/_integrations/lyric.markdown @timmo001 source/_integrations/marantz.markdown @ol-iver @starkillerOG source/_integrations/martec.markdown @starkillerOG source/_integrations/mastodon.markdown @fabaff +source/_integrations/matter.markdown @home-assistant/matter source/_integrations/mazda.markdown @bdr99 source/_integrations/meater.markdown @Sotolotl @emontnemery source/_integrations/media_player.markdown @home-assistant/core @@ -568,7 +571,7 @@ source/_integrations/rtsp_to_webrtc.markdown @allenporter source/_integrations/ruckus_unleashed.markdown @gabe565 source/_integrations/ruuvi_gateway.markdown @akx source/_integrations/ruuvitag_ble.markdown @akx -source/_integrations/rympro.markdown @OnFreund +source/_integrations/rympro.markdown @OnFreund @elad-bar @maorcc source/_integrations/sabnzbd.markdown @shaiu source/_integrations/safe_mode.markdown @home-assistant/core source/_integrations/saj.markdown @fredericvl @@ -703,6 +706,7 @@ source/_integrations/tolo.markdown @MatthiasLohr source/_integrations/tomorrowio.markdown @raman325 @lymanepp source/_integrations/totalconnect.markdown @austinmroczek source/_integrations/tplink.markdown @rytilahti @thegardenmonkey +source/_integrations/tplink_omada.markdown @MarkGodwin source/_integrations/traccar.markdown @ludeeus source/_integrations/tractive.markdown @Danielhiversen @zhulik @bieniu source/_integrations/trafikverket_ferry.markdown @gjohansson-ST diff --git a/Gemfile.lock b/Gemfile.lock index 4915fc24ac9..1608f56f497 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -27,8 +27,8 @@ GEM ffi (1.15.5) ffi (1.15.5-x64-mingw32) forwardable-extended (2.6.0) - google-protobuf (3.22.0) - google-protobuf (3.22.0-x64-mingw32) + google-protobuf (3.22.2) + google-protobuf (3.22.2-x64-mingw32) http_parser.rb (0.8.0) i18n (1.12.0) concurrent-ruby (~> 1.0) @@ -82,7 +82,7 @@ GEM forwardable-extended (~> 2.6) public_suffix (5.0.1) racc (1.6.2) - rack (2.2.6.2) + rack (2.2.6.3) rack-protection (3.0.5) rack rake (13.0.6) @@ -94,10 +94,10 @@ GEM ruby2_keywords (0.0.5) safe_yaml (1.0.5) sass (3.4.25) - sass-embedded (1.58.3) + sass-embedded (1.59.2) google-protobuf (~> 3.21) rake (>= 10.0.0) - sass-embedded (1.58.3-x64-mingw32) + sass-embedded (1.59.2-x64-mingw32) google-protobuf (~> 3.21) sass-globbing (1.1.5) sass (>= 3.1) diff --git a/_config.yml b/_config.yml index be5f8daca0f..7365ba12ad4 100644 --- a/_config.yml +++ b/_config.yml @@ -109,9 +109,9 @@ social: # Home Assistant release details current_major_version: 2023 -current_minor_version: 2 -current_patch_version: 5 -date_released: 2023-02-15 +current_minor_version: 3 +current_patch_version: 3 +date_released: 2023-03-09 # 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/plugins/terminology_tooltip.rb b/plugins/terminology_tooltip.rb new file mode 100644 index 00000000000..b70b5e33075 --- /dev/null +++ b/plugins/terminology_tooltip.rb @@ -0,0 +1,52 @@ +module Jekyll + module HomeAssistant + class TerminologyTooltip < Liquid::Tag + + def initialize(tag_name, args, tokens) + super + if args.strip =~ SYNTAX + @term = Regexp.last_match(1) + @text = Regexp.last_match(2) + else + raise SyntaxError, <<~MSG + Syntax error in tag 'term' while parsing the following options: + + #{args} + + Valid syntax: + {% term [] %} + MSG + end + end + + def render(context) + entries = context.registers[:site].data["glossary"].select do |entry| + entry.key?("term") and (@term.casecmp(entry["term"]).zero? or (entry.key?("aliases") and entry["aliases"].any?{ |s| s.casecmp(@term)==0 })) + end + + raise ArgumentError, "Term #{@term} was not found in the glossary" if entries.length == 0 + raise ArgumentError, "Term #{@term} is in the glossary multiple times" if entries.length > 1 + raise ArgumentError, "Term #{@term} is missing a definition" unless entries[0].key?("definition") + glossary = entries[0] + + definition = glossary["excerpt"] || glossary["definition"] + + if glossary.key?("link") + rendered_link = Liquid::Template.parse(glossary["link"]).render(context).strip + link = "
[Learn more]" + end + + tooltip = "#{definition}#{link || ""}" + + "#{@text || @term}#{tooltip}" + end + + private + + SYNTAX = %r!^(\w+?|".+?")(?:\s+(\w+|".+"))?$!.freeze + + end + end +end + +Liquid::Template.register_tag('term', Jekyll::HomeAssistant::TerminologyTooltip) diff --git a/sass/custom/_terminology_tooltip.scss b/sass/custom/_terminology_tooltip.scss new file mode 100644 index 00000000000..fea762f43c5 --- /dev/null +++ b/sass/custom/_terminology_tooltip.scss @@ -0,0 +1,46 @@ +.terminology { + position: relative; + border-bottom: 2px dotted $primary-color; + cursor: help; + + &:hover .terminology-tooltip { + visibility: visible; + opacity: 1; + } + + .terminology-tooltip { + visibility: hidden; + width: 250px; + background-color: $primary-color; + color: #fff; + font-size: 0.8em; + padding: 8px; + border-radius: 8px; + + opacity: 0; + transition: opacity 0.5s; + + position: absolute; + z-index: 1; + + bottom: 100%; + left: 50%; + margin-left: -125px; + + a { + color: #fff; + font-weight: 500; + } + + &:after { + content: " "; + position: absolute; + top: 100%; + left: 50%; + margin-left: -5px; + border-width: 5px; + border-style: solid; + border-color: $primary-color transparent transparent transparent; + } + } +} diff --git a/sass/screen.scss b/sass/screen.scss index 687a57841e1..5c4f3818c27 100644 --- a/sass/screen.scss +++ b/sass/screen.scss @@ -8,4 +8,5 @@ @import 'custom/print'; @import 'custom/layout'; @import 'custom/getting_started'; -@import 'custom/tabbed_block'; \ No newline at end of file +@import 'custom/tabbed_block'; +@import 'custom/terminology_tooltip'; diff --git a/source/_data/glossary.yml b/source/_data/glossary.yml index 8f4ccd2996a..e846fc64629 100644 --- a/source/_data/glossary.yml +++ b/source/_data/glossary.yml @@ -1,78 +1,299 @@ -- topic: Action - 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: "Add-ons are additional standalone third-party software packages that can be installed on Home Assistant OS. 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/) connect one or more triggers to one or more actions in a 'when trigger then do action' fashion with additional optional conditions. For example, an automation might connect the trigger 'sunset' to the action 'turn the lights on' but only if the condition 'someone is home' is met. Pre-made automations for common use-cases are available via [the blueprints feature](/docs/automation/using_blueprints/)." -- topic: Binary sensor - description: "A [binary sensor](/integrations/binary_sensor) returns information about things that only have two states - such as on or off." -- 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." -- topic: Cover - description: "[Covers](/integrations/cover) are devices such as blinds, garage doors, etc that can be opened and closed and optionally set to a specific position." -- topic: Customize - description: "[Customization](/docs/configuration/customizing-devices/) allows you to overwrite the default parameters of your devices in the configuration." -- topic: Device - description: "A device is a named collection of entities that all represent the same physical/logical unit, which can do or observe something. An example for a device would be a smart plug named 'Coffee Machine' which provides a `switch` entity plus one or more `sensor` entities for power monitoring or similar." -- topic: Device tracker - description: "[Device trackers](/integrations/device_tracker) are used to track the presence, or location, of a device." -- topic: Discovery - description: "[Discovery](/integrations/discovery/) is the automatic setup of zeroconf/mDNS and uPnP devices after they are discovered." -- topic: Domain - description: "Each integration in Home Assistant has a unique identifier: a domain. All of the entities and services available in Home Assistant are provided by integrations and thus belong to such a domain. The first part of the entity or service, before the `.` shows the domain they belong to. For example `light.kitchen` is an entity in the `light` domain from the [light integration](/integrations/light), while `hue.activate_scene` is the `activate_scene` service for the `hue` domain which belongs to the [Hue integration](/integrations/hue)." -- topic: Entity - description: "An entity is the representation of a single control or data point of a device or service inside Home Assistant. A single device or service can thus provide multiple entities to be able to monitor and control all features a device provides. For example, a combined temperature and humidity sensor, in general, provides two `sensor` entities. One for the temperature (e.g., `sensor.temperature` with state `21.0` and unit `°C`) and one for the humity (e.g., `sensor.humidity` with state `65.4` and unit `%`)." -- topic: Event - description: "An [event](/docs/configuration/events/) is when something happens." -- topic: Frontend - description: "The [frontend](/integrations/frontend/) is a necessary component for the UI, it is also where you can define your themes." -- topic: Group - description: "[Groups](/integrations/group/) are a way to organize your entities into a single unit." -- 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: HassOS - description: "Another name for Home Assistant Operating System" -- topic: Home Assistant Core - description: Home Assistant Core is a Python program. It can be run on various operating systems and is the basis for Home Assistant. When people are talking about Home Assistant Core they usually refer to a standalone installation method that can be installed using a Virtual Environment or Docker. Home Assistant Core does not use the Home Assistant Supervisor. -- topic: Home Assistant Supervised (Previously Hass.io) - description: "Home Assistant Supervised is a full UI managed home automation ecosystem that runs Home Assistant, the Home Assistant Supervisor and add-ons. It comes pre-installed on Home Assistant OS, but can be installed on any Linux system. It leverages Docker, which is managed by the Home Assistant Supervisor." -- topic: Home Assistant Supervisor - description: "The Home Assistant Supervisor is a program that manages a Home Assistant installation, taking care of installing and updating Home Assistant, add-ons, itself and, if used, updating the Home Assistant Operating System." -- topic: Home Assistant Operating System - description: "Home Assistant OS, the Home Assistant Operating System, is an embedded, minimalistic, operating system designed to run the Home Assistant ecosystem on single board computers (like the Raspberry Pi) or Virtual Machines. The Home Assistant Supervisor can keep it up to date, removing the need for you to manage an operating system." -- topic: Integration - description: "[Integrations](/integrations/) connect and integrates Home Assistant with devices, services, and more. Such an integration contains all the logic that takes care of vendor- and device-specific implementations such as authentication or special protocols and brings those into Home Assistant in a standardized way. For example, the [Hue](/integrations/hue) integration integrates the Philips Hue bridge and its connected bulbs into Home Assistant, making them available as Home Assistant light entities you can control." -- topic: Lovelace - description: "Lovelace is the original code name of the UI that is now known as [Home Assistant dashboards](/dashboards)." -- topic: Light - description: "A [light](/integrations/light) has a brightness you can control, and optionally color temperature or RGB color control." -- topic: Notification - description: "You can use [notifications](/integrations/#notifications) to send messages, pictures, and more, to devices." -- topic: Packages - description: "[Packages](/docs/configuration/packages/) allow you to bundle different component configurations together." -- topic: Platform - description: "[Platforms](/docs/configuration/platform_options/) are building blocks provided by some integrations to be used by other integrations. For example, the [Light](/integrations/light) integration provides the `light platform` that is utilized by all integrations providing `light` entities such as e.g. [Hue](/integrations/hue)." -- 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." -- 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 - description: "[Sensors](/integrations/sensor) return information about a thing, for instance the level of water in a tank." -- topic: Selectors - description: "[Selectors](/docs/blueprint/selectors/) are components for the user interface. Some selectors can, for example, show a toggle button to turn something on or off, while another select can filter a list of devices to show only devices that have motion-sensing capabilities." -- topic: Service - description: "[Services](/docs/scripts/service-calls/) are called to perform actions." -- topic: Switch - description: "[Switches](/integrations/switch) are things that have two states you can select between, such as turning on or off a socket." -- topic: Template - description: "A [template](/docs/automation/templating/) is an automation definition that can include variables for the service or data from the trigger values. This allows automations to generate dynamic actions." -- topic: Trigger - description: "A [trigger](/docs/automation/trigger/) is a set of values or conditions of a platform that are defined to cause an automation to run." -- topic: TTS - description: "TTS ([text to speech](/integrations/tts)) allows Home Assistant to talk to you." -- topic: Variables - description: "[Variables](/docs/scripts/#variables) are used to store values in memory that can be processed e.g. in a script." -- topic: Zone - description: "[Zones](/integrations/zone/) are areas that can be used for presence detection." +## Glossary +# +# Format is a list of terms, each term is a dictionary with the following keys: +# - term: The term to define (required) +# - definition: The definition of the term (required) +# - excerpt: Short excerpt of the definition, overrides definition for tooltips (optional) +# - link: A URL to link to for more information (optional) +# - aliases: A list of aliases for the term (optional) +# + +- term: Action + definition: > + An action is an command that can be fired. For example, turning on a light. + Actions used in many places, most notably in automations and scripts. + aliases: + - actions + link: /docs/automation/action/ + +- term: Add-on + definition: > + Add-ons are additional standalone third-party software packages that can be + installed on Home Assistant OS. 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. + excerpt: > + Add-ons are additional standalone third-party software packages that can be + installed on Home Assistant OS. + +- term: Automation + definition: > + Automations connect one or more triggers to one or more actions in a + 'when trigger then do action' fashion with additional optional conditions. + For example, an automation might connect the trigger 'sunset' to the action + 'turn the lights on' but only if the condition 'someone is home' is met. + Pre-made automations for common use-cases are available via + [the blueprints feature](/docs/automation/using_blueprints/). + excerpt: > + Automations in Home Assistant allow you to automatically respond to things + that happen in and around your home. + link: /docs/automation/ + aliases: + - automations + +- term: Binary sensor + definition: > + A binary sensor returns information about things that only have two states - + such as on or off. + link: /integrations/binary_sensor + +- term: Component + definition: > + Better known as: Integrations. Integrations used to be known as components. + +- term: Condition + definition: > + Conditions are an optional part of an automation that will prevent an + action from firing if they are not met. + link: /docs/scripts/conditions/ + +- term: Cover + definition: > + Covers are devices such as blinds, garage doors, etc that can be opened + and closed and optionally set to a specific position. + link: /integrations/cover + +- term: Customize + definition: > + Customization allows you to overwrite the default parameters of your + devices in the configuration. + +- term: Device + definition: > + A device is a named collection of entities that all represent the same + physical/logical unit, which can do or observe something. An example, + for a device would be a smart plug named 'Coffee Machine' which provides + a `switch` entity plus one or more `sensor` entities for power monitoring + or similar. + excerpt: > + A device is a named collection of entities that all represent the same + physical/logical unit, which can do or observe something. + +- term: Device tracker + definition: > + Device trackers are used to track the presence, or location, of a device. + link: /integrations/device_tracker + +- term: Discovery + definition: > + Discovery is the automatic setup of zeroconf/mDNS and uPnP devices after + they are discovered. + +- term: Domain + definition: > + Each integration in Home Assistant has a unique identifier: + a domain. All of the entities and services available in Home Assistant + are provided by integrations and thus belong to such a domain. The first + part of the entity or service, before the `.` shows the domain they belong + to. For example `light.kitchen` is an entity in the `light` domain from + the [light integration](/integrations/light), while `hue.activate_scene` + is the `activate_scene` service for the `hue` domain which belongs to + the [Hue integration](/integrations/hue). + excerpt: > + Each integration in Home Assistant has a unique identifier: The domain. + It is often shown as the first part (before the dot) of entity IDs. + +- term: Entity + definition: > + An entity is the representation of a single control or data point of a + device or service inside Home Assistant. A single device or service can + thus provide multiple entities to be able to monitor and control all + features a device provides. For example, a combined temperature and + humidity sensor, in general, provides two `sensor` entities. One for the + temperature (e.g., `sensor.temperature` with state `21.0` and unit `°C`) + and one for the humity + (e.g., `sensor.humidity` with state `65.4` and unit `%`). + excerpt: > + An entity is the representation of a single control or data point of a + device or service inside Home Assistant. + +- term: Event + definition: > + An event is when something happens. + link: /docs/configuration/events/ + +- term: Frontend + definition: > + The frontend is a necessary component for the UI, it is also where you + can define your themes. + link: /integrations/frontend/ + +- term: Group + definition: > + Groups are a way to organize your entities into a single unit. + link: /integrations/group/ + +- term: HASS + definition: > + HASS or [hass](/docs/tools/hass/) is often used as an abbreviation for + Home Assistant. It is also the command-line tool. + +- term: HassOS + definition: > + Another name for Home Assistant Operating System + link: /hassio/installation/ + +- term: Home Assistant Core + definition: > + Home Assistant Core is a Python program. It can be run on various operating + systems and is the basis for Home Assistant. When people are talking about + Home Assistant Core they usually refer to a standalone installation method + that can be installed using a Virtual Environment or Docker. Home Assistant + Core does not use the Home Assistant Supervisor. + excerpt: > + Home Assistant Core is the hart of Home Assistant itself. It is a Python + program that powers every installation type, but can be installed standalone. + +- term: Home Assistant Supervised + definition: > + Home Assistant Supervised is a full UI managed home automation ecosystem that + runs Home Assistant, the Home Assistant Supervisor and add-ons. It comes + pre-installed on Home Assistant OS, but can be installed on any Linux system. + It leverages Docker, which is managed by the Home Assistant Supervisor. + excerpt: > + Home Assistant Supervised is the full Home Assistant ecosystem, without the + Home Assistant Operating System. + +- term: Home Assistant Supervisor + definition: > + The Home Assistant Supervisor is a program that manages a Home Assistant + installation, taking care of installing and updating Home Assistant, + add-ons, itself and, if used, updating the Home Assistant Operating System. + +- term: Home Assistant Operating System + definition: > + Home Assistant OS, the Home Assistant Operating System, is an embedded, + minimalistic, operating system designed to run the Home Assistant ecosystem + on single board computers (like the Raspberry Pi) or Virtual Machines. + The Home Assistant Supervisor can keep it up to date, removing the need for + you to manage an operating system. + excerpt: > + Home Assistant OS, the Home Assistant Operating System, is an embedded, + minimalistic, operating system designed to run the Home Assistant ecosystem. + +- term: Integration + definition: > + Integrations connect and integrates Home Assistant with devices, services, + and more. Such an integration contains all the logic that takes care of + vendor- and device-specific implementations such as authentication or + special protocols and brings those into Home Assistant in a standardized + way. For example, the [Hue](/integrations/hue) integration integrates + the Philips Hue bridge and its connected bulbs into Home Assistant, making + them available as Home Assistant light entities you can control. + excerpt: > + Integrations connect and integrates Home Assistant with your devices, + services, and more. + link: /integrations/ + +- term: Lovelace + definition: > + Lovelace is the original code name of the UI that is now known as + [Home Assistant dashboards](/dashboards). + +- term: Light + definition: > + A light has a brightness you can control, and optionally color temperature + or RGB color control. + link: /integrations/light + +- term: Notification + definition: > + You can use notifications to send messages, pictures, and more, to devices. + link: /integrations/#notifications + +- term: Packages + definition: > + Packages allow you to bundle different component configurations together. + link: /docs/configuration/packages/ + +- term: Platform + definition: > + Platforms are building blocks provided by some integrations to be used by + other integrations. For example, the [Light](/integrations/light) + integration provides the `light platform` that is utilized by all + integrations providing `light` entities such + as e.g. [Hue](/integrations/hue). + excerpt: > + Platforms are building blocks provided by some integrations to be used by + other integrations. + link: /docs/configuration/platform_options/ + +- term: Scene + definition: > + Scenes 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. + link: /integrations/scene/ + +- term: Script + definition: > + Scripts are components that allow users to specify a sequence of actions + to be executed by Home Assistant when turned on. + link: /docs/scripts/ + +- term: Sensor + definition: > + Sensors return information about a thing, for instance the level of water + in a tank. + link: /integrations/sensor/ + +- term: Selectors + definition: > + Selectors are components for the user interface. Some selectors can, + for example, show a toggle button to turn something on or off, while another + select can filter a list of devices to show only devices that have + motion-sensing capabilities. + excerpt: > + Selectors are components for the user interface. Like toggle, dropdown, + and more. + link: /docs/blueprint/selectors/ + +- term: Service + definition: > + Services are called to perform actions. + link: /docs/scripts/service-calls/ + +- term: Switch + definition: > + Switches are things that have two states you can select between, such as + turning on or off a socket. + link: /integrations/switch/ + +- term: Template + definition: > + A template is an automation definition that can include variables for the + service or data from the trigger values. This allows automations to generate + dynamic actions. + link: /docs/automation/templating/ + +- term: Trigger + definition: > + A trigger is a set of values or conditions of a platform that are defined + to cause an automation to run. + link: /docs/automation/trigger/ + +- term: TTS + definition: > + TTS (text to speech) allows Home Assistant to talk to you. + link: /integrations/tts/ + +- term: Variables + definition: > + Variables are used to store values in memory that can be processed + e.g. in a script. + link: /docs/scripts/#variables + +- term: Zone + definition: > + Zones are areas that can be used for presence detection. + link: /integrations/zone/ diff --git a/source/_docs/automation/trigger.markdown b/source/_docs/automation/trigger.markdown index 91d3236313e..bedca88e798 100644 --- a/source/_docs/automation/trigger.markdown +++ b/source/_docs/automation/trigger.markdown @@ -198,7 +198,12 @@ automation: ## Numeric state trigger -Fires when the numeric value of an entity's state (or attribute's value if using the `attribute` property, or the calculated value if using the `value_template` property) **crosses** (and only when crossing) a given threshold. On state change of a specified entity, attempts to parse the state as a number and fires if the value is changing from above to below or from below to above the given threshold. +Fires when the numeric value of an entity's state (or attribute's value if using the `attribute` property, or the calculated value if using the `value_template` property) **crosses** a given threshold. On state change of a specified entity, attempts to parse the state as a number and fires if the value is changing from above to below or from below to above the given threshold. + +
+Crossing the threshold means that the trigger only fires if the state wasn't previously within the threshold. +If the current state of your entity is `50` and you set the threshold to `below: 75`, the trigger would not fire if the state changed to e.g. `49` or `72` because the threshold was never crossed. The state would first have to change to e.g. `76` and then to e.g. `74` for the trigger to fire. +
{% raw %} diff --git a/source/_docs/glossary.markdown b/source/_docs/glossary.markdown index 806a9d011f6..6dd33947649 100644 --- a/source/_docs/glossary.markdown +++ b/source/_docs/glossary.markdown @@ -3,15 +3,16 @@ title: "Glossary" description: "Home Assistant's Glossary." --- -{% assign entries = site.data.glossary | sort: 'topic' %} +{% assign entries = site.data.glossary | sort: 'term' %} The glossary covers terms which are used around Home Assistant. {% configuration_basic %} {% for entry in entries %} - "{{ entry.topic }}": - description: "{{ entry.description }}" + "{{ entry.term }}": + description: "{{ entry.definition }} + {% if entry.link %}
[Read more about: {{ entry.term }}]({{ entry.link }}){% endif %}" {% endfor %} {% endconfiguration_basic %} diff --git a/source/_docs/scripts.markdown b/source/_docs/scripts.markdown index f0056fb0cbc..37c6c66c57f 100644 --- a/source/_docs/scripts.markdown +++ b/source/_docs/scripts.markdown @@ -5,7 +5,7 @@ toc: true no_toc: true --- -Scripts are a sequence of actions that Home Assistant will execute. Scripts are available as an entity through the standalone [Script component] but can also be embedded in [automations] and [Alexa/Amazon Echo] configurations. +Scripts are a sequence of {% term actions %} that Home Assistant will execute. Scripts are available as an entity through the standalone [Script component] but can also be embedded in {% term automations %} and [Alexa/Amazon Echo] configurations. When the script is executed within an automation the `trigger` variable is available. See [Available-Trigger-Data](/docs/automation/templating/#available-trigger-data). diff --git a/source/_includes/asides/docs_navigation.html b/source/_includes/asides/docs_navigation.html index dbf972094bf..35e06e0fd5b 100644 --- a/source/_includes/asides/docs_navigation.html +++ b/source/_includes/asides/docs_navigation.html @@ -42,7 +42,7 @@
  • {% active_link /docs/assist/ Assist %}
      -
    • {% active_link /docs/assist/android/ Assist for Android Wear %}
    • +
    • {% active_link /docs/assist/android/ Assist for Android %}
    • {% active_link /docs/assist/apple/ Assist for Apple devices %}
    • {% active_link /docs/assist/builtin_sentences/ Built-in sentences %}
    • {% active_link /docs/assist/custom_sentences/ Custom sentences %}
    • diff --git a/source/_includes/asides/getting_started_navigation.html b/source/_includes/asides/getting_started_navigation.html index 2d70544e2df..c7741c01864 100644 --- a/source/_includes/asides/getting_started_navigation.html +++ b/source/_includes/asides/getting_started_navigation.html @@ -4,6 +4,7 @@