Skip to content

Latest commit

 

History

History
117 lines (78 loc) · 3.84 KB

README.md

File metadata and controls

117 lines (78 loc) · 3.84 KB

Domoboard

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.

Quick start

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

Configuration

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

API

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.

Modulair

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.

Screenshots

Here are some screenshots from Domoboard:

alt tag

Above screenshot shows the components top_tiles, line_charts, switches and weather.

alt tag

Above screenshot shows the mobile view of the Dashboard.

alt tag

Above screenshot shows the Raspberry Pi 7" Touch screen view of the Dashboard.

alt tag

Above the components domoticz_smart_charts, domoticz_counter_charts and domoticz_temp_charts.

alt tag

Above screenshot shows the components bar_charts, donut_charts, switches and power_usage components.

alt tag

Above screenshots shows the server log component

alt tag

Above screenshots shows the settings page.

Contributing

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

Special thanks to https://github.com/squandor for developing and testing on Domoboard before it was made public.