Nemef Radaris Evolution Plugin for Homeseer

Finally the Plugin for my Nemef Radaris Evolution is almost ready to be tested ‘in the wild’. The time for testing the Plugin only by myself has almost ended – it’s time for others to try and find the bugs that I couldn’t.

Nemef Radaris Evolution

One last thing that still has to be tested is multi-controller and multi-RF Module support. It should all be in the Plugin because it was developed from the start with multi-support in mind, but this could never be tested with the single RF module and controller I have.

For that, Nemef was so kind to lend me both an RF Module and an additional controller to do this! Now I can test my own RF module with 2 controllers and also test a configuration of 2 RF modules with 1 controller each; that should suffice.

The total number of supported RF Modules will be set to 4, so that it will be possible  to control a maximum of 16 Controllers with the Plugin – I think that will be enough for most users 😉

 

The type of lock inside the furniture is a ELMEC600 (dutch), while my own lock has a ELMPS module. Both lock modules have some small differences regarding the protocol (status bits), so now I can also test how the differences between those 2 types work out.

Less than 2 weeks left before holidays start for me so I’ve got to hurry – can’t keep this extra hardware here forever!

 

Nemef Radaris Evolution and Homeseer

Last summer I became the proud owner of a Nemef Radaris Evolution electronic door lock. It’s in use for 6 months now and has been unlocked almost 1800 times. In that period of 6 months, the Nemef Radaris Evolution has proven itself as a really solid and reliable piece of equipment. I’ve never seen nor heard of a better solution (no, I don’t work there). If I would have written a full scale review about the Radaris Evolution, the conclusion would have been  “Highly Recommended” – but since I don’t do reviews, you’ll have to do with just the conclusion 😉

Combine the Nemef Radaris Evolution furniture with a Nemef RF Module and you’ve got all the the ingredients to fully integrate the Nemef Radaris Evolution door lock(s) into your Domotica system. However, that’s where things get harder – as far as I know, there’s no (consumer) software available for the connection between the Nemef Radaris Evolution and Home Automation systems. No Plugin, module, app or anything like that to monitor and/or control the Nemef Radaris. Only 3 guys (I know of) have implemented this in their own homebrew system; Pieter Knuvers is one of them.

But this can change very rapidly; I’m working on a Homeseer Plugin for the Nemef Radaris Evolution.

Homeseer Plugin screenshot

 

 

With this Plugin (and a Nemef RF Module (dutch link)) it will be possible to monitor and control up to 4 Nemef Radaris Evolution (dutch link) door furnitures. Opening the door, badge management (yep, you can stow away your programming card), viewing historical data (what badge was used where and when), it’s all in the Plugin. Want to give a badge access only during a certain time period on a certain day? The Nemef Radaris Evolution Plugin and a small script can accomplish just that.

The basis of the Plugin is almost finished now; I already tested the basic functionality by feeding my own historical data to the Plugin and this looks just fine.

Now it’s time to provide the necessary event triggers to Homeseer, so that the Nemef Radaris Evolution door furnitures can really become a part of that bigger picture, called Home Automation. 😉

 

Proliphix Plugin finished

Today I finished the Homeseer Proliphix Plugin I wrote about before. In short, the updated Plugin has been enhanced with the following features:

  • Celsius support;
  • Support for the IMT series thermostats;
  • Support for the IMT series Humidity sensor.

Although I received the code only for adding Celsius support, I’m sure the Homeseer guys won’t mind I added those other 2 items as well 🙂

I was fortunate to have a IMT350 here, sent to me by a Domoticaforum member who found out that the IMT350 wasn’t supported by the current version of the Plugin and asked me to have a look at it. So I did, and in the process I added support for the IMT350 to the Plugin.

Together with another Homeseer user who volunteered as beta tester for the Plugin, we accomplished the 3rd item in the list, support for the Humidity sensor. While I was writing the code for the IMT350, I realized that the first thing that would be missing, was support for the humidity sensor and I just couldn’t leave it like that; it felt like delivering an unfinished product, so I decided to throw in some extra lines of code to make the Humidity sensor readings accessible as well. After some ‘research’ (I’m not a Homeseer user, you know) I found out how to do this, and also found a way to get Humidity readings into HSTouch (with the help of that same beta volunteer who tested my findings). Below a HSTouch screenshot, including the humidity:

Another project finished, still dozens to go!

The Proliphix IMT350c

