The timing of Ross' recent post is quite interesting because I saw it just when I came to the board to post this message...
As many of you long-timers are well aware, I have struggled with the HAI serial protocol for years - about 5 years with HomeSeer at least. Although HAI has well defended their use of a polling protocol (although they are the only ones who ever agreed with their defense of it!) it has been a source of much frustration for application developers. In short, the problem has been that when you are trying to poll the panel every 500ms so that changes at least "appear" to be realtime, but you have ad-hoc events causing interruptions in that from time to time and a protocol that does not match responses with requests, the results can be quite horrific at times. The Ethernet interface was suppose to fix all of that, but their DLL to make communication for us developers "easy" used a very tricky communication method and was rooted in programming languages I did not have much experience with (not since college at least, and that was too long ago).
After hitting a lull in the HomeSeer project I have been working on for months and with a little holiday time, I decided to bite the bullet and write my own network interface implementation from scratch using their protocol documentation. I had enough written within a few days to do some testing and I made good progress. Recently though, I ran into a roadblock when, after connecting with the panel and establishing a new session, I could not get a secure connection acknowledged. I contacted HAI with all of the data, and I was quite surprised (and a little worried) when they wanted to CALL me to discuss it...
Well, the call was good news - it was word of their upcoming new protocol that Ross already mentioned. I won't let any more cats out of the bag because I am sure HAI intends to do a full announcement at CES, but just as Ross stated, it appears that they finally made massive changes that were due (IMHO) at least 10 years ago.
What I will add to what Ross mentioned about the protocol good news is this - they also have a new .NET compatible interface DLL that they will be providing me, so all of the low-level communication and encryption hassles I have been coding will not be needed. They are doing away with the very touchy Windows messages based DLL that they previously used.
What does this mean? Here are my current plans:
I am really looking forward to the new protocol - it is even giving me incentive to replace my home's HAI panel with one of the newer models!
I believe HAI charges between $20-$30 for firmware upgrades, and I have no idea what the board level upgrade will cost to get the flash upgradable system, but do existing owners see any issue with upgrading to the new protocol?
As many of you long-timers are well aware, I have struggled with the HAI serial protocol for years - about 5 years with HomeSeer at least. Although HAI has well defended their use of a polling protocol (although they are the only ones who ever agreed with their defense of it!) it has been a source of much frustration for application developers. In short, the problem has been that when you are trying to poll the panel every 500ms so that changes at least "appear" to be realtime, but you have ad-hoc events causing interruptions in that from time to time and a protocol that does not match responses with requests, the results can be quite horrific at times. The Ethernet interface was suppose to fix all of that, but their DLL to make communication for us developers "easy" used a very tricky communication method and was rooted in programming languages I did not have much experience with (not since college at least, and that was too long ago).
After hitting a lull in the HomeSeer project I have been working on for months and with a little holiday time, I decided to bite the bullet and write my own network interface implementation from scratch using their protocol documentation. I had enough written within a few days to do some testing and I made good progress. Recently though, I ran into a roadblock when, after connecting with the panel and establishing a new session, I could not get a secure connection acknowledged. I contacted HAI with all of the data, and I was quite surprised (and a little worried) when they wanted to CALL me to discuss it...
Well, the call was good news - it was word of their upcoming new protocol that Ross already mentioned. I won't let any more cats out of the bag because I am sure HAI intends to do a full announcement at CES, but just as Ross stated, it appears that they finally made massive changes that were due (IMHO) at least 10 years ago.
What I will add to what Ross mentioned about the protocol good news is this - they also have a new .NET compatible interface DLL that they will be providing me, so all of the low-level communication and encryption hassles I have been coding will not be needed. They are doing away with the very touchy Windows messages based DLL that they previously used.
What does this mean? Here are my current plans:
- I will get the current plug-in to a stable state, which means I will take care of as many of the current issues as possible, and then I will "freeze" that code.
- I will write a new plug-in that will use the new protocol exclusively, but will have all of the features of the old plug-in, and thus will be a drop-in replacement for the older plug-in. This code will be the new one maintained until it hits some sort of end point like its predecessor.
- The initial release of the new protocol will not have support for the serial interface, and so even when HAI provides it, I will still not put it in the new plug-in unless a poll of existing users deems it necessary. Since the new protocol is only available for the newer panels, and the newer panels have Ethernet interfaces, I am not sure that RS-232 will be needed at all.
I am really looking forward to the new protocol - it is even giving me incentive to replace my home's HAI panel with one of the newer models!
I believe HAI charges between $20-$30 for firmware upgrades, and I have no idea what the board level upgrade will cost to get the flash upgradable system, but do existing owners see any issue with upgrading to the new protocol?
Comment