wattsense-api-client 0.3.2 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fdbe56bc224c52dabf5ec031b0c2cacf722500deb3dc11e7eccf886475b0a2a8
4
- data.tar.gz: 77dfcb5d92512aec9f5db55410e1d3dca5c756e7a35fc34a4875eca828f945f2
3
+ metadata.gz: b1faff348377c3626f858fe12fa996a4f37401fdd818ed1167d713a65188d2fe
4
+ data.tar.gz: 34cedf857f72be6be95f5ec633f59b9d356cafd3ee02bfde93dd7515cc2c3ab3
5
5
  SHA512:
6
- metadata.gz: e7cc5f941d05d3630ec4ff0562eb1d5a1f2cf4bb69f76d22b60c9dcf4df2eb3f623966ae92440810e024fcea6fde8536ac8d76e871f7a44e84f6e0ab0e1260f6
7
- data.tar.gz: 910ec81176e4600489a3f4704aa7cc480161b7191dcb6d3631cc4662d487f6357f1a11b6321e8d90ba2f27a4e41c58f0f15c2f1ae0713e7f42c5cec874dcea10
6
+ metadata.gz: 5eee4d1a875ac73f8bd067846a4d1b35dfdf3331931d58251bfca1daea1aea230d9382ed3bedeae435e5c65e44f9a24de2c8a1f6e37bae5e5b7e1bf0571a29a0
7
+ data.tar.gz: f44cd1e4be3980e2f43783cba0a95c5fc8f74c9d1a8e2779a5ce558ffc0bd5f6a06c969dbb67c45067d84aaf86512c9e6f56fe383237142456058edadd73e586
@@ -13,6 +13,7 @@ require 'watt_sense_api/v1/organization'
13
13
  require 'watt_sense_api/v1/user_management'
14
14
  require 'watt_sense_api/v1/device_information'
15
15
  require 'watt_sense_api/v1/properties_measurements'
16
+ require 'watt_sense_api/v1/property_configuration'
16
17
 
17
18
  module WattSenseApi
18
19
  module V1
@@ -24,6 +25,7 @@ module WattSenseApi
24
25
  include ::WattSenseApi::V1::UserManagement
25
26
  include ::WattSenseApi::V1::DeviceInformation
26
27
  include ::WattSenseApi::V1::PropertiesMeasurements
28
+ include ::WattSenseApi::V1::PropertyConfiguration
27
29
 
28
30
  # You can create a client V1 with both user's credentials or api creddentials.
29
31
  #
@@ -60,7 +60,7 @@ module WattSenseApi
60
60
  # @raise [::WattSenseApi::HTTPError] when server response is not as expected (HTTPAccepted with a body)
61
61
  def device_property_set(device_id, property_id, body)
62
62
  response = put("devices/#{device_id}/properties/#{property_id}", body.to_json)
63
- return ::JSON.parse(response.body) if response.is_a?(::Net::HTTPAccepted)
63
+ return ::JSON.parse(response.body) if response.is_a?(::Net::HTTPOK)
64
64
 
65
65
  raise(::WattSenseApi::HTTPError, response)
66
66
  end
@@ -0,0 +1,37 @@
1
+ #--
2
+ # Copyright (C) 2021 - Octopus Lab SAS
3
+ # All rights are described by the GPLv3 license present in the file /LICENSE available in the
4
+ # original repository of this file or [here](https://www.gnu.org/licenses/gpl-3.0.fr.html).
5
+ #++
6
+ # frozen_string_literal: true
7
+
8
+ require 'net/http'
9
+ require 'json'
10
+
11
+ module WattSenseApi
12
+ module V1
13
+ # This module gather all the methods to deal with [Property Configuration](https://api.wattsense.com/#tag/Property-Configuration)
14
+ module PropertyConfiguration
15
+ # List all properties present in a specific config revision.
16
+ #
17
+ # @see https://api.wattsense.com/#operation/listPropertyConfiguration API documentation
18
+ #
19
+ # @param device_id [String] The device id
20
+ # @param revision_id [String] The revision id of the configuration to get. Default: "current"
21
+ # Two special cases:
22
+ # - "current" will return the currently published config revision, i.e. status equal to CURRENT
23
+ # - "draft" will return the current draft i.e. status equal to DRAFT or SENT
24
+ #
25
+ # @return [Hash|NilClass] Hash of the property's latest value (nil if property is unreachable)
26
+ # @raise [::WattSenseApi::HTTPError] when server response is not as expected (HTTPAccepted with a body)
27
+ def device_config_properties(device_id, revision_id = 'current')
28
+ response = get("devices/#{device_id}/configs/#{revision_id}/properties")
29
+ return ::JSON.parse(response.body) if response.is_a?(::Net::HTTPOK)
30
+
31
+ return if response.is_a?(::Net::HTTPNoContent)
32
+
33
+ raise(::WattSenseApi::HTTPError, response)
34
+ end
35
+ end
36
+ end
37
+ end
@@ -6,6 +6,6 @@
6
6
  # frozen_string_literal: true
7
7
 
8
8
  module WattSenseApi
9
- VERSION = '0.3.2'
9
+ VERSION = '0.4.1'
10
10
  public_constant :VERSION
11
11
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wattsense-api-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roland Laurès
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-25 00:00:00.000000000 Z
11
+ date: 2021-12-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry
@@ -110,6 +110,7 @@ files:
110
110
  - lib/watt_sense_api/v1/device_information.rb
111
111
  - lib/watt_sense_api/v1/organization.rb
112
112
  - lib/watt_sense_api/v1/properties_measurements.rb
113
+ - lib/watt_sense_api/v1/property_configuration.rb
113
114
  - lib/watt_sense_api/v1/user_management.rb
114
115
  - lib/watt_sense_api/version.rb
115
116
  - lib/wattsense-api-client.rb
@@ -119,7 +120,7 @@ licenses:
119
120
  metadata:
120
121
  bug_tracker_uri: https://gitlab.com/fr-octopuslab/wattsense-api-client/-/issues
121
122
  changelog_uri: https://gitlab.com/octopuslab/wattsense-api-client/-/blob/main/CHANGELOG.md
122
- documentation_uri: https://fr-octopuslab.gitlab.io/wattsense-api-client/0.3.2
123
+ documentation_uri: https://fr-octopuslab.gitlab.io/wattsense-api-client/0.4.1
123
124
  homepage_uri: https://gitlab.com/octopuslab/wattsense-api-client
124
125
  post_install_message:
125
126
  rdoc_options: []