Closed rborkow closed 2 years ago
@rborkow thanks for the details. Noticed in the HA issue you mentioned you were able to "fix" it by update pyeconet. Do you mode opening a PR with the fix? If you can't I can try to get to this, but things are a little crazy for me at the moment.
@w1ll1am23 Yes, I'll open a PR soon as I can!
Just installed a newer water heater and was wondering why the data flowing to HA was so lossy until I saw this error in the logs. Thanks for the fix @rborkow! Would love to see this merged.
@powdahound Merged, and bumped in HA core - Hoping the update makes it into 2022.2.9
@rborkow Thank you! 🤞
@rborkow, sorry for the random mention, but I appear to be having similar issues. I'm using a HPWH from Rheem, and while I'm not seeing errors from pyeconet, it appears the home assistant integration is not totally functional, as I cannot set my water heater to "Electric/Gas" mode from the HA control.
From that integration I see the following:
But in my econet app, I see:
I am using HA 2022.11.5, and it's using pyeconet
0.1.15. Any ideas on where to look to get things working? I'm pretty new to HA, so apologies if I got any terminology incorrect.
Running the example in the README, I get:
Name: Heat Pump Water Heater
Set point: 140
Supports modes: True
Operation modes: [<WaterHeaterOperationMode.OFF: 1>, <WaterHeaterOperationMode.ENERGY_SAVING: 3>, <WaterHeaterOperationMode.HEAT_PUMP_ONLY: 4>, <WaterHeaterOperationMode.HIGH_DEMAND: 5>, <WaterHeaterOperationMode.ELECTRIC_MODE: 2>, <WaterHeaterOperationMode.VACATION: 9>, <WaterHeaterOperationMode.OFF: 1>]
Operation mode: WaterHeaterOperationMode.ELECTRIC_MODE
@rborkow @powdahound, any ideas?
@jat255 Do these devices actually support running in resistance electric mode with the heat pump turned off? I've never tried this "Electric/Gas" option and it seems odd to me that it doesn't have an icon in the EcoNet app.
It does; I have it in that mode currently, since we have it in a garage that gets a bit chilly in the winter months. The no icon in the app is weird, but it works when I change it to that mode (I see it switch to "Electric" on the units actual display)
Interesting. I can check mine later today and see if it's working for me.
Would high demand mode also work? Doesn't that cause it to use the HP + resistance in tandem?
The other modes work (Eco, Off, Heat Pump, etc.). I'm in the process of debugging, but it looks like when selecting "Electric" in home assistant, the MODE
parameter is not getting set correctly. Here's what happens in set_mode()
when setting to "High demand":
2022-12-19 11:43:55.204 DEBUG (SyncWorker_2) [pyeconet.equipment.water_heater] set_mode -- Inside set_mode; mode is WaterHeaterOperationMode.HIGH_DEMAND
2022-12-19 11:43:55.204 DEBUG (SyncWorker_2) [pyeconet.equipment.water_heater] set_mode -- text_modes is: ['Off ', 'Energy Saver ', 'Heat Pump ', 'High Demand ', 'Electric/Gas ', 'Vacation ']
2022-12-19 11:43:55.204 DEBUG (SyncWorker_2) [pyeconet.equipment.water_heater] set_mode -- payload is {'@ENABLED': 1, '@MODE': 3}
Here's "Eco":
2022-12-19 11:42:42.693 DEBUG (SyncWorker_4) [pyeconet.equipment.water_heater] set_mode -- Inside set_mode; mode is WaterHeaterOperationMode.ENERGY_SAVING
2022-12-19 11:42:42.693 DEBUG (SyncWorker_4) [pyeconet.equipment.water_heater] set_mode -- text_modes is: ['Off ', 'Energy Saver ', 'Heat Pump ', 'High Demand ', 'Electric/Gas ', 'Vacation ']
2022-12-19 11:42:42.693 DEBUG (SyncWorker_4) [pyeconet.equipment.water_heater] set_mode -- payload is {'@ENABLED': 1, '@MODE': 1}
And then here's "Electric" (notice there's no @MODE
parameter):
2022-12-19 11:43:57.677 DEBUG (SyncWorker_0) [pyeconet.equipment.water_heater] set_mode -- Inside set_mode; mode is WaterHeaterOperationMode.ELECTRIC_MODE
2022-12-19 11:43:57.677 DEBUG (SyncWorker_0) [pyeconet.equipment.water_heater] set_mode -- text_modes is: ['Off ', 'Energy Saver ', 'Heat Pump ', 'High Demand ', 'Electric/Gas ', 'Vacation ']
2022-12-19 11:43:57.677 DEBUG (SyncWorker_0) [pyeconet.equipment.water_heater] set_mode -- payload is {'@ENABLED': 1}
Oh, this might be the issue (and fix): https://github.com/w1ll1am23/pyeconet/commit/c55ccc387f52482f318cd784e8d8f88250259394
Looking at more debugging I added, the set_mode()
code is trying to set WaterHeaterOperationMode.ELECTRIC_MODE
, but my water heater reports that's not a supported mode and it should instead be WaterHeaterOperationMode.ELECTRIC_GAS
. The changes in that PR appear to address that issue.
Ok, yes, updating the code to what's in 0.1.17 appears to get it working as expected. Since I'm using a container install, I think I'll just need to wait for the next release of HA (since it appears to overwrite my changes when HA restarts), but I'm glad to see it working. Thanks @powdahound and @cpcowart!
@vangorra or @w1ll1am23, do you know how to get this updated version of pyeconet
into HA container? I thought opening an issue in HA would be the right place, but that was dismissed immediately, so I'm not sure where to request an update.
@jat255 I just opened a PR after seeing the issue you opened. I wasn't watching things and didn't know that the author of the fix hadn't opened a change on the HA side, sorry about that.
No worries! Thanks for bumping it just now. And thanks for the great library!
I've been setting up the Econet integration for the first time in HA and immediately observed an error in the logs about an unknown mode:
Context: My Water Heater was warranty-swapped with a new unit ~1 week ago. The old (Installed August '21) had an "electric" mode available, not "Electric/Gas." I hadn't noticed before this error, but the app does indeed have an "Electric/Gas" mode listed (with no icon) where the "Electric" mode used to live.
Has anyone else seen a similar change/error? I don't know which generation my prior model was, but this new one describes itself as
heatpumpWaterHeaterGen5
, which is newer than what I saw in the API response examples.Does anyone else have a gen5 unit yet? Is anyone with gen4 or older seeing an electric/gas mode appear?
get_locations response: