aaronjbrown / pygrowatt Goto Github PK
View Code? Open in Web Editor NEWGrowatt Server replacement implemented in Python
License: BSD 3-Clause "New" or "Revised" License
Growatt Server replacement implemented in Python
License: BSD 3-Clause "New" or "Revised" License
Could you add the option to forward data via MQTT (for home automation), as an alternative to Pvoutput?
Hello, I'm trying to piece together the code you've got here and wondered if it's able to set values for things like SOC discharge rate? A use case would be to prevent battery discharge when an EV (car) is plugged into the system to charge.
~/src/PyGrowatt/scripts $ python growatt_wifi.py
2021-03-20 09:26:07,155 ERROR Growatt:execute(499) Could not print Config Description for value 0x01
2021-03-20 09:26:08,257 ERROR Growatt:execute(499) Could not print Config Description for value 0x02
2021-03-20 09:26:09,359 ERROR Growatt:execute(499) Could not print Config Description for value 0x03
2021-03-20 09:26:10,458 INFO Growatt:execute(497) Set Update Interval (0x04): 5
2021-03-20 09:26:11,564 INFO Growatt:execute(497) Set Modbus Range low (0x05): 1
2021-03-20 09:26:12,658 INFO Growatt:execute(497) Set Modbus Range high (0x06): 32
2021-03-20 09:26:13,758 INFO Growatt:execute(497) Set UNKNOWN (0x07): X
2021-03-20 09:26:14,858 INFO Growatt:execute(497) Set Device Serial Number (0x08): #########
2021-03-20 09:26:15,961 INFO Growatt:execute(497) Set Hardware Version (0x09): XXXX
2021-03-20 09:26:17,055 INFO Growatt:execute(497) Set UNKNOWN (0x0a): 0
2021-03-20 09:26:18,156 INFO Growatt:execute(497) Set FTP credentials (0x0b): ##192.168.3.35/app/xml/#8081#
2021-03-20 09:26:19,258 INFO Growatt:execute(497) Set DNS (0x0c): XXXXXXXXXXXXXXX
2021-03-20 09:26:20,358 INFO Growatt:execute(497) Set UNKNOWN (0x0d): 16
2021-03-20 09:26:21,460 INFO Growatt:execute(497) Set Local IP (0x0e): ########
2021-03-20 09:26:22,559 INFO Growatt:execute(497) Set Local Port (0x0f): 80
2021-03-20 09:26:23,666 INFO Growatt:execute(497) Set Mac Address (0x10): ########
2021-03-20 09:26:24,768 INFO Growatt:execute(497) Set Server IP (0x11): #######
2021-03-20 09:26:24,774 ERROR Growatt:execute(519) Could not find key
2021-03-20 09:26:25,865 INFO Growatt:execute(497) Set Server Port (0x12): 5279
2021-03-20 09:26:26,968 INFO Growatt:execute(497) Set Server (0x13):
2021-03-20 09:26:28,065 INFO Growatt:execute(497) Set Device Type (0x14): XXXXXXXXXXXXXXXXXXXX
2021-03-20 09:26:29,165 INFO Growatt:execute(497) Set Software Version (0x15): 1.7.7.7
2021-03-20 09:26:30,267 INFO Growatt:execute(497) Set Hardware Version (0x16): 1.7.6.0
2021-03-20 09:26:31,367 ERROR Growatt:execute(499) Could not print Config Description for value 0x17
2021-03-20 09:26:32,468 ERROR Growatt:execute(499) Could not print Config Description for value 0x18
2021-03-20 09:26:33,570 INFO Growatt:execute(497) Set Netmask (0x19): 255.255.255.0
2021-03-20 09:26:34,667 ERROR Growatt:execute(499) Could not print Config Description for value 0x1a
2021-03-20 09:26:35,766 ERROR Growatt:execute(499) Could not print Config Description for value 0x1b
2021-03-20 09:26:36,867 ERROR Growatt:execute(499) Could not print Config Description for value 0x1c
2021-03-20 09:26:37,964 ERROR Growatt:execute(499) Could not print Config Description for value 0x1d
2021-03-20 09:26:39,065 INFO Growatt:execute(497) Set Timezone (0x1e): XXXXXXXXXX
2021-03-20 09:26:40,174 INFO Growatt:execute(497) Set Date (0x1f): 2021-03-20 15:55:01
2021-03-20 09:40:08,076 ERROR Growatt:execute(499) Could not print Config Description for value 0x4c
2021-03-20 09:40:11,667 ERROR sync:handle(212) Socket exception occurred Traceback (most recent call last):
File "/home/mario/.local/lib/python2.7/site-packages/pymodbus/server/sync.py", line 202, in handle
single=single)
File "/home/mario/.local/lib/python2.7/site-packages/pymodbus/framer/socket_framer.py", line 153, in processIncomingPacket
self._process(callback)
File "/home/mario/.local/lib/python2.7/site-packages/PyGrowatt/growatt_framer.py", line 70, in _process
callback(result) # defer or push to a thread?
File "/home/mario/.local/lib/python2.7/site-packages/pymodbus/server/sync.py", line 84, in execute
response.transaction_id = request.transaction_id
AttributeError: 'NoneType' object has no attribute 'transaction_id'
Info: I replaced some of the confidentials with ##########
Some of the config keys are unknown (0x01, 0x02, 0x03, ... 0x4c). Can you add the missing ones?
Are these unknown keys the reason, that I can not receive PV data like Eac_today, Ppv ...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.