ECHONET Lite protocol integration for Home Assistant, powered by pyhems. Communicates with ECHONET Lite compatible devices on the local network via UDP multicast — no cloud, no account, no API key required.
- Control your air conditioner remotely or via automations, and monitor its state.
- Monitor residential solar power generation and storage battery charge levels.
- Automate water heater schedules to heat water during off-peak electricity hours.
- Lock or unlock your electric door lock based on time or presence.
- Control blinds and shutters based on sunlight or schedules.
- Control lighting based on ambient conditions or schedules.
Device classes fall into two categories:
- Stable — verified with real hardware; enabled by default, no extra configuration needed.
- Experimental — not verified with real hardware; must be enabled via integration options.
| Class Code | Device | HA Platform |
|---|---|---|
| 0x0130 | Home Air Conditioner | Climate + generic entities |
| 0x0135 | Air Cleaner | Fan + generic entities |
| 0x026B | Electric Water Heater | Water Heater + generic entities |
| 0x026F | Electric Lock | Lock + generic entities |
| 0x0279 | Residential Solar Power Generation | Generic entities |
| 0x027D | Storage Battery | Generic entities |
| 0x05FD | Switch (JEM-A/HA terminals) | Generic entities |
| 0x05FF | Controller | Generic entities |
Verified hardware:
- Home Air Conditioner: Mitsubishi Electric Kirigamine Z series
- Air Cleaner: Sharp KI-SX70-W
- 電気錠: Yamato Denki ECHONET Lite Adapter
- Residential Solar Power Generation / Storage Battery: Sharp SUNVISTA
- Switch: Panasonic HF-JA1
- Controller: Sharp JH-RVB1, JH-RWL8
The following classes require Enable experimental device classes to be turned on in the integration options.
With dedicated HA platform entities:
| Class Code | Device | HA Platform |
|---|---|---|
| 0x0133 | Ventilation Fan | Fan + generic entities |
| 0x0134 | Air Conditioner Ventilation Fan | Fan + generic entities |
| 0x0260 | Electrically Operated Blind | Cover + generic entities |
| 0x0263 | Electrically Operated Shutter | Cover + generic entities |
| 0x0290 | General Lighting | Light + generic entities |
| 0x0291 | Mono-Functional Lighting | Light + generic entities |
Via generic entities only (50+ additional classes including sensors, meters, EV chargers, cookware, and more — see the full list in the integration options UI).
- HVAC modes: Off, Auto, Cool, Heat, Dry, Fan Only
- Fan modes: Auto, Low (Level 1) – High (Level 8), 9 speeds
- Swing modes: Off, Vertical, Horizontal, Both
- Temperature: 0–50°C, 1°C step
- Speed: 8 levels mapped to percentage
- Preset modes: Auto, Manual
Aggregates operation status (EPC 0x80), operation mode (EPC 0xB0), and target temperature (EPC 0xB3) into a single entity.
- Operations:
auto(automatic water heating),manual(manual water heating),manual_off(manual heating stopped / away),off - Target temperature: setpoint via EPC 0xB3 (range derived from the device's MRA definition, 1°C step)
- Current temperature: measured water temperature (EPC 0xC1) — also exposed as a standalone sensor
- Locked state: requires both main lock (EPC 0xE0) and sub-lock (EPC 0xE1, if advertised) to be locked
- Jammed state: indicated when alarm status (EPC 0xE5) reports an abnormality
- Lock / Unlock: writes to main lock (EPC 0xE0) only
- Commands: Open, Close, Stop (always available)
- Position control (EPC 0xE1): available when the device supports set operations, 0–100%
- Tilt control (EPC 0xE2): available when the device supports set operations, 0–100% mapped to 0–180°
- State (EPC 0xEA): Open, Closed, Opening, Closing, Stopped; falls back to position percentage when not advertised
| Feature | 0x0290 General | 0x0291 Mono | 0x02A3 System | 0x02A4 Extended |
|---|---|---|---|---|
| On / Off | ✓ | ✓ | ✓ | ✓ |
| Brightness (EPC 0xB0, 0–100%) | ✓ | ✓ | ✓ | ✓ |
| Color temperature (EPC 0xB1) | ✓ | — | — | — |
| Lighting mode effect (EPC 0xB6) | ✓ | — | — | — |
Color temperature presets (0x0290 only): Incandescent (2700 K), White (4000 K), Daylight White (5000 K), Daylight Color (6500 K). Arbitrary kelvin values are snapped to the nearest preset.
Lighting mode effects (0x0290 only): auto, normal (main lighting), night (night lighting), color (color lighting).
All remaining properties are automatically mapped based on the ECHONET Lite property definition:
| Condition | Writable | Read-only |
|---|---|---|
| 2-value enum | Switch | Binary Sensor |
| 3+ value enum | Select | Sensor (enum) |
| 1-value enum | Button | — |
| Numeric | Number | Sensor |
Beyond the standard ECHONET Lite specification, the integration includes additional property definitions for specific manufacturers. These are applied automatically when the matching manufacturer code is detected on a device.
Sharp air cleaners expose extra environmental data via manufacturer-specific EPC 0xF1. The following sensor entities are added when a Sharp device is detected:
| Entity | Unit | Notes |
|---|---|---|
| Temperature | °C | Room temperature measured inside the unit |
| Humidity | %RH | Relative humidity measured inside the unit |
| PM2.5 | µg/m³ | Particulate matter concentration |
Sharp solar power systems expose per-string input data via manufacturer-specific EPCs. The following sensor entities are added when a Sharp device is detected:
| Entity | Unit | EPC |
|---|---|---|
| Input Voltage 1–4 | V | 0xF2 |
| Input Current 1–4 | A | 0xF3 |
| Input Power 1–4 | W | 0xF4 |
Sharp home energy controllers expose grid buy/sell data via manufacturer-specific EPCs. The following sensor entities are added when a Sharp device is detected:
| Entity | Unit | EPC |
|---|---|---|
| Instantaneous Electric Power Sold | W | 0xF2 |
| Instantaneous Electric Power Bought | W | 0xF3 |
| Cumulative Electric Energy Sold | Wh | 0xF4 |
| Cumulative Electric Energy Bought | Wh | 0xF5 |
The integration uses both polling and event-driven updates:
- Event-driven: Devices that support property change notifications (INF frames) push state changes immediately upon receipt.
- Property polling: Every 60 seconds for devices that do not send notifications.
- Device re-discovery: Every hour via multicast, so newly joined devices are detected automatically.
- Health monitoring: If no ECHONET Lite frames are received for 5 minutes, a repair issue is created.
- Select the button above, or search for "HEMS Echonet Lite" in HACS.
- Install the integration.
- Restart Home Assistant.
- Copy
custom_components/echonet_liteto your Home Assistantcustom_componentsdirectory. - Restart Home Assistant.
- Home Assistant 2026.3 or later
- ECHONET Lite compatible devices on the same local network as Home Assistant
- UDP multicast traffic allowed on your network (address 224.0.23.0, port 3610)
- If running Home Assistant in a container or VM, ensure multicast traffic is properly forwarded (for example,
network_mode: hostin Docker)
- Go to Settings → Devices & Services → Add Integration.
- Search for "HEMS Echonet Lite".
- Select your network interface:
- Auto (
0.0.0.0): Listen on all interfaces (recommended) - Specific IP: Bind to a particular network interface
- Auto (
- The integration starts listening on the ECHONET Lite multicast group (224.0.23.0:3610) and discovers devices automatically.
Only one instance is allowed per Home Assistant installation.
After setup, configure in Settings → Devices & Services → HEMS Echonet Lite → Configure:
| Option | Description | Default |
|---|---|---|
| Enable experimental device classes | Include device classes that have not been verified with real hardware. These may not work correctly. | Off |
The network interface can be changed at any time via Settings → Devices & Services → HEMS Echonet Lite → Reconfigure.
Turn off the air conditioner automatically when everyone leaves home, and turn it back on shortly before someone returns.
automation:
- alias: "Turn off AC when everyone leaves"
triggers:
- trigger: state
entity_id: group.everyone
to: not_home
actions:
- action: climate.turn_off
target:
entity_id: climate.living_room_air_conditioner
- alias: "Pre-cool before arriving home"
triggers:
- trigger: state
entity_id: group.everyone
to: home
actions:
- action: climate.set_temperature
target:
entity_id: climate.living_room_air_conditioner
data:
hvac_mode: cool
temperature: 26Schedule the electric water heater to heat water at night when electricity rates are lower.
automation:
- alias: "Start water heating at off-peak hours"
triggers:
- trigger: time
at: "23:00:00"
actions:
- action: water_heater.set_operation_mode
target:
entity_id: water_heater.electric_water_heater
data:
operation_mode: auto
- alias: "Stop water heating in the morning"
triggers:
- trigger: time
at: "06:00:00"
actions:
- action: water_heater.set_operation_mode
target:
entity_id: water_heater.electric_water_heater
data:
operation_mode: manual_offLock the electric door lock every night and send a notification if it was already unlocked.
automation:
- alias: "Auto-lock door at bedtime"
triggers:
- trigger: time
at: "23:30:00"
conditions:
- condition: state
entity_id: lock.front_door
state: unlocked
actions:
- action: lock.lock
target:
entity_id: lock.front_door
- action: notify.mobile_app
data:
message: "Front door was unlocked and has been locked automatically."Automatically close electrically operated blinds when the sun sets.
automation:
- alias: "Close blinds at sunset"
triggers:
- trigger: sun
event: sunset
offset: "-00:30:00"
actions:
- action: cover.close_cover
target:
entity_id: cover.living_room_blind- Only IPv4 networks are supported.
- UDP multicast must be supported and enabled on your network.
- Some device properties may not be available if the device does not advertise them in its property map.
- Experimental device classes have not been tested with real hardware and may not function correctly.
- Only one integration instance per Home Assistant installation is supported.
After setting up the integration, no devices appear at all.
- Verify your ECHONET Lite devices are powered on and connected to the network.
- Check that UDP multicast traffic (224.0.23.0:3610) is allowed on your network.
- If using Docker, ensure the container uses
network_mode: hostor has proper multicast routing configured. - Try selecting a specific network interface instead of Auto in the integration settings.
- Check the Home Assistant logs for any error messages related to
echonet_liteorpyhems.
Some ECHONET Lite devices appear, but others do not.
- If the missing device is an experimental device class, enable Enable experimental device classes in the integration options.
- Some devices may take longer to respond. Wait a few minutes and check again, as re-discovery runs every hour.
- Try reloading the integration from Settings → Devices & Services → HEMS Echonet Lite → ⋮ → Reload.
- Verify the device supports ECHONET Lite. Some appliances have ECHONET Lite disabled by default and require enabling via the manufacturer's app or settings.
Devices were discovered but later show as unavailable.
- Check the device's network connection and power state.
- Verify the device has not entered a power-saving mode that disables network communication.
- Check Settings → System → Repairs for any issues reported by the integration and follow the suggested resolution steps.
The integration automatically creates repair issues in the following situations:
- Runtime inactive: No ECHONET Lite frames received for 5 minutes — check device power and network connectivity.
- Runtime client error: A network error occurred — use the repair flow to restart the service.
To remove the integration, go to Settings → Devices & Services, select HEMS Echonet Lite, and select Delete.
Individual devices can be removed from Settings → Devices & Services → HEMS Echonet Lite → (device) → Delete, but only when the device is no longer reachable on the local network (not currently active in the integration).
If a device is still being discovered (powered on and responding), removal will be rejected. Power off the device or remove it from your network first, then try again.
- ECHONET Consortium for the ECHONET Lite specification
- pyhems library for ECHONET Lite protocol handling