Home Automation Control GUI interface in XBMC with API - Dimming the Lights and such?

  Thread Rating:
  • 1 Votes - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
nixterrimus Offline
Junior Member
Posts: 13
Joined: Oct 2008
Reputation: 0
Question  XBMC related internship? Adding lighting control to XBMC.
Post: #16
Next semester, I'm not returning to my school as a full time student (although I will in the fall). During the spring semester, I'm pursuing web development and design. One of my professors in the Computer Science department said that I might be able to make my XBMC light dimming project an internship, provided I have someone to report to, clear well defined goals, and timelines. I'm willing to pursue lighting-XBMC integration beyond my limited goal (turning lights off when a movie starts), perhaps to the point where I approach a level of home automation. I have a thread about this here: http://forum.xbmc.org/showthread.php?tid=39550 I've already shown some progress. For all of this to work, I need a mentor, someone who has documented experience in XBMC or another prominent open source my project.

Here's how I see my project, there's three major soft components- the software that takes XBMC events and does something with them, the code that resides on the micro-controller, and the plugin that allows XBMC interfacing. The listening software I'm working on in Ruby. I'm working on developing a complete Ruby Gem for listening to and controlling XBMC. The micro-controller code is written in C for the arduino (although I do have some experience with assembly, if it comes to that). The plugin code would have be written in Python, I have no python experience, but I'm a quick learner.

Would anyone be willing to discuss being my mentor? If you are, drop me a line.

Nicholas Rowe
Nixterrimus at Gmail
(This post was last modified: 2008-11-17 23:07 by nixterrimus.)
find quote
sicon99 Offline
Member
Posts: 67
Joined: Oct 2008
Reputation: 0
Post: #17
not sure if u have done programming but its usually fairly easy to pick up new languages if u have the general jist of it.
find quote
nixterrimus Offline
Junior Member
Posts: 13
Joined: Oct 2008
Reputation: 0
Post: #18
sicon99 Wrote:not sure if u have done programming but its usually fairly easy to pick up new languages if u have the general jist of it.

I know and love java, my ruby is coming a long, I've written assembly and Lisp. So, I have some experience. The ruby community seems to feel that ruby and python aren't so dissimilar that it's impossible to make the leap, so I'm confident from that I could do it.
find quote
sicon99 Offline
Member
Posts: 67
Joined: Oct 2008
Reputation: 0
Post: #19
I have done bunch of java, bit of c, bit of php, tuns of html web stuff, bit ofperal ect.. not to much python, but im sure you could figure it out, im done school in a month so maybe ill plunk away at some of this with ya.
find quote
ficklma1 Offline
Junior Member
Posts: 1
Joined: Nov 2008
Reputation: 0
Post: #20
I've been using Insteon for over 2 years now. It's great and has improved over the 2 years I've been using it. More and more Insteon compatiable devices are being introduced, seems like every quarter now (i.e. thermostat control, keypads, light switches, contact closures for doors/windows, motion detectors, etc.)

I'm currently using the following with my 24/7 PC:
http://www.smarthome.com/2412S/PowerLinc...ial/p.aspx

with PowerHome(software to communicate with Insteon PLM):
http://www.power-home.com/

The great thing about this, is PowerHome has a UDP socket server for sending and listening to external applications - for example XBMC =)

All of the automation is accomplished with PowerHome, which can communicate with just about any home automation controller out there.

It would be great to have UDP integration with XBMC and PowerHome.

What I'd personally like to do is build a custom XBMC screen to control the lights and themostats, etc. from a touch panel PC running XBMC.

I'm currently running PowerHome to do my home automation, but I'm looking for a front end to control my music, video and have the ability to build a custom screens integrate lighting control.

A cool scenario that I've been able to accomplish with PowerHome and Insteon is -
I have a Insteon motion detector at the entrance of our home theater, so when the kids approach, I have PowerHome pause the current movie and turn the light from 15% dim to 60% dim. This is just one of my many scenarios, but once you start thinking of what to do next, the options are almost limitless.

Anyway just thought I'd add my 2 cents.
find quote
Rand Al Thor Offline
Collect3 Project Manager
Posts: 916
Joined: Jul 2005
Post: #21
ficklma1 Wrote:I'm currently using the following with my 24/7 PC:
http://www.smarthome.com/2412S/PowerLinc...ial/p.aspx

