Help

Forum: System Design Forum ListTopic List
01. Aug 2008, 04:45 CET | Link

We were chatting here at SHN about this project - we are pretty excited about it. We had an idea that the community may be interested in. We would be willing to sponsor (via hardware and engineering time / communication at SHN) an iphone / ezsrve open source development effort. The ezsrve is an ethernet enabled device, which has an API (sorry, copyrighted BUT it is available to the public, no development license required) based on XML. This API supports devices / links / scenes for Insteon and X10 devices. The ezsrve has macro and timer capabilities as well. It creates a simple abstract layer to Insteon and X10.

We are looking at doing some development towards an iphone app, but for these types of sw projects, we genuinely believe open source is the way to go. Let the community decide what is right. As I said, we would be willing to sponsor in the way of a free ezsrve for active developers (there will be a limit, we cannot have 100 active developers, we mean people really interested in coding / UI design / QC / etc...), plus a direct line for development from the developers of the hardware and api. We do listen and would consider features / changes to further enhance / support the open environment to the ezsrve.

Looking at the iphone development kit, it seems like it was developed for xml, and would be a good fit. So, if people are interested, let us know. I am still going to be investigating integrating ezsrve support into the controller unit (this would not replace that).

17 Replies:
01. Aug 2008, 05:03 CET | Link
Paul Niklewski wrote on Aug 01, 2008 04:45:

We were chatting here at SHN about this project - we are pretty excited about it. We had an idea that the community may be interested in. We would be willing to sponsor (via hardware and engineering time / communication at SHN) an iphone / ezsrve open source development effort. The ezsrve is an ethernet enabled device, which has an API (sorry, copyrighted BUT it is available to the public, no development license required) based on XML. This API supports devices / links / scenes for Insteon and X10 devices. The ezsrve has macro and timer capabilities as well. It creates a simple abstract layer to Insteon and X10.

We are looking at doing some development towards an iphone app, but for these types of sw projects, we genuinely believe open source is the way to go. Let the community decide what is right. As I said, we would be willing to sponsor in the way of a free ezsrve for active developers (there will be a limit, we cannot have 100 active developers, we mean people really interested in coding / UI design / QC / etc...), plus a direct line for development from the developers of the hardware and api. We do listen and would consider features / changes to further enhance / support the open environment to the ezsrve.

Looking at the iphone development kit, it seems like it was developed for xml, and would be a good fit. So, if people are interested, let us know. I am still going to be investigating integrating ezsrve support into the controller unit (this would not replace that).

Yeah, more hardware people! Don't say anything to the software folks but they speak a weird language. DOH! Did I just say that out loud ;-)

Our intent is have the iPhone software as open source. I think we're going to be a thorn in Apples side. BTW, my smart phone is a winders mobile 6 phone but no wifi.

It is my opinion that the way we're going to be developing things is that the iPhone app will not communicate directly with the end device. There was some talk about having some of the that intelligence on the remote but if we're going to be supporting a variety of end devices I think the logic needed will be too much for the remote. The server will handle that portion, that's its purpose.

Java folks am I close or am I shoot out the other end?

 
Neil Cherry, my Linux Home Automation site & My Blog
Author: Linux Smart Homes For Dummies
01. Aug 2008, 05:29 CET | Link
Neil Cherry wrote on Aug 01, 2008 05:03:

Yeah, more hardware people! Don't say anything to the software folks but they speak a weird language. DOH! Did I just say that out loud ;-)

Our intent is have the iPhone software as open source. I think we're going to be a thorn in Apples side. BTW, my smart phone is a winders mobile 6 phone but no wifi.

It is my opinion that the way we're going to be developing things is that the iPhone app will not communicate directly with the end device. There was some talk about having some of the that intelligence on the remote but if we're going to be supporting a variety of end devices I think the logic needed will be too much for the remote. The server will handle that portion, that's its purpose.

Java folks am I close or am I shoot out the other end?

Yes, you are correct. That's the job of the server. We're re-inventing the concept of a dumb-terminal from ages gone by... only now instead of a terminal, we're talking phones, pda's, remote controls... etc.

 

Add a little tequila... to your Java http://www.agaveblue.org

01. Aug 2008, 15:25 CET | Link
Paul Niklewski wrote on Aug 01, 2008 04:45:
We were chatting here at SHN about this project - we are pretty excited about it. We had an idea that the community may be interested in. We would be willing to sponsor (via hardware and engineering time / communication at SHN) an iphone / ezsrve open source development effort. The ezsrve is an ethernet enabled device, which has an API (sorry, copyrighted BUT it is available to the public, no development license required) based on XML. This API supports devices / links / scenes for Insteon and X10 devices. The ezsrve has macro and timer capabilities as well. It creates a simple abstract layer to Insteon and X10.

