senec 0.19.0 → 0.20.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8c81bf0bc96f0b9999439a9bf71b3fa8a9c5f800da863993c88f283dbdb38789
4
- data.tar.gz: 1e937cb44485d678cc2253471d034704fa719d83bb6b654e2321db0a78ecf41e
3
+ metadata.gz: 2eb6f99667957a416f29871c3532d8b1645b30fa033a0664eeca68ed3be38b12
4
+ data.tar.gz: dfd9cd4fe0801c84c5e9c0db37325fea5fe8c68568579ec2fe01ba361bf55620
5
5
  SHA512:
6
- metadata.gz: 18ee7b975cc280a168e5bd9ca2bb9e334d7413f91efdee5f5de1aaf8d33fd5729ef36e0c32fc61c6f83d3460bf7428d48ca306cb258a469291caf2305fa612f3
7
- data.tar.gz: f24b264fe9f0600e25e218531e27ad39f99fb712bf587951b7cbc9b4f54ea0ad47472611ca5b4017778f882e772b008699f324e360c73b5b086924c2e7e642e5
6
+ metadata.gz: 272df110a65a5040419ad786c7210630d0375288056daf5fd629e51b556629597c4a6409fa0cd02a814879cae2e15f7896f4b4e47c7b3068ae906dd08b4581cc
7
+ data.tar.gz: 801cd16c075b65cdb58b7019efabd9778bf3cd8e9e938f082a69bcd9ca42e33a2b7a2d64bef0f5d551237461dc53744f00282531f3f100a108e77dcc0a1be3d4
data/.env CHANGED
@@ -1,6 +1,9 @@
1
1
  SENEC_USERNAME=georg@ledermann.dev
2
2
  SENEC_PASSWORD=g75rnww3y
3
- SENEC_SYSTEM_ID=0
3
+ SENEC_SYSTEM_ID=126852
4
+
5
+ #SENEC_USERNAME=heilmann-leipzig@t-online.de
6
+ #SENEC_PASSWORD=sitten12
4
7
 
5
8
  SENEC_HOST=senec
6
9
  SENEC_SCHEMA=https
data/.env.test CHANGED
@@ -1,6 +1,6 @@
1
1
  SENEC_USERNAME=mail@example.com
2
2
  SENEC_PASSWORD=topsecret
3
- SENEC_SYSTEM_ID=0
3
+ SENEC_SYSTEM_ID=999999
4
4
 
5
5
  SENEC_HOST=senec
6
6
  SENEC_SCHEMA=https
