Domoboard - General Discussions

Domoboard is a dashboard for Domoticz based on Python Flask.
Forum rules
Before posting here, make sure you are using the latest Beta or Stable version.

In order to fix issues or add features these have to be reported on the Domoboard Github pages.
This makes it possible to keep track of issues/features on a centralized place.

Refer to the issue of the github tracker when possible.

This subforum is meant to discuss issues and/or feature requests, or anything else related to Domoboard.
squandor
Posts: 176
Joined: Saturday 19 December 2015 23:34
Target OS: Raspberry Pi
Domoticz version: 3.5837
Contact:

Domoboard - General Discussions

Postby squandor » Thursday 29 December 2016 18:19

Hi All,

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.

The project was started because the default Domoticz interface is not designed to be used as an actual dashboard, for example on a tablet which is mounted to the wall. Domoboard is based on Bootstrap which allows the dashboard to be responsive.

Quick start

Install dependencies:

Code: Select all

sudo easy_install flask flask-auth configobj gitpython simplejson bleach requests


Clone the git:

Code: Select all

git clone https://github.com/wez3/domoboard


Modify the config file to suit your needs. Start Domoboard by executing:

Code: Select all

python server.py -c <config_file>


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:
  1. top_tiles
  2. switches
    1. switch
    2. dimmer
    3. rgb
    4. setpoint
  3. weather
  4. news
  5. map
  6. domoticz_temp_charts
  7. domoticz_smart_charts
  8. domoticz_counter_charts
  9. domoticz_percentage_charts
  10. line_charts
  11. area_charts
  12. bar_charts
  13. donut_charts
  14. power_usage
  15. serverlog
  16. 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.

Domoboard is a framework which allows users to build custom plugins pretty easy. Plugins require the following at least:
  1. A HTML file in the templates/ folder (see templates/hello.html as an example)
  2. 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)
  3. Readme.md in the static/docs folder for the plugin-manager

The following plugins have been developed by now:
  1. iCloud
  2. ANWB

Check out the plugin page at https://github.com/wez3/domoboard-plugins for all plugins.
Check out the domoboard at https://github.com/wez3/domoboard

Here are some screenshots from Domoboard:
Image
Image
Image
Image
Image
Image
Image

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.


We hope you like it and any comments or suggestions are welcome.

Greetings,

Wez3 & Squandor
Last edited by squandor on Friday 20 January 2017 23:48, edited 4 times in total.

SweetPants
Posts: 1199
Joined: Friday 12 July 2013 21:24
Target OS: Linux
Domoticz version: V3.7377
Location: The Netherlands
Contact:

Re: Domoboard a New Dashboard using Domoticz as backend

Postby SweetPants » Thursday 29 December 2016 18:28

Looks nice, which python version is used?

squandor
Posts: 176
Joined: Saturday 19 December 2015 23:34
Target OS: Raspberry Pi
Domoticz version: 3.5837
Contact:

Re: Domoboard a New Dashboard using Domoticz as backend

Postby squandor » Thursday 29 December 2016 18:36

it has been build on Python 2.7

User avatar
gizmocuz
Posts: 8117
Joined: Thursday 11 July 2013 18:59
Target OS: Raspberry Pi
Domoticz version: beta
Location: Top of the world
Contact:

Re: Domoboard a New Dashboard using Domoticz as backend

Postby gizmocuz » Thursday 29 December 2016 18:54

Domoticz is using bootstrap as well.
Always nice to see new interfaces, nice job!
Quality outlives Quantity!

squandor
Posts: 176
Joined: Saturday 19 December 2015 23:34
Target OS: Raspberry Pi
Domoticz version: 3.5837
Contact:

Re: Domoboard a New Dashboard using Domoticz as backend

Postby squandor » Thursday 29 December 2016 19:12

jep you're right, the idea didn't come to overrule the domoticz front but to create something with extra features including the existing features from domoticz itself.
With that in mind we thought of an interface which is configurable and hopefully would seem nice at an touchscreen so domoticz would be used even more in houses.
I use it in my own house and love the possibilities! :)

dutchdevil83
Posts: 115
Joined: Monday 31 October 2016 20:34
Target OS: Raspberry Pi
Domoticz version: latest
Location: Netherlands
Contact:

Re: Domoboard a New Dashboard using Domoticz as backend

Postby dutchdevil83 » Thursday 29 December 2016 22:21

Looks promising, have got it running but the config file is not "user friendly" at the moment. I saw that under settings you made a attempt to config the devices from there. I think thats the best way to do it because now its a hell of a job to look up the right IDXs and set them in the config file also because for trial and error you have to exit and edit the config and reload.

