Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can this pull from MQTTS? #23

Closed
crlogic opened this issue Jul 27, 2021 · 16 comments
Closed

Can this pull from MQTTS? #23

crlogic opened this issue Jul 27, 2021 · 16 comments

Comments

@crlogic
Copy link

crlogic commented Jul 27, 2021

A few details I found from serial console that smarter people might know what to do with it. Feel free to delete if not relevant.

Snippets..

MQTTComms: MQTT Server Configured: mqtts://a2poo8btpqc3gs-ats.iot.us-east-2.amazonaws.com:8883

MQTTComms: MQTTComms_PublishBinaryReadings Topic: $aws/rules/prodIngestBinaryToSQS/prod/binary/$SERIAL/meter

MQTTComms: TOPIC=prod/minions/emporia/ct/v1/$SERIAL/cmd
MQTTComms: DATA={"cmd":"set","live_meter_updates":60}
MQTTComms: DATA={"cmd":"query_debug"}

MQTTComms: SUBSCRIBE to topic prod/minions/emporia/ct/v1/broadcast/cmd
MQTTComms: SUBSCRIBE to topic prod/minions/emporia/ct/v1/broadcast/fw
MQTTComms: SUBSCRIBE to topic prod/minions/emporia/ct/v1/broadcast/verify

http://fwsrv.emporiaenergy.com:21100

plus two plain text certs and one RSA private key pulled from esptool bin backup.

@magico13
Copy link
Owner

magico13 commented Jul 29, 2021

Right now there's nothing like this set up for local access. There was some talk on this forum post but I don't know of any real advancements made on this front. Really hoping for official MQTT access so we can get realtime local data.

@crkochan
Copy link

crkochan commented Aug 4, 2021

What should be a link to forum post is instead a link to a Humble bundle.

@magico13
Copy link
Owner

magico13 commented Aug 4, 2021

Hmm, it sure was. Must've had my clipboard out of order, fixed now. Here's the full link

https://community.emporiaenergy.com/topic/api-to-pull-data/#post-7806

@crlogic
Copy link
Author

crlogic commented Aug 4, 2021 via email

@magico13
Copy link
Owner

magico13 commented Aug 4, 2021

Someone mentioned to me, might have been on Reddit, that they've intercepted the serial communication and sent it out via an esp32 to their local network. Let me see if I can find that message.

Found it: https://www.reddit.com/r/homeassistant/comments/ou6w0s/whole_home_energy_monitor_for_us/h71g75h

@crlogic
Copy link
Author

crlogic commented Aug 4, 2021 via email

@magico13
Copy link
Owner

magico13 commented Aug 4, 2021

Looks like they actually did do a write up of how they connected everything. Might be worth trying to go through their steps and see if it's still writing out that data on the serial line. https://docs.google.com/document/d/1tDGpX2XjyVnq4ThRZn4hKrfLy4UUmnX5uWzNcnqArd4/edit?usp=drivesdk

@crlogic
Copy link
Author

crlogic commented Aug 4, 2021 via email

@magico13
Copy link
Owner

magico13 commented Aug 4, 2021

I do believe it is a gen 1 which is also what I have. Unfortunately this sort of hardware hacking isn't something I've got any experience with so all I can do is wish you (or anyone else who tries it) luck.

@crlogic
Copy link
Author

crlogic commented Aug 4, 2021 via email

@mitchese
Copy link

mitchese commented Aug 19, 2021

Have you determined which lines of the ESP32 are connected to the SAMD? I'm working on reversing this, the project started out as an easy AnalogRead of the expanders from the esp32 ... nope :( I've pulled a dump of the esp32 firmware (easy), but the samd is possibly above my pay grade as well for reversing.

It seems to be that the ESP is calling some "protos.DeviceReadings" to do reading, and it looks like it's some kind of serial data. I think it may be the ESP pins 11 and 36 (these are the two that I've found so far). I'll try to scope these when I get a bit of time to see if anything interesting/easy is being sent

@crlogic
Copy link
Author

crlogic commented Aug 19, 2021 via email

@flaviut
Copy link

flaviut commented Nov 23, 2021

For the Vue 2, the pins are also IO21 & IO22. I go into more detail on everything in that post, and it's likely to be useful in reversing the Vue 1 too.

I also have a long dump of I2C inputs -> MQTT data outputs here, as well as a dump of the calibration data from the Vue 2's NVS partition.

If anyone is interested in reverse engineering this, please have at it!

@crlogic
Copy link
Author

crlogic commented Nov 23, 2021

@flaviut - that is a great blog post. Perhaps this should move to an ESPHome discussion since flashing and I2C is now known. We just need to figure out lambda data parsing..

@flaviut
Copy link

flaviut commented Nov 23, 2021

@crlogic Looks like @Maelstrom96 has figured out the parsing here: emporia-vue-local/emporia-vue2-reversing#1 (comment). I don't know if this is the same for the Vue 1, but it's a pretty good place to start.

@magico13
Copy link
Owner

Doing some issue cleanup so I'm closing this out. For anyone who stumbles upon this issue in the future, I definitely recommend checking out @flaviut's gist on flashing ESPHome for local access https://gist.github.com/flaviut/93a1212c7b165c7674693a45ad52c512

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants