@apocaliss92/nodelink-js 0.4.12 → 0.4.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -37,6 +37,30 @@ await api.onSimpleEvent((event) => {
37
37
 
38
38
  ---
39
39
 
40
+ ## Email Push for Battery Cameras
41
+
42
+ Battery cameras (Argus, Go, …) can't reliably keep a TCP/ONVIF push subscription alive while sleeping. The manager app embeds an SMTP server so the camera can deliver motion alerts via email — the most resilient path for sleep-heavy devices.
43
+
44
+ **Flow**:
45
+
46
+ 1. Enable the manager's built-in SMTP server (**Settings → Email Push**, default port `2525`).
47
+ 2. Each camera gets a unique recipient `cam-<id>@<domain>` (`emailPush.getCameraAddress`).
48
+ 3. From the camera's **Email Push** tab in the manager UI, click **Auto-configure** — the manager pushes the right SMTP server, recipients and 24/7 schedule to the camera via Baichuan (`baichuan.setupEmailPushToManager`).
49
+ 4. On motion, the camera sends an email. The manager parses it, classifies the trigger (people/vehicle/motion), saves the snapshot under `${DATA_PATH}/email-push/<cameraId>/`, and emits a synthetic motion event into the same bus used by native Baichuan push — so MQTT, Home Assistant, Frigate, etc. see it transparently.
50
+
51
+ See [documentation/baichuan-api/email.md](./documentation/baichuan-api/email.md) for the full API and [documentation/baichuan-api/time.md](./documentation/baichuan-api/time.md) for the related NTP / DST / system clock setters.
52
+
53
+ **Key tRPC procedures**:
54
+
55
+ - `emailPush.status`, `emailPush.start/stop/restart`, `emailPush.updateSettings`
56
+ - `emailPush.getCameraAddress`, `emailPush.listCameraAddresses`
57
+ - `emailPush.recentEvents`, `emailPush.injectTestEvent`
58
+ - `baichuan.getEmail`, `baichuan.setEmail`, `baichuan.testEmail`
59
+ - `baichuan.getEmailTask`, `baichuan.setEmailTask`
60
+ - `baichuan.setupEmailPushToManager` (one-shot orchestrator)
61
+
62
+ ---
63
+
40
64
  ## Contributing: Share Your Camera Fixtures
41
65
 
42
66
  Help improve device support by sharing the API responses from your camera model. The diagnostics dump captures all capability and configuration data (credentials, IPs, and serial numbers are **automatically sanitized**).
@@ -0,0 +1,7 @@
1
+ import {
2
+ BaichuanVideoStream
3
+ } from "./chunk-C57QV7IL.js";
4
+ export {
5
+ BaichuanVideoStream
6
+ };
7
+ //# sourceMappingURL=BaichuanVideoStream-HGPU2MZ3.js.map
@@ -12,8 +12,8 @@ import {
12
12
  sampleStreams,
13
13
  sanitizeFixtureData,
14
14
  testChannelStreams
15
- } from "./chunk-IJG45AOT.js";
16
- import "./chunk-W2ANCJVM.js";
15
+ } from "./chunk-2JNXKT3C.js";
16
+ import "./chunk-C57QV7IL.js";
17
17
  export {
18
18
  captureModelFixtures,
19
19
  collectCgiDiagnostics,
@@ -29,4 +29,4 @@ export {
29
29
  sanitizeFixtureData,
30
30
  testChannelStreams
31
31
  };
32
- //# sourceMappingURL=DiagnosticsTools-HGJGVQXZ.js.map
32
+ //# sourceMappingURL=DiagnosticsTools-BQOWJ23L.js.map
@@ -8,7 +8,7 @@ import {
8
8
  recordingsTraceLog,
9
9
  splitAnnexBToNalPayloads,
10
10
  splitAnnexBToNalPayloads2
11
- } from "./chunk-W2ANCJVM.js";
11
+ } from "./chunk-C57QV7IL.js";
12
12
 
13
13
  // src/debug/DiagnosticsTools.ts
14
14
  import * as fs2 from "fs";
@@ -5438,4 +5438,4 @@ export {
5438
5438
  parseRecordingFileName,
5439
5439
  ReolinkCgiApi
5440
5440
  };
5441
- //# sourceMappingURL=chunk-IJG45AOT.js.map
5441
+ //# sourceMappingURL=chunk-2JNXKT3C.js.map
@@ -134,6 +134,16 @@ var BC_CMD_ID_GET_PUSH_TASK = 219;
134
134
  var BC_CMD_ID_SET_PUSH_TASK = 218;
135
135
  var BC_CMD_ID_GET_AUTO_FOCUS = 224;
136
136
  var BC_CMD_ID_SET_AUTO_FOCUS = 225;
137
+ var BC_CMD_ID_GET_EMAIL = 42;
138
+ var BC_CMD_ID_SET_EMAIL = 43;
139
+ var BC_CMD_ID_TEST_EMAIL = 141;
140
+ var BC_CMD_ID_GET_NTP = 38;
141
+ var BC_CMD_ID_SET_NTP = 39;
142
+ var BC_CMD_ID_SET_SYSTEM_GENERAL = 105;
143
+ var BC_CMD_ID_GET_DST = 106;
144
+ var BC_CMD_ID_SET_DST = 107;
145
+ var BC_CMD_ID_GET_AUTO_REBOOT = 101;
146
+ var BC_CMD_ID_SET_AUTO_REBOOT = 100;
137
147
  var BC_CMD_ID_CMD_123 = 123;
138
148
  var BC_CMD_ID_CMD_209 = 209;
139
149
  var BC_CMD_ID_CMD_265 = 265;
@@ -2644,6 +2654,16 @@ export {
2644
2654
  BC_CMD_ID_SET_PUSH_TASK,
2645
2655
  BC_CMD_ID_GET_AUTO_FOCUS,
2646
2656
  BC_CMD_ID_SET_AUTO_FOCUS,
2657
+ BC_CMD_ID_GET_EMAIL,
2658
+ BC_CMD_ID_SET_EMAIL,
2659
+ BC_CMD_ID_TEST_EMAIL,
2660
+ BC_CMD_ID_GET_NTP,
2661
+ BC_CMD_ID_SET_NTP,
2662
+ BC_CMD_ID_SET_SYSTEM_GENERAL,
2663
+ BC_CMD_ID_GET_DST,
2664
+ BC_CMD_ID_SET_DST,
2665
+ BC_CMD_ID_GET_AUTO_REBOOT,
2666
+ BC_CMD_ID_SET_AUTO_REBOOT,
2647
2667
  BC_CMD_ID_CMD_123,
2648
2668
  BC_CMD_ID_CMD_209,
2649
2669
  BC_CMD_ID_CMD_265,
@@ -2700,4 +2720,4 @@ export {
2700
2720
  BcMediaAnnexBDecoder,
2701
2721
  BaichuanVideoStream
2702
2722
  };
2703
- //# sourceMappingURL=chunk-W2ANCJVM.js.map
2723
+ //# sourceMappingURL=chunk-C57QV7IL.js.map