Skip to content

Repository files navigation

SceneBridge

SceneBridge is an Apache-2.0 local-first automation engine: normalized media and schedule events flow through declarative rules into local smart-home actions. It has no account requirement, no telemetry, and no arbitrary Python evaluation.

Quick start

python -m venv .venv && . .venv/bin/activate
pip install -e '.[dev]'
scenebridge init
scenebridge validate
scenebridge simulate media.started --dry-run
scenebridge run --dry-run

run stays local. The webhook source binds to 127.0.0.1 by default (and rejects non-local binding); use a local reverse proxy if LAN exposure is genuinely needed. simulate sends a normalized event through the same rules without requiring a real device. devices lists configured targets and doctor reports local configuration health.

Safety model

Rules match only literal source, type, and payload key/value fields. Templates may interpolate {event.payload.name} and nothing else. There is no eval, imports, shell execution, or expression function language. Values are schema-validated, target actions are debounced/rate-limited, target-origin loops are skipped, snapshots are restored only when saved, brightness/transitions are clamped, and WiZ flashing is a single bounded pulse.

See configuration reference, threat model, Home Assistant example, and WiZ example.

Real media adapters are intentionally outside this MVP. SceneBridge does not claim Apple TV support, does not capture HDMI, and does not bypass DRM.

About

No description, website, or topics provided.

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages