| Forum: System Design |
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).

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 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?
Author: Linux Smart Homes For Dummies
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
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).
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.
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.
I heard your interview with Digital Lifestyle, so you aren't catching me off-guard with any of the comments here.
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
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
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.
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.
Author: Linux Smart Homes For Dummies
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.
Author: Linux Smart Homes For Dummies
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?
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.
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
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
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
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.