Anyone interested in new software / open source contributions

shenandoah75

Active Member
I had long ago tried to submit a poll and the whole forum crashed and in the end my polls were all all shot. The goal was to gauge interest in new choices for HA software. As i've seen on a couple of recent posts (and with all do respect to those trying), i think too many people are out of touch with what people want and/or what already exists. I don't want to pursue this is there's no interest... As a DIY omeowner, i have a vested interest in doing it right (esp for myself) and i know what works for me and wht doesn't, where i have gaps to fill, etc

That said, I've been working infrequently on java and c based apis into the elk (currently via unsecured tcp/ip only). Johnnynine has been working on the viziarf integration...

I know johnnynine is already a CQC user, so this may fall on deaf ears there, but i'm wondering if anyone here would be interested in building a standards based solution which is portable to multiple platforms (to overcome the windows dependancies i personally hate). Whether we try to make a profit or make it open source, i'm open for discussion... But i believe open sourcewould be a win/win for all and the best way to bring well intentioned people together...

My specialty/interests lie in backend stuff and my goal is to build the backbone and build it well. I would love to entertain some folks will to chip in especially in devleoping kick-butt UI shells (prefereably again in Java/etc) to interface with. I currently have my apis in both languages talking to elk on a very limited basis but with a little weekend time could get them more advanced pretty quickly. I can either use flat file or DB for storing elk's representation to something much more friendl with the goal being the UI integration could just plop on top fairly easily... I'm willing to listen to other suggestions (python / etc)

