Welcome to the Pocketix Ecosystem — a suite of tools and libraries designed for automating smart home and IoT devices. The Pocketix project includes various components that work together to provide a comprehensive visual programming environment for creating automation scripts, device management, and integration with IoT systems.
- 🔗 vpl-for-things — WIP version of new editor built in Lit compatible with Pocketix v2 language
- 🔗 pocketix-go — WIP version of a refference implementaion of Pocketix v2 language interpreter
- 🔗 riot — WIP Version of a realtime IoT SCADA system providing Pocketix v2 support
- 🔗 pocketix-react — React version of the editor
- 🔗 pocketixng — Angular-based scripting editor for the same ecosystem
- 🔗 Pocketix Node Interpreter — Executes automation scripts created with Pocketix tools
- 🔗 Pocketix Node Core — A simple environment for basic IoT management
The Pocketix Ecosystem enables the automation of smart devices through visual programming. With both block- and form-based editors, users can design automation workflows using an intuitive drag-and-drop interface without the need for coding experience. The ecosystem is designed to integrate with smart home devices, IoT sensors, and cloud platforms, enabling powerful automation solutions.
- pocketix-react: A React-based visual programming editor for creating smart home automation workflows.
- pocketixng: An Angular-based editor for designing automation rules and controlling devices in the IoT ecosystem.
- Pocketix Node: A backend module that interprets Pocketix V1 programs and sends commands to devices, designed for simulation and testing.
- Pocketix Node Core: A monorepo containing backend services, databases, and frontend applications to support IoT and smart device automation.
- ✅ Visual programming language editors for smart home and IoT automation
- ✅ Drag-and-drop interface with condition/action configuration
- ✅ Block-based and form-based UI for designing automation workflows
- ✅ Integration with smart devices and extensible architecture
- ✅ Supports the Pocketix v1 language version
- ✅ Backend services for IoT device management, including time-series storage and serverless functions
- ✅ Scalable architecture designed for real-world IoT applications
- pocketix-react and pocketixng offer a user-friendly interface for designing automation rules using visual blocks. You can drag and drop blocks, configure their parameters through forms, and integrate smart home devices into the workflow.
- Pocketix Node provides the runtime environment for interpreting automation scripts, executing them in a dry-run mode, and interacting with IoT devices or simulating actions.
- Pocketix Node Core houses the backend services and databases that power the entire ecosystem, allowing for scalable and cloud-integrated device management.
We welcome contributions! To get involved:
- Fork the repository and create a new branch for your feature or fix
- Follow our code style (checked via ESLint or TSLint)
- Write tests to ensure your changes don’t break functionality
- Submit a pull request with a clear description of your changes
All projects in the Pocketix Ecosystem are licensed under the MIT License. See individual project LICENSE files for full details.
- 📦 Distribution of V1 tools as libraries for integration into other applications.
- 📈 V2 Interpret, Editor and RIoT — new core backend runtime written in Go and offering more robust environment with more capabilities like KPIs.
- Petr John (@xjohnp00): PhD student and the leader of the Pocketix project. Petr is focused on the development and continuous improvement of the Pocketix ecosystem, primarily in visual programming for IoT and other optimizations.
The Pocketix project has been supported by a variety of contributors and students, including:
- Lukáš Podvojský (@podvojsky) — Responsible for the first iteration of V2 Editor and Language
- Michal Bureš (@MichalBures-OG) — Responsible for the first iteration of RIoT environment (original version available under RIoT-IS)
- Matúš Tábi (@MatusTabi) — Responsible for the first iteration of
pocketix-gointerpret (available under pocketix-go) - Marko Olešák (@pukauka) — Responsible for the development of the RIoT CMS-style user dashboard, including device and group detail views
- Marek Joukl (@marekjoukl) — Responsible for the redesign of the frontend application into a responsive Progressive Web App (PWA)
- Ivan Chodák (@IvanIV100) — Responsible for the first iteration of reusable end user procedures in
vpl-for-thingsand the integration into RIoT - Tomáš Fišer (@thomson191919) — Currently working on the digital twin concept for RIoT and Pocketix debuggers and editors
Their dedication, collaboration, and expertise have helped shape the Pocketix ecosystem into a robust tool for smart home automation and IoT management.
- Jiří Hynek (@Jirka): PhD supervisor at BUT FIT