{"id":25764653,"url":"https://github.com/lafe/streamdeck-homematic","last_synced_at":"2026-05-15T15:31:27.647Z","repository":{"id":42708492,"uuid":"294071494","full_name":"lafe/Streamdeck-Homematic","owner":"lafe","description":"TypeScript based Stream Deck plugin that adds support for some components of the HomeMatic home automation system","archived":false,"fork":false,"pushed_at":"2023-12-29T13:29:11.000Z","size":346,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2023-12-30T12:22:43.695Z","etag":null,"topics":["homematic","streamdeck","streamdeck-sdk","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lafe.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-09-09T09:52:11.000Z","updated_at":"2023-12-30T12:22:43.695Z","dependencies_parsed_at":"2023-02-06T05:17:20.598Z","dependency_job_id":null,"html_url":"https://github.com/lafe/Streamdeck-Homematic","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lafe%2FStreamdeck-Homematic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lafe%2FStreamdeck-Homematic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lafe%2FStreamdeck-Homematic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lafe%2FStreamdeck-Homematic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lafe","download_url":"https://codeload.github.com/lafe/Streamdeck-Homematic/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240934979,"owners_count":19881074,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["homematic","streamdeck","streamdeck-sdk","typescript"],"created_at":"2025-02-26T21:19:36.055Z","updated_at":"2026-05-15T15:31:22.626Z","avatar_url":"https://github.com/lafe.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Streamdeck-Homematic\n\nThis repository contains a [Stream Deck](https://www.elgato.com/en/gaming/stream-deck) plugin that adds support for some components of the [HomeMatic](https://www.eq-3.com/products/homematic.html) home automation system.\n\n**This project is currently in an early prototype stage. It is not affiliated with eQ-3/HomeMatic or Elgato.**\n\n## Requirements\n\nThe plugin connects to the HomeMatic CCU using the [XML-API CCU Addon](https://github.com/jens-maus/XML-API). The plugin therefore needs a HomeMatic setup that uses one of the supported CCU models by the XML-API. Currently, these are:\n\n- [HomeMatic CCU3](https://www.eq-3.com/products/homematic/detail/smart-home-central-control-unit-ccu3-homematic.html) / [RaspberryMatic](http://raspberrymatic.de/)\n- [HomeMatic CCU2](https://www.eq-3.com/products/homematic/detail/homematic-central-control-unit-ccu2.html)\n- HomeMatic CCU1\n\nThe plugin has been tested with version [2.3](https://github.com/homematic-community/XML-API/releases/tag/2.3) of the XML-API Addon. It supports the use of a security token, that has to be created manually using the `tokenregister.cgi` script of the XML-API Addon. For further information, see the discussion in the [Homematic Forum](https://homematic-forum.de/forum/viewtopic.php?f=41\u0026t=77234#p749409) (unfortunately, only in German).\n\n## Supported devices\n\nThe software is currently only tested with the \"normal\" 15 key [Stream Deck](https://www.elgato.com/en/gaming/stream-deck). It is assumed that other Stream Deck variants (like [XL](https://www.elgato.com/en/gaming/stream-deck-xl) or [Mini](https://www.elgato.com/en/gaming/stream-deck-mini)) are working as well, but this has not been tested.\n\nThe following HomeMatic devices are currently supported:\n\n- [HomeMatic Wireless Switch Actuator 1-channel, flush-mount](https://www.eq-3.com/products/homematic/detail/homematic-wireless-switch-actuator-1-channel-flush-mount.html) (HM-LC-Sw1-FM)\n  - Toggle Switch\n- HomeMatic Wireless Wall Thermostat (HM-CC-TC)\n  - Display temperature and humidity (pressing the button will switch between both)\n- Homematic Wireless Shutter controls (HM-LC-Bl1-PB-FM, HM-LC-Bl1PBU-FM and [HmIP-BROLL-2](https://homematic-ip.com/en/product/shutter-actuator-brand-switches))\n\n## Development\n\nThe plugin uses Gulp as task runner and Webpack as bundler. The UI components are written in React. Main entry points are the [app.ts](src/app.ts)/[index.html](src/index.html) that handles the events from the StreamDev device itself. Property Inspectors are implemented in their own files in the [propertyInspector](src/propertyInspector/) folder.\n\nThe plugin only uses some parts of the [Elgato Stream Deck reference implementation](https://github.com/elgatosf/streamdeck-plugintemplate). Most parts are newly implemented to use TypeScript and to leverage the power of modern application web based application development (even though it is a bit slower as a result).\n\nTo start development, perform the following steps:\n\n- Checkout source code\n\n  ```bash\n  git clone https://github.com/lafe/Streamdeck-Homematic.git\n  ```\n\n- Install npm dependencies\n\n   ```bash\n   npm install\n   ```\n\n- To build the software, you can use `npm build`. The result of the build process is located in the \"dist\" folder.\n- To debug the software, you can use `npm run watch`. This starts a gulp watcher that detects changes and starts a new compilation when a change is detected. The output is also placed in the \"dist\" folder and is copied to the folder \"%AppData%\\Elgato\\StreamDeck\\Plugins\\dev.fernhomberg.streamdeck.homematic.sdPlugin\" folder. This folder is the default folder of Stream Deck plugin.\n\n## Debugging\n\nThe official [Stream Deck SDK](https://developer.elgato.com/documentation/stream-deck/sdk/) has a [short tutorial](https://developer.elgato.com/documentation/stream-deck/sdk/create-your-own-plugin/#debugging) on how to debug the application.\n\nThe most important part is to add a new `DWORD` registry key `html_remote_debugging_enabled` to your registry (`HKEY_CURRENT_USER\\Software\\Elgato Systems GmbH\\StreamDeck`) and set its value to `1`. Afterwards, you have a debugging page on [http://localhost:23654/](http://localhost:23654/) in Chrome/Microsoft Edge.\n\nA new version of the plugin is only picked up, if the Stream Deck application itself is restarted. To make this easier, you can use the [reloadStreamdeck.ps1](scripts/reloadStreamdeck.ps1) script in the \"scripts\" folder, which kills the running `Streamdeck.exe` process and restarts it. Combined with the behavior of the `npm run watch` script, this makes debugging and testing new versions easy.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flafe%2Fstreamdeck-homematic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flafe%2Fstreamdeck-homematic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flafe%2Fstreamdeck-homematic/lists"}