pyFroniusReg 0.2.2__tar.gz

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.
Files changed (34) hide show
  1. pyfroniusreg-0.2.2/.gitignore +234 -0
  2. pyfroniusreg-0.2.2/DesignNotes.md +47 -0
  3. pyfroniusreg-0.2.2/LICENSE +660 -0
  4. pyfroniusreg-0.2.2/PKG-INFO +65 -0
  5. pyfroniusreg-0.2.2/README.md +49 -0
  6. pyfroniusreg-0.2.2/examples/check_peak.py +73 -0
  7. pyfroniusreg-0.2.2/examples/force_charge.py +48 -0
  8. pyfroniusreg-0.2.2/examples/read_regs.py +16 -0
  9. pyfroniusreg-0.2.2/examples/read_regs_storage.py +20 -0
  10. pyfroniusreg-0.2.2/examples/reset_charge.py +51 -0
  11. pyfroniusreg-0.2.2/noxfile.py +36 -0
  12. pyfroniusreg-0.2.2/pyproject.toml +43 -0
  13. pyfroniusreg-0.2.2/src/__init__.py +0 -0
  14. pyfroniusreg-0.2.2/src/pyfronius/gen24.py +32 -0
  15. pyfroniusreg-0.2.2/src/pyfroniusreg/froniusreg.py +159 -0
  16. pyfroniusreg-0.2.2/src/pyfroniusreg/gen24_primo_symo_inverter_register_map_float.py +172 -0
  17. pyfroniusreg-0.2.2/src/pyfroniusreg/gen24_primo_symo_inverter_register_map_float_storage.py +251 -0
  18. pyfroniusreg-0.2.2/src/pyfroniusreg/gen24_primo_symo_inverter_register_map_int_sf.py +202 -0
  19. pyfroniusreg-0.2.2/src/pyfroniusreg/gen24_primo_symo_inverter_register_map_int_sf_storage.py +281 -0
  20. pyfroniusreg-0.2.2/src/pyfroniusreg/gen24_registers_orig.py +67 -0
  21. pyfroniusreg-0.2.2/src/pyfroniusreg/smart_meter_register_map_float.py +61 -0
  22. pyfroniusreg-0.2.2/src/pyfroniusreg/smart_meter_register_map_int_sf.py +115 -0
  23. pyfroniusreg-0.2.2/src/pyfroniusreg/tauro_eco_inverter_register_map_float.py +161 -0
  24. pyfroniusreg-0.2.2/src/pyfroniusreg/tauro_eco_inverter_register_map_int_sf.py +193 -0
  25. pyfroniusreg-0.2.2/src/pyfroniusreg/tauro_inverter_register_map_float.py +183 -0
  26. pyfroniusreg-0.2.2/src/pyfroniusreg/tauro_inverter_register_map_int_sf.py +213 -0
  27. pyfroniusreg-0.2.2/src/pyfroniusreg/verto_inverter_register_map_3mppt_float.py +183 -0
  28. pyfroniusreg-0.2.2/src/pyfroniusreg/verto_inverter_register_map_3mppt_int_sf.py +213 -0
  29. pyfroniusreg-0.2.2/src/pyfroniusreg/verto_inverter_register_map_4mppt_float.py +194 -0
  30. pyfroniusreg-0.2.2/src/pyfroniusreg/verto_inverter_register_map_4mppt_int_sf.py +224 -0
  31. pyfroniusreg-0.2.2/tests/test_datatype.py +28 -0
  32. pyfroniusreg-0.2.2/tests/test_regs.py +61 -0
  33. pyfroniusreg-0.2.2/tools/create_from_spreadsheet.py +86 -0
  34. pyfroniusreg-0.2.2/uv.lock +23 -0