with PowerHome(software to communicate with Insteon PLM):
http://www.power-home.com/

Are you pretty happy with Power Home? How does it compare to Mister House and Homeseer? What about the web interface? How customizable is the web interface? Could it possibly be customized to the point that it could match your default xbmc skin? This might be the easiest way to get a homeautomation interface. The ability to launch external programs (ie a web browser) is already available through a plugin and will probably be natively supported in the near future. You could just label the item "home control" and launch the web browser with the url to your web interface added as a parameter.
find quote
waldo22 Offline
Donor
Posts: 764
Joined: Sep 2007
Reputation: 2
Location: Chapel Hill, NC, USA
Post: #22
Again, this:

http://www.smarthome.com/2412N/SmartLinc...ler/p.aspx

Is what you want. (the 2412N, as in Network, not the 2412S, as in Serial)

It has a built-in web server, and plugs in to your Ethernet network (or wireless router), so all you have to do is post http data to the internal web server in this thing to make things happen. We know that XBMC can already send this type of data.

So, set up a page on the PMIII skin (or your own skin) where people can enter the IP of this control device and their desired settings (ie. dim the lights when the movie starts, or turn off the lights when I press button "x"), then when the appropriate event occurs on the XBMC event server, or when you press the defined button on your remote, XBMC sends the appropriate command to the IP of the device over http, and magical things happen.

@ ficklma1, the one you posted is a serial device (RS-232) that has to have a PC on AND running their PowerHome software in order to work. The networked one needs no PC, and has the appropriate software built-in to the web interface inside the device.

Granted, it's twice the price at $120, but everything we need to make this work is built right in.

Basically, this thing translates data from your network, which you post via http, into Insteon commands on your power lines.

Thoughts?

PS This also works with X-10 modules, so you would get the two most popular home automation standards for the price of one...
(This post was last modified: 2008-11-26 16:18 by waldo22.)
find quote
miamiwice Offline
Member
Posts: 91
Joined: Mar 2008
Reputation: 0
Post: #23
What about for the serial controlled devices? Would it be possible for xbmc to send events out of COM1?
find quote
Rand Al Thor Offline
Collect3 Project Manager
Posts: 916
Joined: Jul 2005
Post: #24
I'm thinking that a few of us that are interested in this anyway and are likely to spend the cash on this type of product regardless, should start working on either plugins, scripts, or just sacrifice an extra "settings" page in a custom skin to add support for whichever device we are using. Then we could each add guides, findings, bugs, to the wiki so there would be an assortment of different products that would work with xbmc. I think I will be picking up the insteon smartlinc in the near future and I plan on incorporating controls for the device into the skin I am currently working on.
(This post was last modified: 2008-11-26 22:05 by Rand Al Thor.)
find quote
waldo22 Offline
Donor
Posts: 764
Joined: Sep 2007
Reputation: 2
Location: Chapel Hill, NC, USA
Post: #25
miamiwice Wrote:What about for the serial controlled devices? Would it be possible for xbmc to send events out of COM1?

What devices are controlled via serial?
find quote
b7ll Offline
Junior Member
Posts: 41
Joined: Nov 2008
Reputation: 0
Post: #26
waldo22 Wrote:What devices are controlled via serial?

You can get x10 controllers that are controlled through serial or usb. This would get my vote !!
find quote
waldo22 Offline
Donor
Posts: 764
Joined: Sep 2007
Reputation: 2
Location: Chapel Hill, NC, USA
Post: #27
b7ll Wrote:You can get x10 controllers that are controlled through serial or usb. This would get my vote !!

I thought that the poster was talking about X-10 controllers that control electrical/electronic devices via serial.

I don't think it is practical to support those with out a LOT of work. You would have to program a script (or XBMC itself) to directly access a COM port, and this would limit our support to Linux and Windows.

If we use one of the Internet devices, not only do we not have to bother with accessing our machine hardware, we don't have to plug it in to our XBMC machine at all. (an X-10 controller that is controlled by serial would have to be plugged-in to our XBMC machine, in addition to us having to learn how to format and send the appropriate commands to it.)

