I have a FAAC C720 slide gate which is controlled by 433Mhz remote. Due to the fact I only have two sets of the remotes, it is not that convenient to have every home members to control the gate easily. I have to keep one remote at home and the other one on the car. So, this comes to my needs.
- Control the slide gate through WiFi network
- Integrate into Smart Home automation platform
Attempt 1: Clone the remote 433Mhz signal by sending through Raspberry Pi and controlled via WiFi network.
My plan was to leverage Raspberry Pi RF 433Mhz receiver and transmitter to capture the remote signal then replicate and send it out by Pi. In this case, once the correct RF signal can be generated by Pi, I can play with it into any Smart Home automation platform. After couple attempts, I successfully sniffed and captured the signals, but still failed. Because I didn’t realize the FAAC 433Mhz remote signal is encrypted by rolling code. It is almost impossible for me to decode the code. I have to give up this path.
Attempt 2: I searched a lot on Internet looking for successful case of FAAC gate / door automation, but not really helpful. However, there’s one product comes into my sight. It is called Gogogate2. It meets all my requirement and more. It is also compatible with FAAC C720 gate. On their website there’s also a connection diagram guide you how to connect Gogogate2 to FAAC C720 control board. Very nice, but a little expensive for me.
There’s a topic on Raspberry pi forum. Interfacing 24v Gate Controlboard gives me another way to control the FAAC gate.
Instead of using Pi and optoisolator, I decided to purchase smart relay switch directly. I got a one channel smart switch which can support AC/DC 7-32V itching/locking. It is similar to Sonoff but not the same brand.
It uses eWeLink app (易微联) to control the switch board. I have been researching long time digging out how to flash the switch board with Sonoff-Tasmota firmware which I believe can be easily added into home assistant automation.
Because the chip of this switch is not based on ESP8266 but ESP8285, I dare not to flash it without fully understand the risk. However, I was surprised to find out the build in factory firmware is not that bad. The eWeLink app already has integration with some well-known smart automation platform, such as Amazon Alexa and Google Home.
I can easily add this switch into Alexa device list by enable the eWeLink skill. But I do still want to control the switch by using iOS native Siri voice assistant. Because by using Siri I can voice control the gate via Apple CarPlay.
There’s couple ways to achieve this. Setup Homebridge or Hassbian on Pi or NAS to bridge the communication between alexa and Apple HomeKit. The other way is much straight forward, just use IFTTT and iOS Shortcuts to complete the task.
The detail steps are below.
- Wire the Smart Switch with correct input power, then light it up. (Because this small switch accept input voltage lower to 7V, you can use two 18650 Li-Ion battery to temporarily power up the switch for initial setup if it is not that easy to wire to FAAC control board directly. )
- Register eWeLink mobile app (You may need a phone number to receive SMS verification) and follow the instruction to add the smart switch including initial configuration (wifi setup).
- Test if you can use eWeLink to control the smart switch directly. If successful, you will hear a click sound when toggle the ON/OFF switch.
- Register a IFTTT account then obtain webhook api key. https://ifttt.com/services/maker_webhooks/settings
- Follow the steps to create a new webhook event. You can take this link as reference https://www.macstories.net/ios/how-to-trigger-ifttt-applets-with-ios-12s-new-shortcuts-app-and-siri/
- When creating webhook event, search and choose ewelink service, bind the account using eWeLink credential
- Choose the right switch model. Eg. 1 channel switch
- Get a shortcut https://www.icloud.com/shortcuts/bd7c5301650b4753b79d4cda8b59beee and modify the fields with your created webhook event name and your api key.
- Record Siri voice command to activate this shortcut
So all Smart Switch side configuration and iOS Siri automation have been completed.
I spent lot of time study the FAAC control board trying to understand how to wire the smart switch onto it.
FAAC C720 control board manual can be downloaded here.
But on Gogogate2 website it is suggested to connect like this.
Based on the above manual. Pin 3 OPEN B/CLOSE/SAFE default is partial open. So I didn’t wire as suggested by Gogogate2 web.
I connect like this:
- Smart Switch INPUT + —-> C720 BOARD PIN 8 to get 24V power
- Smart Switch INPUT GND —-> C720 PIN 6 GND
- Smart Switch COM —-> C720 PIN 1 OPEN A
- Smart Switch NO —-> C720 PIN 2 GND
Now you can test whether Smart Switch works as expected. In my case, I need to change the smart switch mode to itching not locking. So everytime I trigger the webhook event, it will open/lock the gate opposite to current state. The only drawback for this solution is it will not tell you the slide gate current opened or closed status. You have to rely on maybe security camera to see if the door is closed or not.
You can also test to wire the cables as suggested by Gogogate2 diagram. Tell me the result. Hope this article helps you some.
-Update: 14 April 2020-
There’s a more direct way to add/control Sonoff/eWeLink smart devices using the stock firmware to Home Assistant and retaining the cloud capabilities. This will dramatically reduce the latency introduced by IFTTT and it of course works well with Apple Homekit and Siri.
What you need to do is follow the instruction. add sonoff/eWeLink to Home Assistant configuration.yaml andcopy the *.py files in custom_components folder.
Just to make sure you use the correct eWeLink credential and region info.
Please note: There may be some compatible issue between this sonoff custom component and Home Assistant which causes Home Assistant web page inaccessible. I have no idea how to make it both work and stable. So I have to disable this method but use IFTTT webhook way instead at this moment.
I’ve also raised Github issue for this. And hope someone can sort it out. Please let me know if you have the fix. Thanks.