Skip to content

Commit 6e1e84a

Browse files
committed
Consolidate changelog Next section as diff from main
Rewrite entries to describe the final state vs 1.0.8 rather than incremental develop-branch work. Merge related entries, remove internal implementation details, and drop items that are not user-visible on their own. https://claude.ai/code/session_01Y6qEybudSF6wccwhEusiaW
1 parent 6a19af6 commit 6e1e84a

1 file changed

Lines changed: 11 additions & 16 deletions

File tree

CHANGELOG.md

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,19 @@
22

33
## Next
44
- **Breaking:** Rebrand project from "B2500 Meter" to "AstraMeter" (formerly b2500-meter). Package renamed to `astrameter`, CLI commands are now `astrameter` and `astra-sim`. Docker image moved from `ghcr.io/tomquist/b2500-meter` to `ghcr.io/tomquist/astrameter`. Home Assistant users must update their app repository URL to `https://github.com/tomquist/astrameter#main`.
5-
- Added MQTT Insights: optional `[MQTT_INSIGHTS]` section publishes internal state (grid power, targets, saturation, consumer topology, EMA-smoothed poll interval) to MQTT with Home Assistant Device Discovery and per-consumer active/pause control, manual target override, auto/manual target toggle, force efficiency rotation button, and Shelly battery offline availability; auto-configured in HA app when Mosquitto is installed
6-
- Added 3-phase support for Tasmota powermeter: comma-separated `JSON_POWER_MQTT_LABEL` / input / output labels ([#136](https://github.com/tomquist/astrameter/issues/136))
7-
- Added multi-phase support for MQTT powermeter: multiple topics (`TOPICS`) or multiple JSON paths (`JSON_PATHS`) from a single topic ([#208](https://github.com/tomquist/astrameter/issues/208), [#280](https://github.com/tomquist/astrameter/pull/280))
8-
- Added support for emulating a *CT002/CT003*, which is recommended to steer multiple devices, with opt-in efficiency optimization for multi-battery setups: concentrates power on fewer batteries at low demand to avoid inefficient low-power operation, with hysteresis, time-based rotation for fairness, probe-based handoffs that keep the previous battery online until the promoted battery shows meaningful output, smooth fade transitions after a successful probe, and saturation-aware forced rotation when an active battery is stuck at near-zero output (`MIN_EFFICIENT_POWER`, `EFFICIENCY_ROTATION_INTERVAL`, `EFFICIENCY_FADE_ALPHA`, `EFFICIENCY_SATURATION_THRESHOLD`, `SATURATION_DECAY_FACTOR`, `SATURATION_GRACE_SECONDS`, `SATURATION_STALL_TIMEOUT_SECONDS`). `EFFICIENCY_SATURATION_THRESHOLD` now defaults to 0.4 (previously 0, disabled) so full/empty batteries are swapped out automatically; batteries that produce meaningful output but lag behind a fluctuating target are no longer falsely flagged as saturated; newly promoted batteries now get an explicit probe window that keeps grid tracking stable while slow real-world ramp-up is evaluated, while mid-interval saturation detection still catches batteries that stop following their target after the handoff.
9-
- Added HomeWizard P1 powermeter support via the device WebSocket API with token and serial configuration ([#231](https://github.com/tomquist/astrameter/pull/231)), including optional `VERIFY_SSL` to disable TLS certificate verification on trusted networks when needed ([#254](https://github.com/tomquist/astrameter/pull/254))
10-
- Added SMA Energy Meter / Sunny Home Manager support via Speedwire multicast protocol with auto-detection and per-phase power readings ([#231](https://github.com/tomquist/astrameter/pull/252))
11-
- Added SML powermeter support for power readings from a smart meter over a local serial port (Smart Message Language / IR head), with optional per-phase OBIS overrides ([#229](https://github.com/tomquist/astrameter/pull/229))
12-
- Switched the Home Assistant powermeter integration from REST polling to the WebSocket API and improved missing/non-numeric sensor state handling ([#232](https://github.com/tomquist/astrameter/pull/232), [#193](https://github.com/tomquist/astrameter/pull/193))
13-
- Added optional Marstek cloud auto-registration for managed fake `ct002` and `ct003` devices at startup ([#237](https://github.com/tomquist/astrameter/pull/237))
14-
- Added battery activity info logs for Shelly emulation to report detection, inactivity, and reconnection events ([#241](https://github.com/tomquist/astrameter/pull/241))
15-
- Added `POWER_OFFSET` and `POWER_MULTIPLIER` transforms for any powermeter, including per-phase calibration, sign flipping, and phase nulling support, plus improved validation and logging with support for `POWER_MULTIPLIER = 0`, one-time phase-mismatch warnings, and preserved exception chaining for invalid float lists ([#250](https://github.com/tomquist/astrameter/pull/250))
5+
- Added CT002/CT003 emulation for steering multiple Marstek storage devices over the Marstek CT UDP protocol, with opt-in efficiency optimization that concentrates power on fewer batteries at low demand and rotates fairly over time (`MIN_EFFICIENT_POWER`, `EFFICIENCY_ROTATION_INTERVAL`, and related tuning options)
6+
- Added MQTT Insights: optional `[MQTT_INSIGHTS]` section publishes internal state (grid power, targets, saturation, consumer topology) to MQTT with Home Assistant Device Discovery, per-consumer active/pause control, manual target override, and Shelly battery offline availability; auto-configured in the HA app when Mosquitto is installed
7+
- Added HomeWizard P1 powermeter support via the device WebSocket API with optional `VERIFY_SSL` ([#231](https://github.com/tomquist/astrameter/pull/231), [#254](https://github.com/tomquist/astrameter/pull/254))
8+
- Added SMA Energy Meter / Sunny Home Manager support via Speedwire multicast with auto-detection and per-phase readings ([#252](https://github.com/tomquist/astrameter/pull/252))
9+
- Added SML powermeter support for smart meters over a local serial port (IR head), with optional per-phase OBIS overrides ([#229](https://github.com/tomquist/astrameter/pull/229))
10+
- Added multi-phase support for Tasmota (`JSON_POWER_MQTT_LABEL`) and MQTT (`TOPICS` / `JSON_PATHS`) powermeters ([#136](https://github.com/tomquist/astrameter/issues/136), [#280](https://github.com/tomquist/astrameter/pull/280))
11+
- Added `POWER_OFFSET` and `POWER_MULTIPLIER` transforms for any powermeter, including per-phase calibration, sign flipping, and phase nulling ([#250](https://github.com/tomquist/astrameter/pull/250))
12+
- Added optional Marstek cloud auto-registration for managed fake CT devices at startup ([#237](https://github.com/tomquist/astrameter/pull/237))
13+
- Switched the Home Assistant powermeter integration from REST polling to the WebSocket API ([#232](https://github.com/tomquist/astrameter/pull/232))
1614
- Added `LOG_LEVEL` environment variable support for Docker and CLI runs ([#174](https://github.com/tomquist/astrameter/pull/174))
17-
- Reduced throttling output noise by replacing unconditional `print` calls in `ThrottledPowermeter` with structured logging (`logger.debug` for routine wait/fetch/cache messages; failures remain at error level) ([#251](https://github.com/tomquist/astrameter/pull/251))
18-
- Improved Shelly UDP server robustness by adding socket timeouts to avoid hangs during shutdown and testing ([#233](https://github.com/tomquist/astrameter/pull/233))
19-
- Fixed Modbus `UNIT_ID` handling and clarified Home Assistant entity ID configuration in the docs ([#191](https://github.com/tomquist/astrameter/pull/191), [#195](https://github.com/tomquist/astrameter/pull/195))
20-
- CI-built container images embed **`GIT_COMMIT_SHA`**; startup logs the git commit and `/health` JSON includes **`git_commit`** when set
21-
- **Developer tooling:** Python **3.10+**; **uv** + **pyproject.toml** replace Pipenv; application code lives under **src/astrameter/**; **ruff**, **mypy**, and **pytest** (see [CONTRIBUTING.md](CONTRIBUTING.md)); CLI entry point **`astrameter`**; Docker and Home Assistant app images install the wheel and use the same command instead of `python main.py`.
2215
- Added timestamps to application log lines ([#260](https://github.com/tomquist/astrameter/pull/260))
16+
- CI-built container images embed `GIT_COMMIT_SHA`; startup logs the git commit and `/health` JSON includes `git_commit` when set
17+
- Fixed Modbus `UNIT_ID` handling ([#191](https://github.com/tomquist/astrameter/pull/191))
2318

2419
### Breaking
2520
- The Home Assistant app no longer publishes images for 32-bit ARM (`armhf` / `armv7`). Installations must use a 64-bit Home Assistant OS or supervisor environment (`amd64` or `aarch64`), consistent with Home Assistant dropping 32-bit support.

0 commit comments

Comments
 (0)