FDIA is an iOS proof of concept for opening front door intercom automation project door via an HTTP request using TOTP.
It was only a POC. It was started from OliverDrechsler/front_door_intercom_automation and depends on that project.
For actual day-to-day use, the iOS Shortcuts app is recommended instead - see other project FrontDoorIntercomAutomation
Recommended alternative with Apple IOS Shortcuts App:
- Guide: FDIA_Open_Door_Guide.md
- Example shortcut: FDIA_Tuer_oeffnen_Best_Effort.shortcut
The app generates a TOTP code locally and sends it via POST to a configurable URL
to open a door.
Supported features:
- configurable API URL
- optional Basic Auth username and password
- configurable TOTP field name in the JSON body
- TOTP with
SHA1,SHA256, orSHA512 - ignore TLS validation
- custom server port
- custom server CA for self-signed certificates
- mTLS with client certificate (
.p12/.pfx) - biometric protection for settings using Face ID / Touch ID
- selection between two app icons
- App Intent for “Open Door”
The following values can be configured in Settings:
- TOTP Secret
- TOTP algorithm
- TOTP digit length
- TOTP time interval
- API URL
- API username
- API password
- TOTP field name
- Server port
- TLS mode
- server CA certificate
- mTLS certificate including password
- biometric protection
- app icon
- The app generates a TOTP code from the configured secret.
- It builds a JSON request with the configured field name.
- Basic Auth can be added optionally.
- Custom TLS behavior can be applied optionally:
- ignore certificate validation
- validate the server against a custom CA
- send a client certificate for mTLS
- The response is evaluated and error messages are shown.
The project includes:
- unit tests
- UI tests
- a GitHub Actions CI workflow in
.github/workflows/ios-ci.yml
Local test run:
xcodebuild test \
-project FDIA.xcodeproj \
-scheme FDIA \
-destination "platform=iOS Simulator,name=iPhone 16" \
-only-testing:FDIATests \
CODE_SIGNING_ALLOWED=NOLocal release build:
xcodebuild build \
-project FDIA.xcodeproj \
-scheme FDIA \
-configuration Release \
-destination "generic/platform=iOS" \
CODE_SIGNING_ALLOWED=NO \
CODE_SIGNING_REQUIRED=NO \
CODE_SIGN_IDENTITY=""The CI:
- runs the unit tests
- builds an iOS artifact
- uploads the test results and app artifact
- no production-grade support
- no ongoing maintenance
- no guarantee of future iOS / Xcode compatibility
- the App Intent is intentionally restricted when biometric protection is enabled
If you only want a reliable way to trigger the door opening from iOS, prefer the Shortcuts app over this project.
The related guide is available here: