• You've been granted Beta access to this site, allowing you to explore some of the new features while they're still under construction. More information can be found in the Beta forum.

Chat Transcript 11/09/2005

electron

Administrator
Staff member
<Squintz> Hi Chris
<ChrisWalker> Hey all--sorry I'm late. I'm on my broadband cellular connection, and I was in a parking garage :)
<DeanRoddey> SO, let me start?
<ChrisWalker> Thanks, all, for coming.
<electron> I smell EVDO hehe
<ChrisWalker> Hey--please.
<electron> hey Chris
<Rustytek> hello chris
<ChrisWalker> Yep, EVDO. BroadbandAccess is a beautiful thing.
<EugHere> Even if the protocol was exposed as some sort of Win32 API, how would that help an embedded device?
<ChrisWalker> Hi Rusty--yes, you can talk about the SDK now.
<DeanRoddey> So, Chris, is this protocol only available via .Net?
<ChrisWalker> Okay, so if you have a question for me in particular, please start it with "Chris: " :) -- thanks!
<ChrisWalker> Dean--the first release is available for .NET. We have other versions available as well, for Z-Wave Alliance Members, friends, and partners.
<DeanRoddey> I.e. you have a low level, C'ish type DLL?
<ChrisWalker> It could happen :) But it's not something we're shipping today (i.e. November 9th).
<DeanRoddey> I think that, without that, the acceptance will be limited.
<ChrisWalker> One of the big points of our new Z-Wave PC SDK is that it's 100% object oriented, so it's super-simple to use.
<ChrisWalker> Hi Dean--I agree that a C++ implementation would be valuable.
<DeanRoddey> But we have an object oriented system, as would any other OO automation system. We don't need another one. We want something low level and which brings in the absolute minimum other stuff
<ChrisWalker> Dean--thanks for the comments. Please explain.
<ChrisWalker> BTW, have you bought your copy of the SDK yet and downloaded the v1.1 beta?
<DeanRoddey> Well, we would never, ever bring in .Net into our highly multi-threaded, service based object server.
<DeanRoddey> It just wouldn't ever happen. So we would want a low level, miminum interface that brings in as little other gorp as possible
<ChrisWalker> I know that a few of the participants in this chat have been playing with the SDK for a while, and should have some feedback, whatever it might be.
<EugHere> <DeanRoddey> Well, we would never, ever bring in .Net into our highly multi-threaded, service based object server. <<< Why is that?
<Rustytek> reliability is my #1 concern, the SDK eliminates my (user) errors
<DeanRoddey> If you have to ask, then the answer would be way too long
<EugHere> Yeesh.
<ChrisWalker> Dean, are you looking for a real-time home control protocol?
<DeanRoddey> Well, we already support Z-Wave in our product. We are just interested in whether this would be of use to us
<ChrisWalker> Oh, gotcha. Yes, it would be very useful. Shall I explain why?
<DeanRoddey> I understand why from a conceptual point of view. But if it's not packaged in a way we can use it, noen of that matters.
<ChrisWalker> [And remember, this product is for both the enthusiast and professional developer]
<ChrisWalker> Hi Dean--I want to make sure that some others in the chat have an opportunity to discuss things too--so let me answer that question, and let's welcome some other comments.
<ChrisWalker> I really appreciate yours.
<DeanRoddey> The basic jist of it, from a commercial automation point of view, is that every piece of third party code is a supoprt problem, always, without exception.
<ChrisWalker> Our Z-Wave PC SDK (.NET) is the first product in our line. It's designed for the large number of .NET developers who would like to easily add super-reliable Z-Wave support to their hardware.
<Chakara> Hey Chris, for us uninformed, how about a llink to what you want comments on?
<ChrisWalker> It is the first Z-Wave certified software product on the market.
<ChrisWalker> We went through a lot of work to ensure that we put out a very-high-quality product.
<ChrisWalker> Chakara: it's pretty free game here. Well, at least in relation to products :)
<ChrisWalker> Dean--here are some of the benefits of using the Z-Wave PC SDK:
<DeanRoddey> Everyone does, and I don't doubt you did, but it doesn't matter. It will be a support problem because we cannot control it.
<ChrisWalker> 1. It supports all versions of the Z-Wave Serial API, v3.2x (in the ACT controllers) through v4.02.
<EugHere> But if it was a C++ API, you could control it?
<DeanRoddey> No, but it would be a far smaller amount of gorp being included into our system.
<ChrisWalker> [just a second--must walk in hotel :) BRB]
<EugHere> I think you don't really understand how .NET works, but that's ok.
<DeanRoddey> I do very much.
<DeanRoddey> What I'd really like, is the controller protocol documented, so that we can talk to the controller, as we already do to the Act controller.
<EugHere> And you can't buy that information from the Z-Wave alliance or whatever it is?
<EugHere> I assume whoever Chris' employer is did that.
<DeanRoddey> I'm assuming that the new controller has a somewhat different protocol
<gordon> Dean, is it safe to say you don't want the overhead and support issues .NET would require in your product?
<DeanRoddey> Yes
<Squintz> I think its more of a "Not wanting to use 3rd party code" issue
<EugHere> Just out of curiosity, what do you base the assumption of increased overhead and support for .NET on?
<DeanRoddey> But, the reason we don't is for those reasons he mentioned
<Squintz> I am sure if dean wrote the .net DLL he may accept it more
<EugHere> A C++ API is third party code.
<ChrisWalker> O hey, I'm back :)
<ChrisWalker> Sorry, I must catch up.
<DeanRoddey> I understand that, and if we could talke to the controller I'd prefer that, but a C++ API is a much smaller, lighter thing
<Rustytek> with less functionality
<DeanRoddey> But we don't need that functionality. We have a fully OO automation product without our own object model
<EugHere> Actually, a .NET API is way smaller because almost everything is in the framework.
<Squintz> Chris: Are you aware the HomeSeer deleted your press release off their forums?
<gordon> and the framework is what, 50MB?
<ChrisWalker> I read Cocoontech fairly religiously, and I understand that someone posted it there and that it was removed--yes.
<EugHere> The framework is, these days, part of the OS.
<EugHere> And no, not 50MB.
<ChrisWalker> They're more than welcome to resell the USB controller, and the SDK. I think it would be great for their customers.
<ChrisWalker> I think it would also be excellent for them to use the library in their code.
<DeanRoddey> Chris: Is your API just wrapping the Zen-Sys API? I.e. is your controller's serial interface the Zen-Sys protocol?
<ChrisWalker> Dean--good question. I'm going to finish what I was saying really quickly, and then we'll get to that question, and to some others.
<EugHere> Dean, you need to understand that an API and a wire protocol are not the same thing.
<ChrisWalker> Anyway, there are a lot of benefits of using our new Z-Wave PC SDK.
<ChrisWalker> 1. It supports all Z-Wave API versions. For those who don't know, each version of Z-Wave adds new functionality and tweaks things. There are a bunch of really nice things happening.
<ChrisWalker> For hardware people, that's not a problem--since the Z-Wave chip is _in_ the hardware.
<ChrisWalker> For software guys, you want really good software guys doing that--because you need to stay on top of it and keep everything forwards- and backwards-compatible.
<ChrisWalker> 2. The new v1.1 release will likely support all Z-Wave device types--even some for which products haven't been announced yet, let alone come to market.
<ChrisWalker> 3. We do a _ton_ of work in the background to optimize for each version of the Z-Wave API. The network rediscovery, the polling intelligence, and lots more going on in there has been tested, and tested and tested.
<Rustytek> perhaps a list of the benefits may sway the timid i.e. healing networks
<ChrisWalker> In our 11,500 square foot test home.
<ChrisWalker> And in smaller test homes.
<ChrisWalker> In networks with hundreds of devices, etc.
<ChrisWalker> We spent the time and a significant amount of money making Z-Wave _really_ simple to implement.
<ChrisWalker> Think about it--where can you find a high-quality USB controller (the size of your thumb, basically) and a SDK for something like this for only $49.95?
<DeanRoddey> I can appreciate that. And it's great that DIY guys can play around with Z-Wave. But that's not going to increase Z-Wave's market, only commercial support will do that in a meaningful way
<Rustytek> all for less than HS sells the broken ACT controller for
<ChrisWalker> We took the Z-Wave technology out of our other products, so you're getting the same high-reliability of our high-end products.
<ChrisWalker> Dean, I appreciate your comments, and I will very respectfully disagree.
<ChrisWalker> We have had a bunch of companies approach us about using the Z-Wave SDK.
<ChrisWalker> Many companies are using .NET. If they're not, they're also very welcome to buy Zensys's excellent Z-Wave developers kit, and go through the standard Z-Wave Certification process.
<ChrisWalker> I am very pleased with the end-product, and am very happy that it is Z-Wave certified.
<ChrisWalker> Alright--who else has questions?
<DeanRoddey> What about my previous question? Are you just wrapping the Zen-Sys protocol?
<ChrisWalker> And just to clarify--this is an awesome thing for enthusiast developers, and it's also beautiful for incorporating very-low-cost Z-Wave support into commercial products. And it's great for adding Z-Wave support to custom home installations.
<Squintz> Chris: Who can get in on the beta testing going on now?
<ChrisWalker> Dean--our object-oriented SDK consists of the Intermatic USB Z-Wave Controller and our Z-Wave programming library for .NET.
<ChrisWalker> The programming library encompasses all of the low-level Z-Wave commands and also adds a whole lot of intelligence to make Z-Wave work really, really well.
<ChrisWalker> Z-Wave works really nicely by itself, but when you get the performance tweaks it _screams_.
<DeanRoddey> I understand that. I'm asking if the serial protocol in and out of the controller is the same as the ACT controller, i.e. the Zen-Sys protocol?
<ChrisWalker> Dean--we do support the Zensys protocol per our Z-Wave certification, and you may see us support others as that makes sense for the Z-Wave community. :)
<ChrisWalker> In the end, we want to make all of this "invisible" to the end consumer and to developers. Just write a few lines of code, and things work!
<ChrisWalker> Squintz: anyone can get the beta. Simple go to tech-home.com, pre-order the SDK (or the SDK starter kit, which is awesome value), and you'll get instructions on how to get it.
<ChrisWalker> Dean has asked some great questions. Who else wants to chat?
<ChrisWalker> By the way, it's important to note our other announcement today
<Squintz> Chris: Tell us more about rediscover?
<ChrisWalker> The Z-Wave Alliance issued a press release that I saw on Cocoontech.
<ChrisWalker> It mentions the new Compliance Test Tool that we developed in partnership with them (and Zensys).
<Squintz> So CTT is RTT?
<dhoward> Chris, the beta is stated to support the current generation of USB and serial devices. Is this to imply that the release version will only work with your USB adaptor?
<ChrisWalker> It's pretty cool. It ensures that new controllers coming to market are 100% interoperable with devices--even ones which haven't come out yet.
<EugHere> I haven't paid much attention to Z-Wave since learning that it needed that holy controller to set IDs or whatever it is. Is that still true?
<ChrisWalker> No, Squintz.
<ChrisWalker> Completely different.
<ChrisWalker> It also tests new devices, so it's now even easier for companies to develop products on Z-Wave technology.
<tonyno> hallo
<ChrisWalker> Squintz: In the SDK, you can simply write a line like this to rediscover a node:
<ChrisWalker> Controller.Rediscover(device);
<ChrisWalker> :)
<ChrisWalker> And it will seek it out, and heal the routes in your controller automagically.
<Chakara> so your saying we don't need a "master" remote to program devices...can be done from the PC via your API which lays on top of ZenSys's?
<ChrisWalker> EugHere -- are you speaking of a portable controller?
<ChrisWalker> Chakara--yes, you can actually add all of the nodes from your PC, move them where you want them, and then rediscover them all.
<EugHere> I think so. That's what I seem to remember from the original Z-Wave talk.
<ChrisWalker> With any of the hardware on the market today.
<EugHere> And I guess that answers my question.
<ChrisWalker> EugHere--you haven't had to have a portable controller for a long time.
<Chakara> has anyone looked at working this product into HS?
<ChrisWalker> There are a ton of nice things in Z-Wave which no one has used, and which are available in the SDK.
<ChrisWalker> Or are going to be available very soon in a pre-1.1 beta :)
<dhoward> Chris, are you discussing licensing in this forum?
<ChrisWalker> Chakara--it should be very simple. I imagine that they've got some great coding skills, and could integrate this in a day, or a few at the most.
<ChrisWalker> Chris, sure!
<ChrisWalker> BTW, we have a forum set up for the product at http://forums.controlthink.com. We haven't advertised it, but we'll start to--so you're welcome to chat about the projects you build there and also here at one of my favorite chat sites (Cocoontech, of course!)
<Squintz> Chris: Will your USB controller be upgradable via the PC. So if we set it up as a master controller and a new product comes out that is not supported, will we be able to get firmware upgrades easily?
<ChrisWalker> dhoward: the SDK comes with a license to use the programming library with the Intermatic USB Z-Wave controller. It's a very nice piece of hardware, if I didn't mention that already.
<ChrisWalker> There was a lot of "shock and awe" at the show today when people saw it!
<Chakara> Just I have it right, you have written a layer that makes Z-wave easy for programmers. How much does it cost? Is it per developer or per user?
<ChrisWalker> In case I'm gushing, there's good reason.
<tedsingh> sorry for coming in late (at EHX 2005) - (1)licensing (2) api technology (.net?) (3) non-beta version release date?
<ChrisWalker> Chakara--it's $49 (introductory -- tech-home.com), and it comes _with_ the USB controller.
<ChrisWalker> Squintz: new device support is in the software layer, not the hardware layer.
<ChrisWalker> You should be able to use the USB controller with hardware for a long time, and we're providing minor updates (for new device classes and new tweaks) for free.
<ChrisWalker> !
<ChrisWalker> ted--hey, stop by the Z-Wave Pavillion and say "hi!" If you mention that you're a Cocooner (and everyone doesn't start pretending), I'll put you on my short list for a free copy of ThinkEssentials SE :)
<ChrisWalker> ted--API is .NET. It's completely object oriented.
<ChrisWalker> If you want to turn on a light, you do this: [assuming VB.NET]
<ChrisWalker> Dim controller As New ZWave.Controller
<ChrisWalker> controller.Connect()
<ChrisWalker> controller.Devices.GetByNodeID(14).PowerOn()
<ChrisWalker> :)
<ChrisWalker> That's it.
<ChrisWalker> The first two lines you only have to have in your program once :)
<ChrisWalker> licensing--the license to use the library comes with the USB controller. For commercial...
<Chakara> Chris, you have a link at tech-home? I'm not even sure what I'm looking for....
<ChrisWalker> For custom installers who want to do "custom integrations" that they sell commercially, they can use the SDK for those--and then they can join the Z-Wave Alliance as a type of "observer" to stay in the loop on things.
<Chakara> never mind - on the home page.
<Squintz> Just to let you all know how easy it is I have managed to write my first C# program in over 3 months and had not problems connecting to my old controller. I was connected in about 20 minutes.
<ChrisWalker> For commercial (redistributed) software, the manufacturer may either license the library per-unit, or better yet, they can just sell a "USB controller+library license" to their customers, which will enable support!
<dhoward> Chris: PowerHome is written in PowerBuilder. Will an activeX be available?
<ChrisWalker> Chakara: apparently, it's the program of the day :)
<Chakara> lol
<ChrisWalker> dhoward--are you with PowerHome? Let's chat offline. I'm sure someone can create a small interface that lets you talk between ActiveX and .NET without any trouble at all.
<Chakara> is it out or are we wating till 1st quarter?
<ChrisWalker> Squintz--how did that go? I know you just barely got the SDK.
<dhoward> Chris: Yes...with PowerHome. I'll email you a number so we can talk.
<ChrisWalker> Chakara--you pre-order the SDK now, you get access to download the beta (of the next version) now as a "thank you," and you are not charged for it until it ships in Q1.
<Chakara> ChrisWalker - wouldn't that interface address Dean's concerns as well?
<ChrisWalker> dhoward--excellent. I will look forward to chatting!
<ChrisWalker> Chakara--you'll have to ask Dean. Offline :)
<Chakara> that's fair
<Chakara> Again, as I'm not a programmer, if they bought it, what do they have to do to resell what they write?
<ChrisWalker> We're trying to make this widely available without completely giving things away (since accounting gets cranky). We are driven to ensure that all people can experience the benefits of reliable, simple, affordable home control technology.
<ChrisWalker> Chakara, all:
<DeanRoddey> It looks to me that the only real option here would be for you guys to write a service based, IP-based server that coudl be talked to by everyone, without the language issues.
<ChrisWalker> First of all, the $49.95 is a great value for the USB controller even without the SDK license. It's an amazing controller--it's been super-solid in all of our lab tests.
<ChrisWalker> Dean--but then people would want token ring support :) Just teasing.
<Squintz> Dean, I dont see why you can't write the service based IP program yourself with the existing .net interface?
<ChrisWalker> Actually, that would introduce more engineering issues and some possible reliability concerns.
<ChrisWalker> Squintz: that's a great idea.
<Squintz> And like I said... If i had a clue about TCP/ip I would do it for you :)
<ChrisWalker> Chakara: wo if you wrote a program, and it was a custom one that you wanted to share with your friends, they could buy the SDK and use your code.
<ChrisWalker> [walking to the car]
<Chakara> that is a fair way to do it...just never seen it done that way before.....
<Squintz> Where did dean go?
<Chakara> HS is the closes i've seen with thier "extentions" to VB script.
<ChrisWalker> I hope we didn't insult him. He seems like a nice guy.
<ChrisWalker> He certainly has some great ideas!
<Rustytek> with HS we pay 60$ for the hardware alone, i think 50 dollars for the hardware and the 10 dollars per user HS would gain would justify the programming
<ChrisWalker> Rustytek: yep. :)
<ChrisWalker> And Rusty--for Homeseer, they could technically buy the hardware and license and resell it for use with their software.
<ChrisWalker> Which means that they'd make some profit in there too.
<Rustytek> especially for better customer satisfaction and their new pro business
<ChrisWalker> By the way, there's a ton happening at the show.
<Rustytek> requiring reliabilty
<ChrisWalker> Wayne Dalton, Intermatic, Leviton, and a few other companies are all showing off new (shipping and soon-to-ship) hardware.
<Rustytek> wish I was there, will see you in orlando
<ChrisWalker> Rustytek--any control box that sits in a non-techie home simply has to have a super-reliable backend.
<ChrisWalker> Or at least reliable :)
<ChrisWalker> [note, I haven't seen theirs--so I'm not saying it's not reliable--I was just clarifying the "super" part.]
<Rustytek> is it posted to their websites yet -
<elcano> If HS decides not to support the new controller, is a 3rd party plugin an option? I dont know HS yet, but need to know before investing in it.
<Squintz> Chris: When will we see documentation for the SDK?
<ChrisWalker> Wayne Dalton has its new X10 to Z-Wave bridge here, and their HomeLink to Z-Wave bridge. They're shipping Q1 as is the Leviton and Itnermatic hardware.
<Squintz> elcano, yes and probably will be available
<ChrisWalker> elcano--I think it's possible to support plug-ins in Homeseer.
<ChrisWalker> I'm not sure how all that works out, but I do know that it wouldb e great to see support for Z-Wave going forward.
<ChrisWalker> It seems to be _the_ home control standard that all the big, well-established companies have jumped on.
<electron> hey Chris, can you tell all these other Z-wave companies to get in touch with CocoonTech, it's impossible to get a hold of these guys lol
<ChrisWalker> :) They're all very busy.
<Chakara> Yeah, I use CT as my main source of HA information and honestly am leaning toward Insteon based on it.
<electron> no sense in being busy if you ignore one of the bigger HA portals on the net ;)
<ChrisWalker> I hang out at Cocoontech frequently, so I'll pass along info :)
<Squintz> Chris: Putting you on the spot like I put all vendors :)... Is it possible to get a few kits when they come out for a cocoontech.com giveaway contest?
<ChrisWalker> Chakara: CT?
<electron> Google News picked up the Z-wave SDK announcement first from CocoonTech ;)
<ChrisWalker> electron: :)
<Squintz> Second Try: Chris: When will we see documentation for the SDK?
<ChrisWalker> Squintz: talk to me offline, and you never know what could happen!
<elcano> Chirs, was is the tested line-of-sight range of the new controller? Assuming no reapeater in the middle.
<electron> Squintz!
<Squintz> What E!
<ChrisWalker> Squintz: we have added a ton of functionality to the new v1.1 release, and are working hard to get documentation updated (and documentation written) for it. We're also working on a lot of samples.
<Squintz> lol
<Steve> Chris: ZWave is based on 900 Mhz, correct? What is the RF power output of the devices? Are they all the same?
<ChrisWalker> Pre-order the SDK, download the beta, and we'll keep adding samples and documentation frequently as we progress towards v1.1 release.
<Squintz> I never doubt that you are working hard. I have heard your shortness of breath over the phone.
<DavidL> ChrisWalker, I am not a developer, but what's the "high level" of seeing if your sdk would work with Cinemar's VB MLServer?
<ChrisWalker> By the way, we'll likely ship v1.1 with the USB controllers when they get here. I'm assuming that we'll have all of our final testing and feature implementation done by then.
<ChrisWalker> elcano--a long way. You are going to be very happy.
<ChrisWalker> Steve--the antenna design and settings of various devices can be different, but they all have good range.
<ChrisWalker> DavidL: does Cinemar have support for developers adding on to their product?
<DavidL> yes
<Steve> Are the specs in the ZenSys documentation?
<DavidL> they have a plugin shell and sdk of their own
<Squintz> Chris: Any plans for a none dongle version (Corded and mountable version) of your controller?
<ChrisWalker> Well, then if they work in the .NET world then it's certainly possible. And with our SDK, it makes it very easy for them to obtain official Z-Wave certification as well (which is quite inexpensive).
<smee> usb extension and double-sided tape?
<DavidL> Squintz - couldn't you put a USB extnder cable on it?
<ChrisWalker> And then they could sell the plug-in Z-Wave support!
<elcano> I wonder because the 1/3 wave antenna for 900MHz should be about 3 inches (external) and I have not sen ant device with external antennas.
<elcano> I should say 1/4 wave instead.
<Squintz> Good idea about the extender
<ChrisWalker> Steve--I'm going to have to refer you to Zensys on that :) We can't share secrets--but we can use them to make your projects work really well with out SDK.
<ChrisWalker> Intel has a computer at the Z-Wave Pavillion today, with an Intermatic USB stick attached to a USB extension cable and glued to the edge of a table.
<ChrisWalker> Yes, that's one of the great things about the design.
<Rustytek> i was going to suggest double sided tape
<Steve> Why would the power specs be secret. Cordless phoness and other devices document their ratings?
<ChrisWalker> Double sided tape--great stuff!
<Squintz> Chris: How do i get a kick ass job like yours :)
<ChrisWalker> If you all don't know, we have a reliability lab.
<DavidL> Double stick tape velcro even better
<ChrisWalker> We've beaten up Z-Wave (and some devices in other protocols).
<smee> [OT: outdoor rated double sided tape does not last long inside a toilet tank]
<ChrisWalker> All of the hardware in the Z-Wave PC SDK Starter Kit (including the remote and lamp modules) should last a long, long time.
<ChrisWalker> Most or all of it comes with a 5 to 6 year warranty!
<Squintz> Chris: Where is your lab located and do your provide tours?
<ChrisWalker> Squintz: :) I love my job.
<Chakara> above or below the water line smee?
<smee> above
<Chakara> bummer
<ChrisWalker> smee--you shouldn't put your new Intermatic USB stick in a toilet tank. That's not even funny. :)
<smee> :)
<ChrisWalker> Squintz: person tours maybe :) Contact me offline--but just you :)
<gordon> hehe
<ChrisWalker> er, personal tours.
<ChrisWalker> We're going to go to dinner soon, and I've been requested to _not_ bring my laptop :)
<Squintz> lol
<ChrisWalker> So let's cover any last questions, and then you all are welcome to continue the conversation here at CocoonTech or in the Z-Wave PC SDK forum over at forums.controlthink.com.
<ChrisWalker> Preferably both!
<ChrisWalker> I'll make sure that I tune in over the next few days.
<Squintz> Chris: Check the forums when you get a chance
<ChrisWalker> I want to see all the great projects you guys make with our Z-Wave PC SDK. There's some great talent here, if the board postings are any indication.
<ChrisWalker> Squintz: absolutely!
<tedsingh> I'm coming tomorrow to claim my ThinkEssentials tomorrrow :)
<Squintz> Ted, take pictures for cocoontech
<elcano> Chris, wout of the typical lightning controls, what new functions ir bringing rhe kit (sensors, display messages?)
<ChrisWalker> Any Cocooners on this chat, come over tomorrow and we'll give away up to 5 ThinkEssentials SE copies in Q1. :)
<ChrisWalker> elcano, I'm sorry--can you please elucidate?
<elcano> I can imagine support for a controlling a media player, pulling analog values from sensors (temp. etc.).
<ChrisWalker> By the way, if any of you have "favorite home control" software, and would like to see some reliable Z-Wave support in it, please write the makers!
 

Dean Roddey

Senior Member
I just wanted to follow up on an aspect of this that I was involved in the discussion of above. The chat thingie just isn't a very practical way to try to get across complex points so I just didn't try to during the chat.

My concerns with the SDK is this. If it's really going become 'thugh way' to interface to Z-Wave, then it shouldn't have been written in .Net. What should have been done is that it should have been written as a small, simple, C-level chunk of code. That could then have been integrated into almost any program or device easily.

If you look at what that SDK really does, it basically does two things. It reads and writes a serial port (the controller just looks like a serial port), and it parses out and reacts to Zen-Sys controller messages. The former is the only platform specific part of it. The later is nothing but manipulating data structures and could be done the same on any platform via generic C code. Basically it's just a driver for Z-Wave, and not particularly different in fundamentals than our CQC driver or HS' driver and so forth.

So it could have been packaged as a very simple blob of code, which could have been compiled on many platforms and many compilers, under NDA of course if that is a concern, which would only require that the per-platform implementation provide pointers to a couple of functions that provide the serial port read/write control. The rest of the code could stay as is on pretty much any platform because it's just manipulating basic structures in memory.

That could be embedded in small devices, in an Elk, an Omni, and so forth, because it wouldn't require any functionality not available in those devices. It could be wrapped by a Perl wrapper, a Java wrapper, a .Net wrapper, a C++ wrapper and whatever else was desired because all those devices and all those languages can handle interfacing to or wrapping a simple, C-style interface. So it could have provided both a way for small devices and embedded systems to interface to Z-Wave and it could easily provide high level interfaces to all the various languages, OO or not, in common use today.

If Zen-Sys were really looking to provide for ubiquitous support for Z-Wave, that is what should have been done long ago. If they'd done so (or even just made a real effort to provide support for third parties to support Z-Wave, which they did not do at all, they made you pay for that privilege), then UPB and Insteon and others would be looking at a solid wall of strong support for Z-Wave in every automation product out there probably.

Chris' company created a nice Z-Wave driver in .Net, and that's great. And if your company happens to have a .Net based system, I'm sure it'll be a great tool for you. But, the world is far from being a .Net world. And no one who isn't already using .Net in their product is going to be very keen on bringing in that huge chunk of stuff, with all the support issues it will entail, just to support Z-Wave. It just isn't remotely worth it. Many embedded systems, Java based systems, Mac-based systems, or Unix/Linux based systems, or any of the many other places where .Net is not applicable are not going to be able to use this SDK. Our product won't be able to use it because we are purely C++ based, and we would never suck in a huge chunk of code that we don't control (into our highly multithreaded, service based object server that hosts the drivers) just to get Z-Wave support.

Anyway, that's my point. So to EugHere, that is what I was getting at. I do understand the difference between an API and an on the wire protocol, having lived in that world for a long time and designed plenty of both. I was trying to get across that this system could have been created such that it could have been really widely applicable both at the low end and with high level wrapper APIs for things like Perl, Java, and .Net, and to those in between like us who have C++ based systems.
 
Top