Skip to content

Repository files navigation

FDIA

FDIA is an iOS proof of concept for opening front door intercom automation project door via an HTTP request using TOTP.

Status

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:

What the app does

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, or SHA512
  • 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”

Settings

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

Technical flow

  1. The app generates a TOTP code from the configured secret.
  2. It builds a JSON request with the configured field name.
  3. Basic Auth can be added optionally.
  4. Custom TLS behavior can be applied optionally:
    • ignore certificate validation
    • validate the server against a custom CA
    • send a client certificate for mTLS
  5. The response is evaluated and error messages are shown.

Build and tests

The project includes:

Local test run:

xcodebuild test \
  -project FDIA.xcodeproj \
  -scheme FDIA \
  -destination "platform=iOS Simulator,name=iPhone 16" \
  -only-testing:FDIATests \
  CODE_SIGNING_ALLOWED=NO

Local 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

Limitations

  • 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

Recommendation

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:

About

Front Door Intercom Automation Apple IOS App

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages