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: 2 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ jobs:
registry: ghcr.io
image-suffix: ""
digest-prefix: "digests-base-"
legacy-image-name: tomquist/b2500-meter

build-addon:
needs: [ validate ]
Expand Down Expand Up @@ -163,3 +164,4 @@ jobs:
registry: ghcr.io
image-suffix: "-addon"
digest-prefix: "digests-addon-"
legacy-image-name: tomquist/b2500-meter
13 changes: 12 additions & 1 deletion .github/workflows/merge-manifests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,11 @@ on:
digest-prefix:
required: true
type: string
legacy-image-name:
required: false
type: string
default: ""
description: "Optional legacy image name (e.g. owner/repo) to publish the same manifest under for backward compatibility"

jobs:
merge:
Expand All @@ -32,11 +37,17 @@ jobs:
- id: lower-repo
run: |
echo "IMAGE_NAME=${GITHUB_REPOSITORY@L}${{ inputs.image-suffix }}" >> $GITHUB_OUTPUT
if [ -n "${{ inputs.legacy-image-name }}" ]; then
LEGACY_LOWER=$(echo "${{ inputs.legacy-image-name }}" | tr '[:upper:]' '[:lower:]')
echo "LEGACY_IMAGE_NAME=${LEGACY_LOWER}${{ inputs.image-suffix }}" >> $GITHUB_OUTPUT
fi
- name: Extract metadata
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ inputs.registry }}/${{ steps.lower-repo.outputs.IMAGE_NAME }}
images: |
${{ inputs.registry }}/${{ steps.lower-repo.outputs.IMAGE_NAME }}
${{ inputs.legacy-image-name != '' && format('{0}/{1}', inputs.registry, steps.lower-repo.outputs.LEGACY_IMAGE_NAME) || '' }}
tags: |
type=ref,event=branch
type=ref,event=tag
Expand Down
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Changelog

## Next
- **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`.
- **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` (the legacy `ghcr.io/tomquist/b2500-meter` image is still published in parallel for backward compatibility). Home Assistant users must update their app repository URL to `https://github.com/tomquist/astrameter#main`.
- 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)
- 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
- 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))
Expand Down
Loading