Skip to content

Wtc60 config pr - #440

Draft
guido4096 wants to merge 3 commits into
danielkucera:masterfrom
guido4096:wtc60-config-pr
Draft

guido4096 wants to merge 3 commits into
danielkucera:masterfrom
guido4096:wtc60-config-pr

Conversation

@guido4096

@guido4096 guido4096 commented Nov 1, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Add commands for the observed WTC-60 identification and bus-time broadcasts, plus a command for the standard eBUS 07FF sign-of-life message.
  • Rename circuit-specific display names to abstract Circuit_2, Circuit_3, and Circuit_4 labels while preserving command keys, telegrams, and field semantics.
  • Update the WTC-60 README with the new definitions, generic naming, and capacity requirements.

Why command_manager changes are required

The 07FF sign-of-life telegram has no payload: its master frame declares a data length of zero. CommandManager::updateData() previously returned immediately for commands with no configured fields. That means a passive command could match the telegram prefix, but the update path discarded it before recording a session or invoking the decoded-command log callback. It consequently appeared only as a raw telegram, not as the named Weishaupt/Bus/Sign_of_life command.

This change keeps normal field decoding unchanged and adds a narrow event path for passive commands that intentionally have no fields: it accepts only zero-payload messages, records the timestamp/session, and invokes the existing log callback. It does not create data or publish a fabricated value. Active no-field commands and no-field commands receiving a nonzero payload are ignored. The regression test verifies the named match, empty data, recorded session, log output, and rejection of a payload-bearing variant.

Capacity prerequisite

The complete WTC-60 set now contains 93 commands and uses approximately 6355 bytes for unique keys/names/field names. master currently has a 2048-byte StringPool. In the current setup you cannot deploy all commands, you will to increase the StringPool

Validation

  • Parsed all four WTC-60 JSON files; confirmed 93 commands with unique keys and abstract circuit names.
  • App host suite passed for this command-manager change (605 assertions across 63 test cases). A clean rebuild in the separate PR worktree was also attempted, but the host harness could not link the local eBUS POSIX bus implementation in this environment.

guido4096 and others added 3 commits November 1, 2026 19:52
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add raw decoders for the observed WTC-60 broadcasts and let passive zero-payload commands produce named log entries. Document the separate StringPool capacity prerequisite.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace house-specific room labels with circuit numbers in command names and documentation while preserving command keys and protocol definitions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

This branch has not been deployed

No deployments
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