Skip to content

About

No description, website, or topics provided.

Resources

Stars

74 stars

Watchers

2 watching

Forks

Repository files navigation

Scrypted Custom Component for Home Assistant

The Scrypted Custom Component for Home Assistant adds support for managing Scrypted from your Home Assistant Dashboard, and creation of Scrypted NVR cards.

Scrypted Dashboard

Visit the Scrypted Documentation for setup instructions. Requires Home Assistant 2026.7 or newer.

Device entities

When Create entities for Scrypted devices is enabled (default), the integration connects to the Scrypted server over its engine.io RPC API and creates entities for discovered devices. By default only Camera and Doorbell device types are mirrored; pick additional Scrypted device types in the integration options. Smart Motion and Smart Occupancy Sensors created by Scrypted's object detection plugin are always mirrored. They trigger only on the object classes you choose (e.g. people, not swaying trees), which makes them a good fit for automations. Other Sensor devices are left out by default because they are often bridged from integrations Home Assistant already has (Ring, UniFi Protect, MQTT).

To combine broad device types with specific sources, exclude plugins in the options: devices from an excluded plugin never get entities, whatever their type. For example, select Sensor but exclude the Ring plugin if Home Assistant's Ring integration already covers those sensors. Excluding the object detection plugin also hides its smart sensors.

Narrowing the options (unselecting a device type or excluding a plugin) removes the devices they now hide, along with their entities, when the integration reloads. Devices that Scrypted itself no longer reports are kept, since they may only be missing briefly; delete those from the device page once you're sure they're gone.

  • Camera — snapshots for VideoCamera devices. Live streaming is only supported using the Scrypted NVR cards.
  • Binary sensor — motion, doorbell button, sound, occupancy, flood, entry, power, connectivity, tamper, charging, sleeping.
  • Detected binary sensors — one per object class a camera's detector reports (Person detected, Car detected, …). Each turns on when the class is detected and off after 60 seconds without another detection, like Scrypted's Smart Motion Sensor but with no setup. They are created disabled, since a detection model can report dozens of classes: enable the ones you want from the camera's device page.
  • Event — object detection (person, car, … from the detector's reported classes) and doorbell presses, usable as automation triggers.
  • Sensor — temperature, humidity, battery, illuminance, UV, CO2, PM2.5/PM10, VOC, NOx, air quality.
  • Button — Restart for devices that support rebooting, such as most cameras. Created disabled; enable it from the device page.
  • Media player — intercom-capable devices (doorbells, two-way cameras) become speaker entities: point media_player.play_media, TTS, or announce at them to talk through the camera speaker.
  • Switch, lock, cover, light, fan, vacuum, climate — controllable Scrypted devices of those types, once their device type is enabled in the options.
  • Notification switches — enable the Notifier device type to get a switch per Scrypted NVR app (one per user per phone or Mac) that mutes its push notifications. Off by default: anyone with Home Assistant access could then mute any household member's notifications.

Scrypted NVR detection clips are also available in the Home Assistant media browser (camera → day → clip) and play through HA's stream component.

State updates are pushed; no polling. Entities reconnect automatically if the server restarts.

Development

Using Dev Container (Recommended)

The easiest way to develop is using the included dev container:

  1. Install VS Code and the Dev Containers extension
  2. Open this repository in VS Code
  3. Click "Reopen in Container" when prompted (or run the command manually)
  4. Wait for the container to build and dependencies to install
  5. Home Assistant will start automatically at http://localhost:8123

The dev container automatically:

  • Installs all dependencies
  • Sets up pre-commit hooks
  • Creates a config/ directory (git-ignored) for Home Assistant and symlinks custom_components into it
  • Configures debug logging for the integration
  • Starts debugpy on port 5678 (attach with the provided VS Code launch config). To make Home Assistant wait for the debugger on startup, copy .devcontainer/.env.example to .devcontainer/.env and set ENV_DEBUGPY_WAIT=true.

Local Development

To set up a local development environment:

# Create and activate virtual environment
python3.14 -m venv venv
source venv/bin/activate

# Install dependencies
pip install -r requirements_dev.txt

# Install pre-commit hooks
pre-commit install

# Run tests
pytest

# Run linting and formatting checks
ruff check .
ruff format --check .

About

No description, website, or topics provided.

Resources

Stars

74 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages