senec 0.18.0 → 0.19.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/.DS_Store +0 -0
- data/.env +6 -0
- data/.env.test +1 -1
- data/.gitignore +13 -0
- data/.rspec_status +69 -0
- data/.rubocop.yml +1 -1
- data/.ruby-lsp/.gitignore +1 -0
- data/.ruby-lsp/Gemfile +6 -0
- data/.ruby-lsp/Gemfile.lock +170 -0
- data/.ruby-lsp/main_lockfile_hash +1 -0
- data/.ruby-lsp/needs_update +0 -0
- data/README.md +50 -79
- data/coverage/.last_run.json +5 -0
- data/coverage/.resultset.json +1367 -0
- data/coverage/.resultset.json.lock +0 -0
- data/coverage/assets/0.13.2/DataTables-1.10.20/images/sort_asc.png +0 -0
- data/coverage/assets/0.13.2/DataTables-1.10.20/images/sort_asc_disabled.png +0 -0
- data/coverage/assets/0.13.2/DataTables-1.10.20/images/sort_both.png +0 -0
- data/coverage/assets/0.13.2/DataTables-1.10.20/images/sort_desc.png +0 -0
- data/coverage/assets/0.13.2/DataTables-1.10.20/images/sort_desc_disabled.png +0 -0
- data/coverage/assets/0.13.2/application.css +1 -0
- data/coverage/assets/0.13.2/application.js +7 -0
- data/coverage/assets/0.13.2/colorbox/border.png +0 -0
- data/coverage/assets/0.13.2/colorbox/controls.png +0 -0
- data/coverage/assets/0.13.2/colorbox/loading.gif +0 -0
- data/coverage/assets/0.13.2/colorbox/loading_background.png +0 -0
- data/coverage/assets/0.13.2/favicon_green.png +0 -0
- data/coverage/assets/0.13.2/favicon_red.png +0 -0
- data/coverage/assets/0.13.2/favicon_yellow.png +0 -0
- data/coverage/assets/0.13.2/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/coverage/assets/0.13.2/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/coverage/assets/0.13.2/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/coverage/assets/0.13.2/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/coverage/assets/0.13.2/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/coverage/assets/0.13.2/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/coverage/assets/0.13.2/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/coverage/assets/0.13.2/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/coverage/assets/0.13.2/images/ui-icons_222222_256x240.png +0 -0
- data/coverage/assets/0.13.2/images/ui-icons_2e83ff_256x240.png +0 -0
- data/coverage/assets/0.13.2/images/ui-icons_454545_256x240.png +0 -0
- data/coverage/assets/0.13.2/images/ui-icons_888888_256x240.png +0 -0
- data/coverage/assets/0.13.2/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/coverage/assets/0.13.2/loading.gif +0 -0
- data/coverage/assets/0.13.2/magnify.png +0 -0
- data/coverage/coverage.json +1368 -0
- data/coverage/index.html +15044 -0
- data/lib/.DS_Store +0 -0
- data/lib/senec/cloud/connection.rb +96 -39
- data/lib/senec/cloud/error.rb +0 -6
- data/lib/senec/cloud/stats_overview.rb +52 -0
- data/lib/senec/cloud/wallboxes.rb +52 -0
- data/lib/senec/local/request.rb +1 -1
- data/lib/senec/local/state.rb +1 -0
- data/lib/senec/version.rb +1 -1
- data/lib/senec.rb +2 -2
- data/pkg/senec-0.1.0.gem +0 -0
- data/pkg/senec-0.10.0.gem +0 -0
- data/pkg/senec-0.11.0.gem +0 -0
- data/pkg/senec-0.12.0.gem +0 -0
- data/pkg/senec-0.13.0.gem +0 -0
- data/pkg/senec-0.14.0.gem +0 -0
- data/pkg/senec-0.15.0.gem +0 -0
- data/pkg/senec-0.17.0.gem +0 -0
- data/pkg/senec-0.17.1.gem +0 -0
- data/pkg/senec-0.17.2.gem +0 -0
- data/pkg/senec-0.18.0.gem +0 -0
- data/pkg/senec-0.2.0.gem +0 -0
- data/pkg/senec-0.3.0.gem +0 -0
- data/pkg/senec-0.4.0.gem +0 -0
- data/pkg/senec-0.5.0.gem +0 -0
- data/pkg/senec-0.6.0.gem +0 -0
- data/pkg/senec-0.6.1.gem +0 -0
- data/pkg/senec-0.6.2.gem +0 -0
- data/pkg/senec-0.7.0.gem +0 -0
- data/pkg/senec-0.7.1.gem +0 -0
- data/pkg/senec-0.7.2.gem +0 -0
- data/pkg/senec-0.8.0.gem +0 -0
- data/pkg/senec-0.9.0.gem +0 -0
- metadata +72 -5
- data/lib/senec/cloud/dashboard.rb +0 -80
- data/lib/senec/cloud/technical_data.rb +0 -69
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8c81bf0bc96f0b9999439a9bf71b3fa8a9c5f800da863993c88f283dbdb38789
|
|
4
|
+
data.tar.gz: 1e937cb44485d678cc2253471d034704fa719d83bb6b654e2321db0a78ecf41e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 18ee7b975cc280a168e5bd9ca2bb9e334d7413f91efdee5f5de1aaf8d33fd5729ef36e0c32fc61c6f83d3460bf7428d48ca306cb258a469291caf2305fa612f3
|
|
7
|
+
data.tar.gz: f24b264fe9f0600e25e218531e27ad39f99fb712bf587951b7cbc9b4f54ea0ad47472611ca5b4017778f882e772b008699f324e360c73b5b086924c2e7e642e5
|
data/.DS_Store
ADDED
|
Binary file
|
data/.env
ADDED
data/.env.test
CHANGED
data/.gitignore
ADDED
data/.rspec_status
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
example_id | status | run_time |
|
|
2
|
+
------------------------------------------------------ | ------ | --------------- |
|
|
3
|
+
./spec/lib/senec/cloud/connection_spec.rb[1:1:1:1] | passed | 0.01205 seconds |
|
|
4
|
+
./spec/lib/senec/cloud/connection_spec.rb[1:1:2:1] | passed | 0.00345 seconds |
|
|
5
|
+
./spec/lib/senec/cloud/stats_overview_spec.rb[1:1:1] | passed | 0.00109 seconds |
|
|
6
|
+
./spec/lib/senec/cloud/stats_overview_spec.rb[1:1:2] | passed | 0.00036 seconds |
|
|
7
|
+
./spec/lib/senec/cloud/stats_overview_spec.rb[1:2:1:1] | passed | 0.0088 seconds |
|
|
8
|
+
./spec/lib/senec/cloud/stats_overview_spec.rb[1:2:1:2] | passed | 0.01001 seconds |
|
|
9
|
+
./spec/lib/senec/cloud/stats_overview_spec.rb[1:2:1:3] | passed | 0.01061 seconds |
|
|
10
|
+
./spec/lib/senec/cloud/stats_overview_spec.rb[1:2:1:4] | passed | 0.0072 seconds |
|
|
11
|
+
./spec/lib/senec/cloud/stats_overview_spec.rb[1:2:1:5] | passed | 0.00686 seconds |
|
|
12
|
+
./spec/lib/senec/cloud/wallboxes_spec.rb[1:1:1] | passed | 0.0003 seconds |
|
|
13
|
+
./spec/lib/senec/cloud/wallboxes_spec.rb[1:1:2] | passed | 0.00004 seconds |
|
|
14
|
+
./spec/lib/senec/cloud/wallboxes_spec.rb[1:1:3] | passed | 0.00023 seconds |
|
|
15
|
+
./spec/lib/senec/cloud/wallboxes_spec.rb[1:1:4] | passed | 0.00063 seconds |
|
|
16
|
+
./spec/lib/senec/cloud/wallboxes_spec.rb[1:2:1:1] | passed | 0.00688 seconds |
|
|
17
|
+
./spec/lib/senec/cloud/wallboxes_spec.rb[1:2:1:2] | passed | 0.00804 seconds |
|
|
18
|
+
./spec/lib/senec/cloud/wallboxes_spec.rb[1:2:1:3] | passed | 0.00888 seconds |
|
|
19
|
+
./spec/lib/senec/cloud/wallboxes_spec.rb[1:2:2:1] | passed | 0.00021 seconds |
|
|
20
|
+
./spec/lib/senec/cloud/wallboxes_spec.rb[1:2:2:2] | passed | 0.00662 seconds |
|
|
21
|
+
./spec/lib/senec/cloud/wallboxes_spec.rb[1:2:3:1] | passed | 0.00627 seconds |
|
|
22
|
+
./spec/lib/senec/local/request_spec.rb[1:1:1:1] | passed | 0.00106 seconds |
|
|
23
|
+
./spec/lib/senec/local/request_spec.rb[1:1:2:1] | passed | 0.00071 seconds |
|
|
24
|
+
./spec/lib/senec/local/request_spec.rb[1:1:3:1] | passed | 0.00062 seconds |
|
|
25
|
+
./spec/lib/senec/local/request_spec.rb[1:1:4:1] | passed | 0.00063 seconds |
|
|
26
|
+
./spec/lib/senec/local/request_spec.rb[1:1:5:1] | passed | 0.00072 seconds |
|
|
27
|
+
./spec/lib/senec/local/request_spec.rb[1:1:6:1] | passed | 0.00058 seconds |
|
|
28
|
+
./spec/lib/senec/local/request_spec.rb[1:1:7:1] | passed | 0.00057 seconds |
|
|
29
|
+
./spec/lib/senec/local/request_spec.rb[1:1:8:1] | passed | 0.00064 seconds |
|
|
30
|
+
./spec/lib/senec/local/request_spec.rb[1:1:9:1] | passed | 0.00062 seconds |
|
|
31
|
+
./spec/lib/senec/local/request_spec.rb[1:1:10:1] | passed | 0.00062 seconds |
|
|
32
|
+
./spec/lib/senec/local/request_spec.rb[1:1:11:1] | passed | 0.00342 seconds |
|
|
33
|
+
./spec/lib/senec/local/request_spec.rb[1:1:12:1] | passed | 0.00089 seconds |
|
|
34
|
+
./spec/lib/senec/local/request_spec.rb[1:1:13:1] | passed | 0.0008 seconds |
|
|
35
|
+
./spec/lib/senec/local/request_spec.rb[1:1:14:1] | passed | 0.00082 seconds |
|
|
36
|
+
./spec/lib/senec/local/request_spec.rb[1:1:14:2] | passed | 0.00092 seconds |
|
|
37
|
+
./spec/lib/senec/local/request_spec.rb[1:1:15:1] | passed | 0.00084 seconds |
|
|
38
|
+
./spec/lib/senec/local/request_spec.rb[1:1:16:1] | passed | 0.001 seconds |
|
|
39
|
+
./spec/lib/senec/local/request_spec.rb[1:1:17:1] | passed | 0.00166 seconds |
|
|
40
|
+
./spec/lib/senec/local/request_spec.rb[1:2:1] | passed | 0.01896 seconds |
|
|
41
|
+
./spec/lib/senec/local/request_spec.rb[1:3:1] | passed | 0.00842 seconds |
|
|
42
|
+
./spec/lib/senec/local/request_spec.rb[1:4:1] | passed | 0.00175 seconds |
|
|
43
|
+
./spec/lib/senec/local/request_spec.rb[1:5:1:1] | passed | 0.00123 seconds |
|
|
44
|
+
./spec/lib/senec/local/request_spec.rb[1:6:1:1] | passed | 0.00093 seconds |
|
|
45
|
+
./spec/lib/senec/local/request_spec.rb[1:7:1:1:1] | passed | 0.00088 seconds |
|
|
46
|
+
./spec/lib/senec/local/request_spec.rb[1:7:1:2:1] | passed | 0.00056 seconds |
|
|
47
|
+
./spec/lib/senec/local/request_spec.rb[1:7:1:3:1] | passed | 0.0051 seconds |
|
|
48
|
+
./spec/lib/senec/local/state_spec.rb[1:1:1:1] | passed | 0.0059 seconds |
|
|
49
|
+
./spec/lib/senec/local/state_spec.rb[1:1:2:1] | passed | 0.00488 seconds |
|
|
50
|
+
./spec/lib/senec/local/state_spec.rb[1:1:3:1] | passed | 0.00462 seconds |
|
|
51
|
+
./spec/lib/senec/local/state_spec.rb[1:1:4:1] | passed | 0.00491 seconds |
|
|
52
|
+
./spec/lib/senec/local/state_spec.rb[1:1:5:1] | passed | 0.00008 seconds |
|
|
53
|
+
./spec/lib/senec/local/value_spec.rb[1:1:1:1] | passed | 0.00006 seconds |
|
|
54
|
+
./spec/lib/senec/local/value_spec.rb[1:1:1:2] | passed | 0.00007 seconds |
|
|
55
|
+
./spec/lib/senec/local/value_spec.rb[1:1:2:1] | passed | 0.00015 seconds |
|
|
56
|
+
./spec/lib/senec/local/value_spec.rb[1:1:2:2] | passed | 0.00004 seconds |
|
|
57
|
+
./spec/lib/senec/local/value_spec.rb[1:1:3:1] | passed | 0.00004 seconds |
|
|
58
|
+
./spec/lib/senec/local/value_spec.rb[1:1:3:2] | passed | 0.00003 seconds |
|
|
59
|
+
./spec/lib/senec/local/value_spec.rb[1:1:4:1] | passed | 0.00004 seconds |
|
|
60
|
+
./spec/lib/senec/local/value_spec.rb[1:1:4:2] | passed | 0.00003 seconds |
|
|
61
|
+
./spec/lib/senec/local/value_spec.rb[1:1:5:1] | passed | 0.00004 seconds |
|
|
62
|
+
./spec/lib/senec/local/value_spec.rb[1:1:5:2] | passed | 0.00004 seconds |
|
|
63
|
+
./spec/lib/senec/local/value_spec.rb[1:1:6:1] | passed | 0.00003 seconds |
|
|
64
|
+
./spec/lib/senec/local/value_spec.rb[1:1:6:2] | passed | 0.00004 seconds |
|
|
65
|
+
./spec/lib/senec/local/value_spec.rb[1:1:7:1] | passed | 0.00004 seconds |
|
|
66
|
+
./spec/lib/senec/local/value_spec.rb[1:1:7:2] | passed | 0.00003 seconds |
|
|
67
|
+
./spec/lib/senec/local/value_spec.rb[1:1:8:1] | passed | 0.00005 seconds |
|
|
68
|
+
./spec/lib/senec/local/value_spec.rb[1:1:9:1] | passed | 0.00005 seconds |
|
|
69
|
+
./spec/senec_spec.rb[1:1] | passed | 0.00004 seconds |
|
data/.rubocop.yml
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
*
|
data/.ruby-lsp/Gemfile
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# This custom gemfile is automatically generated by the Ruby LSP.
|
|
2
|
+
# It should be automatically git ignored, but in any case: do not commit it to your repository.
|
|
3
|
+
|
|
4
|
+
eval_gemfile(File.expand_path("../Gemfile", __dir__))
|
|
5
|
+
gem "ruby-lsp", require: false, group: :development
|
|
6
|
+
gem "debug", require: false, group: :development, platforms: :mri
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
PATH
|
|
2
|
+
remote: ..
|
|
3
|
+
specs:
|
|
4
|
+
senec (0.19.0)
|
|
5
|
+
faraday
|
|
6
|
+
faraday-net_http_persistent
|
|
7
|
+
faraday-request-timer
|
|
8
|
+
|
|
9
|
+
GEM
|
|
10
|
+
remote: https://rubygems.org/
|
|
11
|
+
specs:
|
|
12
|
+
addressable (2.8.7)
|
|
13
|
+
public_suffix (>= 2.0.2, < 7.0)
|
|
14
|
+
ast (2.4.3)
|
|
15
|
+
base64 (0.3.0)
|
|
16
|
+
bigdecimal (3.2.2)
|
|
17
|
+
connection_pool (2.5.3)
|
|
18
|
+
crack (1.0.0)
|
|
19
|
+
bigdecimal
|
|
20
|
+
rexml
|
|
21
|
+
date (3.4.1)
|
|
22
|
+
debug (1.11.0)
|
|
23
|
+
irb (~> 1.10)
|
|
24
|
+
reline (>= 0.3.8)
|
|
25
|
+
diff-lcs (1.6.2)
|
|
26
|
+
docile (1.4.1)
|
|
27
|
+
dotenv (3.1.8)
|
|
28
|
+
erb (5.0.2)
|
|
29
|
+
faraday (2.13.3)
|
|
30
|
+
faraday-net_http (>= 2.0, < 3.5)
|
|
31
|
+
json
|
|
32
|
+
logger
|
|
33
|
+
faraday-net_http (3.4.1)
|
|
34
|
+
net-http (>= 0.5.0)
|
|
35
|
+
faraday-net_http_persistent (2.3.1)
|
|
36
|
+
faraday (~> 2.5)
|
|
37
|
+
net-http-persistent (>= 4.0.4, < 5)
|
|
38
|
+
faraday-request-timer (0.2.0)
|
|
39
|
+
faraday (>= 0.9.0)
|
|
40
|
+
hashdiff (1.2.0)
|
|
41
|
+
io-console (0.8.1)
|
|
42
|
+
irb (1.15.2)
|
|
43
|
+
pp (>= 0.6.0)
|
|
44
|
+
rdoc (>= 4.0.0)
|
|
45
|
+
reline (>= 0.4.2)
|
|
46
|
+
json (2.13.0)
|
|
47
|
+
language_server-protocol (3.17.0.5)
|
|
48
|
+
lint_roller (1.1.0)
|
|
49
|
+
logger (1.7.0)
|
|
50
|
+
net-http (0.6.0)
|
|
51
|
+
uri
|
|
52
|
+
net-http-persistent (4.0.6)
|
|
53
|
+
connection_pool (~> 2.2, >= 2.2.4)
|
|
54
|
+
parallel (1.27.0)
|
|
55
|
+
parser (3.3.8.0)
|
|
56
|
+
ast (~> 2.4.1)
|
|
57
|
+
racc
|
|
58
|
+
pp (0.6.2)
|
|
59
|
+
prettyprint
|
|
60
|
+
prettyprint (0.2.0)
|
|
61
|
+
prism (1.4.0)
|
|
62
|
+
psych (5.2.6)
|
|
63
|
+
date
|
|
64
|
+
stringio
|
|
65
|
+
public_suffix (6.0.2)
|
|
66
|
+
racc (1.8.1)
|
|
67
|
+
rainbow (3.1.1)
|
|
68
|
+
rake (13.3.0)
|
|
69
|
+
rbs (3.9.4)
|
|
70
|
+
logger
|
|
71
|
+
rdoc (6.14.2)
|
|
72
|
+
erb
|
|
73
|
+
psych (>= 4.0.0)
|
|
74
|
+
regexp_parser (2.10.0)
|
|
75
|
+
reline (0.6.2)
|
|
76
|
+
io-console (~> 0.5)
|
|
77
|
+
rexml (3.4.1)
|
|
78
|
+
rspec (3.13.1)
|
|
79
|
+
rspec-core (~> 3.13.0)
|
|
80
|
+
rspec-expectations (~> 3.13.0)
|
|
81
|
+
rspec-mocks (~> 3.13.0)
|
|
82
|
+
rspec-core (3.13.5)
|
|
83
|
+
rspec-support (~> 3.13.0)
|
|
84
|
+
rspec-expectations (3.13.5)
|
|
85
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
86
|
+
rspec-support (~> 3.13.0)
|
|
87
|
+
rspec-mocks (3.13.5)
|
|
88
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
89
|
+
rspec-support (~> 3.13.0)
|
|
90
|
+
rspec-support (3.13.4)
|
|
91
|
+
rubocop (1.78.0)
|
|
92
|
+
json (~> 2.3)
|
|
93
|
+
language_server-protocol (~> 3.17.0.2)
|
|
94
|
+
lint_roller (~> 1.1.0)
|
|
95
|
+
parallel (~> 1.10)
|
|
96
|
+
parser (>= 3.3.0.2)
|
|
97
|
+
rainbow (>= 2.2.2, < 4.0)
|
|
98
|
+
regexp_parser (>= 2.9.3, < 3.0)
|
|
99
|
+
rubocop-ast (>= 1.45.1, < 2.0)
|
|
100
|
+
ruby-progressbar (~> 1.7)
|
|
101
|
+
unicode-display_width (>= 2.4.0, < 4.0)
|
|
102
|
+
rubocop-ast (1.46.0)
|
|
103
|
+
parser (>= 3.3.7.2)
|
|
104
|
+
prism (~> 1.4)
|
|
105
|
+
rubocop-performance (1.25.0)
|
|
106
|
+
lint_roller (~> 1.1)
|
|
107
|
+
rubocop (>= 1.75.0, < 2.0)
|
|
108
|
+
rubocop-ast (>= 1.38.0, < 2.0)
|
|
109
|
+
rubocop-rake (0.7.1)
|
|
110
|
+
lint_roller (~> 1.1)
|
|
111
|
+
rubocop (>= 1.72.1)
|
|
112
|
+
rubocop-rspec (3.6.0)
|
|
113
|
+
lint_roller (~> 1.1)
|
|
114
|
+
rubocop (~> 1.72, >= 1.72.1)
|
|
115
|
+
rubocop-thread_safety (0.7.3)
|
|
116
|
+
lint_roller (~> 1.1)
|
|
117
|
+
rubocop (~> 1.72, >= 1.72.1)
|
|
118
|
+
rubocop-ast (>= 1.44.0, < 2.0)
|
|
119
|
+
ruby-lsp (0.26.1)
|
|
120
|
+
language_server-protocol (~> 3.17.0)
|
|
121
|
+
prism (>= 1.2, < 2.0)
|
|
122
|
+
rbs (>= 3, < 5)
|
|
123
|
+
ruby-progressbar (1.13.0)
|
|
124
|
+
simplecov (0.22.0)
|
|
125
|
+
docile (~> 1.1)
|
|
126
|
+
simplecov-html (~> 0.11)
|
|
127
|
+
simplecov_json_formatter (~> 0.1)
|
|
128
|
+
simplecov-html (0.13.2)
|
|
129
|
+
simplecov_json_formatter (0.1.4)
|
|
130
|
+
stringio (3.1.7)
|
|
131
|
+
unicode-display_width (3.1.4)
|
|
132
|
+
unicode-emoji (~> 4.0, >= 4.0.4)
|
|
133
|
+
unicode-emoji (4.0.4)
|
|
134
|
+
uri (1.0.3)
|
|
135
|
+
vcr (6.3.1)
|
|
136
|
+
base64
|
|
137
|
+
webmock (3.25.1)
|
|
138
|
+
addressable (>= 2.8.0)
|
|
139
|
+
crack (>= 0.3.2)
|
|
140
|
+
hashdiff (>= 0.4.0, < 2.0.0)
|
|
141
|
+
|
|
142
|
+
PLATFORMS
|
|
143
|
+
arm64-darwin-21
|
|
144
|
+
arm64-darwin-22
|
|
145
|
+
arm64-darwin-23
|
|
146
|
+
arm64-darwin-24
|
|
147
|
+
x86_64-darwin-20
|
|
148
|
+
|
|
149
|
+
DEPENDENCIES
|
|
150
|
+
base64
|
|
151
|
+
bigdecimal
|
|
152
|
+
debug
|
|
153
|
+
dotenv
|
|
154
|
+
irb
|
|
155
|
+
rake
|
|
156
|
+
rdoc
|
|
157
|
+
rspec
|
|
158
|
+
rubocop
|
|
159
|
+
rubocop-performance
|
|
160
|
+
rubocop-rake
|
|
161
|
+
rubocop-rspec
|
|
162
|
+
rubocop-thread_safety
|
|
163
|
+
ruby-lsp
|
|
164
|
+
senec!
|
|
165
|
+
simplecov
|
|
166
|
+
vcr
|
|
167
|
+
webmock
|
|
168
|
+
|
|
169
|
+
BUNDLED WITH
|
|
170
|
+
2.7.1
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
8153269239a500b4008859350acabed4f88d9cf1d06554b279dc100a09392858
|
|
File without changes
|
data/README.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
[](https://github.com/solectrus/senec/actions/workflows/push.yml)
|
|
2
2
|
[](https://wakatime.com/badge/user/697af4f5-617a-446d-ba58-407e7f3e0243/project/84ac7dc2-9288-497c-bb20-9c6123d3de66)
|
|
3
|
-
[](https://qlty.sh/gh/solectrus/projects/senec)
|
|
4
|
+
[](https://qlty.sh/gh/solectrus/projects/senec)
|
|
5
5
|
|
|
6
6
|
# Unofficial Ruby Client for SENEC Home
|
|
7
7
|
|
|
8
|
-
Access your local SENEC Solar Battery Storage System or the SENEC Cloud from Ruby.
|
|
8
|
+
Access your local SENEC Solar Battery Storage System or the SENEC Cloud (mein-senec.de) from Ruby.
|
|
9
9
|
|
|
10
10
|
**WARNING:** I'm not affiliated in any way with the SENEC company.
|
|
11
11
|
|
|
@@ -13,7 +13,7 @@ Inspired by:
|
|
|
13
13
|
|
|
14
14
|
- https://github.com/mchwalisz/pysenec
|
|
15
15
|
- https://gist.github.com/smashnet/82ad0b9d7f0ba2e5098e6649ba08f88a
|
|
16
|
-
- https://
|
|
16
|
+
- https://github.com/marq24/ha-senec-v3
|
|
17
17
|
|
|
18
18
|
## Installation
|
|
19
19
|
|
|
@@ -23,93 +23,64 @@ $ gem install senec
|
|
|
23
23
|
|
|
24
24
|
## Usage
|
|
25
25
|
|
|
26
|
-
### Cloud access (V2.1, V3 and
|
|
26
|
+
### Cloud access (V2.1, V3 and Home.4)
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
````ruby
|
|
29
29
|
require 'senec'
|
|
30
30
|
|
|
31
|
-
# Login to the SENEC cloud
|
|
31
|
+
# Login to the SENEC cloud (mein-senec.de):
|
|
32
32
|
connection = Senec::Cloud::Connection.new(username: 'me@example.com', password: 'my-secret-senec-password')
|
|
33
33
|
|
|
34
|
-
# List all available systems
|
|
35
|
-
puts connection.systems
|
|
36
|
-
|
|
37
|
-
# => [{"id"=>"123456", "steuereinheitnummer"=>"S123XXX", "gehaeusenummer"=>"DE-V3-XXXX", "strasse"=>"Musterstraße", "hausnummer"=>"27a", "postleitzahl"=>"99999", "ort"=>"Musterort", "laendercode"=>"DE", "zeitzone"=>"Europe/Berlin", "wallboxIds"=>["1"], "systemType"=>"V3"}]
|
|
38
|
-
|
|
39
34
|
# Get the Dashboard data of first systems (without knowing the ID):
|
|
40
35
|
puts Senec::Cloud::Dashboard[connection].first.data
|
|
41
36
|
|
|
42
|
-
# => {"aktuell"=>
|
|
43
|
-
# {"stromerzeugung"=>{"wert"=>0.01, "einheit"=>"W"},
|
|
44
|
-
# "stromverbrauch"=>{"wert"=>860.0, "einheit"=>"W"},
|
|
45
|
-
# "netzeinspeisung"=>{"wert"=>0.01, "einheit"=>"W"},
|
|
46
|
-
# "netzbezug"=>{"wert"=>852.6270000000001, "einheit"=>"W"},
|
|
47
|
-
# "speicherbeladung"=>{"wert"=>0.01, "einheit"=>"W"},
|
|
48
|
-
# "speicherentnahme"=>{"wert"=>11.68, "einheit"=>"W"},
|
|
49
|
-
# "speicherfuellstand"=>{"wert"=>1.0e-05, "einheit"=>"%"},
|
|
50
|
-
# "autarkie"=>{"wert"=>1.35, "einheit"=>"%"},
|
|
51
|
-
# "wallbox"=>{"wert"=>0.01, "einheit"=>"W"}},
|
|
52
|
-
# "heute"=>
|
|
53
|
-
# {"stromerzeugung"=>{"wert"=>3339.84375, "einheit"=>"Wh"},
|
|
54
|
-
# "stromverbrauch"=>{"wert"=>21000.0, "einheit"=>"Wh"},
|
|
55
|
-
# "netzeinspeisung"=>{"wert"=>13.671875, "einheit"=>"Wh"},
|
|
56
|
-
# "netzbezug"=>{"wert"=>17546.38671875, "einheit"=>"Wh"},
|
|
57
|
-
# "speicherbeladung"=>{"wert"=>119.140625, "einheit"=>"Wh"},
|
|
58
|
-
# "speicherentnahme"=>{"wert"=>254.39453125, "einheit"=>"Wh"},
|
|
59
|
-
# "speicherfuellstand"=>{"wert"=>0.0, "einheit"=>"%"},
|
|
60
|
-
# "autarkie"=>{"wert"=>16.47, "einheit"=>"%"},
|
|
61
|
-
# "wallbox"=>{"wert"=>0.0, "einheit"=>"Wh"}},
|
|
62
|
-
# "zeitstempel"=>"2023-11-26T18:45:23Z",
|
|
63
|
-
# "electricVehicleConnected"=>false}
|
|
64
|
-
|
|
65
|
-
# Get the Dashboard data of a specific system (by ID):
|
|
66
|
-
puts Senec::Cloud::Dashboard[connection].find("123456").data
|
|
67
|
-
|
|
68
|
-
# => {"aktuell"=>
|
|
69
|
-
# {"stromerzeugung"=>{"wert"=>0.01, "einheit"=>"W"},
|
|
70
|
-
# ....
|
|
71
|
-
|
|
72
|
-
# Dashboard data can be requested in different versions, v1 and v2 are available, v1 is the default.
|
|
73
|
-
# To request the data in version 2, pass the version parameter to the `data` method:
|
|
74
|
-
puts Senec::Cloud::Dashboard[connection].first.data(version: 'v2')
|
|
75
|
-
|
|
76
37
|
# => {
|
|
77
|
-
# '
|
|
78
|
-
# '
|
|
79
|
-
# '
|
|
80
|
-
# '
|
|
81
|
-
# '
|
|
82
|
-
# '
|
|
83
|
-
#
|
|
84
|
-
#
|
|
85
|
-
#
|
|
86
|
-
#
|
|
38
|
+
# 'wartungsplan' => {
|
|
39
|
+
# 'possibleMaintenanceTypes' => [],
|
|
40
|
+
# 'applicable' => false,
|
|
41
|
+
# 'maintenanceDueSoon' => false,
|
|
42
|
+
# 'maintenanceOverdue' => false,
|
|
43
|
+
# 'minorMaintenancePossible' => false
|
|
44
|
+
# },
|
|
45
|
+
# 'suppressedNotificationIds' => [],
|
|
46
|
+
# 'steuereinheitState' => 'AKKU_VOLL',
|
|
47
|
+
# 'wartungNotwendig' => false,
|
|
48
|
+
# 'firmwareVersion' => 826,
|
|
49
|
+
# 'gridimport' => {
|
|
50
|
+
# 'today' => 0.0302734375,
|
|
51
|
+
# 'now' => 0.0
|
|
52
|
+
# },
|
|
53
|
+
# 'powergenerated' => {
|
|
54
|
+
# 'today' => 30.94140625,
|
|
55
|
+
# 'now' => 2.382683
|
|
56
|
+
# },
|
|
57
|
+
# 'consumption' => {
|
|
58
|
+
# 'today' => 5.501953125,
|
|
59
|
+
# 'now' => 0.327035
|
|
60
|
+
# },
|
|
61
|
+
# 'gridexport' => {
|
|
62
|
+
# 'today' => 24.779296875,
|
|
63
|
+
# 'now' => 2.032288
|
|
87
64
|
# },
|
|
88
|
-
# '
|
|
89
|
-
# '
|
|
90
|
-
# '
|
|
91
|
-
# 'gridFeedInInWh' => 0.0,
|
|
92
|
-
# 'gridDrawInWh' => 9011.71875,
|
|
93
|
-
# 'batteryChargeInWh' => 0.0,
|
|
94
|
-
# 'batteryDischargeInWh' => 107.421875,
|
|
95
|
-
# 'batteryLevelInPercent' => 1.0e-05,
|
|
96
|
-
# 'selfSufficiencyInPercent' => 1.18,
|
|
97
|
-
# 'wallboxInWh' => 0.0
|
|
65
|
+
# 'accuexport' => {
|
|
66
|
+
# 'today' => 2.55419921875,
|
|
67
|
+
# 'now' => 0.0
|
|
98
68
|
# },
|
|
99
|
-
# '
|
|
100
|
-
#
|
|
69
|
+
# 'accuimport' => {
|
|
70
|
+
# 'today' => 1.84619140625,
|
|
71
|
+
# 'now' => 0.01752
|
|
72
|
+
# },
|
|
73
|
+
# 'acculevel' => {
|
|
74
|
+
# 'today' => 89.47079467773438,
|
|
75
|
+
# 'now' => 100.0
|
|
76
|
+
# },
|
|
77
|
+
# 'mcuOperationalModeId' => 2,
|
|
78
|
+
# 'senecBatteryStorageGeneration' => 'V3',
|
|
79
|
+
# 'machine' => 'MCU',
|
|
80
|
+
# 'lastupdated' => 1_753_277_119,
|
|
81
|
+
# 'state' => 13
|
|
101
82
|
# }
|
|
102
83
|
|
|
103
|
-
# Get the Technical Data of a specific system (by ID):
|
|
104
|
-
puts Senec::Cloud::TechnicalData[connection].find("123456").data
|
|
105
|
-
|
|
106
|
-
# => {"systemOverview"=>{"systemId"=>123456, "productName"=>"SENEC.Home V3 hybrid duo", ...
|
|
107
|
-
|
|
108
|
-
# Get the Technical Data of first systems (without knowing the ID):
|
|
109
|
-
puts Senec::Cloud::TechnicalData[connection].first.data
|
|
110
|
-
|
|
111
|
-
# => {"systemOverview"=>{"systemId"=>123456, "productName"=>"SENEC.Home V3 hybrid duo", ...
|
|
112
|
-
```
|
|
113
84
|
|
|
114
85
|
### Local access (V2.1 and V3 only)
|
|
115
86
|
|
|
@@ -152,7 +123,7 @@ puts "Measure time: #{Time.at request.measure_time}"
|
|
|
152
123
|
# Grid power: 315 W
|
|
153
124
|
# Current state of the system: 14
|
|
154
125
|
# Measure time: 2021-10-06 17:50:22 +0200
|
|
155
|
-
|
|
126
|
+
````
|
|
156
127
|
|
|
157
128
|
To get the state name (in English, German or Italian) instead of just the number:
|
|
158
129
|
|