-
Notifications
You must be signed in to change notification settings - Fork 2
test(zoo): characterise IKEA ALPSTUGA display-OnOff phantom relay (#64) #65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -146,6 +146,22 @@ def _raw(node_id, eps): | |
| _raw(18, {1: {"29/0": [{"0": 773}], "1027/0": 1013, "1028/0": 25}}), | ||
| {1: ["matterFlowSensor", "matterPressureSensor"]}, | ||
| ), | ||
| # IKEA ALPSTUGA (real Matter-over-Thread air-quality sensor): AirQuality + | ||
| # CO2 + PM2.5 + temperature + humidity, plus an OnOff cluster that toggles | ||
| # the front DISPLAY (a "dead front" control), not power. CHARACTERISES the | ||
| # issue #64 wrinkle: the display OnOff produces a generic matterRelay | ||
| # alongside the five sensors. Kept in `expected` deliberately — when #64 is | ||
| # fixed (OnOff with the DeadFront feature should not become a relay) the | ||
| # matterRelay entry is removed here in the same change. The at-most-one- | ||
| # actuator invariant still holds (one relay), so this stays a phantom-device | ||
| # note, not a duplicate-actuator failure. | ||
| "ikea_alpstuga": ( | ||
| _raw(0x99, {1: {"29/0": [{"0": 44}], "91/0": 1, "1037/0": 600.0, | ||
| "1066/0": 8.0, "1026/0": 2150, "1029/0": 4800, | ||
| "6/0": False}}), | ||
|
Comment on lines
+159
to
+161
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Encode the DeadFront discriminator in the raw fixture, not just OnOff state. Lines 159-161 only model Suggested direction- _raw(0x99, {1: {"29/0": [{"0": 44}], "91/0": 1, "1037/0": 600.0,
- "1066/0": 8.0, "1026/0": 2150, "1029/0": 4800,
- "6/0": False}}),
+ _raw(0x99, {1: {"29/0": [{"0": 44}], "91/0": 1, "1037/0": 600.0,
+ "1066/0": 8.0, "1026/0": 2150, "1029/0": 4800,
+ "6/0": False,
+ # add the real OnOff feature discriminator(s) captured
+ # from matter-server for ALPSTUGA display control
+ "6/<feature_attr_id>": <captured_value>}}),🤖 Prompt for AI Agents |
||
| {1: ["matterAirQualitySensor", "matterCO2Sensor", "matterHumiditySensor", | ||
| "matterPM25Sensor", "matterRelay", "matterTemperatureSensor"]}, | ||
| ), | ||
| # An endpoint made only of clusters we don't handle (RVC RunMode 0x0054): | ||
| # the registry yields nothing — device_sync's matterUnknown fallback takes | ||
| # over (covered in test_device_sync.py). | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use a new, unused plugin version for this release.
Line 23 sets
PluginVersionto2026.2.25, but the version-check job already reports tagv2026.2.25exists, so this change cannot pass CI/release gates.Suggested fix
📝 Committable suggestion
🤖 Prompt for AI Agents
Source: Pipeline failures