Releases: custom-components/zaptec
v0.8.6
🎉 What's in this release
This is a minor release that fixes a validation issue that caused the integration to stop working for users with at least one charger they only have the User role for. See issue #357
In addition, it also fixes an issue where calls to the localSettings-API triggered an error on validating the response. See issue #354
🌻 What's Changed
- Remove incorrect or too restrictive validations by @steinmn in #355
- Release v0.8.6 by @sveinse in #358
Full Changelog: v0.8.5...v0.8.6
v0.8.5
🎉 What's in this release
This is a minor release that fixes a bug in the setting of the Min/Max current of a charger.
This update is required to be able to run on HA Core 2025.11+.
🌻 What's Changed
- Fix incorrect validation model for charger update by @steinmn in #352
- Release v0.8.5 by @steinmn in #353
Full Changelog: v0.8.4...v0.8.5
v0.8.4
🎉 What's in this release
This is a minor release that is required to be able to run on HA Core 2025.11+.
It contains minor fixes for pydantic validation (checks of the data from Zaptec portal) and increases the test coverage.
🌻 What's Changed
- Add known Energy dashboard issue to readme by @steinmn in #333
- Update pydantic to 2.12 by @steinmn in #338
- Add CHANGELOG.md for keeping important release notes by @steinmn in #334
- Skip attribute initialisation when firmware info is missing by @feliciaan in #324
- Disable more ruff-errors HA core is also ignoring by @steinmn in #340
- Do not call get on completed_session unless it's a dict by @steinmn in #344
- Fix bug in state redaction and add full test coverage for redact.py by @steinmn in #339
- Release v0.8.4 by @sveinse in #350
Full Changelog: v0.8.3...v0.8.4
v0.8.3
🎉 What's in this release
This is a release which primarily fixes an issue that caused the integration to stop working when being used by a user that doesn't have admin rights. See #320 for more information.
The release fixes compatibility with HA Core 2025.10+. Older versions of Zaptec will not work with newer HA versions and must be upgraded to this version. The minimum HA version compatible with this integration is 2025.7.
This release also introduces Norwegian translations, both bokmål and nynorsk language variants. There is a lot of ongoing efforts to improve the code quality, testability and structure of the integration. Most of this work is behind the scenes and should not affect the usage of it.
🌻 What's Changed
- Run ruff ci but ignore errors by @steinmn in #296
- Disable ruff errors that HA core is also ignoring by @steinmn in #298
- Migrate fully to pydantic 2 by @steinmn in #268
- Fix more simple ruff errors, mostly typing by @steinmn in #299
- Move classes into separate files to be compliant with HA guidelines by @sveinse in #303
- Add release.yml workflow by @steinmn in #304
- Move Zaptec API functionality to separate zaptec/ directory. by @sveinse in #308
- Norwegian Translation by @andersop91 in #295
- Update readme with new APM requirement and extend text limit on 500error by @steinmn in #312
- Add validation and monitoring of requirement compatibility with HA by @steinmn in #307
- Move ZCONST into zconst to make it importable by @sveinse in #314
- Adding pytest to project by @sveinse in #313
- Readd ruff check for scripts, but allow print and missing docstring by @steinmn in #316
- Cleanup misc - rename to utils, add typing and tests by @sveinse in #317
- Add unit tests for zconst and print test coverage in gh-action by @steinmn in #318
- Fix TypeError-crash for users without access to Hierarchy-endpoint by @steinmn in #321
- Cleanup main readme and reduce duplication of release notes by @steinmn in #326
- Move old API test code into pytest framework by @steinmn in #327
🧑🏼💻 New Contributors
- @andersop91 made their first contribution in #295
Full Changelog: v0.8.2...v0.8.3
v0.8.3b1 (BETA)
🎉 What's in this release
This is a beta release which primarily fixes an issue that caused the integration to stop working when being used by a user that doesn't have admin rights. See #320 for more information.
This release also introduces Norwegian translations, both bokmål and nynorsk language variants. There is a lot of ongoing efforts to improve the code quality, testability and structure of the integration. Most of this work is behind the scenes and should not affect the usage of it.
What's Changed
- Run ruff ci but ignore errors by @steinmn in #296
- Disable ruff errors that HA core is also ignoring by @steinmn in #298
- Migrate fully to pydantic 2 by @steinmn in #268
- Fix more simple ruff errors, mostly typing by @steinmn in #299
- Move classes into separate files to be compliant with HA guidelines by @sveinse in #303
- Add release.yml workflow by @steinmn in #304
- Move Zaptec API functionality to separate zaptec/ directory. by @sveinse in #308
- Norwegian Translation by @andersop91 in #295
- Update readme with new APM requirement and extend text limit on 500error by @steinmn in #312
- Add validation and monitoring of requirement compatibility with HA by @steinmn in #307
- Move ZCONST into zconst to make it importable by @sveinse in #314
- Adding pytest to project by @sveinse in #313
- Readd ruff check for scripts, but allow print and missing docstring by @steinmn in #316
- Cleanup misc - rename to utils, add typing and tests by @sveinse in #317
- Add unit tests for zconst and print test coverage in gh-action by @steinmn in #318
- Fix TypeError-crash for users without access to Hierarchy-endpoint by @steinmn in #321
New Contributors
- @andersop91 made their first contribution in #295
Full Changelog: v0.8.2...v0.8.3b1
v0.8.2
🎉 What's in this release
Important
The release has not undergone extensive testing, so your feedback is valuable. If you encounter any problems, please report them at https://github.com/custom-components/zaptec/issues. We are grateful for all contributions, ranging from documentation, examples of how to use, testing, to code development.
This release is a minor release, fixing a few critical issue regarding
- Fix error in
limit_currentservice call, which is used by blueprints - Adding documentation that the v0.8.x releases breaks the blueprints
If you're coming from v0.7.x, I recommend reading the release notes for v0.8.1 as well.
What's Changed
- Reclassify entities from diagnostic to config where appropriate by @steinmn in #281
- Avoid limit_current service call passing None-values and clarify error messages by @steinmn in #284
- Add more explicit typing by @steinmn in #261
- Use HTTPStatus instead of hardcoded numbers by @steinmn in #285
- Add explanation of resume_charging-limitations by @steinmn in #282
- Add breaking changes warning about blueprint by @steinmn in #288
Full Changelog: v0.8.1...v0.8.2
v0.8.1
🎉 What's in this release
Important
The release has not undergone extensive testing, so your feedback is valuable. If you encounter any problems, please report them at https://github.com/custom-components/zaptec/issues. We are grateful for all contributions, ranging from documentation, examples of how to use, testing, to code development.
The v0.8.1 is a major release with a lot of changes. The integration has been completely redesigned and may impact your existing automations.
The main goal of this release has been to adopt the Zaptec API Fair Use policy. The mechanism for synchronizing HA entities with the Zaptec portal has been made more robust. It reduces the number of requests to Zaptec and fixes the issues of getting "429 Too many requests" -- especially on larger installations.
✨ Feature highlight
- New system for polling and updating information in HA (see #202)
- Chargers are polled every 10 minutes in idle, while every minute when charging
- General device information is polled every hour
- Firmware version updates are polled once per day
- Implemented request rate limiter to avoid "429 Too many requests"
- Automatic polling from Zaptec after any button or value changes from HA to update the UI more quickly
- Change charger settings to use the official settings API
- Prevent sending pause/resume when not in the correct charging mode
- Support for reconfiguring the integration and integration reload now works
- Many internal changes and cleanups to classes and methods, including better logging
- Add support for 3 to 1-phase switching (PRO and Go 2 changers only) - NEW in v0.8.1
The full list of changes is available in CHANGELOG.md
⚠️ Breaking changes
charger_modehas changed values. E.g. from "Charging" to "connected_charging" due to using the lower-case native Zaptec values. Your automation might need an update.permanent_cable_lockhas changed from "lock" type to "switch" type.- There is no longer support for configuring Zaptec by YAML, only using the UI
- The user setting poll/scan interval has been removed, in favor of the improved polling system
- The "Circuit" device and entity, notably "Max Current", have been removed
- Service/action calls to named commands, such as "resume_charging" are now deprecated in favor of the button entities. They will be removed in a later release.
ℹ️ Known issues
- Sending a "deauthorize_and_stop" command will give an error. This is due to Zaptec sending back error code
500(internal server error). However, the command seems to execute the task, despite the error. - Setting custom poll intervals, like described here, will have unexpected effects. If the automatic polling is turned off, not all the data in the integration will update properly.
🌻 What's Changed
- Update dev container to latest HA-core by @steinmn in #184
- Remove internal settings api calls by @steinmn in #183
- Do not send Pause/Resume to API if we know it will be rejected by @steinmn in #187
- Throttle Zaptec Cloud requests to avoid hitting rate limits (fixes #165) by @feliciaan in #190
- Adopt the exponential back-off to the rate limiter by @sveinse in #193
- Remove internal circuits api calls by @steinmn in #186
- Formatting update in accordance to HA style settings by @sveinse in #194
- Support for reconfigure and accompanying improvements by @sveinse in #191
- Formatting changes from linting with HA settings by @sveinse in #195
- Cleanup: Rename class Account to Zaptec by @sveinse in #196
- Cleanup: Rename _request() to request() by @sveinse in #197
- Main API cleanup. Breaking changes by @sveinse in #198
- Refactor Zaptec integration to improve polling and command handling by @sveinse in #201
- Refactor Zaptec integration for prepping to adopt to API policy by @sveinse in #203
- Change permanent_cable_lock from lock to switch by @steinmn in #207
- Implemented differential poll intervals which significantly reduces polling by @sveinse in #208
- Fixup logging by @sveinse in #216
- Fixed incorrect sleep interval by @sveinse in #221
- Don't retry request on POST or PUT when server returns 500 by @sveinse in #224
- Fix missing attribute types by @steinmn in #225
- Add logging of all attributes during startup by @sveinse in #227
- Update devcontainer to latest debian version by @steinmn in #228
- Don't allow charging button to be pushed unless the command is valid by @steinmn in #215
- Add setting to enable if entity is to be checked on startup by @sveinse in #218
- Trig all sub chargers on installation trigger by @sveinse in #226
- Use state value for authorization required for more frequent updates by @steinmn in #230
- Leak less usernames and UID into the logs by @sveinse in #231
- Precompile regexp for performance by @sveinse in #236
- Fixup service/actions and deprecate old by @sveinse in #237
- Change data source for charger energy meter by @sveinse in #235
- Fix exponential retry error on API requests by @sveinse in #239
- Remove unused set_authentication_required-function by @steinmn in #240
- Replace unavailable common string-keys with the translated strings by @steinmn in #245
- Update dev container with latest reference by @sveinse in #246
- Updated ruff settings and fixed the simplest errors in the code by @sveinse in #247
- Feature add development by @sveinse in #248
- Organize translation into alphabetical order and remove upper case keys by @sveinse in #249
- Add support for adding standalone chargers by @sveinse in #250
- Fixup missing entity logging during startup by @sveinse in #251
- Minor improvements by @sveinse in #254
- Prevent logging sensitive data in debug logs by @sveinse in #256
- Add model attribute and set proper model in HA devices by @sveinse in #263
🎈 What's Changed since v0.8.0
- Fix redactor unable to handle sets by @steinmn in #271
- Add new "3 to 1-phase switch current" number in installation by @sveinse in #264
- Minor improvements by @sveinse in #265
- Fix startup of deselected chargers by @sveinse in #275
- Update translations for reconfigure by @sveinse in #276
🧑🏼💻 New Contributors
- @steinmn made their first contribution in #184
- @feliciaan made their first contribution in #190
💪 Honorable mentions
A really big shout-out to @steinmn who has helped developing and reviewing many of the PRs for this release. I am really grateful for the efforts. I would not have the same quality level without your persistent efforts. Thank you. 🙌
Full Changelog: v0.7.4...v0.8.0
Full Changelog: v0.8.0...v0.8.1
v0.8.0
🎉 What's in this release
Important
The release has not undergone extensive testing, so your feedback is valuable. If you encounter any problems, please report them at https://github.com/custom-components/zaptec/issues. We are grateful for all contributions, ranging from documentation, examples of how to use, testing, to code development.
The v0.8.0 is a major release with a lot of changes. The integration has been completely redesigned and may impact your existing automations.
The main goal of this release has been to adopt the Zaptec API Fair Use policy. The mechanism for synchronizing HA entities with the Zaptec portal has been made more robust. It reduces the number of requests to Zaptec and fixes the issues of getting "429 Too many requests" -- especially on larger installations.
✨ Feature highlight
- New system for polling and updating information in HA (see #202)
- Chargers are polled every 10 minutes in idle, while every minute when charging
- General device information is polled every hour
- Firmware version updates are polled once per day
- Implemented request rate limiter to avoid "429 Too many requests"
- Automatic polling from Zaptec after any button or value changes from HA to update the UI more quickly
- Change charger settings to use the official settings API
- Prevent sending pause/resume when not in the correct charging mode
- Support for reconfiguring the integration and integration reload now works
- Many internal changes and cleanups to classes and methods, including better logging
The full list of changes is available in CHANGELOG.md
⚠️ Breaking changes
charger_modehas changed values. E.g. from "Charging" to "connected_charging" due to using the lower-case native Zaptec values. Your automation might need an update.permanent_cable_lockhas changed from "lock" type to "switch" type.- There is no longer support for configuring Zaptec by YAML, only using the UI
- The user setting poll/scan interval has been removed, in favor of the improved polling system
- The "Circuit" device and entity, notably "Max Current", have been removed
- Service/action calls to named commands, such as "resume_charging" are now deprecated in favor of the button entities. They will be removed in a later release.
ℹ️ Known issues
- Sending a "deauthorize_and_stop" command will give an error. This is due to Zaptec sending back error code
500(internal server error). However, the command seems to execute the task, despite the error. - Setting custom poll intervals, like described here, will have unexpected effects. If the automatic polling is turned off, not all the data in the integration will update properly.
🌻 What's Changed
- Update dev container to latest HA-core by @steinmn in #184
- Remove internal settings api calls by @steinmn in #183
- Do not send Pause/Resume to API if we know it will be rejected by @steinmn in #187
- Throttle Zaptec Cloud requests to avoid hitting rate limits (fixes #165) by @feliciaan in #190
- Adopt the exponential back-off to the rate limiter by @sveinse in #193
- Remove internal circuits api calls by @steinmn in #186
- Formatting update in accordance to HA style settings by @sveinse in #194
- Support for reconfigure and accompanying improvements by @sveinse in #191
- Formatting changes from linting with HA settings by @sveinse in #195
- Cleanup: Rename class Account to Zaptec by @sveinse in #196
- Cleanup: Rename _request() to request() by @sveinse in #197
- Main API cleanup. Breaking changes by @sveinse in #198
- Refactor Zaptec integration to improve polling and command handling by @sveinse in #201
- Refactor Zaptec integration for prepping to adopt to API policy by @sveinse in #203
- Change permanent_cable_lock from lock to switch by @steinmn in #207
- Implemented differential poll intervals which significantly reduces polling by @sveinse in #208
- Fixup logging by @sveinse in #216
- Fixed incorrect sleep interval by @sveinse in #221
- Don't retry request on POST or PUT when server returns 500 by @sveinse in #224
- Fix missing attribute types by @steinmn in #225
- Add logging of all attributes during startup by @sveinse in #227
- Update devcontainer to latest debian version by @steinmn in #228
- Don't allow charging button to be pushed unless the command is valid by @steinmn in #215
- Add setting to enable if entity is to be checked on startup by @sveinse in #218
- Trig all sub chargers on installation trigger by @sveinse in #226
- Use state value for authorization required for more frequent updates by @steinmn in #230
- Leak less usernames and UID into the logs by @sveinse in #231
- Precompile regexp for performance by @sveinse in #236
- Fixup service/actions and deprecate old by @sveinse in #237
- Change data source for charger energy meter by @sveinse in #235
- Fix exponential retry error on API requests by @sveinse in #239
- Remove unused set_authentication_required-function by @steinmn in #240
- Replace unavailable common string-keys with the translated strings by @steinmn in #245
- Update dev container with latest reference by @sveinse in #246
- Updated ruff settings and fixed the simplest errors in the code by @sveinse in #247
- Feature add development by @sveinse in #248
- Organize translation into alphabetical order and remove upper case keys by @sveinse in #249
- Add support for adding standalone chargers by @sveinse in #250
- Fixup missing entity logging during startup by @sveinse in #251
- Minor improvements by @sveinse in #254
- Prevent logging sensitive data in debug logs by @sveinse in #256
- Add model attribute and set proper model in HA devices by @sveinse in #263
🧑🏼💻 New Contributors
- @steinmn made their first contribution in #184
- @feliciaan made their first contribution in #190
💪 Honorable mentions
A really big shout-out to @steinmn who has helped developing and reviewing many of the PRs for this release. I am really grateful for the efforts. I would not have the same quality level without your persistent efforts. Thank you. 🙌
Full Changelog: v0.7.4...v0.8.0
v0.8b2 (beta)
🎉 What's in this BETA release
Important
This is a pre-release version and may not be stable for production use. It has not undergone extensive testing, so your feedback is valuable. Please try it out, and if you encounter any problems, report them at https://github.com/custom-components/zaptec/issues
The v0.8 is a major release with a lot of changes. The integration has been completely redesigned and may impact your existing automations.
The main goal of this release has been to adopt to the Zaptec API Fair Use policy. The mechanism for synchronizing HA entities with the Zaptec portal has been made more robust. This reduces the number of requests to Zaptec and fixes the issues of getting "429 Too many request" -- especially on larger installations.
Note
Please see the v0.8b1 release notes for a description what's changed since v0.7.
The biggest highlight of this release is to fix using the integration on systems where one does not have full access to the installation.
What's Changed
- Replace unavailable common string-keys with the translated strings by @steinmn in #245
- Update dev container with latest reference by @sveinse in #246
- Updated ruff settings and fixed the simplest errors in the code by @sveinse in #247
- Feature add development by @sveinse in #248
- Organize translation into alphabetical order and remove upper case keys by @sveinse in #249
- Add support for adding standalone chargers by @sveinse in #250
- Fixup missing entity logging during startup by @sveinse in #251
- Release v0.8b2 by @sveinse in #252
Full Changelog: v0.8b1...v0.8b2
v0.8b1 (beta)
🎉 What's in this BETA release
Important
This is a pre-release version and may not be stable for production use. It has not undergone extensive testing, so your feedback is valuable. Please try it out, and if you encounter any problems, report them at https://github.com/custom-components/zaptec/issues
The v0.8 is a major release with a lot of changes. The integration has been completely redesigned and may impact your existing automations.
The main goal of this release has been to adopt to the Zaptec API Fair Use policy. The mechanism for synchronizing HA entities with the Zaptec portal has been made more robust. This reduces the number of requests to Zaptec and fixes the issues of getting "429 Too many request" -- especially on larger installations.
✨ Feature highlight
- New system for polling and updating information in HA (see #202)
- Chargers are polled every 10 minute in idle, while every minute when charging
- General device information is polled every hour
- Firmware version updates are polled once per day
- Implemented request rate limiter to avoid "429 Too many requests"
- Automatic polling from Zaptec after any button or value changes from HA to update the UI quickly
- Change charger settings to use the official settings API
- Prevent sending pause/resume when not in the correct charging mode
- Support for reconfiguring the integration and integraion reload now works
- Many internal changes and cleanups to classes and methods
ℹ️ Breaking changes
charger_modehave changed values. E.g. from "Charging" to "Connected_Charging" due to using the native Zaptec values. Your automation might need an update.permanent_cable_lockhave changed from "lock" type to "switch" type.- There is no support for configuring Zaptec by YAML, only using the UI
- The user setting poll/scan interval have been removed, in favor of the improved polling system
- The "Circuit" device and entity, notably "Max Current", have been removed
- Service/action calls to named commands, such as "resume_charging" is now deprecated in favor of the button entities. They will be removed in a later release.
⚠️ Known issues
- If entities are not available from Zaptec on startup, they will cause errors in the log. If you encounter this, please add an issue and we'll add an exception for this entity to the startup.
- Sending a "deauthorize_and_stop" command will give an error. This is due to Zaptec sending back error code 500. However, the command seems to do its task.
- Setting custom poll intervals, like described here, will have unexpected effects. If the automatic polling is turned off, not all the data in the integraion will update properly.
What's Changed
- Update dev container to latest HA-core by @steinmn in #184
- Remove internal settings api calls by @steinmn in #183
- Do not send Pause/Resume to API if we know it will be rejected by @steinmn in #187
- Throttle Zaptec Cloud requests to avoid hitting rate limits (fixes #165) by @feliciaan in #190
- Adopt the exponential back-off to the rate limiter by @sveinse in #193
- Remove internal circuits api calls by @steinmn in #186
- Formatting update in accordance to HA style settings by @sveinse in #194
- Support for reconfigure and accompanying improvements by @sveinse in #191
- Formatting changes from linting with HA settings by @sveinse in #195
- Cleanup: Rename class Account to Zaptec by @sveinse in #196
- Cleanup: Rename _request() to request() by @sveinse in #197
- Main API cleanup. Breaking changes by @sveinse in #198
- Refactor Zaptec integration to improve polling and command handling by @sveinse in #201
- Refactor Zaptec integration for prepping to adopt to API policy by @sveinse in #203
- Change permanent_cable_lock from lock to switch by @steinmn in #207
- Implemented differential poll intervals which significantly reduces polling by @sveinse in #208
- Fixup logging by @sveinse in #216
- Fixed incorrect sleep interval by @sveinse in #221
- Don't retry request on POST or PUT when server returns 500 by @sveinse in #224
- Fix missing attribute types by @steinmn in #225
- Add logging of all attributes during startup by @sveinse in #227
- Update devcontainer to latest debian version by @steinmn in #228
- Don't allow charging button to be pushed unless the command is valid by @steinmn in #215
- Add setting to enable if entity is to be checked on startup by @sveinse in #218
- Trig all sub chargers on installation trigger by @sveinse in #226
- Use state value for authorization required for more frequent updates by @steinmn in #230
- Leak less usernames and UID into the logs by @sveinse in #231
- Precompile regexp for performance by @sveinse in #236
- Fixup service/actions and deprecate old by @sveinse in #237
- Change data source for charger energy meter by @sveinse in #235
- Fix exponential retry error on API requests by @sveinse in #239
- Remove unused set_authentication_required-function by @steinmn in #240
New Contributors
- @steinmn made their first contribution in #184
- @feliciaan made their first contribution in #190
💪 Honorable mentions
A really big shout-out to @steinmn who has helped developing and reviewing many of the PRs for this release. I am really grateful for the efforts. I would not have the same quality level without your persistent efforts. Thank you. 🙌
Full Changelog: v0.7.4...v0.8