Skip to content

Releases

v0.2.1

Choose a tag to compare

@fregster fregster released this 06 Nov 08:49

First release for the HACS default repository. There are no functional changes since 0.2.0. The integration now requires pyronix-cloud==0.2.1, which is published with this release and has the same code as 0.2.0.

Highlights

  • Verified on real hardware. Arming, disarming, force arming, polling and live updates have been verified against a Pyronix Euro 46. The project is now marked beta.
  • Brand icons validated. The integration ships its own icon, and HACS validation now passes with every check enabled.

Documentation

  • The README has been reorganised with highlights, a compatibility table and a table of contents, and the contributor material is now grouped under Development.

pyronix-cloud library (0.2.1)

  • Version bump only, and the PyPI classifier changes from Pre-Alpha to Beta.

v0.2.0

Choose a tag to compare

@fregster fregster released this 05 Nov 15:57

Arming controls, safer command handling and automatic recovery of dropped connections. The integration now requires pyronix-cloud==0.2.0, which is published with this release.

Arming and disarming are still untested on a real panel. Read-only sessions are tested on a Euro 46. Try a command while you can check the keypad.

Home Assistant integration

New

  • Choose who may arm and disarm. In the options you can require a PIN, allow selected users or allow anyone. You can also allow or block automations. Existing installs get a repair notice asking you to choose.
  • Plain arm and force arm. The normal arm actions no longer omit open inputs. If the panel will not set, the action fails at once with the panel's reason (for example "Landing DT Open"). The new pyronix_cloud.force_arm action omits open inputs, as the HomeControl2 app does. To restore the app's behaviour for every arm, turn on Always force arm.
  • Firmware version on the device page, updated when it changes.

Safer commands

  • "Command not confirmed" now means the outcome is unknown. The panel may still have acted on it, for example when the connection dropped just after sending. Check the alarm before trying again. Neither the integration nor the library ever retries an arm or disarm.
  • A forced arm the panel refuses now fails at once with the reason, instead of after a 15-second timeout.
  • Arming an area that is already set sends nothing. Disarming an area that is already unset already sent nothing.
  • A second arm or disarm while one is still running is refused with a clear message.

More reliable connections

  • Live-updates mode recovers from dropped connections. If nothing arrives from the Pyronix Cloud for 130 seconds, the session is closed and reconnects with back-off. Before, a silently dropped connection could go stale.
  • Retry when the panel is not polling. If the cloud says the panel isn't connected yet, the connection is retried a few times before it fails.

Documentation

The README now covers use cases, every configuration option, automation examples, known limitations, troubleshooting and removal. It meets the Home Assistant Integration Quality Scale up to Gold except brand images, which are still to be submitted.

pyronix-cloud library (0.2.0)

Breaking changes

  • CommandNotConfirmedError now derives from PyronixError, not PyronixTimeoutError. It is raised for any failure after a command may have been sent, chained to the cause, and carries .snapshot. Code that caught timeouts in order to retry will no longer catch it. That is intended: do not retry it automatically.
  • area_rules.refused_area() and area_rules.check_not_refused() now take a required keyword, force.

Added

  • SetRefusedError: a definite refusal by the panel, carrying the area and the panel's reason.
  • CommandInProgressError: raised when another command is already running on the same client.
  • ConnectionSilentError and Timeouts.silence (default 130 s): the receive-silence watchdog.
  • AppProfile and PyronixClient(app_profile=...): override the app identity sent to the cloud. The defaults are the HomeControl2 values.
  • RetryPolicy and PyronixClient(retry=...): bounded connection retries after cloud reply n.

Project

  • Branch coverage is 100 % and enforced in CI.
  • New safety tests:
    • tests fail if any log reveals a credential or session key;
    • a test checks that no flow sends a state-changing command unasked;
    • stateful tests run the panel link over a hostile network.
  • CI hardening: Actions pinned by SHA, actionlint and zizmor, CodeQL, OSV-Scanner, Dependabot, and checks on release distributions.

v0.1.0

Choose a tag to compare

@fregster fregster released this 05 Nov 12:33

What's Changed

  • Initial Pyronix Cloud library and Home Assistant integration by @fregster in #1
  • Live-updates setup option, brand icon and test-HA deploy script by @fregster in #2

New Contributors

Full Changelog: https://github.com/fregster/ha-pyronix-intergration/commits/v0.1.0