Skip to content

Update library metadata and enhance module lifecycle safety - #8

Merged
Burki24 merged 7 commits into
mainfrom
dev
Aug 4, 2026
Merged

Update library metadata and enhance module lifecycle safety#8
Burki24 merged 7 commits into
mainfrom
dev

Conversation

@Burki24

@Burki24 Burki24 commented Aug 4, 2026

Copy link
Copy Markdown
Owner

This pull request introduces a comprehensive "review hardening" of the OpenShutterButtonControl library, focusing on robust initialization, improved configuration validation, safer runtime behavior, and enhanced user feedback. The changes ensure that all variable types and actions are correctly validated both in the configuration form and at runtime, movements are safely stopped in all relevant situations, and users receive clear status messages on configuration issues.

Configuration and Validation Improvements

  • The configuration form (form.json) now restricts selectable variable types for button, movement, and position variables, and enforces required actions for movement and position variables. [1] [2]
  • At runtime, the module validates variable types and actions, and registers all configured variables as Symcon object references, updating them cleanly on changes. [1] [2] [3] [4]
  • The long-press threshold property is now validated to be within 100–5000 ms, both in the UI and in code. [1] [2] [3]

Runtime Safety and Movement Handling

  • Initialization of external variables is deferred until the Symcon kernel is fully ready; all movement is safely stopped on button release, configuration changes, or instance deletion. The movement is stopped on the exact variable that started it, preventing duplicate or missed STOP commands. [1] [2] [3] [4] [5]
  • Delayed timer execution is handled robustly, ensuring a complete sequence of OPEN/CLOSE and STOP commands even if the timer fires late.

User Feedback and Status Messaging

  • The module provides detailed status codes and messages for all major configuration errors (e.g., missing/invalid variables, missing actions, invalid property values, incomplete configuration), both in the UI and as Symcon instance status. [1] [2] [3]
  • The README and changelog are updated with clear explanations of the new validation logic, status codes, and runtime behavior. [1] [2] [3] [4]

Other Enhancements

  • Regression tests for kernel startup, variable actions, properties, references, and safe movement termination have been added (as noted in the changelog).
  • The static version badge is replaced with a dynamic GitHub release badge.

These changes collectively make the module much more robust, user-friendly, and safe to operate in production environments.

@Burki24
Burki24 merged commit 8df260a into main Aug 4, 2026
5 checks passed
@Burki24
Burki24 deleted the dev branch August 4, 2026 05:52
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