@enyo-energy/energy-app-sdk 0.0.110 → 0.0.111

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,4 +1,4 @@
1
- import { DataBusMessageQueryRequest, DataBusMessageQueryResponse, PvProductionTimeseriesRequest, PvProductionTimeseriesResponse, BatterySocTimeseriesRequest, BatterySocTimeseriesResponse, BatteryPowerTimeseriesRequest, BatteryPowerTimeseriesResponse, MeterValuesTimeseriesRequest, MeterValuesTimeseriesResponse, GridPowerTimeseriesRequest, GridPowerTimeseriesResponse, HomeConsumptionTimeseriesRequest, HomeConsumptionTimeseriesResponse, HeatpumpTemperatureTimeseriesRequest, HeatpumpTemperatureTimeseriesResponse, TemperatureSensorTimeseriesRequest, TemperatureSensorTimeseriesResponse, AirConditioningPowerTimeseriesRequest, AirConditioningPowerTimeseriesResponse, AirConditioningTemperatureTimeseriesRequest, AirConditioningTemperatureTimeseriesResponse } from "../types/enyo-timeseries.cjs";
1
+ import { DataBusMessageQueryRequest, DataBusMessageQueryResponse, PvProductionTimeseriesRequest, PvProductionTimeseriesResponse, BatterySocTimeseriesRequest, BatterySocTimeseriesResponse, BatteryPowerTimeseriesRequest, BatteryPowerTimeseriesResponse, MeterValuesTimeseriesRequest, MeterValuesTimeseriesResponse, GridPowerTimeseriesRequest, GridPowerTimeseriesResponse, HomeConsumptionTimeseriesRequest, HomeConsumptionTimeseriesResponse, HeatpumpTemperatureTimeseriesRequest, HeatpumpTemperatureTimeseriesResponse, HeatpumpPowerTimeseriesRequest, HeatpumpPowerTimeseriesResponse, TemperatureSensorTimeseriesRequest, TemperatureSensorTimeseriesResponse, AirConditioningPowerTimeseriesRequest, AirConditioningPowerTimeseriesResponse, AirConditioningTemperatureTimeseriesRequest, AirConditioningTemperatureTimeseriesResponse } from "../types/enyo-timeseries.cjs";
2
2
  /**
3
3
  * Interface for querying historical energy data with configurable bucket granularity.
4
4
  * Provides methods to retrieve aggregated timeseries data for various energy metrics
@@ -159,6 +159,33 @@ export interface EnergyAppTimeseries {
159
159
  * ```
160
160
  */
161
161
  getHeatpumpTemperatureTimeseries(request: HeatpumpTemperatureTimeseriesRequest): Promise<HeatpumpTemperatureTimeseriesResponse>;
162
+ /**
163
+ * Retrieves heatpump power timeseries data aggregated in time buckets.
164
+ * Returns time-weighted average electrical power (W) and cumulative
165
+ * electrical energy (Wh) for each bucket. When the heatpump reports them,
166
+ * also returns the split between space heating and domestic hot water for
167
+ * both electrical consumption and thermal energy delivered.
168
+ *
169
+ * Split fields are optional because not all heatpumps report meter values
170
+ * for the heating / domestic-hot-water categories.
171
+ *
172
+ * @param request - The query parameters including date range and optional appliance filter
173
+ * @returns Promise resolving to heatpump power entries with total electrical consumption
174
+ *
175
+ * @example
176
+ * ```typescript
177
+ * const response = await timeseries.getHeatpumpPowerTimeseries({
178
+ * startDateIso: '2024-01-01T00:00:00Z',
179
+ * endDateIso: '2024-01-02T00:00:00Z'
180
+ * });
181
+ * console.log(`Total heatpump consumption: ${response.totalHeatpumpPowerWh} Wh`);
182
+ * if (response.totalHeatGenerationHeatingWh && response.totalPowerConsumptionHeatingWh) {
183
+ * const cop = response.totalHeatGenerationHeatingWh / response.totalPowerConsumptionHeatingWh;
184
+ * console.log(`Heating COP: ${cop.toFixed(2)}`);
185
+ * }
186
+ * ```
187
+ */
188
+ getHeatpumpPowerTimeseries(request: HeatpumpPowerTimeseriesRequest): Promise<HeatpumpPowerTimeseriesResponse>;
162
189
  /**
163
190
  * Retrieves temperature sensor timeseries data aggregated in time buckets.
164
191
  * Returns per-sensor average temperature readings for each bucket, along with
@@ -342,6 +342,51 @@ export interface HeatpumpTemperatureTimeseriesResponse extends TimeseriesRespons
342
342
  /** Average buffer tank temperature in degrees Celsius across all buckets */
