nikshriv / hass_navien_water_heater

Home Assistant custom component for Navien water heaters using NaviLink
40 stars 14 forks source link

Add Weekly Schedule on/off control to module? #21

Open tboyko opened 1 year ago

tboyko commented 1 year ago

If a weekly control (weekly schedule enable/disable) was added to this component, we could use Home Assistant to automatically turn on and off the recirculator pump based on geolocation. This would be great for those who are not on a typical home/away schedule or are often traveling.

I took a stab at this, and while I suspect it's relatively easy to add, I wasn't sure what device_info and channel_status attributes to target when extending switch.py, nor the best way to access an interactive prompt of sorts to explore the controls exposed by AWIoT.

tboyko commented 10 months ago

I tried putting around with NavilinkConnect() within navien_api.py but couldn't get past the following error when running .start() and ._get_channel_status_all() (thinking that the response may provide the necessary attribute):

Connection error during start up: 'AWSIoTMQTTClient' object has no attribute 'configureUsernamePassword'

I suspect this may be due to running the code outside of the home assistant code context.

I also stood up a home assistant dev instance via vscode and docker but experienced issues when adding the navien device through the UI. I unfortunately do not have the error message available now but it pertained to thread safety and would appear in the console after setting the desired refresh interval.

Any pointers from @nikshriv or others are appreciated.

KenReneris commented 9 months ago

I'm trying to do the same thing. I can get the module to run, but I can't figure out the magic request packet it needs. I tried a couple of command values based on guesses, but so far no luck.

screwball571 commented 6 months ago

I would also love this feature!

lurock commented 5 months ago

I would love this feature too because when you disable the schedule your navien does a recirculation. This would get around the issue of navien not allowing you to have a manual hot button to recirculate and being able to have a schedule. I could then use home assistant to trigger a manual recirculation by disabling the schedule for 5 minutes and the enabling it again.

tboyko commented 3 months ago

You could also presumably create a schedule where the recirc is always off. Then, you could use Home Assistant to turn off the schedule when you actually wanted recirc on, and vice versa. The benefit of this over using the manual hot button approach is that the recirc pump would automatically kick in when the Navien detected the water temp had lowered, thus saving energy.

tboyko commented 1 week ago

@bakerkj appreciating that you didn't sign up to be the new maintainer, I do see that you've been active with your particular branch. Do you have any advice on how we might putt around and figure out the correct requests to the navilink service for this functionality?

KenReneris commented 1 week ago

I haven’t gotten around to trying but I was going to try installing the Android phone VM and see if I could debug & capture the NaviLink app’s packets being sent from within the process (before they hit ssh encryption). I’ve never debugged an Android phone app so I’m not sure if the simulator will allow that or not.

From: Taylor Boyko @.> Sent: Sunday, May 5, 2024 10:47 AM To: nikshriv/hass_navien_water_heater @.> Cc: Comment @.>; Subscribed @.> Subject: Re: [nikshriv/hass_navien_water_heater] Add Weekly Schedule on/off control to module? (Issue #21)

@bakerkjhttps://github.com/bakerkj appreciating that you didn't sign up to be the new maintainer, I do see that you've been active with your particular branch. Do you have any advice on how we might putt around and figure out the correct requests to the navilink service for this functionality?

— Reply to this email directly, view it on GitHubhttps://github.com/nikshriv/hass_navien_water_heater/issues/21#issuecomment-2094891197 or unsubscribehttps://github.com/notifications/unsubscribe-auth/AK7AILKOUCFTO7KF4SFOIKDZAZWABBFKMF2HI4TJMJ2XIZLTSOBKK5TBNR2WLJDUOJ2WLJDOMFWWLO3UNBZGKYLEL5YGC4TUNFRWS4DBNZ2F6YLDORUXM2LUPGBKK5TBNR2WLJDUOJ2WLJDOMFWWLLTXMF2GG2C7MFRXI2LWNF2HTAVFOZQWY5LFUVUXG43VMWSG4YLNMWVXI2DSMVQWIX3UPFYGLLDTOVRGUZLDORPXI6LQMWWES43TOVSUG33NNVSW45FGORXXA2LDOOJIFJDUPFYGLKTSMVYG643JORXXE6NFOZQWY5LFVE2DQMZQG42TOMBUQKSHI6LQMWSWS43TOVS2K5TBNR2WLKRRGY4TCNBVGI4TCMVHORZGSZ3HMVZKMY3SMVQXIZI. You are receiving this email because you commented on the thread.

Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

bakerkj commented 1 week ago

@bakerkj appreciating that you didn't sign up to be the new maintainer, I do see that you've been active with your particular branch. Do you have any advice on how we might putt around and figure out the correct requests to the navilink service for this functionality?

@tboyko I didn't do any of the reverse engineering on this project, that was done before my time. I'd probably push forward with the effort that you and @KenReneris are already exploring - either exploring the app itself, tinkering with AWSIoTMQTTClient, or tinkering with this implementation running in home assistant with debugging under vscode.

bakerkj commented 1 week ago

For what it is worth, I don't use any of the scheduling features. Instead, I built the following setup before I started using this integration.

I have an Esphome device with a relay connected to the Navien wired hot button as well as a 1-wire temperature sensor at the far end of my hot water recirc loop. In home assistant I have an automation that runs when someone is home, someone is present in a room where they might want hot water (kitchen, bathrooms), if the temperature of the temperature sensor drops below some set temperature, it briefly trips the hot-button relay causing the system to warm the hot water loop.

bakerkj commented 1 week ago

If someone does figures this out, I'd be happy to help test it!

philgrocks commented 1 week ago

Would love to hear about your hot button implementation!--PhilOn May 5, 2024, at 2:05 PM, Ken Baker @.***> wrote: For what it is worth, I don't use any of the scheduling features. Instead, I built the following setup before I started using this integration. I have an Esphome device with a relay connected to the Navien wired hot button as well as a 1-wire temperature sensor at the far end of my hot water recirc loop. In home assistant I have an automation that runs when someone is home, someone is present in a room where they might want hot water (kitchen, bathrooms), if the temperature of the temperature sensor drops below some set temperature, it briefly trips the hot-button relay causing the system to warm the hot water loop.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

bakerkj commented 1 week ago

Would love to hear about your hot button implementation!

This is the navien kit I am using: https://www.navieninc.com/downloads/spec-sheet-hotbutton-kit-en

The switch closure connection is connected to a relay on one of these (it only needs one relay, but I had this board sitting around): https://devices.esphome.io/devices/ESP32-Relay-X2

I am pretty sure this is the temperature probe I am using: https://www.amazon.com/gp/product/B07X4668VC

philgrocks commented 6 days ago

Thanks so much!

I was reading about my Navien water heater (Model NPE 240A2) and they now include the hot button board.

So for others… Check what model you have before getting parts.

Thanks again!

Phil

On May 6, 2024, at 5:08 AM, Ken Baker @.***> wrote:

Would love to hear about your hot button implementation!

This is the navien kit I am using: https://www.navieninc.com/downloads/spec-sheet-hotbutton-kit-en

The switch closure connection is connected to a relay on one of these (it only needs one relay, but I had this board sitting around): https://devices.esphome.io/devices/ESP32-Relay-X2

I am pretty sure this is the temperature probe I am using: https://www.amazon.com/gp/product/B07X4668VC

— Reply to this email directly, view it on GitHub https://github.com/nikshriv/hass_navien_water_heater/issues/21#issuecomment-2095864381, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJLON4UFFZW7HDNAZQA7TALZA5XCFAVCNFSM6AAAAAAXSHEAM6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOJVHA3DIMZYGE. You are receiving this because you commented.