seam 2.53.0 → 2.54.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 771aac56cdc619c82cae84fb1353eae2073e217089a2e9449e06e99db6a47e3e
4
- data.tar.gz: 172a524a28cee9febcf3a4e3b36fa63d89c8397501e0cac635105d2e6b66569c
3
+ metadata.gz: afc7f142c54be5daa10690eaa4841f37807ab87f49ab85eb8873556bf22873c9
4
+ data.tar.gz: 3e73bc25d543d60a15b0f38bb46e5b9524cc370f7393d924ecef419aa2290b0c
5
5
  SHA512:
6
- metadata.gz: 391d57c58c711bd5fbabd722ec01c89376553cec0797020586f18e55ef5e5dfbaf26581c10082f5e73c9457fb506b4e2f198f98d8ab5db5f13e43fc2b64446a0
7
- data.tar.gz: 86e2adf97bc7023418f157275f12441eab83e039f47f818b7e3d455eb719b08be442eb942a1a2f580ab2ff464a8d39a850304278a8eb2db79aee7994b0a303a7
6
+ metadata.gz: db166f9251bc1de45bc38c24a3911760c9977f164de453b4594b4ec0851437be4fde34a2614d7a492d80f00a805be74f3de34eb8ac2a8577f40c7b5e48f48ace
7
+ data.tar.gz: 0bad067896b45286e460b033e33cb93adbdfdd953709d418e62ea0d817a0424b474dd7cbc5e78963f81d858bf5630f788ee2accb6bf9295feba64d33cc935a5f
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- seam (2.53.0)
4
+ seam (2.54.0)
5
5
  faraday (~> 2.7)
6
6
  faraday-retry (~> 2.2)
7
7
  svix (~> 1.30)
@@ -32,6 +32,7 @@ require_relative "phones"
32
32
  require_relative "phones_simulate"
33
33
  require_relative "spaces"
34
34
  require_relative "thermostats"
35
+ require_relative "thermostats_daily_programs"
35
36
  require_relative "thermostats_schedules"
36
37
  require_relative "thermostats_simulate"
37
38
  require_relative "user_identities"
@@ -10,6 +10,10 @@ module Seam
10
10
  @defaults = defaults
11
11
  end
12
12
 
13
+ def daily_programs
14
+ @daily_programs ||= Seam::Clients::ThermostatsDailyPrograms.new(client: @client, defaults: @defaults)
15
+ end
16
+
13
17
  def schedules
14
18
  @schedules ||= Seam::Clients::ThermostatsSchedules.new(client: @client, defaults: @defaults)
15
19
  end
@@ -109,6 +113,14 @@ module Seam
109
113
 
110
114
  nil
111
115
  end
116
+
117
+ def update_weekly_program(device_id:, friday_program_id: nil, monday_program_id: nil, saturday_program_id: nil, sunday_program_id: nil, thursday_program_id: nil, tuesday_program_id: nil, wednesday_program_id: nil, wait_for_action_attempt: nil)
118
+ res = @client.post("/thermostats/update_weekly_program", {device_id: device_id, friday_program_id: friday_program_id, monday_program_id: monday_program_id, saturday_program_id: saturday_program_id, sunday_program_id: sunday_program_id, thursday_program_id: thursday_program_id, tuesday_program_id: tuesday_program_id, wednesday_program_id: wednesday_program_id}.compact)
119
+
120
+ wait_for_action_attempt = wait_for_action_attempt.nil? ? @defaults.wait_for_action_attempt : wait_for_action_attempt
121
+
122
+ Helpers::ActionAttempt.decide_and_wait(Seam::Resources::ActionAttempt.load_from_response(res.body["action_attempt"]), @client, wait_for_action_attempt)
123
+ end
112
124
  end
113
125
  end
114
126
  end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "seam/helpers/action_attempt"
4
+
5
+ module Seam
6
+ module Clients
7
+ class ThermostatsDailyPrograms
8
+ def initialize(client:, defaults:)
9
+ @client = client
10
+ @defaults = defaults
11
+ end
12
+
13
+ def create(device_id:, name:, periods:)
14
+ res = @client.post("/thermostats/daily_programs/create", {device_id: device_id, name: name, periods: periods}.compact)
15
+
16
+ Seam::Resources::ThermostatDailyProgram.load_from_response(res.body["thermostat_daily_program"])
17
+ end
18
+
19
+ def delete(thermostat_daily_program_id:)
20
+ @client.post("/thermostats/daily_programs/delete", {thermostat_daily_program_id: thermostat_daily_program_id}.compact)
21
+
22
+ nil
23
+ end
24
+
25
+ def update(name:, periods:, thermostat_daily_program_id:, wait_for_action_attempt: nil)
26
+ res = @client.post("/thermostats/daily_programs/update", {name: name, periods: periods, thermostat_daily_program_id: thermostat_daily_program_id}.compact)
27
+
28
+ wait_for_action_attempt = wait_for_action_attempt.nil? ? @defaults.wait_for_action_attempt : wait_for_action_attempt
29
+
30
+ Helpers::ActionAttempt.decide_and_wait(Seam::Resources::ActionAttempt.load_from_response(res.body["action_attempt"]), @client, wait_for_action_attempt)
31
+ end
32
+ end
33
+ end
34
+ end
@@ -3,7 +3,7 @@
3
3
  module Seam
4
4
  module Resources
5
5
  class Device < BaseResource
6
- attr_accessor :can_hvac_cool, :can_hvac_heat, :can_hvac_heat_cool, :can_program_offline_access_codes, :can_program_online_access_codes, :can_remotely_lock, :can_remotely_unlock, :can_simulate_connection, :can_simulate_disconnection, :can_simulate_removal, :can_turn_off_hvac, :can_unlock_with_code, :capabilities_supported, :connected_account_id, :custom_metadata, :device_id, :device_type, :display_name, :is_managed, :location, :nickname, :properties, :workspace_id
6
+ attr_accessor :can_hvac_cool, :can_hvac_heat, :can_hvac_heat_cool, :can_program_offline_access_codes, :can_program_online_access_codes, :can_remotely_lock, :can_remotely_unlock, :can_run_thermostat_programs, :can_simulate_connection, :can_simulate_disconnection, :can_simulate_removal, :can_turn_off_hvac, :can_unlock_with_code, :capabilities_supported, :connected_account_id, :custom_metadata, :device_id, :device_type, :display_name, :is_managed, :location, :nickname, :properties, :workspace_id
7
7
 
8
8
  date_accessor :created_at
9
9
 
@@ -3,7 +3,7 @@
3
3
  module Seam
4
4
  module Resources
5
5
  class DeviceProvider < BaseResource
6
- attr_accessor :can_hvac_cool, :can_hvac_heat, :can_hvac_heat_cool, :can_program_offline_access_codes, :can_program_online_access_codes, :can_remotely_lock, :can_remotely_unlock, :can_simulate_connection, :can_simulate_disconnection, :can_simulate_removal, :can_turn_off_hvac, :can_unlock_with_code, :device_provider_name, :display_name, :image_url, :provider_categories
6
+ attr_accessor :can_hvac_cool, :can_hvac_heat, :can_hvac_heat_cool, :can_program_offline_access_codes, :can_program_online_access_codes, :can_remotely_lock, :can_remotely_unlock, :can_run_thermostat_programs, :can_simulate_connection, :can_simulate_disconnection, :can_simulate_removal, :can_turn_off_hvac, :can_unlock_with_code, :device_provider_name, :display_name, :image_url, :provider_categories
7
7
  end
8
8
  end
9
9
  end
@@ -3,7 +3,7 @@
3
3
  module Seam
4
4
  module Resources
5
5
  class UnmanagedDevice < BaseResource
6
- attr_accessor :can_hvac_cool, :can_hvac_heat, :can_hvac_heat_cool, :can_program_offline_access_codes, :can_program_online_access_codes, :can_remotely_lock, :can_remotely_unlock, :can_simulate_connection, :can_simulate_disconnection, :can_simulate_removal, :can_turn_off_hvac, :can_unlock_with_code, :capabilities_supported, :connected_account_id, :device_id, :device_type, :is_managed, :location, :properties, :workspace_id
6
+ attr_accessor :can_hvac_cool, :can_hvac_heat, :can_hvac_heat_cool, :can_program_offline_access_codes, :can_program_online_access_codes, :can_remotely_lock, :can_remotely_unlock, :can_run_thermostat_programs, :can_simulate_connection, :can_simulate_disconnection, :can_simulate_removal, :can_turn_off_hvac, :can_unlock_with_code, :capabilities_supported, :connected_account_id, :device_id, :device_type, :is_managed, :location, :properties, :workspace_id
7
7
 
8
8
  date_accessor :created_at
9
9
 
data/lib/seam/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Seam
4
- VERSION = "2.53.0"
4
+ VERSION = "2.54.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: seam
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.53.0
4
+ version: 2.54.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Seam Labs, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-07-24 00:00:00.000000000 Z
11
+ date: 2025-07-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -236,6 +236,7 @@ files:
236
236
  - lib/seam/routes/clients/phones_simulate.rb
237
237
  - lib/seam/routes/clients/spaces.rb
238
238
  - lib/seam/routes/clients/thermostats.rb
239
+ - lib/seam/routes/clients/thermostats_daily_programs.rb
239
240
  - lib/seam/routes/clients/thermostats_schedules.rb
240
241
  - lib/seam/routes/clients/thermostats_simulate.rb
241
242
  - lib/seam/routes/clients/user_identities.rb