Module: Helium::Client::Sensors
- Included in:
- Helium::Client
- Defined in:
- lib/helium/client/sensors.rb
Instance Method Summary collapse
- #sensor(id) ⇒ Object
- #sensor_timeseries(sensor, size: 1000, port: nil, start_time: nil, end_time: nil) ⇒ Object
- #sensor_timeseries_by_link(url) ⇒ Object
- #sensors ⇒ Object
Instance Method Details
#sensor(id) ⇒ Object
15 16 17 18 19 20 |
# File 'lib/helium/client/sensors.rb', line 15 def sensor(id) response = get("/sensor/#{id}") sensor_data = JSON.parse(response.body)["data"] return Sensor.new(client: self, params: sensor_data) end |
#sensor_timeseries(sensor, size: 1000, port: nil, start_time: nil, end_time: nil) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/helium/client/sensors.rb', line 22 def sensor_timeseries(sensor, size: 1000, port: nil, start_time: nil, end_time: nil) = { "page[size]" => size, "filter[port]" => port, "filter[start]" => datetime_to_iso(start_time), "filter[end]" => datetime_to_iso(end_time) }.delete_if { |key, value| value.to_s.empty? } response = get("/sensor/#{sensor.id}/timeseries", options: ) json_results = JSON.parse(response.body) timeseries_data = json_results["data"] timeseries_links = json_results["links"] return Timeseries.new( client: self, params: timeseries_data, links: timeseries_links ) end |
#sensor_timeseries_by_link(url) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/helium/client/sensors.rb', line 42 def sensor_timeseries_by_link(url) response = get(url: url) json_results = JSON.parse(response.body) timeseries_data = json_results["data"] timeseries_links = json_results["links"] return Timeseries.new( client: self, params: timeseries_data, links: timeseries_links ) end |