BetterFrame/nodered/src/bf-kiosk-camera-event.html

48 lines
1.9 KiB
HTML
Raw Normal View History

<script type="text/javascript">
RED.nodes.registerType("bf-kiosk-camera-event", {
category: "BetterFrame Triggers",
color: "#a6d4ff",
defaults: {
name: { value: "" },
camera_id: { value: "" },
},
inputs: 0,
outputs: 1,
icon: "betterframe.svg",
label: function () {
return this.name || "kiosk camera event";
},
paletteLabel: "Kiosk Camera Event",
});
</script>
<script type="text/html" data-template-name="bf-kiosk-camera-event">
<div class="form-row">
<label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
<input type="text" id="node-input-name" placeholder="(optional)" />
</div>
<div class="form-row">
<label for="node-input-camera_id"><i class="fa fa-video-camera"></i> Camera ID</label>
<input type="number" id="node-input-camera_id" placeholder="(blank = all cameras)" />
</div>
<div class="form-tips">
Fires on kiosk-forwarded camera events (ONVIF motion, line crossing, GPIO pulses
tagged to a camera, etc.).
Listens on <code>POST /in/camera.event</code> internally — no upstream
<code>http in</code> node required.
Emits <code>msg = {topic, kiosk_id, camera_id, source_type, payload}</code>.
Leave Camera ID blank to receive events from all cameras.
</div>
</script>
<script type="text/html" data-help-name="bf-kiosk-camera-event">
<p>Fires on kiosk-originated camera events that the BetterFrame server has
authenticated and forwarded. Listens on <code>POST /in/camera.event</code>
internally — no upstream <code>http in</code> node needed.</p>
<p>Optional <b>Camera ID</b> filter limits this node to a single camera.
Further filtering on payload fields can be done with downstream switch nodes.</p>
<p>Previous releases used a glob-pattern (<code>camera.*</code>) over upstream
<code>http in</code> messages. That filter has been removed in favor of a single
fixed ingest topic.</p>
</script>