But where i struggle is in the realm outside elk. Obviously we can build apis for onkyo / etc and any other device (and i ackowledge we're reinventing the wheel in some cases). But spreading out the work i think could make it doable and rewarding for all who participate. I think we can leverage existing packages which are alredy published / openinterfaced (i.e. slimserver for music distribution) without reinventing everything.



thx for listening and any commentary you can offer either way... I may be totally alone in this and if so, that's ok and i'll chug on with my current piecemeail stuff working on something better with a product that works in my own house if i'm lucky in 5-10 years ;)

-brad



BTW I am not out to make any of the for-profits look bad. But i went through the decision process like many here and in the end i could not justify paying that amount of money for the limitations (at least what i felt amounted to such) of any of those packages (be it in O/S choice / proprietary vs openness / gui / licensing /etc ). That holds true be it at any of the prce levels from $50 to a grand - so i'm not just saying this in regard to the larger packages. Plutohome / misterhouse offer interesting but in my opinion still fall short solutions when stacked to the larger windows-based offerings. I just want something better and admittingly i want it cheaper even if timewise it costs me to deliver.
 
Have you looked at helping vaugh/vcrib, or (now i'm stretching) a few of the others I saw here/avsforum? I know there were 2 other folks starting down this path several months->a year ago for similar reasons, they may have done some research and come up with a plan.
 
...
Plutohome / misterhouse offer interesting but in my opinion still fall short solutions when stacked to the larger windows-based offerings.
...

Ouch! Now you've done it! "Fall short" are fightin' words!

Misterhouse is free, open-source, and has a lively user/developer community. It supports a broad array of devices and technologies ... from the mundane to the arcane. Its feature list is no slouch and you can extend it yourself (OK, you will need to learn Perl).

I wish you well in your quest for the Holy Grail of Home Automation.
 
I knew i'd offend somebody and seriously, that's not my intent and apologies

fyi - on misterhouse... feature list (at least in my previous glances) seemed to be missing a couple of key things i would want (and this is from my focus, not everyones i ackowledge): elk (and/or hai) integration (although it lists other panels and maybe the generic serial comm support is enough), doesn't seem to list music/audio playback nor A/V integration from what i can tell. I will dig deeper though...

The x10 support in my opinion (and again totally my opinon one i can't backup well) does to me what seeing "windows-based" or "vista-compatable" does. It just gives it a less "professional" edge. I know i'm probably crazy on tis point. And i know if i only focus on technologies i use (and leave out things like x10) anything i could produce would be just as open to critics ;)

thx for the feedback... If i could take all the pros and drop the cons from each available package out there today, we would have the holy grail. I think it's unfortunate that there's so much divergance and that users have to settle for something far short of what they want and could get (kind of like presidential races).
 
I knew i'd offend somebody and seriously, that's not my intent and apologies
...
If i could take all the pros and drop the cons from each available package out there today, we would have the holy grail. I think it's unfortunate that there's so much divergance and that users have to settle for something far short of what they want and could get (kind of like presidential races).
FWIW, not trying to stoke the flame, but my personal view on the packages out there is that CQC really is the only complete package out there. It's only real con is the price, and I don't really see how other packages out there are serious competitors for the higher-end HA/HT space.

Given that I'm either closing in on, or have recently exceeded, $20K in HA/HT costs excluding display devices, the few extra hundred for CQC in exchange for the time it saves me with without having to learn command structures or any coding is well worth it.

But again, that's my point-of-view, and what I value. Your value proposition is different, so of course for you the above may be entirely true.
 
This has come up a few times and it never seems to go anywhere. I like the idea but from my experiene Java is way to slow for a HA application and I don't know C or C++ enough to really help other than finding a bug now and then. My language of choice is .net which is not totally cross platform ready at this time. If you were to get a project started I am sure you would pick up a programmer or two along the way to help the project grow. But I think a group effort right off the bat is not likely to happen based on previous discussions.
 
If I could take all the pros and drop the cons from each available package out there today, we would have the holy grail.

A good first step might be to create the "master feature list" for this Holy Grail. This would not only better define your project but also might serve as a reference for existing programmers who are considering what features to add to their current offerings. I expect if you started there that you would get a lot of participation and input from this board. Maybe create a Master Feature List document, populate it with your priorities, and then share it and ask for additional input.

I like the idea of not only listing a feature, but also what existing package it is already implemented in as a "good example".
 
I do have CQC, but I vastly under use it, and paying the maintenance fee has been concerned since I don't really do anything with it at this time. I did quite a bit of work and posted some free cqc templates back when there really weren't may to choose from, but other than that I don't do much with it. I need to see how I can change that at a low cost.

Two of the great things about CQC are the # of devices supported and the fact that it is a distributed network application I'd be a long time before you could get even close to what cqc offers unless you had some dedicated people working full days on it. Granted I assume you are not looking for a cqc replacement, but that's just my 2 cents.

As for my application, I still haven't ironed out the future of it. The Vizia RF API has turned out pretty well and I plan to release it separately from the actual gui application. This is all written in C# which is my language of choice. Java is a fine language as well, but I just have more experience with C#.
 
Well for me using Netremote/Girder 5/JRMC is fine. It was a one time cost and does client/server very well. I have a 5 zone whole house audio system with light control, weather, phone log, ect. I can access it from as many clients as I would like. Would I like a free setup that could do as much... yes if it worked as well. I don't have those maintenance costs with my setup like CQC users and its was way less than 1/4 the price. Lastly whatever I replace it with needs to be able to support the hardware I use like the Slink-e (which Girder 5 does).

I have often told Promixis that I think a client version of Netremote written for Linux would be awesome. That way you could use cheaper touch screens for those and still run a Windows based server if you want.

John
 
"CQC really is the only complete package out there. It's only real con is the price, and I don't really see how other packages out there are serious competitors for the higher-end HA/HT space."

;)
 
I knew i'd offend somebody and seriously, that's not my intent and apologies

fyi - on misterhouse... feature list (at least in my previous glances) seemed to be missing a couple of key things i would want (and this is from my focus, not everyones i ackowledge): elk (and/or hai) integration (although it lists other panels and maybe the generic serial comm support is enough), doesn't seem to list music/audio playback nor A/V integration from what i can tell. I will dig deeper though...
...

No offense taken.

There are far more experienced MisterHouse users than myself but I'll hazard a guess that we'd all agree to the following:
  • Documentation is not its strong point. Most everything I've found is several years old and does not reflect the current MisterHouse's abilities. The MisterHouse mailing list is where you'll find the latest and greatest. In other words, proficiency comes after a fairly substantial investment in time and effort.
  • MisterHouse is not a multi-threaded application and simply loops through all the code. It gets the job done ... but it is hardly ideal.
  • You'll need to learn Perl to get the most out of Misterhouse.
FWIW, see the How-To forum for my posting about ElkM1::Control, a module that enables to you control the M1 using Perl (and it works with MisterHouse).

I strongly believe an HA app needs to support an interpreted scripting language. There's a good thread underway on the MisterHouse forum on next generation HA apps. One suggestion is that it should have a compiled core (in C#) with IronPython as a scripting language. Whatever the language(s), a multi-threaded scheduler/dispatcher (running as a service) with a scripting engine, is a sound approach. Make it work with Windows Media Center and you'll have a large audience.

IVB is 100% right on the money angle. If you drop hundreds or thousands on PLC modules, why would you go cheap on the software that drives it all? If the goal is to develop free HA software then it should definitely support inexpensive PLC modules (i.e. X10 protocol). Otherwise, you're missing the target market ... people like me who don't see HA important enough to drop any serious coin into it (no disrespect to those who take it more $eriously than I do). Aside for my Elk M1, the rest of my HA system was built on a shoestring budget and that's by choice. An HP e-PC runs MisterHouse and drives several dozen SmartHome Switchlincs and a handful of 3COM Audreys serve as touchscreen/MP3 player/PA system ... a couple of hundred bucks, tops.
 
I've been thinking of creating an event engine that would support third party plugs-ins for easy expansion. Up front I could add a simple date/time plug-in an a ViziaRF/ZWave plug-in. I could then add a scripting language for more complicated rules. The catch though is it would all be in C#/.NET but if I wrote a simple COM+ exposed plug-in interface then I suppose the plug-ins could potentially be written with other languages (but the COM+ stuff probably wouldn't compile on linux for those of you interested in that).

I have a lot of experience with all of those aspects so it wouldn't take too much effort.
 
Well for me using Netremote/Girder 5/JRMC is fine. It was a one time cost and does client/server very well.

John


Thx John...

Trust me this combo was right up there with ML / CQC in my top three for my own purchase decision some time ago. The netremote concept was indeed cool. but for what ever reason the thing crashed repeatedly on me (on multiple boxes and multiple OSs(xp/2k/mobile). When i tried to roll it out to the mrs to get her feedback despite that, she nixed it in short order. I won't bore with details, but some of the template had serious bugs too. I'm sure i could fix and for the price differencial maybe that wouldn't be a bad idea. But unlike you, stability wasn't evident to me...
 
But unlike you, stability wasn't evident to me...


.. and that being said i'll begin my list for the holy grail which is actually pretty small all things considered:


#1: stabilty / rock solid platform is #1 above all features in my holy grail... Bells and whistles mean nothing to me. I'd rather have a character mode interface with a server package that runs 24/7 with 99.999999% uptime than something i ever have to reboot a single time because it crashes (read: netremote). 123's summary above is what i invision. A backend server/service probably multi-threaded and modular.

competition: i won't comment - of course everyone will claim to have this (save maybe the multi-threaded aspect) and i won't dispute it, other than to say if you don't meet #2, i think you must put an asterisk by your claim noting that your stability is at the mercy of the single O/S you run on.


#2: portability: i want choice for myself and others in this area. If you have no issues with windoze, by all means, we'll run on it. But if you (like me) struggle both at work and home with such a platform (be it flaws in the architecture or your video card drivers or whatever) and you believe linux,etc offers you a better H/A platform, by all means we should run on that too.

competition: i could be wrong, but i don't believe there is a "complete" package that offers this on the server side - meeting it partially in respect to the client (web-based or otherwise) doesn't count - again, my focus is the backend and achieving #1 here)


#3: standards based: goes hand in hand with #2. I hear the comments on java being a little slow and i hear the scripting proposal. But in the end i want both the backend and ui to be built using one or more languages that are open, port to multiple platforms, are relatively common and easy to extend.

competition: I do not know the underlying stack of all the packages, but ML's huge shortcoming for me was the reliance on flash... It is too rigid unless you are a flash developer or willing to people to develop it for you (esp on the music lobby side). Outside of the music package, i'd rather not pay a boatload of money for the gui packages either.



#4: elk: it should support and provide full access to ELK. Of course, i'm open to support HAI or others, but Elk is my platform and as such my focus is here. It should support ALL elk communications both up and downstream. (including modifying counters/customer settings)

competition: offered in varying degrees. CQC and ML obviously offer it and pretty darn completely although i believe i had put in an enhancement some time ago for either ML or CQC to offer update access to custom values. I also don't think the elk protocol supports updates to timers? (would be nice to have if that's correct). FYI: My use for the custom settings - i want an irrigation interface that lets me change the duration of each zone (i implement these via custom settings). output / task / PLC should be no brainers. Elk support in the promizis offerings seems limited at best and i was unable to do much of anything in a short trial un, though i believe others have and more native support is coming. As 123 says in regards to mister house, generic serial or TCP/IP communication can get part of this in other packages...



