@@ -109,41 +109,8 @@ The ``objectconfig.yml`` file is organized into these sections:
109109- ``animation `` — create GIF/MP4 animations from event frames around the detection.
110110 Key settings: ``create_animation `` (``yes ``/``no ``), ``animation_types `` (``mp4,gif ``),
111111 ``animation_width ``, ``animation_retry_sleep ``, ``animation_max_tries ``, ``fast_gif ``
112-
113- .. _push_config :
114-
115- - ``push `` — direct FCM push notifications from ``zm_detect `` (Path 1 only, requires
116- ZM 1.39.2+). ``zm_detect `` reads registered tokens from ZM's ``Notifications `` table
117- via pyzm and sends push notifications through an FCM cloud function proxy after
118- detection. Key settings:
119-
120- - ``enabled `` — ``yes ``/``no `` (default ``no ``)
121- - ``fcm_v1_url `` — URL of the FCM cloud function proxy. Pre-configured with the
122- managed zmNg default (same proxy used by the ES). Replace only if you run your
123- own cloud function.
124- - ``fcm_v1_key `` — authorization key for the cloud function proxy. Pre-configured
125- with the managed zmNg default. Replace only if you run your own cloud function.
126- - ``replace_push_messages `` — ``yes `` to collapse notifications per monitor
127- - ``include_picture `` — ``yes `` to include event image URL in the notification
128- - ``android_priority `` — FCM priority (``high `` or ``normal ``)
129- - ``android_ttl `` — optional TTL in seconds
130-
131- **Setup steps: **
132-
133- 1. Ensure ZoneMinder is 1.39.2+ (adds the Notifications REST API).
134- 2. Set ``push.enabled `` to ``yes `` in ``objectconfig.yml ``.
135- The cloud function URL and key are pre-configured with the managed zmNg
136- defaults (same as the ES) — no additional configuration needed.
137- 3. Register device tokens: client apps (e.g. zmNg) register FCM tokens via
138- the ZM ``/api/notifications.json `` REST endpoint. Tokens are stored in ZM's
139- ``Notifications `` database table.
140-
141- If you run your own FCM cloud function proxy, replace ``fcm_v1_url `` and
142- ``fcm_v1_key `` with your own values.
143-
144- ``zm_detect `` respects per-token monitor filtering, throttle intervals,
145- and push state. Invalid tokens are automatically cleaned up.
146-
112+ - ``push `` — direct FCM push notifications from ``zm_detect `` (Path 1 only, ZM 1.39.2+).
113+ See :ref: `push_config ` below for full details.
147114- ``remote `` — remote ML server (``pyzm.serve ``) gateway URL, mode, credentials, fallback
148115- ``ml `` — the detection pipeline:
149116
@@ -156,6 +123,45 @@ The ``objectconfig.yml`` file is organized into these sections:
156123
157124Refer to the sample config files for the full list of options with inline comments.
158125
126+ .. _push_config :
127+
128+ Direct Push Notifications (``push `` section)
129+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
130+
131+ The ``push `` section in ``objectconfig.yml `` configures direct FCM push notifications
132+ from ``zm_detect `` — **Path 1 only **, requires ZM 1.39.2+. ``zm_detect `` reads registered
133+ tokens from ZM's ``Notifications `` table via pyzm and sends push notifications through an
134+ FCM cloud function proxy after detection.
135+
136+ **Key settings: **
137+
138+ - ``enabled `` — ``yes ``/``no `` (default ``no ``)
139+ - ``fcm_v1_url `` — URL of the FCM cloud function proxy. Pre-configured with the
140+ managed zmNg default (same proxy used by the ES). Replace only if you run your
141+ own cloud function.
142+ - ``fcm_v1_key `` — authorization key for the cloud function proxy. Pre-configured
143+ with the managed zmNg default. Replace only if you run your own cloud function.
144+ - ``replace_push_messages `` — ``yes `` to collapse notifications per monitor
145+ - ``include_picture `` — ``yes `` to include event image URL in the notification
146+ - ``android_priority `` — FCM priority (``high `` or ``normal ``)
147+ - ``android_ttl `` — optional TTL in seconds
148+
149+ **Setup steps: **
150+
151+ 1. Ensure ZoneMinder is 1.39.2+ (adds the Notifications REST API).
152+ 2. Set ``push.enabled `` to ``yes `` in ``objectconfig.yml ``.
153+ The cloud function URL and key are pre-configured with the managed zmNg
154+ defaults (same as the ES) — no additional configuration needed.
155+ 3. Register device tokens: client apps (e.g. zmNg) register FCM tokens via
156+ the ZM ``/api/notifications.json `` REST endpoint. Tokens are stored in ZM's
157+ ``Notifications `` database table.
158+
159+ If you run your own FCM cloud function proxy, replace ``fcm_v1_url `` and
160+ ``fcm_v1_key `` with your own values.
161+
162+ ``zm_detect `` respects per-token monitor filtering, throttle intervals,
163+ and push state. Invalid tokens are automatically cleaned up.
164+
159165Configuration Tools
160166---------------------
161167
0 commit comments