@enyo-energy/energy-app-sdk 0.0.70 → 0.0.72

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.
@@ -11,4 +11,5 @@ var EnergyAppApplianceTypeEnum;
11
11
  EnergyAppApplianceTypeEnum["EnergyManagement"] = "energy-management";
12
12
  EnergyAppApplianceTypeEnum["BatteryStorage"] = "battery-storage";
13
13
  EnergyAppApplianceTypeEnum["ClimateControl"] = "climate-control";
14
+ EnergyAppApplianceTypeEnum["TemperatureSensor"] = "temperature-sensor";
14
15
  })(EnergyAppApplianceTypeEnum || (exports.EnergyAppApplianceTypeEnum = EnergyAppApplianceTypeEnum = {}));
@@ -6,5 +6,6 @@ export declare enum EnergyAppApplianceTypeEnum {
6
6
  HeatPump = "heat-pump",
7
7
  EnergyManagement = "energy-management",
8
8
  BatteryStorage = "battery-storage",
9
- ClimateControl = "climate-control"
9
+ ClimateControl = "climate-control",
10
+ TemperatureSensor = "temperature-sensor"
10
11
  }
@@ -83,6 +83,7 @@ class ApplianceManager {
83
83
  battery: appliance.battery,
84
84
  charger: appliance.charger,
85
85
  inverter: appliance.inverter,
86
+ temperatureSensor: appliance.temperatureSensor,
86
87
  };
87
88
  // Save appliance
88
89
  const applianceId = await this.energyApp.useAppliances().save(applianceData, existingApplianceId);
@@ -6,6 +6,7 @@ import type { EnyoHeatpumpApplianceMetadata } from "../../types/enyo-heatpump-ap
6
6
  import type { EnyoBatteryApplianceMetadata } from "../../types/enyo-battery-appliance.cjs";
7
7
  import type { EnyoInverterApplianceMetadata } from "../../types/enyo-inverter-appliance.cjs";
8
8
  import type { EnyoMeterAppliance } from "../../types/enyo-meter-appliance.cjs";
9
+ import type { EnyoTemperatureSensorApplianceMetadata } from "../../types/enyo-temperature-sensor-appliance.cjs";
9
10
  import { IdentifierStrategy } from "./identifier-strategies.cjs";
10
11
  /**
11
12
  * Configuration for creating or updating an appliance.
@@ -27,6 +28,7 @@ export interface ApplianceConfig {
27
28
  charger?: EnyoChargerApplianceMetadata;
28
29
  heatpump?: EnyoHeatpumpApplianceMetadata;
29
30
  battery?: EnyoBatteryApplianceMetadata;
31
+ temperatureSensor?: EnyoTemperatureSensorApplianceMetadata;
30
32
  }
31
33
  /**
32
34
  * Configuration options for the ApplianceManager.
@@ -12,4 +12,6 @@ export interface EnergyAppCharge {
12
12
  getById: (id: string) => Promise<EnyoCharge | null>;
13
13
  /** to find the currently active charge */
14
14
  findActiveCharge: (applianceId: string) => Promise<EnyoCharge | null>;
15
+ /** Find the currently active charge by appliance ID and transaction ID */
16
+ findActiveChargeByTransactionId: (applianceId: string, transactionId: string) => Promise<EnyoCharge | null>;
15
17
  }
@@ -8,6 +8,7 @@ var EnyoApplianceTypeEnum;
8
8
  EnyoApplianceTypeEnum["Storage"] = "Storage";
9
9
  EnyoApplianceTypeEnum["Meter"] = "Meter";
10
10
  EnyoApplianceTypeEnum["Heatpump"] = "Heatpump";
11
+ EnyoApplianceTypeEnum["TemperatureSensor"] = "TemperatureSensor";
11
12
  })(EnyoApplianceTypeEnum || (exports.EnyoApplianceTypeEnum = EnyoApplianceTypeEnum = {}));
12
13
  var EnyoApplianceStateEnum;
13
14
  (function (EnyoApplianceStateEnum) {
@@ -4,12 +4,14 @@ import { EnyoHeatpumpApplianceMetadata } from "./enyo-heatpump-appliance.cjs";
4
4
  import { EnyoBatteryApplianceMetadata } from "./enyo-battery-appliance.cjs";
5
5
  import { EnyoInverterApplianceMetadata } from "./enyo-inverter-appliance.cjs";
6
6
  import { EnyoMeterAppliance } from "./enyo-meter-appliance.cjs";
7
+ import { EnyoTemperatureSensorApplianceMetadata } from "./enyo-temperature-sensor-appliance.cjs";
7
8
  export declare enum EnyoApplianceTypeEnum {
8
9
  Inverter = "Inverter",
9
10
  Charger = "Charger",
10
11
  Storage = "Storage",
11
12
  Meter = "Meter",
12
- Heatpump = "Heatpump"
13
+ Heatpump = "Heatpump",
14
+ TemperatureSensor = "TemperatureSensor"
13
15
  }
14
16
  export interface EnyoApplianceName {
15
17
  language: EnergyAppPackageLanguage;
@@ -25,6 +27,11 @@ export interface EnyoApplianceNetworkMetadata {
25
27
  /** If the appliance is connected via cellular network, you can put the imsi here*/
26
28
  imsi?: string;
27
29
  }
30
+ /** Modbus connection metadata for the appliance */
31
+ export interface EnyoApplianceModbusMetadata {
32
+ /** The Modbus unit identifier for addressing the appliance */
33
+ unitId: number;
34
+ }
28
35
  export declare enum EnyoApplianceConnectionType {
29
36
  Connector = "Connector",
30
37
  Cloud = "Cloud"
@@ -37,6 +44,7 @@ export interface EnyoApplianceMetadata {
37
44
  hostname?: string;
38
45
  state?: EnyoApplianceStateEnum;
39
46
  network?: EnyoApplianceNetworkMetadata;
47
+ modbus?: EnyoApplianceModbusMetadata;
40
48
  connectionType: EnyoApplianceConnectionType;
41
49
  }
42
50
  export declare enum EnyoApplianceTopologyFeatureEnum {
@@ -80,4 +88,6 @@ export interface EnyoAppliance {
80
88
  heatpump?: EnyoHeatpumpApplianceMetadata;
81
89
  /** Optional Metadata of the Appliance if of type Battery */
82
90
  battery?: EnyoBatteryApplianceMetadata;
91
+ /** Optional Metadata of the Appliance if of type TemperatureSensor */
92
+ temperatureSensor?: EnyoTemperatureSensorApplianceMetadata;
83
93
  }
@@ -113,6 +113,8 @@ var EnyoDataBusMessageEnum;
113
113
  EnyoDataBusMessageEnum["SetStorageDischargeLimitV1"] = "SetStorageDischargeLimitV1";
114
114
  EnyoDataBusMessageEnum["SetInverterFeedInLimitV1"] = "SetInverterFeedInLimitV1";
115
115
  EnyoDataBusMessageEnum["CommandAcknowledgeV1"] = "CommandAcknowledgeV1";
116
+ EnyoDataBusMessageEnum["TemperatureSensorValuesUpdateV1"] = "TemperatureSensorValuesUpdateV1";
117
+ EnyoDataBusMessageEnum["HeatpumpTemperaturesUpdateV1"] = "HeatpumpTemperaturesUpdateV1";
116
118
  })(EnyoDataBusMessageEnum || (exports.EnyoDataBusMessageEnum = EnyoDataBusMessageEnum = {}));
117
119
  /**
118
120
  * Possible answers an appliance can give when acknowledging a command.
@@ -104,21 +104,6 @@ export interface EnyoAggregatedStateApplianceValues {
104
104
  kWh?: number;
105
105
  availableUntilIsoTimestamp?: string;
106
106
  };
107
- outdoorTemperatureC?: number;
108
- heatpumpFlowTemperatureC?: number;
109
- domesticHotWater?: {
110
- index: number;
111
- targetTemperatureC: number;
112
- temperatureC: number;
113
- }[];
114
- heatingCircuits?: {
115
- index: number;
116
- targetTemperatureC: number;
117
- temperatureC: number;
118
- }[];
119
- bufferTank?: {
120
- temperatureC: number;
121
- };
122
107
  }
123
108
  export declare enum EnyoDataBusMessageEnum {
124
109
  InverterValuesUpdateV1 = "InverterValuesUpdateV1",
@@ -147,7 +132,9 @@ export declare enum EnyoDataBusMessageEnum {
147
132
  StopStorageGridChargeV1 = "StopStorageGridChargeV1",
148
133
  SetStorageDischargeLimitV1 = "SetStorageDischargeLimitV1",
149
134
  SetInverterFeedInLimitV1 = "SetInverterFeedInLimitV1",
150
- CommandAcknowledgeV1 = "CommandAcknowledgeV1"
135
+ CommandAcknowledgeV1 = "CommandAcknowledgeV1",
136
+ TemperatureSensorValuesUpdateV1 = "TemperatureSensorValuesUpdateV1",
137
+ HeatpumpTemperaturesUpdateV1 = "HeatpumpTemperaturesUpdateV1"
151
138
  }
152
139
  export type EnyoDataBusMessageResolution = '10s' | '30s' | '1m' | '15m' | '1h' | '1d' | 'dynamic';
153
140
  export interface EnyoDataBusMessage {
@@ -202,25 +189,6 @@ export interface EnyoDataBusHeatpumpValuesV1 extends EnyoDataBusMessage {
202
189
  /** Power generation for domestic hot water in Wh (meter value)*/
203
190
  heatGenerationDomesticHotWaterWh?: number;
204
191
  };
205
- temperatures?: {
206
- outdoorTemperatureC?: number;
207
- /** The current temperature of the domestic hot water tank */
208
- domesticHotWater?: {
209
- index: number;
210
- targetTemperatureC: number;
211
- temperatureC: number;
212
- }[];
213
- /** The current flow temperature of the heatpump */
214
- heatpumpFlowTemperatureC?: number;
215
- heatingCircuits?: {
216
- index: number;
217
- targetTemperatureC: number;
218
- temperatureC: number;
219
- }[];
220
- bufferTank?: {
221
- temperatureC: number;
222
- };
223
- };
224
192
  };
225
193
  }
226
194
  export interface EnyoDataBusBatteryValuesUpdateV1 extends EnyoDataBusMessage {
@@ -708,3 +676,68 @@ export interface EnyoDataBusCommandAcknowledgeV1 extends EnyoDataBusMessage {
708
676
  rejectionReason?: string;
709
677
  };
710
678
  }
679
+ /**
680
+ * A single temperature sensor reading within a temperature sensor values update.
681
+ */
682
+ export interface EnyoTemperatureSensorValue {
683
+ /** Unique sensor identifier */
684
+ id: string;
685
+ /** Current temperature in Celsius */
686
+ temperatureC: number;
687
+ /** Optional target temperature in Celsius */
688
+ targetTemperatureC?: number;
689
+ }
690
+ /**
691
+ * Data bus message for reporting temperature sensor values.
692
+ * Contains an array of sensor readings from a temperature sensor appliance.
693
+ */
694
+ export interface EnyoDataBusTemperatureSensorValuesV1 extends EnyoDataBusMessage {
695
+ type: 'message';
696
+ message: EnyoDataBusMessageEnum.TemperatureSensorValuesUpdateV1;
697
+ /** ID of the temperature sensor appliance that delivered these values */
698
+ applianceId: string;
699
+ data: {
700
+ /** Array of temperature sensor readings */
701
+ sensors: EnyoTemperatureSensorValue[];
702
+ };
703
+ }
704
+ /**
705
+ * Data bus message for reporting heatpump-specific temperature values.
706
+ * Contains outdoor temperature, domestic hot water temperatures, flow temperature,
707
+ * heating circuit temperatures, and buffer tank temperature from a heatpump appliance.
708
+ */
709
+ export interface EnyoDataBusHeatpumpTemperaturesV1 extends EnyoDataBusMessage {
710
+ type: 'message';
711
+ message: EnyoDataBusMessageEnum.HeatpumpTemperaturesUpdateV1;
712
+ /** ID of the heatpump appliance that delivered these temperature values */
713
+ applianceId: string;
714
+ data: {
715
+ /** Outdoor temperature in Celsius */
716
+ outdoorTemperatureC?: number;
717
+ /** Domestic hot water tank temperatures */
718
+ domesticHotWater?: {
719
+ /** Index of the domestic hot water tank */
720
+ index: number;
721
+ /** Target temperature in Celsius */
722
+ targetTemperatureC: number;
723
+ /** Current temperature in Celsius */
724
+ temperatureC: number;
725
+ }[];
726
+ /** Heatpump flow temperature in Celsius */
727
+ heatpumpFlowTemperatureC?: number;
728
+ /** Heating circuit temperatures */
729
+ heatingCircuits?: {
730
+ /** Index of the heating circuit */
731
+ index: number;
732
+ /** Target temperature in Celsius */
733
+ targetTemperatureC: number;
734
+ /** Current temperature in Celsius */
735
+ temperatureC: number;
736
+ }[];
737
+ /** Buffer tank temperature */
738
+ bufferTank?: {
739
+ /** Current buffer tank temperature in Celsius */
740
+ temperatureC: number;
741
+ };
742
+ };
743
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnyoTemperatureSensorTypeEnum = void 0;
4
+ /**
5
+ * Enum representing the type classification of a temperature sensor.
6
+ */
7
+ var EnyoTemperatureSensorTypeEnum;
8
+ (function (EnyoTemperatureSensorTypeEnum) {
9
+ /** Outdoor ambient temperature sensor */
10
+ EnyoTemperatureSensorTypeEnum["Outdoor"] = "Outdoor";
11
+ /** Room temperature sensor */
12
+ EnyoTemperatureSensorTypeEnum["Room"] = "Room";
13
+ /** Other/unclassified temperature sensor */
14
+ EnyoTemperatureSensorTypeEnum["Other"] = "Other";
15
+ })(EnyoTemperatureSensorTypeEnum || (exports.EnyoTemperatureSensorTypeEnum = EnyoTemperatureSensorTypeEnum = {}));
@@ -0,0 +1,33 @@
1
+ import { EnergyAppPackageLanguage } from "../energy-app-package-definition.cjs";
2
+ /**
3
+ * Enum representing the type classification of a temperature sensor.
4
+ */
5
+ export declare enum EnyoTemperatureSensorTypeEnum {
6
+ /** Outdoor ambient temperature sensor */
7
+ Outdoor = "Outdoor",
8
+ /** Room temperature sensor */
9
+ Room = "Room",
10
+ /** Other/unclassified temperature sensor */
11
+ Other = "Other"
12
+ }
13
+ export interface EnyoApplianceSensorName {
14
+ language: EnergyAppPackageLanguage;
15
+ name: string;
16
+ }
17
+ /**
18
+ * Represents a single temperature sensor definition within an appliance.
19
+ */
20
+ export interface EnyoTemperatureSensor {
21
+ /** Unique identifier for the sensor */
22
+ id: string;
23
+ name: EnyoApplianceSensorName[];
24
+ /** Optional type classification of the sensor */
25
+ type?: EnyoTemperatureSensorTypeEnum;
26
+ }
27
+ /**
28
+ * Metadata for a temperature sensor appliance, containing the list of sensors it manages.
29
+ */
30
+ export interface EnyoTemperatureSensorApplianceMetadata {
31
+ /** Array of sensor definitions managed by this appliance */
32
+ sensors: EnyoTemperatureSensor[];
33
+ }
@@ -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.70';
12
+ exports.SDK_VERSION = '0.0.72';
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.70";
8
+ export declare const SDK_VERSION = "0.0.72";
9
9
  /**
10
10
  * Gets the current SDK version.
11
11
  * @returns The semantic version string of the SDK
@@ -6,5 +6,6 @@ export declare enum EnergyAppApplianceTypeEnum {
6
6
  HeatPump = "heat-pump",
7
7
  EnergyManagement = "energy-management",
8
8
  BatteryStorage = "battery-storage",
9
- ClimateControl = "climate-control"
9
+ ClimateControl = "climate-control",
10
+ TemperatureSensor = "temperature-sensor"
10
11
  }
@@ -8,4 +8,5 @@ export var EnergyAppApplianceTypeEnum;
8
8
  EnergyAppApplianceTypeEnum["EnergyManagement"] = "energy-management";
9
9
  EnergyAppApplianceTypeEnum["BatteryStorage"] = "battery-storage";
10
10
  EnergyAppApplianceTypeEnum["ClimateControl"] = "climate-control";
11
+ EnergyAppApplianceTypeEnum["TemperatureSensor"] = "temperature-sensor";
11
12
  })(EnergyAppApplianceTypeEnum || (EnergyAppApplianceTypeEnum = {}));
@@ -6,6 +6,7 @@ import type { EnyoHeatpumpApplianceMetadata } from "../../types/enyo-heatpump-ap
6
6
  import type { EnyoBatteryApplianceMetadata } from "../../types/enyo-battery-appliance.js";
7
7
  import type { EnyoInverterApplianceMetadata } from "../../types/enyo-inverter-appliance.js";
8
8
  import type { EnyoMeterAppliance } from "../../types/enyo-meter-appliance.js";
9
+ import type { EnyoTemperatureSensorApplianceMetadata } from "../../types/enyo-temperature-sensor-appliance.js";
9
10
  import { IdentifierStrategy } from "./identifier-strategies.js";
10
11
  /**
11
12
  * Configuration for creating or updating an appliance.
@@ -27,6 +28,7 @@ export interface ApplianceConfig {
27
28
  charger?: EnyoChargerApplianceMetadata;
28
29
  heatpump?: EnyoHeatpumpApplianceMetadata;
29
30
  battery?: EnyoBatteryApplianceMetadata;
31
+ temperatureSensor?: EnyoTemperatureSensorApplianceMetadata;
30
32
  }
31
33
  /**
32
34
  * Configuration options for the ApplianceManager.
@@ -80,6 +80,7 @@ export class ApplianceManager {
80
80
  battery: appliance.battery,
81
81
  charger: appliance.charger,
82
82
  inverter: appliance.inverter,
83
+ temperatureSensor: appliance.temperatureSensor,
83
84
  };
84
85
  // Save appliance
85
86
  const applianceId = await this.energyApp.useAppliances().save(applianceData, existingApplianceId);
@@ -12,4 +12,6 @@ export interface EnergyAppCharge {
12
12
  getById: (id: string) => Promise<EnyoCharge | null>;
13
13
  /** to find the currently active charge */
14
14
  findActiveCharge: (applianceId: string) => Promise<EnyoCharge | null>;
15
+ /** Find the currently active charge by appliance ID and transaction ID */
16
+ findActiveChargeByTransactionId: (applianceId: string, transactionId: string) => Promise<EnyoCharge | null>;
15
17
  }
@@ -4,12 +4,14 @@ import { EnyoHeatpumpApplianceMetadata } from "./enyo-heatpump-appliance.js";
4
4
  import { EnyoBatteryApplianceMetadata } from "./enyo-battery-appliance.js";
5
5
  import { EnyoInverterApplianceMetadata } from "./enyo-inverter-appliance.js";
6
6
  import { EnyoMeterAppliance } from "./enyo-meter-appliance.js";
7
+ import { EnyoTemperatureSensorApplianceMetadata } from "./enyo-temperature-sensor-appliance.js";
7
8
  export declare enum EnyoApplianceTypeEnum {
8
9
  Inverter = "Inverter",
9
10
  Charger = "Charger",
10
11
  Storage = "Storage",
11
12
  Meter = "Meter",
12
- Heatpump = "Heatpump"
13
+ Heatpump = "Heatpump",
14
+ TemperatureSensor = "TemperatureSensor"
13
15
  }
14
16
  export interface EnyoApplianceName {
15
17
  language: EnergyAppPackageLanguage;
@@ -25,6 +27,11 @@ export interface EnyoApplianceNetworkMetadata {
25
27
  /** If the appliance is connected via cellular network, you can put the imsi here*/
26
28
  imsi?: string;
27
29
  }
30
+ /** Modbus connection metadata for the appliance */
31
+ export interface EnyoApplianceModbusMetadata {
32
+ /** The Modbus unit identifier for addressing the appliance */
33
+ unitId: number;
34
+ }
28
35
  export declare enum EnyoApplianceConnectionType {
29
36
  Connector = "Connector",
30
37
  Cloud = "Cloud"
@@ -37,6 +44,7 @@ export interface EnyoApplianceMetadata {
37
44
  hostname?: string;
38
45
  state?: EnyoApplianceStateEnum;
39
46
  network?: EnyoApplianceNetworkMetadata;
47
+ modbus?: EnyoApplianceModbusMetadata;
40
48
  connectionType: EnyoApplianceConnectionType;
41
49
  }
42
50
  export declare enum EnyoApplianceTopologyFeatureEnum {
@@ -80,4 +88,6 @@ export interface EnyoAppliance {
80
88
  heatpump?: EnyoHeatpumpApplianceMetadata;
81
89
  /** Optional Metadata of the Appliance if of type Battery */
82
90
  battery?: EnyoBatteryApplianceMetadata;
91
+ /** Optional Metadata of the Appliance if of type TemperatureSensor */
92
+ temperatureSensor?: EnyoTemperatureSensorApplianceMetadata;
83
93
  }
@@ -5,6 +5,7 @@ export var EnyoApplianceTypeEnum;
5
5
  EnyoApplianceTypeEnum["Storage"] = "Storage";
6
6
  EnyoApplianceTypeEnum["Meter"] = "Meter";
7
7
  EnyoApplianceTypeEnum["Heatpump"] = "Heatpump";
8
+ EnyoApplianceTypeEnum["TemperatureSensor"] = "TemperatureSensor";
8
9
  })(EnyoApplianceTypeEnum || (EnyoApplianceTypeEnum = {}));
9
10
  export var EnyoApplianceStateEnum;
10
11
  (function (EnyoApplianceStateEnum) {
@@ -104,21 +104,6 @@ export interface EnyoAggregatedStateApplianceValues {
104
104
  kWh?: number;
105
105
  availableUntilIsoTimestamp?: string;
106
106
  };
107
- outdoorTemperatureC?: number;
108
- heatpumpFlowTemperatureC?: number;
109
- domesticHotWater?: {
110
- index: number;
111
- targetTemperatureC: number;
112
- temperatureC: number;
113
- }[];
114
- heatingCircuits?: {
115
- index: number;
116
- targetTemperatureC: number;
117
- temperatureC: number;
118
- }[];
119
- bufferTank?: {
120
- temperatureC: number;
121
- };
122
107
  }
123
108
  export declare enum EnyoDataBusMessageEnum {
124
109
  InverterValuesUpdateV1 = "InverterValuesUpdateV1",
@@ -147,7 +132,9 @@ export declare enum EnyoDataBusMessageEnum {
147
132
  StopStorageGridChargeV1 = "StopStorageGridChargeV1",
148
133
  SetStorageDischargeLimitV1 = "SetStorageDischargeLimitV1",
149
134
  SetInverterFeedInLimitV1 = "SetInverterFeedInLimitV1",
150
- CommandAcknowledgeV1 = "CommandAcknowledgeV1"
135
+ CommandAcknowledgeV1 = "CommandAcknowledgeV1",
136
+ TemperatureSensorValuesUpdateV1 = "TemperatureSensorValuesUpdateV1",
137
+ HeatpumpTemperaturesUpdateV1 = "HeatpumpTemperaturesUpdateV1"
151
138
  }
152
139
  export type EnyoDataBusMessageResolution = '10s' | '30s' | '1m' | '15m' | '1h' | '1d' | 'dynamic';
153
140
  export interface EnyoDataBusMessage {
@@ -202,25 +189,6 @@ export interface EnyoDataBusHeatpumpValuesV1 extends EnyoDataBusMessage {
202
189
  /** Power generation for domestic hot water in Wh (meter value)*/
203
190
  heatGenerationDomesticHotWaterWh?: number;
204
191
  };
205
- temperatures?: {
206
- outdoorTemperatureC?: number;
207
- /** The current temperature of the domestic hot water tank */
208
- domesticHotWater?: {
209
- index: number;
210
- targetTemperatureC: number;
211
- temperatureC: number;
212
- }[];
213
- /** The current flow temperature of the heatpump */
214
- heatpumpFlowTemperatureC?: number;
215
- heatingCircuits?: {
216
- index: number;
217
- targetTemperatureC: number;
218
- temperatureC: number;
219
- }[];
220
- bufferTank?: {
221
- temperatureC: number;
222
- };
223
- };
224
192
  };
225
193
  }
226
194
  export interface EnyoDataBusBatteryValuesUpdateV1 extends EnyoDataBusMessage {
@@ -708,3 +676,68 @@ export interface EnyoDataBusCommandAcknowledgeV1 extends EnyoDataBusMessage {
708
676
  rejectionReason?: string;
709
677
  };
710
678
  }
679
+ /**
680
+ * A single temperature sensor reading within a temperature sensor values update.
681
+ */
682
+ export interface EnyoTemperatureSensorValue {
683
+ /** Unique sensor identifier */
684
+ id: string;
685
+ /** Current temperature in Celsius */
686
+ temperatureC: number;
687
+ /** Optional target temperature in Celsius */
688
+ targetTemperatureC?: number;
689
+ }
690
+ /**
691
+ * Data bus message for reporting temperature sensor values.
692
+ * Contains an array of sensor readings from a temperature sensor appliance.
693
+ */
694
+ export interface EnyoDataBusTemperatureSensorValuesV1 extends EnyoDataBusMessage {
695
+ type: 'message';
696
+ message: EnyoDataBusMessageEnum.TemperatureSensorValuesUpdateV1;
697
+ /** ID of the temperature sensor appliance that delivered these values */
698
+ applianceId: string;
699
+ data: {
700
+ /** Array of temperature sensor readings */
701
+ sensors: EnyoTemperatureSensorValue[];
702
+ };
703
+ }
704
+ /**
705
+ * Data bus message for reporting heatpump-specific temperature values.
706
+ * Contains outdoor temperature, domestic hot water temperatures, flow temperature,
707
+ * heating circuit temperatures, and buffer tank temperature from a heatpump appliance.
708
+ */
709
+ export interface EnyoDataBusHeatpumpTemperaturesV1 extends EnyoDataBusMessage {
710
+ type: 'message';
711
+ message: EnyoDataBusMessageEnum.HeatpumpTemperaturesUpdateV1;
712
+ /** ID of the heatpump appliance that delivered these temperature values */
713
+ applianceId: string;
714
+ data: {
715
+ /** Outdoor temperature in Celsius */
716
+ outdoorTemperatureC?: number;
717
+ /** Domestic hot water tank temperatures */
718
+ domesticHotWater?: {
719
+ /** Index of the domestic hot water tank */
720
+ index: number;
721
+ /** Target temperature in Celsius */
722
+ targetTemperatureC: number;
723
+ /** Current temperature in Celsius */
724
+ temperatureC: number;
725
+ }[];
726
+ /** Heatpump flow temperature in Celsius */
727
+ heatpumpFlowTemperatureC?: number;
728
+ /** Heating circuit temperatures */
729
+ heatingCircuits?: {
730
+ /** Index of the heating circuit */
731
+ index: number;
732
+ /** Target temperature in Celsius */
733
+ targetTemperatureC: number;
734
+ /** Current temperature in Celsius */
735
+ temperatureC: number;
736
+ }[];
737
+ /** Buffer tank temperature */
738
+ bufferTank?: {
739
+ /** Current buffer tank temperature in Celsius */
740
+ temperatureC: number;
741
+ };
742
+ };
743
+ }
@@ -110,6 +110,8 @@ export var EnyoDataBusMessageEnum;
110
110
  EnyoDataBusMessageEnum["SetStorageDischargeLimitV1"] = "SetStorageDischargeLimitV1";
111
111
  EnyoDataBusMessageEnum["SetInverterFeedInLimitV1"] = "SetInverterFeedInLimitV1";
112
112
  EnyoDataBusMessageEnum["CommandAcknowledgeV1"] = "CommandAcknowledgeV1";
113
+ EnyoDataBusMessageEnum["TemperatureSensorValuesUpdateV1"] = "TemperatureSensorValuesUpdateV1";
114
+ EnyoDataBusMessageEnum["HeatpumpTemperaturesUpdateV1"] = "HeatpumpTemperaturesUpdateV1";
113
115
  })(EnyoDataBusMessageEnum || (EnyoDataBusMessageEnum = {}));
114
116
  /**
115
117
  * Possible answers an appliance can give when acknowledging a command.
@@ -0,0 +1,33 @@
1
+ import { EnergyAppPackageLanguage } from "../energy-app-package-definition.js";
2
+ /**
3
+ * Enum representing the type classification of a temperature sensor.
4
+ */
5
+ export declare enum EnyoTemperatureSensorTypeEnum {
6
+ /** Outdoor ambient temperature sensor */
7
+ Outdoor = "Outdoor",
8
+ /** Room temperature sensor */
9
+ Room = "Room",
10
+ /** Other/unclassified temperature sensor */
11
+ Other = "Other"
12
+ }
13
+ export interface EnyoApplianceSensorName {
14
+ language: EnergyAppPackageLanguage;
15
+ name: string;
16
+ }
17
+ /**
18
+ * Represents a single temperature sensor definition within an appliance.
19
+ */
20
+ export interface EnyoTemperatureSensor {
21
+ /** Unique identifier for the sensor */
22
+ id: string;
23
+ name: EnyoApplianceSensorName[];
24
+ /** Optional type classification of the sensor */
25
+ type?: EnyoTemperatureSensorTypeEnum;
26
+ }
27
+ /**
28
+ * Metadata for a temperature sensor appliance, containing the list of sensors it manages.
29
+ */
30
+ export interface EnyoTemperatureSensorApplianceMetadata {
31
+ /** Array of sensor definitions managed by this appliance */
32
+ sensors: EnyoTemperatureSensor[];
33
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Enum representing the type classification of a temperature sensor.
3
+ */
4
+ export var EnyoTemperatureSensorTypeEnum;
5
+ (function (EnyoTemperatureSensorTypeEnum) {
6
+ /** Outdoor ambient temperature sensor */
7
+ EnyoTemperatureSensorTypeEnum["Outdoor"] = "Outdoor";
8
+ /** Room temperature sensor */
9
+ EnyoTemperatureSensorTypeEnum["Room"] = "Room";
10
+ /** Other/unclassified temperature sensor */
11
+ EnyoTemperatureSensorTypeEnum["Other"] = "Other";
12
+ })(EnyoTemperatureSensorTypeEnum || (EnyoTemperatureSensorTypeEnum = {}));
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.70";
8
+ export declare const SDK_VERSION = "0.0.72";
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.70';
8
+ export const SDK_VERSION = '0.0.72';
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.70",
3
+ "version": "0.0.72",
4
4
  "description": "enyo Energy App SDK",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",