Ener-314rt and mih0013 trv config

Does anyone have a working config please, for the Energenie ener314-rt board for raspberry pi, and the Energenie MiHome mih0013 TRv WITHOUT the MiHome hub ? please

I’m a python , C , and assembler programmer.

i note on the Energenie blog , a set of code on the Pi using the ener314-rt board …

i don’t know how to code addons for HA but i hear python is used? So before i down a rabbit hole, had anyone got a working or near working config? I ask because the blog is some 4 years old.

also this from @gpbenton points to some work done but with the hub whereas i seek no hub, no API…

Does HA rgLink have a role?

lots to think about but if anyone needs help with linux, C, python code… i can Help

I have build a node-red node for this, but I am new here and I have not used Home Assistant yet. I understand it can call node-red.

See: https://github.com/Achronite/node-red-contrib-energenie-ener314rt

Happy to work together on this.

Hi Achronite

Your node-red nodes are fantastic and have worked a treat for me. I now have all of my Energenie devices integrated into my Home Assistant instance (though I am struggling to get the eTRVs to work exactly how I would like with the Home Assistant thermostat card).

On your GitHub page you asked for people to confirm if some devices work successfully when tested, I have the following (in addition to the other devices you have already tested) and can confirm that they all work perfectly, they are:

MIHO006 - Whole House Energy Monitor
MIHO032 - Motion Sensor
MIHO033 - Door Sensor

I am happy to help in anyway with whatever your plans are on a Home Assistant integration but please be warned I am a total novice (with HASS and Node-RED).

Excellent news. Glad you like it. I’ll update my readme ready for the next release for the newly supported devices.

Do you have any instructions on how you got it to work correctly with Home Assistant? I tried to get it working a few months back. I got it to install OK (after adding dependencies for C/make). But I couldnt get it to interact with GPIO on a Pi2 Model B. I event tried the built-in node-red GPIO nodes in node-red to see if I could get it to illuminate the LEDs on the board; but that failed too.

I turned for help on this forum, but no-one responded, so I gave up. So I would be really interested if you can help out here.

Also, can you send me an example return message from the new devices please? I’m interested in what they return.

I had the same problem with regards to GPIO and failure from within Node-RED. Eventually I read that because Home Assistant runs on its own adapted version of docker it doesn’t allow any communication with GPIO devices, so running Node-RED in docker on the same device as Home Assistant is futile even if it is the official Home Assistant add-on version in its own container.

I imagine that it must be possible to do a full manual install of Home Assistant on a Pi without using the convenience of the docker but this isn’t something that I have tried. I gather from recent emails that Home Assistant are stopping support for the manual installation on Linux to allow their development team to focus on other matters anyway.

I did at one stage try running Home Assistant and Node-RED in their own python venv but this still didn’t solve my issues with regards to communicating with the board. The only way I I have been able to get it eventually working is by running Node-RED on Raspbian with the ENER314RT board on my Pi 3B+, having Home Assistant run on my Pi 4 and them pass the communication between one another.

With regards to the outputs from the other MiHome devices, the sensors literally give 1 for motion/open or 0 for no motion/closed, while the whole house monitor returns three values. A copy of each is below:

deviceId: 4482
mfrId: 4
productId: 5
timestamp: 1589142450
VOLTAGE: 4.566406
CURRENT: 2.179688

deviceId: 3827
mfrId: 4
productId: 12
timestamp: 1589142190

deviceId: 2580
mfrId: 4
productId: 13
timestamp: 1589142941

Would you be happy to share how you have constructed your flows for the eTRVs? I think my issues are with how it is working with the thermostat card in Home Assistant but I would be intrigued to see an alternate set-up, it might give me some well needed inspiration.

The eTRVs are a nightmare to work with. The problem is that they only listen for radio signals for 200ms after they send a temperature report (default every 5 mins) before going back to sleep again. I had to re-architect my entire code base to get it to work; and even then there is no sure-fire way of getting the target temperature reported from the device (that I know anyway).

The best I could do was to cache any commands and to re-transmit, so you need to be aware of what is happening under the covers to put together a good flow.

The key thing is that there is no way to confirm that a temperature set command has been received successfully, or what the target temp of an eTRV is. It retries the TEMP_SET command, by default, 10 times - so that is approx 50 mins. It may only need 5mins, it may never receive the command in the full 50 mins.

I’m not familiar with the thermostat card in HA. What does it generate? And how are you translating this in node-red to the eTRV node?

I’ve switched cards to a differing graphical version over the last week and it now works much better. My issue with the standard card and the simple thermostat card I have both tried has been trivial if I am honest. It’s the status on the card will only display idle when the valve is set to auto and at that time it is actually heating, obviously I want it to state heat. Using the card I have switched to in the last few days it displays the state as an icon and coloured ring on a Nest-like GUI and even when it thinks it is idle the icon and ring still shows as heat so it has solved that issue.

My only outstanding problem now is how HA sets the temperature when the valve is set to heat/auto but obviously sometimes the messages are lost as you mentioned in your reply and your documentation. I assume the auto/heat cached message is being overwritten by the temperature that I want it to be when HA sends that value, so it is then setting the temperature on the valve but not activating the valve itself. In an ideal world I want to delay the temperature value coming from HA to only be released to the eTRV once the valve has activated or to repeat the temperature command 5 mins later.

My work around is I turn the valve on and wait to hear it kick in before making my temperature adjustments and obviously that is all fine when stuck in the house but obviously for when away I need to resolve that issue.

The solution is probably very easy but being new to both systems I am relying very much on a trial and error approach to see me through, I will keep tinkering.