@signalk/vedirect-serial-usb 1.6.0 → 1.7.0

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
@@ -62,6 +62,29 @@ Set up the appropriate device on the settings page of this plugin in the Signal
62
62
 
63
63
  - Give each device unique SK paths
64
64
 
65
+ ## BMV relay control
66
+
67
+ For BMV-7xx battery monitors on a **serial** connection, the built-in relay is
68
+ exposed as a writable Signal K path so other plugins can switch it:
69
+
70
+ ```
71
+ electrical.batteries.<bmv>.relay
72
+ ```
73
+
74
+ where `<bmv>` is the BMV name configured for the connection. Send a PUT request
75
+ with a value of `1`/`true` to close the relay or `0`/`false` to open it. The
76
+ plugin reports an error if the value is out of range or the serial port is not
77
+ open, rather than silently doing nothing.
78
+
79
+ The writable path exists only for a serial connection whose **device type is a
80
+ battery monitor** (not a solar charger) and that has a **BMV name** configured;
81
+ without a name there is nothing to anchor the path to, so no writable path is
82
+ registered. A successful response means the command was written to the port, not
83
+ that the relay is confirmed switched: the BMV sends no acknowledgement, and it
84
+ acts on the command only when its relay is set to **remote control** on the BMV
85
+ itself. Relay control is only available over serial, as it depends on writing
86
+ back to the VE.Direct port.
87
+
65
88
  ## Usage as a library
66
89
 
67
90
  It's possible to use this plugin as a library, in other Node.js code. This feature simply wraps the plugin in an easy-to-consume manner, so functionality is identical. Example:
@@ -1 +1 @@
1
- {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../src/fields.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAsCvC,QAAA,MAAM,MAAM,EAAE,QAoZb,CAAA;AAED,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../src/fields.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAuCvC,QAAA,MAAM,MAAM,EAAE,QAoZb,CAAA;AAED,eAAe,MAAM,CAAA"}
package/dist/fields.js CHANGED
@@ -9,9 +9,10 @@ const common = {
9
9
  return isNaN(n) ? undefined : n;
10
10
  },
11
11
  // value is in units of 0.01 kWh each
12
+ // 0.01 kWh == 10 * 3600 Ws == 36,000 J
12
13
  kWh(value) {
13
14
  const n = common.number(value);
14
- return n === undefined ? undefined : n / 100;
15
+ return n === undefined ? undefined : n * 36000;
15
16
  },
16
17
  mV(value) {
17
18
  const n = common.number(value);
@@ -1 +1 @@
1
- {"version":3,"file":"fields.js","sourceRoot":"","sources":["../src/fields.ts"],"names":[],"mappings":";;AAYA;;6EAE6E;AAC7E,MAAM,MAAM,GAAG;IACb,MAAM,CAAC,KAAsB;QAC3B,MAAM,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QACjE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IACjC,CAAC;IAED,qCAAqC;IACrC,GAAG,CAAC,KAAsB;QACxB,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC9B,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;IAC9C,CAAC;IAED,EAAE,CAAC,KAAsB;QACvB,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC9B,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IAC/C,CAAC;IAED,EAAE,CAAC,KAAsB;QACvB,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC9B,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAA;IAC/D,CAAC;IAED,GAAG,CAAC,KAAsB;QACxB,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC9B,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAA;IACxE,CAAC;IAED,QAAQ,CAAC,KAAsB;QAC7B,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC9B,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IAC/C,CAAC;CACF,CAAA;AAED,MAAM,MAAM,GAAa;IACvB,CAAC,EAAE;QACD,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,gCAAgC;QACtC,MAAM,EAAE,UAAU;QAClB,6EAA6E;QAC7E,yEAAyE;QACzE,2CAA2C;QAC3C,YAAY,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,MAAM,EAAE,OAAO,EAAE;QACrE,KAAK,EAAE,MAAM,CAAC,EAAE;QAChB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;KACf;IACD,EAAE,EAAE;QACF,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,gCAAgC;QACtC,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,MAAM,CAAC,EAAE;QAChB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;KACf;IACD,EAAE,EAAE;QACF,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,gCAAgC;QACtC,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,MAAM,CAAC,EAAE;QAChB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;KACf;IACD,EAAE,EAAE;QACF,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,gCAAgC;QACtC,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,MAAM,CAAC,EAAE;QAChB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;KACf;IACD,EAAE,EAAE;QACF,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,MAAM,CAAC,EAAE;QAChB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;KACf;IACD,EAAE,EAAE;QACF,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,MAAM,CAAC,QAAQ;QACtB,IAAI,EAAE,OAAO;KACd;IACD,GAAG,EAAE;QACH,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,iCAAiC;QACvC,MAAM,EAAE,OAAO;QACf,KAAK,EAAE,MAAM,CAAC,EAAE;QAChB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;KACf;IACD,GAAG,EAAE;QACH,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,+BAA+B;QACrC,MAAM,EAAE,OAAO;QACf,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;KACf;IACD,CAAC,EAAE;QACD,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,gCAAgC;QACtC,MAAM,EAAE,UAAU;QAClB,6EAA6E;QAC7E,2DAA2D;QAC3D,YAAY,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,MAAM,EAAE,OAAO,EAAE;QACrE,KAAK,EAAE,MAAM,CAAC,EAAE;QAChB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;KACf;IACD,EAAE,EAAE;QACF,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,gCAAgC;QACtC,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,MAAM,CAAC,EAAE;QAChB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;KACf;IACD,EAAE,EAAE;QACF,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,gCAAgC;QACtC,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,MAAM,CAAC,EAAE;QAChB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;KACf;IACD,EAAE,EAAE;QACF,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,gCAAgC;QACtC,MAAM,EAAE,OAAO;QACf,KAAK,EAAE,MAAM,CAAC,EAAE;QAChB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;KACf;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,yBAAyB;QAC/B,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE;KACtC;IACD,CAAC,EAAE;QACD,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,oCAAoC;QAC1C,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;YACf,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAC9B,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAA;QACjD,CAAC;KACF;IACD,CAAC,EAAE;QACD,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;KACf;IACD,EAAE,EAAE;QACF,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,gDAAgD;QACtD,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,MAAM,CAAC,GAAG;QACjB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;KACf;IACD,GAAG,EAAE;QACH,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,+CAA+C;QACrD,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,MAAM,CAAC,QAAQ;QACtB,IAAI,EAAE,OAAO;KACd;IACD,GAAG,EAAE;QACH,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,+CAA+C;QACrD,MAAM,EAAE,UAAU;QAClB,qEAAqE;QACrE,4EAA4E;QAC5E,4EAA4E;QAC5E,8EAA8E;QAC9E,4EAA4E;QAC5E,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;YACf,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAC9B,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBACpB,OAAO,SAAS,CAAA;YAClB,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;QACjC,CAAC;QACD,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;KACf;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACzD;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,8BAA8B;QACpC,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACzD;IACD,EAAE,EAAE;QACF,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC;KAC3D;IACD,EAAE,EAAE;QACF,IAAI,EAAE,yBAAyB;QAC/B,KAAK,EAAE,MAAM,CAAC,GAAG;QACjB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;KACf;IACD,EAAE,EAAE;QACF,IAAI,EAAE,sBAAsB;QAC5B,KAAK,EAAE,MAAM,CAAC,GAAG;QACjB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;KACf;IACD,EAAE,EAAE;QACF,IAAI,EAAE,yBAAyB;QAC/B,KAAK,EAAE,MAAM,CAAC,GAAG;QACjB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;KACf;IACD,EAAE,EAAE;QACF,IAAI,EAAE,sBAAsB;QAC5B,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,IAAI,EAAE,OAAO;KACd;IACD,EAAE,EAAE;QACF,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,IAAI,EAAE,OAAO;KACd;IACD,EAAE,EAAE;QACF,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,0CAA0C;QAChD,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,MAAM,CAAC,GAAG;QACjB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;KACf;IACD,EAAE,EAAE;QACF,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,MAAM,CAAC,EAAE;QAChB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;KACf;IACD,EAAE,EAAE;QACF,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,MAAM,CAAC,EAAE;QAChB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;KACf;IACD,EAAE,EAAE;QACF,IAAI,EAAE,4BAA4B;QAClC,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;KACf;IACD,GAAG,EAAE;QACH,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,IAAI,EAAE,OAAO;KACd;IACD,GAAG,EAAE;QACH,IAAI,EAAE,8BAA8B;QACpC,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,IAAI,EAAE,OAAO;KACd;IACD,GAAG,EAAE;QACH,IAAI,EAAE,+BAA+B;QACrC,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,IAAI,EAAE,OAAO;KACd;IACD,GAAG,EAAE;QACH,IAAI,EAAE,6BAA6B;QACnC,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,IAAI,EAAE,OAAO;KACd;IACD,GAAG,EAAE;QACH,IAAI,EAAE,8BAA8B;QACpC,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,IAAI,EAAE,OAAO;KACd;IACD,GAAG,EAAE;QACH,IAAI,EAAE,uBAAuB;QAC7B,KAAK,EAAE,MAAM,CAAC,EAAE;QAChB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;KACf;IACD,GAAG,EAAE;QACH,IAAI,EAAE,uBAAuB;QAC7B,KAAK,EAAE,MAAM,CAAC,EAAE;QAChB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;KACf;IACD,GAAG,EAAE;QACH,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,MAAM,CAAC,GAAG;QACjB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;KACf;IACD,GAAG,EAAE;QACH,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,MAAM,CAAC,GAAG;QACjB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;KACf;IACD,GAAG,EAAE;QACH,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,+BAA+B;QACrC,MAAM,EAAE,OAAO;QACf,KAAK,EAAE,MAAM,CAAC,GAAG;QACjB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;KACf;IACD,GAAG,EAAE;QACH,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,+BAA+B;QACrC,MAAM,EAAE,OAAO;QACf,KAAK,EAAE,MAAM,CAAC,GAAG;QACjB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;KACf;IACD,GAAG,EAAE;QACH,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,sCAAsC;QAC5C,MAAM,EAAE,OAAO;QACf,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;KACf;IACD,GAAG,EAAE;QACH,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,mCAAmC;QACzC,MAAM,EAAE,OAAO;QACf,KAAK,EAAE,MAAM,CAAC,GAAG;QACjB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;KACf;IACD,GAAG,EAAE;QACH,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,0CAA0C;QAChD,MAAM,EAAE,OAAO;QACf,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;KACf;IACD,GAAG,EAAE;QACH,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,kCAAkC;QACxC,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC;KAC3D;IACD,EAAE,EAAE;QACF,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,mCAAmC;QACzC,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC;KAChE;IACD,EAAE,EAAE;QACF,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,MAAM;KACb;IACD,GAAG,EAAE;QACH,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YACzB,IAAI,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;YACvB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,GAAG,GAAG,KAAK,GAAG,EAAE,CAAA;YAClB,CAAC;YAED,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;YAC5D,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE;gBAC1B,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,CAAC;aACxC,CAAC,CAAA;YACF,OAAO,SAAS,CAAA;QAClB,CAAC;KACF;IACD,MAAM,EAAE;QACN,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,MAAM;KACb;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,IAAI,EAAE,OAAO;KACd;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;KACpD;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,yCAAyC;QAC/C,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;YACf,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAC9B,gDAAgD;YAChD,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;QAC9C,CAAC;KACF;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,iCAAiC;QACvC,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;YACf,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAC9B,+CAA+C;YAC/C,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;QAC7C,CAAC;KACF;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,MAAM;KACb;IACD,GAAG,EAAE;QACH,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,MAAM;KACb;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,yCAAyC;QAC/C,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC,KAAK,CAAC;KACpE;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../src/fields.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,MAAM,EAEN,UAAU,EAGX,MAAM,SAAS,CAAA;AAGhB,QAAA,MAAM,YAAY,GAAa,KAAK,UAAU,KAAG,MAoLhD,CAAA;AAMD,SAAS,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,MAAM,EAGN,UAAU,EAGX,MAAM,SAAS,CAAA;AA6BhB,QAAA,MAAM,YAAY,GAAa,KAAK,UAAU,KAAG,MAsRhD,CAAA;AAMD,SAAS,YAAY,CAAA"}
package/dist/index.js CHANGED
@@ -45,9 +45,101 @@ const udp = __importStar(require("./udp"));
45
45
  const tcp = __importStar(require("./tcp"));
46
46
  const Parser_1 = require("./Parser");
47
47
  const constants_1 = require("./constants");
48
+ // VE.Direct HEX "Set" frames toggling the BMV-7xx built-in relay (register
49
+ // 0x034E), exposing it as a writable Signal K switch for other plugins.
50
+ //
51
+ // : 8 4E03 00 VV CC \n
52
+ // | Set reg LE flags val checksum
53
+ //
54
+ // CC is chosen so (0x08 + every payload byte) & 0xFF == 0x55 (VE.Direct HEX
55
+ // checksum): on -> val 0x01 -> :84E030001FB, off -> val 0x00 -> :84E030000FC.
56
+ // The BMV only acts on these once its relay is set to remote control.
57
+ const RELAY_ON = ':84E030001FB\n';
58
+ const RELAY_OFF = ':84E030000FC\n';
59
+ // Maps a Signal K relay PUT value to its VE.Direct command. Accepts the numeric
60
+ // 1/0 the relay state is published as (see the RELAY field in src/fields.ts) and
61
+ // boolean true/false for convenience. Returns null for any out-of-range value so
62
+ // the handler can reject it.
63
+ function relayCommand(value) {
64
+ if (value === 1 || value === true) {
65
+ return RELAY_ON;
66
+ }
67
+ if (value === 0 || value === false) {
68
+ return RELAY_OFF;
69
+ }
70
+ return null;
71
+ }
48
72
  const createPlugin = function (app) {
49
73
  const parser = [];
74
+ // Unregister callbacks for the relay PUT handlers, indexed by connection like
75
+ // `parser`, so stop() can tear each one down.
76
+ const putUnregister = [];
77
+ // Relay paths already claimed by a registered handler. Two serial connections
78
+ // configured with the same BMV name resolve to the same path; the host keeps
79
+ // only one handler, so a PUT could drive the wrong port. The duplicate is
80
+ // refused instead. Cleared on stop().
81
+ const registeredRelayPaths = new Set();
50
82
  let shaddow = null;
83
+ // Builds the PUT handler for one serial connection's BMV relay. It writes the
84
+ // matching VE.Direct HEX command and reports failure (rather than a false 200)
85
+ // when the value is out of range or the serial port is not open. A 200 means
86
+ // the frame was written to the port, not that the relay switched: the BMV sends
87
+ // no acknowledgement and acts only when its relay is in remote control, so the
88
+ // reply says "sent", not "confirmed". Each outcome is logged so a command that
89
+ // looks accepted but changes nothing is still diagnosable from the plugin log.
90
+ function relayPutHandler(connectionIndex) {
91
+ return (_context, path, value) => {
92
+ const command = relayCommand(value);
93
+ if (command === null) {
94
+ app.debug(`Relay PUT on ${path} rejected: ${JSON.stringify(value)} is not 0/1 or true/false`);
95
+ return {
96
+ state: 'COMPLETED',
97
+ statusCode: 400,
98
+ message: `Invalid relay value ${JSON.stringify(value)} for ${path}; expected 0/1 or true/false`
99
+ };
100
+ }
101
+ const desired = command === RELAY_ON ? 'on' : 'off';
102
+ if (!serial.write(command, connectionIndex)) {
103
+ app.debug(`Relay PUT on ${path} ignored: serial connection ${connectionIndex} is not open`);
104
+ return {
105
+ state: 'COMPLETED',
106
+ statusCode: 503,
107
+ message: `Serial connection ${connectionIndex} is not open; relay unchanged`
108
+ };
109
+ }
110
+ app.debug(`Relay PUT on ${path}: ${desired} command sent to serial connection ${connectionIndex} (the BMV applies it only when its relay is in remote control)`);
111
+ return {
112
+ state: 'COMPLETED',
113
+ statusCode: 200,
114
+ message: `Relay ${desired} command sent; takes effect only when the BMV relay is set to remote control`
115
+ };
116
+ };
117
+ }
118
+ // Exposes the BMV relay as a writable Signal K path for one serial connection,
119
+ // anchored on the configured BMV name (matching the RELAY read field's path,
120
+ // electrical.batteries.<bmv>). The relay belongs to the BMV-7xx, so it is
121
+ // registered only for battery monitors (the default when deviceType is unset),
122
+ // never for a solar charger, and only when a BMV name is configured to anchor
123
+ // the path. The skipped cases are logged rather than silent: the RELAY field
124
+ // still publishes the relay state, so a writable path that is quietly absent
125
+ // would be a mystery to whoever tries to PUT to it.
126
+ function registerRelayHandler(conn, connectionIndex) {
127
+ if (conn.deviceType === 'Solar charger') {
128
+ app.debug(`Serial connection ${connectionIndex} is a solar charger, not a BMV; relay control disabled`);
129
+ return;
130
+ }
131
+ if (!conn.bmv) {
132
+ app.debug(`Serial connection ${connectionIndex} has no BMV name; relay control disabled`);
133
+ return;
134
+ }
135
+ const path = `electrical.batteries.${conn.bmv}.relay`;
136
+ if (registeredRelayPaths.has(path)) {
137
+ app.debug(`Relay path ${path} is already registered by another connection; relay control disabled for serial connection ${connectionIndex}`);
138
+ return;
139
+ }
140
+ registeredRelayPaths.add(path);
141
+ putUnregister[connectionIndex] = app.registerPutHandler('vessels.self', path, relayPutHandler(connectionIndex));
142
+ }
51
143
  function startConnection(conn, connectionIndex) {
52
144
  const instance = new Parser_1.VEDirectParser(shaddow ?? undefined);
53
145
  parser[connectionIndex] = instance;
@@ -56,6 +148,7 @@ const createPlugin = function (app) {
56
148
  });
57
149
  if (conn.device === 'Serial') {
58
150
  serial.open(conn.connection, parser, app.debug, connectionIndex);
151
+ registerRelayHandler(conn, connectionIndex);
59
152
  }
60
153
  else if (conn.device === 'UDP') {
61
154
  udp.listen(conn.port, parser, app.debug, connectionIndex);
@@ -123,6 +216,8 @@ const createPlugin = function (app) {
123
216
  shaddow.vedirect.forEach((conn, connectionIndex) => {
124
217
  parser[connectionIndex]?.removeAllListeners();
125
218
  delete parser[connectionIndex];
219
+ putUnregister[connectionIndex]?.();
220
+ delete putUnregister[connectionIndex];
126
221
  if (conn.device === 'Serial') {
127
222
  serial.close(app.debug, connectionIndex);
128
223
  }
@@ -133,6 +228,7 @@ const createPlugin = function (app) {
133
228
  tcp.close(app.debug, connectionIndex);
134
229
  }
135
230
  });
231
+ registeredRelayPaths.clear();
136
232
  }
137
233
  shaddow = null;
138
234
  },
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/serial.d.ts CHANGED
@@ -2,4 +2,13 @@ import type { VEDirectParser } from './Parser';
2
2
  import type { DebugFn } from './types';
3
3
  export declare function open(device: string, parser: VEDirectParser[], debug: DebugFn, connectionIndex: number): void;
4
4
  export declare function close(debug: DebugFn, connectionIndex: number): void;
5
+ /**
6
+ * Writes a raw command to a connection's serial port, used for outbound
7
+ * VE.Direct HEX control frames (e.g. setting the BMV relay). Returns true only
8
+ * when the port is open and the write was issued; false when no open port
9
+ * exists for the index (including the gap while an unexpectedly-closed port
10
+ * awaits reconnect) so the caller can report failure instead of assuming the
11
+ * command reached the device.
12
+ */
13
+ export declare function write(message: string, connectionIndex: number): boolean;
5
14
  //# sourceMappingURL=serial.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serial.d.ts","sourceRoot":"","sources":["../src/serial.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAQtC,wBAAgB,IAAI,CAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,cAAc,EAAE,EACxB,KAAK,EAAE,OAAO,EACd,eAAe,EAAE,MAAM,GACtB,IAAI,CA4CN;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI,CAGnE"}
1
+ {"version":3,"file":"serial.d.ts","sourceRoot":"","sources":["../src/serial.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAQtC,wBAAgB,IAAI,CAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,cAAc,EAAE,EACxB,KAAK,EAAE,OAAO,EACd,eAAe,EAAE,MAAM,GACtB,IAAI,CA4CN;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI,CAGnE;AAED;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAkBvE"}
package/dist/serial.js CHANGED
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.open = open;
4
4
  exports.close = close;
5
+ exports.write = write;
5
6
  /**
6
7
  * Serial (VE.Direct to USB) transport.
7
8
  *
@@ -55,6 +56,33 @@ function close(debug, connectionIndex) {
55
56
  closePort(connectionIndex);
56
57
  debug('Serial port closed');
57
58
  }
59
+ /**
60
+ * Writes a raw command to a connection's serial port, used for outbound
61
+ * VE.Direct HEX control frames (e.g. setting the BMV relay). Returns true only
62
+ * when the port is open and the write was issued; false when no open port
63
+ * exists for the index (including the gap while an unexpectedly-closed port
64
+ * awaits reconnect) so the caller can report failure instead of assuming the
65
+ * command reached the device.
66
+ */
67
+ function write(message, connectionIndex) {
68
+ const sp = port[connectionIndex];
69
+ if (sp === undefined || !sp.isOpen) {
70
+ return false;
71
+ }
72
+ try {
73
+ sp.write(message);
74
+ // True means the write was issued, not flushed: serialport surfaces most
75
+ // write failures asynchronously via the 'error' event, which this
76
+ // synchronous boolean cannot reflect. The isOpen guard above covers the
77
+ // common "port not open" case, which is the failure mode worth reporting.
78
+ return true;
79
+ }
80
+ catch {
81
+ // The port can still drop between the isOpen check and the write; treat
82
+ // that as a failed write rather than a thrown error to the PUT requester.
83
+ return false;
84
+ }
85
+ }
58
86
  // Cancels any pending reconnect and closes the active port for a slot. The slot
59
87
  // is cleared before close() so the port's 'close' handler does not schedule a
60
88
  // reconnect for a deliberate teardown.
@@ -1 +1 @@
1
- {"version":3,"file":"serial.js","sourceRoot":"","sources":["../src/serial.ts"],"names":[],"mappings":";;AAqBA,oBAiDC;AAED,sBAGC;AA3ED;;;;;;;;;GASG;AACH,2CAAuC;AACvC,mEAA8D;AAI9D,MAAM,SAAS,GAAG,KAAK,CAAA;AACvB,MAAM,kBAAkB,GAAG,KAAK,CAAA;AAEhC,MAAM,IAAI,GAA+B,EAAE,CAAA;AAC3C,MAAM,cAAc,GAAkD,EAAE,CAAA;AAExE,SAAgB,IAAI,CAClB,MAAc,EACd,MAAwB,EACxB,KAAc,EACd,eAAuB;IAEvB,SAAS,CAAC,eAAe,CAAC,CAAA;IAE1B,KAAK,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAA;IAExC,MAAM,EAAE,GAAG,IAAI,uBAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;IAChE,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAA;IAE1B,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACjB,KAAK,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QAC9B,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,CAAA;IACnB,CAAC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CACpB,IAAI,kCAAe,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CACjE,CAAA;IAED,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QAClC,4BAA4B;QAC5B,MAAM,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;QACzD,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,CAAA;IACnB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;QAC5B,KAAK,CAAC,uBAAuB,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;IACxD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QAClB,6EAA6E;QAC7E,6EAA6E;QAC7E,+CAA+C;QAC/C,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC;YACjC,KAAK,CACH,eAAe,MAAM,4BAA4B,kBAAkB,IAAI,CACxE,CAAA;YACD,cAAc,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE;gBAChD,cAAc,CAAC,eAAe,CAAC,GAAG,SAAS,CAAA;gBAC3C,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,CAAA;YAC9C,CAAC,EAAE,kBAAkB,CAAC,CAAA;QACxB,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAgB,KAAK,CAAC,KAAc,EAAE,eAAuB;IAC3D,SAAS,CAAC,eAAe,CAAC,CAAA;IAC1B,KAAK,CAAC,oBAAoB,CAAC,CAAA;AAC7B,CAAC;AAED,gFAAgF;AAChF,8EAA8E;AAC9E,uCAAuC;AACvC,SAAS,SAAS,CAAC,eAAuB;IACxC,MAAM,KAAK,GAAG,cAAc,CAAC,eAAe,CAAC,CAAA;IAC7C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,YAAY,CAAC,KAAK,CAAC,CAAA;QACnB,cAAc,CAAC,eAAe,CAAC,GAAG,SAAS,CAAA;IAC7C,CAAC;IAED,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,CAAA;IAChC,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,CAAC,GAAG,SAAS,CAAA;QACjC,IAAI,CAAC;YACH,EAAE,CAAC,KAAK,EAAE,CAAA;QACZ,CAAC;QAAC,MAAM,CAAC;YACP,4CAA4C;QAC9C,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"serial.js","sourceRoot":"","sources":["../src/serial.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"standalone.d.ts","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAErC,OAAO,KAAK,EAKV,cAAc,EACf,MAAM,SAAS,CAAA;AAEhB,cAAM,QAAS,SAAQ,YAAY;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0C;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;gBAEnB,MAAM,GAAE,cAAmB,EAAE,MAAM,UAAQ;IAoCvD,KAAK,IAAI,IAAI;IASb,IAAI,IAAI,IAAI;IASZ,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;CAKhC;AAED,SAAS,QAAQ,CAAA"}
1
+ {"version":3,"file":"standalone.d.ts","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAErC,OAAO,KAAK,EAKV,cAAc,EACf,MAAM,SAAS,CAAA;AAEhB,cAAM,QAAS,SAAQ,YAAY;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0C;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;gBAEnB,MAAM,GAAE,cAAmB,EAAE,MAAM,UAAQ;IAwCvD,KAAK,IAAI,IAAI;IASb,IAAI,IAAI,IAAI;IASZ,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;CAKhC;AAED,SAAS,QAAQ,CAAA"}
@@ -40,6 +40,10 @@ class VEDirect extends events_1.EventEmitter {
40
40
  this.emit(kind, data);
41
41
  },
42
42
  debug: (msg) => this.debug(msg),
43
+ // The standalone library has no PUT transport, so relay handler
44
+ // registrations are accepted and dropped; the returned no-op unregister
45
+ // keeps start()/stop() symmetric with the server host.
46
+ registerPutHandler: () => () => { },
43
47
  options
44
48
  };
45
49
  this.plugin = createPlugin(this.app);
@@ -1 +1 @@
1
- {"version":3,"file":"standalone.js","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;AACH,mCAAqC;AACrC,wCAAwC;AASxC,MAAM,QAAS,SAAQ,qBAAY;IAChB,MAAM,CAAS;IACf,GAAG,CAA0C;IAC7C,MAAM,CAAQ;IAE/B,YAAY,SAAyB,EAAE,EAAE,MAAM,GAAG,KAAK;QACrD,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QAEpB,MAAM,OAAO,GAAmB;YAC9B,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,cAAc;YAC1B,IAAI,EAAE,IAAI;YACV,cAAc,EAAE,IAAI;YACpB,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,SAAS;YAClB,GAAG,EAAE,KAAK;YACV,KAAK,EAAE,MAAM;YACb,GAAG,MAAM;SACV,CAAA;QAED,IAAI,CAAC,GAAG,GAAG;YACT,aAAa,EAAE,CAAC,IAAY,EAAE,IAAa,EAAE,EAAE;gBAC7C,wEAAwE;gBACxE,sEAAsE;gBACtE,mCAAmC;gBACnC,IAAI,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;oBAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;oBACxB,OAAM;gBACR,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YACvB,CAAC;YACD,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YACvC,OAAO;SACR,CAAA;QAED,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACpC,IAAI,CAAC,KAAK,EAAE,CAAA;IACd,CAAC;IAED,KAAK;QACH,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAA;YACjD,OAAM;QACR,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAwB,CAAC,CAAA;IACtD,CAAC;IAED,IAAI;QACF,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAA;YAChD,OAAM;QACR,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,GAAG,IAAe;QACtB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;QACtB,CAAC;IACH,CAAC;CACF;AAED,iBAAS,QAAQ,CAAA"}
1
+ {"version":3,"file":"standalone.js","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;AACH,mCAAqC;AACrC,wCAAwC;AASxC,MAAM,QAAS,SAAQ,qBAAY;IAChB,MAAM,CAAS;IACf,GAAG,CAA0C;IAC7C,MAAM,CAAQ;IAE/B,YAAY,SAAyB,EAAE,EAAE,MAAM,GAAG,KAAK;QACrD,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QAEpB,MAAM,OAAO,GAAmB;YAC9B,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,cAAc;YAC1B,IAAI,EAAE,IAAI;YACV,cAAc,EAAE,IAAI;YACpB,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,SAAS;YAClB,GAAG,EAAE,KAAK;YACV,KAAK,EAAE,MAAM;YACb,GAAG,MAAM;SACV,CAAA;QAED,IAAI,CAAC,GAAG,GAAG;YACT,aAAa,EAAE,CAAC,IAAY,EAAE,IAAa,EAAE,EAAE;gBAC7C,wEAAwE;gBACxE,sEAAsE;gBACtE,mCAAmC;gBACnC,IAAI,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;oBAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;oBACxB,OAAM;gBACR,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YACvB,CAAC;YACD,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YACvC,gEAAgE;YAChE,wEAAwE;YACxE,uDAAuD;YACvD,kBAAkB,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC;YAClC,OAAO;SACR,CAAA;QAED,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACpC,IAAI,CAAC,KAAK,EAAE,CAAA;IACd,CAAC;IAED,KAAK;QACH,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAA;YACjD,OAAM;QACR,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAwB,CAAC,CAAA;IACtD,CAAC;IAED,IAAI;QACF,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAA;YAChD,OAAM;QACR,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,GAAG,IAAe;QACtB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;QACtB,CAAC;IACH,CAAC;CACF;AAED,iBAAS,QAAQ,CAAA"}
package/dist/types.d.ts CHANGED
@@ -67,11 +67,33 @@ export interface VEDirectConfig {
67
67
  solar?: string;
68
68
  deviceType?: DeviceType;
69
69
  }
70
+ /**
71
+ * Result of a Signal K PUT action. A handler returns `COMPLETED` (with an
72
+ * HTTP-like `statusCode`) to answer synchronously, or `PENDING` when it will
73
+ * call the async callback later. This plugin only answers synchronously.
74
+ */
75
+ export interface PutResult {
76
+ state: 'COMPLETED' | 'PENDING';
77
+ statusCode?: number;
78
+ message?: string;
79
+ }
80
+ /**
81
+ * Handler for a PUT request on a registered context/path. `value` is whatever
82
+ * the requester sent (hence `unknown`; the handler narrows it). The trailing
83
+ * callback is for `PENDING` async replies and is unused here.
84
+ */
85
+ export type PutHandler = (context: string, path: string, value: unknown, callback: (result: PutResult) => void) => PutResult | void;
70
86
  /** Minimal structural type for the `app` the signalk-server host passes to
71
87
  * the plugin factory. */
72
88
  export interface SignalKApp {
73
89
  handleMessage(id: string, delta: SKDelta): void;
74
90
  debug: DebugFn;
91
+ /**
92
+ * Registers a handler for PUT requests on `context`/`path`. Returns a
93
+ * function that unregisters it again, which the plugin calls on `stop()` so a
94
+ * config reload does not leave a stale handler writing to a closed port.
95
+ */
96
+ registerPutHandler(context: string, path: string, handler: PutHandler, source?: string): () => void;
75
97
  }
76
98
  /** Shape of the plugin object returned to the signalk-server host. */
77
99
  export interface Plugin {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@signalk/vedirect-serial-usb",
3
- "version": "1.6.0",
3
+ "version": "1.7.0",
4
4
  "description": "Signal K Node.js server plugin to read VE.Direct data via serial USB",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -69,7 +69,7 @@
69
69
  "devDependencies": {
70
70
  "@stryker-mutator/core": "^9.6.1",
71
71
  "@stryker-mutator/mocha-runner": "^9.6.1",
72
- "@types/chai": "^4.3.20",
72
+ "@types/chai": "^5.2.3",
73
73
  "@types/debug": "^4.1.12",
74
74
  "@types/mocha": "^10.0.10",
75
75
  "@types/node": "^25.9.2",