@enyo-energy/energy-app-sdk 0.0.65 → 0.0.66

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.
@@ -12,7 +12,8 @@ var EnergyAppPackageCategory;
12
12
  EnergyAppPackageCategory["HeatPump"] = "heat-pump";
13
13
  EnergyAppPackageCategory["BatteryStorage"] = "battery-storage";
14
14
  EnergyAppPackageCategory["ClimateControl"] = "climate-control";
15
- EnergyAppPackageCategory["ElectricityTariff"] = "electricity-tariff";
15
+ EnergyAppPackageCategory["DynamicElectricityTariff"] = "dynamic-electricity-tariff";
16
+ EnergyAppPackageCategory["StaticElectricityTariff"] = "static-electricity-tariff";
16
17
  })(EnergyAppPackageCategory || (exports.EnergyAppPackageCategory = EnergyAppPackageCategory = {}));
17
18
  /**
18
19
  * Defines an Energy App package with automatic SDK version injection.
@@ -8,7 +8,8 @@ export declare enum EnergyAppPackageCategory {
8
8
  HeatPump = "heat-pump",
9
9
  BatteryStorage = "battery-storage",
10
10
  ClimateControl = "climate-control",
11
- ElectricityTariff = "electricity-tariff"
11
+ DynamicElectricityTariff = "dynamic-electricity-tariff",
12
+ StaticElectricityTariff = "static-electricity-tariff"
12
13
  }
13
14
  /**
14
15
  * Configuration options for restricting internet access in an Energy App package.
@@ -21,7 +21,9 @@ export interface EnergyAppElectricityTariff {
21
21
  *
22
22
  * @returns Promise that resolves to an array of all registered tariffs with default indicators
23
23
  */
24
- getAllTariffs(): Promise<EnyoElectricityTariffWithDefault[]>;
24
+ getAllTariffs(filter?: {
25
+ myTariffs?: boolean;
26
+ }): Promise<EnyoElectricityTariffWithDefault[]>;
25
27
  /**
26
28
  * Removes an electricity tariff by its ID.
27
29
  * If the tariff does not exist, this operation is a no-op.
@@ -40,5 +42,15 @@ export interface EnergyAppElectricityTariff {
40
42
  findTariff(filter: {
41
43
  applianceId?: string;
42
44
  tariffId?: string;
45
+ externalTariffId?: string;
43
46
  }): Promise<EnyoElectricityTariffWithDefault | null>;
47
+ /**
48
+ * Partially updates an existing electricity tariff.
49
+ * Only the provided attributes will be modified; all other fields remain unchanged.
50
+ *
51
+ * @param id - The unique identifier of the tariff to update
52
+ * @param attributes - A partial set of tariff fields to update (excluding `id`)
53
+ * @returns Promise that resolves to the full updated tariff with its default indicator
54
+ */
55
+ updateTariff(id: string, attributes: Partial<Omit<EnyoElectricityTariff, 'id'>>): Promise<EnyoElectricityTariffWithDefault>;
44
56
  }
@@ -30,7 +30,7 @@ export interface EnergyAppPvSystem {
30
30
  * console.log(`Registered PV system: ${pvSystem.pvSystemId}`);
31
31
  * ```
32
32
  */
33
- registerPvSystem(pvSystem: Omit<EnyoPvSystem, 'id'>): Promise<EnyoPvSystem>;
33
+ registerPvSystem(pvSystem: Omit<EnyoPvSystem, 'id' | 'createdBy'>): Promise<EnyoPvSystem>;
34
34
  /**
35
35
  * Retrieves a registered PV system by its ID.
36
36
  *
@@ -58,7 +58,7 @@ export interface EnergyAppPvSystem {
58
58
  * });
59
59
  * ```
60
60
  */
61
- updatePvSystem(id: string, attributes: Partial<Omit<EnyoPvSystem, 'id'>>): Promise<EnyoPvSystem>;
61
+ updatePvSystem(id: string, attributes: Partial<Omit<EnyoPvSystem, 'id' | 'createdBy'>>): Promise<EnyoPvSystem>;
62
62
  /**
63
63
  * Removes a registered PV system by its ID.
64
64
  * If the PV system does not exist, this operation is a no-op.
@@ -65,6 +65,8 @@ export interface EnyoElectricityTariff {
65
65
  timeVariableTariffData?: TimeVariableTariffData;
66
66
  /** Optional dynamic pricing data*/
67
67
  dynamicTariffData?: DynamicTariffData;
68
+ /** Optional external tariff id for easy identification */
69
+ externalTariffId?: string;
68
70
  }
