@enyo-energy/energy-app-sdk 0.0.141 → 0.0.143
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/dist/cjs/energy-app-permission.type.cjs +1 -0
- package/dist/cjs/energy-app-permission.type.d.cts +2 -1
- package/dist/cjs/packages/eebus/eebus-cevc-client.d.cts +6 -7
- package/dist/cjs/packages/eebus/eebus-evcc-client.d.cts +2 -24
- package/dist/cjs/packages/eebus/eebus-evcem-client.d.cts +1 -10
- package/dist/cjs/packages/eebus/eebus-evsoc-client.d.cts +1 -10
- package/dist/cjs/packages/eebus/eebus-opev-client.d.cts +1 -20
- package/dist/cjs/packages/eebus/eebus-oscev-client.d.cts +1 -19
- package/dist/cjs/packages/eebus/eebus-use-case-registry.d.cts +6 -34
- package/dist/cjs/packages/eebus/eebus-vabd-client.d.cts +2 -20
- package/dist/cjs/packages/eebus/eebus-vapd-client.d.cts +2 -16
- package/dist/cjs/version.cjs +1 -1
- package/dist/cjs/version.d.cts +1 -1
- package/dist/energy-app-permission.type.d.ts +2 -1
- package/dist/energy-app-permission.type.js +1 -0
- package/dist/packages/eebus/eebus-cevc-client.d.ts +6 -7
- package/dist/packages/eebus/eebus-evcc-client.d.ts +2 -24
- package/dist/packages/eebus/eebus-evcem-client.d.ts +1 -10
- package/dist/packages/eebus/eebus-evsoc-client.d.ts +1 -10
- package/dist/packages/eebus/eebus-opev-client.d.ts +1 -20
- package/dist/packages/eebus/eebus-oscev-client.d.ts +1 -19
- package/dist/packages/eebus/eebus-use-case-registry.d.ts +6 -34
- package/dist/packages/eebus/eebus-vabd-client.d.ts +2 -20
- package/dist/packages/eebus/eebus-vapd-client.d.ts +2 -16
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -7,6 +7,7 @@ var EnergyAppPermissionTypeEnum;
|
|
|
7
7
|
EnergyAppPermissionTypeEnum["NetworkDeviceDiscovery"] = "NetworkDeviceDiscovery";
|
|
8
8
|
EnergyAppPermissionTypeEnum["NetworkDeviceSearch"] = "NetworkDeviceSearch";
|
|
9
9
|
EnergyAppPermissionTypeEnum["NetworkDeviceAccess"] = "NetworkDeviceAccess";
|
|
10
|
+
EnergyAppPermissionTypeEnum["AllNetworkDeviceAccess"] = "AllNetworkDeviceAccess";
|
|
10
11
|
EnergyAppPermissionTypeEnum["Modbus"] = "Modbus";
|
|
11
12
|
EnergyAppPermissionTypeEnum["Storage"] = "Storage";
|
|
12
13
|
EnergyAppPermissionTypeEnum["Appliance"] = "Appliance";
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
export type EnergyAppPermissionType = 'RestrictedInternetAccess' | 'NetworkDeviceDiscovery' | 'NetworkDeviceSearch' | 'NetworkDeviceAccess' | 'Modbus' | 'Storage' | 'Appliance' | 'AllAppliances' | 'SendDataBusValues' | 'SubscribeDataBus' | 'SendDataBusCommands' | 'OcppServer' | 'ChargingCard' | 'Vehicle' | 'Charge' | 'SecretManager' | 'LocationZipCode' | 'LocationCoordinates' | 'Timeseries' | 'EnergyManagerInfo' | 'ElectricityTariff' | 'WeatherForecastRegister' | 'WeatherForecastUse' | 'PvForecastRegister' | 'PvForecastUse' | 'DynamicPriceForecastRegister' | 'DynamicPriceForecastUse' | 'PvSystemRegister' | 'PvSystemUse' | 'InverterControlCommands' | 'BatteryControlCommands' | 'ChargerControlCommands' | 'ModbusRtu' | 'EnergyPrices' | 'EnergyManager' | 'EebusDeviceManagement' | 'EebusDataAccess' | 'EebusControl' | 'Mqtt' | 'Bluetooth' | 'Wifi' | 'ChildProcess' | 'Udp';
|
|
1
|
+
export type EnergyAppPermissionType = 'RestrictedInternetAccess' | 'NetworkDeviceDiscovery' | 'NetworkDeviceSearch' | 'NetworkDeviceAccess' | 'AllNetworkDeviceAccess' | 'Modbus' | 'Storage' | 'Appliance' | 'AllAppliances' | 'SendDataBusValues' | 'SubscribeDataBus' | 'SendDataBusCommands' | 'OcppServer' | 'ChargingCard' | 'Vehicle' | 'Charge' | 'SecretManager' | 'LocationZipCode' | 'LocationCoordinates' | 'Timeseries' | 'EnergyManagerInfo' | 'ElectricityTariff' | 'WeatherForecastRegister' | 'WeatherForecastUse' | 'PvForecastRegister' | 'PvForecastUse' | 'DynamicPriceForecastRegister' | 'DynamicPriceForecastUse' | 'PvSystemRegister' | 'PvSystemUse' | 'InverterControlCommands' | 'BatteryControlCommands' | 'ChargerControlCommands' | 'ModbusRtu' | 'EnergyPrices' | 'EnergyManager' | 'EebusDeviceManagement' | 'EebusDataAccess' | 'EebusControl' | 'Mqtt' | 'Bluetooth' | 'Wifi' | 'ChildProcess' | 'Udp';
|
|
2
2
|
export declare enum EnergyAppPermissionTypeEnum {
|
|
3
3
|
RestrictedInternetAccess = "RestrictedInternetAccess",
|
|
4
4
|
NetworkDeviceDiscovery = "NetworkDeviceDiscovery",
|
|
5
5
|
NetworkDeviceSearch = "NetworkDeviceSearch",
|
|
6
6
|
NetworkDeviceAccess = "NetworkDeviceAccess",
|
|
7
|
+
AllNetworkDeviceAccess = "AllNetworkDeviceAccess",
|
|
7
8
|
Modbus = "Modbus",
|
|
8
9
|
Storage = "Storage",
|
|
9
10
|
Appliance = "Appliance",
|
|
@@ -29,10 +29,13 @@ export interface CevcClientOptions {
|
|
|
29
29
|
* - **EV role:** {@link providePlan},
|
|
30
30
|
* {@link onTimeSeriesPlanReceived}.
|
|
31
31
|
*
|
|
32
|
-
*
|
|
32
|
+
* Backed by `ElectricalConnection` (already present) +
|
|
33
|
+
* `IncentiveTable` (already present) + `TimeSeries` (pending) on the
|
|
34
|
+
* lib side. {@link publishIncentiveTable} is wired immediately; the
|
|
35
|
+
* `setTimeSeriesPlan` / `getActiveChargingPlan` / `onPlanUpdated` /
|
|
36
|
+
* `providePlan` / `onTimeSeriesPlanReceived` paths throw
|
|
33
37
|
* {@link EebusFeatureUnavailableError} from the `connect-core` runtime
|
|
34
|
-
* until `
|
|
35
|
-
* in `@enyo-energy/eebus`.
|
|
38
|
+
* until `TimeSeriesClient` lands in `@enyo-energy/eebus`.
|
|
36
39
|
*/
|
|
37
40
|
export interface EebusCevcClient extends EebusUseCaseClient {
|
|
38
41
|
/**
|
|
@@ -55,10 +58,6 @@ export interface EebusCevcClient extends EebusUseCaseClient {
|
|
|
55
58
|
* Publish an incentive table to the EV — the EV plans its own
|
|
56
59
|
* charging from the price curve, analogous to the OHPCF flow on
|
|
57
60
|
* heat pumps. Uses {@link EebusOhpcfIncentiveTable} verbatim.
|
|
58
|
-
*
|
|
59
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
60
|
-
* `ElectricalConnectionClient` lands in
|
|
61
|
-
* `@enyo-energy/eebus`.
|
|
62
61
|
*/
|
|
63
62
|
publishIncentiveTable: (table: EebusOhpcfIncentiveTable) => Promise<void>;
|
|
64
63
|
/**
|
|
@@ -29,53 +29,31 @@ export interface EvccClientOptions {
|
|
|
29
29
|
* UCs (CEVC needs ISO 15118, OPEV / OSCEV need at least asymmetric
|
|
30
30
|
* support to be useful per-phase) are even relevant on this session.
|
|
31
31
|
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* until `IdentificationClient` and `ElectricalConnectionClient` land in
|
|
35
|
-
* `@enyo-energy/eebus`. The SDK interface is shipped now so consumers
|
|
36
|
-
* can compile against the final shape.
|
|
32
|
+
* Backed by `Identification` + `ElectricalConnection` +
|
|
33
|
+
* `DeviceClassification` + `DeviceDiagnosis` on the lib side.
|
|
37
34
|
*/
|
|
38
35
|
export interface EebusEvccClient extends EebusUseCaseClient {
|
|
39
36
|
/**
|
|
40
37
|
* Read the EV's identification (EVCCID and identification type).
|
|
41
38
|
* Returns `undefined` when the EV does not publish an
|
|
42
39
|
* `Identification` server feature.
|
|
43
|
-
*
|
|
44
|
-
* @throws {EebusFeatureUnavailableError} Until `IdentificationClient`
|
|
45
|
-
* lands in `@enyo-energy/eebus`.
|
|
46
40
|
*/
|
|
47
41
|
getEvIdentification: () => Promise<EebusEvIdentification | undefined>;
|
|
48
42
|
/**
|
|
49
43
|
* Read the communication standard negotiated between the EV and the
|
|
50
44
|
* EVSE for the current session.
|
|
51
|
-
*
|
|
52
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
53
|
-
* `ElectricalConnectionClient` lands in
|
|
54
|
-
* `@enyo-energy/eebus`.
|
|
55
45
|
*/
|
|
56
46
|
getEvCommunicationStandard: () => Promise<EebusEvCommunicationStandardEnum>;
|
|
57
47
|
/**
|
|
58
48
|
* Read whether the EV supports asymmetric (per-phase) charging.
|
|
59
|
-
*
|
|
60
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
61
|
-
* `ElectricalConnectionClient` lands in
|
|
62
|
-
* `@enyo-energy/eebus`.
|
|
63
49
|
*/
|
|
64
50
|
getEvAsymmetricChargingSupport: () => Promise<boolean>;
|
|
65
51
|
/**
|
|
66
52
|
* Subscribe to EV-connect events (vehicle plugged in).
|
|
67
|
-
*
|
|
68
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
69
|
-
* `ElectricalConnectionClient` lands in
|
|
70
|
-
* `@enyo-energy/eebus`.
|
|
71
53
|
*/
|
|
72
54
|
onEvConnected: (handler: (state: EebusEvConnectionState) => void) => string;
|
|
73
55
|
/**
|
|
74
56
|
* Subscribe to EV-disconnect events (vehicle unplugged).
|
|
75
|
-
*
|
|
76
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
77
|
-
* `ElectricalConnectionClient` lands in
|
|
78
|
-
* `@enyo-energy/eebus`.
|
|
79
57
|
*/
|
|
80
58
|
onEvDisconnected: (handler: (state: EebusEvConnectionState) => void) => string;
|
|
81
59
|
/**
|
|
@@ -23,17 +23,11 @@ export interface EvcemClientOptions {
|
|
|
23
23
|
* started. Surfaces the same per-phase view as MGCP / MPC do for the
|
|
24
24
|
* grid / appliance, but rooted on the EV entity.
|
|
25
25
|
*
|
|
26
|
-
*
|
|
27
|
-
* {@link EebusFeatureUnavailableError} from the `connect-core` runtime
|
|
28
|
-
* until `ElectricalConnectionClient` lands in `@enyo-energy/eebus`.
|
|
26
|
+
* Backed by `Measurement` + `ElectricalConnection` on the lib side.
|
|
29
27
|
*/
|
|
30
28
|
export interface EebusEvcemClient extends EebusUseCaseClient {
|
|
31
29
|
/**
|
|
32
30
|
* Read the most recent telemetry sample from the EV charging session.
|
|
33
|
-
*
|
|
34
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
35
|
-
* `ElectricalConnectionClient` lands in
|
|
36
|
-
* `@enyo-energy/eebus`.
|
|
37
31
|
*/
|
|
38
32
|
getCurrentMeasurement: () => Promise<EebusEvcemReading>;
|
|
39
33
|
/**
|
|
@@ -41,9 +35,6 @@ export interface EebusEvcemClient extends EebusUseCaseClient {
|
|
|
41
35
|
*
|
|
42
36
|
* @param handler Callback invoked with each new reading.
|
|
43
37
|
* @returns Listener ID that can be passed to {@link removeListener}.
|
|
44
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
45
|
-
* `ElectricalConnectionClient` lands in
|
|
46
|
-
* `@enyo-energy/eebus`.
|
|
47
38
|
*/
|
|
48
39
|
onMeasurementUpdate: (handler: (reading: EebusEvcemReading) => void) => string;
|
|
49
40
|
/**
|
|
@@ -22,17 +22,11 @@ export interface EvsocClientOptions {
|
|
|
22
22
|
* arrives" case (e.g. by falling back to a vehicle-side service or by
|
|
23
23
|
* estimating from charged energy + claimed battery capacity).
|
|
24
24
|
*
|
|
25
|
-
*
|
|
26
|
-
* {@link EebusFeatureUnavailableError} from the `connect-core` runtime
|
|
27
|
-
* until `ElectricalConnectionClient` lands in `@enyo-energy/eebus`.
|
|
25
|
+
* Backed by `ElectricalConnection` + `Measurement` on the lib side.
|
|
28
26
|
*/
|
|
29
27
|
export interface EebusEvsocClient extends EebusUseCaseClient {
|
|
30
28
|
/**
|
|
31
29
|
* Read the most recent SoC sample, in percent (0–100).
|
|
32
|
-
*
|
|
33
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
34
|
-
* `ElectricalConnectionClient` lands in
|
|
35
|
-
* `@enyo-energy/eebus`.
|
|
36
30
|
*/
|
|
37
31
|
getStateOfChargePercent: () => Promise<number>;
|
|
38
32
|
/**
|
|
@@ -40,9 +34,6 @@ export interface EebusEvsocClient extends EebusUseCaseClient {
|
|
|
40
34
|
*
|
|
41
35
|
* @param handler Callback invoked with each new SoC reading.
|
|
42
36
|
* @returns Listener ID that can be passed to {@link removeListener}.
|
|
43
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
44
|
-
* `ElectricalConnectionClient` lands in
|
|
45
|
-
* `@enyo-energy/eebus`.
|
|
46
37
|
*/
|
|
47
38
|
onStateOfChargeUpdated: (handler: (reading: EebusEvSocReading) => void) => string;
|
|
48
39
|
/**
|
|
@@ -30,46 +30,27 @@ export interface OpevClientOptions {
|
|
|
30
30
|
* {@link getActiveChargingLimits}.
|
|
31
31
|
* - **EVSE role:** {@link onLimitReceived}, {@link onLimitNack}.
|
|
32
32
|
*
|
|
33
|
-
*
|
|
34
|
-
* {@link EebusFeatureUnavailableError} from the `connect-core` runtime
|
|
35
|
-
* until `ElectricalConnectionClient` lands in `@enyo-energy/eebus`
|
|
36
|
-
* (LoadControl itself is already present).
|
|
33
|
+
* Backed by `LoadControl` + `ElectricalConnection` on the lib side.
|
|
37
34
|
*/
|
|
38
35
|
export interface EebusOpevClient extends EebusUseCaseClient {
|
|
39
36
|
/**
|
|
40
37
|
* Send a per-phase current limit to the EVSE. The EVSE MUST respect
|
|
41
38
|
* the limit; ack is the EVSE's accept / reject decision.
|
|
42
|
-
*
|
|
43
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
44
|
-
* `ElectricalConnectionClient` lands in
|
|
45
|
-
* `@enyo-energy/eebus`.
|
|
46
39
|
*/
|
|
47
40
|
setChargingCurrentLimitsPerPhase: (limit: EebusOpevLimit) => Promise<EebusOpevAck>;
|
|
48
41
|
/**
|
|
49
42
|
* Read the per-phase current limits currently active on the EVSE,
|
|
50
43
|
* if any.
|
|
51
|
-
*
|
|
52
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
53
|
-
* `ElectricalConnectionClient` lands in
|
|
54
|
-
* `@enyo-energy/eebus`.
|
|
55
44
|
*/
|
|
56
45
|
getActiveChargingLimits: () => Promise<EebusOpevLimit | undefined>;
|
|
57
46
|
/**
|
|
58
47
|
* Register a handler invoked when a remote EMS sends an OPEV limit
|
|
59
48
|
* to this EVSE. The handler MUST return an ack.
|
|
60
|
-
*
|
|
61
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
62
|
-
* `ElectricalConnectionClient` lands in
|
|
63
|
-
* `@enyo-energy/eebus`.
|
|
64
49
|
*/
|
|
65
50
|
onLimitReceived: (handler: (limit: EebusOpevLimit) => Promise<EebusOpevAck>) => string;
|
|
66
51
|
/**
|
|
67
52
|
* Subscribe to NACKs from the EVSE — fires when the EVSE rejects a
|
|
68
53
|
* limit (e.g. unsupported phase count) so the EMS can renegotiate.
|
|
69
|
-
*
|
|
70
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
71
|
-
* `ElectricalConnectionClient` lands in
|
|
72
|
-
* `@enyo-energy/eebus`.
|
|
73
54
|
*/
|
|
74
55
|
onLimitNack: (handler: (reason: string) => void) => string;
|
|
75
56
|
/**
|
|
@@ -19,45 +19,27 @@ export interface OscevClientOptions {
|
|
|
19
19
|
* still draw more if the user has pressed "charge now"). Compare with
|
|
20
20
|
* {@link EebusOpevClient}, which is the obligation flavour.
|
|
21
21
|
*
|
|
22
|
-
*
|
|
23
|
-
* {@link EebusFeatureUnavailableError} from the `connect-core` runtime
|
|
24
|
-
* until `ElectricalConnectionClient` lands in `@enyo-energy/eebus`.
|
|
22
|
+
* Backed by `LoadControl` + `ElectricalConnection` on the lib side.
|
|
25
23
|
*/
|
|
26
24
|
export interface EebusOscevClient extends EebusUseCaseClient {
|
|
27
25
|
/**
|
|
28
26
|
* Send a per-phase current recommendation to the EVSE.
|
|
29
|
-
*
|
|
30
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
31
|
-
* `ElectricalConnectionClient` lands in
|
|
32
|
-
* `@enyo-energy/eebus`.
|
|
33
27
|
*/
|
|
34
28
|
setSelfConsumptionLimit: (limit: EebusOscevLimit) => Promise<EebusOscevAck>;
|
|
35
29
|
/**
|
|
36
30
|
* Read the self-consumption recommendation currently active on the
|
|
37
31
|
* EVSE, if any.
|
|
38
|
-
*
|
|
39
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
40
|
-
* `ElectricalConnectionClient` lands in
|
|
41
|
-
* `@enyo-energy/eebus`.
|
|
42
32
|
*/
|
|
43
33
|
getCurrentSelfConsumptionLimit: () => Promise<EebusOscevLimit | undefined>;
|
|
44
34
|
/**
|
|
45
35
|
* Subscribe to limit-adjustment notifications from the EVSE — fires
|
|
46
36
|
* when the EVSE chose to draw less than the recommendation (so the
|
|
47
37
|
* EMS can update its forecast).
|
|
48
|
-
*
|
|
49
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
50
|
-
* `ElectricalConnectionClient` lands in
|
|
51
|
-
* `@enyo-energy/eebus`.
|
|
52
38
|
*/
|
|
53
39
|
onLimitAdjusted: (handler: (limit: EebusOscevLimit) => void) => string;
|
|
54
40
|
/**
|
|
55
41
|
* Register a handler invoked when a remote EMS sends an OSCEV
|
|
56
42
|
* recommendation to this EVSE.
|
|
57
|
-
*
|
|
58
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
59
|
-
* `ElectricalConnectionClient` lands in
|
|
60
|
-
* `@enyo-energy/eebus`.
|
|
61
43
|
*/
|
|
62
44
|
onLimitReceived: (handler: (limit: EebusOscevLimit) => Promise<EebusOscevAck>) => string;
|
|
63
45
|
/**
|
|
@@ -129,9 +129,11 @@ export interface EebusUseCaseRegistry {
|
|
|
129
129
|
* EV. Time-series-plan-driven; the most expressive EV control
|
|
130
130
|
* surface. Requires ISO 15118 on the session.
|
|
131
131
|
*
|
|
132
|
-
*
|
|
133
|
-
* `
|
|
134
|
-
* `
|
|
132
|
+
* The incentive-table path is wired immediately; the time-series
|
|
133
|
+
* paths (`setTimeSeriesPlan`, `getActiveChargingPlan`,
|
|
134
|
+
* `onPlanUpdated`, `providePlan`, `onTimeSeriesPlanReceived`)
|
|
135
|
+
* throw `EebusFeatureUnavailableError` from the `connect-core`
|
|
136
|
+
* runtime until `TimeSeriesClient` lands in `@enyo-energy/eebus`.
|
|
135
137
|
*
|
|
136
138
|
* @param ski Subject Key Identifier of the remote node
|
|
137
139
|
* @param options Optional address/timeout configuration
|
|
@@ -142,10 +144,6 @@ export interface EebusUseCaseRegistry {
|
|
|
142
144
|
* remote EV. Surfaces EV identity, communication standard, and
|
|
143
145
|
* asymmetric-charging support.
|
|
144
146
|
*
|
|
145
|
-
* Method bodies throw `EebusFeatureUnavailableError` from the
|
|
146
|
-
* `connect-core` runtime until `IdentificationClient` and
|
|
147
|
-
* `ElectricalConnectionClient` land in `@enyo-energy/eebus`.
|
|
148
|
-
*
|
|
149
147
|
* @param ski Subject Key Identifier of the remote node
|
|
150
148
|
* @param options Optional address/timeout configuration
|
|
151
149
|
*/
|
|
@@ -155,10 +153,6 @@ export interface EebusUseCaseRegistry {
|
|
|
155
153
|
* client for a remote EV. Read-only per-phase power / current /
|
|
156
154
|
* voltage and cumulative energy delivered.
|
|
157
155
|
*
|
|
158
|
-
* Method bodies throw `EebusFeatureUnavailableError` from the
|
|
159
|
-
* `connect-core` runtime until `ElectricalConnectionClient` lands
|
|
160
|
-
* in `@enyo-energy/eebus`.
|
|
161
|
-
*
|
|
162
156
|
* @param ski Subject Key Identifier of the remote node
|
|
163
157
|
* @param options Optional address/timeout configuration
|
|
164
158
|
*/
|
|
@@ -166,9 +160,7 @@ export interface EebusUseCaseRegistry {
|
|
|
166
160
|
/**
|
|
167
161
|
* Get the **EVSE Commissioning & Configuration (EVSECC)** client
|
|
168
162
|
* for a remote EVSE. Read-only: vendor identity and operating
|
|
169
|
-
* state from `DeviceClassification` + `DeviceDiagnosis`.
|
|
170
|
-
* wired immediately — does not depend on any pending
|
|
171
|
-
* `@enyo-energy/eebus` prerequisite.
|
|
163
|
+
* state from `DeviceClassification` + `DeviceDiagnosis`.
|
|
172
164
|
*
|
|
173
165
|
* @param ski Subject Key Identifier of the remote node
|
|
174
166
|
* @param options Optional address/timeout configuration
|
|
@@ -179,10 +171,6 @@ export interface EebusUseCaseRegistry {
|
|
|
179
171
|
* Read-only; many vehicles do not publish their SoC over EEBUS, so
|
|
180
172
|
* consumers should handle the "never arrives" case.
|
|
181
173
|
*
|
|
182
|
-
* Method bodies throw `EebusFeatureUnavailableError` from the
|
|
183
|
-
* `connect-core` runtime until `ElectricalConnectionClient` lands
|
|
184
|
-
* in `@enyo-energy/eebus`.
|
|
185
|
-
*
|
|
186
174
|
* @param ski Subject Key Identifier of the remote node
|
|
187
175
|
* @param options Optional address/timeout configuration
|
|
188
176
|
*/
|
|
@@ -192,10 +180,6 @@ export interface EebusUseCaseRegistry {
|
|
|
192
180
|
* client for a remote EVSE. Per-phase current obligation
|
|
193
181
|
* (grid-safety driven).
|
|
194
182
|
*
|
|
195
|
-
* Method bodies throw `EebusFeatureUnavailableError` from the
|
|
196
|
-
* `connect-core` runtime until `ElectricalConnectionClient` lands
|
|
197
|
-
* in `@enyo-energy/eebus`.
|
|
198
|
-
*
|
|
199
183
|
* @param ski Subject Key Identifier of the remote node
|
|
200
184
|
* @param options Optional address/timeout configuration
|
|
201
185
|
*/
|
|
@@ -205,10 +189,6 @@ export interface EebusUseCaseRegistry {
|
|
|
205
189
|
* (OSCEV)** client for a remote EVSE. Per-phase current
|
|
206
190
|
* recommendation (PV-optimisation driven).
|
|
207
191
|
*
|
|
208
|
-
* Method bodies throw `EebusFeatureUnavailableError` from the
|
|
209
|
-
* `connect-core` runtime until `ElectricalConnectionClient` lands
|
|
210
|
-
* in `@enyo-energy/eebus`.
|
|
211
|
-
*
|
|
212
192
|
* @param ski Subject Key Identifier of the remote node
|
|
213
193
|
* @param options Optional address/timeout configuration
|
|
214
194
|
*/
|
|
@@ -218,10 +198,6 @@ export interface EebusUseCaseRegistry {
|
|
|
218
198
|
* client for a remote battery / home-storage system. Read-only
|
|
219
199
|
* telemetry (power, SoC, nominal capacity).
|
|
220
200
|
*
|
|
221
|
-
* Method bodies throw `EebusFeatureUnavailableError` from the
|
|
222
|
-
* `connect-core` runtime until `ElectricalConnectionClient` lands
|
|
223
|
-
* in `@enyo-energy/eebus`.
|
|
224
|
-
*
|
|
225
201
|
* @param ski Subject Key Identifier of the remote node
|
|
226
202
|
* @param options Optional address/timeout configuration
|
|
227
203
|
*/
|
|
@@ -231,10 +207,6 @@ export interface EebusUseCaseRegistry {
|
|
|
231
207
|
* for a remote PV / solar-inverter system. Read-only telemetry
|
|
232
208
|
* (active power, nominal peak).
|
|
233
209
|
*
|
|
234
|
-
* Method bodies throw `EebusFeatureUnavailableError` from the
|
|
235
|
-
* `connect-core` runtime until `ElectricalConnectionClient` lands
|
|
236
|
-
* in `@enyo-energy/eebus`.
|
|
237
|
-
*
|
|
238
210
|
* @param ski Subject Key Identifier of the remote node
|
|
239
211
|
* @param options Optional address/timeout configuration
|
|
240
212
|
*/
|
|
@@ -25,43 +25,25 @@ export interface VabdClientOptions {
|
|
|
25
25
|
* battery state in its UI; not a control surface (use SetStorageSchedule
|
|
26
26
|
* over the data bus for control).
|
|
27
27
|
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* until `ElectricalConnectionClient` lands in `@enyo-energy/eebus`.
|
|
31
|
-
* `Measurement` and `DeviceConfiguration` are already present.
|
|
28
|
+
* Backed by `ElectricalConnection` + `Measurement` + `DeviceConfiguration`
|
|
29
|
+
* on the lib side.
|
|
32
30
|
*/
|
|
33
31
|
export interface EebusVabdClient extends EebusUseCaseClient {
|
|
34
32
|
/**
|
|
35
33
|
* Read the battery's current state of charge in percent (0–100).
|
|
36
|
-
*
|
|
37
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
38
|
-
* `ElectricalConnectionClient` lands in
|
|
39
|
-
* `@enyo-energy/eebus`.
|
|
40
34
|
*/
|
|
41
35
|
getBatterySocPercent: () => Promise<number>;
|
|
42
36
|
/**
|
|
43
37
|
* Read the battery's current active power in Watts. Positive =
|
|
44
38
|
* charging, negative = discharging.
|
|
45
|
-
*
|
|
46
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
47
|
-
* `ElectricalConnectionClient` lands in
|
|
48
|
-
* `@enyo-energy/eebus`.
|
|
49
39
|
*/
|
|
50
40
|
getBatteryPowerW: () => Promise<number>;
|
|
51
41
|
/**
|
|
52
42
|
* Read the battery's nominal capacity in Watt-hours, if advertised.
|
|
53
|
-
*
|
|
54
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
55
|
-
* `ElectricalConnectionClient` lands in
|
|
56
|
-
* `@enyo-energy/eebus`.
|
|
57
43
|
*/
|
|
58
44
|
getBatteryNominalCapacityWh: () => Promise<number | undefined>;
|
|
59
45
|
/**
|
|
60
46
|
* Subscribe to consolidated battery telemetry updates.
|
|
61
|
-
*
|
|
62
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
63
|
-
* `ElectricalConnectionClient` lands in
|
|
64
|
-
* `@enyo-energy/eebus`.
|
|
65
47
|
*/
|
|
66
48
|
onTelemetry: (handler: (telemetry: EebusVabdTelemetry) => void) => string;
|
|
67
49
|
/**
|
|
@@ -24,34 +24,20 @@ export interface VapdClientOptions {
|
|
|
24
24
|
* current active production and nominal peak capacity. Used by an EMS
|
|
25
25
|
* to render PV output in its UI.
|
|
26
26
|
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* until `ElectricalConnectionClient` lands in `@enyo-energy/eebus`.
|
|
30
|
-
* `Measurement` and `DeviceConfiguration` are already present.
|
|
27
|
+
* Backed by `ElectricalConnection` + `Measurement` + `DeviceConfiguration`
|
|
28
|
+
* on the lib side.
|
|
31
29
|
*/
|
|
32
30
|
export interface EebusVapdClient extends EebusUseCaseClient {
|
|
33
31
|
/**
|
|
34
32
|
* Read the PV system's current active production in Watts.
|
|
35
|
-
*
|
|
36
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
37
|
-
* `ElectricalConnectionClient` lands in
|
|
38
|
-
* `@enyo-energy/eebus`.
|
|
39
33
|
*/
|
|
40
34
|
getPvActivePowerW: () => Promise<number>;
|
|
41
35
|
/**
|
|
42
36
|
* Read the PV system's nominal peak power in Watts, if advertised.
|
|
43
|
-
*
|
|
44
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
45
|
-
* `ElectricalConnectionClient` lands in
|
|
46
|
-
* `@enyo-energy/eebus`.
|
|
47
37
|
*/
|
|
48
38
|
getPvNominalPeakPowerW: () => Promise<number | undefined>;
|
|
49
39
|
/**
|
|
50
40
|
* Subscribe to consolidated PV telemetry updates.
|
|
51
|
-
*
|
|
52
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
53
|
-
* `ElectricalConnectionClient` lands in
|
|
54
|
-
* `@enyo-energy/eebus`.
|
|
55
41
|
*/
|
|
56
42
|
onTelemetry: (handler: (telemetry: EebusVapdTelemetry) => void) => string;
|
|
57
43
|
/**
|
package/dist/cjs/version.cjs
CHANGED
|
@@ -9,7 +9,7 @@ exports.getSdkVersion = getSdkVersion;
|
|
|
9
9
|
/**
|
|
10
10
|
* Current version of the enyo Energy App SDK.
|
|
11
11
|
*/
|
|
12
|
-
exports.SDK_VERSION = '0.0.
|
|
12
|
+
exports.SDK_VERSION = '0.0.143';
|
|
13
13
|
/**
|
|
14
14
|
* Gets the current SDK version.
|
|
15
15
|
* @returns The semantic version string of the SDK
|
package/dist/cjs/version.d.cts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
export type EnergyAppPermissionType = 'RestrictedInternetAccess' | 'NetworkDeviceDiscovery' | 'NetworkDeviceSearch' | 'NetworkDeviceAccess' | 'Modbus' | 'Storage' | 'Appliance' | 'AllAppliances' | 'SendDataBusValues' | 'SubscribeDataBus' | 'SendDataBusCommands' | 'OcppServer' | 'ChargingCard' | 'Vehicle' | 'Charge' | 'SecretManager' | 'LocationZipCode' | 'LocationCoordinates' | 'Timeseries' | 'EnergyManagerInfo' | 'ElectricityTariff' | 'WeatherForecastRegister' | 'WeatherForecastUse' | 'PvForecastRegister' | 'PvForecastUse' | 'DynamicPriceForecastRegister' | 'DynamicPriceForecastUse' | 'PvSystemRegister' | 'PvSystemUse' | 'InverterControlCommands' | 'BatteryControlCommands' | 'ChargerControlCommands' | 'ModbusRtu' | 'EnergyPrices' | 'EnergyManager' | 'EebusDeviceManagement' | 'EebusDataAccess' | 'EebusControl' | 'Mqtt' | 'Bluetooth' | 'Wifi' | 'ChildProcess' | 'Udp';
|
|
1
|
+
export type EnergyAppPermissionType = 'RestrictedInternetAccess' | 'NetworkDeviceDiscovery' | 'NetworkDeviceSearch' | 'NetworkDeviceAccess' | 'AllNetworkDeviceAccess' | 'Modbus' | 'Storage' | 'Appliance' | 'AllAppliances' | 'SendDataBusValues' | 'SubscribeDataBus' | 'SendDataBusCommands' | 'OcppServer' | 'ChargingCard' | 'Vehicle' | 'Charge' | 'SecretManager' | 'LocationZipCode' | 'LocationCoordinates' | 'Timeseries' | 'EnergyManagerInfo' | 'ElectricityTariff' | 'WeatherForecastRegister' | 'WeatherForecastUse' | 'PvForecastRegister' | 'PvForecastUse' | 'DynamicPriceForecastRegister' | 'DynamicPriceForecastUse' | 'PvSystemRegister' | 'PvSystemUse' | 'InverterControlCommands' | 'BatteryControlCommands' | 'ChargerControlCommands' | 'ModbusRtu' | 'EnergyPrices' | 'EnergyManager' | 'EebusDeviceManagement' | 'EebusDataAccess' | 'EebusControl' | 'Mqtt' | 'Bluetooth' | 'Wifi' | 'ChildProcess' | 'Udp';
|
|
2
2
|
export declare enum EnergyAppPermissionTypeEnum {
|
|
3
3
|
RestrictedInternetAccess = "RestrictedInternetAccess",
|
|
4
4
|
NetworkDeviceDiscovery = "NetworkDeviceDiscovery",
|
|
5
5
|
NetworkDeviceSearch = "NetworkDeviceSearch",
|
|
6
6
|
NetworkDeviceAccess = "NetworkDeviceAccess",
|
|
7
|
+
AllNetworkDeviceAccess = "AllNetworkDeviceAccess",
|
|
7
8
|
Modbus = "Modbus",
|
|
8
9
|
Storage = "Storage",
|
|
9
10
|
Appliance = "Appliance",
|
|
@@ -4,6 +4,7 @@ export var EnergyAppPermissionTypeEnum;
|
|
|
4
4
|
EnergyAppPermissionTypeEnum["NetworkDeviceDiscovery"] = "NetworkDeviceDiscovery";
|
|
5
5
|
EnergyAppPermissionTypeEnum["NetworkDeviceSearch"] = "NetworkDeviceSearch";
|
|
6
6
|
EnergyAppPermissionTypeEnum["NetworkDeviceAccess"] = "NetworkDeviceAccess";
|
|
7
|
+
EnergyAppPermissionTypeEnum["AllNetworkDeviceAccess"] = "AllNetworkDeviceAccess";
|
|
7
8
|
EnergyAppPermissionTypeEnum["Modbus"] = "Modbus";
|
|
8
9
|
EnergyAppPermissionTypeEnum["Storage"] = "Storage";
|
|
9
10
|
EnergyAppPermissionTypeEnum["Appliance"] = "Appliance";
|
|
@@ -29,10 +29,13 @@ export interface CevcClientOptions {
|
|
|
29
29
|
* - **EV role:** {@link providePlan},
|
|
30
30
|
* {@link onTimeSeriesPlanReceived}.
|
|
31
31
|
*
|
|
32
|
-
*
|
|
32
|
+
* Backed by `ElectricalConnection` (already present) +
|
|
33
|
+
* `IncentiveTable` (already present) + `TimeSeries` (pending) on the
|
|
34
|
+
* lib side. {@link publishIncentiveTable} is wired immediately; the
|
|
35
|
+
* `setTimeSeriesPlan` / `getActiveChargingPlan` / `onPlanUpdated` /
|
|
36
|
+
* `providePlan` / `onTimeSeriesPlanReceived` paths throw
|
|
33
37
|
* {@link EebusFeatureUnavailableError} from the `connect-core` runtime
|
|
34
|
-
* until `
|
|
35
|
-
* in `@enyo-energy/eebus`.
|
|
38
|
+
* until `TimeSeriesClient` lands in `@enyo-energy/eebus`.
|
|
36
39
|
*/
|
|
37
40
|
export interface EebusCevcClient extends EebusUseCaseClient {
|
|
38
41
|
/**
|
|
@@ -55,10 +58,6 @@ export interface EebusCevcClient extends EebusUseCaseClient {
|
|
|
55
58
|
* Publish an incentive table to the EV — the EV plans its own
|
|
56
59
|
* charging from the price curve, analogous to the OHPCF flow on
|
|
57
60
|
* heat pumps. Uses {@link EebusOhpcfIncentiveTable} verbatim.
|
|
58
|
-
*
|
|
59
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
60
|
-
* `ElectricalConnectionClient` lands in
|
|
61
|
-
* `@enyo-energy/eebus`.
|
|
62
61
|
*/
|
|
63
62
|
publishIncentiveTable: (table: EebusOhpcfIncentiveTable) => Promise<void>;
|
|
64
63
|
/**
|
|
@@ -29,53 +29,31 @@ export interface EvccClientOptions {
|
|
|
29
29
|
* UCs (CEVC needs ISO 15118, OPEV / OSCEV need at least asymmetric
|
|
30
30
|
* support to be useful per-phase) are even relevant on this session.
|
|
31
31
|
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* until `IdentificationClient` and `ElectricalConnectionClient` land in
|
|
35
|
-
* `@enyo-energy/eebus`. The SDK interface is shipped now so consumers
|
|
36
|
-
* can compile against the final shape.
|
|
32
|
+
* Backed by `Identification` + `ElectricalConnection` +
|
|
33
|
+
* `DeviceClassification` + `DeviceDiagnosis` on the lib side.
|
|
37
34
|
*/
|
|
38
35
|
export interface EebusEvccClient extends EebusUseCaseClient {
|
|
39
36
|
/**
|
|
40
37
|
* Read the EV's identification (EVCCID and identification type).
|
|
41
38
|
* Returns `undefined` when the EV does not publish an
|
|
42
39
|
* `Identification` server feature.
|
|
43
|
-
*
|
|
44
|
-
* @throws {EebusFeatureUnavailableError} Until `IdentificationClient`
|
|
45
|
-
* lands in `@enyo-energy/eebus`.
|
|
46
40
|
*/
|
|
47
41
|
getEvIdentification: () => Promise<EebusEvIdentification | undefined>;
|
|
48
42
|
/**
|
|
49
43
|
* Read the communication standard negotiated between the EV and the
|
|
50
44
|
* EVSE for the current session.
|
|
51
|
-
*
|
|
52
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
53
|
-
* `ElectricalConnectionClient` lands in
|
|
54
|
-
* `@enyo-energy/eebus`.
|
|
55
45
|
*/
|
|
56
46
|
getEvCommunicationStandard: () => Promise<EebusEvCommunicationStandardEnum>;
|
|
57
47
|
/**
|
|
58
48
|
* Read whether the EV supports asymmetric (per-phase) charging.
|
|
59
|
-
*
|
|
60
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
61
|
-
* `ElectricalConnectionClient` lands in
|
|
62
|
-
* `@enyo-energy/eebus`.
|
|
63
49
|
*/
|
|
64
50
|
getEvAsymmetricChargingSupport: () => Promise<boolean>;
|
|
65
51
|
/**
|
|
66
52
|
* Subscribe to EV-connect events (vehicle plugged in).
|
|
67
|
-
*
|
|
68
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
69
|
-
* `ElectricalConnectionClient` lands in
|
|
70
|
-
* `@enyo-energy/eebus`.
|
|
71
53
|
*/
|
|
72
54
|
onEvConnected: (handler: (state: EebusEvConnectionState) => void) => string;
|
|
73
55
|
/**
|
|
74
56
|
* Subscribe to EV-disconnect events (vehicle unplugged).
|
|
75
|
-
*
|
|
76
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
77
|
-
* `ElectricalConnectionClient` lands in
|
|
78
|
-
* `@enyo-energy/eebus`.
|
|
79
57
|
*/
|
|
80
58
|
onEvDisconnected: (handler: (state: EebusEvConnectionState) => void) => string;
|
|
81
59
|
/**
|
|
@@ -23,17 +23,11 @@ export interface EvcemClientOptions {
|
|
|
23
23
|
* started. Surfaces the same per-phase view as MGCP / MPC do for the
|
|
24
24
|
* grid / appliance, but rooted on the EV entity.
|
|
25
25
|
*
|
|
26
|
-
*
|
|
27
|
-
* {@link EebusFeatureUnavailableError} from the `connect-core` runtime
|
|
28
|
-
* until `ElectricalConnectionClient` lands in `@enyo-energy/eebus`.
|
|
26
|
+
* Backed by `Measurement` + `ElectricalConnection` on the lib side.
|
|
29
27
|
*/
|
|
30
28
|
export interface EebusEvcemClient extends EebusUseCaseClient {
|
|
31
29
|
/**
|
|
32
30
|
* Read the most recent telemetry sample from the EV charging session.
|
|
33
|
-
*
|
|
34
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
35
|
-
* `ElectricalConnectionClient` lands in
|
|
36
|
-
* `@enyo-energy/eebus`.
|
|
37
31
|
*/
|
|
38
32
|
getCurrentMeasurement: () => Promise<EebusEvcemReading>;
|
|
39
33
|
/**
|
|
@@ -41,9 +35,6 @@ export interface EebusEvcemClient extends EebusUseCaseClient {
|
|
|
41
35
|
*
|
|
42
36
|
* @param handler Callback invoked with each new reading.
|
|
43
37
|
* @returns Listener ID that can be passed to {@link removeListener}.
|
|
44
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
45
|
-
* `ElectricalConnectionClient` lands in
|
|
46
|
-
* `@enyo-energy/eebus`.
|
|
47
38
|
*/
|
|
48
39
|
onMeasurementUpdate: (handler: (reading: EebusEvcemReading) => void) => string;
|
|
49
40
|
/**
|
|
@@ -22,17 +22,11 @@ export interface EvsocClientOptions {
|
|
|
22
22
|
* arrives" case (e.g. by falling back to a vehicle-side service or by
|
|
23
23
|
* estimating from charged energy + claimed battery capacity).
|
|
24
24
|
*
|
|
25
|
-
*
|
|
26
|
-
* {@link EebusFeatureUnavailableError} from the `connect-core` runtime
|
|
27
|
-
* until `ElectricalConnectionClient` lands in `@enyo-energy/eebus`.
|
|
25
|
+
* Backed by `ElectricalConnection` + `Measurement` on the lib side.
|
|
28
26
|
*/
|
|
29
27
|
export interface EebusEvsocClient extends EebusUseCaseClient {
|
|
30
28
|
/**
|
|
31
29
|
* Read the most recent SoC sample, in percent (0–100).
|
|
32
|
-
*
|
|
33
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
34
|
-
* `ElectricalConnectionClient` lands in
|
|
35
|
-
* `@enyo-energy/eebus`.
|
|
36
30
|
*/
|
|
37
31
|
getStateOfChargePercent: () => Promise<number>;
|
|
38
32
|
/**
|
|
@@ -40,9 +34,6 @@ export interface EebusEvsocClient extends EebusUseCaseClient {
|
|
|
40
34
|
*
|
|
41
35
|
* @param handler Callback invoked with each new SoC reading.
|
|
42
36
|
* @returns Listener ID that can be passed to {@link removeListener}.
|
|
43
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
44
|
-
* `ElectricalConnectionClient` lands in
|
|
45
|
-
* `@enyo-energy/eebus`.
|
|
46
37
|
*/
|
|
47
38
|
onStateOfChargeUpdated: (handler: (reading: EebusEvSocReading) => void) => string;
|
|
48
39
|
/**
|
|
@@ -30,46 +30,27 @@ export interface OpevClientOptions {
|
|
|
30
30
|
* {@link getActiveChargingLimits}.
|
|
31
31
|
* - **EVSE role:** {@link onLimitReceived}, {@link onLimitNack}.
|
|
32
32
|
*
|
|
33
|
-
*
|
|
34
|
-
* {@link EebusFeatureUnavailableError} from the `connect-core` runtime
|
|
35
|
-
* until `ElectricalConnectionClient` lands in `@enyo-energy/eebus`
|
|
36
|
-
* (LoadControl itself is already present).
|
|
33
|
+
* Backed by `LoadControl` + `ElectricalConnection` on the lib side.
|
|
37
34
|
*/
|
|
38
35
|
export interface EebusOpevClient extends EebusUseCaseClient {
|
|
39
36
|
/**
|
|
40
37
|
* Send a per-phase current limit to the EVSE. The EVSE MUST respect
|
|
41
38
|
* the limit; ack is the EVSE's accept / reject decision.
|
|
42
|
-
*
|
|
43
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
44
|
-
* `ElectricalConnectionClient` lands in
|
|
45
|
-
* `@enyo-energy/eebus`.
|
|
46
39
|
*/
|
|
47
40
|
setChargingCurrentLimitsPerPhase: (limit: EebusOpevLimit) => Promise<EebusOpevAck>;
|
|
48
41
|
/**
|
|
49
42
|
* Read the per-phase current limits currently active on the EVSE,
|
|
50
43
|
* if any.
|
|
51
|
-
*
|
|
52
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
53
|
-
* `ElectricalConnectionClient` lands in
|
|
54
|
-
* `@enyo-energy/eebus`.
|
|
55
44
|
*/
|
|
56
45
|
getActiveChargingLimits: () => Promise<EebusOpevLimit | undefined>;
|
|
57
46
|
/**
|
|
58
47
|
* Register a handler invoked when a remote EMS sends an OPEV limit
|
|
59
48
|
* to this EVSE. The handler MUST return an ack.
|
|
60
|
-
*
|
|
61
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
62
|
-
* `ElectricalConnectionClient` lands in
|
|
63
|
-
* `@enyo-energy/eebus`.
|
|
64
49
|
*/
|
|
65
50
|
onLimitReceived: (handler: (limit: EebusOpevLimit) => Promise<EebusOpevAck>) => string;
|
|
66
51
|
/**
|
|
67
52
|
* Subscribe to NACKs from the EVSE — fires when the EVSE rejects a
|
|
68
53
|
* limit (e.g. unsupported phase count) so the EMS can renegotiate.
|
|
69
|
-
*
|
|
70
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
71
|
-
* `ElectricalConnectionClient` lands in
|
|
72
|
-
* `@enyo-energy/eebus`.
|
|
73
54
|
*/
|
|
74
55
|
onLimitNack: (handler: (reason: string) => void) => string;
|
|
75
56
|
/**
|
|
@@ -19,45 +19,27 @@ export interface OscevClientOptions {
|
|
|
19
19
|
* still draw more if the user has pressed "charge now"). Compare with
|
|
20
20
|
* {@link EebusOpevClient}, which is the obligation flavour.
|
|
21
21
|
*
|
|
22
|
-
*
|
|
23
|
-
* {@link EebusFeatureUnavailableError} from the `connect-core` runtime
|
|
24
|
-
* until `ElectricalConnectionClient` lands in `@enyo-energy/eebus`.
|
|
22
|
+
* Backed by `LoadControl` + `ElectricalConnection` on the lib side.
|
|
25
23
|
*/
|
|
26
24
|
export interface EebusOscevClient extends EebusUseCaseClient {
|
|
27
25
|
/**
|
|
28
26
|
* Send a per-phase current recommendation to the EVSE.
|
|
29
|
-
*
|
|
30
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
31
|
-
* `ElectricalConnectionClient` lands in
|
|
32
|
-
* `@enyo-energy/eebus`.
|
|
33
27
|
*/
|
|
34
28
|
setSelfConsumptionLimit: (limit: EebusOscevLimit) => Promise<EebusOscevAck>;
|
|
35
29
|
/**
|
|
36
30
|
* Read the self-consumption recommendation currently active on the
|
|
37
31
|
* EVSE, if any.
|
|
38
|
-
*
|
|
39
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
40
|
-
* `ElectricalConnectionClient` lands in
|
|
41
|
-
* `@enyo-energy/eebus`.
|
|
42
32
|
*/
|
|
43
33
|
getCurrentSelfConsumptionLimit: () => Promise<EebusOscevLimit | undefined>;
|
|
44
34
|
/**
|
|
45
35
|
* Subscribe to limit-adjustment notifications from the EVSE — fires
|
|
46
36
|
* when the EVSE chose to draw less than the recommendation (so the
|
|
47
37
|
* EMS can update its forecast).
|
|
48
|
-
*
|
|
49
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
50
|
-
* `ElectricalConnectionClient` lands in
|
|
51
|
-
* `@enyo-energy/eebus`.
|
|
52
38
|
*/
|
|
53
39
|
onLimitAdjusted: (handler: (limit: EebusOscevLimit) => void) => string;
|
|
54
40
|
/**
|
|
55
41
|
* Register a handler invoked when a remote EMS sends an OSCEV
|
|
56
42
|
* recommendation to this EVSE.
|
|
57
|
-
*
|
|
58
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
59
|
-
* `ElectricalConnectionClient` lands in
|
|
60
|
-
* `@enyo-energy/eebus`.
|
|
61
43
|
*/
|
|
62
44
|
onLimitReceived: (handler: (limit: EebusOscevLimit) => Promise<EebusOscevAck>) => string;
|
|
63
45
|
/**
|
|
@@ -129,9 +129,11 @@ export interface EebusUseCaseRegistry {
|
|
|
129
129
|
* EV. Time-series-plan-driven; the most expressive EV control
|
|
130
130
|
* surface. Requires ISO 15118 on the session.
|
|
131
131
|
*
|
|
132
|
-
*
|
|
133
|
-
* `
|
|
134
|
-
* `
|
|
132
|
+
* The incentive-table path is wired immediately; the time-series
|
|
133
|
+
* paths (`setTimeSeriesPlan`, `getActiveChargingPlan`,
|
|
134
|
+
* `onPlanUpdated`, `providePlan`, `onTimeSeriesPlanReceived`)
|
|
135
|
+
* throw `EebusFeatureUnavailableError` from the `connect-core`
|
|
136
|
+
* runtime until `TimeSeriesClient` lands in `@enyo-energy/eebus`.
|
|
135
137
|
*
|
|
136
138
|
* @param ski Subject Key Identifier of the remote node
|
|
137
139
|
* @param options Optional address/timeout configuration
|
|
@@ -142,10 +144,6 @@ export interface EebusUseCaseRegistry {
|
|
|
142
144
|
* remote EV. Surfaces EV identity, communication standard, and
|
|
143
145
|
* asymmetric-charging support.
|
|
144
146
|
*
|
|
145
|
-
* Method bodies throw `EebusFeatureUnavailableError` from the
|
|
146
|
-
* `connect-core` runtime until `IdentificationClient` and
|
|
147
|
-
* `ElectricalConnectionClient` land in `@enyo-energy/eebus`.
|
|
148
|
-
*
|
|
149
147
|
* @param ski Subject Key Identifier of the remote node
|
|
150
148
|
* @param options Optional address/timeout configuration
|
|
151
149
|
*/
|
|
@@ -155,10 +153,6 @@ export interface EebusUseCaseRegistry {
|
|
|
155
153
|
* client for a remote EV. Read-only per-phase power / current /
|
|
156
154
|
* voltage and cumulative energy delivered.
|
|
157
155
|
*
|
|
158
|
-
* Method bodies throw `EebusFeatureUnavailableError` from the
|
|
159
|
-
* `connect-core` runtime until `ElectricalConnectionClient` lands
|
|
160
|
-
* in `@enyo-energy/eebus`.
|
|
161
|
-
*
|
|
162
156
|
* @param ski Subject Key Identifier of the remote node
|
|
163
157
|
* @param options Optional address/timeout configuration
|
|
164
158
|
*/
|
|
@@ -166,9 +160,7 @@ export interface EebusUseCaseRegistry {
|
|
|
166
160
|
/**
|
|
167
161
|
* Get the **EVSE Commissioning & Configuration (EVSECC)** client
|
|
168
162
|
* for a remote EVSE. Read-only: vendor identity and operating
|
|
169
|
-
* state from `DeviceClassification` + `DeviceDiagnosis`.
|
|
170
|
-
* wired immediately — does not depend on any pending
|
|
171
|
-
* `@enyo-energy/eebus` prerequisite.
|
|
163
|
+
* state from `DeviceClassification` + `DeviceDiagnosis`.
|
|
172
164
|
*
|
|
173
165
|
* @param ski Subject Key Identifier of the remote node
|
|
174
166
|
* @param options Optional address/timeout configuration
|
|
@@ -179,10 +171,6 @@ export interface EebusUseCaseRegistry {
|
|
|
179
171
|
* Read-only; many vehicles do not publish their SoC over EEBUS, so
|
|
180
172
|
* consumers should handle the "never arrives" case.
|
|
181
173
|
*
|
|
182
|
-
* Method bodies throw `EebusFeatureUnavailableError` from the
|
|
183
|
-
* `connect-core` runtime until `ElectricalConnectionClient` lands
|
|
184
|
-
* in `@enyo-energy/eebus`.
|
|
185
|
-
*
|
|
186
174
|
* @param ski Subject Key Identifier of the remote node
|
|
187
175
|
* @param options Optional address/timeout configuration
|
|
188
176
|
*/
|
|
@@ -192,10 +180,6 @@ export interface EebusUseCaseRegistry {
|
|
|
192
180
|
* client for a remote EVSE. Per-phase current obligation
|
|
193
181
|
* (grid-safety driven).
|
|
194
182
|
*
|
|
195
|
-
* Method bodies throw `EebusFeatureUnavailableError` from the
|
|
196
|
-
* `connect-core` runtime until `ElectricalConnectionClient` lands
|
|
197
|
-
* in `@enyo-energy/eebus`.
|
|
198
|
-
*
|
|
199
183
|
* @param ski Subject Key Identifier of the remote node
|
|
200
184
|
* @param options Optional address/timeout configuration
|
|
201
185
|
*/
|
|
@@ -205,10 +189,6 @@ export interface EebusUseCaseRegistry {
|
|
|
205
189
|
* (OSCEV)** client for a remote EVSE. Per-phase current
|
|
206
190
|
* recommendation (PV-optimisation driven).
|
|
207
191
|
*
|
|
208
|
-
* Method bodies throw `EebusFeatureUnavailableError` from the
|
|
209
|
-
* `connect-core` runtime until `ElectricalConnectionClient` lands
|
|
210
|
-
* in `@enyo-energy/eebus`.
|
|
211
|
-
*
|
|
212
192
|
* @param ski Subject Key Identifier of the remote node
|
|
213
193
|
* @param options Optional address/timeout configuration
|
|
214
194
|
*/
|
|
@@ -218,10 +198,6 @@ export interface EebusUseCaseRegistry {
|
|
|
218
198
|
* client for a remote battery / home-storage system. Read-only
|
|
219
199
|
* telemetry (power, SoC, nominal capacity).
|
|
220
200
|
*
|
|
221
|
-
* Method bodies throw `EebusFeatureUnavailableError` from the
|
|
222
|
-
* `connect-core` runtime until `ElectricalConnectionClient` lands
|
|
223
|
-
* in `@enyo-energy/eebus`.
|
|
224
|
-
*
|
|
225
201
|
* @param ski Subject Key Identifier of the remote node
|
|
226
202
|
* @param options Optional address/timeout configuration
|
|
227
203
|
*/
|
|
@@ -231,10 +207,6 @@ export interface EebusUseCaseRegistry {
|
|
|
231
207
|
* for a remote PV / solar-inverter system. Read-only telemetry
|
|
232
208
|
* (active power, nominal peak).
|
|
233
209
|
*
|
|
234
|
-
* Method bodies throw `EebusFeatureUnavailableError` from the
|
|
235
|
-
* `connect-core` runtime until `ElectricalConnectionClient` lands
|
|
236
|
-
* in `@enyo-energy/eebus`.
|
|
237
|
-
*
|
|
238
210
|
* @param ski Subject Key Identifier of the remote node
|
|
239
211
|
* @param options Optional address/timeout configuration
|
|
240
212
|
*/
|
|
@@ -25,43 +25,25 @@ export interface VabdClientOptions {
|
|
|
25
25
|
* battery state in its UI; not a control surface (use SetStorageSchedule
|
|
26
26
|
* over the data bus for control).
|
|
27
27
|
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* until `ElectricalConnectionClient` lands in `@enyo-energy/eebus`.
|
|
31
|
-
* `Measurement` and `DeviceConfiguration` are already present.
|
|
28
|
+
* Backed by `ElectricalConnection` + `Measurement` + `DeviceConfiguration`
|
|
29
|
+
* on the lib side.
|
|
32
30
|
*/
|
|
33
31
|
export interface EebusVabdClient extends EebusUseCaseClient {
|
|
34
32
|
/**
|
|
35
33
|
* Read the battery's current state of charge in percent (0–100).
|
|
36
|
-
*
|
|
37
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
38
|
-
* `ElectricalConnectionClient` lands in
|
|
39
|
-
* `@enyo-energy/eebus`.
|
|
40
34
|
*/
|
|
41
35
|
getBatterySocPercent: () => Promise<number>;
|
|
42
36
|
/**
|
|
43
37
|
* Read the battery's current active power in Watts. Positive =
|
|
44
38
|
* charging, negative = discharging.
|
|
45
|
-
*
|
|
46
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
47
|
-
* `ElectricalConnectionClient` lands in
|
|
48
|
-
* `@enyo-energy/eebus`.
|
|
49
39
|
*/
|
|
50
40
|
getBatteryPowerW: () => Promise<number>;
|
|
51
41
|
/**
|
|
52
42
|
* Read the battery's nominal capacity in Watt-hours, if advertised.
|
|
53
|
-
*
|
|
54
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
55
|
-
* `ElectricalConnectionClient` lands in
|
|
56
|
-
* `@enyo-energy/eebus`.
|
|
57
43
|
*/
|
|
58
44
|
getBatteryNominalCapacityWh: () => Promise<number | undefined>;
|
|
59
45
|
/**
|
|
60
46
|
* Subscribe to consolidated battery telemetry updates.
|
|
61
|
-
*
|
|
62
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
63
|
-
* `ElectricalConnectionClient` lands in
|
|
64
|
-
* `@enyo-energy/eebus`.
|
|
65
47
|
*/
|
|
66
48
|
onTelemetry: (handler: (telemetry: EebusVabdTelemetry) => void) => string;
|
|
67
49
|
/**
|
|
@@ -24,34 +24,20 @@ export interface VapdClientOptions {
|
|
|
24
24
|
* current active production and nominal peak capacity. Used by an EMS
|
|
25
25
|
* to render PV output in its UI.
|
|
26
26
|
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* until `ElectricalConnectionClient` lands in `@enyo-energy/eebus`.
|
|
30
|
-
* `Measurement` and `DeviceConfiguration` are already present.
|
|
27
|
+
* Backed by `ElectricalConnection` + `Measurement` + `DeviceConfiguration`
|
|
28
|
+
* on the lib side.
|
|
31
29
|
*/
|
|
32
30
|
export interface EebusVapdClient extends EebusUseCaseClient {
|
|
33
31
|
/**
|
|
34
32
|
* Read the PV system's current active production in Watts.
|
|
35
|
-
*
|
|
36
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
37
|
-
* `ElectricalConnectionClient` lands in
|
|
38
|
-
* `@enyo-energy/eebus`.
|
|
39
33
|
*/
|
|
40
34
|
getPvActivePowerW: () => Promise<number>;
|
|
41
35
|
/**
|
|
42
36
|
* Read the PV system's nominal peak power in Watts, if advertised.
|
|
43
|
-
*
|
|
44
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
45
|
-
* `ElectricalConnectionClient` lands in
|
|
46
|
-
* `@enyo-energy/eebus`.
|
|
47
37
|
*/
|
|
48
38
|
getPvNominalPeakPowerW: () => Promise<number | undefined>;
|
|
49
39
|
/**
|
|
50
40
|
* Subscribe to consolidated PV telemetry updates.
|
|
51
|
-
*
|
|
52
|
-
* @throws {EebusFeatureUnavailableError} Until
|
|
53
|
-
* `ElectricalConnectionClient` lands in
|
|
54
|
-
* `@enyo-energy/eebus`.
|
|
55
41
|
*/
|
|
56
42
|
onTelemetry: (handler: (telemetry: EebusVapdTelemetry) => void) => string;
|
|
57
43
|
/**
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED