Module: NatureRemo::Endpoints::Appliances

Included in:
NatureRemo::Endpoints
Defined in:
lib/nature_remo/endpoints/appliances.rb

Overview

Endpoints for user infomation

Instance Method Summary collapse

Instance Method Details

#appliancesString

Fetch the list of appliances. swagger.nature.global/#/default/get_1_appliances

Returns:

  • (String)

    The list of appliances.

Raises:



12
13
14
# File 'lib/nature_remo/endpoints/appliances.rb', line 12

def appliances
  get('appliances')
end

#create_appliance(device_id:, nickname:, image:, model: nil, model_type: nil) ⇒ String

Parameters:

  • device_id (String)

    Device ID

  • nickname (String)

    Appliance name.

  • image (String)

    Basename of the image file included in the app. Ex: “ico_ac_1”

  • model (String) (defaults to: nil)

    ApplianceModel ID if the appliance we’re trying to create is included in IRDB.

  • model_type (String) (defaults to: nil)

    Available values : AC, TV, LIGHT

Returns:

  • (String)

    Created an appliance.

Raises:



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/nature_remo/endpoints/appliances.rb', line 26

def create_appliance(device_id:, nickname:, image:, model: nil, model_type: nil)
  params = {
    device: device_id,
    nickname: nickname,
    image: image
  }
  params[:model] = model if model
  params[:model_type] = model_type if model_type

  post('appliances', params)
end

#delete_appliance(appliance_id:) ⇒ String

Delete appliance. swagger.nature.global/#/default/post_1_appliances__appliance__delete

Parameters:

  • appliance_id (String)

    Appliance ID.

Returns:

  • (String)

    Deleted an appliance.

Raises:



66
67
68
# File 'lib/nature_remo/endpoints/appliances.rb', line 66

def delete_appliance(appliance_id:)
  post("appliances/#{appliance_id}/delete")
end

#update_aircon_settings(appliance_id:, button: nil, temperature: nil, operation_mode: nil, air_volume: nil, air_direction: nil) ⇒ String

Update air conditioner settings. swagger.nature.global/#/default/post_1_appliances__appliance__aircon_settings

Parameters:

  • appliance_id (String)

    Appliance ID.

  • button (String) (defaults to: nil)

    Button

  • temperature (String) (defaults to: nil)

    Temperature

  • operation_mode (String) (defaults to: nil)

    AC operation mode

  • air_volume (String) (defaults to: nil)

    AC air volume

  • air_direction (String) (defaults to: nil)

    AC air direction

Returns:

  • (String)

    Updated air conditioner settings

Raises:



81
82
83
84
85
86
87
88
89
90
# File 'lib/nature_remo/endpoints/appliances.rb', line 81

def update_aircon_settings(appliance_id:, button: nil, temperature: nil, operation_mode: nil, air_volume: nil, air_direction: nil)
  params = {}
  params[:button] = button if button
  params[:temperature] = temperature if temperature
  params[:operation_mode] = operation_mode if operation_mode
  params[:air_volume] = air_volume if air_volume
  params[:air_direction] = air_direction if air_direction

  post("appliances/#{appliance_id}/aircon_settings", params)
end

#update_appliance(appliance_id:, nickname:, image:) ⇒ String

Parameters:

  • appliance_id (String)

    Appliance ID.

  • nickname (String)

    Appliance name

  • image (String)

    Basename of the image file included in the app. Ex: “ico_ac_1”

Returns:

  • (String)

    Updated air conditioner settings.

Raises:



56
57
58
# File 'lib/nature_remo/endpoints/appliances.rb', line 56

def update_appliance(appliance_id:, nickname:, image:)
  post("appliances/#{appliance_id}", { nickname: nickname, image: image })
end

#update_appliance_orders(appliance_ids:) ⇒ String

Parameters:

  • appliance_ids (String)

    List of all appliances’ IDs comma separated

Returns:

  • (String)

    Reordered appliances

Raises:



44
45
46
# File 'lib/nature_remo/endpoints/appliances.rb', line 44

def update_appliance_orders(appliance_ids:)
  post('appliance_orders', { appliances: appliance_ids })
end

#update_light_state(appliance_id:, button:) ⇒ String

Send light infrared signal. swagger.nature.global/#/default/post_1_appliances__appliance__light

Parameters:

  • appliance_id (String)

    Appliance ID.

  • button (String)

    Button name

Returns:

  • (String)

    Updated light state

Raises:



110
111
112
# File 'lib/nature_remo/endpoints/appliances.rb', line 110

def update_light_state(appliance_id:, button:)
  post("appliances/#{appliance_id}/light", { button: button })
end

#update_tv_state(appliance_id:, button:) ⇒ String

Send tv infrared signal. swagger.nature.global/#/default/post_1_appliances__appliance__tv

Parameters:

  • appliance_id (String)

    Appliance ID.

  • button (String)

    Button name

Returns:

  • (String)

    Updated tv state

Raises:



99
100
101
# File 'lib/nature_remo/endpoints/appliances.rb', line 99

def update_tv_state(appliance_id:, button:)
  post("appliances/#{appliance_id}/tv", { button: button })
end