Merge branch 'current' into rc
2
Gemfile
@ -11,7 +11,7 @@ group :development do
|
||||
# > 2.1.0 causes slowdowns https://github.com/sass/sassc-ruby/issues/189
|
||||
gem 'sassc', '2.1.0'
|
||||
gem 'sass-embedded', '1.85.1'
|
||||
gem 'rubocop', '1.72.2'
|
||||
gem 'rubocop', '1.73.2'
|
||||
gem 'ruby-lsp', '0.23.11'
|
||||
gem 'rackup', '2.2.1'
|
||||
end
|
||||
|
12
Gemfile.lock
@ -30,10 +30,10 @@ GEM
|
||||
ffi (1.17.1-arm64-darwin)
|
||||
ffi (1.17.1-x86_64-linux-gnu)
|
||||
forwardable-extended (2.6.0)
|
||||
google-protobuf (4.29.3-arm64-darwin)
|
||||
google-protobuf (4.30.0-arm64-darwin)
|
||||
bigdecimal
|
||||
rake (>= 13)
|
||||
google-protobuf (4.29.3-x86_64-linux)
|
||||
google-protobuf (4.30.0-x86_64-linux)
|
||||
bigdecimal
|
||||
rake (>= 13)
|
||||
http_parser.rb (0.8.0)
|
||||
@ -99,7 +99,7 @@ GEM
|
||||
prism (1.3.0)
|
||||
public_suffix (6.0.1)
|
||||
racc (1.8.1)
|
||||
rack (3.1.10)
|
||||
rack (3.1.11)
|
||||
rack-protection (4.1.1)
|
||||
base64 (>= 0.1.0)
|
||||
logger (>= 1.6.0)
|
||||
@ -119,7 +119,7 @@ GEM
|
||||
regexp_parser (2.10.0)
|
||||
rexml (3.4.1)
|
||||
rouge (4.5.1)
|
||||
rubocop (1.72.2)
|
||||
rubocop (1.73.2)
|
||||
json (~> 2.3)
|
||||
language_server-protocol (~> 3.17.0.2)
|
||||
lint_roller (~> 1.1.0)
|
||||
@ -157,7 +157,7 @@ GEM
|
||||
rack-protection (= 4.1.1)
|
||||
rack-session (>= 2.0.0, < 3)
|
||||
tilt (~> 2.0)
|
||||
sorbet-runtime (0.5.11862)
|
||||
sorbet-runtime (0.5.11888)
|
||||
stringex (2.8.6)
|
||||
terminal-table (3.0.2)
|
||||
unicode-display_width (>= 1.1.1, < 3)
|
||||
@ -183,7 +183,7 @@ DEPENDENCIES
|
||||
nokogiri (= 1.18.3)
|
||||
rackup (= 2.2.1)
|
||||
rake (= 13.2.1)
|
||||
rubocop (= 1.72.2)
|
||||
rubocop (= 1.73.2)
|
||||
ruby-lsp (= 0.23.11)
|
||||
sass-embedded (= 1.85.1)
|
||||
sass-globbing (= 1.1.5)
|
||||
|
@ -235,6 +235,28 @@ type: energy-devices-detail-graph
|
||||
max_devices: 5
|
||||
```
|
||||
|
||||
## Sankey energy graph
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/dashboards/energy/sankey.png' alt='Screenshot of the sankey energy graph card'>
|
||||
Screenshot of the sankey energy graph card.
|
||||
</p>
|
||||
|
||||
The sankey energy graph shows the flow of energy in your home. It starts with sources and flows into the various consumers. Devices are grouped into floors and areas if these are configured.
|
||||
|
||||
### Examples
|
||||
|
||||
```yaml
|
||||
type: energy-sankey
|
||||
```
|
||||
|
||||
The following example orients the flow from top to bottom:
|
||||
|
||||
```yaml
|
||||
type: energy-sankey
|
||||
layout: vertical
|
||||
```
|
||||
|
||||
## Using Multiple Collections
|
||||
|
||||
By default, all energy cards are linked to any `energy-date-selection` card on the view, and all `energy-date-selection` cards are linked to the same period. To enable multiple different date selections on the same view, it is necessary to link them to different collections. This is done by adding the variable `collection_key` to the card YAML, and giving this a value of any custom string that begins with `energy_`. (strings that do not start with `energy_` will generate an error).
|
||||
|
@ -92,4 +92,8 @@ Missy Quarry:
|
||||
|
||||
Annika Schulz:
|
||||
name: Annika Schulz
|
||||
github: anakinsbrna
|
||||
github: anakinsbrna
|
||||
|
||||
Miranda Bishop:
|
||||
name: Miranda Bishop
|
||||
github: miranda-gb
|
@ -17,6 +17,11 @@ green:
|
||||
ship_to: America
|
||||
url: https://cloudfree.shop/product/home-assistant-green/
|
||||
logo: /images/distributors/cloudfree.webp
|
||||
- name: Seeed Studio
|
||||
ship_from: US
|
||||
ship_to: America
|
||||
url: https://www.seeedstudio.com/Home-Assistant-Green-p-5792.html
|
||||
logo: /images/distributors/seeed-studio.webp
|
||||
# Asia
|
||||
- name: Seeed Studio
|
||||
ship_from: China
|
||||
|
@ -18,7 +18,7 @@ This section gives a high-level introduction to blueprints. To view a descriptio
|
||||
|
||||
## What is a blueprint?
|
||||
|
||||
A blueprint is a {% term script %}, {% term automation %} or [template entity](/docs/integrations/template/) configuration with certain parts marked as configurable. This allows you to create different scripts, automations or template entities based on the same blueprint.
|
||||
A blueprint is a {% term script %}, {% term automation %} or [template entity](/integrations/template/) configuration with certain parts marked as configurable. This allows you to create different scripts, automations or template entities based on the same blueprint.
|
||||
|
||||
Imagine you want to control lights based on motion. A blueprint provides the generic {% term automation %} framework, while letting you select one specific motion sensor as a {% term trigger %}, and the exact light to control. This blueprint makes it possible to create two automations. Each automation has their own configuration and act completely independently. Yet, they share some basic automation configuration so that you do not have to set this up every time.
|
||||
|
||||
|
@ -1,31 +0,0 @@
|
||||
---
|
||||
title: "Glossary"
|
||||
description: "Home Assistant's Glossary."
|
||||
---
|
||||
|
||||
{% assign entries = site.data.glossary | sort: 'term' %}
|
||||
|
||||
The glossary covers terms which are used around Home Assistant.
|
||||
|
||||
<div class="config-vars basic">
|
||||
|
||||
{% for entry in entries %}
|
||||
|
||||
<div class="config-vars-item">
|
||||
<div class="config-vars-label">
|
||||
<a name="{{ entry.term | slugify }}" class="title-link" href="#{{ entry.term | slugify }}"></a>
|
||||
<span class="config-vars-label-name">{{ entry.term }}</span>
|
||||
</div>
|
||||
<div class="config-vars-description-and-children">
|
||||
<span class="config-vars-description">
|
||||
{{ entry.definition | markdownify | newline_to_br }}
|
||||
{%- if entry.link -%}
|
||||
<a href="{{ entry.link }}">Read more about: {{ entry.term }}</a>
|
||||
{%- endif -%}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
33
source/_docs/glossary.markdown
Normal file
@ -0,0 +1,33 @@
|
||||
---
|
||||
title: "Glossary"
|
||||
description: "Home Assistant's Glossary."
|
||||
---
|
||||
|
||||
The glossary covers terms which are used around Home Assistant.
|
||||
|
||||
{% assign entries = site.data.glossary | sort: 'term' %}
|
||||
{% assign current_letter = '' %}
|
||||
|
||||
{% for entry in entries %}
|
||||
|
||||
{% assign first_letter = entry.term | slice: 0 %}
|
||||
{% if first_letter != current_letter %}
|
||||
{% assign current_letter = first_letter | upcase %}
|
||||
|
||||
## {{ current_letter }}
|
||||
|
||||
---
|
||||
|
||||
{% endif %}
|
||||
|
||||
### {{ entry.term }}
|
||||
|
||||
{{ entry.definition | markdownify }}
|
||||
|
||||
{%- if entry.link -%}
|
||||
|
||||
{{ "[Read more about " | append: "_" | append: entry.term | append: "_](" | append: entry.link | append: ")" | markdownify }}
|
||||
|
||||
{%- endif -%}
|
||||
|
||||
{% endfor %}
|
@ -149,7 +149,7 @@ Another use of the {% my developer_statistics title="statistics developer tool"
|
||||
<svg width="24" height="24" viewBox="0 0 24 24"><path d="M22,13V22H2V19L22,13M21.68,7.06L16.86,4.46L17.7,7.24L7.58,10.24C6.63,8.95 4.82,8.67 3.53,9.62C2.24,10.57 1.96,12.38 2.91,13.67C3.85,14.97 5.67,15.24 6.96,14.29C7.67,13.78 8.1,12.97 8.14,12.09L18.26,9.09L19.1,11.87L21.68,7.06Z" /></svg>
|
||||
icon. Use date & time to search for the incorrect data point and adjust the value.
|
||||
|
||||

|
||||

|
||||
|
||||
## Assist tab
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
{% assign percentage = 100.0 | times: active_installations | divided_by: site.data.analytics_data.reports_integrations | round: 1 %}
|
||||
<section class="aside-module grid__item one-whole lap-one-half">
|
||||
<div class='brand-logo-container section'>
|
||||
<img src='https://brands.home-assistant.io/{% if page.ha_brand %}brands{% else %}_{% endif %}/{{ domain }}/logo.png' srcset='https://brands.home-assistant.io/{% if page.ha_brand %}brands{% else %}_{% endif %}/{{ page.ha_domain }}/logo@2x.png 2x' />
|
||||
<img src='https://brands.home-assistant.io/{% if page.ha_brand %}brands{% else %}_{% endif %}/{{ page.ha_domain }}//logo.png' srcset='https://brands.home-assistant.io/{% if page.ha_brand %}brands{% else %}_{% endif %}/{{ page.ha_domain }}/logo@2x.png 2x' />
|
||||
|
||||
{%- if page.ha_config_flow and domain -%}
|
||||
{% my config_flow_start badge domain=domain %}
|
||||
|
208
source/_integrations/_integration_docs_template.markdown
Normal file
@ -0,0 +1,208 @@
|
||||
---
|
||||
title: My integration
|
||||
description: Example document structure and text blocks for integration documentation.
|
||||
ha_release: 2025.3
|
||||
ha_iot_class: Local Push
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_domain: my_integration
|
||||
ha_integration_type: integration
|
||||
related:
|
||||
- url: https://developers.home-assistant.io/docs/documenting/standards
|
||||
title: Documentation standard
|
||||
- url: https://developers.home-assistant.io/docs/core/integration-quality-scale/rules/
|
||||
title: Integration Quality Scale - Rules
|
||||
- docs: /docs/glossary/
|
||||
title: Glossary
|
||||
- docs: /docs/tools/quick-bar/#my-links
|
||||
title: My link
|
||||
---
|
||||
|
||||
<!--- The integration documentation template provides a documentation structure as well as some example content per section. The example content is meant for inspiration, it may not apply for your integration or will at least have to be adapted. -->
|
||||
|
||||
<!--- Use this template together with the developer documentation, under [Documentation standard](https://developers.home-assistant.io/docs/documenting/standards) and the documentation rules of the [Integration Quality Scale](https://developers.home-assistant.io/docs/core/integration-quality-scale/rules/). -->
|
||||
|
||||
The **My integration** {% term integration %} is used to integrate with the devices of [MyCompany](https://www.mycompany.com). MyCompany creates various smart home appliances and devices and are known for their MyProduct.
|
||||
Use case: When you combine it with their other device you can do x.
|
||||
|
||||
## Supported devices
|
||||
|
||||
The following devices are known to be supported by the integration:
|
||||
|
||||
- Device 1
|
||||
- Device 2
|
||||
- Every appliance that runs MyOS
|
||||
|
||||
## Unsupported devices
|
||||
|
||||
The following devices are not supported by the integration:
|
||||
|
||||
- Device 3
|
||||
- Appliances built before 2010
|
||||
|
||||
## Prerequisites
|
||||
|
||||
1. Open the app store and install the **MyProduct** app.
|
||||
2. Create an account.
|
||||
3. Add a device to the app.
|
||||
4. Open the app and go to the **Settings** page.
|
||||
5. Select **Expose API**.
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
<!--- The next section is about documenting configuration variables. For details, refer to the [documentation standard on configuration variables](/docs/documenting/standards#configuration-variables). -->
|
||||
|
||||
<!--- In case your integration is used via a config flow: -->
|
||||
|
||||
{% configuration_basic %}
|
||||
Host:
|
||||
description: "The IP address of your bridge. You can find it in your router or in the Integration app under **Bridge Settings** > **Local API**."
|
||||
Local access token:
|
||||
description: "The local access token for your bridge. You can find it in the Integration app under **Bridge Settings** > **Local API**."
|
||||
{% endconfiguration_basic %}
|
||||
|
||||
<!--- In case an integration is set up via YAML in the {% term "`configuration.yaml`" %}: -->
|
||||
|
||||
{% configuration %}
|
||||
Host:
|
||||
description: "The IP address of your bridge. You can find it in your router or in the Integration app under **Bridge Settings** > **Local API**."
|
||||
required: false
|
||||
type: string
|
||||
Local access token:
|
||||
description: "The local access token for your bridge. You can find it in the Integration app under **Bridge Settings** > **Local API**."
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
## Configuration options
|
||||
|
||||
The integration provides the following configuration options:
|
||||
|
||||
{% configuration_basic %}
|
||||
Country code:
|
||||
description: You can specify the country code (NL or BE) of the country to display on the camera.
|
||||
Timeframe:
|
||||
description: Minutes to look ahead for precipitation forecast sensors (minimum 5, maximum 120).
|
||||
{% endconfiguration_basic %}
|
||||
|
||||
## Supported functionality
|
||||
|
||||
### Entities
|
||||
|
||||
The **My integration** integration provides the following entities.
|
||||
|
||||
#### Buttons
|
||||
|
||||
- **Start backflush**
|
||||
- **Description**: Starts the backflush process on your machine. You got 15 seconds to turn the paddle after activation.
|
||||
- **Available for machines**: all
|
||||
|
||||
#### Numbers
|
||||
|
||||
- **Dose**
|
||||
- **Description**: Dosage (in ticks) for each key
|
||||
- **Available for machines**: GS3 AV, Linea Mini.
|
||||
- **Remarks**: GS3 has this multiple times, one for each physical key (1-4), and the entities are disabled by default.
|
||||
|
||||
#### Sensors
|
||||
|
||||
- **Current coffee temperature**
|
||||
- **Description**: Current temperature of the coffee boiler.
|
||||
- **Available for machines**: all
|
||||
- **Remarks**: When the machine reaches temperature, this will be approximately 3 degrees higher than the `Coffee target temperature`, due to different measurement points.
|
||||
|
||||
- **Current steam temperature**
|
||||
- **Description**: Current temperature of the steam boiler.
|
||||
- **Available for machines**: Linea Micra, GS3 AV, GS3 MP.
|
||||
- **Remarks**: -
|
||||
|
||||
#### Selects
|
||||
|
||||
- **Prebrew/-infusion mode**
|
||||
- **Description**: Whether to use prebrew, preinfusion, or neither.
|
||||
- **Options**: Disabled, Prebrew, Preinfusion
|
||||
- **Available for machines**: Linea Micra, Linea Mini, GS3 AV
|
||||
|
||||
- **Steam level**
|
||||
- **Description**: The level your steam boiler should run at.
|
||||
- **Options**: 1, 2, 3
|
||||
- **Available for machines**: Linea Micra
|
||||
|
||||
#### Updates
|
||||
|
||||
- **Gateway firmware**
|
||||
- **Description**: Firmware status of the gateway.
|
||||
- **Available for machines**: all
|
||||
|
||||
## Actions
|
||||
|
||||
The integration provides the following actions.
|
||||
|
||||
### Action: Get schedule
|
||||
|
||||
The `my_integration.get_schedule` action is used to fetch a schedule from the integration.
|
||||
|
||||
- **Data attribute**: `config_entry_id`
|
||||
- **Description**: The ID of the config entry to get the schedule from.
|
||||
- **Optional**: No
|
||||
|
||||
## Examples
|
||||
|
||||
### Turning off the LEDs during the night
|
||||
|
||||
The status LEDs on the device can be quite bright.
|
||||
To tackle this, you can use this blueprint to easily automate the LEDs turning off when the sun goes down.
|
||||
|
||||
link to the blueprint on the [blueprints
|
||||
exchange](https://community.home-assistant.io/c/blueprints-exchange/53)
|
||||
|
||||
## Data updates
|
||||
|
||||
The **My integration** integration fetches data from the device every 5 minutes by default.
|
||||
Newer devices (the ones running MyOS) have the possibility to push data.
|
||||
In this case, pushing data is enabled when the integration is started. If enabling data push fails, the integration uses data {% term polling %}.
|
||||
|
||||
## Known limitations
|
||||
|
||||
The integration does not provide the ability to reboot, which can instead be done via the manufacturer's app.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Can’t set up the device
|
||||
|
||||
#### Symptom: “This device can’t be reached”
|
||||
|
||||
When trying to set up the integration, the form shows the message “This device can’t be reached”.
|
||||
|
||||
##### Description
|
||||
|
||||
This means the settings on the device are incorrect, since the device needs to be enabled for local communication.
|
||||
|
||||
##### Resolution
|
||||
|
||||
To resolve this issue, try the following steps:
|
||||
|
||||
1. Make sure your device is powered up (LEDs are on).
|
||||
2. Make sure your device is connected to the internet:
|
||||
- Make sure the app of the manufacturer can see the device.
|
||||
3. Make sure the device has the local communication enabled:
|
||||
- Check the device’s settings.
|
||||
- Check the device’s manual.
|
||||
...
|
||||
|
||||
### I can't see my devices
|
||||
|
||||
Make sure the devices are visible and controllable via the manufacturer's app.
|
||||
If they are not, check the device's power and network connection.
|
||||
|
||||
### The device goes unavailable after a day
|
||||
|
||||
Make sure you turned off the device's power-saving mode.
|
||||
|
||||
## Removing the integration
|
||||
|
||||
This integration follows standard integration removal.
|
||||
|
||||
{% include integrations/remove_device_service.md %}
|
||||
|
||||
After deleting the integration, go to the app of the manufacturer and remove the Home Assistant integration from there as well.
|
@ -55,6 +55,7 @@ device_tracker:
|
||||
- platform: netgear
|
||||
host: IP_ADDRESS
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
interval_seconds: 10
|
||||
consider_home: 180
|
||||
new_device_defaults:
|
||||
|
@ -142,8 +142,8 @@ House consumption data requires an Envoy Metered equipped and configured with at
|
||||
|
||||
- **Envoy <abbr title="Envoy serial number">SN</abbr> Current power consumption**: Current power consumption in W.
|
||||
- **Envoy <abbr title="Envoy serial number">SN</abbr> Lifetime energy consumption**: Lifetime energy consumption in Wh, default display scaled to MWh.
|
||||
- **Envoy <abbr title="Envoy serial number">SN</abbr> Energy production last seven days**: Energy consumption in previous 7 days, not including today's, in Wh, display scaled to kWh. This entity is not logged in statistics.
|
||||
- **Envoy <abbr title="Envoy serial number">SN</abbr> Energy consumption today**: Energy consumption since midnight in Wh, default display scaled to kWh.
|
||||
- **Envoy <abbr title="Envoy serial number">SN</abbr> Energy consumption last seven days**: Energy consumption in previous 7 days, not including today's, in Wh, display scaled to kWh. (See known limitations [Energy Incorrect](#energy-incorrect)) This entity is not logged in statistics.
|
||||
- **Envoy <abbr title="Envoy serial number">SN</abbr> Energy consumption today**: Energy consumption since midnight in Wh, default display scaled to kWh. (See known limitations [Energy Incorrect](#energy-incorrect))
|
||||
|
||||
<figure>
|
||||
<img src="/images/integrations/enphase_envoy/enphase_envoy_consumption.png" alt="consumption entities">
|
||||
@ -683,8 +683,8 @@ When using Envoy Metered with <abbr title="current transformers">CT</abbr>, not
|
||||
|
||||
When using Envoy Metered with <abbr title="current transformers">CT</abbr>
|
||||
|
||||
- not all firmware versions report `Energy production today` correctly. Zero data and unexpected spikes have been reported. In this case, best use a utility meter with the `Lifetime energy production` entity for daily reporting.
|
||||
- not all firmware versions report `Energy production last seven days` correctly. Zero and unexpected values have been reported.
|
||||
- not all firmware versions report `Energy production today` and/or `Energy consumption today` correctly. Zero data and unexpected spikes have been reported. In this case, best use a utility meter with the `Lifetime energy production` or `Lifetime energy consumption` entity for daily reporting.
|
||||
- not all firmware versions report `Energy production last seven days` and/or `Energy consumption last seven days` correctly. Zero and unexpected values have been reported.
|
||||
|
||||
### Lifetime reset
|
||||
|
||||
|
@ -118,10 +118,12 @@ In short, when any group member entity is `unlocked`, the group will also be `un
|
||||
- The group state is `unavailable` if all group members are `unavailable`.
|
||||
- Otherwise, the group state is `unknown` if all group members are `unknown` or `unavailable`.
|
||||
- Otherwise, the group state is `jammed` if at least one group member is `jammed`.
|
||||
- Otherwise, the group state is `opening` if at least one group member is `opening`.
|
||||
- Otherwise, the group state is `locking` if at least one group member is `locking`.
|
||||
- Otherwise, the group state is `open` if at least one group member is `open`.
|
||||
- Otherwise, the group state is `unlocking` if at least one group member is `unlocking`.
|
||||
- Otherwise, the group state is `unlocked` if at least one group member is `unlocked`.
|
||||
- Otherwise, the group state is `locked`.
|
||||
- Otherwise, the group state is `locked` if all group members are `locked`.
|
||||
- Otherwise, the group state is `unlocked`.
|
||||
|
||||
### Notify entity groups
|
||||
|
||||
|
@ -218,6 +218,11 @@ data:
|
||||
| `entity_id` | yes | Remove this media player from any player groups. |
|
||||
|
||||
|
||||
{% note %}
|
||||
|
||||
Actions may fail if they cannot be processed by the HEOS device. For example, attempting to call `media_player.clear_playlist` when the queue is empty will result in an error. To prevent this from halting a script or automation, set [`continue_on_error: true`](/docs/scripts/#continuing-on-error) in the action call.
|
||||
{% endnote %}
|
||||
|
||||
## Supported devices
|
||||
|
||||
Denon and Marantz do not currently publish an inventory of HEOS-enabled devices, however, many receiver and hi-fi products began including HEOS since 2013. Consult your product model to confirm support:
|
||||
|
@ -20,7 +20,9 @@ The `here_travel_time` sensor provides travel time from the [HERE Routing API](h
|
||||
|
||||
You need to register for an API key by following the instructions in the [API Developer Guide](https://www.here.com/docs/bundle/routing-api-developer-guide-v8/page/topics/send-request.html).
|
||||
|
||||
HERE offers a Limited Plan which includes 1000 free transactions per day. If you are not [updating sensors on demand](#updating-sensors-on-demand-using-automation), you can track 3 routes without exceeding the limit. You can provide payment details to increase this to 5000 free transactions per day. More information can be found [on the pricing page](https://www.here.com/get-started/pricing)
|
||||
HERE offers a Limited Plan which includes 1000 free transactions per day. If you are not [updating sensors on demand](#updating-sensors-on-demand-using-automation), you can track 3 routes without exceeding the limit.
|
||||
|
||||
You can provide payment details if you want to pay for unlimited transactions. Be aware that the amount of transactions included for free in the paid plan might be _less_ than the 1000 transactions per day in the free plan. More information can be found [on the pricing page](https://www.here.com/get-started/pricing)
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
|
@ -127,29 +127,30 @@ The properties for controlling both the temperature and wind strength of the app
|
||||
|
||||
| Device | Property |
|
||||
| ------ | -------- |
|
||||
| Air Conditioner | Current temperature<br>Fan mode<br>HVAC mode<br>Preset mode<br>Temperature<br>Temperature cool<br>Temperature heat<br>Unit |
|
||||
| Air Conditioner | Current temperature<br>Fan mode<br>Swing mode<br>Swing horizontal mode<br>HVAC mode<br>Preset mode<br>Temperature<br>Temperature cool<br>Temperature heat<br>Unit |
|
||||
| System Boiler | Current temperature<br>HVAC mode<br>Temperature<br>Temperature cool<br>Temperature heat<br>Unit |
|
||||
|
||||
### Event
|
||||
|
||||
A notification message pushed from the server is represented as an event platform.
|
||||
A notification message pushed from the server is represented as an event platform. The **Notification codes** shows the full support range, and you can check the range of your device through the developer tools.
|
||||
|
||||
| Device | Property |
|
||||
| ------ | -------- |
|
||||
| Air Conditioner | Notification |
|
||||
| Air Purifier| Notification |
|
||||
| Air Purifier Fan | Notification |
|
||||
| Dehumidifier | Notification |
|
||||
| Dish Washer | Error<br>Notification |
|
||||
| Humidifier | Notification |
|
||||
| Kimchi Refrigerator | Notification |
|
||||
| Microwave Oven | Notification |
|
||||
| Oven | Notification |
|
||||
| Refrigerator | Notification |
|
||||
| Robot Cleaner | Error<br>Notification |
|
||||
| Stick Cleaner | Notification |
|
||||
| Dryer<br>Styler<br>Washer<br>Washcombo Main<br>Washcombo Mini<br>Washtower<br>Washtower Dryer<br>Washtower Washer | Error<br>Notification |
|
||||
| Wine Cellar | Notification |
|
||||
| Device | Property | Notification codes |
|
||||
| ------ | -------- | ---------- |
|
||||
| Air Conditioner | Notification | water_is_full |
|
||||
| Air Purifier| Notification | lack_of_water, time_to_clean_filter, pollution_is_high, time_to_change_filter |
|
||||
| Air Purifier Fan | Notification | time_to_change_filter |
|
||||
| Dehumidifier | Notification | water_is_full |
|
||||
| Dish Washer | Error<br>Notification | cleaning_is_complete, error_during_cleaning, water_leak_has_occurred, rinse_is_not_enough, salt_refill_is_needed |
|
||||
| Humidifier | Notification | time_to_change_filter, lack_of_water |
|
||||
| Kimchi Refrigerator | Notification | door_is_open |
|
||||
| Microwave Oven | Notification | none |
|
||||
| Oven | Notification | preheating_is_complete, cooking_is_complete, time_to_clean, error_has_occurred |
|
||||
| Refrigerator | Notification | time_to_change_filter, time_to_change_water_filter, frozen_is_complete, door_is_open |
|
||||
| Robot Cleaner | Error<br>Notification | - |
|
||||
| Stick Cleaner | Notification | charging_is_complete, time_to_clean_filter |
|
||||
| Washer<br>Dryer<br>Washcombo Main<br>Washcombo Mini<br>Washtower<br>Washtower Dryer<br>Washtower Washer | Error<br>Notification | washing_is_complete, error_during_washing, drying_is_complete, drying_failed |
|
||||
| Styler | Error<br>Notification | styling_is_complete, error_has_occurred |
|
||||
| Wine Cellar | Notification | door_is_open |
|
||||
|
||||
### Fan
|
||||
|
||||
@ -172,7 +173,7 @@ A read-write property which has a numeric value is represented as a number platf
|
||||
| Microwave Oven | Fan<br>Light |
|
||||
| Oven | Temperature |
|
||||
| Refrigerator | Temperature |
|
||||
| Dryer<br>Styler<br>Washer<br>Washcombo Main<br>Washcombo Mini<br>Washtower<br>Washtower Dryer<br>Washtower Washer | Delay ends in |
|
||||
| Dryer<br>Styler<br>Washer<br>Washcombo Main<br>Washcombo Mini<br>Washtower<br>Washtower Dryer<br>Washtower Washer | Delayed start/end |
|
||||
| Water Heater | Temperature |
|
||||
| Wine Cellar | Light<br>Temperature |
|
||||
|
||||
@ -200,13 +201,13 @@ A read-write property which has only two states that can be toggled is represent
|
||||
|
||||
| Device | Property |
|
||||
| ------ | -------- |
|
||||
| Air Conditioner | Energy saving |
|
||||
| Air Conditioner | Power<br>Lighting<br>Energy saving |
|
||||
| Air Purifier | Power |
|
||||
| Air Purifier Fan | Heating<br>Power<br>UVnano |
|
||||
| Dehumidifier | Power |
|
||||
| Humidifier | Auto mode<br>Heating<br>Mood light<br>Power<br>Sleep mode |
|
||||
| Refrigerator | Ice plus<br>Quick freeze |
|
||||
| System Boiler | Hot water |
|
||||
| Refrigerator | Express mode<br>Express cool<br>Quick freeze |
|
||||
| System Boiler | Power<br>Hot water |
|
||||
| Wine Cellar | Ventilation |
|
||||
|
||||
### Vacuum
|
||||
@ -217,6 +218,14 @@ The properties for controlling the clean operations of the appliance are represe
|
||||
| ------ | -------- |
|
||||
| Robot Cleaner | Battery<br>Current status<br>Operation |
|
||||
|
||||
### Water heater
|
||||
|
||||
The properties for controlling the operating mode and temperature are represented as a water_heater platform.
|
||||
|
||||
| Device | Property |
|
||||
| ------ | -------- |
|
||||
| Water heater | Mode<br>Current temperature<br>Temperature |
|
||||
|
||||
### Sensor
|
||||
|
||||
A read-only property which has states is represented as a sensor platform.
|
||||
@ -228,8 +237,8 @@ A read-only property which has states is represented as a sensor platform.
|
||||
| Air Purifier Fan | Air quality sensor<br>Humidity<br>Odor<br>Overall air quality<br>PM1<br>PM10<br>PM2.5<br>Sleep timer<br>Temperature<br>Schedule turn-off<br>Schedule turn-on |
|
||||
| Cooktop | Current status<br>Power level |
|
||||
| Dehumidifier | Humidity<br>Operating mode |
|
||||
| Dish Washer | Current cycle<br>Current status<br>Rinse aid dispenser level<br>Softening level<br>Delay in<br>Remaining time<br>Total time |
|
||||
| Home Brew| Brewing duration<br>Brewing period<br>Current status<br>Flavor<br>Homebrew recipe<br>Hops<br>Recipe progress<br>Wort<br>Yeast |
|
||||
| Dish Washer | Current cycle<br>Current status<br>Rinse aid dispenser level<br>Softening level<br>Delayed start<br>Remaining time<br>Total time |
|
||||
| Home Brew| Brewing duration<br>Brewing period<br>Current status<br>First flavor<br>Second flavor<br>Homebrew recipe<br>First hop<br>Second hop<br>Recipe progress<br>Wort<br>Yeast |
|
||||
| Humidifier | Air quality sensor<br>Humidity<br>Overall air quality<br>PM1<br>PM10<br>PM2.5<br>Schedule turn-off<br>Schedule turn-on<br>Sleep timer<br>Temperature |
|
||||
| Kimchi Refrigerator | Fresh air filter<br>Temperature |
|
||||
| Microwave Oven | Current status |
|
||||
@ -238,16 +247,16 @@ A read-only property which has states is represented as a sensor platform.
|
||||
| Refrigerator | Fresh air filter<br>Water filter used |
|
||||
| Robot Cleaner | Current status<br>Operating mode<br>Running time |
|
||||
| Stick Cleaner | Battery<br>Current status<br>Operating mode |
|
||||
| Water Heater | Temperature |
|
||||
| System Boiler | Indoor temperature<br>Inlet temperature<br>Outlet temperature |
|
||||
| Water Purifier | High-temp sterilization<br>Type<br>UVnano|
|
||||
| Dryer<br>Styler<br>Washer<br>Washcombo Main<br>Washcombo Mini<br>Washtower<br>Washtower Dryer<br>Washtower Washer | Current status<br>Delay in<br>Remaining time<br>Total time |
|
||||
| Dryer<br>Styler<br>Washer<br>Washcombo Main<br>Washcombo Mini<br>Washtower<br>Washtower Dryer<br>Washtower Washer | Current status<br>Delayed start/end<br>Remaining time<br>Total time<br>Cycles |
|
||||
|
||||
### Custom card configuration
|
||||
## User guide
|
||||
### 1. Custom card configuration (HACS)
|
||||
|
||||
#### Timer Bar Card
|
||||
|
||||
- Supported devices: Washer, Dryer, Styler, Dish washer
|
||||
- Entities: sensor.washer_current_status, sensor.washer_remaining_time, sensor.washer_total_time
|
||||
**- Timer Bar Card**
|
||||
> - Supported devices: Washer, Dryer, Styler, Dish washer
|
||||
> - Used entities: sensor.washer_**current_status**, sensor.washer_**remaining_time**, sensor.washer_**total_time**
|
||||
|
||||
```yaml
|
||||
type: custom:timer-bar-card
|
||||
@ -274,6 +283,29 @@ entities:
|
||||
invert: true
|
||||
```
|
||||
|
||||
### 2. Automation
|
||||
**- Notification, Error event**
|
||||
> - Guide: [Automating on event](https://www.home-assistant.io/integrations/event/#automating-on-a-button-press)
|
||||
> - Important: guide's step 3, 4
|
||||
> - You can select the state change you want to act as trigger in step 4
|
||||
```yaml
|
||||
alias: lack of water example
|
||||
description: Toggle switch when air purifier's lack_of_water
|
||||
triggers:
|
||||
- trigger: state
|
||||
entity_id:
|
||||
- event.purifier_notification
|
||||
actions:
|
||||
- condition: state
|
||||
entity_id: event.purifier_notification
|
||||
attribute: event_type
|
||||
state: lack_of_water
|
||||
- type: toggle
|
||||
device_id: xxxxxxxx
|
||||
entity_id: xxxxxxxx
|
||||
domain: switch
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Setup
|
||||
@ -293,5 +325,9 @@ The LG ThinQ integration will work properly after some time.
|
||||
|
||||
## Debugging / Issue report
|
||||
The LG ThinQ integration will show additional information by enabling log configuration.
|
||||
1. Enable debug logging in /config/integrations/integration/lg_thinq,
|
||||
2. Please report your device info (screenshot including name, device type, entities) and logs.
|
||||
1. [Enable debug logging](/docs/configuration/troubleshooting/#enabling-debug-logging).
|
||||
- If you change **Enable** to **Disable**, the log will be saved to the download folder.
|
||||
2. When reporting an issue:
|
||||
- Provide screenshots of your device configuration (including device name, type, and entities).
|
||||
- Include the debug logs.
|
||||
- Describe the expected behavior and what's not working.
|
||||
|
@ -27,6 +27,7 @@ A lock entity can have the following states:
|
||||
- **Opening**: Indication of whether the lock is currently opening.
|
||||
- **Locked**: The lock is currently locked.
|
||||
- **Locking**: The lock is in the process of being locked.
|
||||
- **Unlocked**: The lock is currently unlocked.
|
||||
- **Unlocking**: The lock is in the process of being unlocked.
|
||||
- **Unavailable**: The entity is currently unavailable.
|
||||
- **Unknown**: The state is not yet known.
|
||||
|
@ -142,3 +142,16 @@ Your **Configure gas consumption** should now look like this:
|
||||
With the above changes your (**{% my config_energy title="Settings > Dashboards > Energy" %}**) page should now look like this:
|
||||
|
||||

|
||||
|
||||
## Known limitations
|
||||
|
||||
- There is a delay, often for up to a few days, for sensors and statistics to have up-to-date data.
|
||||
- For some utilities, there are no sensors added by this integration.
|
||||
- For some utilities, the sensors might disappear or become unavailable at the beginning of your bill period.
|
||||
- Sensors for typical monthly usage and cost are not populated for accounts younger than a year.
|
||||
- Many utilities provide granular usage (for example, daily or hourly) but not cost. They only provide cost for billing periods (for example, month). This results in showing 0 for cost.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
- Before opening an issue, ensure you can access the energy usage section/dashboard on your utility website and verify that the data is up-to-date there.
|
||||
- In your energy dashboard in Home Assistant, make sure you use the statistics and not the sensors.
|
||||
|
@ -204,6 +204,7 @@ If required, you can manually trigger an update via **Developer tools** > **Acti
|
||||
- Ensure you have enabled **Tapo Lab** > **Third-Party Compatibility** in the Tapo app. You may need to factory reset and re-add to the Tapo app after this step.
|
||||
- Disable or remove any custom integrations that interact with TPLink devices supported by this integration.
|
||||
- Ensure stable network connectivity between Home Assistant and the device.
|
||||
- Unplug existing TP-Link/Tapo devices on your network before onboarding a new device. The TP-Link Simple Setup (TSS) protocol, which shares credentials from existing devices, can break authentication. If issues persist, factory reset the new device and re-add it without other TP-Link devices active.
|
||||
- Check the [reported connection solutions](#reported-connection-solutions) section below.
|
||||
- Check the [supported device list](#supported-devices) to see if the device is tested to work with the integration.
|
||||
- Try running the [kasa tool](https://github.com/python-kasa/python-kasa) to connect to the device. An easy way to do this is to [install uv](https://docs.astral.sh/uv/getting-started/installation/) and run `uvx --from python-kasa kasa --username <tplink cloud username> --password <tplink cloud password>`
|
||||
|
50
source/_posts/2025-02-27-apollo-joins-wwha.markdown
Normal file
@ -0,0 +1,50 @@
|
||||
---
|
||||
layout: post
|
||||
title: "Apollo joins the Works With Home Assistant Program"
|
||||
description: "Adding three devices, including their community favorite presence and air quality multisensors."
|
||||
date: 2025-02-27 00:00:01
|
||||
date_formatted: "February 27, 2025"
|
||||
author: Miranda Bishop
|
||||
comments: true
|
||||
categories: Announcements
|
||||
og_image: /images/blog/2025-02-apollo/art.jpg
|
||||
---
|
||||
|
||||
<img src='/images/blog/2025-02-apollo/art.jpg' style='border: 0;box-shadow: none;' alt="Apollo wwha logo">
|
||||
|
||||
[Apollo Automation](https://apolloautomation.com/) has joined the [Works with Home Assistant](https://partner.home-assistant.io/) program. Certifying three of their newest devices, including their community favorite presence and air quality multisensors, giving users the best possible experience when using these devices with Home Assistant.
|
||||
|
||||
Notably, these are the first [ESPHome](https://esphome.io/index.html)-based devices to receive Works with Home Assistant certification. Apollo is one of the first movers in an important trend that we're very excited about: Home Assistant community members turning their open projects into viable businesses that support a thriving Open Home ecosystem.
|
||||
|
||||
<!--more-->
|
||||
|
||||
## Background
|
||||
|
||||
Apollo Automation is a growing family-run business rooted in the Home Assistant and ESPHome communities. And yes, they're named after their German Shepherd, Apollo 🐕.
|
||||
|
||||
<div class="alert">
|
||||
<p>Apollo Automation is built by and for the Home Assistant community. We believe in open smart home technology that gives users control, privacy, and flexibility. Joining the Works With Home Assistant program is a natural step for us, ensuring our devices integrate seamlessly while supporting the ecosystem we love. Home Assistant allows users to create powerful smart homes, and we are excited to contribute by making high-quality, reliable hardware that enhances the experience for everyone.</p>
|
||||
<em style="text-align: right; display: block;">- Justin Bunton, Co-Founder, Apollo Automation</em>
|
||||
</div>
|
||||
|
||||
Two years ago, they started sharing their designs for a new impressively small ESPHome-powered multisensor with the community. Getting feedback, sharing iterations, and working collaboratively, they turned that sensor into a full-fledged product, which was built to work with Home Assistant. They have continued this open, community-first approach and have now built several even more refined multisensors.
|
||||
|
||||
<p class='img'><img src='/images/blog/2025-02-apollo/multisensor.jpg' style='border: 0;box-shadow: none;' alt="Apollo MSR-2 multisensor">
|
||||
A multisensor for ants? 🐜</p>
|
||||
|
||||
Home Assistant is the [only true smart home platform](https://newsletter.openhomefoundation.org/true-platforms-let-you-create/) because it gives everyone full control to build and create. [ESPHome](/integrations/esphome/) is the ultimate smart device platform, and it is fostering an entirely new ecosystem of Open Home projects. ESPHome works fully locally, and it's a modder's paradise, allowing users to build DIY smart home devices (check out the [getting started with ESPHome guide](https://esphome.io/guides/getting_started_hassio.html)).
|
||||
|
||||
Creators can also use it to build pre-built, plug-and-play products that give users a really seamless experience. With devices being discovered and easily added to your Wi-Fi network and Home Assistant, along with a one-click update within Home Assistant.
|
||||
|
||||
ESPHome and Home Assistant allows anyone to turn their passion for building cool things into a career, and the things they build help support a more vibrant Open Home. Apollo is an exciting new partner for the Works with Home Assistant program and should serve as an inspiration to all aspiring makers in our community.
|
||||
|
||||
## Devices
|
||||
Works with Home Assistant differs from other certification programs as products are rigorously tested in-house to ensure they work seamlessly out of the box. Any company joining also commits to providing long-term support and firmware updates, while being a positive force in the Home Assistant community. Works with Home Assistant is operated by the [Open Home Foundation](https://www.openhomefoundation.org/), and it is the support of [Home Assistant Cloud](/cloud/) subscribers that funds this work.
|
||||
|
||||
Apollo has chosen first to certify three products, which include:
|
||||
|
||||
- [MTR-1 Multi-Target Radar Multisensor For Home Assistant (LD2450)](https://apolloautomation.com/products/mtr-1) - A tiny, but powerful radar-based (mmWave) presence sensor that can pack in many other sensors.
|
||||
- [MSR-2 mmWave Multisensor For Home Assistant (LD2410B)](https://apolloautomation.com/products/msr-2) - An even smaller multisensor that is the successor of the initial community feedback-driven design.
|
||||
- [AIR-1 Air Quality Sensor For Home Assistant](https://apolloautomation.com/products/air-1) - A small air quality multisensor that can be extended to incorporate a huge variety of sensors.
|
||||
|
||||
We anticipate that Apollo will bring more of their lineup into the program, and we are excited to see their new innovations going forward! This is just the start of a year of many new Works with Home Assistant announcements, so please stay tuned!
|
@ -21,7 +21,7 @@ After Home Assistant has been [installed](/installation/) on your device, there
|
||||

|
||||
- Enter a name, username, and password.
|
||||
- Make sure the username is lowercase and contains no whitespace.
|
||||
- {% icon "mdi:info" %} **Info**: The **Name** is the name of the person the is shown in the UI. The username is used for login.
|
||||
- {% icon "mdi:info" %} **Info**: The **Name** is the name of the person that is shown in the UI. The username is used for login.
|
||||
|
||||

|
||||
- Store the name, username, and password somewhere safe. There is no way to recover the owner credentials.
|
||||
|
BIN
source/images/blog/2025-02-apollo/art.jpg
Normal file
After Width: | Height: | Size: 632 KiB |
BIN
source/images/blog/2025-02-apollo/multisensor.jpg
Normal file
After Width: | Height: | Size: 69 KiB |
BIN
source/images/dashboards/energy/sankey.png
Normal file
After Width: | Height: | Size: 246 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 95 KiB |
BIN
source/images/docs/developer-tools/adjust-statistics.png
Normal file
After Width: | Height: | Size: 190 KiB |
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 102 KiB |