I have lately spent considerable amount of time on reading various home automation related stuff from the energy efficiency front. With a goal of finding some solution that would allow me to measure and control electricity usage down to specific device. The idea being that in general people have found ways to reduce their energy consumption by ~20% if they see where it’s actually going. One interesting case study is here which shows that almost 1/4 of the energy in the measured office building is used up by the printers and coffee&vending machines account for almost half of the total energy usage.
In my case I believe I already have a pretty good idea what to optimize and I just need something cheap and open enough to do it.
I concentrated ZigBee smartplug solutions since it’s just really convenient to connect it anywhere without having to deal with the wiring and I already have some ZigBee stuff around for the greenhouse controller.
I came up with the following options:
- Digi’s XBee Smart Plug. It’s currently priced at 84$ and seems rather developer friendly since simple Python examples are available. From my perspective the showstopper is that they only have US 110V version of this device available and I happen to live in europe where we use 220V.
- Plogg. Currently priced at 97£ for their older version which as far as I can gather has proprietary interface and 135£ for the ZigBee Smart Energy profile compliant version, which hopefully means the interface is standardized. In addition I would probably need ZigBee USB dongle with Ember chip (34£) since as far as I understand from couple of google-translated form posts it wouldn’t probably work with my current XBee nodes. Add shipping to that and you get ~170£ which is a large amount of money for measuring and controlling just a single socket. Another thing that bothers me about this solution is that they don’t seem to be as open as Digi’s solution is – their FAQs talk about using their own commercial SDK for communication which is Windows only and costs you 125£ which is far cry from couple of lines of Python that it should be. On the bright side several people seem to have tapped the SDK communications and have simple scripts available that seem to work.
- ePlug by 4-Noks. Seems nice but I couldn’t find any information on the pricing. Usually this means either you don’t want to know or we aren’t actually in production yet.
- Plugwise. They provide starter kit with 2 smartplugs and USB dongle for 124€.You can buy extra plugs for around 30€ per socket. The kit also contains some software, but I have no use for that since it’s closed source and Windows only. Besides they have had a privacy fiasco with older version of that software which turned out to be sending your data to their servers without asking you first (it’s said that the current version of the windows software does contain option to turn it off). Luckily the protocol they use seems to be reverse engineered. Currently the main problem with this solution seem to be the shipping costs, they want 101.39€ for shipping that rather small package to me which is a bit outlandish considering the kit itself costs about as much and shipping it with normal air mail should cost max. 15€. Some resellers are shipping for less but their kit price itself is 20-30€ higher so there’s not much difference in the end result. Update: Plugwise was kind enough to send it with TNT which was a lot cheaper @ 17€
Then there’s the more fundamental question if controlling your devices should be done over such wireless protocols at all since it makes attacking your network that much simpler. The low power aspect doesn’t really help much against that since similarly to Bluetooth long-range attacks it can easily be worked around with well directed powerful antenna. I haven’t really looked well enough at ZigBee security aspects and neither am I security expert, but judging by how far more evolved WiFi security has been taken down several times I wouldn’t be hopeful that ZigBee security stands for long without major holes. Some attack tools are already available and the referenced presentation describes several awfully simple attacks (even simple replay attack is effective against several products!).
I don’t care much if an attacker can read my sensor network and determine how much power I use or what is the temperature in each room but being able to control central heating, sauna, water and gas valves etc. remotely is quite another thing. Another rather interesting question is what do you do when the protocol that is embedded in chips in wall sockets, lamps, switches and whatnot becomes trivially exploitable? Replace the whole thing? Reflash the firmware over the air? Some of the security stuff can be implemented in hardware for efficiency so firmware replacement wouldn’t help even if you could do that…
So in general I think I will use ZigBee for things that I don’t care about and for which randomly turning on and off doesn’t have any bad consequences. For critical things that can burn out or burn down the house if kept in too long I will use well shielded cable or no computer control at all.