HEMS2 – improving the breed

It’s now around a year since I first started with my HEMS. Initially it was managing just the charging of my electric car around the cheapest electricity prices, but subsequently I added water heating, storage battery control and, most recently, dish washer and washing machine.

That original HEMS was built around a used Raspberry Pi that I bought cheaply from a colleague but, while its processing power was perfectly adequate for the task (which isn’t at all demanding), it did have some mechanical issues. Firstly, the mounting holes for accessory cards (known as HATs – HArdware on Top) moved between generations of Raspberry Pi and the holes in my Pi for the standoffs did not align with those in the newer accessory card. Secondly, I never managed to find a case with the space for the HAT and the mains cables that it switches. The former resulted in the electrical connector between the Pi and the HAT taking much of the mechanical load, and an occasional loss of connectivity to the HAT.

These mechanical issues are resolved by the new HEMS which uses a third generation Raspberry Pi allowing use of proper standoffs and a new case with the depth to enclose the HAT too.

Relay HAT on Raspberry Pi 3 (without standoffs fitted or insulation layer).
HEMS2 (the black box) replacing my original HEMS

As previously two cables connect to the HEMS – a black USB cable bringing 5V power and a grey multi core cable that brings a live mains feed to the relays with three switched lives returning to the adjacent junction box. The relays control my less intelligent loads – the ImmerSUN and the car charger – while other more intelligent loads are controlled via APIs via Wi-Fi and the cloud. The whole assembly continues to be mounted on a board on the side wall of the airing cupboard. When modification is required the assembly can be lifted off two screw heads and laid on the floor.

All the software on both generations of HEMS is the same except for the scripts that interact with the relays – either to set or read status. I assume that the pinouts on the Pi must have changed between generations as an identical HAT card moved from the ic0 to the ic1 bus requiring a single digit change to each interacting command.

Raspberry Pi images are licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
Attribution: Efa at English Wikipedia

Please follow and like Greening Me:
Pin Share

Leave a Reply