Skip to content

App: import eufy cameras through the eufy account - #3

Open
danielehrhardt wants to merge 2 commits into
mainfrom
feat/app-eufy-import
Open

danielehrhardt wants to merge 2 commits into
mainfrom
feat/app-eufy-import

Conversation

@danielehrhardt

Copy link
Copy Markdown
Contributor

The add-camera screen in the app can now connect an eufy account and import its cameras, like the server web UI already does.

What changed

  • New "eufy account" entry under Integrations. Picking the Eufy brand also opens this flow, with a link to the manual RTSP form for wired models.
  • Sign-in with email, password and region (default DE), then the email code step (2FA) and the captcha step (shows the captcha image, answer field). Polls while the server is still signing in.
  • Connected view: account email, reload, the account's cameras with checkboxes (already-added ones are marked, battery level and weak WiFi shown), "Add n cameras", a result summary and sign-out.
  • Notice that eufy battery cameras start with recording off and that motion recording only wakes the camera on eufy motion events.
  • API helpers and types for /api/integrations/eufy*, eufy added to SourceKind, en and de strings.

The screen is already admin-only (route guard), same as the API.

Testing

  • bun run typecheck and bun test src in app/ pass.
  • No screenshots: the app has no working web target (expo-sqlite worker bundling fails) and a native simulator build was out of scope here. Not yet tried against a real eufy account on a device.

Add an eufy account flow to the add-camera screen, matching the web UI:
sign-in with region, email code and captcha steps, account camera list
with selection, import summary and sign-out. Picking the Eufy brand opens
the account flow, with a link to manual RTSP setup for wired models.
Signing out takes every imported eufy camera offline and needs the email
code again to undo, so ask first like the other destructive actions.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant