Class: MiOS::Client
- Inherits:
-
Object
- Object
- MiOS::Client
- Defined in:
- lib/mios/client.rb
Instance Attribute Summary collapse
-
#base_uri ⇒ Object
readonly
Returns the value of attribute base_uri.
Instance Method Summary collapse
- #action(action, service_id, params = {}) ⇒ Object
- #data_request(params) ⇒ Object
- #device_status(device_id) ⇒ Object
-
#initialize(base_uri) ⇒ Client
constructor
A new instance of Client.
- #job_status(job_id) ⇒ Object
Constructor Details
#initialize(base_uri) ⇒ Client
Returns a new instance of Client.
5 6 7 8 |
# File 'lib/mios/client.rb', line 5 def initialize(base_uri) @base_uri = base_uri @client = HTTPClient.new end |
Instance Attribute Details
#base_uri ⇒ Object (readonly)
Returns the value of attribute base_uri.
3 4 5 |
# File 'lib/mios/client.rb', line 3 def base_uri @base_uri end |
Instance Method Details
#action(action, service_id, params = {}) ⇒ Object
23 24 25 26 27 28 29 |
# File 'lib/mios/client.rb', line 23 def action(action, service_id, params = {}) data_request({ id: 'action', action: action, serviceId: service_id, }.merge(params)) end |
#data_request(params) ⇒ Object
10 11 12 13 14 15 16 |
# File 'lib/mios/client.rb', line 10 def data_request(params) default_params = { output_format: :json } params = default_params.merge(params) response = @client.get("#{@base_uri}/data_request", params) return JSON.parse(response.content) if response.ok? fail 'Device not available' end |
#device_status(device_id) ⇒ Object
18 19 20 21 |
# File 'lib/mios/client.rb', line 18 def device_status(device_id) result = data_request(id: 'status', DeviceNum: device_id) result["Device_Num_#{device_id}"] end |
#job_status(job_id) ⇒ Object
31 32 33 |
# File 'lib/mios/client.rb', line 31 def job_status(job_id) data_request(id: 'jobstatus', job: job_id, plugin: 'zwave')['status'] end |