Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- name: Install dependencies
run: |
# Replace path dependencies with PyPI versions for CI
sed -i 's/span-panel-api = {path = "..\/span-panel-api", develop = true}/span-panel-api = "^1.1.13"/' pyproject.toml
sed -i 's/span-panel-api = {path = "..\/span-panel-api", develop = true}/span-panel-api = "^1.1.14"/' pyproject.toml
sed -i 's/ha-synthetic-sensors = {path = "..\/ha-synthetic-sensors", develop = true}/ha-synthetic-sensors = "^1.1.13"/' pyproject.toml
# Regenerate lock file with the modified dependencies
poetry lock
Expand Down
15 changes: 11 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,27 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.30] - 2025-12-31

### 🔄 Changed

- **Bump span-panel-api to v1.1.14**: Recognize panel Keep-Alive at 5 sec, Handle httpx.RemoteProtocolError defensively, Thanks to
@NickBorgersOnLowSecurityNode.

## [1.29] - 2025-12-25

### ✨ New Features

- **Energy Spike Cleanup Service**: New `span_panel.cleanup_energy_spikes` service to detect and remove negative energy spikes from Home Assistant statistics
caused by panel firmware updates. Includes dry-run mode for safe preview before deletion.
- **Firmware Reset Detection (Beta)**: Monitoring of main meter energy sensor to detect errant (negative energy reports over time). Sends a persistent notification
when detected, guiding users to adjust statistics if desired.
- **Firmware Reset Detection (Beta)**: Monitoring of main meter energy sensor to detect errant (negative energy reports over time). Sends a persistent
notification when detected, guiding users to adjust statistics if desired.

### 🔄 Changed

- **Removed Decreasing Energy Protection**: Reverted the TOTAL_INCREASING validation that was ignoring decreasing energy values that were thought to occur a
limited number of updates but turned out to be permanent under-reporting of SPAN cloud data that manifested during firmware updates. The bug is on the SPAN
side and can result in spikes in energy dashbaoards after firmware updates. See the Trouble-Shooting section of the README.md for more information.
limited number of updates but turned out to be permanent under-reporting of SPAN cloud data that manifested during firmware updates. The bug is on the SPAN
side and can result in spikes in energy dashbaoards after firmware updates. See the Trouble-Shooting section of the README.md for more information.

### 📝 Notes

Expand Down
22 changes: 7 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,27 +16,18 @@ monitoring and control of your home's electrical system.

This integration relies on the OpenAPI interface contract sourced from the SPAN Panel. The integration may break if SPAN changes the API in an incompatible way.

We cannot provide technical support for either SPAN or your home's electrical system. The software is provided as-is with no warranty or guarantee of
performance or suitability to your particular setting.
The software is provided as-is with no warranty or guarantee of performance or suitability to your particular setting.

This integration provides the user with sensors and controls that are useful in understanding an installation's power consumption, energy usage, and the ability
to control user-manageable panel circuits.

## What's New
## Major Upgrade

### Major Upgrade
**Before upgrading to version 1.2.x from a prior version, please backup your Home Assistant configuration and database.**

**Before upgrading to version 1.2.x, please backup your Home Assistant configuration and database.** This version introduces significant architectural changes.
While we've implemented migration logic to preserve your existing entities and automations, it's always recommended to have a backup before major upgrades.
See the [CHANGELOG.md](CHANGELOG.md) for detailed information about all new features and improvements.

**OpenAPI Support**: The integration now uses the OpenAPI specification provided by the SPAN panel. This change provides a reliable foundation for future
interface changes but some users have reported that newer panels might have closed off the interface (see trouble shooting). If and when SPAN provides
additional support we may adapt.

**New Features**: This version introduces net energy calculations, simulation support, configurable timeouts, SSL support, circuit name sync, and flexible
entity naming patterns. See the [CHANGELOG.md](CHANGELOG.md) for detailed information about all new features and improvements.

### HACS Upgrade Process
## HACS Upgrade Process

When upgrading through HACS, you'll see a notification about the new version. Before clicking "Update":

Expand All @@ -51,7 +42,7 @@ If you encounter any issues during the upgrade, you can:
- Check the [troubleshooting section](#troubleshooting) below
- Open an issue on GitHub with details about your installation

## Prerequisites
### Prerequisites

- [Home Assistant](https://www.home-assistant.io/) installed
- [HACS](https://hacs.xyz/) installed
Expand Down Expand Up @@ -324,6 +315,7 @@ Additional contributors:

- pavandave
- sargonas
- NickBorgersOnLowSecurityNode

## Issues

Expand Down
4 changes: 2 additions & 2 deletions custom_components/span_panel/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@
"iot_class": "local_polling",
"issue_tracker": "https://github.com/SpanPanel/span/issues",
"requirements": [
"span-panel-api~=1.1.13"
"span-panel-api~=1.1.14"
],
"version": "1.2.9",
"version": "1.3.0",
"zeroconf": [
{
"type": "_span._tcp.local."
Expand Down
38 changes: 19 additions & 19 deletions poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ package-mode = false

[tool.poetry.dependencies]
python = ">=3.13.2,<3.14"
homeassistant = "2025.12.2,<2026.0.0" # Pin to exact version for custom component compatibility
homeassistant = "2025.12.4,<2026.0.0" # Pin to exact version for custom component compatibility
span-panel-api = {path = "../span-panel-api", develop = true}

[tool.poetry.group.dev.dependencies]
# Type stubs and dev-only tools that don't conflict with HA runtime
homeassistant-stubs = "2025.12.2"
homeassistant-stubs = "2025.12.4"
types-requests = "*"
types-PyYAML = "*"
mypy = "*"
Expand Down