69
71
  /**
70
72
  * Tariff registration data extended with default indicator.
@@ -8,8 +8,6 @@ export interface EnyoEnergyPrices {
8
8
  type: ElectricityTariffTypeEnum;
9
9
  /** Pricing data structure */
10
10
  prices: EnyoEnergyPriceEntry[];
11
- /** Timestamp when this tariff information was last updated */
12
- lastUpdatedIso: string;
13
11
  }
14
12
  export interface EnyoEnergyPriceEntry {
15
13
  /** Start time of this 15-minute interval in ISO format */
@@ -53,6 +53,16 @@ export interface PvSystemDcString {
53
53
  /** Source of the orientation information (user-provided or estimated) */
54
54
  orientationSource?: PvSystemOrientationSourceEnum;
55
55
  }
56
+ /**
57
+ * Feed-in tariff configuration for a PV system.
58
+ * Defines the price for grid feed-in and behavior during negative market prices.
59
+ */
60
+ export interface PvSystemFeedInTariff {
61
+ /** Price per kWh received for feeding electricity into the grid */
62
+ gridFeedInPricePerKwh: number;
63
+ /** Whether feed-in refund is disabled when the market price is negative */
64
+ noFeedInRefundOnNegativeMarketPrice: boolean;
65
+ }
56
66
  /**
57
67
  * Registration data for a PV system.
58
68
  */
@@ -69,4 +79,6 @@ export interface EnyoPvSystem {
69
79
  appliances?: PvSystemAppliance[];
70
80
  /** Optional feature flags for this PV system */
71
81
  features?: PvSystemFeatureEnum[];
82
+ /** Optional feed-in tariff configuration for this PV system */
83
+ feedInTariff?: PvSystemFeedInTariff;
72
84
  }
@@ -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.65';
12
+ exports.SDK_VERSION = '0.0.66';
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.65";
8
+ export declare const SDK_VERSION = "0.0.66";
9
9
  /**
10
10
  * Gets the current SDK version.
11
11
  * @returns The semantic version string of the SDK
@@ -8,7 +8,8 @@ export declare enum EnergyAppPackageCategory {
8
8
  HeatPump = "heat-pump",
9
9
  BatteryStorage = "battery-storage",
10
10
  ClimateControl = "climate-control",
11
- ElectricityTariff = "electricity-tariff"
11
+ DynamicElectricityTariff = "dynamic-electricity-tariff",
12
+ StaticElectricityTariff = "static-electricity-tariff"
12
13
  }
13
14
  /**
14
15
  * Configuration options for restricting internet access in an Energy App package.
@@ -8,7 +8,8 @@ export var EnergyAppPackageCategory;
8
8
  EnergyAppPackageCategory["HeatPump"] = "heat-pump";
9
9
  EnergyAppPackageCategory["BatteryStorage"] = "battery-storage";
10
10
  EnergyAppPackageCategory["ClimateControl"] = "climate-control";
11
- EnergyAppPackageCategory["ElectricityTariff"] = "electricity-tariff";
11
+ EnergyAppPackageCategory["DynamicElectricityTariff"] = "dynamic-electricity-tariff";
12
+ EnergyAppPackageCategory["StaticElectricityTariff"] = "static-electricity-tariff";
12
13
  })(EnergyAppPackageCategory || (EnergyAppPackageCategory = {}));
13
14
  /**
14
15
  * Defines an Energy App package with automatic SDK version injection.
@@ -21,7 +21,9 @@ export interface EnergyAppElectricityTariff {
21
21
  *
22
22
  * @returns Promise that resolves to an array of all registered tariffs with default indicators
23
23
  */
24
- getAllTariffs(): Promise<EnyoElectricityTariffWithDefault[]>;
24
+ getAllTariffs(filter?: {
25
+ myTariffs?: boolean;
26
+ }): Promise<EnyoElectricityTariffWithDefault[]>;
25
27
  /**
26
28
  * Removes an electricity tariff by its ID.
27
29
  * If the tariff does not exist, this operation is a no-op.
@@ -40,5 +42,15 @@ export interface EnergyAppElectricityTariff {
40
42
  findTariff(filter: {
41
43
  applianceId?: string;
42
44
  tariffId?: string;
45
+ externalTariffId?: string;
43
46
  }): Promise<EnyoElectricityTariffWithDefault | null>;
47
+ /**
48
+ * Partially updates an existing electricity tariff.
49
+ * Only the provided attributes will be modified; all other fields remain unchanged.
50
+ *
51
+ * @param id - The unique identifier of the tariff to update
52
+ * @param attributes - A partial set of tariff fields to update (excluding `id`)
53
+ * @returns Promise that resolves to the full updated tariff with its default indicator
54
+ */
55
+ updateTariff(id: string, attributes: Partial<Omit<EnyoElectricityTariff, 'id'>>): Promise<EnyoElectricityTariffWithDefault>;
44
56
  }
@@ -30,7 +30,7 @@ export interface EnergyAppPvSystem {
30
30
  * console.log(`Registered PV system: ${pvSystem.pvSystemId}`);
31
31
  * ```
32
32
  */
33
- registerPvSystem(pvSystem: Omit<EnyoPvSystem, 'id'>): Promise<EnyoPvSystem>;
33
+ registerPvSystem(pvSystem: Omit<EnyoPvSystem, 'id' | 'createdBy'>): Promise<EnyoPvSystem>;
34
34
  /**
35
35
  * Retrieves a registered PV system by its ID.
36
36
  *
@@ -58,7 +58,7 @@ export interface EnergyAppPvSystem {
58
58
  * });
59
59
  * ```
60
60
  */
61
- updatePvSystem(id: string, attributes: Partial<Omit<EnyoPvSystem, 'id'>>): Promise<EnyoPvSystem>;
61
+ updatePvSystem(id: string, attributes: Partial<Omit<EnyoPvSystem, 'id' | 'createdBy'>>): Promise<EnyoPvSystem>;
62
62
  /**
63
63
  * Removes a registered PV system by its ID.
64
64
  * If the PV system does not exist, this operation is a no-op.
@@ -65,6 +65,8 @@ export interface EnyoElectricityTariff {
65
65
  timeVariableTariffData?: TimeVariableTariffData;
66
66
  /** Optional dynamic pricing data*/
67
67
  dynamicTariffData?: DynamicTariffData;
68
+ /** Optional external tariff id for easy identification */
69
+ externalTariffId?: string;
68
70
  }
69
71
  /**
70
72
  * Tariff registration data extended with default indicator.
@@ -8,8 +8,6 @@ export interface EnyoEnergyPrices {
8
8
  type: ElectricityTariffTypeEnum;
9
9
  /** Pricing data structure */
10
10
  prices: EnyoEnergyPriceEntry[];
11
- /** Timestamp when this tariff information was last updated */
12
- lastUpdatedIso: string;
13
11
  }
14
12
  export interface EnyoEnergyPriceEntry {
15
13
  /** Start time of this 15-minute interval in ISO format */
@@ -53,6 +53,16 @@ export interface PvSystemDcString {
53
53
  /** Source of the orientation information (user-provided or estimated) */
54
54
  orientationSource?: PvSystemOrientationSourceEnum;
55
55
  }
56
+ /**
57
+ * Feed-in tariff configuration for a PV system.
58
+ * Defines the price for grid feed-in and behavior during negative market prices.
59
+ */
60
+ export interface PvSystemFeedInTariff {
61
+ /** Price per kWh received for feeding electricity into the grid */
62
+ gridFeedInPricePerKwh: number;
63
+ /** Whether feed-in refund is disabled when the market price is negative */
64
+ noFeedInRefundOnNegativeMarketPrice: boolean;
65
+ }
56
66
  /**
57
67
  * Registration data for a PV system.
58
68
  */
@@ -69,4 +79,6 @@ export interface EnyoPvSystem {
69
79
  appliances?: PvSystemAppliance[];
70
80
  /** Optional feature flags for this PV system */
71
81
  features?: PvSystemFeatureEnum[];
82
+ /** Optional feed-in tariff configuration for this PV system */
83
+ feedInTariff?: PvSystemFeedInTariff;
72
84
  }
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.65";
8
+ export declare const SDK_VERSION = "0.0.66";
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.65';
8
+ export const SDK_VERSION = '0.0.66';
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.65",
3
+ "version": "0.0.66",
4
4
  "description": "enyo Energy App SDK",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",