Hardware
Connection to Hörmann Supramatic 3, using connector for HE 3 BiSecur
23 | I2 | pull momentarily to 0V to open door 5cm | |
5 | 24V | Brown | |
21 | I1 | White | pull momentarily to 0V to fully open/close door |
20 | 0V | Green | ground connection |
Connection to ESP32
The BC547 functions as switching element. Its emitter is connected to GND, the collector is connected to I1 of the garage door controller.
There's a base resistor of 2K7 connected between GPIO4 of the ESP32 and the base of the BC547. The 27K resistor is connected between the base and the emitter of the BC547.
Status of the garage door
There's no input to the ESP32, so the ESP32 has no idea if the garage door is currently open or closed. As the nature of the project is such that you should be connected to the local wifi to operate the door, you can easily check for yourself is the door is open or not.
If the door is currently open and you type the correct pin code on the web page, the door will close.
Firmware
IP-address
mDNS is supported by the firmware. Unluckily, mDNS is not supported by Android smart phones. For that reason a fixed IP-address is set up for the ESP32-webserver. Without static-IP and mDNS, the Android phone would have no way of knowing the IP-address of the ESP32-webserver.
Configuration
All settings that depend on the installation (IP-address, WiFi-password, ...) are stored in JSON-files. For obvious reasons these have not been included in the github source code.
Certificate
As the certificate is self-signed, Firefox for Android doesn't accept it by default. Each time you have to confirm the security exception for it. This is annoying.
Using the certificate generated by these instructions it works fine with Chrome on Android. It works well with Firefox on Linux too. On Linux you can add a security exception for the MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT error.
Unfortunately that still doesn't work with Firefox on Android. Any help to fix this would be greatly appreciated.