data/.rspec_status CHANGED
@@ -1,69 +1,64 @@
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 |
1
+ example_id | status | run_time |
2
+ -------------------------------------------------- | ------ | --------------- |
3
+ ./spec/lib/senec/cloud/connection_spec.rb[1:1:1:1] | passed | 0.01172 seconds |
4
+ ./spec/lib/senec/cloud/connection_spec.rb[1:1:2:1] | passed | 0.00396 seconds |
5
+ ./spec/lib/senec/cloud/connection_spec.rb[1:2:1] | passed | 0.00551 seconds |
6
+ ./spec/lib/senec/cloud/connection_spec.rb[1:2:2] | passed | 0.00463 seconds |
7
+ ./spec/lib/senec/cloud/connection_spec.rb[1:2:3] | passed | 0.00916 seconds |
8
+ ./spec/lib/senec/cloud/connection_spec.rb[1:3:1:1] | passed | 0.00464 seconds |
9
+ ./spec/lib/senec/cloud/connection_spec.rb[1:3:1:2] | passed | 0.00924 seconds |
10
+ ./spec/lib/senec/cloud/connection_spec.rb[1:3:2:1] | passed | 0.00622 seconds |
11
+ ./spec/lib/senec/cloud/connection_spec.rb[1:4:1:1] | passed | 0.00792 seconds |
12
+ ./spec/lib/senec/cloud/connection_spec.rb[1:4:1:2] | passed | 0.00403 seconds |
13
+ ./spec/lib/senec/cloud/connection_spec.rb[1:4:2:1] | passed | 0.00389 seconds |
14
+ ./spec/lib/senec/cloud/connection_spec.rb[1:5:1:1] | passed | 0.00364 seconds |
15
+ ./spec/lib/senec/cloud/connection_spec.rb[1:5:1:2] | passed | 0.00426 seconds |
16
+ ./spec/lib/senec/cloud/connection_spec.rb[1:5:2:1] | passed | 0.00365 seconds |
17
+ ./spec/lib/senec/local/request_spec.rb[1:1:1:1] | passed | 0.00191 seconds |
18
+ ./spec/lib/senec/local/request_spec.rb[1:1:2:1] | passed | 0.00115 seconds |
19
+ ./spec/lib/senec/local/request_spec.rb[1:1:3:1] | passed | 0.00095 seconds |
20
+ ./spec/lib/senec/local/request_spec.rb[1:1:4:1] | passed | 0.00087 seconds |
21
+ ./spec/lib/senec/local/request_spec.rb[1:1:5:1] | passed | 0.00097 seconds |
22
+ ./spec/lib/senec/local/request_spec.rb[1:1:6:1] | passed | 0.00082 seconds |
23
+ ./spec/lib/senec/local/request_spec.rb[1:1:7:1] | passed | 0.00068 seconds |
24
+ ./spec/lib/senec/local/request_spec.rb[1:1:8:1] | passed | 0.00072 seconds |
25
+ ./spec/lib/senec/local/request_spec.rb[1:1:9:1] | passed | 0.00083 seconds |
26
+ ./spec/lib/senec/local/request_spec.rb[1:1:10:1] | passed | 0.00125 seconds |
27
+ ./spec/lib/senec/local/request_spec.rb[1:1:11:1] | passed | 0.00099 seconds |
28
+ ./spec/lib/senec/local/request_spec.rb[1:1:12:1] | passed | 0.00067 seconds |
29
+ ./spec/lib/senec/local/request_spec.rb[1:1:13:1] | passed | 0.00083 seconds |
30
+ ./spec/lib/senec/local/request_spec.rb[1:1:14:1] | passed | 0.00074 seconds |
31
+ ./spec/lib/senec/local/request_spec.rb[1:1:14:2] | passed | 0.00114 seconds |
32
+ ./spec/lib/senec/local/request_spec.rb[1:1:15:1] | passed | 0.00508 seconds |
33
+ ./spec/lib/senec/local/request_spec.rb[1:1:16:1] | passed | 0.00091 seconds |
34
+ ./spec/lib/senec/local/request_spec.rb[1:1:17:1] | passed | 0.00104 seconds |
35
+ ./spec/lib/senec/local/request_spec.rb[1:2:1] | passed | 0.0204 seconds |
36
+ ./spec/lib/senec/local/request_spec.rb[1:3:1] | passed | 0.00812 seconds |
37
+ ./spec/lib/senec/local/request_spec.rb[1:4:1] | passed | 0.00145 seconds |
38
+ ./spec/lib/senec/local/request_spec.rb[1:5:1:1] | passed | 0.00112 seconds |
39
+ ./spec/lib/senec/local/request_spec.rb[1:6:1:1] | passed | 0.00061 seconds |
40
+ ./spec/lib/senec/local/request_spec.rb[1:7:1:1:1] | passed | 0.00059 seconds |
41
+ ./spec/lib/senec/local/request_spec.rb[1:7:1:2:1] | passed | 0.00064 seconds |
42
+ ./spec/lib/senec/local/request_spec.rb[1:7:1:3:1] | passed | 0.00531 seconds |
43
+ ./spec/lib/senec/local/state_spec.rb[1:1:1:1] | passed | 0.00543 seconds |
44
+ ./spec/lib/senec/local/state_spec.rb[1:1:2:1] | passed | 0.00544 seconds |
45
+ ./spec/lib/senec/local/state_spec.rb[1:1:3:1] | passed | 0.00537 seconds |
46
+ ./spec/lib/senec/local/state_spec.rb[1:1:4:1] | passed | 0.00529 seconds |
47
+ ./spec/lib/senec/local/state_spec.rb[1:1:5:1] | passed | 0.0001 seconds |
48
+ ./spec/lib/senec/local/value_spec.rb[1:1:1:1] | passed | 0.00007 seconds |
49
+ ./spec/lib/senec/local/value_spec.rb[1:1:1:2] | passed | 0.00008 seconds |
50
+ ./spec/lib/senec/local/value_spec.rb[1:1:2:1] | passed | 0.00004 seconds |
51
+ ./spec/lib/senec/local/value_spec.rb[1:1:2:2] | passed | 0.00004 seconds |
52
+ ./spec/lib/senec/local/value_spec.rb[1:1:3:1] | passed | 0.00004 seconds |
53
+ ./spec/lib/senec/local/value_spec.rb[1:1:3:2] | passed | 0.00003 seconds |
54
+ ./spec/lib/senec/local/value_spec.rb[1:1:4:1] | passed | 0.00004 seconds |
55
+ ./spec/lib/senec/local/value_spec.rb[1:1:4:2] | passed | 0.00003 seconds |
56
+ ./spec/lib/senec/local/value_spec.rb[1:1:5:1] | passed | 0.00004 seconds |
57
+ ./spec/lib/senec/local/value_spec.rb[1:1:5:2] | passed | 0.00004 seconds |
58
+ ./spec/lib/senec/local/value_spec.rb[1:1:6:1] | passed | 0.00004 seconds |
59
+ ./spec/lib/senec/local/value_spec.rb[1:1:6:2] | passed | 0.00003 seconds |
60
+ ./spec/lib/senec/local/value_spec.rb[1:1:7:1] | passed | 0.00006 seconds |
61
+ ./spec/lib/senec/local/value_spec.rb[1:1:7:2] | passed | 0.00004 seconds |
62
+ ./spec/lib/senec/local/value_spec.rb[1:1:8:1] | passed | 0.00006 seconds |
63
+ ./spec/lib/senec/local/value_spec.rb[1:1:9:1] | passed | 0.00005 seconds |
64
+ ./spec/senec_spec.rb[1:1] | passed | 0.00004 seconds |
@@ -1,10 +1,11 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- senec (0.19.0)
4
+ senec (0.20.0)
5
5
  faraday
6
6
  faraday-net_http_persistent
7
7
  faraday-request-timer
8
+ oauth2
8
9
 
9
10
  GEM
10
11
  remote: https://rubygems.org/
@@ -26,7 +27,7 @@ GEM
26
27
  docile (1.4.1)
27
28
  dotenv (3.1.8)
28
29
  erb (5.0.2)
29
- faraday (2.13.3)
30
+ faraday (2.13.4)
30
31
  faraday-net_http (>= 2.0, < 3.5)
31
32
  json
32
33
  logger
@@ -38,21 +39,34 @@ GEM
38
39
  faraday-request-timer (0.2.0)
39
40
  faraday (>= 0.9.0)
40
41
  hashdiff (1.2.0)
42
+ hashie (5.0.0)
41
43
  io-console (0.8.1)
42
44
  irb (1.15.2)
43
45
  pp (>= 0.6.0)
44
46
  rdoc (>= 4.0.0)
45
47
  reline (>= 0.4.2)
46
- json (2.13.0)
48
+ json (2.13.1)
49
+ jwt (3.1.2)
50
+ base64
47
51
  language_server-protocol (3.17.0.5)
48
52
  lint_roller (1.1.0)
49
53
  logger (1.7.0)
54
+ multi_xml (0.7.2)
55
+ bigdecimal (~> 3.1)
50
56
  net-http (0.6.0)
51
57
  uri
52
58
  net-http-persistent (4.0.6)
53
59
  connection_pool (~> 2.2, >= 2.2.4)
60
+ oauth2 (2.0.12)
61
+ faraday (>= 0.17.3, < 4.0)
62
+ jwt (>= 1.0, < 4.0)
63
+ logger (~> 1.2)
64
+ multi_xml (~> 0.5)
65
+ rack (>= 1.2, < 4)
66
+ snaky_hash (~> 2.0, >= 2.0.3)
67
+ version_gem (>= 1.1.8, < 3)
54
68
  parallel (1.27.0)
55
- parser (3.3.8.0)
69
+ parser (3.3.9.0)
56
70
  ast (~> 2.4.1)
57
71
  racc
58
72
  pp (0.6.2)
@@ -64,6 +78,7 @@ GEM
64
78
  stringio
65
79
  public_suffix (6.0.2)
66
80
  racc (1.8.1)
81
+ rack (3.1.16)
67
82
  rainbow (3.1.1)
68
83
  rake (13.3.0)
69
84
  rbs (3.9.4)
@@ -88,7 +103,7 @@ GEM
88
103
  diff-lcs (>= 1.2.0, < 2.0)
89
104
  rspec-support (~> 3.13.0)
90
105
  rspec-support (3.13.4)
91
- rubocop (1.78.0)
106
+ rubocop (1.79.0)
92
107
  json (~> 2.3)
93
108
  language_server-protocol (~> 3.17.0.2)
94
109
  lint_roller (~> 1.1.0)
@@ -96,8 +111,9 @@ GEM
96
111
  parser (>= 3.3.0.2)
