Changed
- The panel status refresh runs every 110 seconds instead of 120. Leviton's server closes idle connections at 120 seconds, so about 1 refresh in 20 hit a dropped connection and logged an error. (#111)
Fixed
- Lifetime energy no longer jumps by thousands of kWh on some hubs. On a DAU or LDATA hub whose energy counters don't behave like true lifetime totals, a breaker's Consumption/Import sensor could leap far beyond what the breaker could physically draw after a restart, wrecking Energy dashboard totals. A reading the breaker couldn't have drawn since the last one is now ignored, and a panel whose counters keep decreasing or jumping switches to estimating energy from power over time, with a warning in the log. Use the Reset energy sensor baseline service to accept a value that was held back. (#115)
- Quiet houses no longer cause constant WebSocket reconnects. When nothing was drawing power for a few minutes, the integration mistook the silence for a dead connection and reconnected every 7 to 9 minutes, losing about 11 seconds of updates each time. It now treats Leviton's 30-second keepalive as proof the connection is alive. (#111, see #83)
- Failed reconnects no longer hammer Leviton's servers. If Leviton closed a new connection immediately, the integration retried about once a second until Leviton rate-limited it (HTTP 429). Retries now back off from 10 seconds up to 5 minutes. (#111)
- Panel status refresh errors are retried quietly. A dropped connection is retried once, and a warning is logged only after three failed refreshes in a row. (#111)
- Saving integration options no longer wipes your solar settings or causes repeated reloads. Saving options erased the solar and suppressed import-sensor lists, so solar import sensors could disappear and hidden ones could return. Each reload also added another listener, so after several reloads one options change reloaded the integration several times. It now reloads once, and only when an option actually changed. Unloading the integration now also stops its background tasks cleanly. (#110)
- Daily energy now resets at midnight after a very low day. A daily sensor that finished the day at 0.05 kWh or less didn't reset, so Home Assistant under-counted the next day. (#112)
- The reset-panel-energy service now finds breaker sensors. Choosing a breaker reset nothing, and choosing a panel or CT skipped every breaker sensor. (#112)
- Leftover breaker devices from versions before 2.0.9 are cleaned up. They held only dead entities and caused a "Could not resolve a panel or Decora room" warning per breaker at every startup. You can now also delete a device that is no longer in use from its device page. (#113, see #86)
- LDATA panels now receive live updates over the WebSocket. Panels were subscribed in a way that delivered nothing for LDATA hubs, so panel-level readings only refreshed on the periodic poll. They now update live, and Cloud Connected, frequency and Wi-Fi signal follow the same rules as the periodic refresh. (#114)