### Manual Installation of ECHONETLite Platform
Source: https://context7.com/scottyphillips/echonetlite_homeassistant/llms.txt
Steps to manually install the ECHONETLite Platform custom component. This involves cloning the repository, copying the custom component files to the Home Assistant configuration directory, and then restarting Home Assistant. After restarting, the integration can be added via the UI.
```bash
# Clone or download the repository
git clone https://github.com/scottyphillips/echonetlite_homeassistant.git
# Copy the custom component to your Home Assistant config
cp -r echonetlite_homeassistant/custom_components/echonetlite /config/custom_components/
# Restart Home Assistant
# Then add via UI: Settings -> Devices & Services -> ADD INTEGRATION -> ECHONET Lite
```
--------------------------------
### Format Sensor Data with Jinja2 Template
Source: https://context7.com/scottyphillips/echonetlite_homeassistant/llms.txt
This template example demonstrates how to format sensor data for display in Home Assistant. It uses Jinja2 templating to extract and convert the instantaneous power reading from another sensor.
```yaml
template:
- sensor:
- name: "AC Power Usage"
unit_of_measurement: "W"
state: "{{ states('sensor.living_room_ac_instantaneous_power') | int }}"
device_class: power
state_class: measurement
```
--------------------------------
### Install ECHONETLite Platform via HACS
Source: https://context7.com/scottyphillips/echonetlite_homeassistant/llms.txt
Instructions for installing the ECHONETLite Platform custom component using the Home Assistant Community Store (HACS). This involves adding the integration through the HACS UI, restarting Home Assistant, and then adding the ECHONET Lite integration via the Home Assistant settings, providing the device IP address.
```yaml
# 1. Install via HACS UI
# Navigate to: HACS -> Integrations -> Search "ECHONETLite Platform" -> Download
# 2. Restart Home Assistant
# 3. Add integration via UI
# Navigate to: Settings -> Devices & Services -> ADD INTEGRATION -> ECHONET Lite
# 4. Enter device IP address when prompted
# Host: 192.168.1.100
# Name: Living Room AC
```
--------------------------------
### Control Light Entities (Home Assistant)
Source: https://context7.com/scottyphillips/echonetlite_homeassistant/llms.txt
Examples for controlling ECHONETLite compatible lighting systems. This includes turning lights on/off, setting brightness (0-255), color temperature in Kelvin, and applying effects.
```yaml
# Turn on light
service: light.turn_on
target:
entity_id: light.living_room_light
# Turn on with brightness (0-255)
service: light.turn_on
target:
entity_id: light.living_room_light
data:
brightness: 200
# Turn on with color temperature in Kelvin (2000K warm to 6500K cool)
service: light.turn_on
target:
entity_id: light.living_room_light
data:
color_temp_kelvin: 4000
# Turn on with brightness and color temperature
service: light.turn_on
target:
entity_id: light.living_room_light
data:
brightness: 180
color_temp_kelvin: 3500
# Turn off light
service: light.turn_off
target:
entity_id: light.living_room_light
# Set effect (for supported lighting systems)
service: light.turn_on
target:
entity_id: light.living_room_light
data:
effect: "Scene 1"
```
--------------------------------
### Configure Hot Water Timer with ECHONETLite Platform
Source: https://context7.com/scottyphillips/echonetlite_homeassistant/llms.txt
This snippet demonstrates how to configure the on-timer for ECHONETLite-compatible hot water heaters using a custom service call. It also includes an automation example to synchronize an `input_datetime` helper with the hot water timer sensor, allowing for easier management of the timer settings.
```yaml
# Set the on-timer time for hot water heater
service: echonetlite.set_on_timer_time
target:
entity_id: sensor.hot_water_set_value_of_on_timer_time
data:
timer_time: "21:00"
# Automation example: Sync input_datetime with hot water timer
alias: Relay Hot Water On Timer time
description: "Sync input_datetime helper with hot water timer sensor"
trigger:
- platform: state
entity_id:
- input_datetime.hot_water_value_of_on_timer_time
for:
hours: 0
minutes: 0
seconds: 5
id: set
- platform: state
entity_id:
- sensor.hot_water_set_value_of_on_timer_time
id: get
condition:
- condition: template
value_template: >-
{{strptime(states('input_datetime.hot_water_value_of_on_timer_time'), '%H:%M:%S') !=
strptime(states('sensor.hot_water_set_value_of_on_timer_time')+':00', '%H:%M:%S')}}
action:
- if:
- condition: trigger
id: set
then:
- service: echonetlite.set_on_timer_time
entity_id: sensor.hot_water_set_value_of_on_timer_time
data_template:
timer_time: '{{ states(''input_datetime.hot_water_value_of_on_timer_time'') }}'
else:
- service: input_datetime.set_datetime
entity_id: input_datetime.hot_water_value_of_on_timer_time
data_template:
time: '{{ states(''sensor.hot_water_set_value_of_on_timer_time'') }}'
mode: single
```
--------------------------------
### Configure HVAC Options in Home Assistant
Source: https://context7.com/scottyphillips/echonetlite_homeassistant/llms.txt
This YAML configuration allows users to set HVAC-specific options through the Home Assistant UI. It includes settings for fan speed, swing mode, airflow direction, temperature ranges, and other operational modes. These options are accessible after the initial ECHONET Lite setup.
```yaml
# Access options via: Settings -> Devices & Services -> ECHONET Lite -> Configure
# Available configuration options for HVAC:
# Fan Speed Settings (multi-select)
# Options: auto, minimum, low, medium-low, medium, medium-high, high, very-high, max
# Swing Mode Settings (multi-select)
# Options: not-used, vert, horiz, vert-horiz
# Auto Direction Settings (multi-select)
# Options: auto, non-auto, auto-vert, auto-horiz
# Vertical Airflow Settings (multi-select)
# Options: upper, upper-central, central, lower-central, lower
# Horizontal Airflow Settings (multi-select)
# Options: Various combinations of left, left-center, center, right-center, right
# Temperature Range Settings (per mode):
# min_temp_heat: 10-25 (default: 16)
# max_temp_heat: 18-30 (default: 30)
# min_temp_cool: 15-25 (default: 16)
# max_temp_cool: 18-30 (default: 30)
# min_temp_auto: 15-25 (default: 16)
# max_temp_auto: 18-30 (default: 30)
# Other Mode Handling:
# other_mode: as_off (default) or as_idle
# Miscellaneous Options:
# force_polling: false (default) - Force polling even for notification-capable devices
# super_energy: true (default) - Enable super energy monitoring sensors
# batch_size_max: 10 (default, range 1-30) - Max properties per batch request
```
--------------------------------
### Set Integer Value Service with ECHONETLite Platform
Source: https://context7.com/scottyphillips/echonetlite_homeassistant/llms.txt
This section describes the service available in the ECHONETLite Platform for setting single-byte integer values on ECHONETLite sensors. An example use case is adjusting water temperature settings.
```yaml
# Set single-byte integer values for ECHONETLite sensors like water temperature settings.
```
--------------------------------
### Configure ECHONETLite Network Settings
Source: https://context7.com/scottyphillips/echonetlite_homeassistant/llms.txt
This YAML configuration outlines the network requirements for ECHONETLite device discovery and communication. It specifies the default UDP port (3610) and provides examples for firewall configuration (ufw) and Docker port mapping to ensure seamless connectivity. It also references the official ECHONETLite specifications.
```yaml
# ECHONETLite uses UDP port 3610 for communication
# Ensure this port is not blocked by your firewall
# If using Docker, add port mapping:
# docker run -d --name homeassistant \
# --network=host \
# homeassistant/home-assistant:latest
# Or with port mapping (less reliable for multicast):
# docker run -d --name homeassistant \
# -p 3610:3610/udp \
# homeassistant/home-assistant:latest
# For firewall configuration (Linux):
sudo ufw allow 3610/udp
# ECHONETLite specifications: https://echonet.jp/spec_v113_lite_en/
```
--------------------------------
### Control Switch Entities (Home Assistant)
Source: https://context7.com/scottyphillips/echonetlite_homeassistant/llms.txt
Control ECHONETLite device power states and binary settings using the switch service. Examples include turning switches for devices like hot water heaters or floor heaters on and off.
```yaml
# Turn on switch (e.g., hot water heater, floor heater)
service: switch.turn_on
target:
entity_id: switch.hot_water_heater
# Turn off switch
service: switch.turn_off
target:
entity_id: switch.hot_water_heater
# Example switches created automatically:
# - switch.floor_heater_power
# - switch.hot_water_automatic_heating
# - switch.bathroom_priority
# - switch.quick_freeze_function
```
--------------------------------
### Common ECHONETLite Sensor Entity Attributes
Source: https://context7.com/scottyphillips/echonetlite_homeassistant/llms.txt
This YAML snippet lists common sensor entities that are automatically created by the ECHONETLite integration in Home Assistant. It categorizes sensors by device type, such as HVAC, Hot Water Heater, Solar Power, Storage Battery, and Electric Meter, providing examples of their naming conventions and the type of data they represent.
```yaml
# Common sensor entities created automatically:
# HVAC Sensors:
# - sensor.{device}_indoor_temperature
# - sensor.{device}_outdoor_temperature
# - sensor.{device}_indoor_humidity
# - sensor.{device}_instantaneous_power
# - sensor.{device}_cumulative_power
# Hot Water Heater Sensors:
# - sensor.{device}_water_temperature
# - sensor.{device}_remaining_hot_water
# - sensor.{device}_tank_capacity
# - sensor.{device}_bath_water_temperature
# Solar Power Sensors:
# - sensor.{device}_instantaneous_power_generation
# - sensor.{device}_cumulative_power_generation
# Storage Battery Sensors:
# - sensor.{device}_remaining_capacity
# - sensor.{device}_charging_discharging_power
# - sensor.{device}_battery_state_of_charge
# Electric Meter Sensors:
# - sensor.{device}_cumulative_energy
```
--------------------------------
### Enable Mitsubishi Interfaces with cURL
Source: https://github.com/scottyphillips/echonetlite_homeassistant/blob/master/README.md
This snippet demonstrates how to enable ECHONET Lite protocol support on certain Mitsubishi WiFi adaptors by calling the '/smart' endpoint. It requires the IP address of the adaptor and sends an XML payload. The expected successful response is also shown.
```bash
curl -H 'Content-Type: text/xml' -d '7WVvmfhMYzGVi70nyFhmKEy9Jo3Hg3994vi9y1kEgDFWd/1ch9RWDUgY4HgsvMHFvP93fQ30AvEJCNcd0GTwPID0F8V5eyMVj/qAQCXFqYrRtJh8MIpm2/h7jZ2SsPj0' "http://${ip}/smart"
```
--------------------------------
### Light Entity Control
Source: https://context7.com/scottyphillips/echonetlite_homeassistant/llms.txt
Control ECHONETLite-compatible lighting systems including brightness and color temperature.
```APIDOC
## Light Entity Control
Control ECHONETLite-compatible lighting systems including brightness and color temperature.
### POST /api/services/light/turn_on
#### Description
Turns on a light entity. Can specify brightness, color temperature, and effects.
#### Parameters
- **entity_id** (string) - Required - The entity ID of the light to control (e.g., light.living_room_light).
- **brightness** (integer) - Optional - Brightness level (0-255).
- **color_temp_kelvin** (integer) - Optional - Color temperature in Kelvin (2000K-6500K).
- **effect** (string) - Optional - Effect to apply (e.g., "Scene 1").
### POST /api/services/light/turn_off
#### Description
Turns off a light entity.
#### Parameters
- **entity_id** (string) - Required - The entity ID of the light to control (e.g., light.living_room_light).
### Request Examples
**Turn on light:**
```json
{
"entity_id": "light.living_room_light"
}
```
**Turn on with brightness (0-255):**
```json
{
"entity_id": "light.living_room_light",
"brightness": 200
}
```
**Turn on with color temperature in Kelvin (2000K warm to 6500K cool):**
```json
{
"entity_id": "light.living_room_light",
"color_temp_kelvin": 4000
}
```
**Turn on with brightness and color temperature:**
```json
{
"entity_id": "light.living_room_light",
"brightness": 180,
"color_temp_kelvin": 3500
}
```
**Turn off light:**
```json
{
"entity_id": "light.living_room_light"
}
```
**Set effect (for supported lighting systems):**
```json
{
"entity_id": "light.living_room_light",
"effect": "Scene 1"
}
```
### Response
#### Success Response (200)
- **message** (string) - A success message indicating the light state was updated.
```
--------------------------------
### Automate Hot Water Temperature Sync (Home Assistant)
Source: https://context7.com/scottyphillips/echonetlite_homeassistant/llms.txt
An automation to synchronize an input_number helper with the hot water temperature sensor. It triggers on state changes of either the input number or the sensor and updates the corresponding entity.
```yaml
# Automation example: Create a numeric setting entity with input helper
alias: Relay Set Value Of Hot Water Temperature
description: "Sync input_number helper with hot water temperature sensor"
trigger:
- platform: state
entity_id:
- input_number.set_value_of_hot_water_temperature
for:
hours: 0
minutes: 0
seconds: 2
id: set
- platform: state
entity_id:
- sensor.set_value_of_hot_water_temperature
id: get
condition:
- condition: template
value_template: >-
{{int(states('input_number.set_value_of_hot_water_temperature'), 0) !=
int(states('sensor.set_value_of_hot_water_temperature'), 0)}}
action:
- if:
- condition: trigger
id: set
then:
- service: echonetlite.set_value_int_1b
entity_id: sensor.set_value_of_hot_water_temperature
data_template:
value: '{{ states(''input_number.set_value_of_hot_water_temperature'') }}'
else:
- service: input_number.set_value
entity_id: input_number.set_value_of_hot_water_temperature
data_template:
value: '{{ states(''sensor.set_value_of_hot_water_temperature'') }}'
mode: queued
max: 2
```
--------------------------------
### Enable ECHONET Protocol on Mitsubishi Devices
Source: https://context7.com/scottyphillips/echonetlite_homeassistant/llms.txt
Enable hidden ECHONETLite support on certain Mitsubishi WiFi adaptors via REST endpoint.
```APIDOC
## Enable ECHONET Protocol on Mitsubishi Devices
Enable hidden ECHONETLite support on certain Mitsubishi WiFi adaptors via REST endpoint.
### POST /smart
#### Description
This endpoint enables the ECHONET Lite protocol on compatible Mitsubishi WiFi adapters.
#### Method
POST
#### Endpoint
`/smart`
#### Parameters
##### Headers
- **Content-Type** (string) - Required - Set to `text/xml`.
##### Request Body
- **XML Payload** (string) - Required - An XML payload containing an encrypted key. Example: `7WVvmfhMYzGVi70nyFhmKEy9Jo3Hg3994vi9y1kEgDFWd/1ch9RWDUgY4HgsvMHFvP93fQ30AvEJCNcd0GTwPID0F8V5eyMVj/qAQCXFqYrRtJh8MIpm2/h7jZ2SsPj0`
### Request Example
```bash
curl -H 'Content-Type: text/xml' \
-d '7WVvmfhMYzGVi70nyFhmKEy9Jo3Hg3994vi9y1kEgDFWd/1ch9RWDUgY4HgsvMHFvP93fQ30AvEJCNcd0GTwPID0F8V5eyMVj/qAQCXFqYrRtJh8MIpm2/h7jZ2SsPj0' \
"http:///smart"
```
**Note:** Replace `` with the actual IP address of your Mitsubishi device.
### Response
#### Success Response (200)
- **XML Response** (string) - An XML response containing encrypted content, indicating success. Example: `[encrypted content]`
#### Error Response (e.g., 400, 500)
- **Error Message** (string) - A message describing the error.
```
--------------------------------
### Cover Entity Control
Source: https://context7.com/scottyphillips/echonetlite_homeassistant/llms.txt
Control ECHONETLite electric blinds, shutters, curtains, and gates.
```APIDOC
## Cover Entity Control
Control ECHONETLite electric blinds, shutters, curtains, and gates.
### POST /api/services/cover/open_cover
#### Description
Opens a cover entity (blinds, shutters, curtains).
#### Parameters
- **entity_id** (string) - Required - The entity ID of the cover to control (e.g., cover.electric_blind).
### POST /api/services/cover/close_cover
#### Description
Closes a cover entity.
#### Parameters
- **entity_id** (string) - Required - The entity ID of the cover to control (e.g., cover.electric_blind).
### POST /api/services/cover/stop_cover
#### Description
Stops the movement of a cover entity.
#### Parameters
- **entity_id** (string) - Required - The entity ID of the cover to control (e.g., cover.electric_blind).
### POST /api/services/cover/set_cover_position
#### Description
Sets the position of a cover entity.
#### Parameters
- **entity_id** (string) - Required - The entity ID of the cover to control (e.g., cover.electric_blind).
- **position** (integer) - Required - The desired position (0 = closed, 100 = open).
### POST /api/services/cover/set_cover_tilt_position
#### Description
Sets the tilt position of a cover entity (e.g., blinds).
#### Parameters
- **entity_id** (string) - Required - The entity ID of the cover to control (e.g., cover.electric_blind).
- **tilt_position** (integer) - Required - The desired tilt position (e.g., 45 degrees).
### Request Examples
**Open cover (blinds, shutters, curtains):**
```json
{
"entity_id": "cover.electric_blind"
}
```
**Close cover:**
```json
{
"entity_id": "cover.electric_blind"
}
```
**Stop cover movement:**
```json
{
"entity_id": "cover.electric_blind"
}
```
**Set cover position (0 = closed, 100 = open):**
```json
{
"entity_id": "cover.electric_blind",
"position": 50
}
```
**Set blind angle/tilt:**
```json
{
"entity_id": "cover.electric_blind",
"tilt_position": 45
}
```
### Response
#### Success Response (200)
- **message** (string) - A success message indicating the cover state was updated.
```
--------------------------------
### Switch Entity Control
Source: https://context7.com/scottyphillips/echonetlite_homeassistant/llms.txt
Control ECHONETLite device power states and binary settings.
```APIDOC
## Switch Entity Control
Control ECHONETLite device power states and binary settings.
### POST /api/services/switch/turn_on
#### Description
Turns on a switch entity (e.g., hot water heater, floor heater).
#### Parameters
- **entity_id** (string) - Required - The entity ID of the switch to control (e.g., switch.hot_water_heater).
### POST /api/services/switch/turn_off
#### Description
Turns off a switch entity.
#### Parameters
- **entity_id** (string) - Required - The entity ID of the switch to control (e.g., switch.hot_water_heater).
### Request Examples
**Turn on switch (e.g., hot water heater, floor heater):**
```json
{
"entity_id": "switch.hot_water_heater"
}
```
**Turn off switch:**
```json
{
"entity_id": "switch.hot_water_heater"
}
```
### Response
#### Success Response (200)
- **message** (string) - A success message indicating the switch state was updated.
```
--------------------------------
### Create Custom ECHONETLite Device Quirks
Source: https://context7.com/scottyphillips/echonetlite_homeassistant/llms.txt
This Python code provides a template for creating custom quirk files for ECHONETLite devices that have non-standard properties. It defines helper functions for decoding byte values and a dictionary `QUIRKS` to map custom ECHONET property codes (EPC) to decoding functions and display names. This is useful for integrating devices with unique communication protocols.
```python
# File: custom_components/echonetlite/quirks/{Manufacturer}/all/{eojgc}{eojcc}.py
# Example: custom_components/echonetlite/quirks/Rinnai/all/0272.py
from homeassistant.const import CONF_NAME
def _hex(edt):
"""Convert EDT bytes to hex string."""
return edt.hex()
def _decode_custom_value(edt):
"""Decode custom byte value."""
if len(edt) == 1:
return int.from_bytes(edt, 'big')
return None
QUIRKS = {
# Custom property 0xFA
0xFA: {
"EPC_FUNCTION": _hex, # Function to decode the value
"ENL_OP_CODE": {
CONF_NAME: "Custom Property FA", # Display name
},
},
# Custom property 0xFD with numeric decoding
0xFD: {
"EPC_FUNCTION": _decode_custom_value,
"ENL_OP_CODE": {
CONF_NAME: "Custom Property FD",
},
},
}
# To find quirks in debug logs, enable debug logging and look for:
# getmap/setmap values above 240 (0xF0) indicate manufacturer-specific properties
```
--------------------------------
### Control Cover Entities (Home Assistant)
Source: https://context7.com/scottyphillips/echonetlite_homeassistant/llms.txt
Control ECHONETLite electric blinds, shutters, curtains, and gates. Supports opening, closing, stopping movement, setting position (0-100%), and adjusting tilt angle.
```yaml
# Open cover (blinds, shutters, curtains)
service: cover.open_cover
target:
entity_id: cover.electric_blind
# Close cover
service: cover.close_cover
target:
entity_id: cover.electric_blind
# Stop cover movement
service: cover.stop_cover
target:
entity_id: cover.electric_blind
# Set cover position (0 = closed, 100 = open)
service: cover.set_cover_position
target:
entity_id: cover.electric_blind
data:
position: 50
# Set blind angle/tilt
service: cover.set_cover_tilt_position
target:
entity_id: cover.electric_blind
data:
tilt_position: 45
```
--------------------------------
### Set Single-Byte Integer Value with ECHONET Lite Service
Source: https://github.com/scottyphillips/echonetlite_homeassistant/blob/master/Services.md
This automation allows setting a single-byte integer value for ECHONET Lite devices, such as hot water temperature, using the `echonetlite.set_value_int_1b` service. It synchronizes an `input_number` helper with a sensor entity, enabling numeric adjustments via Home Assistant.
```yaml
alias: Relay Set Value Of Hot Water Temperature
description: ''
trigger:
- platform: state
entity_id:
- input_number.set_value_of_hot_water_temperature
for:
hours: 0
minutes: 0
seconds: 2
id: set
- platform: state
entity_id:
- sensor.set_value_of_hot_water_temperature
id: get
condition:
- condition: template
value_template: >-
{{int(states('input_number.set_value_of_hot_water_temperature'), 0) != int(states('sensor.set_value_of_hot_water_temperature'), 0)}}
action:
- if:
- condition: trigger
id: set
then:
- service: echonetlite.set_value_int_1b
entity_id: sensor.set_value_of_hot_water_temperature
data_template:
value: '{{ states(''input_number.set_value_of_hot_water_temperature'') }}'
else:
- service: input_number.set_value
entity_id: input_number.set_value_of_hot_water_temperature
data_template:
value: '{{ states(''sensor.set_value_of_hot_water_temperature'') }}'
mode: queued
max: 2
```
--------------------------------
### Control Climate Entity with ECHONETLite Platform
Source: https://context7.com/scottyphillips/echonetlite_homeassistant/llms.txt
Home Assistant service calls for controlling ECHONETLite climate entities, such as air conditioners. This includes turning the HVAC on/off, setting the mode, temperature, fan speed, swing mode, and preset mode. It also demonstrates a custom service for setting humidifier state during heating.
```yaml
# Home Assistant service calls for climate control
# Turn on the HVAC
service: climate.turn_on
target:
entity_id: climate.living_room_ac
# Turn off the HVAC
service: climate.turn_off
target:
entity_id: climate.living_room_ac
# Set HVAC mode (heat, cool, dry, fan_only, heat_cool, off)
service: climate.set_hvac_mode
target:
entity_id: climate.living_room_ac
data:
hvac_mode: cool
# Set target temperature
service: climate.set_temperature
target:
entity_id: climate.living_room_ac
data:
temperature: 24
hvac_mode: cool
# Set fan mode (auto, minimum, low, medium-low, medium, medium-high, high, very-high, max)
service: climate.set_fan_mode
target:
entity_id: climate.living_room_ac
data:
fan_mode: auto
# Set swing mode (vertical airflow: upper, upper-central, central, lower-central, lower)
service: climate.set_swing_mode
target:
entity_id: climate.living_room_ac
data:
swing_mode: auto-vert
# Set preset mode (normal, high-speed, silent)
service: climate.set_preset_mode
target:
entity_id: climate.living_room_ac
data:
preset_mode: silent
# Set humidifier during heating (custom service)
service: echonetlite.set_humidifier_during_heater
target:
entity_id: climate.living_room_ac
data:
state: true
humidity: 50
```
--------------------------------
### Define ECHONETLite Device Quirks
Source: https://github.com/scottyphillips/echonetlite_homeassistant/blob/master/README.md
This Python code defines a 'QUIRKS' dictionary for handling non-standard ECHONET Lite data points for specific manufacturers and devices. It maps ECHONET Property (EPC) codes to custom functions and names, allowing the integration to interpret and manage these unique device behaviors. This is part of a debugging process for identifying and supporting new devices.
```python
from homeassistant.const import CONF_NAME
def _hex(edt):
return edt.hex()
QUIRKS = {
0xFA: {
"EPC_FUNCTION": _hex,
"ENL_OP_CODE": {
CONF_NAME: "FA",
},
},
0xFD: {
"EPC_FUNCTION": _hex,
"ENL_OP_CODE": {
CONF_NAME: "FD",
},
},
}
```
--------------------------------
### Configure Hot Water Heater Timer with ECHONET Lite Service
Source: https://github.com/scottyphillips/echonetlite_homeassistant/blob/master/Services.md
This automation configures the hot water timer for ECHONET Lite compatible Hot Water Heaters using the `echonetlite.set_on_timer_time` service. It synchronizes an `input_datetime` entity with a sensor entity, allowing for timer adjustments through Home Assistant automations.
```yaml
alias: Relay Hot Water On Timer time
description: ''
trigger:
- platform: state
entity_id:
- input_datetime.hot_water_value_of_on_timer_time
for:
hours: 0
minutes: 0
seconds: 5
id: set
- platform: state
entity_id:
- sensor.hot_water_set_value_of_on_timer_time
id: get
condition:
- condition: template
value_template: >-
{{strptime(states('input_datetime.hot_water_value_of_on_timer_time'), '%H:%M:%S') != strptime(states('sensor.hot_water_set_value_of_on_timer_time')+':00', '%H:%M:%S')}}
action:
- if:
- condition: trigger
id: set
then:
- service: echonetlite.set_on_timer_time
entity_id: sensor.hot_water_set_value_of_on_timer_time
data_template:
timer_time: '{{ states(''input_datetime.hot_water_value_of_on_timer_time'') }}'
else:
- service: input_datetime.set_datetime
entity_id: input_datetime.hot_water_value_of_on_timer_time
data_template:
time: '{{ states(''sensor.hot_water_set_value_of_on_timer_time'') }}'
mode: single
```
--------------------------------
### Fan Entity Control
Source: https://context7.com/scottyphillips/echonetlite_homeassistant/llms.txt
Control ECHONETLite air purifiers and ceiling fans with speed, direction, and oscillation settings.
```APIDOC
## Fan Entity Control
Control ECHONETLite air purifiers and ceiling fans with speed, direction, and oscillation settings.
### POST /api/services/fan/turn_on
#### Description
Turns on a fan or air purifier.
#### Parameters
- **entity_id** (string) - Required - The entity ID of the fan to control (e.g., fan.air_purifier).
### POST /api/services/fan/turn_off
#### Description
Turns off a fan.
#### Parameters
- **entity_id** (string) - Required - The entity ID of the fan to control (e.g., fan.air_purifier).
### POST /api/services/fan/set_preset_mode
#### Description
Sets a preset mode for the fan.
#### Parameters
- **entity_id** (string) - Required - The entity ID of the fan to control (e.g., fan.air_purifier).
- **preset_mode** (string) - Required - The preset mode to set (e.g., "auto", "minimum", "low", "medium-low", "medium", "medium-high", "high", "very-high", "max").
### POST /api/services/fan/set_percentage
#### Description
Sets the fan speed as a percentage (for ceiling fans).
#### Parameters
- **entity_id** (string) - Required - The entity ID of the fan to control (e.g., fan.ceiling_fan).
- **percentage** (integer) - Required - The fan speed percentage (0-100).
### POST /api/services/fan/set_direction
#### Description
Sets the fan direction (for ceiling fans).
#### Parameters
- **entity_id** (string) - Required - The entity ID of the fan to control (e.g., fan.ceiling_fan).
- **direction** (string) - Required - The fan direction ("forward" or "reverse").
### POST /api/services/fan/oscillate
#### Description
Enables or disables fan oscillation.
#### Parameters
- **entity_id** (string) - Required - The entity ID of the fan to control (e.g., fan.ceiling_fan).
- **oscillating** (boolean) - Required - Set to `true` to enable oscillation, `false` to disable.
### Request Examples
**Turn on fan/air purifier:**
```json
{
"entity_id": "fan.air_purifier"
}
```
**Turn off fan:**
```json
{
"entity_id": "fan.air_purifier"
}
```
**Set preset mode (auto, minimum, low, medium-low, medium, medium-high, high, very-high, max):**
```json
{
"entity_id": "fan.air_purifier",
"preset_mode": "medium"
}
```
**Set speed percentage (for ceiling fans):**
```json
{
"entity_id": "fan.ceiling_fan",
"percentage": 75
}
```
**Set fan direction (for ceiling fans: forward, reverse):**
```json
{
"entity_id": "fan.ceiling_fan",
"direction": "forward"
}
```
**Enable oscillation:**
```json
{
"entity_id": "fan.ceiling_fan",
"oscillating": true
}
```
### Response
#### Success Response (200)
- **message** (string) - A success message indicating the fan state was updated.
```
--------------------------------
### Control Fan Entities (Home Assistant)
Source: https://context7.com/scottyphillips/echonetlite_homeassistant/llms.txt
Control ECHONETLite air purifiers and ceiling fans. Supports turning on/off, setting preset modes (e.g., auto, high), speed percentage, direction (forward/reverse), and oscillation.
```yaml
# Turn on fan/air purifier
service: fan.turn_on
target:
entity_id: fan.air_purifier
# Turn off fan
service: fan.turn_off
target:
entity_id: fan.air_purifier
# Set preset mode (auto, minimum, low, medium-low, medium, medium-high, high, very-high, max)
service: fan.set_preset_mode
target:
entity_id: fan.air_purifier
data:
preset_mode: medium
# Set speed percentage (for ceiling fans)
service: fan.set_percentage
target:
entity_id: fan.ceiling_fan
data:
percentage: 75
# Set fan direction (for ceiling fans: forward, reverse)
service: fan.set_direction
target:
entity_id: fan.ceiling_fan
data:
direction: forward
# Enable oscillation
service: fan.oscillate
target:
entity_id: fan.ceiling_fan
data:
oscillating: true
```
--------------------------------
### Set Hot Water Temperature
Source: https://context7.com/scottyphillips/echonetlite_homeassistant/llms.txt
Set the integer value for hot water temperature using the echonetlite.set_value_int_1b service.
```APIDOC
## POST /api/services/echonetlite/set_value_int_1b
### Description
Set the integer value for hot water temperature.
### Method
POST
### Endpoint
/api/services/echonetlite/set_value_int_1b
### Parameters
#### Query Parameters
None
#### Request Body
- **entity_id** (string) - Required - The entity ID of the device to control (e.g., sensor.set_value_of_hot_water_temperature).
- **value** (integer) - Required - The integer value to set for the hot water temperature.
### Request Example
```json
{
"entity_id": "sensor.set_value_of_hot_water_temperature",
"value": 42
}
```
### Response
#### Success Response (200)
- **message** (string) - A success message indicating the value was set.
#### Response Example
```json
{
"message": "Successfully set hot water temperature to 42"
}
```
```
--------------------------------
### Set Hot Water Temperature Value (Home Assistant)
Source: https://context7.com/scottyphillips/echonetlite_homeassistant/llms.txt
Sets the integer value for hot water temperature using the echonetlite.set_value_int_1b service. This is typically used in conjunction with an automation to sync an input_number helper with a sensor.
```yaml
# Set hot water temperature value
service: echonetlite.set_value_int_1b
target:
entity_id: sensor.set_value_of_hot_water_temperature
data:
value: 42
```
=== COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.