I'm all for implementing device support myself -- like others have said, some of us just need to be pointed in the right direction (though more detailed instructions on how to add sensor support would be extremely helpful). I have an Aeon Labs Smart Energy Switch (
http://www.amazon.com/gp/product/B007UZH7B8) and an Aeon Labs Smart Energy Monitor (
http://www.amazon.com/gp/product/B00DIBSKFU). The switch works great -- connected first try, and reports energy usage. Common sense would dictate that the Energy Monitor, having only a subset of the Energy Switch's features, would be easier for the Almond+ to deal with, but that is apparently not the case as it indicates that that device is not supported.
Taking some cues from this thread, I started my own investigation. I found five copies of DeviceList.xml -- one in the root path, and four in various subfolders. All copies contain both the Switch and Monitor. I'm curious how Z-Wave devices are uniquely identified because the only fields that seem like they could possibly be unique identifiers are OZWNode and AssociationTimeStamp. I would have presumed it would be something like the ZigBeeShortID or ZigBeeEUI64, but those are both NaN presumably because these are both Z-Wave devices rather than Zigbee. But that's basically a side note as I really just want the device type supported, and surely this is defined in the DeviceType field. The Switch (the working one) has a DeviceType of BinaryPowerSwitch. The Monitor (the "not supported" one) has a DeviceType of MultilevelSensor. Not super helpful. I mean, isn't a BinaryPowerSwitch conceptually a multi-level sensor also? It does multiple things.
On another cue from this thread, I checked out /almond/config and it has its own aeon_labs folder; awesome! It has three very promising definitions: hem.xml, hem1.xml, and hemg2.xml -- I'm guessing that stands for "home energy monitor" and the defined commands seem consistent with that guess. But, how do those XML files get used? I went up one folder level and found manufacturer_specific.xml that appears to define lots of devices according to the description at the Open Z-Wave site (
https://github.com/OpenZWave/open-zwave/wiki/Adding-Devices). Indeed, hem1.xml is "Aeon Home Energy Meter" with type=2 and id=9, and hemg2.xml is "Home Energy Meter G2" with type=2 and id=1c, and . So...it seems good that the device I think I have has a definition, but why does it then still show up as unsupported? One reason I can think of is that I don't actually have what I think I have -- that is, the type and/or id reported by the device doesn't match the definition in manufacturer_specific.xml. Unfortunately, I think I'm close to a dead end here though because I don't know how to check what those values actually are for the device. Is there some kind of command on the Almond+ that will list all Z-Wave devices within range, along with their product type and id? There is a whole section in the database entry for this device (and others, I assume) labeled "Device data" (
http://www.pepper1.net/zwavedb/device/65 or
http://www.pepper1.net/zwavedb/device/693) Is there any kind of utility on the Almond+ that will print this data out for all in-range Z-Wave devices, or is that data not present on the devices themselves? If not, it seems like I'm spending an awfully large amount of time trying to get Almond+ to do something that a $40 replacement (
http://www.amazon.com/dp/B003MWQ30E) would do just fine.
So:
1) Why doesn't Almond+ support my Monitor when it seems like there is a definition file for it?
2) What can I do to work toward adding support for it?