Keeping tabs on your Electricity Usage using Smappee

I bought a Smappee a year ago and it has been a great help in finding appliances that needed some attention.

This is not a paid review. I’m a customer and I’ve made a Chrome extension called SmappeeGraph to keep a eye on power usage. You can get it here.


Appliance learning has been a bit fuzzy. I’m missing a way to diagnose based on phase data. It can’t detect multiple stoves of the same type even if they are on different phases (I’m not sure there really is a way to do it though). And it tends to group always on appliances into a single appliance that was driving me wild for a while until I figured that was the case.

Data history is limited to what is stored on the service. You only get 5min granularity for the last day, 1 day granularity for the last 6 months and 1 month for the last few years. The UI for looking at that data is terrible.

The mobile app works fine, it does have notifications for appliances, but they are flaky. The added smart switch does not suite me, as it’s just the one and limited to the area where the Smappee meter is – but it might come in handy for certain applications.

Reliability was not a issue at all, it has been constantly working for the last year without any mayor issue. If it loses power it takes a couple of minutes to sync back to the mobile app.

Support was great, I messed up my order and they worked with me to fix it within minutes.

Solar meter is available, I haven’t had the opportunity  to test it out.

Hackability. I have the home version that is compared to their commercial offering quite limited. They have a web-based configuration utility that can be used to reset the memory, make it re-learn the appliances and look at second-to-second data for each phase. Here is a example how that can be used in a chrome extension. The smart plugs can also potentially be used in the same manner.


Facebook Accessibility alt-text on desktop clients

Facebook has had the accesibility feature of describing the photos on your stream (automatic alternate text) avaliable for some time on their mobile applications.

This should be coming to various platforms soon but if you cant wait, and want to catch a glimps on computer vision advancements within Facebook, here is a userscript for you:


FxKeyboard 3.0 Alpha

Version 3 brings much anticipated changes including a language switcher, working tab, fixed width etc.

Under the bonnet the whole plugin was rebuilt, serving localisators better now with more options.

Hackers will have a fun time with this plugin, as the code is clean and straightforward – making any kind of specialised keyboard is easy.

Leaflet for small spaces

Leaflet is a great lightweight JavaScript module for showing all kinds of maps – but not really small ones.

The next version 0.8 (currently dev) helps with that.

The next snippet creates a CRS called Metric, while similar to the Simple CRS, this one has a scale of exactly 1 meter and is not bounded by degrees of latitude/longitude.

Additionally, the next snippet is a patch to the Scale Control, that goes away with the Earth CRC and uses our custom one to display a perfect meter scale (and imperial, bah).

Update 15.7.2015:

An example custom map is here. with PyScripter (& PythonPortable w/ PyPi)

During my Udacity Class CS258 I was introduced to You can read up on Code Coverage on Wikipedia but I would also recommend the free course on the subject via Udacity.

To get running on your installation, the easiest way is using the console command easy_install. If you are using PythonPortable, you need to navigate to AppScripts before executing the following command:

easy_install coverage

Easy, wasn’t it?

PyScripter is a neat IDE packaged with PythonPortable. It has a feature called External Tools (found under the menu Tools->Tools). To make a neat shortcut you can “Configure Tools..” under the same menu.

Here are two shortcuts, one for running coverage on one file, the other for constructing the HTML:

Parameters=run $[ActiveDoc-Short] $[CmdLineArgs]
MessagesFormat=$[FileName] $[LineNumber]

Caption=Coverage HTML
MessagesFormat=$[FileName] $[LineNumber]

Just pasting this inside PyScripter.ini does require some additional fiddling, so I recommend just using the gui. The new commands will appear inside Tools->Tools. The generated HTML will be inside the scripts working directory.

Now go do some coverage testing!