ok that's really it on my proposal for the server side... i told you it was simple, but indeed that's all i want.




After this, i believe all else (including GUI) is bells and whistles and we could add on whatever you want, but i think we need to be clear about what truely needs to go into the HA service and what can simply be GUI display. Note that my belief in hardware solutions over software means that most lighting/automation can be done via the Elk communication. I do not want / nor care for proprietrary lighting drivers/modules because the Elk handles all of it for me. Same goes for other load contrls, irrigation / etc. Firing any such thing them manually can be done via this app by triggering the outputs / tasks / lighting directly on the Elk itself. Sure someone will say, not everyone subscribes to that theory, nor does everyone have an elk, etc... But i would have a running 80-90% complete solution for myself with just this.

CQC / ML prevail in this regard but if we could build the core (and if it was open source / extensible), the potential is there to go well beyond this.

On the gui side, i would prefer it run in a browser and this is where i expect dissent. Ya the screenshots of ML / CQC are impressive. But again, i want portaily here as well and a web based app seems the easiest way to achieve it. OK, now you can slap me around on this one :)



So the other 10-20%?

#5 - audio distibution- In particular as i hinted above, i believe that we can leverage one or more existing technologies such as SlimServer for music distribution (which is already open eneded anyway). If we segregate the server / ui), the ui can bring together all the gui for multiple server interfaces (in this case one for this HA package, one for the music). I personally see no reason to try to merge much of this on the backend. I know that there are those who will discent, but i personally see no reason for my elk/security/HA to talk to my whole house audio. Others might want to automatically turn of music , etc from the central location, so this may be where modularizing it comes into play (which as i see it, both CQC/ML both seem to do quite well).

Regardless i think the UI pages can be developers to integrate with different servers/services instead of trying to integrate it all (esp at the beginning as long as the architechture is in place).

Comp: CQC/ML/NetRemote all offer varying levels of integration. ML requires jriver, netremote lets you choose from several, cqc lets you use their own, slimserver and i believe others.


#6 - wheather feeds - again i believe this could be a seperate module with the ability to build events firing off tasks / etc in the elk if desired. Though personally i don't think this is needed on the server side integration for H/A - just quick/easy gui access to the feed info. My elk events will be based on a physical temp sensor (kick on the pool pump when it is freezing). I don't think you want to base critical stuff on a feed that could fail...

Comp: netremote/cqc/ml all offer it


#7 - video distribution / cateloging - this is where i don't kow what to do. I think seperate the A/V solutions into slimserver and something else may be seen as a negetive for some rather than a single touchpoint for all media. For me this is not a priority. If Gate's prediction comes true that dvd/blueray are the last physical delivered formats, and feeds become reality, maybe it becomes a bigger issue. But right now, i'm happy using IR for my cable box and plopping in dvds.

comp: Cqc/ML offer it...




ok - that's my starter list:) Have at it...
 
I've been thinking of creating an event engine that would support third party plugs-ins for easy expansion. Up front I could add a simple date/time plug-in an a ViziaRF/ZWave plug-in. I could then add a scripting language for more complicated rules. The catch though is it would all be in C#/.NET but if I wrote a simple COM+ exposed plug-in interface then I suppose the plug-ins could potentially be written with other languages (but the COM+ stuff probably wouldn't compile on linux for those of you interested in that).

I have a lot of experience with all of those aspects so it wouldn't take too much effort.

I'd be interested in this Events Engine idea and I think if it was designed correctly could be a good starting point to a C# open source project. I was going to do this some time ago but could not figure out a good aproach.
 
Back
Top