97
112
  rainbow (>= 2.2.2, < 4.0)
98
113
  regexp_parser (>= 2.9.3, < 3.0)
99
- rubocop-ast (>= 1.45.1, < 2.0)
114
+ rubocop-ast (>= 1.46.0, < 2.0)
100
115
  ruby-progressbar (~> 1.7)
116
+ tsort (>= 0.2.0)
101
117
  unicode-display_width (>= 2.4.0, < 4.0)
102
118
  rubocop-ast (1.46.0)
103
119
  parser (>= 3.3.7.2)
@@ -127,13 +143,18 @@ GEM
127
143
  simplecov_json_formatter (~> 0.1)
128
144
  simplecov-html (0.13.2)
129
145
  simplecov_json_formatter (0.1.4)
146
+ snaky_hash (2.0.3)
147
+ hashie (>= 0.1.0, < 6)
148
+ version_gem (>= 1.1.8, < 3)
130
149
  stringio (3.1.7)
150
+ tsort (0.2.0)
131
151
  unicode-display_width (3.1.4)
132
152
  unicode-emoji (~> 4.0, >= 4.0.4)
133
153
  unicode-emoji (4.0.4)
134
154
  uri (1.0.3)
135
155
  vcr (6.3.1)
136
156
  base64
157
+ version_gem (1.1.8)
137
158
  webmock (3.25.1)
138
159
  addressable (>= 2.8.0)
139
160
  crack (>= 0.3.2)
@@ -0,0 +1 @@
1
+ 2025-07-25T14:28:48+02:00
@@ -1 +1 @@
1
- 8153269239a500b4008859350acabed4f88d9cf1d06554b279dc100a09392858
1
+ d6e83701066cf76271e4477ddd4dedda4052c7c7437b4b938d80e1ea6d824ef2
data/README.md CHANGED
@@ -5,7 +5,7 @@
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 (mein-senec.de) from Ruby.
8
+ Access your local SENEC Solar Battery Storage System or the SENEC Cloud (App API) from Ruby.
9
9
 
10
10
  **WARNING:** I'm not affiliated in any way with the SENEC company.
11
11
 
@@ -28,59 +28,16 @@ $ gem install senec
28
28
  ````ruby
29
29
  require 'senec'
30
30
 
31
- # Login to the SENEC cloud (mein-senec.de):
31
+ # Build connection with your credentials
32
32
  connection = Senec::Cloud::Connection.new(username: 'me@example.com', password: 'my-secret-senec-password')
33
33
 
34
- # Get the Dashboard data of first systems (without knowing the ID):
35
- puts Senec::Cloud::Dashboard[connection].first.data
36
-
37
- # => {
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
64
- # },
65
- # 'accuexport' => {
66
- # 'today' => 2.55419921875,
67
- # 'now' => 0.0
68
- # },
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
82
- # }
34
+ # List available systems (with their IDs)
35
+ puts connection.systems
36
+ # => {"id" => 999999, "controlUnitNumber" => "1234567890", ...
83
37
 
38
+ # Get the current dashboard data for a specific system
39
+ puts connection.dashboard(999999)
40
+ # => {"currently" => {"powerGenerationInW" => 8539.603515625, "powerConsumptionInW" => 765.77, "gridFeedInInW" => 6451.11376953125, "gridDrawInW" => 0.0, "batteryChargeInW" => 1316.9090576171875, "batteryDischargeInW" => 0.0, "batteryLevelInPercent" => 88.88888549804688, "selfSufficiencyInPercent" => 100.0, "wallboxInW" => 0.0}, "today" => {"powerGenerationInWh" => 19687.5, "powerConsumptionInWh" => 4960.93, "gridFeedInInWh" => 15310.546875, "gridDrawInWh" => 28.3203125, "batteryChargeInWh" => 1175.78125, "batteryDischargeInWh" => 1732.421875, "batteryLevelInPercent" => 88.88888549804688, "selfSufficiencyInPercent" => 99.43, "wallboxInWh" => 0.0}, "timestamp" => "2025-07-26T10:55:07Z", "electricVehicleConnected" => false, "numberOfWallboxes" => 0, "systemId" => 999999, "systemType" => "V123", "storageDeviceState" => "CHARGING"}
84
41
 
85
42
  ### Local access (V2.1 and V3 only)
86
43
 
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "result": {
3
- "line": 100.0
3
+ "line": 99.62
4
4
  }
5
5
  }