Archive for the 'Home Automation' Category

H@me 2.0 Lite

H@me 2.0.1 Lite is now available on the iTunes store.  This free application will allow you to try out H@me 2.0 in a read only mode and validate that it can connect to your system and see your devices before you purchase the full version.  See  http://itunes.apple.com/us/app/h-me-2-0-lite/id362354308?mt=8 for more info.

H@me 2.0.3 Released

H@me 2.0.2 and 2.0.3 includes the following fixes:

  • New icon set to comply with HAI’s Cease and Desist letter objecting over the use of their icons in various menus.
  • Nuvo audio plus/minus buttons now have the correct behavior.
  • Event log correctly shows alarm events
  • Fixed reading non UTF8 character strings.

H@me 2.0.1 Released

H@me 2.0.1 is out and addresses the following issues.

  • Fixes a bug where the phone could lock/sleep while H@me is doing its initial sync
  • Event log now shows code and message names. Please re-sync H@me in the preferences screen to display the correct names.
  • Cameras now save correctly when entering more then one
  • MJPEG support for cameras

Coming Soon: H@me II

Ok, I know its been a long time, a painfully, painfully long time, but I have good news. H@me has reached version 2.0!

The first version of H@me was software I wrote to “scratch an itch”. I wanted to write a complete iPhone app and I also wanted a better way to control the Omnipro that runs my house. It was a lot of fun to write and seemed to be generally useful to others

Since then I have spent my spare cycles building other software projects, some of them related to home automation, some of them not. But the one constant has been your steady stream of emails and posts, “great app, when’s version 2 coming out?”. It has been this kind of feedback that motivated me to come back and pick up the project again. Where the first release was completely motivated by my own requirements, this release has been driven by the comments, emails and bug/features tickets that users have left me. I will be charging for the application, but in return I will be releasing a more steady stream of updates based on your input.

While H@me II has much of the same look and feel as the first version, much has been changed under the hood. Since the first release in 2008, HAI has created a new version of their communication protocol. This allows for better discovery and control over their panels as well as using TCP rather then UDP. This required a rewrite to my objective-c network implementation, something I had done already in JAVA with my open source library jomniLinkII.   I have actually been using the new  protocol  in H@me for the last 8 months and have been very happy with it.   A consequence of using this new protocol is that H@me II will only support Omni/Lumina units running firmware 3.0+. Users running 2.1x can easily upgrade their firmware to support H@me II.

I will be charging a reasonable amount for the app this time. I’m doing so for two reasons. First is that I am no longer building the app for myself, but rather for others based on the features they have requested. And two, by charging for the app I have an obligation to make releases and improvements, it acts as a motivator and a contract.

So armed with a new network stack and a much better model for talking with the omni hardware, H@me II is almost ready for release. Here are a list of the new features going out.

  • General Security
    • Prompt for code at connect
      • This was the single most requested feature to date, and rightly so. Now when the app connects it prompts you for your personal code which is then validated by your system. There is an option to save this code which is disabled by default. Even when saved, if the phone was lost you could always change your code on the Omni/Lumina.
    • Hidden keys
      • This is a small change, but once your 2 keys are entered they are no longer visible through the preference screen.
  • Control (lights)
    • Auto detection of rooms, units and flags
      • One of the benefits of  HAI’s new communication protocol is I can now detect different types of units. No more “use rooms” switch in the preference screen.
    • Flags
      • Flags are now correctly displayed with their own icon and can be switched on or off. I plan in a future release to add increment/decrement ability as well.
    • Display scenes
      • Lights will now display their scene if one is activated. I am getting feedback on the best way to implement activating scenes (the omni supports many types of scenes across multiple lighting vendors, so it gets a little complicated).
  • Thermostats
    • Temperature and Humidity Sensors
      • This was the second most requested feature. You can now display any indoor/outdoor temperature and humidity sensors.
    • Hold Status
      • You can now display and switch on/off the hold status on thermostats.
  • Zones
    • Better layout
    • Bypass and restore zones
  • Event Log
    • This was also a highly requested feature, you can now view the system’s event log which displays events like when the system was armed, disarmed, communication failures, etc…
  • Lots and lots and lots of bug fixes……

There may be other features that make it in to this release such as support for more then Russound audio controllers, scenes selection and a celsius display option. Features I have slotted in for updates to this release are multiple controller/house support and multiple area control.

I will let everyone know when I submit it to the Apple store.

Dan-

(PS, everyone loves screen shots)

jomnilink 0.03

New callback pattern for notification and disconnect causes, various cleanups.  Fixed major bug in decoding encrypted messages bases on reported length.

Its getting closer for prime time.  The next big steps are to release the Axis2 application I have in testing as well as add more convenient methods for sending commands based on device enums objects.  I might take a break now and work on my iPhone app H@me.  The natives are getting restless for a 2.0 release (and I don’t blame them).

jomniLink-0.03.zip

jomniLinkII

Over the last year or two I have implemented HAI’s OmnilinkII protocol in C, objective-C and ruby.  Each time I have only implemented what I needed and never the full API.  Throughout all of these projects however I have always wanted to have a complete API written in JAVA.  How cool would it be to have your home web serviced enabled with Apache Axis or to integrate your system with emerging HA platforms like openremote.org?

Well I brushed the dust of some Java code I had written a while back and hacked out a first rough draft over the weekend.  The result is jomnilink v 0.01.   This is not even alpha quality code, so don’t go using it in your projects just yet!  The API is a very thin wrapper around the published omnilinkII  spec.  The code is largely undocumented,  so you will need to look at Main.java for my sample test application.   As soon as I hammer out the remaining API calls and add some validation I will create a separate project page, for now you can download the gzip file here.  This Library is Licensed under the GPL v2, if this does not work for you please contact me for other options.

Whats working

  • All Request methods (system, objects, properties, etc..)
  • Audio Zone and Source Methods
  • Commands
  • Notifications

Whats not

  • Event log
  • Upload /Download/Clear  names
  • Voice Name
  • Security Code validation
  • Keypad emergency
  • set time

H@me Development

Getting version 1.0 of H@me out the door meant many late nights of development and I took a couple weeks off from working on the next release.  The overwhelming positive response however has been fantastic and I thank everyone for their kind words as well as feature and bug requests at the H@me project page.

In order to avoid burn out I have been tinkering with other parts of the application instead.  This includes writing an entirely new network library based on HAI’s omni-link II protocol.  Two big features are TCP based networking and push style notification of events (not to be confused with Apple’s upcoming pushed events), the one big drawback is that it will only work on units with firmware 2.16 and higher.  I would love to get feed back on what firmware users have on their systems an how this would affect others.

Development on 1.1 will start shortly, I have plenty of feature and bug requests to warrant a release.  I have opened comments up on this site so please feel free to voice your opinions.

D-