Emporia Vue 2 Alternate Firmware

Hi

Not sure that this is the correct place to be asking this question but here goes anyway :slight_smile:

I have an Emporia Vue 2 which is a really nice piece of kit, well made and reliable.

I do however have a few issues:
Unfortunately they do not make it easy to get local data from the unit as there is no local offload and everything has to be via their cloud server using preferably their phone app.
If you have any connectivity issues it is a big problem as you cannot get any data from the unit.
There is no official API so Home Assistant integration is via a non-official method
There is a restriction on the number of times you can query their server per day which limits the number of 1min interval update calls you can make.

As a result I have been looking for some advice on perhaps reflashing the unit with some alternate firmware that would enable me to send data straight to my MQQT server and not sure if that would even be possible.

Found this video with a close up look at the hardware.
Emporia Energy Vue GEN 2! Smart Home Energy Management System Detailed Analysis - YouTube

Any suggestions/advice would be appreciated.

Maybe better just to try sell it all and buy some open hardware

Welcome to the OEM forum, John.

I’ve never come across one of those and I can’t remember seeing the name mentioned here.

I think you’ve discovered the real problem with commercial units: while they work and do what you want, they’re (usually) fine, even though many have questionable accuracy in ‘difficult’ conditions. But when the manufacturer goes out of business, the website disappears and all your historic data vanishes instantly. Or worse, they decide that data has a value and have you over a barrel when they charge you to access your own data.

My recommendation, if you want flexibility and (importantly) you have the knowledge and aptitude to find out how it works and figure out how to extend the capabilities, is to go down the open-source route.

Look around this site, and feel free to ask any questions. There’s usually somebody able to answer reasonably promptly.

1 Like

Thank you Robert, you are 100% correct, buying some open hardware is my next option :slight_smile:

The Emporia Vue appears to have a ESP32 microprocessor in it, not sure what A/D converter it is using but am thinking I may open my one up to check. Would be nice if I could just change the firmware but will see what happens.

Unless you can find somebody who has already done the work and published it, then you’ll need to reverse-engineer the hardware - at least far enough to understand the functions you’re going to need to use, so that you know what your software needs to do. That could be a significant task.

Check out this page about how this user modified the firmware to write the MQTT data locally:
https://flaviutamas.com/2021/reversing-emporia-vue-2

I didn’t find that page until after I got mine independently working using the same basic idea but a different flow to generate the updated firmware image. I tried quite a few more dead ends than the author of the blog linked above - to save anyone the trouble, the obvious idea of downloading the firmware, and then using a hex editor to change the SSID, password and MQTT server in the firmware image and then uploading it does not work. It doesn’t pass Espressif’s NVS cyclical redundancy checks (CRC) because the data doesn’t match the hash and it gives an NVS_READ_ERR. So you sort of have to do something similar to what is outlined in the blog to get this to work - my method is different but a lot of the flow is the same and I haven’t actually written it up like the blog author did. But once it works, though, you get exactly what one would want - which is a completely local solution which doesn’t use the cloud at all, and writes the all data to the MQTT server on your local network about once every 5 seconds.

2 Likes

Welcome to the OEM forum, @P_M .

That’s very useful information, thank you for contributing.

1 Like

Thanks P_M

That’s awesome, exactly what I was looking for (almost :slight_smile: )

Edited text - Moderator, BT

I’ve been seeing a lot of hits from here!

At this point, there’s a complete open source firmware based on ESPHome available for the Emporia Vue 2. Installation instructions are here: Setting up Emporia Vue 2 with ESPHome · GitHub

1 Like

So I’ve been very interested in the Emporia Vue 2, and have partially reverse engineerd the PCB from photo’s. I don’t have one (yet) so haven’t gone into all deep and dirty details, but here’s the PDF I’ve got so far: https://github.com/emporia-vue-local/emporia-vue2-reversing/raw/master/vue2_schematic.pdf The repo also contains the KiCad files I used to reverse things :slight_smile:

What makes me wonder now, this device seems to be much cheaper but what compromises did they make compared to what emonTX seems to do? Also, having everything inside a single box is also super nice.

If I where to make this myself with these idea’s, I’d probably do something very similar, though maybe bring-out the Ethernet port of the ESP, and maybe use a better ADC (dual ADC please to keep voltage and current measurements in sync :stuck_out_tongue:

This helps, but it’s not the answer. You still have phase errors from the c.t. even though, with a galvanic connection you can have zero phase error on the voltage. Being able to sample two channels out of sync by a defined and controlled amount is what you need.

Of course, that would be then the software side of things, ensuring clock-cycle accuracy of the sampling moments. I suppose there’d always be at least one clock cycle difference unless you can start measurments simultaniously (e.g. the start bit in one register so you can do EN0 | EN1) …

Just found this device, it looks a Clone of Emporia. So more hardware alternatives.