Im happy to help contribute in some way if you have ideas. Im a javascript developer but I can reason about python a little. Do you have suggestions or ideas how to solve for the unavailable cycling?
@travispamaral this will be down to the function which refreshes the token inside:
Honestly I think what I have is extremely hacky and someone could probably rewrite it with ChatGPT better than I cobbled together with a way older set of AI and my very limited programming ability!
hmm ok, IDK if Im quite ready to rebuild the whole app. I could definitely get cursor to build a python app but I don’t know enough python so Im unsure how much work it would still be even with ai! I could give it a whirl, also curious what it would take to adapt this to start. Might be hacky but it at least sorta works! haha
@latic I saw that you updated the integration. I had mine disabled, but when I updated and renabled it I’m getting a setup error. Here is what I pulled from the logs
Logger: homeassistant.config_entries
Source: config_entries.py:637
First occurred: February 18, 2025 at 9:18:43 PM (20 occurrences)
Last logged: 8:02:09 AMError setting up entry Envi Heater for envi_heater
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/config_entries.py”, line 637, in __async_setup_with_context
result = await component.async_setup_entry(hass, self)
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
TypeError: async_setup_entry() missing 1 required positional argument: ‘async_add_entities’
After the update I’m getting the same errors.
Hello, these shouldn’t be counted on HACS as they are Alpha releases on Github.
Its my attempt to try and get the old addon into AI and make some changes to make it better, with the limited time I have.
Apologies for the issues I’d downgrade back to 0.0.8 which should work.
Thanks for the work on this!!!
Hi, just installed a new Envi heater and got HA working with HACS Envi integration 0.0.8. Seems to work so far. I’ll wait until improvements are finalized w/AI versions… Thanks!
Just tried to do some changes and maybe 10.2 will work better for multiple heaters, unfortunately i only have one so its hard to try and get done!
I’ll give it a test
Edit: initially looking like you solved the cycling issue. Three units installed, all running well so far.
@latic Just looked at the units, and all three stayed stable overnight w/o the connect/disconnect cycling I saw on the earlier version. Thanks for the work to fix the issue!!!
Great stuff. I believe my single unit is working way better with this update.
I’ve also go it loaded into AI, so if there are any features anyone requests it’ll be way easier to do! Although I cant really think of anything it needs other than working. One thing that really bugs me is the thermometer doesn’t update correctly, however even in their native app there are times I have to force it to update.
Feature request would be if there is anyway to pull from the API when it’s actually heating to populate the graph?
Also the newly discovered entity name isn’t the same as in the app (mine were numbers), so required setting temperatures to identify which entity was actually what to rename correctly. Very minor issue
Thanks again for all the hard work!!
Just posting in case Envi is listening… I also own an Envi heater and would likely to buy one or two more if the HA integration were robust.
There would really be no reason Envi couldn’t expose something locally to make this a privacy first item (rather than my version which uses their API).
@latic 's integration has been pretty solid with my three units after his recent changes. Agree that a local would be preferred but as a second option it’s been very responsive to inputs so has met my primary use case needs.
I’ve played around with the API a tiny bit, and it doesn’t look to me like it reports when it’s actually heating. I don’t think that’s shown in the app either.
Perhaps we could assume that when ambient temp is less than set temp, it is heating, and idle otherwise. As mentioned by @latic though, the ambient temp reporting doesn’t seem to be very good.
I don’t have a smart plug, but if someone has one that reports power draw, they could graph that power draw against ambient and set temps (using helpers on the heater attributes) to verify.
For feature request, I’d personally like there to be heater devices, and for some attributes to also be exposed as their own entities (such as set temp). But I’m new to HA so I’m not sure about all the conventions.
Following up on ambient temp reporting, I’ve now observed the API reporting ambient temp slightly below set temp while the heater is definitely not actually heating. The app ambient temp was the same until I clicked into and out of the heater a couple times. Then it jumped 5 degrees (F). It seems like their service just doesn’t actually gather the ambient temp from the device often enough to be useful in HA.
Without a local connection to the device, I suspect the only way we might get accurate ambient temps would be to tell the heater to change something every time prior to querying device info.
I’m testing this in Node-Red now. It may work when toggling the heater off & on before every query, but that’s hardly an acceptable solution. I don’t quite have the technical know-how to determine any other API endpoints that could be used for this purpose.
I notice the same temp issue in the Envi app so think it’s just an issue with how they have the device reporting amb back to their servers.