Due to the layout of the house, the heat meter is not that close to the heat pump, so I’m measuring the power usage of the heat pump with a Shelly Pro 3EM. I’ve got some other immersions etc on different Shelly PM devices, so I used Claude to write a patch for emonHub to read Shelly energy meters (anything from Gen2 onwards - Plus, Pro, Gen3, Gen4) using WebSockets or HTTP polling. It seems to be working smoothly for me! See Add EmonHubShellyInterfacer for Shelly Gen2+ devices by ramcq · Pull Request #244 · openenergymonitor/emonhub · GitHub if of interest, would be great if anyone wants to pull and test it on their setup. Should make Shelly support easier for folks without needing custom MQTT or NodeRed hacks. You can see my heat pump power readings on Emoncms - app view using this code!
Hi Robert
As a Shelly user here, that would be really useful.
Have you any idea how much ‘load’ it puts on a Rasbperry Pi? Are you running it on the same box as your emonCMS - what model of Pi is that?
It’s running on my emonHp which is a Pi 4. It’s monitoring 4-5 Shelly devices for me and the load is basically nothing. I think you could monitor dozens before anything would even start to be visible/problematic from the emonhub load perspective. Of course, emonCMS itself will add to that, but on emonHp the default configuration is just to send the readings up to emoncms.org and not log the feeds locally. I don’t expect any real load issues, the code is not doing anything taxing at all.
It’s definitely not impossible; they don’t support web sockets so you’d need to poll them over HTTP, which is supported by the code as a fallback - but the main challenge is the HTTP API is different - it’s not the RPC that the Gen2+ devices use. It’s not something I personally would commit to doing because I have no need for it, and I don’t have any of these devices to test in any case. But someone (or Claude) could do it pretty easily if they wanted!