growatt 0.1.1 → 0.1.3
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/CHANGELOG.md +4 -0
- data/growatt.gemspec +1 -0
- data/lib/growatt/client.rb +30 -8
- data/lib/growatt/const.rb +7 -0
- data/lib/growatt/version.rb +1 -1
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c4ad3dfd2cb69b9089ded3f89572c129c6681e927ffbbf85c3b95e5257758db3
|
4
|
+
data.tar.gz: 266c26a95fa3835e52a3783a669ac10084420be4748d0942ee7af8d3f0ecf19e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ca2a1abfd1d5df708ae36b60abe0b6d5312ba345431672d92a091db417336421cd004a549ac48c1cc900f4bfcfb3a657978a54d34e68877ebe9ebbc54d125aa9
|
7
|
+
data.tar.gz: 8a46f8d312bb5bcd46e27e15c290b31bf8c8270d7583b159d57e0aea0fc5770f194cc36f3a69495fe4a25df34f05d1872b572d4c43fab1c178945de91ba2f177
|
data/CHANGELOG.md
CHANGED
data/growatt.gemspec
CHANGED
@@ -29,6 +29,7 @@ Gem::Specification.new do |s|
|
|
29
29
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
30
30
|
s.platform = Gem::Platform::RUBY
|
31
31
|
s.add_runtime_dependency 'wrapi', ">= 0.3.0"
|
32
|
+
s.add_runtime_dependency 'faraday-cookie_jar'
|
32
33
|
s.add_development_dependency 'dotenv'
|
33
34
|
s.add_development_dependency 'minitest'
|
34
35
|
s.add_development_dependency 'simplecov'
|
data/lib/growatt/client.rb
CHANGED
@@ -52,11 +52,11 @@ module Growatt
|
|
52
52
|
}).obj.maxSetBean
|
53
53
|
end
|
54
54
|
|
55
|
-
def update_inverter_setting(serial_number,command,
|
55
|
+
def update_inverter_setting(serial_number,command,param_id,parameters)
|
56
56
|
command_parameters = {
|
57
57
|
'op': command,
|
58
58
|
'serialNum': serial_number,
|
59
|
-
'
|
59
|
+
'paramId': param_id
|
60
60
|
}
|
61
61
|
# repeated values to hash { param1: value1 }
|
62
62
|
|
@@ -70,7 +70,7 @@ module Growatt
|
|
70
70
|
# turn invertor on of off
|
71
71
|
def turn_inverter(serial_number,on=true)
|
72
72
|
onoff = (on ? Inverter::ON : Inverter::OFF )
|
73
|
-
update_inverter_setting(serial_number,'maxSetApi',
|
73
|
+
update_inverter_setting(serial_number,'maxSetApi','max_cmd_on_off',[onoff])
|
74
74
|
end
|
75
75
|
|
76
76
|
# check if invertor is turned on
|
@@ -79,11 +79,24 @@ module Growatt
|
|
79
79
|
Inverter::ON.eql? status.max_cmd_on_off
|
80
80
|
end
|
81
81
|
|
82
|
+
def export_limitation(serial_number,enable,value=nil)
|
83
|
+
if Inverter::DISABLE.eql? enable
|
84
|
+
params = [0]
|
85
|
+
else
|
86
|
+
raise ArgumentError, "exportlimitation enable should be Inverter::WATT or Inverter::PERCENTAGE" unless [Inverter::WATT,Inverter::PERCENTAGE].include? enable
|
87
|
+
raise ArgumentError, "Value should be set for export limitation" unless value
|
88
|
+
params = [1, value, enable]
|
89
|
+
end
|
90
|
+
update_inverter_setting(serial_number,'maxSetApi','backflow_setting',params)
|
91
|
+
end
|
92
|
+
|
82
93
|
# utility function to get date accordign timespan month/day
|
83
94
|
def timespan_date(timespan=Timespan::DAY,date=Time.now)
|
84
|
-
if Timespan::
|
95
|
+
if Timespan::YEAR.eql? timespan
|
96
|
+
date.strftime("%Y")
|
97
|
+
elsif Timespan::MONTH.eql? timespan
|
85
98
|
date.strftime("%Y-%m")
|
86
|
-
|
99
|
+
elsif Timespan::DAY.eql? timespan
|
87
100
|
date.strftime("%Y-%m-%d")
|
88
101
|
end
|
89
102
|
end
|
@@ -92,13 +105,21 @@ module Growatt
|
|
92
105
|
# functions below are copied from python example code but not sure if these work with MOD9000 inverters
|
93
106
|
#
|
94
107
|
def inverter_data(inverter_id,type=Timespan::DAY,date=Time.now)
|
108
|
+
if Timespan::DAY.eql? type
|
109
|
+
operator = 'getInverterData_max'
|
110
|
+
elsif Timespan::MONTH.eql? type
|
111
|
+
operator = 'getMaxMonthPac'
|
112
|
+
elsif Timespan::YEAR.eql? type
|
113
|
+
operator = 'getMaxYearPac'
|
114
|
+
end
|
95
115
|
_inverter_api({
|
96
|
-
'op':
|
97
|
-
'
|
98
|
-
'type':
|
116
|
+
'op': operator,
|
117
|
+
'id': inverter_id,
|
118
|
+
'type': 1,
|
99
119
|
'date': timespan_date(type,date)
|
100
120
|
})
|
101
121
|
end
|
122
|
+
=begin
|
102
123
|
def inverter_detail(inverter_id)
|
103
124
|
_inverter_api({
|
104
125
|
'op': 'getInverterDetailData',
|
@@ -111,6 +132,7 @@ module Growatt
|
|
111
132
|
'inverterId': inverter_id
|
112
133
|
})
|
113
134
|
end
|
135
|
+
=end
|
114
136
|
def update_mix_inverter_setting(serial_number, setting_type, parameters)
|
115
137
|
update_inverter_setting(serial_number,'mixSetApiNew',setting_type,parameters)
|
116
138
|
end
|
data/lib/growatt/const.rb
CHANGED
data/lib/growatt/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: growatt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Janco Tanis
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-05-
|
11
|
+
date: 2024-05-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: wrapi
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 0.3.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: faraday-cookie_jar
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: dotenv
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|