But again dashboard looks promising and have some good potential. Will have a look at the code of i can get a user friendly method of adding devices to the dashboard.
Hardware
1x Raspberry Pi
1x Razberry Z-Wave
1x RFXtrx433E
1x Toon
1x GoodWe Solarpanels
2x FGSD-002 Smoke Detector
1x FGBS-001 Binaire Sensor (RFID lezer)
7x FGMS-001 Motion Sensor
3x ZW089 Verzonken Deursensor
7x NC Wallplug
&lots of KaKu stuff

squandor
Posts: 176
Joined: Saturday 19 December 2015 23:34
Target OS: Raspberry Pi
Domoticz version: 3.5837
Contact:

Re: Domoboard a New Dashboard using Domoticz as backend

Postby squandor » Thursday 29 December 2016 22:37

Youre right if you don't want to restart the server after every change you can use the -d parameter which sets the flask server to debugging mode so after every change the server will restart automatically

But sometimes I also find the config a little bit complicated but w
Just like every thing when you now how it works it's easy to change ;)

Awst6000
Posts: 162
Joined: Thursday 12 February 2015 8:51
Target OS: Linux
Domoticz version:
Contact:

Re: Domoboard a New Dashboard using Domoticz as backend

Postby Awst6000 » Thursday 29 December 2016 22:52

Looks very nice. Looks like 'Toon for Domoticz' ;)
I'm sorry to say but I hope you don't run into that much trouble that you quit, like most other attempts for creating a dashboard do.
Last edited by Awst6000 on Thursday 29 December 2016 23:09, edited 1 time in total.

User avatar
remb0
Posts: 764
Joined: Thursday 11 July 2013 22:21
Target OS: Raspberry Pi
Domoticz version: Beta
Location: The Netherlands
Contact:

Re: Domoboard a New Dashboard using Domoticz as backend

Postby remb0 » Thursday 29 December 2016 22:53

Great work! Will try it soon..

squandor
Posts: 176
Joined: Saturday 19 December 2015 23:34
Target OS: Raspberry Pi
Domoticz version: 3.5837
Contact:

Re: Domoboard a New Dashboard using Domoticz as backend

Postby squandor » Thursday 29 December 2016 22:56

We are using it for ourselves so it's not in ours agendas to quit working on it :)!!

User avatar
Siewert308SW
Posts: 465
Joined: Monday 29 December 2014 16:47
Target OS: Raspberry Pi
Domoticz version: Beta
Location: The Netherlands - Zoutkamp (gn)
Contact:

Re: Domoboard a New Dashboard using Domoticz as backend

Postby Siewert308SW » Thursday 29 December 2016 23:22

omg, that looks promising...
From the screenshots i do have to say chapeau.
I'm eager to try this one out, but will take some time as i have other priorities right now.
Until then i will keep a eye on this.
Question: how does the UI runs on slower devices like mine "Samsung Galaxy Tab 7" 1st edition from years back.
In the past i used the frontpage by Hansbit but the browser (FF,Chrome, Dolphin) was slow.
Setup:
1x RPi3 - PIco hv3.0A Plus / Domoticz / RFXtrx433E
1x RPi3 - PiHole / logging gas,elec
3x FI9803P Cam
2x Youless Elec/Gas
4x KD101 detectors
a lot of KaKu/CoCo stuff

Domoticz scripts: @ GitHub
pico_installer: @ GitHub
pico_status: @ GitHub

squandor
Posts: 176
Joined: Saturday 19 December 2015 23:34
Target OS: Raspberry Pi
Domoticz version: 3.5837
Contact:

Re: Domoboard a New Dashboard using Domoticz as backend

Postby squandor » Thursday 29 December 2016 23:24

Wez3 has the domoboard running on an Raspbian with 7" touchscreen with chromium browser and it works like a charm :)

User avatar
remb0
Posts: 764
Joined: Thursday 11 July 2013 22:21
Target OS: Raspberry Pi
Domoticz version: Beta
Location: The Netherlands
Contact:

Re: Domoboard a New Dashboard using Domoticz as backend

Postby remb0 » Thursday 29 December 2016 23:42

squandor wrote:Wez3 has the domoboard running on an Raspbian with 7" touchscreen with chromium browser and it works like a charm :)


pics or it didn't happen.jpg
pics or it didn't happen.jpg (122.52 KiB) Viewed 6846 times

squandor
Posts: 176
Joined: Saturday 19 December 2015 23:34
Target OS: Raspberry Pi
Domoticz version: 3.5837
Contact:

