Response Style Guide
This document describes the style guide for responses.
Be concise
Responses should be concise and to the point. They should not contain unnecessary information.
- If a command is targeting a single device, don't repeat the name of the entity in the response.
- If a command is targeting an area, don't repeat the name of the area or it's entities in the response.
- If a command is asking for a list of entities, list all if 4 or less. Otherwise list first 3 and say "+ 2 more".
Readability is important, so use below code to generate "+ 2 more" style sentence when needed. Do not create your own variant.
{% if query.matched %}
{% set match = query.matched | map(attribute="name") | sort | list %}
{% if match | length > 4 %}
Yes, {{ match[:3] | join(", ") }} and {{ (match | length - 3) }} more
{%- else -%}
Yes,
{% for name in match -%}
{% if not loop.first and not loop.last %}, {% elif loop.last and not loop.first %} and {% endif -%}
{{ name }}
{%- endfor -%}
{% endif %}
{% else %}
No
{% endif %}
Use the correct tense
Responses should be in the present tense. For example, "The light is on" instead of "The light was on".
Use the correct voice
Responses should be in the active voice. For example, "The light is on" instead of "The light is being turned on". Exception here is for the cover
domain, as the actions take considerable time to complete.