Random: Arrgh, my ankle! Energy Monitor Fun – tracing “vampire loads”

Another week goes by, and strangely, my ankle is still busted. As a result, life has been about being content with being bedridden most of the time and trying my best not to walk at all, in order to avoid putting any pressure onto the ankle. My motivation to work is completely kaput, but at least I still try my best to keep my brain active. Blogging definitely helps.

The Hospital Experience

On Wednesday, the pain flared up and put me back about two weeks in recovery. I was not even able to limp, so we went to Westmead Hospital at 7:30pm. I’ve been to Westmead before, but that was prior to renovations to their emergency ward. It was newer and brighter, but would it be any more efficient?

Last time I went there was five years ago – when I lost control and feeling in half of my face, a sudden onset Bell’s Palsy with no known cause. I remember staying there for literally three hours after triage to see someone. I was told that was normal, although it’s not clear how well the priority system worked at all.

This time, I was triaged and sent to their Urgent Care Centre. Don’t be fooled, urgent care really is synonymous with “slow lane“. I saw many people less fortunate, with troubles that were simply unable to wait any longer, leaving before being seen and hoping back to come back at a better time. I was determined to wait, however long. In the process, I saw the Bachelor finish on Channel Ten, I watched Kevin Rudd’s resignation from politics and the well-wishing speeches by his fellow colleagues and ‘enemies’. It was almost midnight before I was seen. Four whole hours (if not a little more than that) before I was admitted into the patient area.

From there, it took about an hour and a half to arrange for my vitals to be taken, blood and urine to be taken for testing and a few X-rays to be taken. Their result seemed to suggest that I had a secondary infection which was not related to the joint pain directly, but could be hampering recovery, causing my low grade fever and elevated heart rate. They also took a chest X-ray to be safe.

But then, erring on the side of caution, they wanted to transfer me to the acute (i.e. “real emergency”) area. But there were no beds. Why did they want to put me there? They weren’t clear. We waited, and I said to myself, “If we’re not done by 3am, I’m not waiting.” They had no facilities for ultrasound at the time, as the technicians were no longer present.

As it turns out, the blood came back with elevated white cell counts as expected, suggesting infection. But they couldn’t give us a straight answer as to why they wanted to take me over – one nurse implied “so that you can see the ankle specialist first thing in the morning”, while another claimed that “you won’t be able to see an ankle specialist as they won’t be in on a regular basis, but you can see an acute doctor” and another time, replacing acute doctor with orthopedic surgeon.

Ultimately, we waited enough, and 3am came and we resolved to press the matter and clear out of there. Ultimately they admitted there was no possibility of having a bed, nor seeing a specialist. Instead, we’d leave with a referral for an MRI (to be done elsewhere due to long queues, to get a clear picture of what was happening with the ankle) and some medical certificates. But then, a strange thing happened, the junior medical officer phoned for a second opinion before discharge. And this was when an acute doctor agreed to come over and check me out. Great, I thought …

It was 4am before he rolled by. Reasonable guy, very nice chat. Ultimately he concurred with what we were intending to do, and so we finally got let out at 4:15am and made it home by 5am.

All in all, a 9.5 hour marathon, all for a blood test, urine test, crutches and a few x-rays. The advice was to remain on the anti-inflammatories, which I will, for as long as I need them and can stand them. For now, it’s pretty much bed most of the day.

Efergy Energy Monitor Decoder Performance

I did make a bit of a promise in the last post not to post more about the energy monitor, but I can’t help myself. It’s such a cool thing to have, if you’re interested in numbers.

I did do a little comparison, it seems that Nathaniel might be right – decoding under Windows does not perform as well as decoding under Linux. I did a packet interval analysis to determine how many packets were lost, and how many were successfully received first time.



The result? A respectable 86.35% for Windows correctly decoded, but an outstanding 99.77% for the Samsung ARM ChromebookThe same tuner was used in both cases, with the same antenna and the same gain settings, although owing to the fact there might be slight differences in placement and the computers themselves might have a different level of voltage noise and CPU time, you may find that the differences may not strictly due to operating system alone.

The numbers won’t add up immediately, without taking into account that each of the 12 second intervals represents two packets, 18 second intervals represents three packets, and 24 second intervals represents four packets in total, plus an additional packet at the end (as there’s no time delta for that one). Also, a useful thing to know is that the send interval is selected to be 6 seconds (+/- 1 second due to computer clock drift and crystal drift in the transmitter).

I suppose it’s still okay with some loss – you do get quite a bit of data to play with, although it’s probably clear why Nathaniel preferred Linux.

Efergy Energy Monitor Broadcast

I’ve had my broadcast running for a while now, using socat and everything’s mostly dandy. It’s been running broadcast to with no trouble, as nothing else has been using that port to do broadcast, so it’s nice and quiet except for the printouts made by the decoder program.

But then came one hurdle – how would I tune into the broadcast using my smartphone?

The answer to this dilemma was to not worry about UDP for the smartphone at all. Instead, I’d have the data sent TCP – telnet style.

This can easily be achieved by launching (say on the server), a second socat instance:

socat -U TCP-LISTEN:23,fork UDP-RECV:64123

This causes the socat instance to listen to the telnet port, and fork upon receiving a connection (allowing another user to connect). Once connected, it will copy all that it receives from UDP port 64123 over the TCP port to the telnet client. Bingo!

Note the intentional use of unidirectional, as we don’t want telnet clients pushing data back into the broadcast chain (although UDP-RECV should prevent this). Also note that TCP-LISTEN is on the left side, otherwise, socat may listen and buffer many UDP broadcasts and waste memory, and flood newly connecting clients with it. The left side is established strictly before the right, so this ordering prevents this.

On the smartphone, one has to have a telnet client. On Android, my client of choice is ConnectBot. Toggle the zoom, toss in my old (nearly useless) Huawei U8300 and we’ve got a “mobile” power monitor.


If you would like, you could even set up a port forward to allow external viewers to connect to your telnet “server” to see the usage, however, do be aware that you should protect it a little – maybe try changing the port. Each connection spawns a new socat process, so rapid connections could cause PID exhaustion and instability on your servers!

Of course you could make it TCP all the way by replacing the UDP when invoking the decoder and piping the output, but I still like UDP for its low overhead and simplicity for “everything else” – you can even get an Arduino with Ethernet and LCD shields to be an Ethernet connected screen printing out UDP data like the format I showed earlier.

A Better Broadcast?

I think that knowing all of this, it may be possible to fashion a much better broadcast system. Say, if the output of the program was altered to be more like:


This would allow the type of the packet to be distinguished by the ‘$EMC’ signature (Efergy MultiCast) to allow rejecting unwanted packets. We can avoid sending the decimal part of the power as well, to avoid wasting bandwidth.

Of course, you wouldn’t directly present this to your user, but it may be possible to fashion a Java applet for PCs to do short term graphing, or a mobile app to do the same.

Again, I probably won’t go this far, but it’s an idea if anyone wants to take the challenge.

Shooting Down Vampire Loads

I think it’s pretty clear by now that energy prices will keep going up, and being efficient with your usage is mandatory. Normally, vampire load draw can be significant – these are things like “idling” chargers, computers, LCD TV’s, monitors on standby.

We’ve already been quite energy efficient – despite all of my experiments and hobbies, our normal daily usage for the three person household is about 17kWh/day. That’s considering we have three split system units as well, which we “are not afraid to use”, although hot water is provided by instantaneous gas.

Our base load is a “high” 550w continuously. I’m not particularly concerned about it due to the number of “conveniences” and “infrastructure services” we run at home, all of it naturally “costs money”. This includes our fridge, three computer servers which are active, modems, switches, VoIP adapters, TV amplifiers, cordless phone bases, mobile phone and tablet chargers, numerous standby desktops, monitors, clocks, microwaves, and laptops. I still figured it’s a bit high. Almost 200W too high.

Enter, our Panasonic reverse cycle split systems. They’re all 2.5hp units, and they seem to cause some radio interference in my experience. But flipping the circuit breaker on all three of them immediately lowered the loading by 160W.

Yikes. 160w load, 24 hours … 3.84kWh/day, 115.2kWh/month or about 346kWh per quarter. At a rate of 27.39c/kWh, that is $94.66 per bill or $378.64 per year at the current regulated first 1000kWh/quarter rate.

That’s about the same as leaving on 24/7 another two computers working computationally moderate loads on their CPU, or about 10 energy saving light globes of 16w each.

From what’s said online, it seems to be known feature of certain air conditioners to have crankcase heaters which are used to stop refrigerant and oil mixing in the compressor when it is the coldest point in the system causing compressor damage on start-up. The need for this in warm climates when used for cooling is debatable. Apparently there are models which don’t have this “feature”, and more environmentally sensible solutions can be found, but even testing by the Australian Government seems to have revealed their knowledge on the matter, and yet I haven’t heard it becoming part of the MEPS standards or star rating system either.

The factsheet linked earlier stated:

A total of 5 units with sump heaters were measured.
The values recorded ranged from 30 to 79 W with an
average of 53 W for the five models measured.

Our units? They measured 53.33W using the efergy meter. Right on average.

So what is the advice, is it safe to switch off? It seems like it is safe provided you power it back on at least 24 hours prior to using it to ensure refrigerant and oil separation and thus no stalled compressors or running in low oil conditions.

Right now, I think we’re going to go looking at the weather forecast, turning the breakers on the day before a predicted heatwave, and turning them off soon-after. We might leave them on permanently during winter, if we intend to use heating.

But I’m still thoroughly shocked. So much money over the past five years of ownership could have been saved if I had bought the energy meter earlier, and done a through attempt to reconcile energy usage.

All this considered, especially the fact that I’m a PV engineer and I should know all of this, makes me think that we (as a nation) have so many of these installed, eating electricity, that it’s just not funny.


It’s been a rather “unproductive” (by my standards and by the PhD standards) week, and I’ve spent a lot of time in bed, not actually doing work. But when I have, I always dig up more than I can chew or post. I made some promises last week to bring back some more nostalgia-type posts, but I haven’t gotten around to it as yet. One day, I say. Always.

Anyhow, the visitor-ship to this site has grown dramatically over the past week, many thanks to rtl-sdr.com! What started (honestly) as a bit of a place for me to post what I’ve been up to and develop a “reference source” for my own hobby work seems to be enjoyed by many people worldwide. I’ve received a few e-mails from readers, and that’s been very encouraging especially seeing just how geographically diverse they are. The internet knows (almost) no boundaries!

It’s also interesting to think back at how quickly the year is coming to an end – it’s nearly Christmas again, and those who think of doing their shopping online should probably do it now, otherwise have their packages delayed and jammed up in the postal/courier networks. I’ve certain done my share of splurging over the last few days.

In a move which makes no functional difference to the site, I’ve added a logo to the top. Maybe if I have time, I should make some high resolution favicos for tablet users so they can see something less pixelated.

I suppose this wraps up (no ankle pun intended) another week. Lets see what happens this week …

About lui_gough

I'm a bit of a nut for electronics, computing, photography, radio, satellite and other technical hobbies. Click for more about me!
This entry was posted in Computing, Electronics, Radio, Uncategorized and tagged , , , . Bookmark the permalink.

Error: Comment is Missing!