Skip to content

feat: add core:IntrusionDetectedState for Somfy IntelliTAG air#2142

Merged
iMicknl merged 1 commit into
mainfrom
feat/intellitag-intrusion-state
Jun 21, 2026
Merged

feat: add core:IntrusionDetectedState for Somfy IntelliTAG air#2142
iMicknl merged 1 commit into
mainfrom
feat/intellitag-intrusion-state

Conversation

@iMicknl

@iMicknl iMicknl commented Jun 21, 2026

Copy link
Copy Markdown
Owner

Summary

Fixes #2141 — the core:IntrusionDetectedState enum was missing for Somfy IntelliTAG air ContactSensor devices (io:SomfyIDEOIIntrusionSensor).

Adds a real somfy_europe cloud setup containing all three IntelliTAG air device types as a test fixture, then regenerates the enums from it via utils/generate_enums.py.

Changes

  • New fixture tests/fixtures/setup/setup_tahoma_intellitag.json (29 devices, somfy_europe cloud, HA-redacted).
  • pyoverkiz/enums/state.py
  • pyoverkiz/enums/command.py: SET_VIBRATION_LEVEL_THRESHOLD = "setVibrationLevelThreshold"
  • tests/test_client.py: added the fixture to the test_get_setup parametrize list.

Notes

  • Only the cloud diagnostics dump was used. The local-API dump carries no definition.states, so it contributes nothing to enum generation.
  • The issue listed core:VibrationLevelThresholdState as already present, but it wasn't — it's picked up here too.

Testing

  • uv run pytest — 547 passed.

Closes #2141

Adds the somfy_europe cloud IntelliTAG air setup as a fixture and
regenerates enums from it, surfacing the missing core:IntrusionDetectedState
exposed by io:SomfyIDEOIIntrusionSensor (ContactSensor).

Also picks up core:VibrationLevelThresholdState, setVibrationLevelThreshold,
and a few manufacturer-data attributes from the same setup.

Closes #2141
@iMicknl iMicknl requested a review from tetienne as a code owner June 21, 2026 15:45
@github-actions github-actions Bot added the feature New feature or capability label Jun 21, 2026
@iMicknl iMicknl merged commit 43bcebf into main Jun 21, 2026
10 checks passed
@iMicknl iMicknl deleted the feat/intellitag-intrusion-state branch June 21, 2026 15:47
iMicknl added a commit that referenced this pull request Jun 21, 2026
## Problem

Changelog entries render the Conventional-Commit prefix that's already
implied by the section — e.g. under 🚀 New Features:

> - **feat:** add core:IntrusionDetectedState for Somfy IntelliTAG air
(#2142)

The `feat:` is redundant ("doubled") with the section heading.

## Change

The prefix can't simply be dropped from the PR title — it's the signal
the autolabeler uses to sort entries into sections. Instead, strip it
from the *rendered* entry via a Release Drafter `replacers` rule:

```yaml
replacers:
  - search: '/\* (build|chore|ci|docs|feat|fix|perf|refactor|revert|style|test)(\(.+?\))?!?:\s*/g'
    replace: '* '
```

Now `feat: add X` renders as `Add X` while the title keeps driving
labeling/sectioning.

Also documents this in AGENTS.md (keep the prefix in titles; it's
stripped on publish) and drops two now-obvious comments from the
workflow.

Follow-up to #2143.
iMicknl added a commit that referenced this pull request Jun 21, 2026
## Why

Now that #2144 strips the Conventional-Commit prefix, the summary
becomes the first word the reader sees in the changelog. Conventional
Commits' default lowercase summary renders as:

> - add core:IntrusionDetectedState for Somfy IntelliTAG air (#2142)

Capitalizing the summary gives the expected:

> - Add core:IntrusionDetectedState for Somfy IntelliTAG air (#2142)

## Why a convention, not config

Release Drafter `replacers` can find/replace text but **cannot transform
case** (no callback / uppercase function), so forcing the capital via
regex isn't possible. The only route is writing the title capitalized:
`feat: Add X`.

Documents this in AGENTS.md. Follow-up to #2143 / #2144.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New feature or capability

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Missing core:IntrusionDetectedState enum for Somfy IntelliTAG air ContactSensor devices

1 participant