Simple web-based device control with flexible authentication.
- Standalone Go HTTP server
- OAuth or SQL query authentication
- Ewelink or MQTT devices currently supported
- Generic interfaces for adding new device APIs
- Lightweight web interface, installable as PWA
This is not a "batteries included" tool, and has many limitations. Nor is it intended to replace or compete with things like Home Assistant.
I wrote it to use in a very specific scenario, and my architectural choices are based purely on self-learning and interest, not best practices.
For example, I wanted an excuse to learn Lit and Web Components, but I'm still a relative frontend newbie. For example, there is no integration or unit testing for the frontend.
If you want a polished web-based controller for your home devices that doesn't require customisation, this might not be the tool for you.
- Support more devices and APIs, especially:
- HTTP REST
- Local GPIO
- Support more device actions, not just a power-on
- Abstract the user-facing API in terms of "dashboards" and "actions", which are mapped only to device actions on the backend
- Support more OAuth APIs
- Improve config parsing consistency
- e.g. device configs are typed by parent key, while OAuth profiles are typed with a "type" field
- Write a lot more unit tests