From 05a5b0c73d2c62f6c21da51b45dbe87598a443e9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 3 Jul 2025 06:09:30 +0000 Subject: [PATCH 1/2] feat(deps-dev): bump @seamapi/types in the seam group Bumps the seam group with 1 update: [@seamapi/types](https://github.com/seamapi/types). Updates `@seamapi/types` from 1.433.0 to 1.437.0 - [Release notes](https://github.com/seamapi/types/releases) - [Changelog](https://github.com/seamapi/types/blob/main/.releaserc.json) - [Commits](https://github.com/seamapi/types/compare/v1.433.0...v1.437.0) --- updated-dependencies: - dependency-name: "@seamapi/types" dependency-version: 1.437.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: seam ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index a18323ec..42a4ab11 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "devDependencies": { "@seamapi/fake-seam-connect": "1.83.2", "@seamapi/nextlove-sdk-generator": "^1.18.1", - "@seamapi/types": "1.433.0", + "@seamapi/types": "1.437.0", "del": "^7.1.0", "markdown-toc": "^1.2.0", "prettier": "^3.2.5" @@ -476,9 +476,9 @@ } }, "node_modules/@seamapi/types": { - "version": "1.433.0", - "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.433.0.tgz", - "integrity": "sha512-Wj1SrJ3ONeRrwDnffeK8Cwd83n/zxvIGRUQ6e5n/2hP5SQ9z/fORWekpy4o1MTd7xGQawBEYLEwROq/wtn3xFw==", + "version": "1.437.0", + "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.437.0.tgz", + "integrity": "sha512-+rA742bee7Dy19U6lZHooi/Gx8kZmxBYUci18qPkfZ5ZCvqSg0rnOB1OkGFFw4eTQIBQ887JHhDUiYqZxK1TWQ==", "dev": true, "engines": { "node": ">=18.12.0", diff --git a/package.json b/package.json index dc5ce957..19a9baa4 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "devDependencies": { "@seamapi/fake-seam-connect": "1.83.2", "@seamapi/nextlove-sdk-generator": "^1.18.1", - "@seamapi/types": "1.433.0", + "@seamapi/types": "1.437.0", "del": "^7.1.0", "markdown-toc": "^1.2.0", "prettier": "^3.2.5" From a55785cfca58b1f84a152dca8f4600c76ab6c501 Mon Sep 17 00:00:00 2001 From: Seam Bot Date: Thu, 3 Jul 2025 06:10:06 +0000 Subject: [PATCH 2/2] ci: Generate code --- lib/seam/routes/clients/index.rb | 1 + lib/seam/routes/clients/locks.rb | 4 +++ lib/seam/routes/clients/locks_simulate.rb | 30 +++++++++++++++++++++++ lib/seam/routes/clients/thermostats.rb | 8 +++--- 4 files changed, 39 insertions(+), 4 deletions(-) create mode 100644 lib/seam/routes/clients/locks_simulate.rb diff --git a/lib/seam/routes/clients/index.rb b/lib/seam/routes/clients/index.rb index c6273567..3c61ad3c 100644 --- a/lib/seam/routes/clients/index.rb +++ b/lib/seam/routes/clients/index.rb @@ -23,6 +23,7 @@ require_relative "devices_unmanaged" require_relative "events" require_relative "locks" +require_relative "locks_simulate" require_relative "noise_sensors" require_relative "noise_sensors_noise_thresholds" require_relative "noise_sensors_simulate" diff --git a/lib/seam/routes/clients/locks.rb b/lib/seam/routes/clients/locks.rb index ee87db2c..f5e1d204 100644 --- a/lib/seam/routes/clients/locks.rb +++ b/lib/seam/routes/clients/locks.rb @@ -10,6 +10,10 @@ def initialize(client:, defaults:) @defaults = defaults end + def simulate + @simulate ||= Seam::Clients::LocksSimulate.new(client: @client, defaults: @defaults) + end + def get(device_id: nil, name: nil) res = @client.post("/locks/get", {device_id: device_id, name: name}.compact) diff --git a/lib/seam/routes/clients/locks_simulate.rb b/lib/seam/routes/clients/locks_simulate.rb new file mode 100644 index 00000000..8dced1f9 --- /dev/null +++ b/lib/seam/routes/clients/locks_simulate.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +require "seam/helpers/action_attempt" + +module Seam + module Clients + class LocksSimulate + def initialize(client:, defaults:) + @client = client + @defaults = defaults + end + + def keypad_code_entry(code:, device_id:, wait_for_action_attempt: nil) + res = @client.post("/locks/simulate/keypad_code_entry", {code: code, device_id: device_id}.compact) + + wait_for_action_attempt = wait_for_action_attempt.nil? ? @defaults.wait_for_action_attempt : wait_for_action_attempt + + Helpers::ActionAttempt.decide_and_wait(Seam::Resources::ActionAttempt.load_from_response(res.body["action_attempt"]), @client, wait_for_action_attempt) + end + + def manual_lock_via_keypad(device_id:, wait_for_action_attempt: nil) + res = @client.post("/locks/simulate/manual_lock_via_keypad", {device_id: device_id}.compact) + + wait_for_action_attempt = wait_for_action_attempt.nil? ? @defaults.wait_for_action_attempt : wait_for_action_attempt + + Helpers::ActionAttempt.decide_and_wait(Seam::Resources::ActionAttempt.load_from_response(res.body["action_attempt"]), @client, wait_for_action_attempt) + end + end + end +end diff --git a/lib/seam/routes/clients/thermostats.rb b/lib/seam/routes/clients/thermostats.rb index f5a11a5e..2d861bea 100644 --- a/lib/seam/routes/clients/thermostats.rb +++ b/lib/seam/routes/clients/thermostats.rb @@ -38,8 +38,8 @@ def cool(device_id:, cooling_set_point_celsius: nil, cooling_set_point_fahrenhei Helpers::ActionAttempt.decide_and_wait(Seam::Resources::ActionAttempt.load_from_response(res.body["action_attempt"]), @client, wait_for_action_attempt) end - def create_climate_preset(climate_preset_key:, device_id:, climate_preset_mode: nil, cooling_set_point_celsius: nil, cooling_set_point_fahrenheit: nil, fan_mode_setting: nil, heating_set_point_celsius: nil, heating_set_point_fahrenheit: nil, hvac_mode_setting: nil, manual_override_allowed: nil, name: nil) - @client.post("/thermostats/create_climate_preset", {climate_preset_key: climate_preset_key, device_id: device_id, climate_preset_mode: climate_preset_mode, cooling_set_point_celsius: cooling_set_point_celsius, cooling_set_point_fahrenheit: cooling_set_point_fahrenheit, fan_mode_setting: fan_mode_setting, heating_set_point_celsius: heating_set_point_celsius, heating_set_point_fahrenheit: heating_set_point_fahrenheit, hvac_mode_setting: hvac_mode_setting, manual_override_allowed: manual_override_allowed, name: name}.compact) + def create_climate_preset(climate_preset_key:, device_id:, climate_preset_mode: nil, cooling_set_point_celsius: nil, cooling_set_point_fahrenheit: nil, ecobee_metadata: nil, fan_mode_setting: nil, heating_set_point_celsius: nil, heating_set_point_fahrenheit: nil, hvac_mode_setting: nil, manual_override_allowed: nil, name: nil) + @client.post("/thermostats/create_climate_preset", {climate_preset_key: climate_preset_key, device_id: device_id, climate_preset_mode: climate_preset_mode, cooling_set_point_celsius: cooling_set_point_celsius, cooling_set_point_fahrenheit: cooling_set_point_fahrenheit, ecobee_metadata: ecobee_metadata, fan_mode_setting: fan_mode_setting, heating_set_point_celsius: heating_set_point_celsius, heating_set_point_fahrenheit: heating_set_point_fahrenheit, hvac_mode_setting: hvac_mode_setting, manual_override_allowed: manual_override_allowed, name: name}.compact) nil end @@ -108,8 +108,8 @@ def set_temperature_threshold(device_id:, lower_limit_celsius: nil, lower_limit_ nil end - def update_climate_preset(climate_preset_key:, device_id:, climate_preset_mode: nil, cooling_set_point_celsius: nil, cooling_set_point_fahrenheit: nil, fan_mode_setting: nil, heating_set_point_celsius: nil, heating_set_point_fahrenheit: nil, hvac_mode_setting: nil, manual_override_allowed: nil, name: nil) - @client.post("/thermostats/update_climate_preset", {climate_preset_key: climate_preset_key, device_id: device_id, climate_preset_mode: climate_preset_mode, cooling_set_point_celsius: cooling_set_point_celsius, cooling_set_point_fahrenheit: cooling_set_point_fahrenheit, fan_mode_setting: fan_mode_setting, heating_set_point_celsius: heating_set_point_celsius, heating_set_point_fahrenheit: heating_set_point_fahrenheit, hvac_mode_setting: hvac_mode_setting, manual_override_allowed: manual_override_allowed, name: name}.compact) + def update_climate_preset(climate_preset_key:, device_id:, climate_preset_mode: nil, cooling_set_point_celsius: nil, cooling_set_point_fahrenheit: nil, ecobee_metadata: nil, fan_mode_setting: nil, heating_set_point_celsius: nil, heating_set_point_fahrenheit: nil, hvac_mode_setting: nil, manual_override_allowed: nil, name: nil) + @client.post("/thermostats/update_climate_preset", {climate_preset_key: climate_preset_key, device_id: device_id, climate_preset_mode: climate_preset_mode, cooling_set_point_celsius: cooling_set_point_celsius, cooling_set_point_fahrenheit: cooling_set_point_fahrenheit, ecobee_metadata: ecobee_metadata, fan_mode_setting: fan_mode_setting, heating_set_point_celsius: heating_set_point_celsius, heating_set_point_fahrenheit: heating_set_point_fahrenheit, hvac_mode_setting: hvac_mode_setting, manual_override_allowed: manual_override_allowed, name: name}.compact) nil end