343
343
  averageBufferTankTemperatureC?: number;
344
344
  }
345
+ /**
346
+ * A single entry in the heatpump power timeseries.
347
+ * Contains electrical power and energy values, optional split between space
348
+ * heating and domestic hot water consumption, and optional thermal energy
349
+ * delivered (heat generation) for the same split, for a single time bucket.
350
+ */
351
+ export interface HeatpumpPowerTimeseriesEntry extends TimeseriesEntryBase {
352
+ /** Time-weighted average heatpump electrical power consumption in Watts for this bucket */
353
+ heatpumpPowerW: number;
354
+ /** Cumulative heatpump electrical energy consumption in Watt-hours for this bucket */
355
+ heatpumpPowerWh: number;
356
+ /** Electrical energy consumed for space heating in Watt-hours for this bucket */
357
+ powerConsumptionHeatingWh?: number;
358
+ /** Electrical energy consumed for domestic hot water in Watt-hours for this bucket */
359
+ powerConsumptionDomesticHotWaterWh?: number;
360
+ /** Thermal energy delivered for space heating in Watt-hours for this bucket */
361
+ heatGenerationHeatingWh?: number;
362
+ /** Thermal energy delivered for domestic hot water in Watt-hours for this bucket */
363
+ heatGenerationDomesticHotWaterWh?: number;
364
+ }
365
+ /**
366
+ * Request parameters for querying heatpump power timeseries data.
367
+ */
368
+ export interface HeatpumpPowerTimeseriesRequest extends TimeseriesRequestBase {
369
+ }
370
+ /**
371
+ * Response containing heatpump power timeseries data.
372
+ * Aggregated totals for the heating / domestic-hot-water splits and for
373
+ * heat generation are optional because not all heatpumps report meter values
374
+ * for every category.
375
+ */
376
+ export interface HeatpumpPowerTimeseriesResponse extends TimeseriesResponseBase {
377
+ /** Array of heatpump power entries, one per time bucket */
378
+ entries: HeatpumpPowerTimeseriesEntry[];
379
+ /** Total heatpump electrical energy consumption in Watt-hours across all buckets */
380
+ totalHeatpumpPowerWh: number;
381
+ /** Total electrical energy consumed for space heating in Watt-hours across all buckets */
382
+ totalPowerConsumptionHeatingWh?: number;
383
+ /** Total electrical energy consumed for domestic hot water in Watt-hours across all buckets */
384
+ totalPowerConsumptionDomesticHotWaterWh?: number;
385
+ /** Total thermal energy delivered for space heating in Watt-hours across all buckets */
386
+ totalHeatGenerationHeatingWh?: number;
387
+ /** Total thermal energy delivered for domestic hot water in Watt-hours across all buckets */
388
+ totalHeatGenerationDomesticHotWaterWh?: number;
389
+ }
345
390
  /**
346
391
  * A single entry in the temperature sensor timeseries.
347
392
  * Contains per-sensor average temperature readings for a single time bucket.
@@ -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.110';
12
+ exports.SDK_VERSION = '0.0.111';
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.110";
8
+ export declare const SDK_VERSION = "0.0.111";
9
9
  /**
10
10
  * Gets the current SDK version.
11
11
  * @returns The semantic version string of the SDK
@@ -1,4 +1,4 @@
1
- import { DataBusMessageQueryRequest, DataBusMessageQueryResponse, PvProductionTimeseriesRequest, PvProductionTimeseriesResponse, BatterySocTimeseriesRequest, BatterySocTimeseriesResponse, BatteryPowerTimeseriesRequest, BatteryPowerTimeseriesResponse, MeterValuesTimeseriesRequest, MeterValuesTimeseriesResponse, GridPowerTimeseriesRequest, GridPowerTimeseriesResponse, HomeConsumptionTimeseriesRequest, HomeConsumptionTimeseriesResponse, HeatpumpTemperatureTimeseriesRequest, HeatpumpTemperatureTimeseriesResponse, TemperatureSensorTimeseriesRequest, TemperatureSensorTimeseriesResponse, AirConditioningPowerTimeseriesRequest, AirConditioningPowerTimeseriesResponse, AirConditioningTemperatureTimeseriesRequest, AirConditioningTemperatureTimeseriesResponse } from "../types/enyo-timeseries.js";
1
+ import { DataBusMessageQueryRequest, DataBusMessageQueryResponse, PvProductionTimeseriesRequest, PvProductionTimeseriesResponse, BatterySocTimeseriesRequest, BatterySocTimeseriesResponse, BatteryPowerTimeseriesRequest, BatteryPowerTimeseriesResponse, MeterValuesTimeseriesRequest, MeterValuesTimeseriesResponse, GridPowerTimeseriesRequest, GridPowerTimeseriesResponse, HomeConsumptionTimeseriesRequest, HomeConsumptionTimeseriesResponse, HeatpumpTemperatureTimeseriesRequest, HeatpumpTemperatureTimeseriesResponse, HeatpumpPowerTimeseriesRequest, HeatpumpPowerTimeseriesResponse, TemperatureSensorTimeseriesRequest, TemperatureSensorTimeseriesResponse, AirConditioningPowerTimeseriesRequest, AirConditioningPowerTimeseriesResponse, AirConditioningTemperatureTimeseriesRequest, AirConditioningTemperatureTimeseriesResponse } from "../types/enyo-timeseries.js";
2
2
  /**
3
3
  * Interface for querying historical energy data with configurable bucket granularity.
4
4
  * Provides methods to retrieve aggregated timeseries data for various energy metrics
@@ -159,6 +159,33 @@ export interface EnergyAppTimeseries {
159
159
  * ```
160
160
  */
161
161
  getHeatpumpTemperatureTimeseries(request: HeatpumpTemperatureTimeseriesRequest): Promise<HeatpumpTemperatureTimeseriesResponse>;
162
+ /**
163
+ * Retrieves heatpump power timeseries data aggregated in time buckets.
164
+ * Returns time-weighted average electrical power (W) and cumulative
165
+ * electrical energy (Wh) for each bucket. When the heatpump reports them,
166
+ * also returns the split between space heating and domestic hot water for
167
+ * both electrical consumption and thermal energy delivered.
168
+ *
169
+ * Split fields are optional because not all heatpumps report meter values
170
+ * for the heating / domestic-hot-water categories.
171
+ *
172
+ * @param request - The query parameters including date range and optional appliance filter
173
+ * @returns Promise resolving to heatpump power entries with total electrical consumption
174
+ *
175
+ * @example
176
+ * ```typescript
177
+ * const response = await timeseries.getHeatpumpPowerTimeseries({
178
+ * startDateIso: '2024-01-01T00:00:00Z',
179
+ * endDateIso: '2024-01-02T00:00:00Z'
180
+ * });
181
+ * console.log(`Total heatpump consumption: ${response.totalHeatpumpPowerWh} Wh`);
182
+ * if (response.totalHeatGenerationHeatingWh && response.totalPowerConsumptionHeatingWh) {
183
+ * const cop = response.totalHeatGenerationHeatingWh / response.totalPowerConsumptionHeatingWh;
184
+ * console.log(`Heating COP: ${cop.toFixed(2)}`);
185
+ * }
186
+ * ```
187
+ */
188
+ getHeatpumpPowerTimeseries(request: HeatpumpPowerTimeseriesRequest): Promise<HeatpumpPowerTimeseriesResponse>;
162
189
  /**
163
190
  * Retrieves temperature sensor timeseries data aggregated in time buckets.
164
191
  * Returns per-sensor average temperature readings for each bucket, along with
@@ -342,6 +342,51 @@ export interface HeatpumpTemperatureTimeseriesResponse extends TimeseriesRespons
342
342
  /** Average buffer tank temperature in degrees Celsius across all buckets */