Finally, the device with the built-in web server (the insteon 2412N) would support all XBMC platforms, including MacOS and Xbox.

I'll try to purchase one and see if I can list the form commands that need to be sent to it.
find quote
miamiwice Offline
Member
Posts: 91
Joined: Mar 2008
Reputation: 0
Post: #28
Most lighting control that's out there is serial because it was developed several years ago for home automation systems that only communicated serially. Upb x10 and several others use it. The powerline adapters used for these are serial. All they would have to do is make the adapters with a network interface but their main market is home automation. The newest versions coming out usually are tcp/ip or udp based, so I'm sure there's a lot more to come, but right now there is a HUGE serial controlled installed base.
find quote
waldo22 Offline
Donor
Posts: 764
Joined: Sep 2007
Reputation: 2
Location: Chapel Hill, NC, USA
Post: #29
@miamiwice,

I think I'm mis-communicating this somehow.

The only device that was serial in the past is the controlling module (X-10 firecracker for example) that you send the commands to in order to get it to relay those commands to the other modules that you want to control.

Quote:The powerline adapters used for these are serial.

The X-10 modules don't communicate with each other using the RS-232 protocol, they use the X-10 protocol. I guess I don't understand what you mean. The only adapter that is serial (RS-232) is the one that you send commands to via your computer. I think we both understand this, right?

Quote:...but right now there is a HUGE serial controlled installed base.

Again, I don't really understand what you mean. I'm sure a lot of people have serial control modules, but it's just one module, not a whole house of modules that would have to be replaced...

The Insteon 2412N that I keep mentioning uses TCP for control. (well, it uses a web page, so you send commands to it over http.)

I think we both understand that, too.

The point is that the Insteon device supports both Insteon modules AND all devices that use the older X-10 protocol.

Therefore, all you have to do is replace ONE adapter, the serial control module, with the new http Insteon module, and you're done. Now your "installed base" is http instead of serial.

I guess what I'm saying is, if your home automation uses the X-10 protocol or the Insteon protocol, you need to spend $120 and buy this adapter, and we can make it work easy as pie.

If you're concerned that the people who have serial control modules don't want to spend $120 on ONE module that could do all of this, I think you're mistaken.

It will just be too much work to control an RS-232 controller via a computer when all you have to do is send http data to this new device, and you have backwards compatibility with all of your old X-10 devices.

-Wes
find quote
b7ll Offline
Junior Member
Posts: 41
Joined: Nov 2008
Reputation: 0
Post: #30
waldo22 Wrote:@miamiwice,

I think I'm mis-communicating this somehow.

The only device that was serial in the past is the controlling module (X-10 firecracker for example) that you send the commands to in order to get it to relay those commands to the other modules that you want to control.



The X-10 modules don't communicate with each other using the RS-232 protocol, they use the X-10 protocol. I guess I don't understand what you mean. The only adapter that is serial (RS-232) is the one that you send commands to via your computer. I think we both understand this, right?



Again, I don't really understand what you mean. I'm sure a lot of people have serial control modules, but it's just one module, not a whole house of modules that would have to be replaced...

The Insteon 2412N that I keep mentioning uses TCP for control. (well, it uses a web page, so you send commands to it over http.)

I think we both understand that, too.

The point is that the Insteon device supports both Insteon modules AND all devices that use the older X-10 protocol.

Therefore, all you have to do is replace ONE adapter, the serial control module, with the new http Insteon module, and you're done. Now your "installed base" is http instead of serial.

I guess what I'm saying is, if your home automation uses the X-10 protocol or the Insteon protocol, you need to spend $120 and buy this adapter, and we can make it work easy as pie.

If you're concerned that the people who have serial control modules don't want to spend $120 on ONE module that could do all of this, I think you're mistaken.

It will just be too much work to control an RS-232 controller via a computer when all you have to do is send http data to this new device, and you have backwards compatibility with all of your old X-10 devices.

-Wes

That would be awesome if it could control my existing x10 gear. Equally, If I had an x10 serial unit (which i was considering, until i read you can control it from a web interface with something else and a lot of people have already), I wouldnt mind running some kind of windows service on my pc, that xbmc could talk to over a web interface, and translate the signal to x10 (serial).
find quote