Paul,

Interesting proposition. I do agree that developing a native Insteon (PLM) driver at this point is not really worth the time, but many here believe it is important.

Currently I'm using an ISY-99 in combination with a PLM, which has finally made my Insteon investment pay off. I see a lot of parallels between the ISY and the EZsrve and am curious how similar the web services are.

At this point I see the ISY as a more expensive ($299 vs $209) option with more features, the difference include (copied from the UDI forums).

  • Ability to set a static IP address
  • Ability to use ISY to configure all your INSTEON devices/scenes
  • Ability to use ISY to create most sophisticated programs based on events
  • Ability to integrate your ISY with ELK
  • Ability to access ISY securely (using HTTPS and your own certificate) via 95% of the mobile phones
  • ISY supports almost all of INSTEON devices out there including the thermostat, IRLinc, and even some of SHN's devices.

This list of course assumes that the actual basic functionality of the two devices are the same. I don't know.

Either way, I think that both of these solutions are better than a native Insteon driver, and that both should be supported.

01. Aug 2008, 15:48 CET | Link

Actually, based on the response from Neil and Wade, I better understand the architecture design. I do think a PLM interface makes sense as well - it is the cheapest option (60 USD), and if the server is doing the lions share, then a device like the ISY or the EZSrve may be redundant hw and code... I'm not a good salesmen, but why pay 209 USD for a device that will give the same end user experience as a 60 USD device?

