[Release] - EmporiaVue cloud integration

This post is for the the release of Emporia Vue Integration for Hubitat! :tada:
All relevant code files can be found here - amithalp/EmporiaV2. Take a minute to read the Readme file
This app and driver integration enables seamless energy monitoring for your Emporia Vue devices directly within the Hubitat platform. With features like secure authentication, device discovery, and real-time data retrieval, you can now bring energy insights into your smart home ecosystem.

Key Features:

  • Authentication: Token-based authentication with automatic refresh support.
  • Device Discovery: Quickly discover and add Emporia devices and their channels.
  • Energy Monitoring: Monitor energy usage, percentage, power, and more.
  • Customizable Settings: Configure retrieval frequency, energy units, and date formats.
  • Debug Logs: View detailed logs to troubleshoot and understand system operations.

Setup Instructions:

  1. Add the EmporiaVueIntegration app and the corresponding drivers (EmporiaVueParentDriver and Emporia Circuit Driver) to your Hubitat environment.
  2. Install the app and configure your Emporia credentials.
  3. Authenticate and discover devices associated with your Emporia account.
  4. Set your desired data retrieval frequency and other settings.
  5. Save changes and monitor energy data directly from your Hubitat dashboard!

Please note the followings:

  1. I am no developer and my code is probably not perfect
  2. As of app version 1.0.4 - there is support for multiple Emporia devices
1 Like

So far great, the only issue I had is the device template for the dashboard had to be changed to power meter for some. Thanks I may get rid of the pyemvue integration I have.

2 Likes

I am testing the use of InfluxDB and Grafana to bring the data as graphs to my dashboard.
This is how my tests results look like for now.


I am using the great comunity InfluxDB Logger app

2 Likes

Just released a fix to the app code. Version 1.0.1 - fix reschedule to the fetchData method when the app is updated. Github link on the first post contain the new version.

WOW - thank you for this. To be clear, this allows Emporia Vue integration without another piece of hardware?? If so, that is beyond awesome, and I'll pull the trigger on installing an Emporia Vue!!!

Yes. Good luck and please let me know how did it go

Just updated the Github repository with app version 1.0.2 that will make sure changed circuits on the Emporia side will be updated (create, update or delete child devices) when the user click 'Create/Update/Delete devices' button in the device discovery page.

2 Likes

Updated the Github repository with app version 1.0.4.
:white_check_mark: Support for multiple (even nested) EmporiaVue devices
:white_check_mark: Automatic Device Labeling
:white_check_mark: Ensures Unique Names in InfluxDB/Grafana if used
:white_check_mark: Improved Debug Logging & Device Updates

This version ensures better compatibility with InfluxDB, Grafana, and Hubitat Dashboard, making energy monitoring more accurate and intuitive.

1 Like

This is my Grafana dashboard for now:



Repository is now updated with app version 1.0.5 supporting auto-rescheduling in case the refresh token process ends with failure.

1 Like

Does this work with the Emporia Gen 3, or does it require the Gen 2?

I only own EmporiaVue gen 2 so I can not confirm it works with gen 3. I assume it should work just fine. But give it a try and let me know if any changes are required.

Thanks. I'm trying to avoid reliance on cloud services, so looking at the Refoss system; I may go that direction.

@amithalp , it seems like the "usage" variable is currently a string, which makes it impossible to use Rule Machine to set a comparison threshold (using a >, or < comparison, for example) for actions (at least as far as I can tell). Would you be able to change the "usage" from a string to a number?

If I recall correctly then the reason for the usage attribute being a String rather than a Number was related to handling different energy units. Emporia Vue API data can come in two forms:

  • KilowattHours: Represented numerically (e.g., 123.45).
  • Dollars: Represented as a currency string (e.g., $12.34).

Since the attribute type in Hubitat must be fixed at definition, choosing number would cause problems when the value comes in the form of currency (with a leading $). Thus, I used a string to accommodate both numeric and currency-based representations
There is a way to add an additional attribute like numericUsage that will be populated only if you chose numeric usage but involves some coding.
If this is important to you let me know and I will consider changing the code.