Skip to content

feat: add external extension support - #268

Open
rtm516 wants to merge 1 commit into
leukipp:mainfrom
rtm516:feature/extensions
Open

rtm516 wants to merge 1 commit into
leukipp:mainfrom
rtm516:feature/extensions

Conversation

@rtm516

@rtm516 rtm516 commented Oct 5, 2026

Copy link
Copy Markdown

Adds a way to load custom extensions from ~/.config/touchkio/extensions (or --app-extensions=<dir>), so features like the motion sensor from #261 can be maintained outside this repo.

  • [name].js files and [name]/ folders are loaded on startup. They can be disabled with --app-disable=ext_[name] or --app-disable=extensions.
  • Extensions can export init, initIntegration and update. Each receives an api object with access to the app, hardware and MQTT helpers.
  • Errors in an extension are logged without affecting the app.
  • An example extension and a list of community extensions are in extensions/.

Example: touchkio-motion-extension

@rtm516
rtm516 force-pushed the feature/extensions branch from dc4c238 to e3031f8 Compare October 5, 2026 23:27
@rtm516 rtm516 changed the title feat: load extensions from config folder feat: add external extension support Oct 5, 2026
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