-
Notifications
You must be signed in to change notification settings - Fork 25
Components
The HomA framework consists of various software and hardware components that can be added the system simply by connecting them to the central broker. Once connected, they can publish and subscribe to various topics in order to interact with other components.
- Calendar Automates tasks through Google calendar events
- Rules Automates anything through a set of rules
- Solar Publishes various solar positions
Currently, most components are written in node.js and use the HomA package that is available in the npm repositories. The package provides a common command-line syntax and abstracts the connection the broker.
If you want to write your own component, fork the repository on GitHub, add your component to the components directory, push it to a branch in your fork and send us a pull request. Please include a small README.md file that describes what your component does and how to use it.
While you are mostly free to publish and subscribe to any topic of your choice, there are some assumption when you want to integrate your component into an interface.
As a rule of thumb, components can save settings at a topic branch below /sys/$componentId
and publish and subscribe to events such as the scanning of NFC tags at a topic branch below /events/$eventName