Re: Domoboard a New Dashboard using Domoticz as backend

Postby squandor » Thursday 29 December 2016 23:58

haha ok point taken:
Image

Eoreh
Posts: 12
Joined: Tuesday 13 October 2015 13:50
Target OS: Raspberry Pi
Domoticz version: beta
Contact:

Re: Domoboard a New Dashboard using Domoticz as backend

Postby Eoreh » Friday 30 December 2016 0:01

Hi !
Looks nice. I want try it, but i have little problem like this.

Code: Select all

Traceback (most recent call last):
  File "server.py", line 8, in <module>
    import modules.api as api
  File "/home/pi/domoboard/modules/api.py", line 8, in <module>
    import requests, json, re
ImportError: No module named requests

What's the problem ?

Its happend after start:

Code: Select all

sudo python server.py -c example.conf

Of course, I installed all the necessary components

Code: Select all

sudo apt-get install python-setuptools
sudo apt-get install git
sudo easy_install flask flask-auth configobj gitpython simplejson bleach
git clone https://github.com/wez3/domoboard

In config example.conf i change only 2 lines in section "server" like this

Code: Select all

url = 192.168.5.80:8080    # IP-address of Domoticz backend
flask_url = 192.168.5.88:80   


My directory modules have files like this:

Code: Select all

api.py
api.pyc
__init__.py
__init__.pyc
security.py
security.pyc

squandor
Posts: 176
Joined: Saturday 19 December 2015 23:34
Target OS: Raspberry Pi
Domoticz version: 3.5837
Contact:

Re: Domoboard a New Dashboard using Domoticz as backend

Postby squandor » Friday 30 December 2016 0:03

thanks for you're post.
you're missing an module so the fix would be:

Code: Select all

sudo pip install requests

or

Code: Select all

 sudo easy_install requests


we will update the readme file on GitHub.

Eoreh
Posts: 12
Joined: Tuesday 13 October 2015 13:50
Target OS: Raspberry Pi
Domoticz version: beta
Contact:

Re: Domoboard a New Dashboard using Domoticz as backend

Postby Eoreh » Friday 30 December 2016 0:23

Thx for fast answer.
Next problem after (install "requests and) start -> sudo python server.py -c example.conf

Code: Select all

 Traceback (most recent call last):
  File "server.py", line 147, in <module>
    config = json.loads(security.sanitizeString(json.dumps(unsanitizedConfig)), object_pairs_hook=OrderedDict)
  File "/usr/lib/python2.7/json/__init__.py", line 351, in loads
    return cls(encoding=encoding, **kw).decode(s)
  File "/usr/lib/python2.7/json/decoder.py", line 369, in decode
    raise ValueError(errmsg("Extra data", s, end, len(s)))
ValueError: Extra data: line 1 column 3231 - line 1 column 3235 (char 3230 - 3234)

My Domoticz - beta v3.6258 runs http on RPI3 with jessie from may 2016 (update and upgrade today).
I dont have any password and users.

squandor
Posts: 176
Joined: Saturday 19 December 2015 23:34
Target OS: Raspberry Pi
Domoticz version: 3.5837
Contact:

Re: Domoboard a New Dashboard using Domoticz as backend

Postby squandor » Friday 30 December 2016 0:27

could you post you config.

it seems that error has been raised when the config is being loaded.

Eoreh
Posts: 12
Joined: Tuesday 13 October 2015 13:50
Target OS: Raspberry Pi
Domoticz version: beta
Contact:

Re: Domoboard a New Dashboard using Domoticz as backend

Postby Eoreh » Friday 30 December 2016 0:36

Hi !
My config - edited in Notepad++ over WinSCP.
As i wrote I was change only 2 lines from oryginal.

Code: Select all

url = 192.168.5.80:8080    # IP-address of Domoticz backend
flask_url = 192.168.5.88:80 
Attachments
example.zip
(1.35 KiB) Downloaded 74 times

squandor
Posts: 176
Joined: Saturday 19 December 2015 23:34
Target OS: Raspberry Pi
Domoticz version: 3.5837
Contact:

Re: Domoboard a New Dashboard using Domoticz as backend

Postby squandor » Friday 30 December 2016 0:42

at the server section [[server]]
set secret_key with an random key

i would try to set an username = password to the [[users]] section.

There is an logon page on the domoboard which requires an user and password.

and try to use real idx id's because the server checks if they exists.


Return to “Domoboard”

Who is online

Users browsing this forum: No registered users and 0 guests