Proliphix added a new series of Thermostats to their product line: the IMT350. Two models are available; the IMT350c with wired Ethernet and the IMT350w with WiFi. I won’t go into their details, the Proliphix site has all the information you need. I was lucky to receive a IMT350c a few days ago – a Domoticaforum member bought one, but since the Thermostat didn’t work in combination with the Homeseer Proliphix Plugin, it was rather useless to him; so I was asked to have a look at it. Yeah, I always like those kind of questions 🙂

As a coincidence, some time ago I received the source code for the Homeseer Proliphix Plugin to add Celsius support to it. The Homeseer guys are too busy with all kinds of things but not with this Plugin, so they agreed on a 3rd party (eventually being me) to add the Celsius support. Adding Celsius support had already been done, and now suddenly I had this IMT350… and i knew the Plugin didn’t work with that model, so sounds like a good opportunity to fix that problem too..
First some pics of the IMT350 (click for larger image):
Proliphix IMT350c IMT350 Touchscreen
IMT Base Plate IMT350c back side
IMT350c USB connector?

Now that last one is a bit strange; do I see a USB connector there?? It sure looks like it; but since this Thermostat isn’t mine, I’ll leave the plugging in of a USB cable to the owner; I don’t want to destroy anything… I searched the manuals, but I couldn’t find any information about this USB port.

The IMT350 series Thermostats have a nice Touchscreen, which feels good and the up- and down-buttons for setting the temperatures are responsive enough. With my NT20e I sometimes had the problem that I clicked the buttons too often cause the Thermostat didn’t react fast enough; that’s gone now. The bottom row of buttons seem to react a bit slower though. Please don’t think I’m reviewing this Thermostat; I’m just telling my experiences I’ve had with it for a very short period; not long enough to be precise and conclusive. One thing surprised me was that the Thermostat takes more than 2 minutes to boot; that’s rather long, if you ask me. For the rest: this thermostat definitely looks much better compared to the NT20e, but still, I wouldn’t call this an “eye-catcher” in my house…

OK, let’s do some research on this IMT350! Connecting the Thermostat to my network was easy; the thermostat has DHCP so after connecting an Ethernet cable to the EPA-20 (Ethernet Power Adapter) and plugging the power adapter into a wall socket, I could start using the web-interface right away. I entered the factory set username and password and there it was. Time to start my own Domotica system and see if I can use this Thermostat; nope. I immediately got an exception on the first login attempt: HTTP/1.1 401 Authorization Required. Somehow I couldn’t authenticate, so I started Wireshark and looked at the conversation:

GET /get?....... HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: 192.168.10.155
Accept: text/html, */*
Accept-Encoding: identity
User-Agent: Mozilla/3.0 (compatible; Indy Library)
Authorization: Basic YCRWaS43YDRTaX4=

HTTP/1.1 401 Authorization Required
Connection: close
Date: Fri, 01 Jan 2010 01:36:20 GMT
Server: Cherokee/0.99.37 (UNIX)
WWW-Authenticate: Digest realm="proliphixrealm", nonce="0572700e162cb40274041d07e8b87252", qop="auth", algorithm="MD5"
Content-Length: 450
Content-Type: text/html
Cache-Control: no-cache
Pragma: no-cache

Aah… Digest Authentication instead of Basic… Since I’m using Borland Delphi 2005 with Indy 10, I first had to partially finish the Digest Authentication code of Indy 10, cause it didn’t work. 🙁

After that, I could authenticate and communicate with the IMT350 just like I do with my NT20e. That’s it… all the information that I’m used to retrieve from my NT20e, came out the same way with this IMT350!

Wow, that was easy 🙂

Next step, the Homeseer Proliphix Plugin. Adding Digest Authentication to VB.NET was even simpler:

Dim wrCache As CredentialCache = New CredentialCache
Dim netCredential As NetworkCredential = New NetworkCredential(Me.User, Me.Pass)
wrCache.Add(New Uri(URL), “Digest”, netCredential)
MyWebRequest.Credentials = wrCache

Done! Launching Homeseer and configuring a new Thermostat was all that had to be done. When the Proliphix PlugIn starts up, it recognizes a potential HTTP 401 error and if this error does occur, the Plugin will retry with Digest authentication, so that both series (NT and IMT) can be supported at the same time. Here’s the result:

Homeseer Proliphix Plugin

Homeseer Proliphix Plugin with IMT350 and NT20

Preparing for the Arduino workshop

The Arduino workshop I mentioned before, is actually going to happen! 🙂 This will be a busy day, for both the organizing party as well as the attendees! A short list of the things we will be doing during that day:

  • Building an Arduino on a breadboard
  • Soldering a JeeNode
  • The Arduino IDE and testing the JeeNode
  • Experimenting with sensors and actors
  • Building a Room board
  • HomeSeer integration.

Enough to fill a complete day I’d say!

For the HomeSeer integration we’ll be using a slightly modified version of JeeNode for HomeSeer. This script based solution will help the attendees to integrate the hardware they created into HomeSeer in a very simple way. And since all the source code is provided, everyone can extend and/or modify it so that it will fit their personal needs the way they want.

Although I’m not a HomeSeer user, I do have a HomeSeer license that was paid for by a fundraiser that took place earlier this year. So I can play with HomeSeer whenever I like without any dirty tricks while I’m working on the Plugins I created or when I’m doing stuff like this.

I soldered a new JeeNode v4, a Room Board, uploaded the JeeNode sketch and connected it to the AA Power Board:

JeeNode with Room Board

JeeNode with Room Board

The JeeLink sketch was uploaded to the, eh, JeeLink, and I added an extra line to the HomeSeer startup script to get the JeeNode script running. After some initial configuration like setting the JeeLink COM port and some RF related settings, I was good to go:

HomeSeer Status

HomeSeer Status

OK, it’s all working; I can see the Room Board sensors in HomeSeer. Now it’s time to upgrade the JeeNode sketch to make it more power usage aware, cause I assume that will be important for those who attend this workshop. Back at home, they’ll probably start creating their own battery powered sensors, so a good starting point is essential. And that’s what I’m working on right now.

Arduino Workshop?

Lennart Herlaar and me are really hooked up to all this Arduino(-compatible) stuff; we both started somewhere in September 2009 with our first ‘trials’. My first experiment was with an Arduino Duemilanove and some LEDs; resulting in instant addiction! Once you discover what can be done with this platform and how you can use it, every day new ideas and interesting projects pass by. Exciting!

We decided to see if we could share our enthusiasm with a larger group of Domoticans; cause there are a lot of Domotica related things you can do with the Arduino platform. Normally Domotica related hardware is quite expensive and closed, in the sence that every manufacturer creates its own proprietary protocol and tries to keep it a secret as much as possible; even changing it for the sole purpose of making all knowledge gathered by reverse engineering useless(!). Interaction between products of different companies is still very hard (if at all) to find – and most Domoticans are forced to use commercial Home Automation software like Homeseer to tie it all together. However, without a Plugin available for that special type of hardware you’d like to use, you’re practically doomed…

So when we started thinking about organizing an Arduino workshop for the members of the Domoticaforum Europe, we knew right away that we couldn’t do that without also supplying a Homeseer Plugin with it; well at least create a framework that would enable the workshop attendees to connect their new Arduino-based hardware to the most used HA software here in the Netherlands.

And that’s exactly what’s going to happen; when we get enough response (a mimimum of 15) to our post on the Domotica forum and we decide to go ahead with organizing this workshop, we’ll also have to start thinking about how to create an easy to use, flexible, future proof Plugin that can interface with the Arduino platform and it’s compatibles like (my favorite) JeeNodes..

It will be fun! As always 🙂

Major upgrade of Fritz!Box Plugin for Homeseer

This week i published a major Upgrade for the Fritz!Box Plugin for Homeseer.

As i mentioned before, there were still some interesting things that could be added to the Plug-in and i thought it was time to revive the Plugin by adding some functionality that was asked for, make it future proof by supporting the newer firmware versions. Some of the things that have been added in the last 2 weeks are:

– Retrieving the Phone Book from the Fritz!Box and using it for Caller ID(entification);

– Searching websites on the Internet for Caller ID;

– Supporting the challenge/response security mechanism built into new firmware;

– Switching the WLAN from Homeseer;

– some useful stuff for use in scripts;

– upgrade of configuration pages to ASP.NET.

You can read all about it in more detail on domoticaforum.eu

This should do for some time; maybe some small additions or fixes, but that’s it for now; time to move on to development of another brand new and exciting Plugin! 🙂

Extensions for the Fritz!Box Plugin for Homeseer

It has been quiet regarding the Fritz!Box Plugin for Homeseer for a while, but that’s going to change; when others start creating scripts around my Plugin then you know there’s something missing and it’s time to have a look at it…

The last couple of days i was looking at how i could spend the huge amounts of free time i have lately and decided to spend it on extending the Plugin with some extra features; the Fritz!Box has a lot to offer, so there are still a lot of things to explore.

But first i had to tackle the new way of logging in to the Web-interface that has changed in the recent firmware versions (xx.04.74 and higher). This new method of logging in involves calculating MD5 value based on a challenge provided by the Fritz!Box, and having read once that a lot of faulty MD5 routines exist, i decided to look into that issue first. I mean, creating additional functionality without supporting the latest firmware sounds rather stupid to me.
OK, the sequence of actions to do a successful login were clear to me, that wouldn’t be the problem; only thing i hoped for was that the calculation of the MD5 hash would succeed with the .NET provided classes/routines. So i created a simple function that could return the MD5 of a given string:

MD5-Hash

The resulting md5bytes should contain the correct hash value when each byte was written as hex string value and all 16 of them were concatenated. But something strange was going on…

The AVM documentation stated the resulting MD5 should be: 9e224a41eeefa284df7bb0f26c2913e2 And what did i get? 58224a41eeefa284df7bb0f26c2913e2.

What’s this… well OK, it’s almost the same, maybe it will work, lol.
On the contrary, this ain’t funny at all of course… what’s going on here ??? I just didn’t know what was wrong; was it the encoding? The AVM guideline speaks of UTF-16LE (LE = Little Endian), BOM, trailing 0-bytes, Codepoints; not really the stuff i deal with on a daily basis, so …??

Searching MSDN i found this:

Not mine

With just a tiny adjustment (there where the cursor is) and it worked…

I still don’t understand why; these things can really bug me and now i’m struggling to either just go on and let it be, or go to the bottom of this?

Let’s hope i don’t encounter to much of these mysteries..  🙁

Homeseer Plugin for Alphatronics Visonic Receiver

As i mentioned in my previous post, i developed a Homeseer Plugin for the Alphatronics Wireless Interface. This is the second Plugin i have developed for Homeseer, so the time to get the Plugin working was shorter then the first time. I know a bit more about Homeseer, getting to know the methods to call, etc. etc. With this Plugin most of the time was spent on the configuration pages; this time i made ASP.NET (.aspx) pages instead of doing it the hard way, i.e. embedding them into the Plugin itself.

Here some screenshots of the plugin:

Alphatronics Ethernet Interface SettingsAlphatronics Serial Interface Settings

The Plugin supports Serial connection type as well as Ethernet. Reason for this is that i have to be able to support the Plugin, but i have my interface connected to Ethernet by means of a Serial device server, the Sollae EZL-400S. This device is located at my fuse cabinet, where a ACT TI213, PLCBUS PLC1141 and this interface are connected to it. I have 1 RS232 port available.. but not for long i think 🙂

The screenshot below shows the sensor configuration page:

Visonic Sensor Configuration

Visonic Sensor Configuration

Depending on what the sensor is used for, you can change the text that will be shown on the HS Status page when a sensor is in Alert status or not:

Homeseer Status page

Homeseer Status page

Alphatronics Interface for Visonic sensors

Some time ago i received a new interface i had never heard of or had seen before, made by Alphatronics. It’s called a Wireless PC Interface and it can be used for receiving 868 MHz Visonic Powercode and CodeSecure transmissions. With this interface i can receive all my Visonic sensor i have, Keyfobs are received very good as well.

Here’s what the Interface looks like:

Some details:

Connection : RS-232, 9600,8,N,1.
Number of sensors supported : unlimited
Power supply : 12V DC
LED indicators : COM and Power

A very nice feature of this interface is that every received packet comes with information about the signal level, so you know exactly how good (or not) a specific sensor is being received. I’ve made some charts of these signal levels here. As you can see in the charts, some sensors are always received very good like the front door, others sometimes show strange ‘dips’.

Another very positive thing is that this interface receives Visonic keyfobs very well. From the day i started using this interface i have an event active that is triggered by the aux button on my Visonic keyfob that will open/close the garage door for me. It works perfectly.
I got the interface from Waakzaam Wonen (http://www.waakzaamwonen.nl), so if you’re interested i would suggest to contact them for more information.
I’ve also developed a HS Plugin for this interface. Pieter Knuvers and i have been testing this plugin thoroughly and i’m planning to release the Plugin in the next few days. Hopefully this will result in valuable input for more functionality to be added to the plugin. If anyone is  interested just leave a comment.
Update 22-07-2009: Waakzaam Wonen has made the interface available in their webshop