KACO RS485
The KACO RS485 integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] connects Home Assistant to KACO new energy Powador solar inverters over their RS485 serial bus and shows what they are producing. These inverters have no network port and no cloud service, so the serial bus is the only way to read them.
Up to 32 inverters can share one bus, and they’re all set up together.
Use cases
Powador inverters of this generation predate network connectivity. Without the serial bus, the only way to see what they are producing is to walk up to each one and read its display. The KACO RS485 integration reads the bus for you: it puts each inverter’s production on the Energy dashboard, lets you run appliances while there is surplus, and tells you the same day when an inverter stops producing.
Supported devices
KACO Powador xi inverters that use the KACO serial protocol. The integration was developed against the Powador 6400xi and 8000xi. Other xi models, such as the 2500xi, 3600xi, 4200xi, and 5000xi, are expected to work.
Newer KACO inverters, including the blueplanet, TL3, and NX3 families, speak a different protocol on the same wire. They aren’t supported here; use the KACO Modbus integration instead. If nothing but these answers during setup, Home Assistant reports which addresses they are. If they share a bus with supported inverters, they are skipped without comment.
Prerequisites
- An RS485 connection between the inverters and Home Assistant. This can be a USB RS485 adapter plugged into the machine running Home Assistant, or an ESPHome device configured as a serial proxy, which lets the inverters be somewhere else on your network.
- Every inverter needs its own address in the range 1 to 32. The address is set on the inverter itself, in its display menu under Inverter address.
- On inverters offering both RS232 and RS485, the Interface menu entry must be set to RS485 first.
- Don’t confuse this with the Sym-Bus address, which is a separate setting in the same menu, also numbered 1 to 32, used for phase balancing between inverters. Setting that one has no effect here.
- Nothing else may be polling the bus. RS485 allows a single controller, and a second one corrupts everyone’s traffic. If you attach a KACO data logger, such as a Powador-proLOG, disconnect the controller first.
Configuration
To add the KACO RS485 hub to your Home Assistant instance, use this My button:
Manual configuration steps
If the above My button doesn’t work, you can also perform the following steps manually:
-
Browse to your Home Assistant instance.
-
In the bottom right corner, select the
Add Integration button. -
From the list, select KACO RS485.
-
Follow the instructions on screen to complete the setup.
Home Assistant asks for the serial port and then scans the bus for inverters. The scan checks all 32 addresses, so it takes a while on a bus with few inverters: every address with nothing attached costs a reply timeout.
These inverters are powered by their solar panels. After dusk, they stop answering entirely, so run setup in daylight.
Every inverter the scan finds is added. To leave one out, disable its device after setup, which also removes it from the polling cycle.
Supported functionality
Each inverter on the bus becomes its own device, named for the model it reports and its address, for example KACO Powador 6400xi (1).
Sensors
- AC power: The power the inverter is currently feeding into the grid.
- DC power: The power coming in from the solar panels.
- Temperature: The inverter’s internal temperature.
- Daily yield: Energy produced since midnight, in watt-hours. This is the one to add to the Energy dashboard; see Add production to the Energy dashboard below.
- Total yield: The inverter’s lifetime energy counter, in kilowatt-hours.
- Daily peak power: The highest AC power reached today.
- Total operating hours: How long the inverter has been running over its lifetime.
- Status: What the inverter is currently doing, such as MPP tracking, waiting, or one of its fault conditions.
The following sensors are disabled by default:
- AC voltage and AC current: Measured on the grid side.
- DC voltage and DC current: Measured on the solar panel side.
- Daily operating hours: How long the inverter has been running today.
Binary sensors
- Fault: On while the inverter reports one of its fault conditions, such as a grid failure or an overtemperature shutdown. Normal operating states like waiting or night shutdown leave it off.
Examples
Get notified when an inverter trips
To create this automation in the UI:
- Go to Settings > Automations & scenes and select Create automation > Create new automation.
- Add a state trigger for your inverter’s Fault binary sensor changing to
on, which indicates a fault. - Add a notification action, select your notification destination, and enter a message. See notification actions for the available options.
- Save the automation.
If you manage automations in YAML, you can optionally add the following example to configuration.yaml. Replace both inverter entity IDs and notify.my_device with your own.
automation:
- alias: "Notify when a KACO inverter trips"
triggers:
- trigger: state
entity_id: binary_sensor.kaco_powador_6400xi_1_fault
to: "on"
actions:
- action: notify.send_message
target:
entity_id: notify.my_device
data:
message: "{{ trigger.to_state.name }}: {{ state_translated('sensor.kaco_powador_6400xi_1_status') }}"
Add production to the Energy dashboard
Add each inverter’s Daily yield as a solar production source, following integrating your solar panels.
Use Daily yield rather than Total yield. Both are energy counters read from the inverter itself, so neither needs a Riemann sum, but their resolution differs by a factor of a thousand. Daily yield is reported in watt-hours. Total yield is reported in whole kilowatt-hours with no decimals, so on a 6400xi it advances about once per hour of good sun, which quantizes the dashboard’s hourly bars to 1 kWh and flattens the morning ramp.
Total yield does survive Home Assistant being down, where a daily counter loses any day Home Assistant missed. If that matters more to you than intraday resolution, use Total yield instead.
Data updates
The KACO RS485 integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] waits about 30 seconds after each polling cycle finishes before starting the next one. Each cycle pollsData polling is the process of querying a device or service at regular intervals to check for updates or retrieve data. By defining a custom polling interval, you can control how frequently your system checks for new data, which can help optimize performance and reduce unnecessary network traffic. [Learn more] enabled inverters that are due for a reading, one at a time. The time between readings therefore also depends on how long the cycle takes. Inverters that stop responding are polled less frequently.
Requests include a one-second pause between them, including between inverters, to avoid interfering with replies. Response times, timeouts, and retries add to the cycle duration. Disabling an inverter removes it from polling and shortens the cycle for the rest.
Known limitations
These inverters don’t report a serial number, so Home Assistant identifies the bus by its serial port. This means:
- The same port can only be added once.
- If the adapter or proxy changes, you have to remove the integration and add it again. Local USB adapters are stored by their stable
/dev/serial/by-idpath, so replugging one into a different socket is fine. - Only the inverters found during setup are polled. If you add an inverter to the bus or change an inverter’s address, remove the integration and add it again.
Inverter settings can’t be changed from Home Assistant. The integration only reads.
Troubleshooting
If you report a problem, attach the diagnostics download. It contains the serial port, the inverter list, and each inverter’s last reading.
No inverters answered during setup
- Check the time of day. These inverters go completely silent after dusk and answer nothing until the sun is back on the panels.
- Check that the A and B wires aren’t swapped, which is the most common wiring fault and produces the same silence.
- Check each inverter has an address set, in its display menu.
- Disconnect any data logger on the same bus. Two controllers can’t share it.
An inverter is unavailable while the others are fine
The inverter stopped answering its polls. Overnight this is expected and it comes back by itself in the morning. During the day, check that its address is still set and unique: two inverters sharing an address answer over each other and neither can be read reliably.
The port can’t be opened
For a USB adapter, check it’s still plugged in. For an ESPHome serial proxy, check the device is online.
Removing the integration
This integration follows standard integration removal.
To remove an integration instance from Home Assistant
- Go to Settings > Devices & services and select the integration card.
- Next to the entry you want to remove, select the three dots
menu. Then, select Delete. - Depending on the integration, the entries are listed under one of the following headings:
- Devices
- Hubs
- Services
- Integration entries
- Depending on the integration, the entries are listed under one of the following headings:
- To confirm, select Delete.
- Home Assistant also deletes the devices and entities of the entry.
- If Home Assistant asks you to restart, restart Home Assistant.
- If Home Assistant asks whether to also delete the application credentials, select Remove or Keep.
- If you keep them, Home Assistant uses them automatically when you add the integration again.
- To delete them later, refer to Deleting application credentials.