Notify on curfew attempt
- Type
- notify_on_curfew_attempt
- Category
- Operational
- Enforced atWhen this policy is checked: while someone tries to open, while they create or change an invitation or hold, or after a denial (notify only).
- Denial hook
- TiersWhere an admin can set this policy: the whole organization, one integration, or the physical device when the connector supports a device steward.
- OrgIntegration
- EnforcementHow a configured row behaves. Enforce blocks. Require approval opens an admin inbox when the type supports it. Audit only records and never blocks.
- Enforce
- DefaultWhat happens when no row of this type is configured.
- Not configured — curfew denials are not additionally notified.
A denial hook: when invitation curfew blocks an open, OpenApp records policy.curfew.denied and emits on the configured channels. This type does not itself block access.
When it is enforced
Fires after another policy has already denied the action. This type records or notifies; it does not itself grant or deny access.
Where to set it
Settings → Policies (org) or the integration Policies tab.
Policies never grant access. See thepolicies architecture guidefor how org, integration, and device tiers combine.
Arguments
The config object on create/update. Shared row fieldsenforcement (enforce, require_approval,audit_only) and enabled apply to every type;audit_only and disabled rows never block.
| Name | Type | Required | Values | Description |
|---|---|---|---|---|
| channels | string[] | Yes | audit | Destination channels. Only `audit` is accepted until another channel exists. Unknown names and empty arrays are rejected. Default: ["audit"] (dashboard) |
| output | string or integer | No | — | Optional channel or output id. When set, the policy binds only that output. When omitted, it binds every output of the tier target. A scoped row does not apply when the acting output is unknown. |
How overlapping rows combine
Union of channels across applicable rows.
Example
A guest who tries the door at 02:00 during curfew is denied, and Activity shows policy.curfew.denied.
{ "channels": [ "audit" ]}Integrations
This type is documented on these connectors:
- Home Assistant (home_assistant)
- KNX (knx)
- MQTT (mqtt)
- PalGate Cloud (palgate_cloud)
- Shelly Cloud (shelly_cloud)
- Shelly Websocket (shelly_websocket)
- Tasmota (tasmota)
- Virtual Access (virtual_access)
- Virtual Demo Devices (virtual_demo)
- Waveshare (waveshare)
Related
- Policy catalog
- Policies architecture guide
- Invitation curfew (invitation_curfew)
- Quiet hours (quiet_hours)
- Emergency lockdown (emergency_lockdown)
Typed configuration
Section titled “Typed configuration”The OpenAPI contract names this object NotificationPolicyConfig:
{ "channels": ["audit"], "output": "main"}Only audit is currently accepted in channels. This notification is a denial hook and does not grant or deny access itself.