@enyo-energy/energy-app-sdk 1.4.0 → 1.5.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.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EnyoPowerSourceEnum = exports.EnyoHeatpumpControlPurposeEnum = exports.EnyoChargingProfileTypeEnum = exports.EnyoCommandAcknowledgeAnswerEnum = exports.EnyoStorageControlDirectionEnum = exports.EnyoStorageControlModeEnum = exports.EnyoStorageScheduleDirectionEnum = exports.EnyoStorageScheduleModeEnum = exports.EnyoChargingLimitRequestResultEnum = exports.EnyoDataBusMessageEnum = exports.EnyoChargeInitiatorEnum = exports.EnyoChargeModeEnum = exports.EnyoChargingStopReason = exports.EnyoChargingMeterValueContext = exports.EnyoStringStateEnum = exports.EnyoHeatingRodStateEnum = exports.EnyoInverterStateEnum = exports.EnyoBatteryStateEnum = exports.EnyoGridOperatorLimitTypeEnum = exports.EnyoDataBusCommandReasonCategoryEnum = exports.EnyoDataBusCommandReasonTypeEnum = void 0;
3
+ exports.EnyoPowerSourceEnum = exports.EnyoHeatpumpHeatSourceEnum = exports.EnyoHeatpumpControlPurposeEnum = exports.EnyoChargingProfileTypeEnum = exports.EnyoCommandAcknowledgeAnswerEnum = exports.EnyoStorageControlDirectionEnum = exports.EnyoStorageControlModeEnum = exports.EnyoStorageScheduleDirectionEnum = exports.EnyoStorageScheduleModeEnum = exports.EnyoChargingLimitRequestResultEnum = exports.EnyoDataBusMessageEnum = exports.EnyoChargeInitiatorEnum = exports.EnyoChargeModeEnum = exports.EnyoChargingStopReason = exports.EnyoChargingMeterValueContext = exports.EnyoStringStateEnum = exports.EnyoHeatingRodStateEnum = exports.EnyoInverterStateEnum = exports.EnyoBatteryStateEnum = exports.EnyoGridOperatorLimitTypeEnum = exports.EnyoDataBusCommandReasonCategoryEnum = exports.EnyoDataBusCommandReasonTypeEnum = void 0;
4
4
  /**
5
5
  * Enum representing the reason type for why a data bus command was issued.
6
6
  * Used to attach context to commands for logging, debugging, and UI display.
@@ -417,6 +417,40 @@ var EnyoHeatpumpControlPurposeEnum;
417
417
  /** Use the power for space cooling (reversible heatpumps) */
418
418
  EnyoHeatpumpControlPurposeEnum["Cooling"] = "cooling";
419
419
  })(EnyoHeatpumpControlPurposeEnum || (exports.EnyoHeatpumpControlPurposeEnum = EnyoHeatpumpControlPurposeEnum = {}));
420
+ /**
421
+ * Which heat source an announced available-power envelope is meant to be spent
422
+ * on.
423
+ *
424
+ * The two sources are not interchangeable: a compressor moves several units of
425
+ * heat per unit of electricity and its draw is worth shifting in time, while a
426
+ * heating rod is resistive and returns roughly one. Granting PV surplus without
427
+ * saying which to use lets an appliance dump it into the rod, which is the
428
+ * worst available answer for the same Watts.
429
+ *
430
+ * Reported back through {@link EnyoDataBusHeatpumpValuesV1}'s
431
+ * `compressorRunning` / `heatingRodRunning`, so a sender can see whether the
432
+ * target was honoured.
433
+ */
434
+ var EnyoHeatpumpHeatSourceEnum;
435
+ (function (EnyoHeatpumpHeatSourceEnum) {
436
+ /**
437
+ * Spend the power on the compressor. The integrated heating rod should stay
438
+ * off for the duration of this envelope.
439
+ */
440
+ EnyoHeatpumpHeatSourceEnum["Compressor"] = "compressor";
441
+ /**
442
+ * Spend the power on the integrated heating rod — for example to absorb a
443
+ * surplus the compressor's modulation band cannot take, or when the
444
+ * compressor is unavailable.
445
+ */
446
+ EnyoHeatpumpHeatSourceEnum["HeatingRod"] = "heating-rod";
447
+ /**
448
+ * Either source, or both at once. Explicitly permits bivalent operation,
449
+ * where the rod runs alongside the compressor to meet demand the compressor
450
+ * alone cannot.
451
+ */
452
+ EnyoHeatpumpHeatSourceEnum["Both"] = "both";
453
+ })(EnyoHeatpumpHeatSourceEnum || (exports.EnyoHeatpumpHeatSourceEnum = EnyoHeatpumpHeatSourceEnum = {}));
420
454
  /**
421
455
  * Where an announced available-power envelope is expected to originate from.
422
456
  * Used to give appliances (and analytics) insight into whether the granted
@@ -450,6 +450,36 @@ export interface EnyoDataBusHeatpumpValuesV1 extends EnyoDataBusMessage {
450
450
  heatGenerationHeatingWh?: number;
451
451
  /** Power generation for domestic hot water in Wh (meter value)*/
452
452
  heatGenerationDomesticHotWaterWh?: number;
453
+ /**
454
+ * Whether the compressor is drawing power at this moment.
455
+ *
456
+ * Optional context for {@link powerW}: the same 4 kW draw means
457
+ * something different depending on which heat source produced it,
458
+ * and only the appliance knows which. A compressor's consumption
459
+ * moves with its modulation band and is worth shifting in time; a
460
+ * heating rod's does not.
461
+ *
462
+ * Omit when the appliance does not report it — `undefined` means
463
+ * "not known", which is not the same as `false`.
464
+ */
465
+ compressorRunning?: boolean;
466
+ /**
467
+ * Whether the heat pump's integrated heating rod (backup /
468
+ * auxiliary resistive element) is energized at this moment.
469
+ *
470
+ * May be `true` at the same time as {@link compressorRunning}:
471
+ * bivalent operation runs the rod alongside the compressor when the
472
+ * compressor alone cannot meet demand, and that combination is
473
+ * usually the most expensive state the appliance can be in.
474
+ *
475
+ * This is the rod built into the heat pump. A heating rod that is a
476
+ * separate appliance reports its own state through
477
+ * {@link EnyoDataBusHeatingRodValuesV1} instead.
478
+ *
479
+ * Omit when the appliance does not report it — `undefined` means
480
+ * "not known", which is not the same as `false`.
481
+ */
482
+ heatingRodRunning?: boolean;
453
483
  };
454
484
  /** Grid operator power limitation currently applied by the heatpump, if any */
455
485
  gridOperatorLimit?: EnyoGridOperatorLimit;
@@ -2139,6 +2169,39 @@ export declare enum EnyoHeatpumpControlPurposeEnum {
2139
2169
  /** Use the power for space cooling (reversible heatpumps) */
2140
2170
  Cooling = "cooling"
2141
2171
  }
2172
+ /**
2173
+ * Which heat source an announced available-power envelope is meant to be spent
2174
+ * on.
2175
+ *
2176
+ * The two sources are not interchangeable: a compressor moves several units of
2177
+ * heat per unit of electricity and its draw is worth shifting in time, while a
2178
+ * heating rod is resistive and returns roughly one. Granting PV surplus without
2179
+ * saying which to use lets an appliance dump it into the rod, which is the
2180
+ * worst available answer for the same Watts.
2181
+ *
2182
+ * Reported back through {@link EnyoDataBusHeatpumpValuesV1}'s
2183
+ * `compressorRunning` / `heatingRodRunning`, so a sender can see whether the
2184
+ * target was honoured.
2185
+ */
2186
+ export declare enum EnyoHeatpumpHeatSourceEnum {
2187
+ /**
2188
+ * Spend the power on the compressor. The integrated heating rod should stay
2189
+ * off for the duration of this envelope.
2190
+ */
2191
+ Compressor = "compressor",
2192
+ /**
2193
+ * Spend the power on the integrated heating rod — for example to absorb a
2194
+ * surplus the compressor's modulation band cannot take, or when the
2195
+ * compressor is unavailable.
2196
+ */
2197
+ HeatingRod = "heating-rod",
2198
+ /**
2199
+ * Either source, or both at once. Explicitly permits bivalent operation,
2200
+ * where the rod runs alongside the compressor to meet demand the compressor
2201
+ * alone cannot.
2202
+ */
2203
+ Both = "both"
2204
+ }
2142
2205
  /**
2143
2206
  * Where an announced available-power envelope is expected to originate from.
2144
2207
  * Used to give appliances (and analytics) insight into whether the granted
@@ -2184,6 +2247,24 @@ export interface EnyoDataBusSetHeatpumpAvailablePowerV2 extends EnyoDataBusMessa
2184
2247
  * pre-heating). Advisory — the appliance may still apply its own logic.
2185
2248
  */
2186
2249
  purpose?: EnyoHeatpumpControlPurposeEnum;
2250
+ /**
2251
+ * Which heat source the announced power should be spent on — the
2252
+ * compressor, the integrated heating rod, or either.
2253
+ *
2254
+ * Where {@link purpose} says *what for*, this says *with what*. Set it
2255
+ * when the distinction matters to the sender: PV surplus is normally
2256
+ * worth far more through the compressor, while a rod is the right sink
2257
+ * for a surplus the compressor cannot absorb.
2258
+ *
2259
+ * Omit to leave the choice to the appliance — omission is not the same
2260
+ * as {@link EnyoHeatpumpHeatSourceEnum.Both}, which actively permits
2261
+ * running the rod alongside the compressor.
2262
+ *
2263
+ * Advisory, like {@link purpose}: the appliance may override it when
2264
+ * safety or comfort requires, for example to run a legionella cycle or
2265
+ * a defrost that needs the rod.
2266
+ */
2267
+ desiredTarget?: EnyoHeatpumpHeatSourceEnum;
2187
2268
  /**
2188
2269
  * Optional breakdown of the announced envelope by source (PV / battery /
2189
2270
  * grid). When present, the shares should sum to {@link data.powerW}.
@@ -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 = '1.4.0';
12
+ exports.SDK_VERSION = '1.5.0';
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 = "1.4.0";
8
+ export declare const SDK_VERSION = "1.5.0";
9
9
  /**
10
10
  * Gets the current SDK version.
11
11
  * @returns The semantic version string of the SDK
@@ -450,6 +450,36 @@ export interface EnyoDataBusHeatpumpValuesV1 extends EnyoDataBusMessage {
450
450
  heatGenerationHeatingWh?: number;
451
451
  /** Power generation for domestic hot water in Wh (meter value)*/
452
452
  heatGenerationDomesticHotWaterWh?: number;
453
+ /**
454
+ * Whether the compressor is drawing power at this moment.
455
+ *
456
+ * Optional context for {@link powerW}: the same 4 kW draw means
457
+ * something different depending on which heat source produced it,
458
+ * and only the appliance knows which. A compressor's consumption
459
+ * moves with its modulation band and is worth shifting in time; a
460
+ * heating rod's does not.
461
+ *
462
+ * Omit when the appliance does not report it — `undefined` means
463
+ * "not known", which is not the same as `false`.
464
+ */
465
+ compressorRunning?: boolean;
466
+ /**
467
+ * Whether the heat pump's integrated heating rod (backup /
468
+ * auxiliary resistive element) is energized at this moment.
469
+ *
470
+ * May be `true` at the same time as {@link compressorRunning}:
471
+ * bivalent operation runs the rod alongside the compressor when the
472
+ * compressor alone cannot meet demand, and that combination is
473
+ * usually the most expensive state the appliance can be in.
474
+ *
475
+ * This is the rod built into the heat pump. A heating rod that is a
476
+ * separate appliance reports its own state through
477
+ * {@link EnyoDataBusHeatingRodValuesV1} instead.
478
+ *
479
+ * Omit when the appliance does not report it — `undefined` means
480
+ * "not known", which is not the same as `false`.
481
+ */
482
+ heatingRodRunning?: boolean;
453
483
  };
454
484
  /** Grid operator power limitation currently applied by the heatpump, if any */
455
485
  gridOperatorLimit?: EnyoGridOperatorLimit;
@@ -2139,6 +2169,39 @@ export declare enum EnyoHeatpumpControlPurposeEnum {
2139
2169
  /** Use the power for space cooling (reversible heatpumps) */
2140
2170
  Cooling = "cooling"
2141
2171
  }
2172
+ /**
2173
+ * Which heat source an announced available-power envelope is meant to be spent
2174
+ * on.
2175
+ *
2176
+ * The two sources are not interchangeable: a compressor moves several units of
2177
+ * heat per unit of electricity and its draw is worth shifting in time, while a
2178
+ * heating rod is resistive and returns roughly one. Granting PV surplus without
2179
+ * saying which to use lets an appliance dump it into the rod, which is the
2180
+ * worst available answer for the same Watts.
2181
+ *
2182
+ * Reported back through {@link EnyoDataBusHeatpumpValuesV1}'s
2183
+ * `compressorRunning` / `heatingRodRunning`, so a sender can see whether the
2184
+ * target was honoured.
2185
+ */
2186
+ export declare enum EnyoHeatpumpHeatSourceEnum {
2187
+ /**
2188
+ * Spend the power on the compressor. The integrated heating rod should stay
2189
+ * off for the duration of this envelope.
2190
+ */
2191
+ Compressor = "compressor",
2192
+ /**
2193
+ * Spend the power on the integrated heating rod — for example to absorb a
2194
+ * surplus the compressor's modulation band cannot take, or when the
2195
+ * compressor is unavailable.
2196
+ */
2197
+ HeatingRod = "heating-rod",
2198
+ /**
2199
+ * Either source, or both at once. Explicitly permits bivalent operation,
2200
+ * where the rod runs alongside the compressor to meet demand the compressor
2201
+ * alone cannot.
2202
+ */
2203
+ Both = "both"
2204
+ }
2142
2205
  /**
2143
2206
  * Where an announced available-power envelope is expected to originate from.
2144
2207
  * Used to give appliances (and analytics) insight into whether the granted
@@ -2184,6 +2247,24 @@ export interface EnyoDataBusSetHeatpumpAvailablePowerV2 extends EnyoDataBusMessa
2184
2247
  * pre-heating). Advisory — the appliance may still apply its own logic.
2185
2248
  */
2186
2249
  purpose?: EnyoHeatpumpControlPurposeEnum;
2250
+ /**
2251
+ * Which heat source the announced power should be spent on — the
2252
+ * compressor, the integrated heating rod, or either.
2253
+ *
2254
+ * Where {@link purpose} says *what for*, this says *with what*. Set it
2255
+ * when the distinction matters to the sender: PV surplus is normally
2256
+ * worth far more through the compressor, while a rod is the right sink
2257
+ * for a surplus the compressor cannot absorb.
2258
+ *
2259
+ * Omit to leave the choice to the appliance — omission is not the same
2260
+ * as {@link EnyoHeatpumpHeatSourceEnum.Both}, which actively permits
2261
+ * running the rod alongside the compressor.
2262
+ *
2263
+ * Advisory, like {@link purpose}: the appliance may override it when
2264
+ * safety or comfort requires, for example to run a legionella cycle or
2265
+ * a defrost that needs the rod.
2266
+ */
2267
+ desiredTarget?: EnyoHeatpumpHeatSourceEnum;
2187
2268
  /**
2188
2269
  * Optional breakdown of the announced envelope by source (PV / battery /
2189
2270
  * grid). When present, the shares should sum to {@link data.powerW}.
@@ -414,6 +414,40 @@ export var EnyoHeatpumpControlPurposeEnum;
414
414
  /** Use the power for space cooling (reversible heatpumps) */
415
415
  EnyoHeatpumpControlPurposeEnum["Cooling"] = "cooling";
416
416
  })(EnyoHeatpumpControlPurposeEnum || (EnyoHeatpumpControlPurposeEnum = {}));
417
+ /**
418
+ * Which heat source an announced available-power envelope is meant to be spent
419
+ * on.
420
+ *
421
+ * The two sources are not interchangeable: a compressor moves several units of
422
+ * heat per unit of electricity and its draw is worth shifting in time, while a
423
+ * heating rod is resistive and returns roughly one. Granting PV surplus without
424
+ * saying which to use lets an appliance dump it into the rod, which is the
425
+ * worst available answer for the same Watts.
426
+ *
427
+ * Reported back through {@link EnyoDataBusHeatpumpValuesV1}'s
428
+ * `compressorRunning` / `heatingRodRunning`, so a sender can see whether the
429
+ * target was honoured.
430
+ */
431
+ export var EnyoHeatpumpHeatSourceEnum;
432
+ (function (EnyoHeatpumpHeatSourceEnum) {
433
+ /**
434
+ * Spend the power on the compressor. The integrated heating rod should stay
435
+ * off for the duration of this envelope.
436
+ */
437
+ EnyoHeatpumpHeatSourceEnum["Compressor"] = "compressor";
438
+ /**
439
+ * Spend the power on the integrated heating rod — for example to absorb a
440
+ * surplus the compressor's modulation band cannot take, or when the
441
+ * compressor is unavailable.
442
+ */
443
+ EnyoHeatpumpHeatSourceEnum["HeatingRod"] = "heating-rod";
444
+ /**
445
+ * Either source, or both at once. Explicitly permits bivalent operation,
446
+ * where the rod runs alongside the compressor to meet demand the compressor
447
+ * alone cannot.
448
+ */
449
+ EnyoHeatpumpHeatSourceEnum["Both"] = "both";
450
+ })(EnyoHeatpumpHeatSourceEnum || (EnyoHeatpumpHeatSourceEnum = {}));
417
451
  /**
418
452
  * Where an announced available-power envelope is expected to originate from.
419
453
  * Used to give appliances (and analytics) insight into whether the granted
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 = "1.4.0";
8
+ export declare const SDK_VERSION = "1.5.0";
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 = '1.4.0';
8
+ export const SDK_VERSION = '1.5.0';
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": "1.4.0",
3
+ "version": "1.5.0",
4
4
  "description": "enyo Energy App SDK",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",