Garage door from Forcedoor

Nice and minimal :slight_smile:
Do you have my esphome fw on it and if so does it run well?

Has anyone had any success here?

I found out:

  • The iOS app talks to api.bit-door.com and doesn’t appear to be talking to Tuya directly. Creating an account here has no impact on Tuya either - you can’t re-use these credentials in the F-Linx app on Android
  • The Android app seems to be Tuya rebranded. It requires you to select a country (the iOS app does not) and the email for the 2FA code comes from a different email address (iOS: support@f-linx / Android: system[...].ismartlife[...] )
  • The QR code on the sticker can’t be scanned by either the Tuya or SmartLife app - only F-Linx it seems.

I sadly don’t have any android phone to get it into the Tuya ecosystem and the ‘manual’ doesn’t explain how to reset it, pressing the button several times or during 5-10 seconds doesn’t seem to reset it (the device remains on my wifi network).

Also tried to use an Android emulator but got stuck pretty quickly as it requires bluetooth/wifi which the emulator all mocks.

Getting an Android phone to get it linked to Tuya feels a bit excessive (if it even works), but if that’s what I have to do I’m sure I can find one I can use for a little while.

I tried some network sniffing and using tinytuya, but tinytuya doesn’t find it. The app communicates via bluetooth on iOS or via the bit-door API I assume when not in bluetooth range.

Also sniffed around an unencrypted iOS backup and found API tokens for the bit-door.com APIs but most give me an error 500 and a Java exception with a 'Please update your APP" error. The account endpoints seem to work. Found my ‘deviceId’ as well.

Tried decompiling the Android app but it doesn’t help me as the app is vastly different from the iOS app - as said, can’t even use the same account and ‘inviting’ an email address that exists in the Android app doesn’t work from the iOS app (“account doesn’t exist”).

I have two left hands when it comes to creating my own ESP-based things, so that’s not really an option.

I’m really out of ideas now.

1 Like

I can’t update my message any longer, but I managed to get ahold of an actual Android phone.

So the F-linx 1.0.0 app is Tuya, but the newest Play Store version uses the bit-door.com APIs and is compatible with the current iOS version (accounts are on the bit-door backend for both operating systems).

I’m now trying with the ‘old’ app on an actual Android phone and will post my findings.

Edit:

  • The old app can’t find the USB dongle. I’ve now decompiled the new app to figure out how it talks to the dongle, it seems there’s some MQTT things going on with encrypted messages, and some API things. I’m not yet certain which is which in terms of encrypting/decrypting the MQTT messages and whether or not API calls are needed at all. However, I am certain this thing isn’t Tuya compatible. If it ever was, it was probably removed in a previous firmware update somewhere between 2021 and now.
1 Like

Once again can’t seem to update my findings, guess I need to level up first.

Either way:
I didn’t have success in figuring out how the MQTT messages are encrypted/decrypted. However, I have had more luck with Bluetooth. Seems you can replay messages that you sniffed previously for light on/off, door up/down/stop.

So I bought an ESP32 and flashed the Bluetooth Proxy FW on it. Now trying to get Claude to write me a HACS plugin to expose a garage door and light entity that under the hood connects via Bluetooth to the dongle and sends the commands when necessary. Claude already got me a working proof-of-concept python script which I can run from my computer and it’s working flawlessly so far.

This also removes any cloud dependancy, which is also a win.

In doing so, I also figured out my car is broadcasting as iBeacon (which was my next step anyway, automating the garage upon approach by car) so will most likely use the built-in iBeacon. So double win.

1 Like

I built mostly on your work. Works well, only issue is the c3 super mini has a weak radio. But I bought now one with external antenna and it is ok.