diff --git a/build/index.d.ts b/build/index.d.ts index e440126..3ebeb5c 100644 --- a/build/index.d.ts +++ b/build/index.d.ts @@ -8,6 +8,7 @@ import { Country, DefaultOverlay, Device, + EnergyIQConsumptionDetails, EnergyIQMeterReadings, EnergyIQOverview, EnergyIQTariff, @@ -188,6 +189,11 @@ export declare class Tado { setChildlock(serial_no: string, child_lock: boolean): Promise; getAirComfort(home_id: number): Promise; getAirComfortDetailed(home_id: number): Promise; + EnergyIQConsumptionDetails( + home_id: number, + month: number, + year: number, + ): Promise; getEnergyIQOverview(home_id: number, month: number, year: number): Promise; getEnergyIQTariff(home_id: number): Promise; addEnergyIQTariff( diff --git a/build/index.js b/build/index.js index 46c437f..16a56a0 100644 --- a/build/index.js +++ b/build/index.js @@ -508,6 +508,12 @@ class Tado { const location = `latitude=${home.geolocation.latitude}&longitude=${home.geolocation.longitude}`; return this.apiCall(`https://acme.tado.com/v1/homes/${home_id}/airComfort?${location}`); } + async EnergyIQConsumptionDetails(home_id, month, year) { + const date = `${year}-${month.toString().padStart(2, "0")}`; + return this.apiCall( + `https://energy-insights.tado.com/api/homes/${home_id}/consumptionDetails?month=${date}`, + ); + } async getEnergyIQOverview(home_id, month, year) { const home = await this.getHome(home_id); const country = home.address.country; diff --git a/build/index.js.map b/build/index.js.map index 3e2c985..80336c1 100644 --- a/build/index.js.map +++ b/build/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/build/types/index.d.ts b/build/types/index.d.ts index 962b525..61bbde2 100644 --- a/build/types/index.d.ts +++ b/build/types/index.d.ts @@ -531,6 +531,24 @@ export type EnergyIQOverview = { }; ecogaz: unknown; }; +export type EnergyIQConsumptionDetailsSummary = { + costInCents: number; + costForecastInCents: number; + averageDailyCostInCents: number; + consumption: number; + consumptionForecast: number; + averageDailyConsumption: number; + unit: IQUnit; + tariff: { + unit: IQUnit; + unitPriceInCents: number; + }; +}; +export type EnergyIQConsumptionDetails = { + isInPreferredUnit: boolean; + summary: EnergyIQConsumptionDetailsSummary; + graphConsumption: EnergyIQOverview; +}; export type EnergyIQMeterReading = { id: string; homeId: number; diff --git a/src/index.ts b/src/index.ts index 67dc12e..b5a7395 100644 --- a/src/index.ts +++ b/src/index.ts @@ -11,6 +11,7 @@ import { DeepPartial, DefaultOverlay, Device, + EnergyIQConsumptionDetails, EnergyIQMeterReadings, EnergyIQOverview, EnergyIQTariff, @@ -662,6 +663,17 @@ export class Tado { return this.apiCall(`https://acme.tado.com/v1/homes/${home_id}/airComfort?${location}`); } + async EnergyIQConsumptionDetails( + home_id: number, + month: number, + year: number, + ): Promise { + const date = `${year}-${month.toString().padStart(2, "0")}`; + return this.apiCall( + `https://energy-insights.tado.com/api/homes/${home_id}/consumptionDetails?month=${date}`, + ); + } + async getEnergyIQOverview( home_id: number, month: number, diff --git a/src/types/index.ts b/src/types/index.ts index 06e15a6..3b910b3 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -592,6 +592,23 @@ export type EnergyIQOverview = { ecogaz: unknown; }; +export type EnergyIQConsumptionDetailsSummary = { + costInCents: number; + costForecastInCents: number; + averageDailyCostInCents: number; + consumption: number; + consumptionForecast: number; + averageDailyConsumption: number; + unit: IQUnit; + tariff: { unit: IQUnit; unitPriceInCents: number }; +}; + +export type EnergyIQConsumptionDetails = { + isInPreferredUnit: boolean; + summary: EnergyIQConsumptionDetailsSummary; + graphConsumption: EnergyIQOverview; +}; + export type EnergyIQMeterReading = { id: string; homeId: number; diff --git a/test/index.test.js b/test/index.test.js index 65b70ba..7a2b77a 100644 --- a/test/index.test.js +++ b/test/index.test.js @@ -23,6 +23,7 @@ const away_configuration_response = require("./response.away"); const timetable_response = require("./response.timetable"); const zone_overlay_response = require("./response.zone.overlay"); const eneryIQOverview_response = require("./response.energyIQOverview"); +const eneryIQConsumptionDetails_response = require("./response.energyIQConsumptionDetails"); const eneryIQ_tariff_response = require("./response.eneryIQ.tariff"); const eneryIQ_meter_readings_response = require("./response.eneryIQ.meterReadings"); const eneryIQ_savings_response = require("./response.eneryIQ.savings"); @@ -613,6 +614,22 @@ describe("High-level API tests", () => { .catch(done); }); + it("Should get getEnergyIQConsumptionDetails", (done) => { + nock("https://energy-insights.tado.com") + .get("/api/homes/1907/consumptionDetails?month=2024-10") + .reply(200, eneryIQConsumptionDetails_response); + + tado + .EnergyIQConsumptionDetails("1907", 10, 2024) + .then((response) => { + expect(typeof response).to.equal("object"); + expect(response.summary.averageDailyCostInCents).to.equal(164.7665); + expect(response.graphConsumption).to.deep.equal(eneryIQOverview_response); + done(); + }) + .catch(done); + }); + it("Should get energyIQ Tariff", (done) => { nock("https://energy-insights.tado.com") .get("/api/homes/1907/tariffs") diff --git a/test/response.energyIQConsumptionDetails.js b/test/response.energyIQConsumptionDetails.js new file mode 100644 index 0000000..f127810 --- /dev/null +++ b/test/response.energyIQConsumptionDetails.js @@ -0,0 +1,611 @@ +module.exports = { + isInPreferredUnit: true, + summary: { + costInCents: 3295.33, + costForecastInCents: 4635.53, + averageDailyCostInCents: 164.7665, + consumption: 347.2427, + consumptionForecast: 488.465, + averageDailyConsumption: 17.362135000000002, + unit: "kWh", + tariff: { + unit: "kWh", + unitPriceInCents: 9.49, + }, + }, + graphConsumption: { + unit: "kWh", + monthlyAggregation: { + endOfMonthForecast: { + startDate: "2024-10-24", + endDate: "2024-10-31", + totalConsumption: 86.02470000000004, + totalCostInCents: 816.37, + consumptionPerDate: [ + { + date: "2024-10-25", + consumption: 12.289242857142861, + costInCents: 116.62, + hasData: true, + }, + { + date: "2024-10-26", + consumption: 12.289242857142861, + costInCents: 116.62, + hasData: true, + }, + { + date: "2024-10-27", + consumption: 12.289242857142861, + costInCents: 116.62, + hasData: true, + }, + { + date: "2024-10-28", + consumption: 12.289242857142861, + costInCents: 116.62, + hasData: true, + }, + { + date: "2024-10-29", + consumption: 12.289242857142861, + costInCents: 116.62, + hasData: true, + }, + { + date: "2024-10-30", + consumption: 12.289242857142861, + costInCents: 116.62, + hasData: true, + }, + { + date: "2024-10-31", + consumption: 12.289242857142861, + costInCents: 116.62, + hasData: true, + }, + ], + }, + requestedMonth: { + startDate: "2024-10-01", + endDate: "2024-10-24", + totalConsumption: 383.0283, + totalCostInCents: 3634.94, + consumptionPerDate: [ + { + date: "2024-10-01", + consumption: 16.4369, + costInCents: 155.99, + hasData: true, + }, + { + date: "2024-10-02", + consumption: 14.559, + costInCents: 138.16, + hasData: true, + }, + { + date: "2024-10-03", + consumption: 20.709650000000003, + costInCents: 196.53, + hasData: true, + }, + { + date: "2024-10-04", + consumption: 17.0699, + costInCents: 161.99, + hasData: true, + }, + { + date: "2024-10-05", + consumption: 17.9561, + costInCents: 170.4, + hasData: true, + }, + { + date: "2024-10-06", + consumption: 17.091, + costInCents: 162.19, + hasData: true, + }, + { + date: "2024-10-07", + consumption: 19.78125, + costInCents: 187.72, + hasData: true, + }, + { + date: "2024-10-08", + consumption: 16.204800000000002, + costInCents: 153.78, + hasData: true, + }, + { + date: "2024-10-09", + consumption: 10.8032, + costInCents: 102.52, + hasData: true, + }, + { + date: "2024-10-10", + consumption: 8.2079, + costInCents: 77.89, + hasData: true, + }, + { + date: "2024-10-11", + consumption: 19.0955, + costInCents: 181.22, + hasData: true, + }, + { + date: "2024-10-12", + consumption: 20.013350000000003, + costInCents: 189.93, + hasData: true, + }, + { + date: "2024-10-13", + consumption: 17.71345, + costInCents: 168.1, + hasData: true, + }, + { + date: "2024-10-14", + consumption: 22.3027, + costInCents: 211.65, + hasData: true, + }, + { + date: "2024-10-15", + consumption: 19.97115, + costInCents: 189.53, + hasData: true, + }, + { + date: "2024-10-16", + consumption: 22.81965, + costInCents: 216.56, + hasData: true, + }, + { + date: "2024-10-17", + consumption: 18.8001, + costInCents: 178.41, + hasData: true, + }, + { + date: "2024-10-18", + consumption: 21.2055, + costInCents: 201.24, + hasData: true, + }, + { + date: "2024-10-19", + consumption: 17.502450000000003, + costInCents: 166.1, + hasData: true, + }, + { + date: "2024-10-20", + consumption: 10.45505, + costInCents: 99.22, + hasData: true, + }, + { + date: "2024-10-21", + consumption: 3.3760000000000003, + costInCents: 32.04, + hasData: true, + }, + { + date: "2024-10-22", + consumption: 7.41665, + costInCents: 70.38, + hasData: true, + }, + { + date: "2024-10-23", + consumption: 14.7911, + costInCents: 140.37, + hasData: true, + }, + { + date: "2024-10-24", + consumption: 8.74595, + costInCents: 83, + hasData: true, + }, + ], + }, + monthBefore: { + startDate: "2024-09-01", + endDate: "2024-09-30", + totalConsumption: 95.19265, + totalCostInCents: 903.38, + consumptionPerDate: [ + { + date: "2024-09-01", + consumption: 0, + costInCents: 0, + hasData: true, + }, + { + date: "2024-09-02", + consumption: 0, + costInCents: 0, + hasData: true, + }, + { + date: "2024-09-03", + consumption: 0, + costInCents: 0, + hasData: true, + }, + { + date: "2024-09-04", + consumption: 0, + costInCents: 0, + hasData: true, + }, + { + date: "2024-09-05", + consumption: 0, + costInCents: 0, + hasData: true, + }, + { + date: "2024-09-06", + consumption: 0, + costInCents: 0, + hasData: true, + }, + { + date: "2024-09-07", + consumption: 0, + costInCents: 0, + hasData: true, + }, + { + date: "2024-09-08", + consumption: 0, + costInCents: 0, + hasData: true, + }, + { + date: "2024-09-09", + consumption: 0, + costInCents: 0, + hasData: true, + }, + { + date: "2024-09-10", + consumption: 0, + costInCents: 0, + hasData: true, + }, + { + date: "2024-09-11", + consumption: 0, + costInCents: 0, + hasData: true, + }, + { + date: "2024-09-12", + consumption: 0.4642, + costInCents: 4.41, + hasData: true, + }, + { + date: "2024-09-13", + consumption: 4.84245, + costInCents: 45.95, + hasData: true, + }, + { + date: "2024-09-14", + consumption: 8.28175, + costInCents: 78.59, + hasData: true, + }, + { + date: "2024-09-15", + consumption: 6.0767999999999995, + costInCents: 57.67, + hasData: true, + }, + { + date: "2024-09-16", + consumption: 6.69925, + costInCents: 63.58, + hasData: true, + }, + { + date: "2024-09-17", + consumption: 9.33675, + costInCents: 88.61, + hasData: true, + }, + { + date: "2024-09-18", + consumption: 3.4604000000000004, + costInCents: 32.84, + hasData: true, + }, + { + date: "2024-09-19", + consumption: 2.9540000000000006, + costInCents: 28.03, + hasData: true, + }, + { + date: "2024-09-20", + consumption: 3.63975, + costInCents: 34.54, + hasData: true, + }, + { + date: "2024-09-21", + consumption: 4.3255, + costInCents: 41.05, + hasData: true, + }, + { + date: "2024-09-22", + consumption: 1.9728500000000002, + costInCents: 18.72, + hasData: true, + }, + { + date: "2024-09-23", + consumption: 2.3104500000000003, + costInCents: 21.93, + hasData: true, + }, + { + date: "2024-09-24", + consumption: 2.1522, + costInCents: 20.42, + hasData: true, + }, + { + date: "2024-09-25", + consumption: 3.28105, + costInCents: 31.14, + hasData: true, + }, + { + date: "2024-09-26", + consumption: 5.1695, + costInCents: 49.06, + hasData: true, + }, + { + date: "2024-09-27", + consumption: 2.6586000000000003, + costInCents: 25.23, + hasData: true, + }, + { + date: "2024-09-28", + consumption: 5.285550000000001, + costInCents: 50.16, + hasData: true, + }, + { + date: "2024-09-29", + consumption: 9.48445, + costInCents: 90.01, + hasData: true, + }, + { + date: "2024-09-30", + consumption: 12.797150000000002, + costInCents: 121.44, + hasData: true, + }, + ], + }, + yearBefore: { + startDate: "2023-10-01", + endDate: "2023-10-31", + totalConsumption: 687.3536, + totalCostInCents: 7533.4, + consumptionPerDate: [ + { + date: "2023-10-01", + consumption: 9.1152, + costInCents: 99.9, + hasData: true, + }, + { + date: "2023-10-02", + consumption: 3.8085500000000003, + costInCents: 41.74, + hasData: true, + }, + { + date: "2023-10-03", + consumption: 0.8862000000000001, + costInCents: 9.71, + hasData: true, + }, + { + date: "2023-10-04", + consumption: 2.4687, + costInCents: 27.06, + hasData: true, + }, + { + date: "2023-10-05", + consumption: 11.668300000000002, + costInCents: 127.88, + hasData: true, + }, + { + date: "2023-10-06", + consumption: 7.5538, + costInCents: 82.79, + hasData: true, + }, + { + date: "2023-10-07", + consumption: 0, + costInCents: 0, + hasData: true, + }, + { + date: "2023-10-08", + consumption: 9.9803, + costInCents: 109.38, + hasData: true, + }, + { + date: "2023-10-09", + consumption: 24.04345, + costInCents: 263.52, + hasData: true, + }, + { + date: "2023-10-10", + consumption: 21.3321, + costInCents: 233.8, + hasData: true, + }, + { + date: "2023-10-11", + consumption: 17.7029, + costInCents: 194.02, + hasData: true, + }, + { + date: "2023-10-12", + consumption: 10.8876, + costInCents: 119.33, + hasData: true, + }, + { + date: "2023-10-13", + consumption: 11.2885, + costInCents: 123.72, + hasData: true, + }, + { + date: "2023-10-14", + consumption: 16.04655, + costInCents: 175.87, + hasData: true, + }, + { + date: "2023-10-15", + consumption: 21.53255, + costInCents: 236, + hasData: true, + }, + { + date: "2023-10-16", + consumption: 23.74805, + costInCents: 260.28, + hasData: true, + }, + { + date: "2023-10-17", + consumption: 34.994350000000004, + costInCents: 383.54, + hasData: true, + }, + { + date: "2023-10-18", + consumption: 60.12445, + costInCents: 658.96, + hasData: true, + }, + { + date: "2023-10-19", + consumption: 37.252050000000004, + costInCents: 408.28, + hasData: true, + }, + { + date: "2023-10-20", + consumption: 31.038100000000004, + costInCents: 340.18, + hasData: true, + }, + { + date: "2023-10-21", + consumption: 33.802200000000006, + costInCents: 370.47, + hasData: true, + }, + { + date: "2023-10-22", + consumption: 23.45265, + costInCents: 257.04, + hasData: true, + }, + { + date: "2023-10-23", + consumption: 21.806850000000004, + costInCents: 239, + hasData: true, + }, + { + date: "2023-10-24", + consumption: 22.81965, + costInCents: 250.1, + hasData: true, + }, + { + date: "2023-10-25", + consumption: 33.865500000000004, + costInCents: 371.17, + hasData: true, + }, + { + date: "2023-10-26", + consumption: 28.1263, + costInCents: 308.26, + hasData: true, + }, + { + date: "2023-10-27", + consumption: 41.6092, + costInCents: 456.04, + hasData: true, + }, + { + date: "2023-10-28", + consumption: 36.93555, + costInCents: 404.81, + hasData: true, + }, + { + date: "2023-10-29", + consumption: 33.66505, + costInCents: 368.97, + hasData: true, + }, + { + date: "2023-10-30", + consumption: 32.46235, + costInCents: 355.79, + hasData: true, + }, + { + date: "2023-10-31", + consumption: 23.336600000000004, + costInCents: 255.77, + hasData: true, + }, + ], + }, + }, + isInPreferredUnit: true, + energySavingsReport: { + totalSavingsInPercent: 17.5, + yearMonth: "2024-09", + }, + ecogaz: null, + }, +};