This post is for the the release of Emporia Vue Integration for Hubitat!
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:
Add the EmporiaVueIntegration app and the corresponding drivers (EmporiaVueParentDriver and Emporia Circuit Driver) to your Hubitat environment.
Install the app and configure your Emporia credentials.
Authenticate and discover devices associated with your Emporia account.
Set your desired data retrieval frequency and other settings.
Save changes and monitor energy data directly from your Hubitat dashboard!
Please note the followings:
I am no developer and my code is probably not perfect
As of app version 1.0.4 - there is support for multiple Emporia devices
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.
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!!!
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.
Updated the Github repository with app version 1.0.4. Support for multiple (even nested) EmporiaVue devices Automatic Device Labeling Ensures Unique Names in InfluxDB/Grafana if used Improved Debug Logging & Device Updates
This version ensures better compatibility with InfluxDB, Grafana, and Hubitat Dashboard, making energy monitoring more accurate and intuitive.
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.
@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:
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.