Custom dashboard and event processing

In this subforum you can show projects you have made, or you are busy with. Please create your own topic.

Moderator: leecollings

Post Reply
dcnoren
Posts: 7
Joined: Friday 04 December 2015 15:21
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Custom dashboard and event processing

Post by dcnoren »

EDIT: no longer maintained. You can still find this on Github, but for something that is still updated, please see the node.js implementation of this. http://www.domoticz.com/forum/viewtopic ... 38&t=12361



Started as an internal project I never intended on releasing, but figured I might as well put this on github (which becomes public as I don't have private accounts), and clean stuff up. Still very much a work in progress, but thought I'd go ahead and post this.

https://github.com/dcnoren/Domoticz-Home-UI

Requires some configuration, but not a whole lot; although the functionality is setup specifically for my house, so any scenes will not work and may cause chaos on your setup - using wrong IDs, etc - and may even unlock doors - so be very careful with scene functionality and edit/comment/remove any of that code as required. Further, I am abstracting the event system from Domoticz to allow events to be processed within PHP. See readme about connector.php.

Does not use database, but instead "long-polls" the server. This is inefficient for large setups, but as long as only two or three clients are using it, it should be fine. Only intended for internal functionality, do not use on a public server, as there is no authentication or input sanitation.

I have a few tablets mounted on the walls that display this site full-screen. For now, it mostly replicates Domoticz's internal capabilities, although I can get fine-grained event processing and can tie in non-Domoticz-controlled systems and events, as well. Finally, there's built-in logging capabilities, pushing data to systems such as Loggly (free accounts are available).

Comments are welcome, but this is a home-grown project for my specific purposes and will remain as such - but the code may be useful for others.

A few screenshots:
ui-2.png
ui-2.png (26.22 KiB) Viewed 4243 times
ui-1.png
ui-1.png (36.14 KiB) Viewed 4243 times
Last edited by dcnoren on Tuesday 14 June 2016 2:57, edited 1 time in total.
Abbadon
Posts: 40
Joined: Thursday 01 October 2015 8:25
Target OS: Raspberry Pi / ODroid
Domoticz version: beta
Location: Poland, Wrocław
Contact:

Re: Custom dashboard and event processing

Post by Abbadon »

it looks very well, ill try it tommorow :) thanks
dcnoren
Posts: 7
Joined: Friday 04 December 2015 15:21
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Custom dashboard and event processing

Post by dcnoren »

Cool, glad you're interested. I'll look forward to your feedback. Made a few updates in the last few hours, so make sure you re-clone if you already downloaded.
User avatar
Egregius
Posts: 2589
Joined: Thursday 09 April 2015 12:19
Target OS: Linux
Domoticz version: v2024.7
Location: Beitem, BE
Contact:

Re: Custom dashboard and event processing

Post by Egregius »

Another PHP program, nice :)
What do you mean by 'abstracting the event system'?
Abbadon
Posts: 40
Joined: Thursday 01 October 2015 8:25
Target OS: Raspberry Pi / ODroid
Domoticz version: beta
Location: Poland, Wrocław
Contact:

Re: Custom dashboard and event processing

Post by Abbadon »

do you have any plans for temperature sensors?
dcnoren
Posts: 7
Joined: Friday 04 December 2015 15:21
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Custom dashboard and event processing

Post by dcnoren »

Abbadon wrote:do you have any plans for temperature sensors?
Yes - in fact, that is my current project. However, I'm addressing it from an event standpoint, although I could list temperatures on the dashboard. What would you find useful?
Egregius wrote:Another PHP program, nice :)
What do you mean by 'abstracting the event system'?
Basically, I find the Blockly events in Domoticz to be limiting, and want to write my own custom scripts. I also don't want to be constrained to Lua or be constrained to the Domoticz system - so I am writing this to allow a user to write their own events in PHP, away from Domoticz. So - in short - not using Domoticz's events, but using my own. Positives and negatives to doing so - but somebody could also just choose to use the dashboard and ignore the events.
User avatar
Egregius
Posts: 2589
Joined: Thursday 09 April 2015 12:19
Target OS: Linux
Domoticz version: v2024.7
Location: Beitem, BE
Contact:

Re: Custom dashboard and event processing

Post by Egregius »

Basically the same that I do in my cron.php. Pulling all nessescary data from domoticz, store that in variables and act upon that.
PHP has so many advantages over lua, don't understand why so many stick by it.
Anyhow, I should take a look at your code, maybe I can learn something :)
dcnoren
Posts: 7
Joined: Friday 04 December 2015 15:21
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Custom dashboard and event processing

Post by dcnoren »

Egregius wrote:Basically the same that I do in my cron.php. Pulling all nessescary data from domoticz, store that in variables and act upon that.
PHP has so many advantages over lua, don't understand why so many stick by it.
Anyhow, I should take a look at your code, maybe I can learn something :)
I'll do the same - glad to see some other people agreeing with me on this. I bet your event processing is a bit further along than mine; I started just with the dashboard capability, so I'll be checking out your event capabilities.
dcnoren
Posts: 7
Joined: Friday 04 December 2015 15:21
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Custom dashboard and event processing

Post by dcnoren »

So, I stopped using PHP and migrated this all to NodeJS, and added wit.ai voice processing capabilities. PHP app will no longer be updated.

Requires an MQTT broker, I would suggest using cloudmqtt.com.

https://github.com/dcnoren/domoticz-node
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest