Domoboard is a dashboard for Domoticz based on Python Flask. The decision was made to use Domoticz as an backend because it is a powerful framework for home automation. Flask was choosen to get all the powerful features that Python offers.
Install dependencies:
sudo easy_install flask flask-auth configobj gitpython simplejson bleach requests
Clone the git:
git clone https://github.com/wez3/domoboard
Modify the config file to suit your needs. Start Domoboard by executing:
python server.py -c <config_file>
It is possible to run Domoboard in "debug" mode by running the command:
python server.py -c <config_file> -d
Just one config is used to configure Domoboard. A example can be found the applications root ("example.conf"). The following display components are currently supported:
- top_tiles
- switches
- switch
- dimmer
- rgb
- setpoint
- pushon
- pushoff
- group
- scene
- camera
- weather
- news
- map
- domoticz_temp_charts
- domoticz_smart_charts
- domoticz_counter_charts
- domoticz_percentage_charts
- line_charts
- area_charts
- bar_charts
- donut_charts
- power_usage
- serverlog
- settings
Domoboard has an API which can be found at "/api". All JavaScript files that update data frequently are using this API to obtain the information that is going to be displayed. By default all requests to the API are passed to the Domoticz backend. This means that Domoboard accepts the same API calls as Domoticz does. However the API also allows an plugin developer to add its own API functions by creating an Python module. Developers can specify a "custom" GET-parameter which is patched in to the current API, this allows the developer to run their own Python functions when the API is called.
Domoboard is a framework which allows users to build custom plugins pretty easy. Plugins require the following at least:
- A HTML file in the templates/ folder (see templates/hello.html as an example)
For advanced features, such as custom API functions a developer needs to develop:
- A Python file in the plugins/ folder (see plugins/hello.py as an example)
The following plugins have been developed by now:
- iCloud plugin
- Traffic plugin
Check out the page https://github.com/wez3/domoboard-plugins for all plugins.
Here are some screenshots from Domoboard:
Above screenshot shows the components top_tiles, line_charts, switches and weather.
Above screenshot shows the mobile view of the Dashboard.
Above screenshot shows the Raspberry Pi 7" Touch screen view of the Dashboard.
Above the components domoticz_smart_charts, domoticz_counter_charts and domoticz_temp_charts.
Above screenshot shows the components bar_charts, donut_charts, switches and power_usage components.
Above screenshots shows the server log component
Above screenshots shows the settings page.
Everybody can contribute to the project! For development purposes the "develop" branch is used. The "master" branch contains the stable version of Domoboard.
Please let us know when you've created a plugin, so we can can add to the plugin Github repository.
Special thanks to https://github.com/squandor for developing and testing on Domoboard before it was made public.