portfolio_manager 0.4.0 → 0.6.0
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 +4 -4
- data/README.md +12 -1
- data/lib/portfolio_manager/rest/api.rb +2 -0
- data/lib/portfolio_manager/rest/meter.rb +63 -10
- data/lib/portfolio_manager/rest/reporting.rb +23 -0
- data/lib/portfolio_manager/rest/utils.rb +0 -1
- data/lib/portfolio_manager/version.rb +1 -1
- metadata +7 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3e54963fc5c067a77654a9f85987306461782751a7ec82fa155e3e01d2fed6bc
|
|
4
|
+
data.tar.gz: febc5bd8568aa7ace57bf2a4f2a93586312cbae8acdeb155ceae4065aa93e2c9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 00146adc34b5281c9b7eea69440425f7848626c9b2b5f3ada3ee9174202b4994b1e3d4c6f89ae9992e629ce8c0ea4a94ec2e6cb9dbdcafb23c5b7c1d49187476
|
|
7
|
+
data.tar.gz: aa096c71717824ea611aa6795fe7c71e7dbf851d37db6b547e89aa748f39612624246a652482d9691ea3c0d3b6674348708dfc7370a6b4accbdd6f7a9eaed06f
|
data/README.md
CHANGED
|
@@ -62,11 +62,22 @@ GET | /property/(propertyId)/building/list | `building_list(property_id)` | Retu
|
|
|
62
62
|
#### Meter Services
|
|
63
63
|
http://portfoliomanager.energystar.gov/webservices/home/api/meter
|
|
64
64
|
|
|
65
|
+
|
|
65
66
|
HTTP | Path | Method | Description
|
|
66
67
|
---- | ---- | ------ | -----------
|
|
68
|
+
GET | /customer/(customerId)/meter/whatChanged?date=(YYYY-MM-DD) | `what_changed_meter_list(customer_id, date, next_page_key: nil, previous_page_key: nil)` | Returns a list of meters that have been modified since a specified date.
|
|
67
69
|
GET | /meter/(meterId) | `meter(meter_id)` | Returns information for a specified meter.
|
|
68
70
|
GET | /property/(propertyId)/meter/list | `meter_list(property_id)` | Returns a list of meters for a specified property.
|
|
69
|
-
GET | /
|
|
71
|
+
GET | /property/(propertyId)/meter/whatChanged?date=(YYYY-MM-DD) | `what_changed_meter_list_for_property(property_id, date, next_page_key: nil, previous_page_key: nil)` | Returns a list of meters that have been modified since a specified date, for a specified property.
|
|
72
|
+
GET | /customer/(customerId)/meter/consumptionData/whatChanged?date=(YYYY-MM-DD) | `what_changed_consumption_data_meter_list(customer_id, date, next_page_key: nil, previous_page_key: nil)` | Returns a list of meters for a specified customer that have had their consumption data modified since a specified date.
|
|
73
|
+
GET | /meter/(meterId)/consumptionData?page=(page)&startDate=(YYYY-MM-DD)&endDate=(YYYY-MM-DD) | `consumption_data(meter_id, page: nil, start_date: nil, end_date: nil)` | Returns the consumption data for a specified meter in sets of 120.
|
|
74
|
+
|
|
75
|
+
#### Reporting Services
|
|
76
|
+
https://portfoliomanager.energystar.gov/webservices/home/api/reporting
|
|
77
|
+
|
|
78
|
+
HTTP | Path | Method | Description
|
|
79
|
+
---- | ---- | ------ | -----------
|
|
80
|
+
GET | /property/(propertyId)/metrics | `property_metrics(property_id, year, month, measurement_system, metric)` | Returns the values for a specified set of metrics and units for a specific property and period ending date. The property must already be shared with you.
|
|
70
81
|
|
|
71
82
|
#### Connection/Share Services
|
|
72
83
|
https://portfoliomanager.energystar.gov/webservices/home/api/connection
|
|
@@ -5,6 +5,7 @@ require 'portfolio_manager/rest/building'
|
|
|
5
5
|
require 'portfolio_manager/rest/data_exchange_settings'
|
|
6
6
|
require 'portfolio_manager/rest/meter'
|
|
7
7
|
require 'portfolio_manager/rest/property'
|
|
8
|
+
require 'portfolio_manager/rest/reporting'
|
|
8
9
|
require 'portfolio_manager/rest/customer'
|
|
9
10
|
require 'portfolio_manager/rest/connection'
|
|
10
11
|
require 'portfolio_manager/rest/share'
|
|
@@ -20,6 +21,7 @@ module PortfolioManager
|
|
|
20
21
|
include PortfolioManager::REST::DataExchangeSettings
|
|
21
22
|
include PortfolioManager::REST::Meter
|
|
22
23
|
include PortfolioManager::REST::Property
|
|
24
|
+
include PortfolioManager::REST::Reporting
|
|
23
25
|
include PortfolioManager::REST::Customer
|
|
24
26
|
include PortfolioManager::REST::Connection
|
|
25
27
|
include PortfolioManager::REST::Share
|
|
@@ -29,16 +29,69 @@ module PortfolioManager
|
|
|
29
29
|
perform_get_request("/property/#{property_id}/meter/list")
|
|
30
30
|
end
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
32
|
+
##
|
|
33
|
+
# This web service returns a list of meters that changed since a user specified date. The list of meters returned are account specific.
|
|
34
|
+
# The returned list only shows meters that you have permission to view. Results are returned in increments of 1,000 per set.
|
|
35
|
+
#
|
|
36
|
+
# Dates must be formatted as YYYY-MM-DD
|
|
37
|
+
#
|
|
38
|
+
# @see https://portfoliomanager.energystar.gov/webservices/home/api/meter/getWhatChanged/get
|
|
39
|
+
# pagination template:
|
|
40
|
+
# "/customer/#{customerId}/meter/whatChanged?nextPageKey=#{next_page_key}&date=#{date}"
|
|
41
|
+
def what_changed_meter_list(customer_id, date, next_page_key: nil, previous_page_key: nil)
|
|
42
|
+
query_string = URI.encode_www_form({ date: date, nextPageKey: next_page_key, previousPageKey: previous_page_key }.reject! {|k,v| v.nil?})
|
|
43
|
+
resource_path = "/customer/#{customer_id}/meter/whatChanged"
|
|
44
|
+
link = query_string.empty? ? resource_path : "#{resource_path}?#{query_string}"
|
|
45
|
+
perform_get_request(link)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
##
|
|
49
|
+
# This web service returns a list of meters within a specified property that changed since a user specified date. The list of meters returned are property specific.
|
|
50
|
+
# The returned list only shows meters that you have permission to view. Results are returned in increments of 1,000 per set.
|
|
51
|
+
#
|
|
52
|
+
# Dates must be formatted as YYYY-MM-DD
|
|
53
|
+
#
|
|
54
|
+
# @see https://portfoliomanager.energystar.gov/webservices/home/api/meter/getWhatChanged/get
|
|
55
|
+
# pagination template:
|
|
56
|
+
# "/property/#{propertyId}/meter/whatChanged?nextPageKey=#{next_page_key}&date=#{date}"
|
|
57
|
+
def what_changed_meter_list_for_property(property_id, date, next_page_key: nil, previous_page_key: nil)
|
|
58
|
+
query_string = URI.encode_www_form({ date: date, nextPageKey: next_page_key, previousPageKey: previous_page_key }.reject! {|k,v| v.nil?})
|
|
59
|
+
resource_path = "/property/#{property_id}/meter/whatChanged"
|
|
60
|
+
link = query_string.empty? ? resource_path : "#{resource_path}?#{query_string}"
|
|
61
|
+
perform_get_request(link)
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
##
|
|
65
|
+
# This web service retrieves a list of consumption data for a specific
|
|
66
|
+
# meter. The meter must already be shared with you.
|
|
67
|
+
#
|
|
68
|
+
# The consumption data is returned in sets of 120. An optional date range can specified to return a certain set of consumption records.
|
|
69
|
+
# Dates must be formatted as YYYY-MM-DD
|
|
70
|
+
#
|
|
71
|
+
# @see https://portfoliomanager.energystar.gov/webservices/home/api/meter/consumptionData/get
|
|
72
|
+
# page_link template:
|
|
73
|
+
# "/meter/#{meter_id}/consumptionData/?page=#{page}&startDate=#{start_date}&endDate=#{end_date}"
|
|
74
|
+
def consumption_data(meter_id, page: nil, start_date: nil, end_date: nil)
|
|
75
|
+
query_string = URI.encode_www_form({ page: page, startDate: start_date, endDate: end_date }.reject! {|k,v| v.nil?})
|
|
76
|
+
resource_path = "/meter/#{meter_id}/consumptionData"
|
|
77
|
+
link = query_string.empty? ? resource_path : "#{resource_path}?#{query_string}"
|
|
78
|
+
perform_get_request(link)
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
##
|
|
82
|
+
# This web service returns a list of meters that have had their consumption data changed since a user specified date. The list of meters returned are account specific.
|
|
83
|
+
# The returned list only shows meters that you have permission to view. Results are returned in increments of 1,000 per set.
|
|
84
|
+
#
|
|
85
|
+
# Dates must be formatted as YYYY-MM-DD
|
|
86
|
+
#
|
|
87
|
+
# @see https://portfoliomanager.energystar.gov/webservices/home/api/meter/consumptionDataGetWhatChanged/get
|
|
88
|
+
# pagination template:
|
|
89
|
+
# "/customer/#{customerId}/meter/consumptionData/whatChanged?nextPageKey=#{next_page_key}&date=#{date}"
|
|
90
|
+
def what_changed_consumption_data_meter_list(customer_id, date, next_page_key: nil, previous_page_key: nil)
|
|
91
|
+
query_string = URI.encode_www_form({ date: date, nextPageKey: next_page_key, previousPageKey: previous_page_key }.reject! {|k,v| v.nil?})
|
|
92
|
+
resource_path = "/customer/#{customer_id}/meter/consumptionData/whatChanged"
|
|
93
|
+
link = query_string.empty? ? resource_path : "#{resource_path}?#{query_string}"
|
|
94
|
+
perform_get_request(link)
|
|
42
95
|
end
|
|
43
96
|
end
|
|
44
97
|
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'portfolio_manager/rest/utils'
|
|
4
|
+
|
|
5
|
+
module PortfolioManager
|
|
6
|
+
module REST
|
|
7
|
+
module Reporting
|
|
8
|
+
include PortfolioManager::REST::Utils
|
|
9
|
+
|
|
10
|
+
def property_metrics(property_id, year, month, measurement_system, metric)
|
|
11
|
+
perform_get_request(
|
|
12
|
+
"/property/#{property_id}/metrics",
|
|
13
|
+
query: {
|
|
14
|
+
year: year, month: month, measurementSystem: measurement_system
|
|
15
|
+
},
|
|
16
|
+
header: {
|
|
17
|
+
'PM-Metrics' => metric
|
|
18
|
+
}
|
|
19
|
+
)
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: portfolio_manager
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.6.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jack Reed
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2025-10-30 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: faraday
|
|
@@ -134,6 +134,7 @@ files:
|
|
|
134
134
|
- lib/portfolio_manager/rest/data_exchange_settings.rb
|
|
135
135
|
- lib/portfolio_manager/rest/meter.rb
|
|
136
136
|
- lib/portfolio_manager/rest/property.rb
|
|
137
|
+
- lib/portfolio_manager/rest/reporting.rb
|
|
137
138
|
- lib/portfolio_manager/rest/request.rb
|
|
138
139
|
- lib/portfolio_manager/rest/share.rb
|
|
139
140
|
- lib/portfolio_manager/rest/utils.rb
|
|
@@ -143,7 +144,7 @@ homepage: https://github.com/mejackreed/portfolio_manager
|
|
|
143
144
|
licenses:
|
|
144
145
|
- MIT
|
|
145
146
|
metadata: {}
|
|
146
|
-
post_install_message:
|
|
147
|
+
post_install_message:
|
|
147
148
|
rdoc_options: []
|
|
148
149
|
require_paths:
|
|
149
150
|
- lib
|
|
@@ -158,8 +159,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
158
159
|
- !ruby/object:Gem::Version
|
|
159
160
|
version: '0'
|
|
160
161
|
requirements: []
|
|
161
|
-
rubygems_version: 3.
|
|
162
|
-
signing_key:
|
|
162
|
+
rubygems_version: 3.0.3.1
|
|
163
|
+
signing_key:
|
|
163
164
|
specification_version: 4
|
|
164
165
|
summary: A Ruby client for the EnergyStar Portfolio Manager web services.
|
|
165
166
|
test_files: []
|