The PLM makes sense because it is a direct serial interface to Insteon at a good price point. There are some complexities, but they can be overcome. I assume macros / events / timers / etc.. will be controlled by the server, so the item that the EZSrve would bring would only be an XML API abstraction to the PLM (developers would like this, end user wouldn't notice). We just mentioned the EZSrve because we are trying to see how we can fit in to the project. I already see a few spots for us, using the EZUIRT for example that is an IR receiver and SENDER via insteon, sensors / monitoring (such as the EZIO line) and some other devices end materials.

For the differences, they are not 100% accurate (but i really don't won't go into a sales pitch - this is DEFINITELY not the place for me to sell our stuff - so only a couple lines), but we can set a static IP address, control devices/scenes, events, we are HTTP based - so an HTTPS phone can access and we do support most Insteon devices with the big gap being the thermostat coming in the next release - we don't support the ELK integration... That said, the ISY is a capable device - not sure on the API for it (truly uninformed), so I don't know how server integration would go.

01. Aug 2008, 15:49 CET | Link

I heard your interview with Digital Lifestyle, so you aren't catching me off-guard with any of the comments here.

Ben Drawbaugh wrote on Aug 01, 2008 15:25:
Either way, I think that both of these solutions are better than a native Insteon driver, and that both should be supported.

How do you see this working? Are you wanting to fragment the UI and support both the OpenRemote interface system and the ISY interface as well? I guess I'm confused? Or are you just suggesting that the OpenRemote UI should use the ISY instead of a native Insteon driver?

If you are suggesting the former, then I'm thinking why not just use OpenRemote's interface for some things, and then use the ISY interface for other things, and just keep them separate?

And if you are suggesting the latter, then if you are using OpenRemote's UI either way, why does it matter if the OR UI is communicating to the hardware via an Insteon driver vs the ISY. I'm not trying to be critical here at all (so please don't read this with any of that sort of tone)... I'm merely trying to understand where you are coming from here. Is there something the ISY provides that can't be re-created within OR using say Neil's driver (and thus save users $200+)?

 

Add a little tequila... to your Java http://www.agaveblue.org

01. Aug 2008, 19:23 CET | Link
Wade Wassenberg wrote on Aug 01, 2008 15:49:
How do you see this working? Are you wanting to fragment the UI and support both the OpenRemote interface system and the ISY interface as well? I guess I'm confused? Or are you just suggesting that the OpenRemote UI should use the ISY instead of a native Insteon driver? If you are suggesting the former, then I'm thinking why not just use OpenRemote's interface for some things, and then use the ISY interface for other things, and just keep them separate? And if you are suggesting the latter, then if you are using OpenRemote's UI either way, why does it matter if the OR UI is communicating to the hardware via an Insteon driver vs the ISY. I'm not trying to be critical here at all (so please don't read this with any of that sort of tone)... I'm merely trying to understand where you are coming from here. Is there something the ISY provides that can't be re-created within OR using say Neil's driver (and thus save users $200+)?

I'm suggesting using the ISY (or EZServ for that matter) as a Insteon device management tool and middleware to eliminate the need for an Insteon driver.

I see NO reason to use the ISY UI for anything other than adding/removing device and configuring scenes.

The reason I say this is because before I bought the ISY I was convinced that Insteon was flawed by designed, and garbage. I have since been convinced that only the SDK and development support is. The way I see it, is that developing a native Insteon device driver must be so complicated (based on how many companies that do a bad job of it including Smart Home themselves) that it isn't worth our time, when even a notice developer like me could just write a driver to interface with the ISY or EZServ web service.

That being said, if it was possible to easily duplicate what UDI and SHN have done, then it'd be great to eliminate the need to spend the extra $150-200. It's not that I don't have faith in anyone's ability to code, it's just that I don't have faith in Smart Home to give anyone the necessary tools to achieve it with a reasonable about of effort.

01. Aug 2008, 21:24 CET | Link
Ben Drawbaugh wrote on Aug 01, 2008 19:23:
I'm suggesting using the ISY (or EZServ for that matter) as a Insteon device management tool and middleware to eliminate the need for an Insteon driver. I see NO reason to use the ISY UI for anything other than adding/removing device and configuring scenes. The reason I say this is because before I bought the ISY I was convinced that Insteon was flawed by designed, and garbage. I have since been convinced that only the SDK and development support is. The way I see it, is that developing a native Insteon device driver must be so complicated (based on how many companies that do a bad job of it including Smart Home themselves) that it isn't worth our time, when even a notice developer like me could just write a driver to interface with the ISY or EZServ web service. That being said, if it was possible to easily duplicate what UDI and SHN have done, then it'd be great to eliminate the need to spend the extra $150-200. It's not that I don't have faith in anyone's ability to code, it's just that I don't have faith in Smart Home to give anyone the necessary tools to achieve it with a reasonable about of effort.

Admittedly, I haven't delved into the Insteon protocol(s) yet, so you could be absolutely right that it is just so complicated that it is hard for anyone to write anything good against it... however, if I get my hands on an ISY, it's possible I can snoop the protocol and figure out how it does its thing, and replicate that as opposed to following whatever Insteon has published. We'll see.

 

Add a little tequila... to your Java http://www.agaveblue.org

01. Aug 2008, 22:20 CET | Link
Wade Wassenberg wrote on Aug 01, 2008 21:24:
Admittedly, I haven't delved into the Insteon protocol(s) yet, so you could be absolutely right that it is just so complicated that it is hard for anyone to write anything good against it... however, if I get my hands on an ISY, it's possible I can snoop the protocol and figure out how it does its thing, and replicate that as opposed to following whatever Insteon has published. We'll see.

There are lots of avenues here, and that is definitely one of them. Another one might be to contact UDI and see how open they are to working together. The entire device is built on Java and is nothing more than an little embedded HA controller.

I know I sound like a ISY fanboy at this point, but I'm telling you after mucking with other Insteon software for two years, I really was about to throw away (read ebay) $2k worth of switches and cut my loses, it was that bad.

01. Aug 2008, 18:58 CET | Link
Paul Niklewski wrote on Aug 01, 2008 15:48:
Actually, based on the response from Neil and Wade, I better understand the architecture design. I do think a PLM interface makes sense as well - it is the cheapest option (60 USD), and if the server is doing the lions share, then a device like the ISY or the EZSrve may be redundant hw and code... I'm not a good salesmen, but why pay 209 USD for a device that will give the same end user experience as a 60 USD device?

This is my current thinking also, it seems silly to spend the extra money to have functionality that must be in the OpenRemote core program. The ISY will have similar functionality that must be built into the OpenRemote core program. We're also going to be able to support talking to more than one PLM. So the logic needs to be back in the core to handle this. This will get around the Insteon limit to cross linked devices.

This doesn't mean we won't support the ISY. Under the Misterhouse project we had support for all sorts of redundant devices. That's the beauty of Open Source. Have an itch, scratch it then share the solution and it may help someone else. Nobody gets left out.

The PLM makes sense because it is a direct serial interface to Insteon at a good price point. There are some complexities, but they can be overcome. I assume macros / events / timers / etc.. will be controlled by the server, so the item that the EZSrve would bring would only be an XML API abstraction to the PLM (developers would like this, end user wouldn't notice). We just mentioned the EZSrve because we are trying to see how we can fit in to the project. I already see a few spots for us, using the EZUIRT for example that is an IR receiver and SENDER via insteon, sensors / monitoring (such as the EZIO line) and some other devices end materials.

For the initial attack on Insteon I'm still recommending that we go with the PLM. We need to have that complexity in the Insteon controller (java software) anyway. We are still limited in numbers but that doesn't preclude others from writing the code (scratch that itch).

Eventually we'll be interfacing to similar devices (http/https/upnp etc.) and someone will have written something that can be used as a skeleton for such software controllers.

 
Neil Cherry, my Linux Home Automation site & My Blog
Author: Linux Smart Homes For Dummies
01. Aug 2008, 19:03 CET | Link

I agree 100%. Having coded for the PLM before, if you have any questions or need some help, let me know.

01. Aug 2008, 19:42 CET | Link
Paul Niklewski wrote on Aug 01, 2008 19:03:
I agree 100%. Having coded for the PLM before, if you have any questions or need some help, let me know.

The PLM is much easier than the PLC (USB and serial, still a sore point with me and Insteon since the first hardware version). But don't worry there will be questions and we will ask.

 
Neil Cherry, my Linux Home Automation site & My Blog
Author: Linux Smart Homes For Dummies
03. Aug 2008, 18:57 CET | Link

Hey Paul,

Thanks for reaching out. I was thinking about this and it seems that having a good insteon implementation is no mean feat and what gives you and UDI an edge in the field. If you can think of a way for the OR community to work with SHN in a way that benefits you, we would love to hear it. Maintaining an O/R software stack under GPL to talk to the PLM seems to be a priority. Having that effort jump-started with a quality contribution could be very interesting. There are many ways to skin that cat, just want to keep the communication open.

Clearly we need an implementation that can be used for free, GPL style, if we are going to distribute it with the rest. That is about the only requirement really, at this stage. Is that something you think you can do? That would be compatible with your model?

03. Aug 2008, 19:16 CET | Link

In regards to your statement, I can make a statement to ALL open source projects.

The API is copyrighted - meaning, you can use and implement a driver / interface, but if you wre to design an Insteon controller like the EZSrve, you can't copy the EZSrve API side (basically, this protects our investment on the HW/Firmware side). Any open source project or personal project can use the API to interface to the EZSrve, no charge / royalties.

Everything on the OR side can be GPL. We have a very BASIC, VB app (no pun intended) on sourceforge we developed as a stop gap for adoption from other vendors, and that still is licensed under the GPL. So, no issue for anything WE develop for the OR team or the OR team develops being GPL'ed (sans the embedded firmware of course).

The API is free and public, share it, give it away, mail it to your friends.

For community projects, we are available for detailed free development / tech support. We would consider sponsoring a project in terms of free hardware, depending on the shape of the project.

What we get out of it is another sw package supporting our products. Win / Win.

If it becomes a commercial project, where the SW becomes a salable good AND no longer under an open source license, then we can talk with that team and work out an arrangement on a case / case basis.

04. Aug 2008, 17:46 CET | Link

Paul,

You wouldn't happen to have/know where I can get a CM11A that I can purchase relatively cheaply. My CM11A seems to have died on me. And although it is our intent on O.R. to support the CM15A, I'd like to continue to support CM11A as well (so that people who already possess one, can substitute it in if they'd like), but I need a working CM11A in order to regression test as I work on the CM15A, etc.

Thanks.

 

Add a little tequila... to your Java http://www.agaveblue.org

04. Aug 2008, 17:58 CET | Link
smarthomeusa.com is the cheapest I know of, at around 42USD or so.

I did a quick ebay, and you are looking at around 19USD plus 8USD shipping in the states for buy it now (probably the cheapest you will find)

http://cgi.ebay.com/X10-ACTIVEHOME-Software-RCA-Interface-HC60RX-CM11A_W0QQitemZ310071752939QQcmdZViewItem?hash=item310071752939&_trkparms=72%3A1031|39%3A1|66%3A1|65%3A12&_trksid=p3286.c0.m14.l1318
05. Aug 2008, 15:17 CET | Link

Paul, have you considered writing an xPL connector for your EZSrve Insteon/X10 gateway?

There are a whole bunch of (mostly Windows based unfortunately) connectors listed here: http://wiki.xplproject.org.uk/index.php/XPL-enabled_Devices

INSTEON modems seem to be missing though, what I found is this: http://www.xpl-home.org/forums/viewtopic.php?t=511&highlight=insteon

05. Aug 2008, 17:03 CET | Link

Definitely looked at it - it is a question of resources. Currently it is on the nice to do list...

If anyone is interested - we can talk.

Creative Commons License Content on this website is licensed under Creative Commons BY-NC-SA 3.0.