@@ -0,0 +1,234 @@
1
+ # ---> Emacs
2
+ # -*- mode: gitignore; -*-
3
+ *~
4
+ \#*\#
5
+ /.emacs.desktop
6
+ /.emacs.desktop.lock
7
+ *.elc
8
+ auto-save-list
9
+ tramp
10
+ .\#*
11
+
12
+ # Org-mode
13
+ .org-id-locations
14
+ *_archive
15
+
16
+ # flymake-mode
17
+ *_flymake.*
18
+
19
+ # eshell files
20
+ /eshell/history
21
+ /eshell/lastdir
22
+
23
+ # elpa packages
24
+ /elpa/
25
+
26
+ # reftex files
27
+ *.rel
28
+
29
+ # AUCTeX auto folder
30
+ /auto/
31
+
32
+ # cask packages
33
+ .cask/
34
+ dist/
35
+
36
+ # Flycheck
37
+ flycheck_*.el
38
+
39
+ # server auth directory
40
+ /server/
41
+
42
+ # projectiles files
43
+ .projectile
44
+
45
+ # directory configuration
46
+ .dir-locals.el
47
+
48
+ # network security
49
+ /network-security.data
50
+
51
+
52
+ # ---> Vim
53
+ # Swap
54
+ [._]*.s[a-v][a-z]
55
+ !*.svg # comment out if you don't need vector files
56
+ [._]*.sw[a-p]
57
+ [._]s[a-rt-v][a-z]
58
+ [._]ss[a-gi-z]
59
+ [._]sw[a-p]
60
+
61
+ # Session
62
+ Session.vim
63
+ Sessionx.vim
64
+
65
+ # Temporary
66
+ .netrwhist
67
+ *~
68
+ # Auto-generated tag files
69
+ tags
70
+ # Persistent undo
71
+ [._]*.un~
72
+
73
+ # Byte-compiled / optimized / DLL files
74
+ __pycache__/
75
+ *.py[cod]
76
+ *$py.class
77
+
78
+ # C extensions
79
+ *.so
80
+
81
+ # Distribution / packaging
82
+ .Python
83
+ build/
84
+ develop-eggs/
85
+ dist/
86
+ downloads/
87
+ eggs/
88
+ .eggs/
89
+ lib/
90
+ lib64/
91
+ parts/
92
+ sdist/
93
+ var/
94
+ wheels/
95
+ share/python-wheels/
96
+ *.egg-info/
97
+ .installed.cfg
98
+ *.egg
99
+ MANIFEST
100
+
101
+ # PyInstaller
102
+ # Usually these files are written by a python script from a template
103
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
104
+ *.manifest
105
+ *.spec
106
+
107
+ # Installer logs
108
+ pip-log.txt
109
+ pip-delete-this-directory.txt
110
+
111
+ # Unit test / coverage reports
112
+ htmlcov/
113
+ .tox/
114
+ .nox/
115
+ .coverage
116
+ .coverage.*
117
+ .cache
118
+ nosetests.xml
119
+ coverage.xml
120
+ *.cover
121
+ *.py,cover
122
+ .hypothesis/
123
+ .pytest_cache/
124
+ cover/
125
+
126
+ # Translations
127
+ *.mo
128
+ *.pot
129
+
130
+ # Django stuff:
131
+ *.log
132
+ local_settings.py
133
+ db.sqlite3
134
+ db.sqlite3-journal
135
+
136
+ # Flask stuff:
137
+ instance/
138
+ .webassets-cache
139
+
140
+ # Scrapy stuff:
141
+ .scrapy
142
+
143
+ # Sphinx documentation
144
+ docs/_build/
145
+
146
+ # PyBuilder
147
+ .pybuilder/
148
+ target/
149
+
150
+ # Jupyter Notebook
151
+ .ipynb_checkpoints
152
+
153
+ # IPython
154
+ profile_default/
155
+ ipython_config.py
156
+
157
+ # pyenv
158
+ # For a library or package, you might want to ignore these files since the code is
159
+ # intended to run in multiple environments; otherwise, check them in:
160
+ # .python-version
161
+
162
+ # pipenv
163
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
164
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
165
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
166
+ # install all needed dependencies.
167
+ #Pipfile.lock
168
+
169
+ # poetry
170
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
171
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
172
+ # commonly ignored for libraries.
173
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
174
+ #poetry.lock
175
+
176
+ # pdm
177
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
178
+ #pdm.lock
179
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
180
+ # in version control.
181
+ # https://pdm.fming.dev/latest/usage/project/#working-with-version-control
182
+ .pdm.toml
183
+ .pdm-python
184
+ .pdm-build/
185
+
186
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
187
+ __pypackages__/
188
+
189
+ # Celery stuff
190
+ celerybeat-schedule
191
+ celerybeat.pid
192
+
193
+ # SageMath parsed files
194
+ *.sage.py
195
+
196
+ # Environments
197
+ .env
198
+ .venv
199
+ env/
200
+ venv/
201
+ ENV/
202
+ env.bak/
203
+ venv.bak/
204
+
205
+ # Spyder project settings
206
+ .spyderproject
207
+ .spyproject
208
+
209
+ # Rope project settings
210
+ .ropeproject
211
+
212
+ # mkdocs documentation
213
+ /site
214
+
215
+ # mypy
216
+ .mypy_cache/
217
+ .dmypy.json
218
+ dmypy.json
219
+
220
+ # Pyre type checker
221
+ .pyre/
222
+
223
+ # pytype static type analyzer
224
+ .pytype/
225
+
226
+ # Cython debug symbols
227
+ cython_debug/
228
+
229
+ # PyCharm
230
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
231
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
232
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
233
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
234
+ #.idea/
@@ -0,0 +1,47 @@
1
+ # Purpose
2
+
3
+ I want to be able to charge my battery system sufficiently to never have to pull from the grid during peak charge times.
4
+
5
+
6
+ # Design Goals
7
+
8
+ Provide a machanism where I can set the system to charge from the grid
9
+ Provide a mechanism for seeing the current charge values
10
+ Provide a mechanims for turning off charging from the grid
11
+
12
+ # Eventual goals
13
+
14
+ Provide a mechanism to look at current SoC, discharge rate and current time, determine if we'll be below a given %SoC by the given Peak time, set to charge from grid if we'll be below that, turn off at given peak time. (Is this better suited to system level bash script?)
15
+ Home Assistant integration
16
+ Adjust SBAM code to do same.
17
+
18
+ # Non Goals
19
+
20
+ None as yet
21
+
22
+ # Objects
23
+
24
+ SimpleStorageControl
25
+ Constructor:
26
+ requires: modbus client object
27
+ optional:
28
+
29
+ method: ChargeFromGrid
30
+ params: Optional kW to charge at, default: MaxChargePower
31
+ returns: None
32
+
33
+ method: StopChargeFromGrid
34
+ params: None
35
+ returns: None
36
+
37
+ method: getStateOfCharge
38
+ params: None
39
+ returns: Integer, percent
40
+
41
+ method: getMaxChargePower
42
+ params: None
43
+ returns: Integer, Watts
44
+
45
+
46
+
47
+