@enyo-energy/energy-app-sdk 0.0.154 → 0.0.156

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.
@@ -170,6 +170,7 @@ var EnyoDataBusMessageEnum;
170
170
  EnyoDataBusMessageEnum["StartAirConditioningV1"] = "StartAirConditioningV1";
171
171
  EnyoDataBusMessageEnum["StopAirConditioningV1"] = "StopAirConditioningV1";
172
172
  EnyoDataBusMessageEnum["VehicleSocUpdateV1"] = "VehicleSocUpdateV1";
173
+ EnyoDataBusMessageEnum["EnergyAppStartedV1"] = "EnergyAppStartedV1";
173
174
  })(EnyoDataBusMessageEnum || (exports.EnyoDataBusMessageEnum = EnyoDataBusMessageEnum = {}));
174
175
  /**
175
176
  * Storage control mode carried by {@link EnyoDataBusSetStorageScheduleV1}.
@@ -194,7 +194,8 @@ export declare enum EnyoDataBusMessageEnum {
194
194
  AirConditioningTemperaturesUpdateV1 = "AirConditioningTemperaturesUpdateV1",
195
195
  StartAirConditioningV1 = "StartAirConditioningV1",
196
196
  StopAirConditioningV1 = "StopAirConditioningV1",
197
- VehicleSocUpdateV1 = "VehicleSocUpdateV1"
197
+ VehicleSocUpdateV1 = "VehicleSocUpdateV1",
198
+ EnergyAppStartedV1 = "EnergyAppStartedV1"
198
199
  }
199
200
  export type EnyoDataBusMessageResolution = '1s' | '10s' | '30s' | '1m' | '15m' | '1h' | '1d' | 'dynamic';
200
201
  /**
@@ -389,6 +390,44 @@ export interface EnyoDataBusApplianceStateUpdateV1 extends EnyoDataBusMessage {
389
390
  errorCodes?: EnyoApplianceErrorCode[];
390
391
  };
391
392
  }
393
+ /**
394
+ * Message emitted when an energy app package finishes startup and is now
395
+ * actively driving its appliances. Carries the running package's identity
396
+ * plus the full set of appliance ids it has registered against, so
397
+ * consumers can correlate subsequent activity to this package instance
398
+ * and learn which appliances are now under its influence.
399
+ *
400
+ * Broadcast (no `target`) — anyone observing the data bus may listen.
401
+ * The base {@link EnyoDataBusMessage.applianceId} field is intentionally
402
+ * left unset; this message scopes to *all* affected appliances via
403
+ * `data.applianceIds` rather than a single one.
404
+ */
405
+ export interface EnyoDataBusEnergyAppStartedV1 extends EnyoDataBusMessage {
406
+ type: 'message';
407
+ message: EnyoDataBusMessageEnum.EnergyAppStartedV1;
408
+ data: {
409
+ /**
410
+ * Cloud-deployment id of the started package. Matches
411
+ * {@link EnyoDataBusMessageTarget.cloudPackageId} so consumers
412
+ * can address replies back at this package instance.
413
+ */
414
+ cloudPackageId: string;
415
+ /**
416
+ * Package slug from the started package's
417
+ * {@link EnergyAppPackageDefinition.packageName}. Stable across
418
+ * deployments of the same package, suitable for grouping
419
+ * activity by package implementation rather than by instance.
420
+ */
421
+ packageName: string;
422
+ /**
423
+ * Ids of every appliance this package has registered against —
424
+ * the appliances whose lifecycle is now influenced by the
425
+ * running app. Empty array is legal (the package started but
426
+ * has not yet resolved any appliances).
427
+ */
428
+ applianceIds: string[];
429
+ };
430
+ }
392
431
  export interface EnyoDataBusChargingStartedV1 extends EnyoDataBusMessage {
393
432
  type: 'message';
394
433
  message: EnyoDataBusMessageEnum.ChargingStartedV1;
@@ -727,12 +727,21 @@ export interface EebusCevcAck {
727
727
  * OPEV use case. OPEV is an *obligation*: the EVSE MUST respect the
728
728
  * limit (it is grid-safety driven, not optimisation driven).
729
729
  *
730
- * Phase count is determined by the EVSE — single-phase wallboxes report
731
- * length 1, three-phase wallboxes length 3.
730
+ * Single-phase EVSEs populate only `a`; three-phase EVSEs populate `a`,
731
+ * `b`, and `c`. Phases the EVSE does not carry are left absent rather
732
+ * than implied by array length.
732
733
  */
733
734
  export interface EebusOpevLimit {
734
- /** Per-phase current limits in Amperes (length 1 or 3). */
735
- perPhaseA: number[];
735
+ /**
736
+ * Per-phase current limits in Amperes, keyed by phase label. Each
737
+ * phase is independently optional — omit phases the EVSE does not
738
+ * carry.
739
+ */
740
+ currentLimitByPhase: {
741
+ a?: number;
742
+ b?: number;
743
+ c?: number;
744
+ };
736
745
  /** Whether the limit is currently active. */
737
746
  isActive: boolean;
738
747
  /**
@@ -760,8 +769,16 @@ export interface EebusOpevAck {
760
769
  * (obligation vs recommendation), as with LPC vs LPP.
761
770
  */
762
771
  export interface EebusOscevLimit {
763
- /** Per-phase recommended current limits in Amperes (length 1 or 3). */
764
- perPhaseA: number[];
772
+ /**
773
+ * Per-phase recommended current limits in Amperes, keyed by phase
774
+ * label. Each phase is independently optional — omit phases the EVSE
775
+ * does not carry.
776
+ */
777
+ currentLimitByPhase: {
778
+ a?: number;
779
+ b?: number;
780
+ c?: number;
781
+ };
765
782
  /** Whether the recommendation is currently active. */
766
783
  isActive: boolean;
767
784
  /** Duration in seconds; omit or `0` for indefinite. */
@@ -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.154';
12
+ exports.SDK_VERSION = '0.0.156';
13
13
  /**
14
14
  * Gets the current SDK version.
15
15
  * @returns The semantic version string of the SDK
@@ -5,7 +5,7 @@
5
5
  /**
6
6
  * Current version of the enyo Energy App SDK.
7
7
  */
8
- export declare const SDK_VERSION = "0.0.154";
8
+ export declare const SDK_VERSION = "0.0.156";
9
9
  /**
10
10
  * Gets the current SDK version.
11
11
  * @returns The semantic version string of the SDK
@@ -194,7 +194,8 @@ export declare enum EnyoDataBusMessageEnum {
194
194
  AirConditioningTemperaturesUpdateV1 = "AirConditioningTemperaturesUpdateV1",
195
195
  StartAirConditioningV1 = "StartAirConditioningV1",
196
196
  StopAirConditioningV1 = "StopAirConditioningV1",
197
- VehicleSocUpdateV1 = "VehicleSocUpdateV1"
197
+ VehicleSocUpdateV1 = "VehicleSocUpdateV1",
198
+ EnergyAppStartedV1 = "EnergyAppStartedV1"
198
199
  }
199
200
  export type EnyoDataBusMessageResolution = '1s' | '10s' | '30s' | '1m' | '15m' | '1h' | '1d' | 'dynamic';
200
201
  /**
@@ -389,6 +390,44 @@ export interface EnyoDataBusApplianceStateUpdateV1 extends EnyoDataBusMessage {
389
390
  errorCodes?: EnyoApplianceErrorCode[];
390
391
  };
391
392
  }
393
+ /**
394
+ * Message emitted when an energy app package finishes startup and is now
395
+ * actively driving its appliances. Carries the running package's identity
396
+ * plus the full set of appliance ids it has registered against, so
397
+ * consumers can correlate subsequent activity to this package instance
398
+ * and learn which appliances are now under its influence.
399
+ *
400
+ * Broadcast (no `target`) — anyone observing the data bus may listen.
401
+ * The base {@link EnyoDataBusMessage.applianceId} field is intentionally
402
+ * left unset; this message scopes to *all* affected appliances via
403
+ * `data.applianceIds` rather than a single one.
404
+ */
405
+ export interface EnyoDataBusEnergyAppStartedV1 extends EnyoDataBusMessage {
406
+ type: 'message';
407
+ message: EnyoDataBusMessageEnum.EnergyAppStartedV1;
408
+ data: {
409
+ /**
410
+ * Cloud-deployment id of the started package. Matches
411
+ * {@link EnyoDataBusMessageTarget.cloudPackageId} so consumers
412
+ * can address replies back at this package instance.
413
+ */
414
+ cloudPackageId: string;
415
+ /**
416
+ * Package slug from the started package's
417
+ * {@link EnergyAppPackageDefinition.packageName}. Stable across
418
+ * deployments of the same package, suitable for grouping
419
+ * activity by package implementation rather than by instance.
420
+ */
421
+ packageName: string;
422
+ /**
423
+ * Ids of every appliance this package has registered against —
424
+ * the appliances whose lifecycle is now influenced by the
425
+ * running app. Empty array is legal (the package started but
426
+ * has not yet resolved any appliances).
427
+ */
428
+ applianceIds: string[];
429
+ };
430
+ }
392
431
  export interface EnyoDataBusChargingStartedV1 extends EnyoDataBusMessage {
393
432
  type: 'message';
394
433
  message: EnyoDataBusMessageEnum.ChargingStartedV1;
@@ -167,6 +167,7 @@ export var EnyoDataBusMessageEnum;
167
167
  EnyoDataBusMessageEnum["StartAirConditioningV1"] = "StartAirConditioningV1";
168
168
  EnyoDataBusMessageEnum["StopAirConditioningV1"] = "StopAirConditioningV1";
169
169
  EnyoDataBusMessageEnum["VehicleSocUpdateV1"] = "VehicleSocUpdateV1";
170
+ EnyoDataBusMessageEnum["EnergyAppStartedV1"] = "EnergyAppStartedV1";
170
171
  })(EnyoDataBusMessageEnum || (EnyoDataBusMessageEnum = {}));
171
172
  /**
172
173
  * Storage control mode carried by {@link EnyoDataBusSetStorageScheduleV1}.
@@ -727,12 +727,21 @@ export interface EebusCevcAck {
727
727
  * OPEV use case. OPEV is an *obligation*: the EVSE MUST respect the
728
728
  * limit (it is grid-safety driven, not optimisation driven).
729
729
  *
730
- * Phase count is determined by the EVSE — single-phase wallboxes report
731
- * length 1, three-phase wallboxes length 3.
730
+ * Single-phase EVSEs populate only `a`; three-phase EVSEs populate `a`,
731
+ * `b`, and `c`. Phases the EVSE does not carry are left absent rather
732
+ * than implied by array length.
732
733
  */
733
734
  export interface EebusOpevLimit {
734
- /** Per-phase current limits in Amperes (length 1 or 3). */
735
- perPhaseA: number[];
735
+ /**
736
+ * Per-phase current limits in Amperes, keyed by phase label. Each
737
+ * phase is independently optional — omit phases the EVSE does not
738
+ * carry.
739
+ */
740
+ currentLimitByPhase: {
741
+ a?: number;
742
+ b?: number;
743
+ c?: number;
744
+ };
736
745
  /** Whether the limit is currently active. */
737
746
  isActive: boolean;
738
747
  /**
@@ -760,8 +769,16 @@ export interface EebusOpevAck {
760
769
  * (obligation vs recommendation), as with LPC vs LPP.
761
770
  */
762
771
  export interface EebusOscevLimit {
763
- /** Per-phase recommended current limits in Amperes (length 1 or 3). */
764
- perPhaseA: number[];
772
+ /**
773
+ * Per-phase recommended current limits in Amperes, keyed by phase
774
+ * label. Each phase is independently optional — omit phases the EVSE
775
+ * does not carry.
776
+ */
777
+ currentLimitByPhase: {
778
+ a?: number;
779
+ b?: number;
780
+ c?: number;
781
+ };
765
782
  /** Whether the recommendation is currently active. */
766
783
  isActive: boolean;
767
784
  /** Duration in seconds; omit or `0` for indefinite. */
package/dist/version.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  /**
6
6
  * Current version of the enyo Energy App SDK.
7
7
  */
8
- export declare const SDK_VERSION = "0.0.154";
8
+ export declare const SDK_VERSION = "0.0.156";
9
9
  /**
10
10
  * Gets the current SDK version.
11
11
  * @returns The semantic version string of the SDK
package/dist/version.js CHANGED
@@ -5,7 +5,7 @@
5
5
  /**
6
6
  * Current version of the enyo Energy App SDK.
7
7
  */
8
- export const SDK_VERSION = '0.0.154';
8
+ export const SDK_VERSION = '0.0.156';
9
9
  /**
10
10
  * Gets the current SDK version.
11
11
  * @returns The semantic version string of the SDK
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@enyo-energy/energy-app-sdk",
3
- "version": "0.0.154",
3
+ "version": "0.0.156",
4
4
  "description": "enyo Energy App SDK",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",