Skip to content

Enable Control SET, LABEL and REMOVE MQTT verbs - #88

Merged
dougrathbone merged 1 commit into
masterfrom
dougrathbone/enable-control-verbs-3a5a
Aug 25, 2026
Merged

Enable Control SET, LABEL and REMOVE MQTT verbs#88
dougrathbone merged 1 commit into
masterfrom
dougrathbone/enable-control-verbs-3a5a

Conversation

@dougrathbone

Copy link
Copy Markdown
Owner

Summary

Adds the extra Enable Control C-Gate verbs (ENABLE SET|LABEL|REMOVE) as opt-in MQTT writes. ON/OFF/RAMP on that application already worked through the generic path; these three did not.

Opt in with cbus_enable_control_app_id (typically 203). No Home Assistant entities. Not gated on discovery, so MQTT-only installs keep the write path.

Changes

  • cbus/write/{net}/{app}/{group}/set — native byte 0–255 (ON/OFF map to 255/0)
  • cbus/write/{net}/{app}/{group}/label — UTF-8 hex, English language 1, clipped to 32 characters; group stays out of the object path
  • cbus/write/{net}/{app}/{group}/remove — deletes the C-Gate group object; payload must be ON so a retained empty message cannot wipe groups
  • Add-on option, translations (17 locales), docs, settings example
  • Version 1.32.0

Test plan

  • npm test (3017 tests)
  • npm run lint
  • npm run typecheck
  • validate:addon-config / validate:translations / validate:schema-i18n

Checklist

  • Version bumped in package.json and homeassistant-addon/config.yaml
  • CHANGELOG.md updated
  • No sensitive data or credentials included
Open in Web Open in Cursor 

ON/OFF/RAMP already work on Enable Control through the generic lighting-style
path. C-Gate also documents ENABLE SET|LABEL|REMOVE; those extra verbs are now
opt-in MQTT writes behind cbus_enable_control_app_id (typically 203), with no
Home Assistant entities.

SET takes a native 0-255 byte (ON/OFF map to 255/0). LABEL hex-encodes UTF-8
so a hash cannot start a C-Gate comment, clips to 32 characters, and keeps the
group out of the object path. REMOVE deletes the C-Gate group object and
requires payload ON so a retained empty message cannot wipe groups.

Co-authored-by: Doug Rathbone <dougrathbone@users.noreply.github.com>
@dougrathbone
dougrathbone marked this pull request as ready for review August 25, 2026 10:52
@dougrathbone
dougrathbone merged commit 0eba71e into master Aug 25, 2026
22 checks passed
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