Skip to content
This repository was archived by the owner on Nov 15, 2024. It is now read-only.

Commit 1b88a4b

Browse files
authored
feat: Add /thermostats/off (#292)
1 parent 591f3aa commit 1b88a4b

File tree

5 files changed

+64
-20
lines changed

5 files changed

+64
-20
lines changed

docs/classes/Seam.md

Lines changed: 14 additions & 13 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/modules.md

Lines changed: 20 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/seam-connect/routes.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ import {
5959
EventGetRequest,
6060
ClientSessionsGetRequest,
6161
ThermostatSetFanModeRequest,
62+
ThermostatOffRequest,
6263
ThermostatCoolRequest,
6364
ThermostatHeatRequest,
6465
} from "../types/route-requests"
@@ -625,15 +626,21 @@ export abstract class Routes {
625626
method: "POST",
626627
data: params,
627628
}),
629+
heat: (params: ThermostatHeatRequest) =>
630+
this.createActionAttemptAndWait({
631+
url: "/thermostats/heat",
632+
method: "POST",
633+
data: params,
634+
}),
628635
cool: (params: ThermostatCoolRequest) =>
629636
this.createActionAttemptAndWait({
630637
url: "/thermostats/cool",
631638
method: "POST",
632639
data: params,
633640
}),
634-
heat: (params: ThermostatHeatRequest) =>
641+
off: (params: ThermostatOffRequest) =>
635642
this.createActionAttemptAndWait({
636-
url: "/thermostats/heat",
643+
url: "/thermostats/off",
637644
method: "POST",
638645
data: params,
639646
}),

src/types/route-requests.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -310,16 +310,21 @@ export type ThermostatSetFanModeRequest = {
310310
fan_mode_setting: FanModeSetting
311311
}
312312

313+
export type ThermostatHeatRequest = {
314+
device_id: string
315+
sync?: boolean
316+
heating_set_point_celsius?: number
317+
heating_set_point_fahrenheit?: number
318+
}
319+
313320
export type ThermostatCoolRequest = {
314321
device_id: string
315322
sync?: boolean
316323
cooling_set_point_celsius?: number
317324
cooling_set_point_fahrenheit?: number
318325
}
319326

320-
export type ThermostatHeatRequest = {
327+
export type ThermostatOffRequest = {
321328
device_id: string
322329
sync?: boolean
323-
heating_set_point_celsius?: number
324-
heating_set_point_fahrenheit?: number
325330
}

tests/routes.test.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -479,6 +479,19 @@ test(
479479
},
480480
"{}"
481481
)
482+
test(
483+
testAPIMethod("thermostats.off"),
484+
{
485+
args: (seed) => [
486+
{
487+
device_id: seed.devices.nest.id1,
488+
},
489+
],
490+
load_devices_from: ["nest"],
491+
modifiesState: true,
492+
},
493+
"{}"
494+
)
482495
test(
483496
testAPIMethod("thermostats.climateSettingSchedules.get"),
484497
{

0 commit comments

Comments
 (0)