wattsense-api-client 0.3.2 → 0.4.1

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: 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: []