Skip to content

Add EpsilonRT DIY pilot wire module quirk#4827

Open
epsilonrt wants to merge 4 commits intozigpy:devfrom
epsilonrt:add-epsilonrt-pilot-wire
Open

Add EpsilonRT DIY pilot wire module quirk#4827
epsilonrt wants to merge 4 commits intozigpy:devfrom
epsilonrt:add-epsilonrt-pilot-wire

Conversation

@epsilonrt
Copy link
Copy Markdown

@epsilonrt epsilonrt commented Mar 13, 2026

Proposed change

This PR adds a new quirk for the EpsilonRT DIY Pilot Wire heating module (Model: ERT-MPZ-03).

The quirk implements a manufacturer-specific cluster (0xFC00) to manage the 6 standard pilot wire modes. It follows the existing implementation patterns for French pilot wire modules (like Nodon) by using PascalCase for the Enum states to ensure immediate compatibility with current ZHA and Home Assistant versions.

Additional information

  • DIY Project: This is a non-commercial DIY module using Manufacturer ID 0x1234.
  • Firmware & Hardware: Technical details and firmware source can be found at: https://github.com/epsilonrt/ZigbeePilotWireControl
  • Standardization: I am using the official pilot_wire_mode translation key for seamless integration.
  • Consistency: While I'm aware of the discussion regarding "slugs" in future versions, this PR maintains consistency with other pilot wire quirks already merged in the repository.
ha_lovelace_full

Device diagnostics

zha-01K8ZVXHG121GK60Z1SXFF0QAY-EpsilonRT ERT-MPZ-03-1b98d0483970a0c72e98f9e9a6ef208b.json

Checklist

  • The changes are tested and work correctly
  • pre-commit checks pass / the code has been formatted using Black
  • Tests have been added to verify that the new code works
  • Device diagnostics data has been attached

Copilot AI review requested due to automatic review settings March 13, 2026 22:06
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new v2 quirk for the EpsilonRT DIY pilot wire heating module (ERT-MPZ-03), closely following the existing NodOn pilot wire quirk pattern with identical enum values and cluster structure.

Changes:

  • New manufacturer-specific cluster (0xFC00) and enum for 6 pilot wire modes
  • V2 QuirkBuilder registration exposing the pilot wire mode as a select entity
  • Basic tests for cluster and enum definitions

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
zhaquirks/epsilonrt/init.py New package init for EpsilonRT manufacturer
zhaquirks/epsilonrt/pilot_wire.py Custom cluster, enum, and v2 quirk for pilot wire module
tests/test_epsilonrt.py Tests for cluster and enum definitions

You can also share your feedback on Copilot code review. Take the survey.

@epsilonrt epsilonrt force-pushed the add-epsilonrt-pilot-wire branch from d5ac7ee to c69677d Compare March 13, 2026 22:14
Copilot AI review requested due to automatic review settings March 13, 2026 22:14
@epsilonrt epsilonrt review requested due to automatic review settings March 13, 2026 22:14
@codecov
Copy link
Copy Markdown

codecov bot commented Mar 13, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.75%. Comparing base (68ac36a) to head (fc225a3).

Additional details and impacted files
@@            Coverage Diff             @@
##              dev    #4827      +/-   ##
==========================================
+ Coverage   92.74%   92.75%   +0.01%     
==========================================
  Files         382      383       +1     
  Lines       12783    12806      +23     
==========================================
+ Hits        11855    11878      +23     
  Misses        928      928              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copilot AI review requested due to automatic review settings March 14, 2026 18:22
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new v2 quirk for the EpsilonRT DIY Pilot Wire heating module (ERT-MPZ-03), closely following the existing Nodon pilot wire quirk pattern.

Changes:

  • New manufacturer-specific cluster (0xFC00) and enum for 6 pilot wire modes
  • Declarative v2 quirk registration with QuirkBuilder
  • Basic tests for cluster attributes and enum values

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
zhaquirks/epsilonrt/__init__.py New package init for EpsilonRT manufacturer
zhaquirks/epsilonrt/pilot_wire.py Pilot wire cluster, enum, and quirk registration mirroring Nodon's implementation
tests/test_epsilonrt.py Tests for cluster attribute definitions and enum values

You can also share your feedback on Copilot code review. Take the survey.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants