Great video, works great. I have mine working but when you add the relay in parallel it stops the remote and Wired button from working. if you remove it, the button and remote works fine. Any advise?
Hello I have follow this interesting tutorial for garage door... I have notice in the video the YAML is different like on your link.... In your video there is no "virtual lock" What is the difference between the YAML on video and the YAML on the link ? I don't understanding
This is great! Exactly what I am working on. I have two garage doors, I would prefer to have both doors controlled by the same ESP8266, instead of building two of these. Any advice on the code pieces to duplicate? I can do basic stuff in ESPHome, but the templates and covers are a little over my head still, I'm trying to understand how they all work. Thanks for the great video, and I totally felt the head hits. Both of them!
Hey thanks ! So I didn't test it, but I tried to copy the different things that would be required. Might need some fixes though. If you still need it and want to give a try, here's a version with 2 doors : gitlab.com/-/snippets/2464720 Let me know if you try it ! :)
I did a code review and found one issue. D5 was used twice. I changed one to D3. Everything else looks good, I'm building this out on a breadboard right now to test, but I have to go out of town for work for a couple days, so it'll probably be the weekend before I get back to it.
this is awesome. Im having issues with my Aladdin Connect right now, so this is a great way for me to replace it without spending much money and to get local control. One more project on the list!
@@ReidProjects haha well its longer today than it was 2 days ago, thanks to this and esphome BT proxies! maybe i can knock a couple of things off the list this weekend.
This is cool. I wish this was around when I set up my garage door switch in home assistant. Mine is currently using a shelly switch but I want to move away from using cloud based products. How do you flash the NODEMcu with esphome? I have a few on order from amazon for a WLED project and I will have one left over so I was thinking of using it for this kind of project
Thanks ! If you're already familiar with WLED, installing ESPHome isn't that different. I would recommend to go with the ESPHome add-on on Home Assistant, then you can just connect your device to your laptop and follow the instructions when creating a new device. This method needs to be done through https though. There's also few other ways but a bit more complicated. Hope that helps ! Let me know if you need more details
Nice video, got the project working too. However, I want the icon to turn red when the door is open and go green when the door is closed. Can I adjust that? And when the door is closed, the icon is gray. I would also like to have it black. Can that also be adjusted?
Thanks for the video. But I am struggling with the connections. It would be helpful if you could share that somehow. Do you have it? The video goes too quick if we try to see where to connect things. Cheers,
Hey sorry for the looong delay, but better later than never :P Here's more details about the wiring : reid-projects.com/control-garage-door-with-home-assistant/#Wiring Let me know if you have mroe questions, I'll answer quiker than the last time, I swear 😅
I only have a single magnetic contact on my garage door. Can this be adapted to work in my situation. I also have two doors. I have an ESP32-dev, I am assuming that I can use that as well. Also does it have to ONLY be used for the garage doors or could temp sensors be added. Thank you
Thanks ! I had the same issue with one of my relays (that you can briefly see in the video...oops) which was not working well when triggered with 3.3v. You can confirm by triggering it manually on ground and then 3.3v to see if it change its state. If not, we'll, that's the issue. The one I shared from Amazon are the ones that worked well for me :) Let me know if that helps !
Just one note regarding is_jammed: If you open the door, stop and close back you will still get is_jammed. Similarly from open to close, stop and back to open. To mitigate this you need to modify condition so that it takes status from both open and close end stop sensors. condition: - binary_sensor.is_off: open_endstop_binary_sensor - binary_sensor.is_off: close_endstop_binary_sensor
Here is the specific format that worked for me. You need the "and:" condition: and: - binary_sensor.is_off: open_endstop_binary_sensor - binary_sensor.is_off: close_endstop_binary_sensor
Great video thank you, If have two doors in one Garage could I use additional pins on the ESP to setup a second relay and set of sensors or should I get 2 ESP's?
Hi ! Thanks, I added few details around the wiring, let me know if you have other questions : reid-projects.com/control-garage-door-with-home-assistant/#Wiring For the the mushroom card, I use the default settings of the Mushroom Cover Card (custom:mushroom-cover-card) with the Control Buttons enabled. You can find how to install them here : github.com/piitaya/lovelace-mushroom Thanks again ! :)
The esp board is 3.3V i/o and you’re driving a 5V relay board expecting a 5V trigger signal. I guess it works but I’m wondering how reliable that is. Has anyone had issues with this?
No issue on my side ! This is why I chose that specific relay model. The Trigger Voltage will consider anything over 2.5v as High, so it always accepted my ESP's outputs. I had other models with a higher trigger voltage which indeed didn't work.
Sorry about that, thanks for the heads-up! I updated the link in the description, here it is reid-projects.com/control-garage-door-home-assistant-esphome-budget/#config Let me know if you have any questions
Is it possible that there is a mistake in the code on your website? It checks both times if binary_sensor.is_off: open_endstop_binary_sensor . One time it should be close_entstop_,,, or not?
Hey you're right ! Fixed Thanks :) I also added a "virtual lock" to block any action and added some verification before opening/closing the door. You can find the updated version here 👉reid-projects.com/control-garage-door-with-home-assistant/ Thanks again !👏
Hi, I really enjoyed the video. I have been doing the same thing, but using a Raspberry Pi Pico W and ESPHome. at 7:40 ( ruclips.net/video/8Hwu4ZahLa0/видео.html ) you mention on the first boot they won't know which states they are in. Have you tried adding "publish_initial_state: True" in your YAML code on ESPHome for each of the GPIOs within the binary_sensor section? I was having the same issue, if the power to the Pico W gets interrupted they came up in an unknown state. This fixed it for me.
You skipped over the most important part of this project, the wiring of the ESP+Relay. Very little information on this part and it is the most important part in the whole video.
That's noted, sorry about that. You can have a look here, I made a small diagram that might help : reid-projects.com/control-garage-door-with-home-assistant/
This is a super cool project and I would like to thank you a lot for the code! I have extended it a little with an ultrasonic sensor to detect if the car is present or not. sensor: - platform: ultrasonic trigger_pin: D3 echo_pin: D4 id: dist unit_of_measurement: 'm' accuracy_decimals: 2 update_interval: 60s timeout: 4.0m filters: - filter_out: nan - max: window_size: 3 send_every: 1 send_first_at: 1 ... binary_sensor: - platform: template name: "car is parked in the garage" id: car_parked lambda: |- if (id(dist).state < 0.8) { // car is parked return true; } else { // car is not parked return false; } I've also tweaked the code a little bit and I would like to share that bit as it might be interesting for others as well. Instead of the hardcoded delay (in your case 25s) I'm using wait_until with a timeout of 25s which will have a similar effect as your code however with the static delay I found that when the door was opened and instantly closed I got a short "jammed" which the wait_until avoids. Just remove - delay 25s and replace it with - wait_until: condition: binary_sensor.is_on: close_endstop_binary_sensor (or open_endstop_binary_sensor respectively) timeout: 25s Thanks again for sharing your code it made my project a lot easier for me.
@@ReidProjects I have fixed the last thing that bothered me a bit: When you restart the ESP (e.g. because you updated the firmware or because there was a power cut) the jammed status and door status where set to "unknown" until you opened or closed the garage door the next time. Adding this code in the esphome stanza will solve that problem: esphome: ... on_boot: priority: -100 then: - if: condition: or: - lambda: |- return id(close_endstop_binary_sensor).state; - lambda: |- return id(open_endstop_binary_sensor).state; then: - binary_sensor.template.publish: id: is_jammed state: OFF else: - binary_sensor.template.publish: id: is_jammed state: ON - if: condition: lambda: return id(close_endstop_binary_sensor).state; then: - cover.template.publish: id: garage_door state: CLOSED current_operation: IDLE - binary_sensor.template.publish: id: is_open state: OFF - if: condition: lambda: return id(open_endstop_binary_sensor).state; then: - cover.template.publish: id: garage_door state: OPEN current_operation: IDLE - binary_sensor.template.publish: id: is_open state: ON
For those who made it up to the end : *Yes, it's still hurting*
Hope you liked that project, see you for the next ones !
Great video, works great. I have mine working but when you add the relay in parallel it stops the remote and Wired button from working. if you remove it, the button and remote works fine. Any advise?
Very well done ! I followed your steps and everything worked as expected. I really appreciate your effort on this project. Thanks for sharing !
Thanks, I really appreciate it! 😀
Hello
I have follow this interesting tutorial for garage door...
I have notice in the video the YAML is different like on your link....
In your video there is no "virtual lock"
What is the difference between the YAML on video and the YAML on the link ? I don't understanding
This is great! Exactly what I am working on. I have two garage doors, I would prefer to have both doors controlled by the same ESP8266, instead of building two of these. Any advice on the code pieces to duplicate?
I can do basic stuff in ESPHome, but the templates and covers are a little over my head still, I'm trying to understand how they all work.
Thanks for the great video, and I totally felt the head hits. Both of them!
Hey thanks ! So I didn't test it, but I tried to copy the different things that would be required.
Might need some fixes though.
If you still need it and want to give a try, here's a version with 2 doors : gitlab.com/-/snippets/2464720
Let me know if you try it ! :)
@@ReidProjects oh sweet! Thanks so much, I’ll give this a go and let you know.
I did a code review and found one issue. D5 was used twice. I changed one to D3.
Everything else looks good, I'm building this out on a breadboard right now to test, but I have to go out of town for work for a couple days, so it'll probably be the weekend before I get back to it.
this is awesome. Im having issues with my Aladdin Connect right now, so this is a great way for me to replace it without spending much money and to get local control. One more project on the list!
Awesome thanks ! I hope that your ToDo list doesn't grow as fast as mine 😂
@@ReidProjects haha well its longer today than it was 2 days ago, thanks to this and esphome BT proxies! maybe i can knock a couple of things off the list this weekend.
Hi! Thanks for a great video! You had to trigger the sensor so it could be init. Is there any way to init it without triggering it? =)
This is cool. I wish this was around when I set up my garage door switch in home assistant. Mine is currently using a shelly switch but I want to move away from using cloud based products. How do you flash the NODEMcu with esphome? I have a few on order from amazon for a WLED project and I will have one left over so I was thinking of using it for this kind of project
Thanks ! If you're already familiar with WLED, installing ESPHome isn't that different. I would recommend to go with the ESPHome add-on on Home Assistant, then you can just connect your device to your laptop and follow the instructions when creating a new device. This method needs to be done through https though.
There's also few other ways but a bit more complicated.
Hope that helps ! Let me know if you need more details
Nice video, got the project working too.
However, I want the icon to turn red when the door is open and go green when the door is closed. Can I adjust that?
And when the door is closed, the icon is gray. I would also like to have it black. Can that also be adjusted?
Also is the "12VDC Wired Metal Gate Deur Raam" NC or NO? Thanks
Thanks for the video. But I am struggling with the connections. It would be helpful if you could share that somehow. Do you have it? The video goes too quick if we try to see where to connect things. Cheers,
Hey sorry for the looong delay, but better later than never :P
Here's more details about the wiring : reid-projects.com/control-garage-door-with-home-assistant/#Wiring
Let me know if you have mroe questions, I'll answer quiker than the last time, I swear 😅
I only have a single magnetic contact on my garage door. Can this be adapted to work in my situation. I also have two doors. I have an ESP32-dev, I am assuming that I can use that as well. Also does it have to ONLY be used for the garage doors or could temp sensors be added. Thank you
Great job, on the video!
And "ouch" on your outtakes.
Keep up the great work, but maybe were a hardhat next time. (lol) Stay safe!
Noted , thanks ✅️
Haha... it still hurts a bit but it should be fine in à couple of days 😂
awesome video i have followed same steps but my relay doesn't trigger ...plz help
Thanks ! I had the same issue with one of my relays (that you can briefly see in the video...oops) which was not working well when triggered with 3.3v. You can confirm by triggering it manually on ground and then 3.3v to see if it change its state. If not, we'll, that's the issue. The one I shared from Amazon are the ones that worked well for me :)
Let me know if that helps !
Just one note regarding is_jammed:
If you open the door, stop and close back you will still get is_jammed. Similarly from open to close, stop and back to open. To mitigate this you need to modify condition so that it takes status from both open and close end stop sensors.
condition:
- binary_sensor.is_off: open_endstop_binary_sensor
- binary_sensor.is_off: close_endstop_binary_sensor
Here is the specific format that worked for me. You need the "and:"
condition:
and:
- binary_sensor.is_off: open_endstop_binary_sensor
- binary_sensor.is_off: close_endstop_binary_sensor
Great video thank you, If have two doors in one Garage could I use additional pins on the ESP to setup a second relay and set of sensors or should I get 2 ESP's?
Thanks that's appreciated :) You should be good with only one ESP for 2 doors, no problem. Just make sure you select a board that has enough IOs.
Hello nice projekt , do you have the wiring diagram , and how do you make the musroom card for the garage opener
Hi ! Thanks, I added few details around the wiring, let me know if you have other questions : reid-projects.com/control-garage-door-with-home-assistant/#Wiring
For the the mushroom card, I use the default settings of the Mushroom Cover Card (custom:mushroom-cover-card) with the Control Buttons enabled. You can find how to install them here : github.com/piitaya/lovelace-mushroom
Thanks again ! :)
The esp board is 3.3V i/o and you’re driving a 5V relay board expecting a 5V trigger signal. I guess it works but I’m wondering how reliable that is. Has anyone had issues with this?
No issue on my side ! This is why I chose that specific relay model. The Trigger Voltage will consider anything over 2.5v as High, so it always accepted my ESP's outputs. I had other models with a higher trigger voltage which indeed didn't work.
@reidprojects the contacts can come in NC (normally closed) or NO (normally open) does it matter?
it does not matter, you'll have to configure "inverted: false" in that case
Hello,
The link for the config file is no longer working. It seems to go to a page that isn't there anymore.
Sorry about that, thanks for the heads-up! I updated the link in the description, here it is reid-projects.com/control-garage-door-home-assistant-esphome-budget/#config
Let me know if you have any questions
Is it possible that there is a mistake in the code on your website? It checks both times if binary_sensor.is_off: open_endstop_binary_sensor . One time it should be close_entstop_,,, or not?
Hey you're right ! Fixed Thanks :) I also added a "virtual lock" to block any action and added some verification before opening/closing the door.
You can find the updated version here 👉reid-projects.com/control-garage-door-with-home-assistant/
Thanks again !👏
8:51 I could feel that! ouch
And so did I ! 😅 second time was less painful though... haha
Hi,
I really enjoyed the video.
I have been doing the same thing, but using a Raspberry Pi Pico W and ESPHome.
at 7:40 ( ruclips.net/video/8Hwu4ZahLa0/видео.html ) you mention on the first boot they won't know which states they are in. Have you tried adding
"publish_initial_state: True"
in your YAML code on ESPHome for each of the GPIOs within the binary_sensor section?
I was having the same issue, if the power to the Pico W gets interrupted they came up in an unknown state. This fixed it for me.
Thanks ! That's great , I'll add it to the sample config ! :)
You skipped over the most important part of this project, the wiring of the ESP+Relay. Very little information on this part and it is the most important part in the whole video.
That's noted, sorry about that. You can have a look here, I made a small diagram that might help : reid-projects.com/control-garage-door-with-home-assistant/
This is a super cool project and I would like to thank you a lot for the code!
I have extended it a little with an ultrasonic sensor to detect if the car is present or not.
sensor:
- platform: ultrasonic
trigger_pin: D3
echo_pin: D4
id: dist
unit_of_measurement: 'm'
accuracy_decimals: 2
update_interval: 60s
timeout: 4.0m
filters:
- filter_out:
nan
- max:
window_size: 3
send_every: 1
send_first_at: 1
...
binary_sensor:
- platform: template
name: "car is parked in the garage"
id: car_parked
lambda: |-
if (id(dist).state < 0.8) {
// car is parked
return true;
} else {
// car is not parked
return false;
}
I've also tweaked the code a little bit and I would like to share that bit as it might be interesting for others as well.
Instead of the hardcoded delay (in your case 25s) I'm using wait_until with a timeout of 25s which will have a similar effect as your code however with the static delay I found that when the door was opened and instantly closed I got a short "jammed" which the wait_until avoids.
Just remove
- delay 25s
and replace it with
- wait_until:
condition:
binary_sensor.is_on: close_endstop_binary_sensor (or open_endstop_binary_sensor respectively)
timeout: 25s
Thanks again for sharing your code it made my project a lot easier for me.
Awesome ! Those are great additions 😀 I might add them to mine too or to a second version, thanks for sharing 👍
@@ReidProjects I have fixed the last thing that bothered me a bit:
When you restart the ESP (e.g. because you updated the firmware or because there was a power cut) the jammed status and door status where set to "unknown" until you opened or closed the garage door the next time.
Adding this code in the esphome stanza will solve that problem:
esphome:
...
on_boot:
priority: -100
then:
- if:
condition:
or:
- lambda: |-
return id(close_endstop_binary_sensor).state;
- lambda: |-
return id(open_endstop_binary_sensor).state;
then:
- binary_sensor.template.publish:
id: is_jammed
state: OFF
else:
- binary_sensor.template.publish:
id: is_jammed
state: ON
- if:
condition:
lambda: return id(close_endstop_binary_sensor).state;
then:
- cover.template.publish:
id: garage_door
state: CLOSED
current_operation: IDLE
- binary_sensor.template.publish:
id: is_open
state: OFF
- if:
condition:
lambda: return id(open_endstop_binary_sensor).state;
then:
- cover.template.publish:
id: garage_door
state: OPEN
current_operation: IDLE
- binary_sensor.template.publish:
id: is_open
state: ON
@@schogaia Gonna give your addition a try, have to ask though, at what place in the file did you add it, beginning, middle, end? Thanks in advance
@@Kevin1959ify I'm currently not near a computer I hope to remember to paste you my entire code
@@Kevin1959ify the bit I added you can just add to the bottom of the file
This is awesome. Thank you for project.
BTW. I've added a part for setting binary sensors stat on_boot. Maybe you'll find it usefull:
esphome:
name: wemos-garage
on_boot:
lambda: !lambda |-
if (id(open_endstop_binary_sensor).state) {
id(is_open).publish_state(true);
id(is_jammed).publish_state(false);
id(garage_door).position = COVER_OPEN;
id(garage_door).publish_state();
} else if (id(close_endstop_binary_sensor).state) {
id(is_open).publish_state(false);
id(is_jammed).publish_state(false);
id(garage_door).position = COVER_CLOSED;
id(garage_door).publish_state();
} else {
id(is_open).publish_state(true);
id(is_jammed).publish_state(true);
id(garage_door).position = COVER_OPEN;
id(garage_door).publish_state();
}
How does your full code looks like ? i try to add the on_boot but i get errors