My home automation project / software

Show or discuss your existing Home automation project here, so a detailed explanation!.....
mishoboss
Member
Member
Posts: 58
Joined: Tue Nov 02, 2010 6:33 pm

Re: My home automation project / software

Post by mishoboss »

Hi, airox,
you've done excellent work!

What you mean you "parse a website"? Do you parse the HTML output of the site or you use XML or SOAP service that is provided? I'm not familiar with these weather services.

"I do agree with you that a HTML5 approach is a better approach, but I don't think it would be feasible to create one HTML5 app which can be viewed on multiple devices."
I'm not quite agreed with that. The beauty about standards is that they provide interoperability between products from different companies. HTML5 is the next BIG web standard that is going to rule the world the next 15 years (at least). The current versions of all major browsers already support a lot of the HTML5 specification. HTML5 with CSS3 and JavaScript are powerful enough tools to create desktop-like interface and functionality to a tiny client.

This is how I imagine the perfect HA software:
app.png
app.png (15.27 KiB) Viewed 12454 times

About the native Android functionality to push notifications. I'm sure there is a way to embed in your Android app a web browser control. The web browser control will render the HTML5 interface provided from the server. The app will handle push notifications too.

Please, tell me do you plan to release this software? If so, how you plan to release it - commercial or open source? I really want to see this software :)
herwin
Starting Member
Starting Member
Posts: 15
Joined: Sun Apr 25, 2010 12:45 pm

Re: My home automation project / software

Post by herwin »

I started with writing a driver in PHP for receiving and sending z-wave events.
That is interesting. How do you do that?
Can you control USB on Linux via PHP?

I want to do the same, but I did not found a way to do so

Thanx
airox
Member
Member
Posts: 214
Joined: Sat May 15, 2010 10:42 pm

Re: My home automation project / software

Post by airox »

Yes, you can just read and write to a usb serial device in linux. The adress is something like /dev/ttyUSB0.
mishoboss
Member
Member
Posts: 58
Joined: Tue Nov 02, 2010 6:33 pm

Re: My home automation project / software

Post by mishoboss »

Airox, take a look at http://www.phonegap.com/. It is exactly what I'm talking about - you build your software once with web technologies and wrap it for different platforms and add native functions.
airox
Member
Member
Posts: 214
Joined: Sat May 15, 2010 10:42 pm

Re: My home automation project / software

Post by airox »

mishoboss wrote:Airox, take a look at http://www.phonegap.com/. It is exactly what I'm talking about - you build your software once with web technologies and wrap it for different platforms and add native functions.
Nice technology. I see what the advantages are. I put it onto my product backlog, but there are still a lot of other stuff which I seem to find more important. Some stuff I am figuring out right now:

- Generated graphs can be saved to a dashboard. A dashboard can contain multiple graphs. Because the definition of a graph and dashboard is saved to the database I can show the dashboard whenever I want. Because the definition is inside the database I can also generate a frontend out of this for web, mobile and other stuff.
- A detection API. Every device/signal that is received and is not into the system will be saved as a detection. A list of detections can be called in the software. The detections overview can be used to add new devices. This would simplify the setup of the system. You would only need to connect the USB devices and start it up. Z-wave devices will be added to the detections list. From there a person can add them as devices to work with / monitor within the system. This detection API can also be used for new bluetooth devices detected, new X10 signals received, etc.
mishoboss
Member
Member
Posts: 58
Joined: Tue Nov 02, 2010 6:33 pm

Re: My home automation project / software

Post by mishoboss »

Nice! I like the way you think.

Did you make some kind of abstraction layer above the different protocols for HA? If I want to add EnOcean or ZigBee Pro protocols, can I add them easily to your software, just by writing a communication module?

What about the release of the software? I asked you about that several times, but there's no answer yet :)
airox
Member
Member
Posts: 214
Joined: Sat May 15, 2010 10:42 pm

Re: My home automation project / software

Post by airox »

There is indeed abstraction for devices. The software doesn't need to know what driver / device it is to check for it's current value, do graphing on it, or save the data. Though adding a driver/protocol isn't that simple. You would need to edit some parts of the code. For example, adding web interfaces for adding devices and capability of using the detection functionality.

About the release of this software. I'm currently in the proces of checking if I would release this software. This depends on a lot of things. For example, can I release the software without breaking licenses of used libraries. I also made a backlog of stuff I need to alter to make the product easy to install for other people. This backlog is rather huge ... but maybe I'm thriving to perfection on this :-)

The detection part was one thing which the system for example really needed. The following Use Case is something I'm currently working on to create a usable system:

- User installs system by setting up the software.
- User starts the server daemon.
- User logs into the web interface and configures settings for the drivers.
- The system restarts the drivers with the new settings and starts monitoring.
- The system detects new Z-Wave devices and logs it to the detections list.
- User installs all RFXcom devices and makes sure they send out a signal.
- The system detects new X10, Oregon, etc signals from the RFXcom driver and logs it to the detections list.
- The system and user do the same for bluetooth devices.
- User starts adding devices he wants to include for monitoring by going to the detections list and starts from there.
- User starts adding other devices like google latitude, web update, zoneminder camera's, motion camera's.
- The system is now monitoring all devices.

The steps after this (defining events and such) are currently very well supported. But the steps described above are those steps which I didn't add explicit support for because the software was only intended for use by myself.

So a release is in sight ... not really sure when I have a good feeling about the total functionality of the system :-)

About zigbee, is this an easy protocol to implement? I'm can't seem to find any good developers info for it...
Digit
Global Moderator
Global Moderator
Posts: 3388
Joined: Sat Mar 25, 2006 10:23 am
Location: Netherlands
Contact:

Re: My home automation project / software

Post by Digit »

I made my ZigBee interface based on http://ftp1.digi.com/support/documentat ... 0976_D.pdf
airox
Member
Member
Posts: 214
Joined: Sat May 15, 2010 10:42 pm

Re: My home automation project / software

Post by airox »

Quick update:

- Detections API working and complete now. It's nice to see a list of devices which are seen but not configured (made me aware of all the devices in the neighbourhood... which were a lot of X10, KiKa and bluetooth devices).
- Dashboards can now contain graphs and values (max,avg,min of this day and current)
- TVGuide sync and TVGuide enabled events so stuff can happen when a program begins within X minutes
- Support for a new weatherstation which I bought (Alecto WS-4000)
- All new values integrate with the dashboard and graphing functionality
- Random code updates and interface updates

TODO for the upcoming period:
- Now that I got support for creating dashboards, I now will create the iPad interface.
- Easy way to add reminders for TV shows
- LIRC support (ordered a iguanoworks IR transceiver) two-way
- Period based events (trigger stuff when certain actions happen in a certain sequence in a certain amount of time)
- Workflow based actions (based on a workflow engine I wrote earlier)
- On-off periods graphing
- Internationalization (it's currently in Dutch, support for English will come.. this is quite easy due to the use of a I10n lib I'm using already)
- Making it easier to plugin extra drivers
- Zigbee support
airox
Member
Member
Posts: 214
Joined: Sat May 15, 2010 10:42 pm

Re: My home automation project / software

Post by airox »

Hi everyone,

I have done a number of small updates to improve the functional quality of the system.
- Added support for monitoring CPU, Motherboard and Harddisk temperatures.
- Added support for monitoring system load.
- Possibility to ignore events for X minutes after they have been triggered.
- Now capable of adding reminders for tv shows.
- Added support for wind chill and dew point
- A lot of code improvements.
- Improved and added support for displaying values on dashboards.
- Small UI improvements

And I also updates the screenshots:

See this link for all screenshots right now:
http://fotoboek.vandulmen.net/domotica/currentversion/
CRaZee
Starting Member
Starting Member
Posts: 37
Joined: Sun Jan 23, 2011 12:52 pm

Re: My home automation project / software

Post by CRaZee »

Hi airox,

Your project looks great.
Very clean UI, i like it.
If you're considering sharing/selling the software i am very interested.
airox
Member
Member
Posts: 214
Joined: Sat May 15, 2010 10:42 pm

Re: My home automation project / software

Post by airox »

Hi Guys,

Another update! I added support for TV-show notifications. One just has to search for the program and hit "notificatie toevoegen". The system will speak through the speakers when a show is about to begin. It also tells on which channel.

http://fotoboek.vandulmen.net/domotica/ ... ations.png
http://fotoboek.vandulmen.net/domotica/ ... erview.png

I also integrated LIRC support. It's totally functional and working OK. I only need to integrate it into my TV-guide support so you can add automatich switching to a favorite show when it is about to begin (and in combination with the notifications this is nice!).

http://fotoboek.vandulmen.net/domotica/ ... edsupport/

I added support for defining a sequence of LIRC actions to take. It also takes into account that certain devices aren't that fast in receiving the signals, so you can configure waiting times. You can execute the sequences on everything the system already supports. For example turning on everything when you get home, or turn off everything when you enable the security.

Another thing I have done is built a simple XML definition for defining a universalremote. The system then generates an interface for it:

http://fotoboek.vandulmen.net/domotica/ ... remote.PNG

On every button you can configure a sequence or a single command to send when pressing the button. So the above image controls my home cinema set, upc mediabox and my samsung TV! Works great. Time to get rid of my logitech harmony ;-)

Greetings!
Uriel
Member
Member
Posts: 96
Joined: Fri Sep 26, 2008 9:21 am
Location: Netherlands
Contact:

Re: My home automation project / software

Post by Uriel »

I have checked out your project and I must say I am impressed. I looks very good and from what I can see it looks like its easy to use for even a starter. Compliments! 8) 8)
Are you making it to be commercial software or just for yourself. I know I would defenitly like to try your software, from what I have seen it has almost all that I want in software for my home automation.
And from what I have seen there is yet much more to come and add.
airox
Member
Member
Posts: 214
Joined: Sat May 15, 2010 10:42 pm

Re: My home automation project / software

Post by airox »

Hi Guys,

Another update. Development is going steady. The remote interface is now complete for my infrared devices. I decoupled the remote interface. It now supports all sorts of actions behind a button. I also made some default styles for buttons. I'm going to add current value showers as well which will be ajax based. The whole remote interface is now optimized for the iPhone and iPad:
- Swiping will show you the next remote in the list showed at the top
- Indicator of currently send actions is at the top right
- Buttons can be configured as repeating buttons (when holding down your finger/mouse on the button it will start sending commands and stop when you release it, handy for volume and channel shifting)
- Using the application cache from HTML 5 so it is faster

For screenshots so far:
http://fotoboek.vandulmen.net/domotica/ ... rt/remote/

The way you configure a remote:

Code: Select all

<remote name="UPC mediabox">
		<row>
			<button name="On" type="on">
				<commands>
					<command remote="upc" code="1" />
				</commands>
			</button>
			<button name="Off" type="off">
				<commands>
					<command remote="upc" code="Off" />
				</commands>
			</button>
		</row>
		
		<row>
			<button type="plusmin" name="Volume" repeat="yes">
				<plus>
					<commands>
						<command remote="upc" code="Vol+" />
					</commands>
				</plus>
				<min>
					<commands>
						<command remote="upc" code="Vol-" />
					</commands>
				</min>
			</button>
			<button type="plusmin" name="Channel" repeat="yes">
				<plus>
					<commands>
						<command remote="upc" code="Chan+" />
					</commands>
				</plus>
				<min>
					<commands>
						<command remote="upc" code="Chan-" />
					</commands>
				</min>
			</button>
			<button type="plusmin" name="Page" repeat="yes">
				<plus>
					<commands>
						<command remote="upc" code="PageUp" />
					</commands>
				</plus>
				<min>
					<commands>
						<command remote="upc" code="PageDown" />
					</commands>
				</min>
			</button>
		</row>
</remote>
About publishing/selling the software ... I'm still not really sure about it. It will take loads of time which I don't have :-)
Gotta think about this...
Uriel
Member
Member
Posts: 96
Joined: Fri Sep 26, 2008 9:21 am
Location: Netherlands
Contact:

Re: My home automation project / software

Post by Uriel »

It's almost a shame, you really should do something with this. It suites the demands of most here on the forum I think. And with Dutch support possible I think it has some future. But I can understand your doubts, it will be a big project. Any way I will keep on following you and your project!
Post Reply

Return to “Home Automation Projects”