Agent skill
eufy
Manage Eufy Security (HomeBase S380 + SoloCam S340/E340) from the `eufy` CLI—capture snapshots, forward alarms to the Tuya hub, and change guard/alarm modes through eufy-security-ws.
Install this agent skill to your Project
npx add-skill https://github.com/mbelinky/clawdis-skills/tree/main/eufy
Metadata
Additional technical details for this skill
- clawdis
-
{ "emoji": "\ud83d\udee1\ufe0f", "install": [ { "id": "pip", "cmd": "pip install -e $HOME/Coding/belidis/eufy", "kind": "pip", "label": "Install eufycli" } ], "requires": { "bins": [ "eufy" ] } }
SKILL.md
eufy skill
Use this when a task references the Eufy camera kit, S380 HomeBase, S340/S330/S230 cameras, or anything that needs alarms/images from those devices.
Environment
- Ensure the helper package is installed:
bash
pip install -e /Users/marianobelinky/Coding/belidis/eufy - Generate/edit the config once per operator:
bashFill
eufy config init $EDITOR ~/.config/eufycli/config.toml[account](email/password/app password),[stations]/[cameras]aliases, default[paths], and optional[webhook]URL (usuallyhttp://127.0.0.1:5000/api/eufy/events). - Secrets hierarchy:
EUFY_PASSWORD/EUFYCLI_PASSWORDenv var →account.password→account.password_command. - Override config paths via
EUFYCLI_CONFIG/ CLI--configflag. - Optional guard/alarm control requires
eufy-security-ws:bashThen set thedocker run --rm -p 3000:3000 -e USERNAME=... -e PASSWORD=... bropat/eufy-security-ws:latest[ws]block (enabled = true,url,schema) inconfig.toml.
Common CLI flows
- Account sanity check
bash
eufy login # lists stations/cameras/IPs - Pull a still
bashImages land in
eufy snapshot driveway # uses alias eufy snapshot T8140XXXXXXXXXXXX -o ./tmppaths.mediaunless-ooverrides it. - Stream alarms into Tuya hub
bashLeave it running (LaunchAgent/systemd) so
eufy events watch --webhook http://<hub-ip>:5000/api/eufy/events/api/eufy/eventsalways has fresh motion history. - Guard / siren (needs ws bridge)
bash
eufy ws guard homebase away eufy ws alarm homebase --seconds 60
Tuya hub integration cheatsheet
The Flask hub (repo: tuya-hub/tuya-hub) exposes endpoints once the eufycli package is installed:
| Endpoint | Purpose |
|---|---|
GET /api/eufy/status |
Returns {available,status} to show config/install issues. |
GET /api/eufy/cameras |
Lists metadata/thumbnails for dashboards. |
POST /api/eufy/camera/<alias-or-serial>/snapshot |
Streams JPEG stills (headers include capture timestamp). |
POST /api/eufy/events |
Accepts {"events": [...]} (exact payload from eufy events watch). |
GET /api/eufy/events |
Returns the cached events buffer for UI panels/alerts. |
Pairing workflow:
- Install eufycli inside the hub's virtualenv (
pip install -e /Users/.../belidis/eufy). - Restart the Flask app so
services.eufy.EufyServiceloads the config. - Launch
eufy events watchon a machine that stays on the same LAN and point--webhookto the Flask endpoint. - Use the new REST endpoints (or
eufy snapshot ...) from automations, Tuya flows, or Clawdis scripts.
Troubleshooting
- Config missing –
/api/eufy/statusshows the exact error (e.g.,account.email missing). Runeufy config initand edit the file. - CaptchaRequiredError – rerun
eufy login; the CLI will print a base64 captcha blob. Solve it and re-run with--captcha-id/--captcha-code(Typer prompts automatically). After a successful login the session refresh works silently. - 403/InvalidCredentials – Eufy accounts with 2FA require app passwords. Generate one inside the Eufy Security app and store it in the config or
EUFY_PASSWORD. - Guard/Alarm commands fail – confirm
docker logsforeufy-security-wsshowclient connected, that the[ws]block hasenabled = true, and that the CLI can reach the server (eufy ws guard ...). The Tuya hub does not call guard endpoints automatically; keep using the CLI or build an automation around it. - Snapshots stale –
eufy snapshot ...returns the last motion thumbnail. Trigger motion or use the Eufy app to refresh; RTSP livestreams require enabling RTSP per camera (inside the native app) and storingrtsp_username/passwordthere, which the CLI will surface later.
Related files
- Helper package:
/Users/marianobelinky/Coding/belidis/eufy - Flask hub:
/Users/marianobelinky/Coding/infra/tuya-hub/tuya-hub - Skill reference config:
~/.config/eufycli/config.toml
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
chill-putio
Automate chill.institute torrent/magnet ingestion into put.io. Use when asked to search, scan, or fetch torrent/magnet links from chill.institute and add them to put.io, or when troubleshooting the chill/put.io ingestion pipeline (cookies, profiles, put.io token).
gh
GitHub CLI for repos, PRs, issues, and Actions.
tailscale
Manage Tailscale VPN, Serve, and Funnel from the CLI.
twitter-bookmarks
Automated Twitter bookmark processor with YAML-configurable categories and smart routing
dashlane
Dashlane CLI for vault access and automation.
tuya
Control Tuya devices via local Home Assistant (tuya-local) or Tuya Cloud using the tuya-hub Go CLI.
Didn't find tool you were looking for?