343
343
  averageBufferTankTemperatureC?: number;
344
344
  }
345
+ /**
346
+ * A single entry in the heatpump power timeseries.
347
+ * Contains electrical power and energy values, optional split between space
348
+ * heating and domestic hot water consumption, and optional thermal energy
349
+ * delivered (heat generation) for the same split, for a single time bucket.
350
+ */
351
+ export interface HeatpumpPowerTimeseriesEntry extends TimeseriesEntryBase {
352
+ /** Time-weighted average heatpump electrical power consumption in Watts for this bucket */
353
+ heatpumpPowerW: number;
354
+ /** Cumulative heatpump electrical energy consumption in Watt-hours for this bucket */
355
+ heatpumpPowerWh: number;
356
+ /** Electrical energy consumed for space heating in Watt-hours for this bucket */
357
+ powerConsumptionHeatingWh?: number;
358
+ /** Electrical energy consumed for domestic hot water in Watt-hours for this bucket */
359
+ powerConsumptionDomesticHotWaterWh?: number;
360
+ /** Thermal energy delivered for space heating in Watt-hours for this bucket */
361
+ heatGenerationHeatingWh?: number;
362
+ /** Thermal energy delivered for domestic hot water in Watt-hours for this bucket */
363
+ heatGenerationDomesticHotWaterWh?: number;
364
+ }
365
+ /**
366
+ * Request parameters for querying heatpump power timeseries data.
367
+ */
368
+ export interface HeatpumpPowerTimeseriesRequest extends TimeseriesRequestBase {
369
+ }
370
+ /**
371
+ * Response containing heatpump power timeseries data.
372
+ * Aggregated totals for the heating / domestic-hot-water splits and for
373
+ * heat generation are optional because not all heatpumps report meter values
374
+ * for every category.
375
+ */
376
+ export interface HeatpumpPowerTimeseriesResponse extends TimeseriesResponseBase {
377
+ /** Array of heatpump power entries, one per time bucket */
378
+ entries: HeatpumpPowerTimeseriesEntry[];
379
+ /** Total heatpump electrical energy consumption in Watt-hours across all buckets */
380
+ totalHeatpumpPowerWh: number;
381
+ /** Total electrical energy consumed for space heating in Watt-hours across all buckets */
382
+ totalPowerConsumptionHeatingWh?: number;
383
+ /** Total electrical energy consumed for domestic hot water in Watt-hours across all buckets */
384
+ totalPowerConsumptionDomesticHotWaterWh?: number;
385
+ /** Total thermal energy delivered for space heating in Watt-hours across all buckets */
386
+ totalHeatGenerationHeatingWh?: number;
387
+ /** Total thermal energy delivered for domestic hot water in Watt-hours across all buckets */
388
+ totalHeatGenerationDomesticHotWaterWh?: number;
389
+ }
345
390
  /**
346
391
  * A single entry in the temperature sensor timeseries.
347
392
  * Contains per-sensor average temperature readings for a single time bucket.
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.110";
8
+ export declare const SDK_VERSION = "0.0.111";
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.110';
8
+ export const SDK_VERSION = '0.0.111';
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.110",
3
+ "version": "0.0.111",
4
4
  "description": "enyo Energy App SDK",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",