Skip to content

feat: add Switches device type with dynamic switch count#8

Merged
maybetaken merged 1 commit into
masterfrom
feat/switches-device
May 11, 2026
Merged

feat: add Switches device type with dynamic switch count#8
maybetaken merged 1 commit into
masterfrom
feat/switches-device

Conversation

@maybetaken
Copy link
Copy Markdown
Owner

  • New SwitchesDevice plugin with -K suffix detection for attached vs standalone
  • Conditional network diagnostics and maintenance buttons based on serial suffix
  • Dynamic switch count via MQTT online payload (min 2, grow/shrink reconciliation)
  • JSON-over-MQTT command/notify using {switch_NN: on/off} format
  • Refactored JsonProtocolHelper to be a generic JSON helper (no Modbus artifacts)
  • Made ProtocolHelper base class methods optional for non-Modbus protocols
  • switch.py wires async_add_entities callback for dynamic entity growth
  • Translations for switch_01..switch_16 in en.json, zh-Hans.json, strings.json
  • Registered Switches model in device_config.py

Change Description

Briefly describe the changes and purpose of this PR.

Related Issues

List any related Issues (e.g., #123).

Influence device

  • MakeSkyBlue
  • MakeSkyBlue Mppt

Testing

Describe how you tested these changes:

Checklist

  • Code follows project style guidelines
  • Self-reviewed
  • Documentation updated (if needed)
  • No new warnings or errors
  • Local tests passed

- New SwitchesDevice plugin with -K suffix detection for attached vs standalone
- Conditional network diagnostics and maintenance buttons based on serial suffix
- Dynamic switch count via MQTT online payload (min 2, grow/shrink reconciliation)
- JSON-over-MQTT command/notify using {switch_NN: on/off} format
- Refactored JsonProtocolHelper to be a generic JSON helper (no Modbus artifacts)
- Made ProtocolHelper base class methods optional for non-Modbus protocols
- switch.py wires async_add_entities callback for dynamic entity growth
- Translations for switch_01..switch_16 in en.json, zh-Hans.json, strings.json
- Registered Switches model in device_config.py

Signed-off-by: maybetaken <296496296@qq.com>
@maybetaken maybetaken merged commit 76b9db4 into master May 11, 2026
2 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.

1 participant