Skip to main content

Genie Aladdin Connect

The genie_aladdin_connect driver controls Genie / Overhead Door "Aladdin Connect" Wi-Fi garage door openers via the cloud REST API that the Aladdin Connect mobile app uses. It polls per-door status, opens and closes individual doors, and surfaces battery and Wi-Fi link state.

The driver is cloud-only — Overhead Door does not publish a LAN protocol — and uses the same endpoint as the mobile app. Overhead Door has not published an official integrator key, so the mobile app x-api-key value must be supplied by the integrator. Treat this driver as best-effort: it has been stable for years but the vendor may change endpoints or keys without notice.

Prerequisites

  • Active Aladdin Connect account with at least one opener paired in the mobile app.
  • The mobile-app x-api-key value. This is the same key used by the Android and iOS apps and is widely published in open-source garage-door integrations (Home Assistant genie_aladdin_connect and similar). The integrator must extract or look up this value; the driver does not ship with a default.
  • Outbound HTTPS from the GEM controller to the AWS API Gateway endpoint (default https://pxdqkls7aj.execute-api.us-east-1.amazonaws.com).

Setup

  1. Confirm the mobile app works. If the Aladdin Connect app cannot reach the opener, this driver cannot either.
  2. Create the device under System → Devices with driver genie_aladdin_connect. Set:
    • username — account email
    • password — account password (stored encrypted)
    • api_key — the mobile app x-api-key value (stored encrypted)
  3. Confirm connection. From the Script Console:
    await gem.command({device: <device_id>, action: 'get_doors'});
    You should see one entry per door, e.g.:
    [{ "address": "01:23:45:67:89:AB:1", "device_id": "01:23:45:67:89:AB", "door_index": 1, "name": "Main Door", "state": "closed", "battery_level": 100 }]
  4. Create one zone per door under System → Zones with address set to the <device_id>:<door_index> string from get_doors. Assign the zone to the garage subsystem so the standard open / close verbs map correctly.
  5. Test a command.
    await gem.command({device: <device_id>, action: 'open', address: '01:23:45:67:89:AB:1'});

Attributes

Device

AttributeRequiredTypeNotes
usernameyesstringAladdin Connect account email.
passwordyesstring (secure)Aladdin Connect account password.
api_keyyesstring (secure)Mobile-app x-api-key header value.
base_urlnostringOverride only if the vendor rotates the API endpoint. Defaults to the AWS API Gateway URL.
status_intervalnointPoll interval (ms). Default 30000, minimum 5000.
app_versionnostringReported app version in the login payload. Defaults to 5.30.
build_numbernostringReported build number. Defaults to 2042.

Zone

The zone address is required and follows the format <device_id>:<door_index> (e.g., 01:23:45:67:89:AB:1). The poller writes:

AttributeTypeSource
statestringopen / closed / opening / closing / unknown, derived from door_status.
batteryintDoor sensor battery percentage if reported.

Commands

NameArgsDescription
get_devicesList openers (one device per gateway) on the account.
get_doorsList every door with its address and current state.
get_statusaddressForce-refresh and return raw status for a single door.
openaddressSend OpenDoor.
closeaddressSend CloseDoor.

Door state mapping

The Aladdin Connect API reports door_status as an integer. The driver maps it to GEM zone state as follows:

door_statusGEM state
1open
2opening
3open (timeout-opening surfaced as open to avoid a stuck zone)
4closed
5closing
6closed (timeout-closing surfaced as closed)
0 / 7unknown

Known limitations

  • Cloud-only. No LAN protocol path is available.
  • There is no stop operation in the cloud API — once a door starts moving it runs to completion or hits the opener's safety reverse.
  • The x-api-key is not officially licensed. If Overhead Door rotates the key, the driver will return 401/403 on every request until a new key is supplied.
  • Movement timing comes from the poll interval. With the default 30 s interval you may see a door transition closed → opening → open rather than catch every intermediate frame.

Troubleshooting

SymptomCheck
login http 401Verify the email and password in the Aladdin Connect mobile app. If those work, the api_key is likely stale.
login response missing tokenThe endpoint may have changed. Confirm base_url and app_version against the current mobile app.
Driver re-auths in a tight loopThe api_key is wrong — every authenticated call returns 401/403, the driver re-logs in, and the next call still returns 401/403.
Door state stuck on opening or closingThe opener hit a safety reverse, or the poll missed the transition. Run get_status to refresh, or open/close the door manually to clear.
door not found for addressRun get_doors and verify the GEM zone address matches the printed address (device_id:door_index).