- Rename main.py → play_speaker.py - Add record_mic.py: record audio from camera mic via RTSP to a timestamped WAV in data/ - Add private API camera dump to dump_camera.py - Update README scripts section
42 lines
1.1 KiB
Markdown
42 lines
1.1 KiB
Markdown
# G6 Pro 360
|
|
|
|
Experimenting with G6 Pro 360.
|
|
|
|
## Setup
|
|
|
|
Requires [uv](https://docs.astral.sh/uv/) and Python 3.14.
|
|
|
|
```sh
|
|
uv sync
|
|
```
|
|
|
|
Copy `.env.example` to `.env` and fill in your values:
|
|
|
|
```sh
|
|
cp .env.example .env
|
|
```
|
|
|
|
```env
|
|
HOST=192.168.1.1 # UniFi controller IP
|
|
API_KEY= # API key from UniFi OS profile → API Tokens
|
|
UNIFI_USERNAME= # Local UniFi OS username (for speaker volume control)
|
|
UNIFI_PASSWORD= # Local UniFi OS password
|
|
```
|
|
|
|
## API Reference
|
|
|
|
[UniFi Protect API v6.2.88](https://developer.ui.com/protect/v6.2.88)
|
|
|
|
> **Note:** For use cases requiring real-time event subscriptions (WebSocket) or
|
|
access to settings not exposed by the official API, consider
|
|
[uiprotect](https://github.com/uilibs/uiprotect) — an unofficial Python library
|
|
wrapping the private UniFi Protect API.
|
|
|
|
## Scripts
|
|
|
|
```sh
|
|
uv run play_speaker.py # play hello.wav through the camera speaker
|
|
uv run record_mic.py # record from the camera mic (Ctrl+C to stop)
|
|
uv run dump_camera.py # dump camera data from integration + private API
|
|
```
|