plmtools for the iMeter Solo and/or the GuruPlug
Update (11/10/2011): I've posted an updated version of the code that fixes the issue with the new 1.15 iMeters: see my more recent post.
Update (9/26/2011): Smarthome has come out with a new revision of the iMeter that breaks this utility -- the meter firmware seems to have changed, and the new one does not provide all the information of the old. To see if you have the old meter (that does work), look for a sticker on the back side of the iMeter. If you see a "V1.1", then you have the old one (good). If you see a "Rev. 1.15", then you have the new one (bad). I'm working on figuring out the 1.15 protocol to get this utility working again with the new ones.
One of my current research projects involves instrumenting a house with a lot of Insteon home-automation devices and collecting data from them. I've been using the very useful Linux plmtools utilities to talk to the Insteon devices programmatically. However, the plmtools suite has a few shortcomings for my purposes: one, the current release doesn't compile or run on ARM-based machines (such as the GuruPlugs I'm using) and two, it has no functionality for talking to the new Insteon power meter, the iMeter Solo. The iMeter Solo basically works exactly like a Kill-A-Watt meter, except that since it's an Insteon device it's possible to interface with it.
I've dealt with both of the above problems. I've fixed the ARM-specific problems in the code so it runs great on the GuruPlug, and I've added functionality for querying the current wattage level from an iMeter Solo. I imagine there are others who would like to use plmtools on ARM-based machines, and as far as I know there are no existing tools that allow you to query the iMeter from within Linux. Now, you can query the current watt draw reported by the iMeter using a simple 'insteon mydevice meter' command.
Also note that the iMeter Solo is frequently advertised alongside a special 'HouseLinc'-enabled version of the PLM that's required to use the HouseLinc software that can talk to the iMeter. This is unnecessary for my solution, which works just fine on a regular PLM.
You can download the modified plmtools here. See the included README for details both on how the base plmtools utilities work as well as how the added meter functionality works. I'm trying to get in touch with the original author of plmtools to see if I can get these changes integrated into a future release on SourceForge, but so far haven't had any luck.
July 29th, 2011 - 19:45
http://blog.zortrium.net/archives/files/plmtools-0.0.3-r1-imeter-armfix.tar.gz
Seem to be missing. Could you please provide a new link, e-mail them to me, etc. I’m interested in iMeter Solo monitoring.
Rick
July 29th, 2011 - 19:57
Thanks for the heads up, I fixed the link in the post: correct link is http://blog.zortrium.net/files/plmtools-0.0.3-r1-imeter-armfix.tar.gz. Also, I’ve made significant changes to the underlying plm utilities since this post (particularly plmcat, which was pretty broken) which make continuous monitoring much easier, so I may be releasing another update for the utilities soon. As it is, any logic on top of the basic ‘insteon meter XYZ’ pretty much needs to be manually added.
July 31st, 2011 - 09:42
Thanks!!!
I’ll keep a look out for the update.
September 25th, 2011 - 23:35
Thanks for these mods. I’m not [yet] running on arm, but I just bought an iMeter. My device only returns 0 watts, so I looked at the plmsend output and it’s always something like:
025018F8EA1973972B0001
025118F8EA1973971B88000001277200000000000000000000
With the 12772 number counting up. So the imeter is alive and counting time, but those 0000′s don’t change when I turn a 300 watt lamp on/off. Did you have to set your imeter up in some way I’m missing?
September 26th, 2011 - 06:58
I just posted an update to this post — I’m betting you have one of the newer iMeters (the Rev. 1.15) that has a ton of 0′s where the power data ought to be, as you’ve discovered. I’m working on figuring out a way around it but for the moment you won’t be able to use this utility with your meter. Sorry!
September 27th, 2011 - 15:28
Argh! From what I’ve heard of SH’s QA I thought it might be broken hardware. Or it needed windows software to do some sort of initial set-up of registers. Which is also broken hardware in my point of view. It never occured to me that they might change the protocol. Damn, that’s frustrating. Hmm, do I buy an “Energy Display” and see if I can figure out protocol snooping?
September 28th, 2011 - 00:13
Eureka! It’s command 0×82. The command 026218f8ea038200 gives me
025118F8EA1973971B82000163010C018000E6000000850751
Where that E6 goes down to 1 with no load. E6 == 230W which is pretty close to the 235 Watts that the lamp measures on my Kill-A-Watt! Yay.
October 29th, 2011 - 14:24
Thank God for this website. I was also trying to figure out the protocol for the IMeter. This post gives me how to find the wattage. I am trying to figure out the total power consumption however since startup, anybody knows ?
From what I can tell, it might be byte 20 to 23 in the extended message received after sending command 82. I get
025118F7881975211B820000D600FF00800086 00 00 02 2A 5DB2
The 0000022A seems to what is incrementing when there is a load and does not move when there is no load. I am not sure how that translate to watts consummed however. I have a load of 169 watts in the unit and the counter increased by 7 over a minute and 58 over 8 minutes and 3 seconds.
Anybody can confirm or knows ?
October 29th, 2011 - 14:37
When I was examining the protocol, I also noticed that those bytes only ever increase, and only when power is being drawn, so I’m pretty sure those are what you want. I haven’t looked in more detail at it, though. I don’t know how you’re experimenting with it, but I used the HouseLinc software — if you turn on the debugging output, you can get the raw packet dumps as they arrive, and along with the HouseLinc output itself, it helps with figuring out what’s going on.
November 10th, 2011 - 03:21
Thanks to Erik, I’ve posted an updated version of the code that works with the 1.15 iMeters – see http://blog.zortrium.net/archives/88.