Occupancy Counting
v1.0.0analytics
Alerts on zone occupancy threshold crossings (over / under / cleared).
- needs
object_detection
13 apps · Apache-2.0 SDK · no fee on app sales
Every deployment opens the same catalog. These 13 are first-party and install with one compose command; anything you build gets listed the same way, by a pull request against a public index.
An app never names an adapter. It declares the tasks it needs, and any adapter advertising one satisfies it — which is why swapping a plate reader for a better plate reader touches no app code. Each card below resolves its tasks against the adapters that exist today.
analytics
Alerts on zone occupancy threshold crossings (over / under / cleared).
object_detectionautomation
Opens the barrier for allowed vehicles — pulses an HTTP relay per gate camera on the LPR app's access.decided.v1 allow decisions; deny and unknown fail closed.
doorstep
Watches a porch ROI for package arrivals, lingering boxes, and pick-ups with an owner-vs-stranger severity heuristic.
object_detectiondoorstep
Recognises faces at the door and keeps the People directory — family, residents, staff, contractors with expiry dates, a watchlist; strangers alert with a snapshot you can enrol from.
face_recognitionforensics
Indexes inference events (labels + captions) into SQLite and answers natural-language footage queries like 'red truck at the dock yesterday'.
integration
Bridges the opennvr.alerts.* fan-out into Home Assistant entities via MQTT discovery or the HA REST API, with auto-off windows so sensors read like an event log.
asks to reach the Home Assistant host the operator configures
notifications
The guard's phone: pushes alerts at/above a severity bar to Telegram and/or any webhook (SMS gateways, Slack, sirens) — one alarm, one push, flood-safe.
asks to reach api.telegram.org, the webhook URL the operator configures
perimeter
Alerts when a watched object sits stationary in a zone past a dwell threshold with no person nearby.
object_detectionmulti_object_trackingperimeter
Alerts when a watched object enters a restricted zone during restricted hours.
object_detectionperimeter
Tripwire counting and alerts — tallies every tracked object crossing a drawn line per direction and hour, and alarms on each crossing, on a count threshold, or only at night.
object_detectionmulti_object_trackingperimeter
Alerts when a watched object dwells in a zone beyond a threshold.
object_detectionsafety
Checks that the guard wands every person entering — left arm, right arm, front, back — and flags what the scanner finds.
pose_estimationvehicle
Reads license plates via a YOLOv8 to crop to fast-plate-ocr chain and routes severity through allow/deny watchlists.
object_detectionlicense_plate_recognitionThe SDK is Apache-2.0, so ship under any licence you like, closed included. OpenNVR takes no fee on app sales — you get the licence hook and the platform stays out of the transaction. Getting listed is a pull request against this index, not a partnership call.
app = App("driveway-watch")
app.param("dwell_s", float, default=30.0)
@app.on_detection("person", zone="driveway",
dwell="$dwell_s")
def loitering(event):
event.alert("Loitering", severity="high")