In an effort to support battery power, I have been doing some work to update the wiring, which pins are used to open up RST/D0 for Deep Sleep functionality https://esphome.io/components/deep_sleep.html. I also had to change the PWM wire for the servo from D3 to D5. There was some sort of interference on wake that was causing the servo to move when it should not have. I also had to switch which pins the limit switch used, because I needed D0 for Deep Sleep.
This is the rough config I have been testing with. Unfortunately the battery life has only been about a week with very little interaction and the way that manual interaction with ESPHome is, this whole setup is pretty unusable. When the vent goes to sleep, you cannot interact with it. When it wakes up, you can; but that means you have to wait until it wakes up. This is a horrible user experience, but that is just how ESPHome works. It is possible to code a solution for this. I see two options: 1. Add some functionality to ESPHome or Home Assistant to sort of "queue" commands, which are executed on next wake, 2. Write this https://github.com/BrobstonCreations/mqtt-hvac-vent-control as a Home Assistant Integration and write logic to handle this issue. Ideally both would be done, but given the situation with this project I will probably only do the second option; if either. If I could dedicate a few weeks to this work, I imagine I could learn more of the inter-workings of Home Assistant, but I unfortunately have not had the time or enthusiasm to dig in.
In an effort to support battery power, I have been doing some work to update the wiring, which pins are used to open up RST/D0 for Deep Sleep functionality https://esphome.io/components/deep_sleep.html. I also had to change the PWM wire for the servo from D3 to D5. There was some sort of interference on wake that was causing the servo to move when it should not have. I also had to switch which pins the limit switch used, because I needed D0 for Deep Sleep.
This is the rough config I have been testing with. Unfortunately the battery life has only been about a week with very little interaction and the way that manual interaction with ESPHome is, this whole setup is pretty unusable. When the vent goes to sleep, you cannot interact with it. When it wakes up, you can; but that means you have to wait until it wakes up. This is a horrible user experience, but that is just how ESPHome works. It is possible to code a solution for this. I see two options: 1. Add some functionality to ESPHome or Home Assistant to sort of "queue" commands, which are executed on next wake, 2. Write this https://github.com/BrobstonCreations/mqtt-hvac-vent-control as a Home Assistant Integration and write logic to handle this issue. Ideally both would be done, but given the situation with this project I will probably only do the second option; if either. If I could dedicate a few weeks to this work, I imagine I could learn more of the inter-workings of Home Assistant, but I unfortunately have not had the time or enthusiasm to dig in.