Skip to content

Comments

Clean CEC + more Samsung vendor support#14

Merged
clementperon merged 5 commits intomainfrom
dev
Feb 20, 2026
Merged

Clean CEC + more Samsung vendor support#14
clementperon merged 5 commits intomainfrom
dev

Conversation

@clementperon
Copy link
Owner

No description provided.

Copilot AI review requested due to automatic review settings February 20, 2026 11:20
@clementperon clementperon merged commit c996a97 into main Feb 20, 2026
6 checks passed
@clementperon clementperon deleted the dev branch February 20, 2026 11:22
Copy link

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

This pull request enhances CEC (Consumer Electronics Control) support by adding GIVE_DEVICE_POWER_STATUS handling and expanding Samsung vendor compatibility with model name reporting. The changes clean up test organization by consolidating similar test cases into parametrized tests and improve debugging by adding human-readable names for Samsung vendor subcommands.

Changes:

  • Added support for GIVE_DEVICE_POWER_STATUS CEC event with power status reporting (status code 0x00 = "on")
  • Implemented Samsung vendor 0x88 MODEL_NAME command handling with "Devialet" as the response
  • Refactored test_cec_parser.py tests to use pytest parametrization for better maintainability
  • Added CEC opcode names (STANDBY, ROUTING_CHANGE, SET_STREAM_PATH) and Samsung vendor subcommand names to improve logging readability

Reviewed changes

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

Show a summary per file
File Description
src/devialetctl/domain/events.py Added GIVE_DEVICE_POWER_STATUS event type to the InputEventType enum
src/devialetctl/infrastructure/cec_adapter.py Added CEC opcode names, Samsung vendor subcommand names dictionary, enhanced format_cec_frame_human to decode Samsung vendor commands, and changed TX decoded logging from DEBUG to INFO level
src/devialetctl/application/daemon.py Added _SAMSUNG_MODEL_NAME constant, GIVE_DEVICE_POWER_STATUS response handler (0x50:90:00), and Samsung vendor 0x88 MODEL_NAME command handler
tests/test_cec_parser.py Refactored tests to use pytest.mark.parametrize, reducing code duplication and improving maintainability; added tests for format_cec_frame_human
tests/test_daemon_runner.py Added GIVE_DEVICE_POWER_STATUS event and response frame to system request test, added new test for Samsung vendor 0x88 MODEL_NAME handling

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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