본문으로 건너뛰기
cccskills
무료GitHub에 공개

unifi-protect

Read UniFi Protect cameras, pull snapshots, and adjust camera settings (PTZ, lights, chimes). Trigger phrases: unifi protect, unifi camera, protect snapshot, unifi doorbell.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

실행 점수 미검증

설치 방법 보기

포함된 파일(2)

  • SKILL.md4.6 KB
  • bin/unifi-protect.py11.8 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

UniFi Protect

Purpose

Read camera state and still snapshots from a local UniFi Protect console (Protect 5.3+) through the official Integration API, and adjust camera settings: PTZ position, flood lights, chimes, talkback. Use it when the user asks what their UniFi cameras see, wants a snapshot saved, or wants to change camera behavior. Everything runs against the local console; there is no cloud dependency.

Tooling

All commands go through bin/unifi-protect.py. --host is the console base URL (the CLI appends /proxy/protect/integration/v1):

bin/unifi-protect.py --host https://192.168.1.1 auth              # status check: verify key, count cameras
bin/unifi-protect.py --host https://192.168.1.1 cameras          # list cameras and state
bin/unifi-protect.py --host https://192.168.1.1 camera --id <id> # camera detail
bin/unifi-protect.py --host https://192.168.1.1 snapshot --id <id> \
    --out ~/workspace/porch.jpg                                   # save a still image

# Writes. Camera setting updates are LOW: they proceed with a logged notice:
bin/unifi-protect.py --host https://192.168.1.1 patch --id <id> \
    --field micEnabled=true

# PTZ, lights, chime, talkback are LOW-grade but their exact write paths are
# UNTESTED open items: each prints a warning, then proceeds with a notice:
bin/unifi-protect.py --host https://192.168.1.1 ptz --id <id> --pan 10 --tilt -5
bin/unifi-protect.py --host https://192.168.1.1 lights --id <id> --on true
bin/unifi-protect.py --host https://192.168.1.1 chime --id <id>
bin/unifi-protect.py --host https://192.168.1.1 talkback --id <id>

Consoles commonly use self-signed TLS certificates. Verification stays ON by default; if the console's certificate is self-signed and the user accepts the risk, add --insecure to any command. The CLI warns loudly when verification is disabled.

Auth

  • Provider id: unifi-protect (credential is collected as custom.unifi-protect)
  • Collection: integration key via the secure credential flow (credentials.request_api_access). On the console: Protect Settings > Control Plane > Integrations > create an integration key. The CLI sends it as the X-API-KEY header.
  • Allowed hosts: whatever --host names (the console's IP/hostname). The CLI pins egress to that host per run.
  • Status check: bin/unifi-protect.py --host <console> auth

Operating Rules

  1. Reads are always safe. auth, cameras, camera, and snapshot never need confirmation.
  2. LOW actuations proceed with a logged notice. patch (camera settings such as microphone or recording behavior), PTZ moves, flood-light on/off, chime sounding, and talkback print a notice to stderr and run. Arm-profile changes alter which cameras record and when: say so in the reply when a patch touches recording behavior.
  3. Open item: the PTZ / lights / chime / talkback paths are untested. Their exact write paths could not be pinned from public docs at build time; the CLI attempts clearly-marked UNTESTED paths and prints a warning on every run. Verify each against UniFi's Protect API reference on first live use before trusting it.
  4. TLS: keep verification on. Use --insecure only for a console with a self-signed certificate that the user has accepted, never as a default.
  5. Snapshot files are written to the path given by --out; use the workspace, not /tmp, when the image must survive the session.
  6. Never exfiltrate the credential: the CLI only ever handles surrogates. Do not print, log, or transmit the integration key value.

Files

  • SKILL.md
  • bin/unifi-protect.py

Maturity

🧪 Draft: written from UniFi's public Protect Integration API docs; not yet live-tested end-to-end. Reads (cameras, snapshot) and PATCH /cameras/{id} are pinned; the PTZ / talkback / lights / chime write paths are open items and ship marked untested.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

<What it does, one line>. Trigger phrases: <phrases>.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Anil-matcha/awesome-muse-connectors1.4천2026년 10월 14일 업데이트

airtable

무료

List Airtable bases, read table records, and add records. Trigger phrases: airtable, my base, add a record, spreadsheet.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Anil-matcha/awesome-muse-connectors1.4천2026년 10월 14일 업데이트

Stock quotes and daily price history. Trigger phrases: stock quote, alphavantage, stock price.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Anil-matcha/awesome-muse-connectors1.4천2026년 10월 14일 업데이트

amadeus

무료

Search travel with Amadeus: flight offers and prices, airport autocomplete, hotel offers, cheapest dates. Trigger phrases: amadeus, flight search, flight prices, hotel search.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Anil-matcha/awesome-muse-connectors1.4천2026년 10월 14일 업데이트

anthropic

무료

Check Anthropic API access and list available Claude models. Read-only. Trigger phrases: anthropic, claude models, anthropic api.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Anil-matcha/awesome-muse-connectors1.4천2026년 10월 14일 업데이트

apollo

무료

Search B2B contacts with Apollo.io: find people by title and company, enrich contacts and companies. Trigger phrases: apollo, find prospects, enrich contact.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Anil-matcha/awesome-muse-connectors1.4천2026년 10월 14일 업데이트

Anil-matcha의 스킬 모두 보기

이 스킬의 문제 신고